:root{--page-bg:#f8fafc;--surface:#fff;--text:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--topbar-bg:#0d1b35;--topbar-hover:#162742;--topbar-active:#152238;--brand:#1a3a6b;--brand-light:#e8eef7;--brand-dark:#0f2447;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000d;--working:#16a34a;--working-light:#dcfce7;--working-text:#14532d;--break:#d97706;--break-light:#fef3c7;--break-text:#78350f;--off:#64748b;--off-light:#f1f5f9;--off-text:#334155;--danger:#dc2626;--danger-light:#fee2e2;--radius:12px;font-family:Inter,system-ui,Avenir,Helvetica,sans-serif}:root[data-theme=light-gold] .progress-summary-left,:root[data-theme=light-gold] .report-progress-labels>span:first-child{color:#b8912e}:root[data-theme=light-gold]{--page-bg:#faf7f2;--surface:#fff;--text:#0b1f3a;--text-muted:#6b5f50;--border:#e4ddd4;--topbar-bg:#0b1f3a;--topbar-hover:#142f5f;--topbar-active:#0f2548;--brand:#0b1f3a;--brand-light:#e8edf5;--brand-dark:#071224}:root[data-theme=dark-navy]{--page-bg:#0b1f3a;--surface:#102444;--text:#f0f4f8;--text-muted:#ffffffa6;--border:#ffffff1f;--topbar-bg:#071224;--topbar-hover:#0d2240;--topbar-active:#0b1f3a;--brand:#d4a63a;--brand-light:#d4a63a26;--brand-dark:#b8912e;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006}:root[data-theme=dark-midnight]{--page-bg:#0f172a;--surface:#1e293b;--text:#f1f5f9;--text-muted:#94a3b8;--border:#ffffff14;--topbar-bg:#020617;--topbar-hover:#1e293b;--topbar-active:#0f172a;--brand:#38bdf8;--brand-light:#38bdf81a;--brand-dark:#0284c7;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;color:var(--text);background:var(--page-bg);margin:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--topbar-bg);z-index:10;border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto 1fr;align-items:center;height:60px;padding:0 24px;display:grid;position:sticky;top:0}.topbar-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.topbar-icon{color:#fff;background:#1e3354;border:1px solid #2a4468;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.topbar h1{color:#fff;letter-spacing:-.01em;white-space:nowrap;margin:0;font-size:1rem;font-weight:700}@media (width<=480px){.topbar h1{font-size:.8125rem}}.nav{justify-content:center;align-items:stretch;height:60px;display:flex}.nav-link{color:#fff9;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:0 14px;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s,border-color .15s;display:flex}.nav-link:hover{background:var(--topbar-hover);color:#fff}.nav-link.active{color:#d4a63a;background:var(--topbar-active);border-bottom-color:#fff;font-weight:600}.topbar-user{justify-content:flex-end;align-items:center;gap:12px;display:flex}.topbar-mobile-right{align-items:center;gap:12px;display:none}.hamburger-btn{cursor:pointer;color:#fff;background:0 0;border:none;align-items:center;padding:4px;display:flex}.mobile-nav-overlay{z-index:9;background:#0006;position:fixed;inset:60px 0 0}.mobile-nav{background:var(--topbar-bg);border-bottom:1px solid #ffffff1a;flex-direction:column;display:flex}.mobile-nav-link{color:#ffffffb3;border-left:3px solid #0000;align-items:center;gap:12px;padding:16px 24px;font-size:1rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.mobile-nav-link:hover{color:#fff;background:#162742}.mobile-nav-link.active{color:#d4a63a;background:#152238;border-left-color:#fff}@media (width<=768px){.topbar{grid-template-columns:1fr auto}.nav,.topbar-user{display:none}.topbar-mobile-right{display:flex}.content{padding:16px}.report-stat-cards{grid-template-columns:repeat(2,1fr)!important}.report-table-wrap{overflow-x:auto}.modal-box{width:95vw!important;min-width:auto!important}}@media (width<=480px){.report-stat-cards{grid-template-columns:repeat(2,1fr)!important}.hero-panel,.hero-actions{padding:16px}}.user-dropdown{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:100;background:#fff;min-width:220px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.user-dropdown-header{align-items:center;gap:12px;padding:14px 16px;display:flex}.user-dropdown-divider{background:var(--border);height:1px;margin:0}.user-dropdown-item{color:#374151;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .1s;display:flex}.user-dropdown-item:hover{color:#0f172a;background:#f8fafc}.user-dropdown-signout{color:var(--danger)}.user-dropdown-signout:hover{background:var(--danger-light);color:var(--danger)}.user-dropdown-themes{padding:10px 16px}.user-dropdown-theme-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:.75rem;font-weight:600}.user-dropdown-theme-swatches{gap:8px;display:flex}.theme-swatch{cursor:pointer;outline-offset:2px;border:2px solid #0000001a;border-radius:50%;width:24px;height:24px;padding:0;transition:transform .15s}.theme-swatch:hover{transform:scale(1.15)}.theme-swatch.active{transform:scale(1.1)}.theme-swatch:focus-visible{outline:2px solid var(--brand);outline-offset:3px;transform:scale(1.1)}.content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:28px 24px}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.card h2,.card h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 16px;font-size:.75rem;font-weight:600}.status-badge{border:1.5px solid #0000;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:.875rem;font-weight:600;display:inline-flex}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-badge.working{background:var(--working-light);color:var(--working-text);border-color:#bbf7d0}.status-badge.working .status-dot{background:var(--working);box-shadow:0 0 0 2px #86efac}.status-badge.on-break{background:var(--break-light);color:var(--break-text);border-color:#fde68a}.status-badge.on-break .status-dot{background:var(--break)}.status-badge.off{background:var(--off-light);color:var(--off-text);border-color:#cbd5e1}.status-badge.off .status-dot{background:var(--off)}.status-location{color:var(--text-muted);align-items:center;gap:5px;margin-top:10px;font-size:.8125rem;display:flex}.timer-value{letter-spacing:-.02em;color:#0f172a;margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2.5rem;font-weight:700;line-height:1}.timer-card{border-top:3px solid var(--brand)}.stat-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.stat-row:last-child{border-bottom:none;padding-bottom:0}.stat-row:first-child{padding-top:0}.stat-label{color:var(--text-muted);font-size:.875rem;font-weight:500}.stat-value{color:#0f172a;font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:700}.stat-value.working{color:var(--working)}.stat-value.break{color:var(--break)}.stat-value.net{color:var(--brand)}.btn{cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:1.5px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:9px 16px;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.25;transition:opacity .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-success{background:var(--working);color:#fff;border-color:var(--working)}.btn-success:hover:not(:disabled){background:#15803d}.btn-office{color:#fff;background:#0369a1;border-color:#0369a1}.btn-office:hover:not(:disabled){background:#075985}.btn-telework{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-telework:hover:not(:disabled){background:var(--brand-dark)}.btn-break{background:var(--break);color:#fff;border-color:var(--break)}.btn-break:hover:not(:disabled){background:#b45309}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{color:#475569;border-color:var(--border);background:#fff}.btn-ghost:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.btn-sm{padding:6px 12px;font-size:.8125rem}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover:not(:disabled){background:var(--brand-dark)}.button-group{flex-wrap:wrap;gap:8px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field label,.field .field-label{color:#374151;font-size:.8125rem;font-weight:600}input[type=date],input[type=datetime-local],select{border:1.5px solid var(--border);color:#0f172a;background:#fff;border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}input[type=date]:focus,input[type=datetime-local]:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e51f}.date-picker-row{align-items:center;gap:10px;margin-bottom:16px;display:flex}.date-picker-row label{color:#374151;white-space:nowrap;font-size:.875rem;font-weight:600}.banner{border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.875rem;font-weight:500}.banner-error{background:var(--danger-light);color:#991b1b;border:1px solid #fca5a5}.banner-warn{color:#854d0e;background:#fef9c3;border:1px solid #fde047}.banner-success{background:var(--working-light);color:var(--working-text);border:1px solid #86efac}.event-list{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.event-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:10px 0;font-size:.875rem;display:flex}.event-row:last-child{border-bottom:none;padding-bottom:0}.event-row:first-child{padding-top:0}.event-type{white-space:nowrap;color:#475569;background:#f1f5f9;border-radius:5px;padding:3px 8px;font-size:.75rem;font-weight:600}.event-type.WORK_START,.event-type.WORK_END{background:var(--working-light);color:var(--working-text)}.event-type.BREAK_START,.event-type.BREAK_END{background:var(--break-light);color:var(--break-text)}.event-time{color:var(--text-muted)}.event-meta{color:#94a3b8;margin-left:auto;font-size:.8125rem}.session-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.session-row:last-child{border-bottom:none;padding-bottom:0}.session-row:first-child{padding-top:0}.session-info{flex-direction:column;gap:3px;display:flex}.session-times{color:#0f172a;font-size:.9375rem;font-weight:600}.session-duration{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.location-chip{border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.location-chip.OFFICE{color:#0369a1;background:#e0f2fe}.location-chip.TELEWORK{background:var(--brand-light);color:var(--brand)}.session-edit-form{border:1px solid var(--border);background:#f8fafc;border-radius:8px;flex-direction:column;gap:12px;margin:8px 0;padding:14px;display:flex}.session-edit-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.session-edit-row label{color:#374151;min-width:60px;font-size:.8125rem;font-weight:600}.checkbox-row{color:#374151;cursor:pointer;align-items:center;gap:7px;font-size:.875rem;display:flex}input[type=checkbox]{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.hero-row{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=600px){.hero-row{grid-template-columns:1.4fr 1fr}}.hero-panel{color:#fff;border-radius:var(--radius);min-height:260px;box-shadow:var(--shadow-md);background:#0d1b35;flex-direction:column;justify-content:space-between;padding:28px;display:flex}.hero-top{text-align:center;flex-direction:column;align-items:center;display:flex}.hero-date{letter-spacing:.12em;color:#ffffff73;text-transform:uppercase;margin-bottom:8px;font-size:.6875rem;font-weight:600}.hero-mode-toggle{background:#ffffff14;border-radius:8px;gap:3px;margin-bottom:10px;padding:3px;display:flex}.hero-mode-btn{letter-spacing:.07em;text-transform:uppercase;cursor:pointer;color:#fff6;background:0 0;border:none;border-radius:5px;flex:1;padding:4px 8px;font-family:inherit;font-size:.625rem;font-weight:700;transition:background .15s,color .15s}.hero-mode-btn.active{color:#fff;background:#1e3a5f}.hero-mode-btn:hover:not(.active){color:#ffffffb3}.hero-clock{letter-spacing:-.02em;color:#fff;margin-bottom:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1}.hero-clock.hero-clock-stat{font-size:clamp(1.75rem,4.5vw,2.75rem)}.hero-holiday{color:#ffffffd9;letter-spacing:.04em;justify-content:center;align-items:center;gap:6px;margin-bottom:12px;font-size:.8125rem;font-weight:600;display:flex}.hero-bottom{width:100%}.hero-status-badge{border-radius:999px;align-items:center;gap:8px;margin-bottom:12px;padding:5px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.hero-status-badge.working{color:#fff;background:#166534e6;border:1px solid #86efac4d}.hero-status-badge.on-break{color:#fef3c7;background:#b453094d;border:1px solid #fde68a4d}.hero-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px}.hero-divider{background:#ffffff1a;height:1px;margin:0 0 16px}.hero-stats{text-align:center;flex-wrap:wrap;justify-content:center;gap:14px 52px;display:flex}.hero-stat-label{letter-spacing:.1em;color:#fff6;text-transform:uppercase;justify-content:center;align-items:center;gap:4px;margin-bottom:3px;font-size:.625rem;font-weight:700;display:flex}.hero-stat-value{color:#fff;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700}.hero-stat-value.cyan{color:#67e8f9}.hero-stat-value.office{color:#4ade80}.hero-stat-value.telework{color:#67e8f9}.hero-actions{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;justify-content:center;gap:12px;padding:24px;display:flex}.hero-actions-label{color:#374151;margin-bottom:2px;font-size:.8125rem;font-weight:600}.location-toggle{border:2px solid #0d1b35;border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.location-toggle-btn{cursor:pointer;border:none;justify-content:center;align-items:center;gap:5px;padding:11px 8px;font-family:inherit;font-size:.8125rem;font-weight:600;line-height:1;transition:background .15s,color .15s;display:flex}.location-toggle-btn.active{color:#fff;background:#0d1b35}.location-toggle-btn.inactive{color:#64748b;background:#fff}.location-toggle-btn.inactive:hover{background:#f8fafc}.hero-notes-input{border:1.5px solid var(--border);color:#0f172a;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.hero-notes-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e51f}.hero-notes-input::placeholder{color:#94a3b8}.btn-hero{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 16px;font-family:inherit;font-size:.9375rem;font-weight:700;transition:opacity .15s,transform .1s;display:flex}.btn-hero:disabled{opacity:.5;cursor:not-allowed}.btn-hero:active:not(:disabled){transform:translateY(1px)}.btn-clock-in{color:#fff;background:#15803d}.btn-clock-in:hover:not(:disabled){background:#166534}.btn-clock-out{color:#fff;background:#dc2626}.btn-clock-out:hover:not(:disabled){background:#b91c1c}.btn-start-break{color:#92400e;background:#fff;border:2px solid #b45309}.btn-start-break:hover:not(:disabled){background:#fef3c7}.btn-end-break{color:#fff;background:#b45309}.btn-end-break:hover:not(:disabled){background:#92400e}.progress-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;padding:20px}.progress-card.alert{border-width:2.5px;border-color:#fed7aa}.progress-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.progress-card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.6875rem;font-weight:600;display:flex}.progress-card-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.progress-card-subtitle{color:var(--text-muted);margin-top:2px;font-size:.8125rem}.progress-card-meta{text-align:right;flex-shrink:0}.progress-card-meta-primary{color:#0f172a;font-size:1rem;font-weight:700}.progress-card-meta-secondary{color:var(--text-muted);font-size:.8125rem}.badge-status{letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.badge-status.short{color:#fff;background:#c2410c}.badge-status.ahead{background:var(--brand);color:#fff}.badge-status.on-track{background:var(--working);color:#fff}.progress-summary-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.progress-summary-left{color:var(--brand);font-size:1.1rem;font-weight:800}.progress-summary-right{color:var(--text-muted);font-size:.8125rem}.progress-bar-track{background:#f1f5f9;border-radius:999px;height:6px;margin-bottom:6px;overflow:hidden}.progress-bar-fill{border-radius:999px;height:100%;transition:width .4s}.progress-bar-fill.short{background:#f97316}.progress-bar-fill.ahead{background:var(--brand)}.progress-bar-fill.on-track{background:var(--working)}.progress-bar-label{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:.8125rem;display:flex}.pace-line{border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 10px;font-size:.8125rem;display:flex}.pace-label{text-transform:uppercase;letter-spacing:.05em;opacity:.75;font-size:.6875rem;font-weight:600}.pace-value{font-weight:700}.pace-green{background:var(--working-light);color:var(--working-text)}.pace-amber{background:var(--break-light);color:var(--break-text)}.pace-red{background:var(--danger-light);color:var(--danger)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .pace-green{color:#4ade80;background:#16a34a26}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .pace-amber{color:#fbbf24;background:#d9770626}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .pace-red{color:#f87171;background:#dc262626}.progress-warning{border-radius:8px;align-items:flex-start;gap:8px;margin-bottom:8px;padding:10px 12px;font-size:.8125rem;line-height:1.4;display:flex}.progress-warning>svg{flex-shrink:0;margin-top:1px}.progress-warning.warn{color:#92400e;background:#fff7ed}.progress-warning.info{color:#1e40af;background:#eff6ff}.progress-needed-badge{color:#fff;background:#c2410c;border-radius:999px;align-items:center;gap:4px;margin-top:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.today-summary-label{letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:.6875rem;font-weight:700}.today-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.today-icon-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;display:flex}.today-icon{font-size:1.5rem;line-height:1}.today-icon-value{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800;line-height:1}.today-icon-value.work{color:var(--working)}.today-icon-value.break{color:var(--break)}.today-icon-value.total{color:var(--text)}.today-icon-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.log-page{flex-direction:column;gap:16px;display:flex}.log-header{justify-content:space-between;align-items:center;display:flex}.page-heading{color:var(--text);margin:0;font-size:1.5rem;font-weight:800}.log-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:700}.log-count-badge{background:var(--brand-light);color:var(--brand);border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.log-table-wrap{overflow-x:auto}.log-edit-panel{background:var(--surface);flex-direction:column;gap:14px;padding:16px 20px;display:flex}.log-edit-title{text-transform:uppercase;letter-spacing:.08em;color:var(--brand);font-size:.6875rem;font-weight:700}.log-table{border-collapse:collapse;width:100%;font-size:.875rem}.log-th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:.6875rem;font-weight:700}.log-table-row td{border-bottom:1px solid #f1f5f9}.log-table-row:last-child td,.log-table-row.expanded td{border-bottom:none}.log-cell{vertical-align:middle;white-space:nowrap;padding:12px 14px}.log-cell-date{color:var(--text);font-weight:500}.log-cell-time{color:#0891b2;font-variant-numeric:tabular-nums;font-weight:600}.log-cell-break,.log-cell-net{white-space:nowrap}.log-cell-note{color:var(--text-muted);text-overflow:ellipsis;max-width:180px;overflow:hidden}.log-cell-actions{width:80px}.log-net-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.log-break-value{color:var(--break);font-variant-numeric:tabular-nums;font-weight:600}.log-dash{color:#94a3b8}.log-active-badge{color:var(--working);font-size:.75rem;font-weight:700}.log-delete-confirm{align-items:center;gap:6px;display:flex}.btn-icon{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px 6px;transition:background .15s,color .15s;display:inline-flex}.btn-icon:hover{color:#0f172a;background:#f1f5f9}.btn-icon-danger:hover{background:var(--danger-light);color:var(--danger)}.log-edit-row td{background:#f8fafc}.log-edit-panel{border-top:2px solid var(--brand-light);flex-direction:column;gap:14px;padding:16px 20px;display:flex}.log-edit-title{color:var(--brand);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:700}.log-breaks-section{flex-direction:column;gap:8px;display:flex}.log-breaks-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.log-break-item{border:1px solid var(--border);background:#fff;border-radius:8px;padding:10px 12px}.log-break-display{align-items:center;gap:10px;display:flex}.log-break-time{color:#0f172a;font-size:.875rem;font-weight:600}.break-edit-inline{flex-direction:column;gap:10px;display:flex}.log-pagination{justify-content:center;align-items:center;gap:12px;padding:8px 0;display:flex}.log-page-info{color:var(--text-muted);font-size:.875rem}dialog.modal-box{background:#fff;border:none;max-width:none;max-height:none;margin:0;padding:0;position:static;overflow:visible}.modal-backdrop{z-index:100;background:#0f172a99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-box{border-radius:var(--radius);background:#fff;flex-direction:column;gap:0;width:fit-content;min-width:380px;max-width:min(520px,100vw - 32px);max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.modal-header h2{color:#0f172a;margin:0;font-size:1.125rem;font-weight:700}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1rem}.modal-close:hover{color:#0f172a;background:#f1f5f9}.modal-section{border-bottom:1px solid var(--border);flex-direction:column;gap:14px;padding:20px 24px;display:flex}.modal-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.75rem;font-weight:700}.modal-row{flex-wrap:wrap;gap:14px;display:flex}.modal-row .field{flex:1;min-width:160px}.modal-actions{justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.break-input-row{border:1px solid var(--border);background:#f8fafc;border-radius:8px;padding:12px}.time-picker-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.time-picker-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;font-size:.8125rem;display:flex}.time-picker-input{border:1.5px solid var(--border);color:#0f172a;border-radius:8px;outline:none;flex:1;padding:7px 10px;font-family:inherit;font-size:.8125rem}.time-picker-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e51f}.hero-location-indicator{color:var(--working-text);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;font-weight:600;display:flex}.reports-page{flex-direction:column;gap:0;display:flex}.reports-header{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.reports-tabs{border-bottom:2px solid var(--border);flex-direction:row;margin-bottom:16px;display:flex}.reports-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 16px;font-family:inherit;font-size:.875rem;font-weight:600;transition:color .15s}.reports-tab:hover{color:var(--text,#0f172a)}.reports-tab.active{color:var(--text);border-bottom-color:#f59e0b}.reports-filters{flex-direction:row;align-items:center;gap:12px;margin-bottom:20px;display:flex}.reports-filter-group{flex-direction:column;gap:4px;display:flex}.reports-filter-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.reports-filter-group select{border:1.5px solid var(--border);color:#0f172a;cursor:pointer;background:#fff;border-radius:8px;outline:none;padding:6px 10px;font-family:inherit;font-size:.875rem}.reports-filter-group select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #4f46e51f}.report-view{flex-direction:column;gap:16px;display:flex}.report-period-header{flex-flow:wrap;align-items:center;gap:10px;display:flex}.report-period-title{color:#0d1b35;font-size:1.25rem;font-weight:800}.report-period-badge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.report-period-badge.short{color:#fff;background:#c2410c}.report-period-badge.ahead{background:var(--working);color:#fff}.report-period-badge.on-track{background:var(--brand);color:#fff}.report-period-subtitle{color:var(--text-muted);font-size:.8125rem}.report-progress-section{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex-direction:column;gap:8px;padding:16px 20px;display:flex}.report-progress-labels{flex-direction:row;justify-content:space-between;align-items:baseline;display:flex}.report-progress-labels>span:first-child{color:var(--brand);font-size:1.1rem;font-weight:800}.report-progress-required{color:var(--text-muted);font-weight:600}.report-progress-track{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden}.report-progress-fill{border-radius:999px;height:100%;transition:width .3s}.report-progress-fill.short{background:#f97316}.report-progress-fill.on-track,.report-progress-fill.ahead{background:var(--working)}.report-progress-meta{color:var(--text-muted);font-size:.8125rem}.report-stat-cards{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.report-stat-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.report-stat-top{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.report-stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:.6875rem;font-weight:700}.report-stat-body{flex-direction:row;align-items:flex-start;gap:10px;display:flex}.report-stat-value{color:#0d1b35;font-size:1.375rem;font-weight:800;line-height:1}.report-stat-sub{color:var(--text-muted);margin-top:2px;font-size:.75rem}.report-table-wrap{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.report-table{border-collapse:collapse;width:100%;font-size:.8125rem}.report-table thead tr{border-bottom:2px solid var(--border);background:#f8fafc}.report-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;padding:10px 12px;font-size:.6875rem;font-weight:700}.report-table td{color:var(--text);vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:9px 12px}.report-table tbody tr:last-child td{border-bottom:none}.report-table tbody tr:not(.report-row-weekend):hover td{background:#f9fafb}.report-row-weekend td{color:var(--text-muted);background:#fafafa}.report-cell-date{color:#0d1b35;white-space:nowrap;font-weight:600}.report-cell-day{color:var(--text-muted)}.report-status-missing{color:#92400e;background:#fff7ed;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.report-status-weekend{color:var(--text-muted);font-size:.75rem;font-style:italic}.report-active{color:var(--working);font-weight:600}.report-status-holiday{color:#5b21b6;background:#ede9fe;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-flex}.report-row-holiday td:first-child{border-left:3px solid #8b5cf6}.report-location.office{color:#16a34a;font-weight:600}.report-location.telework{color:#0891b2;font-weight:600}.report-actions{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}@media print{@page{margin:18mm 14mm}.topbar,.nav,.reports-tabs,.reports-filters,.reports-header,.report-actions{display:none!important}body{color:#000;background:#fff}.report-stat-card,.report-progress-section,.report-table-wrap{box-shadow:none;border:1px solid #ccc}.report-table{border-collapse:collapse;width:100%;font-size:10pt}.report-table th,.report-table td{border:1px solid #ccc;padding:4px 6px}.report-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f0f0f0!important}.report-row-weekend td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f5f5f5!important}.report-row-holiday td{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff8e1!important}.report-stat-cards{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.report-view{page-break-inside:avoid}}.dash-range-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dash-range-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:all .15s}.dash-range-btn:hover{border-color:var(--brand);color:var(--text)}.dash-range-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.dash-custom-range{align-items:center;gap:8px;display:flex}.dash-summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=768px){.dash-summary-grid{grid-template-columns:repeat(2,1fr)}}.dash-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.dash-stat-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.dash-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.dash-stat-value{color:var(--brand);margin-bottom:4px;font-size:1.5rem;font-weight:800;line-height:1}.dash-stat-sub{color:var(--text-muted);font-size:.75rem}:root[data-theme=dark-navy],:root[data-theme=dark-midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:is([data-theme=dark-navy],[data-theme=dark-midnight]) input,:is([data-theme=dark-navy],[data-theme=dark-midnight]) select,:is([data-theme=dark-navy],[data-theme=dark-midnight]) textarea{background:var(--page-bg);color:var(--text);border-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .modal-box{background:var(--surface);color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .modal-header{border-bottom-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .modal-actions{border-top-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .user-dropdown{background:var(--surface);border-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .user-dropdown-item{color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .user-dropdown-item:hover{background:var(--page-bg)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .user-dropdown-divider{background:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .log-table-wrap,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .log-row-even{background:var(--surface)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .log-th{background:var(--page-bg);color:var(--text-muted)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .log-cell{color:var(--text);border-bottom-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .stat-row{border-bottom-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .stat-value,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .stat-label{color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-stat-card{background:var(--surface)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-stat-value,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-stat-label,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-stat-body,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-period-title{color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-progress-section{background:var(--surface);border-color:var(--border);color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-progress-labels>span:first-child{color:var(--brand)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-progress-track{background:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-table-wrap{background:var(--page-bg);border-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-table thead tr{background:var(--page-bg)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-table th{background:var(--page-bg);color:var(--text-muted);border-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-table td{color:var(--text);border-color:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-table{background:var(--page-bg)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-row-total td{color:var(--text);background:#ffffff0d!important}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .report-row-weekend td{color:var(--text-muted)!important;background:#ffffff05!important}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .progress-card{background:var(--surface);color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .progress-card-meta-primary{color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .progress-bar-track{background:var(--border)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .field label,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .field .field-label{color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .card h2,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .card h3{color:var(--text-muted)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .timer-value,:is([data-theme=dark-navy],[data-theme=dark-midnight]) .log-title{color:var(--text)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .log-table-wrap{background:var(--surface)}:is([data-theme=dark-navy],[data-theme=dark-midnight]) .log-row-even td{background:var(--page-bg)}.toast-stack{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:72px;right:24px}.toast{pointer-events:all;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-width:240px;max-width:380px;padding:12px 16px;font-size:.875rem;font-weight:500;animation:.2s toast-in;display:flex;box-shadow:0 4px 12px #00000026}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-success{color:#dcfce7;background:#166534}.toast-error{color:#fee2e2;background:#991b1b}.toast-info{color:#e0f2fe;background:#1e3a5f}.toast-close{cursor:pointer;opacity:.7;color:inherit;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.875rem;line-height:1}.toast-close:hover{opacity:1}
