:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--primary-gradient:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-color:#0f172a;--card-bg:#1e293b;--text-primary:#f8fafc;--text-secondary:#94a3b8;--accent:#a78bfa;--danger:#ef4444}body{background-color:var(--bg-color);color:var(--text-primary);justify-content:center;align-items:center;min-height:100vh;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}.login-container{background:var(--card-bg);border:1px solid #ffffff1a;border-radius:1.5rem;width:100%;max-width:400px;padding:2.5rem;animation:.4s ease-out fadeIn;box-shadow:0 25px 50px -12px #00000080}.login-container.dashboard-wide{max-width:800px}.login-container h1{text-align:center;background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:0;margin-bottom:.5rem;font-size:2rem}.login-container p.subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:.9rem}.login-container .form-group{margin-bottom:1.5rem}.login-container .form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;display:block}.login-container .form-group input{color:#fff;box-sizing:border-box;background:#0f172a80;border:1px solid #ffffff1a;border-radius:.75rem;width:100%;padding:.85rem 1rem;font-size:1rem}.login-container .form-group input:focus{border-color:var(--accent);outline:none}.login-container button{cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:1rem;font-weight:600;transition:all .2s}.login-container button.btn-primary{background:var(--primary-gradient);color:#fff}.login-container button.btn-sm{color:#fff;background:#ffffff1a;width:auto;margin-right:.5rem;padding:.5rem;font-size:.8rem}.login-container button.btn-danger{background:var(--danger);color:#fff}.login-container button.btn-logout{color:var(--text-secondary);background:#ffffff0d;margin-top:2rem}.login-container button.btn-logout:hover{background:var(--danger);color:#fff}.login-container button:hover{opacity:.9;transform:scale(1.02)}.login-container .auth-toggle{text-align:center;margin-top:1.5rem}.login-container .auth-toggle a{color:var(--accent);font-size:.9rem;text-decoration:none}.admin-status-badge{color:var(--accent);text-align:center;border:1px dashed var(--accent);background:#a78bfa1a;border-radius:.5rem;margin-bottom:2rem;padding:.5rem;font-size:.8rem}.admin-dashboard{background:#0003;border-radius:1rem;margin-top:2rem;padding:1rem}.admin-dashboard table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-dashboard table th,.admin-dashboard table td{text-align:left;border-bottom:1px solid #ffffff0d;padding:1rem}.admin-dashboard table th{color:var(--text-secondary)}.badge{border-radius:.3rem;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.badge.admin{background:var(--accent);color:#000}.badge.user{color:#fff;background:#334155}.message{text-align:center;border-radius:.5rem;margin-top:1.5rem;padding:1rem}.message.success{color:#4ade80;background:#22c55e1a}.message.error{color:#f87171;background:#ef44441a}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s modalFadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--card-bg);border:1px solid #ffffff1a;border-radius:1.5rem;width:90%;max-width:500px;padding:2.5rem;animation:.3s modalSlideUp;box-shadow:0 25px 50px -12px #00000080}.modal-content h3{color:var(--accent);text-align:center;margin-top:0;margin-bottom:2rem;font-size:1.5rem}.modal-content .form-group{margin-bottom:1.5rem}.modal-content .form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;display:block}.modal-content .form-group input,.modal-content .form-group select{color:#fff;box-sizing:border-box;background:#0f172a80;border:1px solid #ffffff1a;border-radius:.75rem;width:100%;padding:.85rem 1rem;font-size:1rem}.modal-content .form-group input:focus,.modal-content .form-group select:focus{border-color:var(--accent);outline:none}.modal-content .form-group input:disabled,.modal-content .form-group select:disabled{color:var(--text-secondary);cursor:not-allowed;opacity:.7;background:#ffffff0d}.modal-content .modal-actions{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.modal-content .modal-actions button{cursor:pointer;border:none;border-radius:.75rem;width:auto;padding:.8rem 1.5rem;font-weight:600;transition:all .2s}.modal-content .modal-actions button:hover{transform:scale(1.05)}.btn-success{color:#fff!important;background:#10b981!important}.btn-secondary{color:#fff!important;background:#ffffff1a!important}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.password-change-section{border-top:1px solid #ffffff12;margin:1.5rem 0;padding-top:1.5rem}.password-change-section .btn-toggle-pw{width:100%;color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border:1px dashed #ffffff26;border-radius:.75rem;padding:.75rem;font-size:.9rem;transition:all .2s}.password-change-section .btn-toggle-pw:hover{color:#fff;background:#ffffff1a}.password-change-section .password-change-form{margin-top:1.5rem;animation:.3s fadeIn}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
