:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#fff;--color-surface:#fff;--color-surface-soft:#faf8f2;--color-surface-sunken:#f6f4ed;--color-ink:#1d1e1c;--color-ink-soft:#6e6a5f;--color-muted:#756f5f;--color-border:#e4e0d3;--color-border-soft:#eeeae0;--color-border-faint:#f2efe6;--color-border-strong:#8a8270;--color-accent:#1d1e1c;--color-accent-strong:#33342f;--color-accent-soft:#f6f4ed;--color-brand:#e32529;--color-brand-hover:#c2211f;--color-side:#1d1e1c;--color-side-hover:#2a2b27;--color-side-active:#33342f;--color-side-muted:#9c9c9c;--color-focus:#534ab7;--color-success:#155c3b;--color-success-soft:#e2f0ea;--color-warning:#7a4a06;--color-warning-soft:#fbf4e4;--color-danger:#c2211f;--color-danger-soft:#fbe9e5;--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-2xs:.8125rem;--text-xs:.875rem;--text-sm:.9375rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:clamp(1.875rem, 3vw, 2.375rem);--leading-tight:1.2;--leading-snug:1.35;--leading-body:1.45;--leading-normal:1.55;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-pill:999px;--shadow-sm:0 1px 2px #1d1e1c0d;--shadow-md:0 2px 8px #1d1e1c1a;--shadow-lg:0 12px 32px #1d1e1c29;--shadow-card:0 1px 3px #1d1e1c0f;--duration-fast:.12s;--duration-base:.18s;--ease-out:cubic-bezier(.2, 0, 0, 1);--layer-sunken:-1;--layer-nav:50;--layer-panel:60;--layer-sticky:80;--layer-skip:100;--tap-min:44px;--rail-width:236px;--mobile-nav-height:70px;--color-blue:var(--color-accent);--color-blue-dark:var(--color-accent-strong);--color-teal:var(--color-focus);--color-teal-ink:var(--color-success);--color-error:var(--color-danger)}*{box-sizing:border-box}html,body{min-width:0;min-height:100%;color:var(--color-ink);background:var(--color-background);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a,button{-webkit-tap-highlight-color:transparent}time{font-variant-numeric:tabular-nums}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}a,button,summary,[role=button]{transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}a:active,button:not(:disabled):active,summary:active{filter:brightness(.96)}.skip-link{z-index:var(--layer-skip);top:var(--space-3);left:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-surface);background:var(--color-accent-strong);font-weight:var(--weight-semibold);position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:none}.app-shell{min-height:100svh}.desktop-rail{width:var(--rail-width);padding:var(--space-4) var(--space-3);color:#fff;background:var(--color-side);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand,.mobile-brand{min-height:var(--tap-min);align-items:center;gap:var(--space-3);color:var(--color-ink);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em;text-decoration:none;display:inline-flex}.brand-mark{width:32px;height:32px;color:var(--color-brand);flex:none}.nav-list{margin:var(--space-5) 0 0;gap:2px;padding:0;list-style:none;display:grid}.nav-link{min-height:var(--tap-min);align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-ink-soft);font-weight:var(--weight-semibold);text-decoration:none;display:flex}.nav-link:hover{color:var(--color-accent);background:var(--color-accent-soft)}.nav-link svg,.rail-logout svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.nav-link[aria-current=page]{color:var(--color-accent-strong);background:var(--color-accent-soft);font-weight:var(--weight-bold);box-shadow:inset 3px 0 0 var(--color-accent)}.rail-session{margin-top:auto}.shell-identity{min-width:0;color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-snug);overflow-wrap:anywhere}.rail-logout button,.mobile-logout button{min-height:var(--tap-min);border-radius:var(--radius-md);color:var(--color-muted);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0}.rail-logout button:hover,.mobile-logout button:hover{color:var(--color-danger);background:var(--color-danger-soft)}.rail-logout button{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);display:flex}.desktop-rail .brand{padding:var(--space-2) var(--space-2) var(--space-4);color:#fff}.desktop-rail .nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:#ffffffe6;font-weight:var(--weight-medium)}.desktop-rail .nav-link svg{color:var(--color-side-muted)}.desktop-rail .nav-link:hover{color:#fff;background:var(--color-side-hover)}.desktop-rail .nav-link:hover svg{color:#fff}.desktop-rail .nav-link[aria-current=page]{color:#fff;background:var(--color-side-active);font-weight:var(--weight-semibold);box-shadow:inset 3px 0 0 var(--color-brand)}.desktop-rail .nav-link[aria-current=page] svg{color:var(--color-brand)}.desktop-rail .rail-logout button{color:var(--color-side-muted)}.desktop-rail .rail-logout button:hover{color:#fff;background:var(--color-side-hover)}.desktop-rail a:focus-visible,.desktop-rail button:focus-visible{outline-color:#fff}.app-column{min-width:0;margin-left:var(--rail-width)}.context-bar{align-items:center;gap:var(--space-4);min-height:68px;padding:var(--space-3) clamp(var(--space-4), 4vw, 54px);border-bottom:1px solid var(--color-border);background:var(--color-background);display:flex}.mobile-brand,.mobile-logout{display:none}.context-copy{gap:2px;min-width:0;display:grid}.context-copy strong,.context-copy span{overflow-wrap:anywhere}.context-copy span{color:var(--color-muted);font-size:var(--text-xs)}.role-pill{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink-soft);background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;margin-left:auto}#main-content{width:min(100%,1220px);padding:clamp(var(--space-5), 4vw, 54px);margin:0 auto}@media (min-width:1440px){#main-content{width:min(100%,1600px)}}.page-heading{margin-bottom:var(--space-6)}.page-heading h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.02em;margin:0}.page-heading p{max-width:70ch;margin:var(--space-2) 0 0;color:var(--color-muted);line-height:var(--leading-normal)}.page-heading a{min-height:var(--tap-min);margin-top:var(--space-2);color:var(--color-accent);font-weight:var(--weight-semibold);align-items:center;display:inline-flex}.page-heading a:hover{color:var(--color-accent-strong)}.selected-date{font-weight:var(--weight-bold);color:var(--color-accent-strong)!important}.date-strip{grid-template-columns:var(--tap-min) minmax(0, 1fr) var(--tap-min);align-items:center;gap:var(--space-2);max-width:100%;margin-bottom:var(--space-6);display:grid}.date-strip ol{grid-template-columns:repeat(7, minmax(var(--tap-min), 1fr));gap:var(--space-1);min-width:0;max-width:100%;padding:0 0 var(--space-1);overscroll-behavior-inline:contain;scrollbar-width:thin;margin:0;list-style:none;display:grid;overflow-x:auto}.date-strip li,.date-strip a{min-width:0}.date-strip li a,.week-arrow{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:58px;color:var(--color-ink-soft);background:var(--color-surface);justify-content:center;align-items:center;text-decoration:none;display:flex}.date-strip li a:hover,.week-arrow:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}.date-strip li a{min-width:var(--tap-min);gap:var(--space-1);padding:var(--space-2) var(--space-1);flex-direction:column}.date-strip li a span{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}.date-strip li a strong{color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.date-strip li a small{color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--weight-bold)}.date-strip li a[data-today=true]:not([aria-current=date]){border-color:var(--color-border-strong);background:var(--color-surface-soft)}.date-strip li a[aria-current=date]{border-color:var(--color-accent);color:var(--color-accent-strong);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.status-band,.content-card,.summary-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card)}.status-band{gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-shadow:none;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(170px,1.5fr);display:grid}.status-band dl{display:contents}.status-band div{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.status-band dt{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.05em;text-transform:uppercase}.status-band dd{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;margin:0}.status-note{color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-snug);align-self:center;margin:0}.day-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);display:grid}.day-grid>:last-child{align-self:start}.content-card,.summary-card{border-radius:var(--radius-lg);min-width:0;padding:clamp(var(--space-4), 3vw, var(--space-6))}.content-card h2,.summary-card h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.015em;margin:0}.empty-state{place-content:center;justify-items:center;gap:var(--space-3);min-height:160px;padding:var(--space-6);color:var(--color-muted);text-align:center;display:grid}.empty-state>span{color:var(--color-border-strong);font-size:var(--text-2xl);letter-spacing:.2em}.empty-state p{max-width:46ch;line-height:var(--leading-normal);margin:0}.empty-state a,.empty-state button{min-height:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-surface);background:var(--color-accent);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;align-items:center;text-decoration:none;display:inline-flex}.empty-state a:hover,.empty-state button:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.route-state{justify-items:start;gap:var(--space-3);max-width:60ch;padding:var(--space-8) 0;display:grid}.route-state h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.02em;margin:0}.route-state p{color:var(--color-muted);line-height:var(--leading-normal);margin:0}.route-state[data-tone=error] h1{color:var(--color-danger)}.route-state a,.route-state button{min-height:var(--tap-min);padding:0 var(--space-5);border:1px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-surface);background:var(--color-accent);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;align-items:center;text-decoration:none;display:inline-flex}.route-state a:hover,.route-state button:hover{border-color:var(--color-accent-strong);background:var(--color-accent-strong)}.summary-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.summary-card p{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-sm)}.summary-card strong{margin-top:var(--space-2);color:var(--color-ink);font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:block}.department-list{flex-wrap:wrap;gap:9px;margin:20px 0 0;padding:0;list-style:none;display:flex}.department-list li{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-ink-soft);background:var(--color-surface-sunken);font-size:var(--text-xs);font-weight:var(--weight-medium);overflow-wrap:anywhere}.mobile-navigation{display:none}@media (max-width:760px){.desktop-rail{display:none}.app-column{margin-left:0}.context-bar{gap:var(--space-2);min-height:60px;padding:var(--space-2) var(--space-3)}.mobile-brand,.mobile-logout{display:flex}.mobile-brand span,.context-copy{display:none}.role-pill{margin-left:var(--space-1);padding:var(--space-1) var(--space-2);font-family:inherit;font-size:var(--text-xs);letter-spacing:normal;text-transform:none}.context-bar [data-notification-bell]{margin-left:auto}.mobile-logout{margin-left:0}.shell-identity{width:auto;max-width:10ch;color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.identity-department{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-logout button{padding:var(--space-1) var(--space-2);white-space:nowrap}#main-content{padding:var(--space-5) var(--space-3) calc(var(--mobile-nav-height) + var(--space-10) + env(safe-area-inset-bottom))}.date-strip{grid-template-columns:var(--tap-min) minmax(0, 1fr) var(--tap-min);gap:var(--space-1)}.date-strip li a,.week-arrow{border-radius:var(--radius-sm);min-height:56px}.date-strip li a span{font-size:var(--text-xs)}.status-band,.day-grid,.summary-grid{grid-template-columns:1fr}.status-band{gap:var(--space-3)}.status-band dl{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mobile-navigation{z-index:var(--layer-nav);border-top:1px solid var(--color-border);padding:var(--space-1) var(--space-2) max(var(--space-1), env(safe-area-inset-bottom));background:color-mix(in srgb, var(--color-surface) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:block;position:fixed;inset:auto 0 0}.nav-list--mobile{gap:var(--space-1);grid-template-columns:repeat(2,minmax(0,1fr));max-width:430px;margin:0 auto}.nav-list--mobile:has(li:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.nav-list--mobile:has(li:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));max-width:100%}.nav-list--mobile .nav-link{justify-content:center;gap:var(--space-1);min-height:56px;padding:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-medium);flex-direction:column}.nav-list--mobile .nav-link[aria-current=page]{box-shadow:inset 0 3px 0 var(--color-brand)}.nav-list--mobile:has(li:only-child){grid-template-columns:minmax(0,210px);justify-content:center}}@media (max-width:480px){.shell-identity{display:none}}@media (max-width:360px){#main-content{padding-inline:var(--space-2)}.page-heading h1{font-size:var(--text-2xl)}}@media (min-width:761px) and (max-width:1024px){.day-grid{grid-template-columns:minmax(0,1fr)}.summary-grid,.status-band{grid-template-columns:repeat(2,minmax(0,1fr))}#main-content{padding:var(--space-6) var(--space-5)}}@media (max-width:1023px){input,select,textarea{font-size:16px}}[aria-busy=true]{cursor:progress;position:relative}[aria-busy=true]:after{content:"";inset-inline:0;border-radius:var(--radius-pill);background:linear-gradient(90deg, transparent, var(--color-accent), transparent);height:3px;animation:taskBusySweep 1.1s var(--ease-out) infinite;background-repeat:no-repeat;background-size:40% 100%;position:absolute;bottom:0}@keyframes taskBusySweep{0%{background-position:-40% 0}to{background-position:140% 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[aria-busy=true]:after{background:var(--color-accent);background-size:100% 100%;animation:none}a:active,button:not(:disabled):active,summary:active{filter:none}}
