@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.login-page{--navy-deep: #050b2e;--navy-mid: #101e5e;--navy-bright: #1d3ad4;--amber: #f6921e;--amber-light: #fdb023;--eyebrow-blue: #3b6ff0;--ink: #14161a;--grey: #6b7280;--grey-light: #9aa1b5;--line: #e6e8ee;--error: #d84b4b;min-height:100vh;display:grid;grid-template-columns:55% 45%;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#fff}.login-showcase{position:relative;overflow:hidden;padding:4rem clamp(2rem,5vw,5rem);background:radial-gradient(60% 50% at 85% 15%,rgba(29,58,212,.55) 0%,transparent 60%),linear-gradient(155deg,var(--navy-deep) 0%,var(--navy-mid) 55%,var(--navy-bright) 100%);display:flex;align-items:center}.login-showcase-inner{position:relative;z-index:1;width:100%;max-width:34rem}.login-showcase-deco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.deco-bell{position:absolute;color:#ffffff2e;width:2.75rem;height:2.75rem}.deco-bell--tl{top:4.5rem;left:2rem;transform:rotate(-8deg)}.deco-bell--tr{top:9rem;right:12rem;width:2.25rem;height:2.25rem;color:#f6921e59}.deco-bell--bl{bottom:12rem;left:8%;width:2.25rem;height:2.25rem;opacity:.7}.deco-bell--br{bottom:6rem;right:6%;width:2rem;height:2rem}.login-logo{display:inline-flex;align-items:center;gap:.85rem;margin-bottom:2.75rem}.login-logo-icon{width:3.1rem;height:3.3rem;flex-shrink:0}.login-logo-text-wrap{display:flex;flex-direction:column;gap:.3rem}.login-logo-text{font-weight:800;font-size:1.6rem;letter-spacing:-.01em;color:#fff;line-height:1}.login-logo-text .accent{color:var(--amber-light)}.login-logo-tagline{display:inline-flex;align-items:center;gap:.5rem;font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a9b2d4;white-space:nowrap}.login-logo-tagline i{display:block;width:1.15rem;height:1.5px;background:var(--amber);font-style:normal}.login-headline{font-size:40px;line-height:1.1em;font-weight:800;color:#fff;margin:0 0 1.25rem;letter-spacing:-.04em;width:1fr;height:88px}.login-headline .accent{color:var(--amber-light)}.login-subheadline{font-size:16px;line-height:1.55;color:#b8c0e0;padding:30px 0 0;width:1fr;height:25px}.login-feature-list{list-style:none;margin:0;padding:50px 0 0;display:flex;flex-direction:column;gap:.75rem}.login-feature{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border-radius:1rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-feature-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.75rem}.login-feature-icon svg{width:1.25rem;height:1.25rem}.login-feature--amber .login-feature-icon{background:#f6921e2e;color:var(--amber-light)}.login-feature--blue .login-feature-icon{background:#3b6ff033;color:#7fa0ff}.login-feature--violet .login-feature-icon{background:#a78bfa33;color:#c4b5fd}.login-feature--green .login-feature-icon{background:#34d3992e;color:#6ee7b7}.login-feature-copy{display:flex;flex-direction:column;gap:.15rem}.login-feature-title{font-weight:700;color:#fff;font-size:1rem}.login-feature-desc{font-size:.85rem;color:#a9b2d4}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:3rem 2rem;background:#f4f6fb}.login-card{box-sizing:border-box;width:500px;height:512px;min-width:100%;background:#fff;border-radius:1.75rem;padding:clamp(2rem,3.5vw,3.25rem);box-shadow:0 24px 60px #0f172a1a,0 4px 14px #0f172a0a}.login-eyebrow{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--eyebrow-blue)}.login-welcome{margin:0 0 .6rem;font-size:44px;font-weight:800;color:var(--ink);letter-spacing:-.045em;line-height:1.08em;width:1fr;height:48px}.login-welcome-sub{margin:0 0 1.75rem;color:#64748b;font-size:15px;letter-spacing:-.2px;line-height:1.55;height:23px}.login-field{margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.45rem}.login-field label{font-size:.85rem;font-weight:600;color:var(--ink)}.login-field input{width:100%;box-sizing:border-box;border:1px solid var(--line);background:#fbfbfd;border-radius:.85rem;padding:.85rem 1rem;font-size:.9375rem;color:var(--ink);font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.login-field input::placeholder{color:#a2a8ba}.login-field input:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px #f6921e26}.login-password-wrap{position:relative;display:flex;align-items:center}.login-password-wrap input{padding-right:2.75rem}.login-password-toggle{position:absolute;right:.75rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;background:transparent;color:var(--grey-light);cursor:pointer;border-radius:.4rem}.login-password-toggle svg{width:1.15rem;height:1.15rem}.login-password-toggle:hover{color:var(--grey)}.login-password-toggle:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.login-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.login-checkbox{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--ink);cursor:pointer}.login-checkbox input{width:1.05rem;height:1.05rem;border-radius:.3rem;accent-color:var(--amber);cursor:pointer}.login-link{border:none;background:none;padding:0;font-size:.875rem;font-weight:600;color:var(--eyebrow-blue);cursor:pointer}.login-link:hover{text-decoration:underline}.login-error{font-size:.85rem;color:var(--error);margin:-.5rem 0 1rem}.login-submit{width:100%;border:none;border-radius:.9rem;padding:.95rem;font-size:.9375rem;font-weight:700;color:#fff;cursor:pointer;background:linear-gradient(90deg,var(--amber-light) 0%,var(--amber) 100%);box-shadow:0 10px 24px #f6921e59;transition:filter .15s ease,transform .05s ease}.login-submit:hover:not(:disabled){filter:brightness(1.04)}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:focus-visible{outline:2px solid var(--navy-bright);outline-offset:2px}.login-submit:disabled{opacity:.65;cursor:not-allowed}.login-footnote{margin:1.5rem 0 0;text-align:center;font-size:.8rem;color:var(--grey-light)}@media (max-width: 1080px){.login-showcase{padding:3rem 2.5rem}.login-feature-desc{display:none}.login-feature{padding:.85rem 1rem}}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-showcase{padding:2.5rem 1.75rem}.login-showcase-inner{max-width:100%}.login-feature-list{display:none}.login-subheadline{margin-bottom:0}.deco-bell{display:none}.login-form-panel{padding:2.5rem 1.25rem 3rem;background:#fff}.login-card{box-shadow:none;padding:0;width:100%;max-width:26rem;height:auto}}@media (max-width: 480px){.login-headline{font-size:1.5rem}.login-subheadline{font-size:.95rem}.login-row{flex-direction:row}}@media (prefers-reduced-motion: reduce){.login-page *{scroll-behavior:auto!important}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f6fa;color:#1f2937}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#06b6d4)}.login-card{background:#fff;padding:40px;border-radius:20px;width:320px;display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 48px #0000002e}.login-brand{display:flex;align-items:center;gap:10px}.login-brand-icon{font-size:22px}.login-brand h1{font-size:19px;margin:0;font-weight:800}.login-sub{margin:-8px 0 8px;font-size:12px;color:#9ca3af;font-weight:600;letter-spacing:.3px}.login-card input{padding:10px 12px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px}.login-card button{padding:10px;border:none;border-radius:8px;background:#6366f1;color:#fff;font-weight:600;cursor:pointer}.login-card button:disabled{opacity:.6;cursor:default}.error{color:#ef4444;font-size:13px;margin:0}.reauth-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;z-index:1000}.reauth-modal{background:#fff;border-radius:16px;padding:24px;width:340px;max-width:calc(100vw - 32px);box-shadow:0 24px 48px #00000038}.reauth-modal-icon{width:36px;height:36px;border-radius:10px;background:#fef2f2;color:#ef4444;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.reauth-modal-title{margin:0 0 6px;font-size:16px;font-weight:700;color:#1f2937}.reauth-modal-message{margin:0 0 14px;font-size:13px;color:#6b7280;line-height:1.5}.reauth-modal-input{width:100%;padding:10px 12px;border:1px solid #E5E7EB;border-radius:8px;font-size:14px}.reauth-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.reauth-modal-cancel{padding:9px 14px;border:1px solid #E5E7EB;border-radius:8px;background:#fff;color:#6b7280;font-weight:600;font-size:13px;cursor:pointer}.reauth-modal-confirm{padding:9px 14px;border:none;border-radius:8px;background:#ef4444;color:#fff;font-weight:600;font-size:13px;cursor:pointer}.reauth-modal-confirm:disabled,.reauth-modal-cancel:disabled{opacity:.6;cursor:default}.app-shell{display:flex;min-height:100vh}.sidebar{width:232px;flex-shrink:0;background:#fff;border-right:1px solid #EEF0F5;display:flex;flex-direction:column;padding:18px 12px;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px}.sidebar-brand-logo{width:100%;max-width:180px;height:auto}.sidebar-brand-sub{font-size:12px;color:var(--text-muted, #8a94a6)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:10px;border:none;background:none;text-align:left;padding:9px 12px;border-radius:9px;font-size:13.5px;font-weight:500;color:#6b7280;cursor:pointer;width:100%}.sidebar-nav-item:hover{background:#f5f6fa;color:#374151}.sidebar-nav-item.active{background:#6366f1;color:#fff;font-weight:700}.sidebar-logout{margin-top:8px;color:#ef4444}.sidebar-logout:hover{background:#fef2f2}.sidebar-nav-item-blink{color:#dc2626;font-weight:700;animation:sidebar-sos-blink 1.1s ease-in-out infinite}.sidebar-nav-item-blink:hover{background:#fef2f2;color:#dc2626}@keyframes sidebar-sos-blink{0%,to{opacity:1}50%{opacity:.35}}.app-main{flex:1;min-width:0;padding:22px 28px 60px;max-width:1300px}.top-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.top-header h1{font-size:21px;margin:0;font-weight:800}.top-header-controls{display:flex;gap:10px;align-items:center}.range-select{padding:7px 10px;border-radius:8px;border:1px solid #E5E7EB;font-size:12.5px;background:#fff;color:#374151}.refresh-button{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid #E5E7EB;background:#fff;font-size:12.5px;font-weight:600;color:#374151;cursor:pointer}.refresh-button:disabled{opacity:.6;cursor:default}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-loading,.page-error{padding:40px;color:#9ca3af;font-size:14px}.page-error{color:#ef4444}.status-strip{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid;border-radius:12px;padding:10px 16px;margin-bottom:18px;font-size:12.5px}.status-strip-main{display:flex;align-items:center;gap:8px;font-weight:700}.status-strip-metrics{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.status-strip-metric{display:flex;align-items:center;gap:5px;color:#6b7280;font-weight:600}.status-strip-metric svg{flex-shrink:0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}.stat-card{background:#fff;border-radius:14px;padding:16px;box-shadow:0 1px 2px #1018280a;border:1px solid #F1F2F6}.stat-card-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}.stat-value{font-size:23px;font-weight:800;color:#111827}.stat-label{font-size:12.5px;color:#6b7280;margin-top:3px}.stat-sub{font-size:11px;color:#9ca3af;margin-top:2px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-card{background:#fff;border-radius:14px;padding:18px;border:1px solid #F1F2F6;box-shadow:0 1px 2px #1018280a;margin-bottom:18px}.chart-card.wide{grid-column:1 / -1}.chart-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;gap:10px}.chart-card h2{font-size:14.5px;margin:0 0 2px;font-weight:700;color:#111827}.chart-card-subtitle{font-size:11.5px;color:#9ca3af;margin:0 0 10px}.chart-footnote{text-align:center;font-size:12.5px;color:#6b7280;margin:-6px 0 0}.empty-message{font-size:13px;color:#9ca3af;padding:24px 0;text-align:center}.info-banner{background:#fef3c7;color:#92400e;font-size:12.5px;line-height:1.5;border-radius:10px;padding:12px 14px;margin-bottom:18px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid #F3F4F6}th{color:#6b7280;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.3px}.mono{font-family:ui-monospace,monospace}.badge-yes{color:#16a34a;font-weight:700;background:#dcfce7;padding:2px 8px;border-radius:6px;font-size:11.5px}.badge-no{color:#9ca3af;font-weight:600}.badge-no-strong{color:#dc2626;font-weight:700;background:#fee2e2;padding:2px 8px;border-radius:6px;font-size:11.5px}.badge-warn{color:#b45309;font-weight:700;background:#fef3c7;padding:2px 8px;border-radius:6px;font-size:11.5px}.badge-neutral{color:#4338ca;font-weight:700;background:#e0e7ff;padding:2px 8px;border-radius:6px;font-size:11.5px}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px;color:#6b7280}.pagination-buttons{display:flex;align-items:center;gap:8px}.pagination-buttons button{border:1px solid #E5E7EB;background:#fff;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.pagination-buttons button:disabled{opacity:.4;cursor:default}.heatmap{padding-top:4px}.heatmap-hours{display:flex;align-items:center;gap:8px;margin-bottom:4px}.heatmap-hours-cells{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;flex:1}.heatmap-hours-cells span{font-size:9.5px;color:#9ca3af;white-space:nowrap}.heatmap-row{display:flex;align-items:center;gap:8px;margin-bottom:3px}.heatmap-row-label{width:34px;font-size:11px;color:#6b7280;flex-shrink:0}.heatmap-cells{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;flex:1}.heatmap-cell{aspect-ratio:1;border-radius:2px;min-width:8px}.settings-row{font-size:13.5px;margin:0 0 6px}.settings-hint{font-size:12px;color:#9ca3af;margin:0;line-height:1.5}@media (max-width: 900px){.chart-grid{grid-template-columns:1fr}.sidebar{position:static;height:auto;width:100%}.app-shell{flex-direction:column}}.sos-toast-stack{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;width:320px}.sos-toast{display:flex;align-items:flex-start;gap:10px;background:#b91c1c;color:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 10px 30px #b91c1c59;animation:sos-toast-in .25s ease-out}@keyframes sos-toast-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.sos-toast-body{display:flex;flex-direction:column;gap:2px;flex:1;font-size:13px}.sos-toast-body span{font-size:11.5px;opacity:.85}.sos-toast-close{background:none;border:none;color:#fff;opacity:.8;cursor:pointer;padding:2px}.sos-toast-close:hover{opacity:1}.sos-toast-link{color:#fff;font-size:11.5px;font-weight:700;text-decoration:underline;margin-top:2px}.table-link{color:#6366f1;font-weight:600;text-decoration:none}.table-link:hover{text-decoration:underline}.sidebar-section-label{font-size:10px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;padding:14px 12px 4px}.admin-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-form-input{flex:1;min-width:160px;padding:8px 12px;border:1px solid #E5E7EB;border-radius:8px;font-size:13px}.admin-username{display:inline-flex;align-items:center}.icon-button-danger{background:none;border:none;color:#dc2626;cursor:pointer;padding:4px;border-radius:6px}.icon-button-danger:hover{background:#fee2e2}.classify-actions{display:flex;gap:6px}.classify-btn{border:1px solid #E5E7EB;background:#fff;border-radius:6px;padding:4px 9px;font-size:11.5px;font-weight:600;color:#374151;cursor:pointer;white-space:nowrap}.classify-btn:hover:not(:disabled){background:#f5f6fa}.classify-btn:disabled{opacity:.45;cursor:default}
