.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;align-items:center;padding:20px}.login-container{background:#fff;padding:40px;border-radius:15px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.login-container h1{text-align:center;color:#333;margin-bottom:10px;font-size:28px}.login-container h2{text-align:center;color:#666;margin-bottom:30px;font-size:20px;font-weight:400}.form-group input,.form-group select{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.error-message{color:#e74c3c;margin-bottom:15px;font-size:14px;text-align:center}.btn-submit{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s}.btn-submit:hover:not(:disabled){transform:translateY(-2px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.footer-links{margin-top:20px;text-align:center;color:#666}.link-button{background:none;border:none;color:#667eea;cursor:pointer;text-decoration:underline;margin-left:5px;font-size:14px}.link-button:hover{color:#764ba2}.attendance-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.attendance-container{max-width:800px;margin:0 auto}.header-section{background:#fff;padding:20px 30px;border-radius:15px;margin-bottom:20px;box-shadow:0 5px 20px #0000001a;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;flex-direction:column;gap:5px}.header-left h2{color:#333;margin:0;font-size:24px}.current-date{color:#666;font-size:16px;margin:0;font-weight:500}.btn-logout{padding:10px 20px;background:#e74c3c;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background .3s}.btn-logout:hover{background:#c0392b}.status-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.status-card{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #0000001a;text-align:center;display:flex;flex-direction:column;gap:15px;min-height:400px}.status-label{color:#666;font-size:16px;font-weight:600;margin:0}.status-value{font-size:32px;font-weight:700;color:#999;margin:10px 0}.status-value.checked{color:#27ae60}.status-time{color:#666;font-size:13px;margin:0}.card-form-group{display:flex;flex-direction:column;gap:8px;text-align:left;margin-top:5px}.card-form-group label{color:#555;font-weight:700;font-size:14px}.card-form-group select,.card-form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s;box-sizing:border-box}.card-form-group select:focus,.card-form-group textarea:focus{outline:none;border-color:#667eea}.card-form-group textarea{resize:vertical;min-height:150px}.btn-card-action{width:100%;padding:12px;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s;color:#fff;margin-top:5px}.btn-card-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-card-action:disabled{opacity:.6;cursor:not-allowed}.action-section{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:700}.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;min-height:100px}.btn-action{width:100%;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:transform .2s;color:#fff}.btn-action:hover:not(:disabled){transform:translateY(-2px)}.btn-action:disabled{opacity:.6;cursor:not-allowed}.btn-check-in,.btn-card-action.btn-check-in{background:linear-gradient(135deg,#27ae60,#229954)}.btn-check-out,.btn-card-action.btn-check-out{background:linear-gradient(135deg,#3498db,#2980b9)}.work-content-display{background:#fff;padding:30px;border-radius:15px;box-shadow:0 5px 20px #0000001a}.work-content-display h3{color:#333;margin-bottom:15px;font-size:18px}.work-content-box{background:#f8f9fa;padding:15px;border-radius:8px;min-height:100px;color:#333;line-height:1.6;white-space:pre-wrap;margin-bottom:15px}.supervisor-info{color:#666;font-size:14px;text-align:right}.error-message{background:#ffe6e6;color:#e74c3c;padding:12px;border-radius:8px;margin-top:15px;text-align:center}@media(max-width:768px){.status-section{grid-template-columns:1fr}.header-section{flex-direction:column;gap:15px}.header-left{align-items:center;text-align:center}.header-left h2{font-size:20px}.current-date{font-size:14px}.status-card{padding:20px;min-height:350px}.attendance-page{padding:15px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
