.fg-toast-viewport{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.65rem;width:min(420px,calc(100vw - 2rem));pointer-events:none}.fg-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .95rem;border-radius:var(--radius,10px);border:1px solid var(--border,#1a2740);background:var(--surface,#0d1422);color:var(--text,#eaf6fb);box-shadow:0 16px 40px rgba(0,0,0,.35);animation:fg-toast-in .22s ease-out}.fg-toast-message{flex:1 1;font-size:.92rem;line-height:1.45}.fg-toast-close{background:none;border:none;color:var(--text,#eaf6fb);cursor:pointer;font-size:1.15rem;line-height:1;padding:.1rem .35rem;margin-top:-.05rem;opacity:.72;border-radius:4px}.fg-toast-close:hover{color:var(--text,#eaf6fb);opacity:1;background:rgba(255,255,255,.06)}.fg-toast-success{border-color:rgba(52,211,153,.45);box-shadow:0 16px 40px rgba(0,0,0,.35),inset 3px 0 0 var(--success,#34d399)}.fg-toast-error{border-color:rgba(248,113,113,.45);box-shadow:0 16px 40px rgba(0,0,0,.35),inset 3px 0 0 var(--danger,#f87171)}.fg-toast-warning{border-color:rgba(245,158,11,.45);box-shadow:0 16px 40px rgba(0,0,0,.35),inset 3px 0 0 var(--warning,#f59e0b)}.fg-toast-info{border-color:rgba(34,211,238,.4);box-shadow:0 16px 40px rgba(0,0,0,.35),inset 3px 0 0 var(--accent,#22d3ee)}@keyframes fg-toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:640px){.fg-toast-viewport{left:1rem;right:1rem;width:auto}}.fg-confirm-root{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:1rem}.fg-confirm-backdrop{position:absolute;inset:0;border:none;background:rgba(2,6,14,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.fg-confirm-dialog{position:relative;z-index:1;width:min(420px,100%);padding:1.25rem;border:1px solid var(--border,#1a2740);border-radius:var(--radius,12px);background:var(--surface,#0d1422);box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(34,211,238,.08);animation:fg-confirm-in .18s ease-out}.fg-confirm-danger{box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 0 1px rgba(248,113,113,.12)}.fg-confirm-title{margin:0 0 .5rem;color:var(--text,#eaf6fb);font-size:1rem;font-weight:700;letter-spacing:-.02em}.fg-confirm-message{margin:0 0 1.1rem;color:var(--muted,#8093ad);font-size:.92rem;line-height:1.5}.fg-confirm-actions{display:flex;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.fg-confirm-cancel,.fg-confirm-submit{border-radius:8px;font:inherit;font-size:.86rem;font-weight:600;padding:.55rem .9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.fg-confirm-cancel{border:1px solid var(--border,#1a2740);background:transparent;color:var(--muted,#8093ad)}.fg-confirm-cancel:hover{color:var(--text,#eaf6fb);border-color:rgba(34,211,238,.25);background:var(--surface-hover,#131c2e)}.fg-confirm-submit{border:1px solid rgba(34,211,238,.35);background:linear-gradient(180deg,rgba(34,211,238,.18),rgba(34,211,238,.08));color:var(--accent,#22d3ee)}.fg-confirm-submit:hover{border-color:rgba(34,211,238,.55);background:linear-gradient(180deg,rgba(34,211,238,.28),rgba(34,211,238,.12));color:var(--accent-hover,#67e8f9)}.fg-confirm-danger .fg-confirm-submit{border-color:rgba(248,113,113,.45);background:linear-gradient(180deg,rgba(248,113,113,.16),rgba(248,113,113,.06));color:var(--danger,#f87171)}.fg-confirm-danger .fg-confirm-submit:hover{border-color:rgba(248,113,113,.65);background:linear-gradient(180deg,rgba(248,113,113,.24),rgba(248,113,113,.1))}.fg-prompt-dialog .fg-confirm-message{margin-bottom:.85rem}.fg-prompt-input{width:100%;margin-bottom:1.1rem;padding:.6rem .75rem;border:1px solid var(--border,#1a2740);border-radius:8px;background:var(--surface-hover,#131c2e);color:var(--text,#eaf6fb);font:inherit;font-size:.92rem}.fg-prompt-input:focus{outline:none;border-color:rgba(34,211,238,.45)}@keyframes fg-confirm-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fg-password-field{position:relative;margin-bottom:.75rem}.fg-password-field input{width:100%;margin-bottom:0;padding-right:2.75rem}.fg-password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:none;border:none;border-radius:6px;color:var(--muted);cursor:pointer}.fg-password-toggle:hover{color:var(--accent)}.fg-password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.remote-list-footer{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.remote-list-footer-meta{margin:0;color:var(--muted);font-size:.75rem}.date-field label{margin-bottom:.25rem;font-size:.75rem;font-weight:600}.date-field--compact{margin-bottom:0}.date-field--compact label{margin-bottom:.2rem;font-size:.72rem}.date-field--compact .date-input{min-height:2.1rem;padding:.4rem .55rem;font-size:.8125rem}.date-field-hint{margin:.25rem 0 0;font-size:.7rem;color:var(--muted);line-height:1.3}.date-range-row{gap:.5rem .65rem}.date-range-row .date-field{flex:0 1 10.5rem;width:min(100%,10.5rem)}.date-range-presets{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.65rem}.date-preset-chip{padding:.32rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--bg,var(--surface));color:var(--muted);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.date-preset-chip:hover{border-color:var(--accent-border);color:var(--text)}.date-preset-chip[aria-pressed=true]{background:var(--accent-muted);border-color:var(--accent-border-strong);color:var(--accent);box-shadow:0 0 0 1px var(--accent-border)}.date-range-row .date-field,.form-grid .date-field,.form-section-body .date-field{margin-bottom:0}@media (max-width:480px){.date-range-row .date-field{flex:1 1 100%;width:100%}}.month-calendar{display:flex;flex-direction:column;gap:.65rem}.month-calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.month-calendar-nav{display:flex;align-items:center;gap:.35rem}.month-calendar-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:1.2rem;line-height:1;cursor:pointer}.month-calendar-nav-btn:hover{border-color:var(--accent-border);background:var(--surface-hover)}.month-calendar-title{margin:0 0 0 .35rem;font-size:1.15rem;font-weight:700}.month-calendar-today{min-height:2.1rem}.month-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:1px;gap:1px;padding:0 .1rem}.month-calendar-weekday{text-align:center;font-size:.72rem;font-weight:700;color:var(--muted);padding:.35rem .25rem}.month-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(6.5rem,1fr);grid-gap:1px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.month-calendar-cell{display:flex;flex-direction:column;min-height:6.5rem;background:var(--surface);padding:.3rem .35rem .35rem;min-width:0}.month-calendar-cell--outside{background:var(--bg,var(--surface));opacity:.72}.month-calendar-cell--today{background:color-mix(in srgb,var(--accent-muted) 55%,var(--surface))}.month-calendar-day-btn{align-self:flex-start;border:none;background:transparent;padding:0;margin:0 0 .2rem;cursor:default}.month-calendar-day-btn:not(:disabled){cursor:pointer}.month-calendar-day-btn:not(:disabled):hover .month-calendar-day{background:var(--surface-hover)}.month-calendar-day{display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--text)}.month-calendar-day--today{background:var(--accent);color:var(--btn-fg,#04121a)}.month-calendar-events{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1 1}.month-calendar-event{display:block;width:100%;border:none;border-radius:5px;padding:.18rem .35rem;text-align:left;font:inherit;font-size:.68rem;font-weight:600;line-height:1.25;cursor:pointer;background:var(--accent-muted);color:var(--accent);border-left:3px solid var(--accent-border-strong)}.month-calendar-event--regular{background:color-mix(in srgb,var(--success,#34d399) 14%,var(--surface));color:var(--success,#34d399);border-left-color:var(--success,#34d399)}.month-calendar-event--special{background:var(--badge-warn-bg,rgba(245,158,11,.14));color:var(--badge-warn-fg,#fbbf24);border-left-color:var(--badge-warn-border,rgba(245,158,11,.35))}.month-calendar-event:hover{filter:brightness(1.05)}.month-calendar-event-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-calendar-legend-item{display:inline-flex;width:auto;max-width:12rem;pointer-events:none;cursor:default}.calendar-event-dialog-backdrop{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--backdrop,rgba(0,0,0,.55))}.calendar-event-dialog{width:min(100%,24rem);padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 18px 40px -16px rgba(0,0,0,.45)}.calendar-event-dialog h3{margin-bottom:.75rem;font-size:1rem}.calendar-event-dialog-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem}@media (max-width:900px){.month-calendar-grid{grid-auto-rows:minmax(5.25rem,1fr)}.month-calendar-cell{min-height:5.25rem}.month-calendar-event{font-size:.62rem;padding:.15rem .28rem}}@media (max-width:640px){.month-calendar-grid{grid-auto-rows:minmax(4.5rem,1fr)}.month-calendar-cell{min-height:4.5rem;padding:.2rem .25rem}.month-calendar-title{font-size:1rem}}:root,[data-theme=dark]{--accent-muted:rgba(34,211,238,0.08);--accent-subtle:rgba(34,211,238,0.15);--accent-border:rgba(34,211,238,0.25);--accent-border-strong:rgba(34,211,238,0.35);--accent-focus:rgba(34,211,238,0.15);--btn-fg:#04121a;--btn-bg-hover:var(--accent-strong);--card-bg:linear-gradient(180deg,var(--surface),var(--bg-elev));--logo-filter:drop-shadow(0 0 6px var(--accent-glow));--login-logo-filter:drop-shadow(0 0 6px rgba(34,211,238,0.5)) drop-shadow(0 2px 10px var(--accent-glow));--danger-muted:rgba(248,113,113,0.08);--danger-border:rgba(248,113,113,0.35);--badge-warn-bg:rgba(245,158,11,0.14);--badge-warn-border:rgba(245,158,11,0.35);--badge-warn-fg:#fbbf24;--input-bg:var(--bg)}[data-theme=light]{--accent-muted:rgba(13,148,136,0.12);--accent-subtle:rgba(13,148,136,0.16);--accent-border:rgba(13,148,136,0.24);--accent-border-strong:rgba(13,148,136,0.36);--accent-focus:rgba(13,148,136,0.2);--btn-fg:#ffffff;--btn-bg-hover:var(--accent-strong);--card-bg:linear-gradient(165deg,#ffffff,#f7fbfd);--logo-filter:none;--logo-filter-light:drop-shadow(0 2px 6px rgba(13,148,136,0.28));--login-logo-filter:drop-shadow(0 4px 12px rgba(13,148,136,0.2));--sidebar-subtitle:#4a6278;--danger-muted:rgba(220,38,38,0.08);--danger-border:rgba(220,38,38,0.28);--badge-warn-bg:#fef3c7;--badge-warn-border:#fcd34d;--badge-warn-fg:#92400e;--input-bg:#fbfdfe}.badge-yellow{background:var(--badge-warn-bg);border:1px solid var(--badge-warn-border);color:var(--badge-warn-fg)}.badge-green{background:rgba(52,211,153,.14);border:1px solid rgba(52,211,153,.35);color:var(--success)}[data-theme=light] .badge-green{background:#d1fae5;border-color:#6ee7b7;color:#047857}.badge-muted{background:var(--surface-hover);border:1px solid var(--border);color:var(--muted)}.nav-icon{width:1.1rem;height:1.1rem;flex-shrink:0}.sidebar-nav-icon{opacity:.72;transition:opacity .15s ease,color .15s ease}.sidebar nav a.active .sidebar-nav-icon,.sidebar nav a:hover .sidebar-nav-icon,.sidebar nav a[aria-current=page] .sidebar-nav-icon{opacity:1;color:var(--accent)}.page-header{margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid var(--border)}.page-header p{color:var(--muted);font-size:.875rem;line-height:1.45;max-width:42rem}.welcome-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.85rem;padding:.75rem 1rem;border-radius:var(--radius,10px);border:1px solid var(--accent-border);background:linear-gradient(135deg,var(--accent-muted),transparent 70%)}.welcome-strip strong{font-size:1rem}.welcome-strip span{color:var(--muted);font-size:.8125rem}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-strong),var(--accent));opacity:.85}.stat-card-top{display:flex;align-items:center;gap:.55rem;margin-bottom:.35rem}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;background:var(--accent-muted);border:1px solid var(--accent-border);color:var(--accent)}.hub-card{display:flex;align-items:flex-start;gap:.85rem;text-decoration:none;color:inherit;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.hub-card:hover{border-color:var(--accent-border-strong);background:var(--surface-hover);transform:translateY(-2px);box-shadow:0 10px 28px -14px var(--accent-glow)}.hub-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:10px;background:var(--accent-muted);border:1px solid var(--accent-border);color:var(--accent);flex-shrink:0}.hub-card-body{flex:1 1;min-width:0}.hub-card-title{font-size:.9375rem;font-weight:700;margin-bottom:.2rem}.hub-card-desc{color:var(--muted);font-size:.8125rem;line-height:1.4}.hub-card-arrow{color:var(--muted);font-size:1.1rem;line-height:1;margin-top:.15rem;transition:color .15s ease,transform .15s ease}.hub-card:hover .hub-card-arrow{color:var(--accent);transform:translateX(2px)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:2rem 1.25rem}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;background:var(--accent-muted);border:1px solid var(--accent-border);color:var(--accent);margin-bottom:.25rem}.empty-state-icon .nav-icon{width:1.35rem;height:1.35rem}.empty-state h3{font-size:1rem}.empty-state p{color:var(--muted);font-size:.875rem;max-width:26rem;line-height:1.45}.insight-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:.75rem}.insight-banner .stat-value-sm{font-size:1.25rem;font-weight:700;color:var(--accent)}.onboard-checklist{list-style:none;margin:.75rem 0 1rem;padding:0;display:grid;grid-gap:.45rem;gap:.45rem}.onboard-checklist li{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--muted)}.onboard-checklist li:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--border);flex-shrink:0}.onboard-checklist li.is-done{color:var(--text)}.onboard-checklist li.is-done:before{background:var(--success);box-shadow:0 0 0 3px rgba(52,211,153,.15)}.onboard-checklist li.is-active{color:var(--accent);font-weight:600}.onboard-checklist li.is-active:before{background:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}@media (prefers-reduced-motion:reduce){.hub-card:hover,.hub-card:hover .hub-card-arrow{transform:none}}input[type=checkbox],input[type=radio]{width:auto;margin-bottom:0;accent-color:var(--accent);cursor:pointer}input[type=file]{color:var(--muted);font-size:.875rem}input[type=file]::-webkit-file-upload-button{margin-right:.65rem;padding:.4rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface-hover);color:var(--text);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}input[type=file]::file-selector-button{margin-right:.65rem;padding:.4rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface-hover);color:var(--text);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}input[type=file]::-webkit-file-upload-button:hover{border-color:var(--accent-border);color:var(--accent)}input[type=file]::file-selector-button:hover{border-color:var(--accent-border);color:var(--accent)}select{background-color:var(--input-bg)}.text-muted{color:var(--muted);font-size:.875rem}.text-success{color:var(--success)}.section-divider{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}.form-label-inline{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text)}.link-subtle{color:var(--accent);font-size:.875rem}.text-success-sm{color:var(--success);font-size:.875rem}.text-warning-sm{color:var(--warning);font-size:.875rem}.text-danger-sm{color:var(--danger);font-size:.875rem}.card-accent-border{border-left:4px solid var(--warning)}.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger):not(.clock-action){color:var(--btn-fg);-webkit-text-fill-color:var(--btn-fg)}.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger):not(.clock-action):active:not(:disabled),.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger):not(.clock-action):focus-visible:not(:disabled),.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger):not(.clock-action):hover:not(:disabled){color:var(--btn-fg);-webkit-text-fill-color:var(--btn-fg);background:var(--btn-bg-hover)}a.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger),a.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger):focus-visible,a.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger):hover{color:var(--btn-fg);-webkit-text-fill-color:var(--btn-fg);text-decoration:none}a.btn-danger,a.btn-muted,a.btn-outline,a.btn-secondary{text-decoration:none}.btn-danger:hover:not(:disabled),.btn-muted:hover:not(:disabled),.btn-outline:hover:not(:disabled),.btn-secondary:hover:not(:disabled),.clock-action:hover:not(:disabled){-webkit-text-fill-color:currentColor}.btn.clock-action.clock-action--in,.btn.clock-action.clock-action--in:active:not(:disabled),.btn.clock-action.clock-action--in:focus-visible:not(:disabled),.btn.clock-action.clock-action--in:hover:not(:disabled),.clock-action--in,.clock-action--in:active:not(:disabled),.clock-action--in:focus-visible:not(:disabled),.clock-action--in:hover:not(:disabled){background-color:var(--success);background-image:none;color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 8px 24px -8px rgba(5,150,105,.4)}.btn.clock-action.clock-action--in:focus-visible:not(:disabled),.btn.clock-action.clock-action--in:hover:not(:disabled),.clock-action--in:focus-visible:not(:disabled),.clock-action--in:hover:not(:disabled){background-color:#047857}.btn.clock-action.clock-action--out,.btn.clock-action.clock-action--out:active:not(:disabled),.btn.clock-action.clock-action--out:focus-visible:not(:disabled),.btn.clock-action.clock-action--out:hover:not(:disabled),.clock-action--out,.clock-action--out:active:not(:disabled),.clock-action--out:focus-visible:not(:disabled),.clock-action--out:hover:not(:disabled){background-color:var(--danger,#dc2626);background-image:none;color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 8px 24px -8px rgba(220,38,38,.38)}.btn.clock-action.clock-action--out:focus-visible:not(:disabled),.btn.clock-action.clock-action--out:hover:not(:disabled),.clock-action--out:focus-visible:not(:disabled),.clock-action--out:hover:not(:disabled){background-color:#b91c1c;box-shadow:0 10px 28px -8px rgba(220,38,38,.42)}.btn-muted,.btn-outline,.btn-secondary,.profile-dropdown-action,.theme-menu-option{-webkit-text-fill-color:currentColor}.brand .app-logo{display:contents}.app-logo-hero{display:block;width:72px;margin:0 auto .75rem}.app-logo-hero img{width:100%;height:auto;max-height:56px;object-fit:contain}.app-logo-hero img,[data-theme=light] .app-logo-hero img{filter:var(--login-logo-filter)}.brand .app-logo-dark{display:block}.brand .app-logo-light{display:none}.brand img.app-logo-light{filter:var(--logo-filter-light,none)}[data-theme=light] .app-logo-dark,[data-theme=light] .brand .app-logo-dark{display:none}[data-theme=light] .app-logo-light,[data-theme=light] .brand .app-logo-light{display:block}.sidebar-subtitle{color:var(--sidebar-subtitle,var(--muted))}.page-header h1,.page-header h2{background:linear-gradient(120deg,var(--text) 25%,var(--accent-hover) 110%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] .page-header h1,[data-theme=light] .page-header h2{background:linear-gradient(120deg,var(--text) 20%,var(--accent-strong) 115%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] body{background-size:auto,auto,auto,100% 100%}[data-theme=light] .sidebar{background:linear-gradient(180deg,#ffffff,#f6fbfd 52%,#edf6fa);box-shadow:2px 0 18px rgba(12,26,46,.05)}[data-theme=light] .sidebar nav a.active,[data-theme=light] .sidebar nav a[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent);background:linear-gradient(90deg,var(--accent-muted),transparent 88%)}[data-theme=light] .main-header{background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .card{box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}[data-theme=light] .card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-border)}[data-theme=light] .welcome-strip{background:linear-gradient(118deg,rgba(13,148,136,.16),rgba(6,182,212,.09) 42%,rgba(255,255,255,.75));box-shadow:var(--shadow-sm)}[data-theme=light] .welcome-strip strong{color:var(--text)}[data-theme=light] .profile-avatar{background:linear-gradient(135deg,rgba(13,148,136,.2),rgba(6,182,212,.28));color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-border)}[data-theme=light] button.profile-chip:hover,[data-theme=light] button.profile-chip[aria-expanded=true]{box-shadow:var(--shadow-sm)}[data-theme=light] .announcements-panel{background:linear-gradient(165deg,#ffffff,#f4fafc);box-shadow:var(--shadow-sm)}[data-theme=light] .announcement-item{background:linear-gradient(90deg,rgba(13,148,136,.07),rgba(255,255,255,.95) 74%);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}[data-theme=light] .announcement-item:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm);background:linear-gradient(90deg,rgba(13,148,136,.11),#ffffff 74%)}[data-theme=light] .announcements-icon{background:linear-gradient(135deg,var(--accent-muted),rgba(6,182,212,.18))}[data-theme=light] .dashboard-stat-card{position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}[data-theme=light] .dashboard-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-strong),var(--accent-hover))}[data-theme=light] .dashboard-elapsed-value{background:linear-gradient(120deg,var(--text) 10%,var(--accent-strong) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] .clock-time{color:var(--accent-strong)}[data-theme=light] .badge-green{background:linear-gradient(180deg,#d1fae5,#ecfdf5)}[data-theme=light] .badge-yellow{background:linear-gradient(180deg,#fef3c7,#fffbeb)}.shell-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:100dvh}.shell-loading span{color:var(--muted);font-size:.875rem}.shell-loading:before{content:"";width:2rem;height:2rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:fg-spin .75s linear infinite}@keyframes fg-spin{to{transform:rotate(1turn)}}.cycle-progress{margin-top:.65rem;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.cycle-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-strong),var(--accent));transition:width .8s cubic-bezier(.22,1,.36,1)}.cycle-progress-label{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.75rem;color:var(--muted)}@media (prefers-reduced-motion:reduce){.shell-loading:before{animation:none}}.main-header{padding-top:env(safe-area-inset-top,0)}.main-body,.main-header{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1rem,env(safe-area-inset-right,0px))}.main-body{padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}.login-page{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-menu-toggle{gap:0;min-width:2.75rem;min-height:2.75rem;padding:.5rem}.mobile-menu-toggle svg{width:1.25rem;height:1.25rem}.container--narrow{max-width:42rem;margin-inline:auto}.page-header{gap:.5rem 1rem}.flex-between{justify-content:space-between;align-items:flex-start;gap:.5rem 1rem}.flex-between,.toolbar-row{display:flex;flex-wrap:wrap}.toolbar-row{gap:.5rem;align-items:center}.row-actions{gap:.35rem;align-items:center}@media (max-width:900px){.dashboard-grid,.form-grid-2,.onboard-layout{grid-template-columns:1fr}.onboard-aside{position:static}}@media (max-width:768px){.sidebar{overflow-y:auto;-webkit-overflow-scrolling:touch}}@media (max-width:640px){.row-actions .btn,.row-actions .btn-sm,.table-scroll .btn,.table-scroll .btn-sm{min-height:2.75rem;padding:.45rem .75rem}.list-filter-field select,.list-filters-search{min-width:0;width:100%}}@keyframes fg-fade-in{0%{opacity:0}to{opacity:1}}.btn,.btn-outline,.btn-secondary{transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,background .15s ease,border-color .15s ease}.btn-outline:focus-visible,.btn-secondary:focus-visible,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.day-chip{transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.day-chip:hover{transform:translateY(-1px)}.day-chip[aria-pressed=true]{box-shadow:0 0 0 1px var(--accent-glow)}.sidebar nav a{position:relative;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .18s ease}.sidebar nav a:hover{transform:translateX(3px)}.sidebar nav a.active:before,.sidebar nav a[aria-current=page]:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:3px;border-radius:0 3px 3px 0;background:var(--accent);box-shadow:0 0 10px var(--accent-glow);animation:fg-fade-in .25s ease both}.mobile-menu-toggle,button.profile-chip{transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.mobile-menu-toggle:hover,button.profile-chip:hover,button.profile-chip[aria-expanded=true]{transform:translateY(-1px)}.profile-dropdown-action,.theme-menu-option{transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.profile-dropdown-action:hover,.theme-menu-option:hover{transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.day-chip:hover,.mobile-menu-toggle:hover,.profile-dropdown-action:hover,.sidebar nav a:hover,.theme-menu-option:hover,button.profile-chip:hover,button.profile-chip[aria-expanded=true]{transform:none}.sidebar nav a.active:before,.sidebar nav a[aria-current=page]:before{animation:none}}.theme-menu{padding:.35rem .55rem .55rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.theme-menu-label{margin:0 0 .4rem;color:var(--muted);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.theme-menu-options{display:flex;gap:.35rem}.theme-menu-option{flex:1 1;margin:0;padding:.35rem .4rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--muted);font:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.theme-menu-option:hover{color:var(--text);border-color:var(--border);background:var(--surface-hover)}.theme-menu-option.active,.theme-menu-option.active:hover{color:var(--accent);border-color:var(--accent-border-strong);background:var(--accent-muted)}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root,[data-theme=dark]{color-scheme:dark;--bg:#060910;--bg-elev:#0a0f1a;--surface:#0d1422;--surface-hover:#131c2e;--border:#1a2740;--text:#eaf6fb;--muted:#8093ad;--accent:#22d3ee;--accent-hover:#67e8f9;--accent-strong:#06b6d4;--accent-glow:rgba(34,211,238,0.35);--success:#34d399;--warning:#f59e0b;--danger:#f87171;--radius:10px;--body-bg-image:radial-gradient(1000px circle at 50% -220px,rgba(34,211,238,0.10),transparent 60%),radial-gradient(820px circle at 100% 0%,rgba(6,182,212,0.06),transparent 55%),radial-gradient(rgba(255,255,255,0.022) 1px,transparent 0);--backdrop:rgba(0,0,0,0.55)}[data-theme=light]{color-scheme:light;--bg:#edf3f9;--bg-elev:#ffffff;--surface:#ffffff;--surface-hover:#e6f0f7;--border:#c5d6e5;--text:#0c1a2e;--muted:#5b6f86;--accent:#0d9488;--accent-hover:#14b8a6;--accent-strong:#0f766e;--accent-glow:rgba(13,148,136,0.3);--success:#059669;--warning:#d97706;--danger:#dc2626;--radius:10px;--shadow-sm:0 1px 3px rgba(12,26,46,0.07),0 1px 2px rgba(12,26,46,0.04);--shadow-md:0 6px 18px rgba(12,26,46,0.09),0 2px 6px rgba(12,26,46,0.04);--shadow-lg:0 14px 36px rgba(12,26,46,0.11);--body-bg-image:radial-gradient(920px circle at 10% -6%,rgba(13,148,136,0.16),transparent 54%),radial-gradient(680px circle at 100% 0%,rgba(6,182,212,0.12),transparent 46%),radial-gradient(560px circle at 82% 100%,rgba(251,191,36,0.07),transparent 52%),linear-gradient(180deg,#f5fafd,#edf3f9);--backdrop:rgba(15,23,42,0.35)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans),"Inter",system-ui,-apple-system,sans-serif;background-color:var(--bg);background-image:var(--body-bg-image);background-size:auto,auto,26px 26px;background-attachment:fixed;color:var(--text);line-height:1.45;font-size:.9375rem;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.02em;font-weight:800}h1{letter-spacing:-.03em;font-size:1.375rem}h2{font-size:1.125rem}h3{font-size:.9375rem}.main-body>h2{margin-bottom:.2rem}.main-body>h2+p{color:var(--muted);font-size:.875rem;line-height:1.45;margin-bottom:.75rem;max-width:40rem}a:not(.btn){color:var(--accent);text-decoration:none;transition:color .15s ease}a:not(.btn):hover{color:var(--accent-hover)}.accent{color:var(--accent)}.amount,.mono,code,td.amount{font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace}.shell{display:flex;height:100dvh;max-height:100dvh;overflow:hidden}.sidebar{width:208px;flex-shrink:0;background:linear-gradient(180deg,var(--bg-elev),var(--bg));border-right:1px solid var(--border);padding:1rem .75rem;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.brand img{width:24px;height:24px;object-fit:contain;filter:var(--logo-filter)}.brand h1,.brand strong,.brand-name{font-size:.92rem;font-weight:800;letter-spacing:-.01em;color:var(--text);-webkit-text-fill-color:currentColor;background:none}.brand .accent{color:var(--accent)}.sidebar-subtitle{color:var(--muted);font-size:.72rem;margin-bottom:.85rem;padding-left:.1rem}.sidebar nav{flex:1 1}.sidebar nav a{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border-radius:6px;color:var(--muted);margin-bottom:.1rem;font-size:.8125rem;font-weight:500;line-height:1.35;border:1px solid transparent;transition:all .15s ease}.sidebar nav a:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border)}.sidebar nav a.active,.sidebar nav a[aria-current=page]{color:var(--accent);background:var(--accent-muted);border-color:var(--accent-border-strong)}.sidebar-signout{margin-top:.75rem;background:none;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;font-size:.78rem;padding:.4rem .6rem;width:100%;transition:all .15s ease}.sidebar-signout:hover{color:var(--text);border-color:var(--accent-border-strong);background:var(--surface-hover)}.main{flex:1 1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.main-header{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem 1rem 0;flex-shrink:0;position:relative;z-index:50;isolation:isolate;background:var(--surface);border-bottom:1px solid var(--border)}.main-body{flex:1 1;min-height:0;overflow-y:auto;padding:.5rem 1rem 1rem}.mobile-menu-toggle{display:none;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:.78rem;font-weight:600;min-height:2rem;padding:.35rem .65rem;margin-right:auto}.sidebar-backdrop{display:none}.profile-chip{gap:.5rem;padding:.25rem .65rem .25rem .25rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);max-width:min(100%,280px)}.profile-avatar,.profile-chip{display:inline-flex;align-items:center}.profile-avatar{justify-content:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--accent-subtle);border:1px solid var(--accent-border-strong);color:var(--accent);font-size:.65rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.profile-email{color:var(--text);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu{position:relative;z-index:1}button.profile-chip{cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,background .15s ease}button.profile-chip:hover,button.profile-chip[aria-expanded=true]{border-color:var(--accent-border-strong);background:var(--surface-hover)}.profile-dropdown{position:absolute;top:calc(100% + .4rem);right:0;z-index:100;min-width:12.5rem;padding:.35rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 10px 30px rgba(0,0,0,.35)}.profile-dropdown-email{margin:0;padding:.45rem .55rem;color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dropdown-action{display:block;width:100%;margin:0;padding:.5rem .55rem;border:none;border-radius:6px;background:none;color:var(--text);font:inherit;font-size:.82rem;text-align:left;cursor:pointer}.profile-dropdown-action:hover{background:var(--surface-hover);color:var(--danger,#f87171)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.75rem}.announcements-panel{margin-bottom:0}.announcements-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.75rem}.announcements-title{display:flex;align-items:center;gap:.5rem}.announcements-title h3{margin:0;font-size:1rem}.announcements-icon{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:8px;background:var(--accent-muted);border:1px solid var(--accent-border);color:var(--accent)}.announcements-icon svg{width:1rem;height:1rem}.announcements-empty{margin:0}.announcements-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}.announcement-item{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg,var(--surface))}.announcement-date-day{font-size:.8125rem;font-weight:700;color:var(--accent);white-space:nowrap}.announcement-body{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;min-width:0}.announcement-body strong{font-size:.875rem}.stat-label{color:var(--muted);font-size:.8125rem;margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:600}.stat-value-sm{font-size:1.0625rem;font-weight:600}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:999px;background:var(--accent-muted);border:1px solid var(--accent-border);color:var(--accent);font-size:.8rem;font-weight:600}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.875rem;margin-bottom:.75rem}.card:hover{border-color:var(--accent-border)}.btn{background:var(--accent);color:var(--btn-fg);border:none;padding:.6rem 1.15rem;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:700;box-shadow:0 8px 24px -8px var(--accent-glow);transition:transform .12s ease,box-shadow .15s ease,background .15s ease}.btn:not(.btn-secondary):not(.btn-outline):not(.btn-muted):not(.btn-danger):hover:not(:disabled){background:var(--btn-bg-hover,var(--accent-strong));color:var(--btn-fg);-webkit-text-fill-color:var(--btn-fg);box-shadow:0 12px 30px -8px var(--accent-glow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent);transform:none;box-shadow:none}.day-chip{min-width:2.75rem;padding:.35rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.day-chip:hover{border-color:var(--accent);color:var(--text)}.day-chip[aria-pressed=true]{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent-border)}.btn-inline{width:auto}.btn-sm{padding:.45rem .85rem;font-size:.875rem;box-shadow:0 4px 14px -6px var(--accent-glow)}.page-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.page-intro{color:var(--muted);margin-bottom:.75rem;max-width:40rem;line-height:1.45;font-size:.875rem}.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.15rem;border-radius:10px;cursor:pointer;font:inherit;font-size:.9rem;font-weight:700;background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease}.btn-outline:hover{background:var(--accent-muted);border-color:var(--accent);color:var(--accent);transform:none}.btn.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border);box-shadow:none}.btn.btn-outline:hover{background:var(--accent-muted);border-color:var(--accent);color:var(--accent);transform:none;box-shadow:none}.btn-danger{color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover{background:var(--danger-muted);border-color:var(--danger);color:var(--danger)}.row-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.row-actions .btn-outline{padding:.32rem .6rem;font-size:.78rem}.modal-backdrop{position:fixed;inset:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal-card{width:min(100%,420px);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem;box-shadow:0 20px 40px rgba(0,0,0,.35)}input,select,textarea{background:var(--input-bg);border:1px solid var(--border);color:var(--text);padding:.55rem .8rem;border-radius:8px;width:100%;margin-bottom:.75rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-focus)}.date-field{margin-bottom:.75rem}.date-field label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.85rem}.date-field .date-input{margin-bottom:0;cursor:pointer;min-height:2.75rem}[data-theme=dark] .date-field .date-input{color-scheme:dark}[data-theme=light] .date-field .date-input{color-scheme:light}.date-field .date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1}[data-theme=dark] .date-field .date-input::-webkit-calendar-picker-indicator{filter:invert(.82) sepia(.2) saturate(4) hue-rotate(145deg)}.date-range-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.date-range-row .date-field{flex:1 1 180px;margin-bottom:0}.list-filters{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:flex-end;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.list-filters-search{flex:1 1 220px;min-width:200px}.list-filters-search input{width:100%;margin-bottom:0}.list-filters-fields{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.list-filter-field{display:flex;flex-direction:column;gap:.35rem}.list-filter-label{font-size:.75rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.list-filter-field select{width:auto;min-width:140px;margin-bottom:0}.list-filters-meta{flex:1 1 100%;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}.list-filters-clear{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;padding:0}.list-filters-clear:hover{color:var(--accent-hover)}.password-field{position:relative;margin-bottom:.75rem}.password-field input{margin-bottom:0;padding-right:3.25rem}.password-toggle{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:600;padding:.25rem}.password-toggle:hover{color:var(--accent)}table{width:100%;border-collapse:collapse;margin-top:.5rem}td,th{text-align:left;padding:.35rem .625rem;border-bottom:1px solid var(--border);font-size:.8125rem;line-height:1.35;vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:var(--surface-hover)}.payroll-items-scroll{max-height:min(14rem,32vh);overflow:auto;margin-top:.5rem;border:1px solid var(--border);border-radius:8px;overscroll-behavior:contain}.payroll-items-scroll table{margin-top:0;width:100%}.payroll-items-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface);box-shadow:0 1px 0 var(--border)}.payroll-layout{display:flex;flex-direction:column;gap:1rem;flex:1 1;min-height:0}.main-body:has(.payroll-layout){display:flex;flex-direction:column;overflow:hidden}.payroll-layout-header{flex-shrink:0}.payroll-cycles-scroll{flex:1 1;min-height:12rem;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:1rem;padding-right:.15rem;padding-bottom:.25rem}.table-scroll{max-height:min(24rem,calc(100dvh - 14rem));overflow:auto;margin-top:.35rem;border:1px solid var(--border);border-radius:8px}.table-scroll table{width:100%;min-width:0;margin-top:0}.table-scroll--fit table{width:auto;min-width:min(100%,max-content)}.table-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface);box-shadow:0 1px 0 var(--border)}.table-scroll td,.table-scroll th{white-space:nowrap}.table-scroll td:first-child,.table-scroll th:first-child{width:16%}.table-scroll .col-email{white-space:normal;word-break:break-word;min-width:10rem}.table-scroll td:last-child,.table-scroll th:last-child{width:1%}.table-scroll .row-actions{gap:.35rem}.wordmark-title{font-weight:800;letter-spacing:-.02em}.container{width:100%}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.65rem 1rem;margin-bottom:.75rem}.page-header h1,.page-header h2{margin-bottom:0}.form-grid{display:grid;grid-gap:.65rem 1rem;gap:.65rem 1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-span-2{grid-column:1/-1}.form-group{display:flex;flex-direction:column;gap:.3rem;min-width:0}.form-group label{color:var(--muted);font-size:.8125rem;font-weight:600}.form-grid .date-field,.form-group input,.form-group select,.form-group textarea,.form-section-body .date-field{margin-bottom:0}.form-section{border-top:1px solid var(--border);margin-top:.65rem;padding-top:.15rem}.form-section summary{cursor:pointer;font-size:.9375rem;font-weight:700;padding:.45rem 0;list-style:none;display:flex;align-items:center;gap:.45rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-section summary::-webkit-details-marker{display:none}.form-section summary:before{content:"▸";color:var(--muted);font-size:.75rem;transition:transform .15s ease}.form-section[open] summary:before{transform:rotate(90deg)}.form-section[open] summary{color:var(--accent)}.form-section-body{padding:.35rem 0 .15rem}.form-note{font-size:.8125rem;color:var(--muted);line-height:1.45}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.onboard-layout{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(0,1fr) minmax(220px,260px);align-items:start}.onboard-aside{position:-webkit-sticky;position:sticky;top:.5rem}.onboard-aside h3{margin-bottom:.35rem}.onboard-summary{display:grid;grid-gap:.35rem;gap:.35rem;margin:.75rem 0;font-size:.8125rem}.onboard-summary dt{color:var(--muted);font-weight:600}.onboard-summary dd{margin:0 0 .35rem;text-transform:capitalize}.card-banner{margin-bottom:.75rem}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem}.login-card-wrap{width:100%;max-width:400px;margin:0 auto}.login-form{display:flex;flex-direction:column;align-items:stretch;width:100%}.login-form .fg-password-field,.login-form input{width:100%;box-sizing:border-box}.login-form .fg-password-field{margin-bottom:.75rem}.login-form .btn{width:100%}@media (max-width:900px){.onboard-layout{grid-template-columns:1fr}.onboard-aside{position:static}.dashboard-grid,.form-grid-2{grid-template-columns:1fr}.main-header{padding:.65rem .85rem 0}.main-body{padding:.5rem .75rem .875rem}.card{padding:.75rem}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:768px){.shell{flex-direction:column}.mobile-menu-toggle{display:inline-flex}.sidebar-backdrop{display:block;position:fixed;inset:0;background:var(--backdrop);z-index:150}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;width:min(78vw,240px);transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 40px rgba(0,0,0,.35)}.sidebar.sidebar-open{transform:translateX(0)}.profile-email{max-width:42vw}}