@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_a11773{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_a11773{--font-sans:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}:root{--app-nav-inline-padding:32px;--app-page-max-width:1100px;--toolbar-control-height:34px;--slate-50:rgb(248 250 252);--slate-100:rgb(241 245 249);--slate-200:rgb(226 232 240);--slate-300:rgb(203 213 225);--slate-400:rgb(148 163 184);--slate-500:rgb(100 116 139);--slate-600:rgb(71 85 105);--slate-700:rgb(51 65 85);--slate-800:rgb(30 41 59);--slate-900:rgb(15 23 42);--slate-950:rgb(2 6 23);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--text-sm:13px;--leading-normal:1.4;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-snappy:cubic-bezier(0.16,1,0.3,1)}@media (pointer:coarse){:root{--toolbar-control-height:44px}}:root{--brand:rgb(43 127 255);--brand-hover:rgb(26 106 235);--brand-bg-subtle:rgb(43 127 255/0.14);--brand-gradient-end:rgb(29 111 230);--success:rgb(5 150 105);--warning:rgb(217 119 6);--danger:rgb(220 38 38);--surface-page:rgb(240 244 248);--surface-header:rgb(255 255 255);--surface-card:rgb(255 255 255);--surface-muted:rgb(248 250 252);--surface-raised:rgb(255 255 255);--text-primary:var(--slate-900);--text-secondary:var(--slate-700);--text-muted:var(--slate-500);--text-inverse:rgb(255 255 255);--page-subtitle-foreground:rgb(90 105 128);--border-subtle:rgb(232 237 244);--border-default:var(--slate-200);--border-strong:rgb(184 197 214);--border-control:var(--slate-400);--control-bg:var(--surface-card);--control-bg-hover:var(--surface-muted);--control-bg-active:rgb(232 240 249);--control-border:var(--border-control);--control-text:var(--text-primary);--control-placeholder:var(--slate-400);--control-active-foreground:rgb(255 255 255);--scrim:rgb(15 23 42/0.42);--shadow-rgb:43 127 255;--shadow-sm:0 1px 2px 0 rgb(var(--shadow-rgb)/0.07);--shadow-md:0 4px 8px -1px rgb(var(--shadow-rgb)/0.12),0 2px 4px -2px rgb(var(--shadow-rgb)/0.07);--shadow-lg:0 10px 20px -3px rgb(var(--shadow-rgb)/0.14),0 4px 8px -4px rgb(var(--shadow-rgb)/0.08);--shadow-inset-border:inset 0 0 0 1px rgb(var(--shadow-rgb)/0.07);--calendar-panel-bg:var(--surface-muted);--calendar-panel-border:var(--border-control);--calendar-panel-shadow:0 6px 20px rgb(15 23 42/0.09),0 2px 6px rgb(15 23 42/0.05);--calendar-panel-shadow-sm:0 2px 8px rgb(15 23 42/0.07),0 1px 2px rgb(15 23 42/0.05);--calendar-ui-heading:var(--text-primary);--calendar-ui-label:var(--text-secondary);--calendar-weekday-color:var(--slate-800);--calendar-ui-day-number:var(--text-primary);--calendar-ui-day-number-faded:var(--text-muted);--calendar-day-header-border:var(--border-strong);--calendar-day-bg:var(--border-default);--calendar-day-bg-muted:rgb(212 221 232);--calendar-day-border:var(--slate-500);--calendar-day-today-bg:rgb(224 237 251);--calendar-shift-filled-bg:var(--surface-card);--calendar-shift-filled-border:rgb(100 116 139/0.38);--calendar-shift-filled-title:var(--slate-800);--calendar-shift-unassigned-bg:rgb(255 228 230);--calendar-shift-unassigned-border:rgb(225 29 72/0.38);--calendar-shift-unassigned-title:rgb(190 18 60);--calendar-shift-meta-filled:var(--slate-600);--calendar-shift-meta-unassigned:rgb(159 18 57);--calendar-shift-shadow:0 2px 8px rgb(15 23 42/0.12),0 1px 2px rgb(15 23 42/0.06);--calendar-double-booked-bg:var(--tone-warning-bg);--calendar-double-booked-border:color-mix(in srgb,var(--tone-warning-dot) 70%,transparent);--calendar-double-booked-accent:var(--tone-warning-dot);--calendar-double-booked-title:var(--tone-warning-fg);--calendar-double-booked-meta:var(--tone-warning-fg);--calendar-double-booked-glow:0 0 0 1px color-mix(in srgb,var(--tone-warning-dot) 35%,transparent),0 2px 10px color-mix(in srgb,var(--tone-warning-dot) 18%,transparent);--calendar-coverage-gap:rgb(194 65 12);--calendar-highlight-user:rgb(124 58 237);--calendar-highlight-facility:rgb(13 148 136);--calendar-highlight-shift:rgb(3 105 161);--table-section-header-bg:rgb(216 229 244);--table-column-header-bg:rgb(229 237 246);--table-footer-bg:rgb(219 229 241);--table-row-hover-bg:rgb(238 243 248);--tone-info-bg:rgb(232 240 249);--tone-info-fg:rgb(3 105 161);--tone-info-border:rgb(186 216 245);--tone-info-dot:rgb(43 127 255);--tone-success-bg:rgb(240 253 244);--tone-success-fg:rgb(21 128 61);--tone-success-border:rgb(187 247 208);--tone-success-dot:var(--success);--tone-warning-bg:rgb(254 243 199);--tone-warning-fg:rgb(180 83 9);--tone-warning-border:rgb(253 230 138);--tone-warning-dot:var(--warning);--tone-danger-bg:rgb(254 226 226);--tone-danger-fg:rgb(185 28 28);--tone-danger-border:rgb(254 202 202);--tone-danger-dot:var(--danger);--tone-purple-bg:rgb(240 236 249);--tone-purple-fg:rgb(124 58 237);--tone-orange-bg:rgb(254 245 232);--tone-orange-fg:var(--tone-warning-fg);--status-create-bg:var(--tone-success-bg);--status-create-fg:var(--tone-success-fg);--status-update-bg:var(--tone-info-bg);--status-update-fg:rgb(29 78 216);--status-delete-bg:var(--tone-danger-bg);--status-delete-fg:var(--tone-danger-fg);--status-login-bg:var(--tone-success-bg);--status-login-fg:rgb(22 101 52);--status-logout-bg:var(--slate-100);--status-logout-fg:var(--slate-600);--shadow-card:var(--shadow-inset-border),0 1px 3px 0 rgb(var(--shadow-rgb)/0.08),0 2px 8px -2px rgb(var(--shadow-rgb)/0.06);--shadow-stat-card:var(--shadow-inset-border),0 1px 3px 0 rgb(var(--shadow-rgb)/0.08);--lp-border:var(--border-default);--lp-border-inner:var(--slate-100);--lp-accent:rgb(8 145 178);--lp-hero-gradient-from:color-mix(in srgb,var(--surface-page) 92%,rgb(255 255 255));--lp-card-shadow:0 20px 60px rgb(var(--shadow-rgb)/0.13),0 4px 16px rgb(0 0 0/0.07);--lp-card-shadow-sm:0 10px 36px rgb(var(--shadow-rgb)/0.1),0 2px 8px rgb(0 0 0/0.05);--lp-strip-divider:color-mix(in srgb,var(--text-primary) 12%,transparent);--lp-feature-card-border:var(--border-subtle);--lp-feature-card-shadow:0 1px 4px rgb(0 0 0/0.05);--lp-day-bg:rgb(239 246 255);--lp-day-fg:rgb(29 78 216);--lp-day-dot:rgb(59 130 246);--lp-eve-bg:var(--tone-success-bg);--lp-eve-fg:var(--tone-success-fg);--lp-eve-dot:var(--tone-success-dot);--lp-night-bg:rgb(254 252 232);--lp-night-fg:rgb(161 98 7);--lp-night-dot:rgb(234 179 8);--lp-unassigned-bg:var(--tone-danger-bg);--lp-unassigned-fg:rgb(190 18 60);--lp-unassigned-dot:rgb(244 63 94);--lp-icon-purple-bg:rgb(253 244 255);--lp-icon-purple-fg:var(--tone-purple-fg);--lp-icon-orange-bg:rgb(255 247 237);--lp-icon-orange-fg:rgb(194 65 12);--lp-icon-teal-bg:var(--tone-success-bg);--lp-icon-teal-fg:rgb(4 120 87);--lp-import-src-active-bg:rgb(239 246 255);--lp-import-src-active-border:var(--brand);--lp-import-src-active-text:var(--brand-hover);--lp-import-row-bg:var(--surface-muted)}[data-theme=dark]{--brand:rgb(74 144 217);--brand-hover:rgb(90 157 226);--brand-bg-subtle:rgb(74 144 217/0.15);--brand-gradient-end:rgb(37 99 235);--success:rgb(34 197 94);--warning:rgb(251 146 60);--danger:rgb(248 113 113);--surface-page:rgb(15 23 36);--surface-header:rgb(23 34 51);--surface-card:rgb(29 41 56);--surface-muted:rgb(17 24 39);--surface-raised:rgb(36 50 71);--text-primary:var(--slate-50);--text-secondary:var(--slate-200);--text-muted:var(--slate-400);--text-inverse:rgb(255 255 255);--page-subtitle-foreground:var(--slate-400);--border-subtle:rgb(255 255 255/0.06);--border-default:rgb(255 255 255/0.1);--border-strong:rgb(255 255 255/0.16);--border-control:rgb(255 255 255/0.22);--control-bg:var(--surface-card);--control-bg-hover:var(--surface-raised);--control-bg-active:rgb(41 59 83);--control-border:var(--border-control);--control-text:var(--text-primary);--control-placeholder:rgb(127 141 161);--control-active-foreground:rgb(255 255 255);--scrim:rgb(2 6 23/0.62);--shadow-rgb:74 144 217;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.4);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.4),0 2px 4px -2px rgb(0 0 0/0.4);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.4),0 4px 6px -4px rgb(0 0 0/0.4);--shadow-inset-border:inset 0 0 0 1px rgb(255 255 255/0.07);--calendar-panel-bg:var(--surface-card);--calendar-panel-border:var(--border-default);--calendar-panel-shadow:var(--shadow-md);--calendar-panel-shadow-sm:var(--shadow-sm);--calendar-ui-label:var(--text-secondary);--calendar-weekday-color:var(--text-secondary);--calendar-ui-day-number:var(--text-primary);--calendar-ui-day-number-faded:var(--text-muted);--calendar-day-header-border:var(--border-default);--calendar-day-today-bg:rgb(74 144 217/0.16);--calendar-day-bg:var(--surface-card);--calendar-day-bg-muted:var(--surface-muted);--calendar-day-border:var(--border-default);--calendar-coverage-gap:rgb(252 165 165);--calendar-shift-filled-bg:var(--surface-card);--calendar-shift-filled-border:rgb(148 163 184/0.3);--calendar-shift-filled-title:var(--text-secondary);--calendar-shift-unassigned-bg:var(--tone-danger-bg);--calendar-shift-unassigned-border:rgb(248 113 113/0.35);--calendar-shift-unassigned-title:rgb(254 202 202);--calendar-shift-meta-filled:var(--text-muted);--calendar-shift-meta-unassigned:rgb(254 202 202);--calendar-shift-shadow:0 1px 2px rgb(0 0 0/0.2);--calendar-highlight-user:rgb(167 139 250);--calendar-highlight-facility:rgb(45 212 191);--calendar-highlight-shift:rgb(56 189 248);--table-section-header-bg:rgb(33 54 77);--table-column-header-bg:rgb(38 54 76);--table-footer-bg:rgb(38 54 76);--table-row-hover-bg:rgb(36 50 71);--tone-info-bg:rgb(56 189 248/0.14);--tone-info-fg:rgb(125 211 252);--tone-info-border:rgb(56 189 248/0.28);--tone-info-dot:rgb(56 189 248);--tone-success-bg:rgb(34 197 94/0.16);--tone-success-fg:rgb(134 239 172);--tone-success-border:rgb(34 197 94/0.26);--tone-warning-bg:rgb(251 146 60/0.16);--tone-warning-fg:rgb(253 186 116);--tone-warning-border:rgb(251 146 60/0.28);--tone-danger-bg:rgb(248 113 113/0.16);--tone-danger-fg:rgb(252 165 165);--tone-danger-border:rgb(248 113 113/0.28);--tone-purple-bg:rgb(167 139 250/0.16);--tone-purple-fg:rgb(196 181 253);--tone-orange-bg:var(--tone-warning-bg);--tone-orange-fg:var(--tone-warning-fg);--status-update-fg:rgb(147 197 253);--status-login-fg:rgb(187 247 208);--status-logout-bg:rgb(148 163 184/0.14);--status-logout-fg:rgb(203 213 225);--shadow-card:var(--shadow-inset-border),0 1px 3px 0 rgb(0 0 0/0.3),0 2px 8px -2px rgb(0 0 0/0.2);--shadow-stat-card:var(--shadow-inset-border),0 1px 3px 0 rgb(0 0 0/0.3);--lp-border:rgb(48 54 61);--lp-border-inner:rgb(33 38 45);--lp-accent:var(--brand);--lp-hero-gradient-from:color-mix(in srgb,var(--surface-page) 92%,rgb(255 255 255));--lp-card-shadow:0 20px 60px rgb(0 0 0/0.5),0 4px 16px rgb(0 0 0/0.3);--lp-card-shadow-sm:0 10px 36px rgb(0 0 0/0.4),0 2px 8px rgb(0 0 0/0.25);--lp-feature-card-border:var(--lp-border);--lp-feature-card-shadow:0 1px 4px rgb(0 0 0/0.3);--lp-day-bg:rgb(29 78 216/0.22);--lp-day-fg:rgb(121 192 255);--lp-day-dot:rgb(88 166 255);--lp-eve-bg:rgb(21 128 61/0.22);--lp-eve-fg:rgb(86 211 100);--lp-eve-dot:rgb(63 185 80);--lp-night-bg:rgb(161 98 7/0.22);--lp-night-fg:rgb(227 179 65);--lp-night-dot:rgb(210 153 34);--lp-unassigned-bg:rgb(190 18 60/0.32);--lp-unassigned-fg:rgb(253 164 175);--lp-unassigned-dot:rgb(251 113 133);--lp-icon-purple-bg:rgb(124 58 237/0.2);--lp-icon-purple-fg:rgb(210 168 255);--lp-icon-orange-bg:rgb(194 65 12/0.2);--lp-icon-orange-fg:rgb(255 166 87);--lp-icon-teal-bg:rgb(4 120 87/0.2);--lp-icon-teal-fg:rgb(86 211 100);--lp-import-src-active-bg:rgb(31 111 235/0.15);--lp-import-src-active-border:rgb(88 166 255);--lp-import-src-active-text:rgb(121 192 255);--lp-import-row-bg:rgb(13 17 23)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans),"Plus Jakarta Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI Variable",sans-serif;color:var(--text-secondary);background:var(--surface-page);line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;opacity:.022;mix-blend-mode:overlay}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.skip-link{position:absolute;left:-9999px;top:12px;z-index:9999;padding:8px 16px;background:var(--brand);color:var(--text-inverse);font-size:14px;font-weight:600;border-radius:var(--radius-md);text-decoration:none;white-space:nowrap}.skip-link:focus-visible{left:12px;outline:2px solid var(--text-inverse);outline-offset:2px}:focus{outline:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.btn:focus-visible{outline-offset:3px}.form-input:focus-visible,.form-select:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgb(var(--shadow-rgb)/.18)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.app-shell{min-height:100dvh;background:radial-gradient(circle at top left,color-mix(in srgb,var(--brand) 10%,transparent),transparent 32rem),var(--surface-page)}.page-main{width:100%;max-width:var(--app-page-max-width);margin:0 auto;padding:32px 24px}.action-row,.page-header--actions,.section-header,.toolbar,.toolbar-group{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.page-header--actions,.section-header{justify-content:space-between;margin-bottom:28px}.page-header--actions{flex-wrap:nowrap}.page-header--actions>.action-row{flex-shrink:0}.section-header{margin-bottom:12px;align-items:center}.section-header__title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.section-header__subtitle{margin:4px 0 0;font-size:13px;color:var(--text-secondary)}.action-row{align-items:center;gap:8px}.action-row--end{justify-content:flex-end}.toolbar{align-items:center;gap:8px}.toolbar-group{align-items:center;gap:6px}.page-header{margin-bottom:28px}.page-title{font-size:28px;font-weight:800;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.035em;line-height:1.1}.page-subtitle{font-size:14px;color:var(--page-subtitle-foreground)}.tone-blue{background:var(--tone-info-bg);color:var(--tone-info-fg)}.tone-purple{background:var(--tone-purple-bg);color:var(--tone-purple-fg)}.tone-orange{background:var(--tone-orange-bg);color:var(--tone-orange-fg)}.tone-green{background:var(--tone-success-bg);color:var(--tone-success-fg)}.flex{display:flex}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-0{padding:0}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-6{padding:24px}.p-8{padding:32px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.mb-1{margin-bottom:4px}.mb-0{margin-bottom:0}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mr-2{margin-right:8px}.text-sm{font-size:14px}.text-2xl{font-size:24px}.text-3xl{font-size:30px}.text-4xl{font-size:36px}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted{color:var(--text-muted)}.text-primary{color:var(--brand)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-enter{animation:fadeUp .25s var(--ease-out) both}.stagger-1{animation-delay:0s}.stagger-2{animation-delay:55ms}.stagger-3{animation-delay:.11s}.stagger-4{animation-delay:165ms}.stagger-5{animation-delay:.22s}.stagger-6{animation-delay:275ms}@media (max-width:760px){.col-hide-md{display:none}}@media (max-width:768px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.hide-mobile{display:none}}@media (max-width:480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media (max-width:520px){.col-hide-xxs{display:none}}.card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}.panel-card{padding:0;overflow:hidden}.panel-card--spaced{margin-bottom:20px}.panel-card--section-gap{margin-top:20px}.panel-card__header{background:var(--brand-bg-subtle);padding:16px 20px;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:nowrap}.panel-card__header>.action-row{flex-shrink:0}.panel-card__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.panel-card__body{padding:20px}.panel-card.panel-card--flex-fill .panel-card__body.p-0,.panel-card__body.p-0{padding:0}.panel-empty-state{padding:24px 20px}.panel-card__title{margin:0;font-size:16px;font-weight:700;color:var(--text-primary)}.panel-card__subtitle{margin:4px 0 0;font-size:13px;color:var(--text-secondary);line-height:1.5}.list-stack{gap:12px}.detail-list,.list-stack{display:flex;flex-direction:column}.detail-list__item{padding:18px 20px;border-bottom:1px solid var(--border-subtle);transition:opacity .15s}.detail-list__item:last-child{border-bottom:0}.detail-list__item--dimmed{opacity:.75}.detail-list__item--busy{opacity:.6}.detail-list__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.detail-list__header>.badge{flex-shrink:0}.detail-list__title{margin-bottom:2px;color:var(--text-primary);font-size:15px;font-weight:700}.detail-list__meta{color:var(--control-placeholder);font-size:12px}.detail-list__actions{margin-top:12px}.detail-list__message{color:var(--text-muted);font-size:12px;font-style:italic}.info-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-subtle)}.info-row__body{flex:1 1;min-width:0}.info-row__title{font-size:14px;font-weight:600;color:var(--text-primary)}.info-row__meta{font-size:12px;color:var(--text-muted)}.feature-grid{display:flex;flex-wrap:wrap;gap:16px}.feature-card{flex:1 1 200px;display:flex;flex-direction:column;padding:22px}.feature-card__icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;border-radius:10px;background:var(--feature-icon-bg,var(--tone-info-bg));color:var(--feature-icon-fg,var(--tone-info-fg))}.feature-card__title{margin-bottom:6px;font-size:15px;font-weight:700;color:var(--text-primary)}.feature-card__desc{flex:1 1;margin:0 0 16px;color:var(--text-muted);font-size:13px;line-height:1.6}.card-list-footer{padding:10px 16px;color:var(--control-placeholder);font-size:13px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:600;line-height:1;letter-spacing:.01em;padding:10px 18px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),box-shadow .15s var(--ease-out),transform .1s var(--ease-out);white-space:nowrap;text-decoration:none;font-family:inherit}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 88%,white) 0,var(--brand) 100%);box-shadow:0 1px 4px rgb(var(--shadow-rgb)/.4),inset 0 1px 0 rgb(255 255 255/.12)}.btn-primary,.btn-primary:hover:not(:disabled){color:var(--text-inverse);border-color:var(--brand-hover)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--brand-hover) 90%,white) 0,var(--brand-hover) 100%);text-decoration:none;box-shadow:0 2px 8px rgb(var(--shadow-rgb)/.45),inset 0 1px 0 rgb(255 255 255/.12)}.btn-secondary{background:var(--surface-card);color:var(--text-secondary);border-color:var(--border-control);box-shadow:0 1px 2px rgb(var(--shadow-rgb)/.06)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--control-placeholder);color:var(--text-primary);text-decoration:none;box-shadow:0 2px 4px rgb(var(--shadow-rgb)/.08)}.btn-danger{background:var(--danger);color:var(--text-inverse);border-color:var(--danger)}.btn-sm{font-size:13px;padding:6px 12px}.btn-control{font-size:13px;min-height:38px;padding:0 12px}.btn-toolbar,.btn.btn-toolbar-secondary{min-height:var(--toolbar-control-height);padding:0 12px}.btn.btn-toolbar-secondary{font-size:13px;background:var(--surface-card);color:var(--text-secondary);border-color:var(--border-control);box-shadow:0 1px 2px rgb(var(--shadow-rgb)/.06)}.btn.btn-toolbar-secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--control-placeholder);color:var(--text-primary);text-decoration:none;box-shadow:0 2px 4px rgb(var(--shadow-rgb)/.08)}.btn.btn-toolbar-secondary.btn-icon{width:var(--toolbar-control-height);min-width:var(--toolbar-control-height);min-height:var(--toolbar-control-height);padding:0;font-size:15px;line-height:1}.btn.btn-toolbar-primary{font-size:13px;min-height:var(--toolbar-control-height);padding:0 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 88%,white) 0,var(--brand) 100%);color:var(--text-inverse);border-color:var(--brand-hover);box-shadow:0 1px 4px rgb(var(--shadow-rgb)/.4),inset 0 1px 0 rgb(255 255 255/.12)}.btn.btn-toolbar-primary:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--brand-hover) 90%,white) 0,var(--brand-hover) 100%);border-color:var(--brand-hover);text-decoration:none;color:var(--text-inverse);box-shadow:0 2px 8px rgb(var(--shadow-rgb)/.45),inset 0 1px 0 rgb(255 255 255/.12)}.btn-icon{width:var(--toolbar-control-height);min-width:var(--toolbar-control-height);min-height:var(--toolbar-control-height);padding:0;font-size:15px;line-height:1}.btn-danger-secondary{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.btn-danger-secondary:hover:not(:disabled){color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,transparent);background:var(--tone-danger-bg)}.btn-lg{font-size:16px;padding:14px 24px}[data-theme=dark] .form-input{background:var(--surface-card)}[data-theme=dark] .form-input,[data-theme=dark] .form-select{color:var(--text-primary);border-color:var(--border-control);color-scheme:dark}[data-theme=dark] .form-select{background-color:var(--surface-card);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:20px;padding-right:36px}[data-theme=dark] input[type=date],[data-theme=dark] input[type=time]{color-scheme:dark}.form-group{margin-bottom:16px}.form-grid{display:grid;grid-gap:12px;gap:12px}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-field{display:grid;grid-gap:6px;gap:6px;min-width:0;font-size:13px;color:var(--text-secondary)}.form-field--inline{display:flex;align-items:center;gap:10px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:10px 12px;font-size:14px;font-family:inherit;border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgb(var(--shadow-rgb)/.18)}.form-input::placeholder{color:var(--control-placeholder)}.form-select{width:100%;font-size:14px;font-family:inherit;border:1px solid var(--border-control);border-radius:var(--radius-md);background-color:var(--surface-card);color:var(--text-primary);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 10px center;background-repeat:no-repeat;background-size:20px;padding:10px 36px 10px 12px}.form-select::-ms-expand{display:none}.form-error{font-size:13px;color:var(--danger);margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.form-actions--start{justify-content:flex-start}.badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:3px 8px;border-radius:5px;white-space:nowrap;letter-spacing:.01em}.badge-primary{background:var(--brand-bg-subtle);color:var(--brand)}.badge-success{background:var(--tone-success-bg);color:var(--success)}.badge-warning{background:var(--tone-warning-bg);color:var(--warning)}.badge-danger{background:var(--tone-danger-bg);color:var(--danger)}.badge-gray{background:var(--border-subtle);color:var(--text-secondary)}.badge-count{border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px}.badge-on-primary{background:var(--brand);color:var(--control-active-foreground)}.table-shell{overflow-x:auto;border:1px solid var(--border-default);border-radius:var(--radius-lg)}.table-shell--body-scroll{overflow-x:auto;border:none;border-radius:0;flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain}.table-shell--scroll{max-height:var(--table-max-height,420px);overflow:auto}@media (min-width:641px){.table-shell--body-scroll{overflow-x:visible;overflow:hidden}.table-shell--body-scroll table{border-collapse:separate;border-spacing:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;table-layout:fixed}.table-shell--body-scroll tfoot,.table-shell--body-scroll thead{display:block;width:100%;table-layout:fixed}.table-shell--body-scroll tbody tr,.table-shell--body-scroll tfoot tr,.table-shell--body-scroll thead tr{display:grid;grid-template-columns:var(--table-column-template);width:100%;table-layout:auto}.table-shell--body-scroll td,.table-shell--body-scroll th{width:auto!important;max-width:none!important;min-width:0}.table-shell--body-scroll tfoot tr,.table-shell--body-scroll thead th{position:static}.table-shell--body-scroll tbody{display:block;min-height:0;overflow:auto;overscroll-behavior:contain}.table-shell--body-scroll .td-grid-span-4{grid-column:span 4}}.td-nowrap{white-space:nowrap}.td-center{text-align:center}.td-muted{color:var(--text-muted);font-size:13px}.td-strong{font-weight:600;color:var(--text-primary)}table{width:100%;border-collapse:collapse;font-size:14px}thead{background:var(--table-column-header-bg)}tfoot tr{background:var(--table-footer-bg)}th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-default);white-space:nowrap}td{padding:14px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--table-row-hover-bg)}.segmented-control{display:inline-flex;min-height:var(--toolbar-control-height);border:1px solid var(--border-control);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.segmented-control__button{min-height:calc(var(--toolbar-control-height) - 2px);padding:0 12px;border:0;border-left:1px solid var(--border-control);background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;line-height:1}.segmented-control__button:first-child{border-left:0}.segmented-control__button[aria-pressed=true]{background:var(--brand);color:var(--control-active-foreground);font-weight:700}.segmented-control__button:disabled{cursor:not-allowed;opacity:.6}.pill-tabs{display:inline-flex;align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;min-height:44px;padding:4px;border:1px solid color-mix(in srgb,var(--brand) 14%,var(--border-default));border-radius:999px;background:color-mix(in srgb,var(--brand-bg-subtle) 46%,var(--surface-muted));box-shadow:inset 0 1px 0 rgb(255 255 255/.28),var(--shadow-sm);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.pill-tabs::-webkit-scrollbar{display:none}.pill-tab{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 18px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:0;line-height:1;white-space:nowrap;transition:background-color .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.pill-tab:hover:not(:disabled):not(.pill-tab--active){background:color-mix(in srgb,var(--surface-card) 70%,var(--brand-bg-subtle));color:var(--text-primary)}.pill-tab--active{border-color:color-mix(in srgb,var(--brand) 20%,transparent);background:color-mix(in srgb,var(--brand-bg-subtle) 72%,var(--surface-card));color:var(--brand-hover);box-shadow:0 1px 3px rgb(var(--shadow-rgb)/.16)}.pill-tab:disabled{cursor:not-allowed;opacity:.62}.pill-tab:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.center-state,.loading-state{padding:40px 24px;text-align:center;color:var(--text-muted)}.loading-state--large{padding:80px 24px}.center-state .spinner,.loading-state .spinner{margin:0 auto 12px}.loading-state__label{margin:0;font-size:14px;color:var(--text-muted)}.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--meta-grid-min,140px),1fr));grid-gap:8px 16px;gap:8px 16px;padding:14px 16px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-muted)}.meta-grid--inline{display:flex;flex-wrap:wrap;gap:24px}.meta-grid__label{margin-bottom:3px;font-size:10px;font-weight:700;color:var(--control-placeholder);text-transform:uppercase;letter-spacing:.05em}.meta-grid__value{font-size:13px;font-weight:600;color:var(--text-primary)}.note-panel{padding:8px 12px;border-left:3px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);font-size:13px}.modal-backdrop{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--scrim)}.modal-card{width:100%;max-width:var(--modal-max-width,480px);max-height:calc(100dvh - 48px);overflow:auto;padding:24px}.modal-card--flex{padding:0;display:flex;flex-direction:column;overflow:hidden}.modal-card--flex .modal-flex-body{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.modal-title{margin:0 0 16px;font-size:18px;font-weight:700}.calendar-nav-controls__jump{position:relative}.calendar-nav-label-btn{display:inline-flex;min-width:120px;min-height:var(--toolbar-control-height);align-items:center;justify-content:center;gap:6px;padding:0 8px 0 12px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:16px;font-weight:750;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.calendar-nav-label-btn:hover:not(:disabled){border-color:transparent;background:var(--surface-muted)}.calendar-nav-label-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.calendar-nav-label-btn:disabled{cursor:not-allowed;opacity:.55}.calendar-nav-label-btn__chevron{display:inline-flex;flex-shrink:0;width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);font-size:13px;font-weight:800;line-height:1}.month-jump-popover{position:absolute;top:calc(100% + 6px);left:50%;z-index:500;width:220px;padding:10px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-lg);transform:translateX(-50%)}.month-jump-popover__year{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}.month-jump-popover__year-label{flex:1 1;color:var(--text-primary);font-size:14px;font-weight:700;text-align:center}.month-jump-popover__year-btn{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;padding:0;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer}.month-jump-popover__year-btn:hover{border-color:var(--border-control);background:var(--border-subtle)}.month-jump-popover__year-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.month-jump-popover__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:4px;gap:4px}.month-jump-popover__month{min-height:32px;padding:4px 2px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer}.month-jump-popover__month:hover{border-color:var(--border-default);background:var(--surface-muted)}.month-jump-popover__month:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.month-jump-popover__month.is-selected{border-color:var(--brand);background:var(--brand-bg-subtle);color:var(--brand)}[data-theme=dark] .calendar-nav-label-btn{color:var(--text-primary)}[data-theme=dark] .calendar-nav-label-btn:hover:not(:disabled){border-color:transparent;background:var(--surface-muted)}[data-theme=dark] .calendar-nav-label-btn__chevron{background:color-mix(in srgb,var(--brand) 22%,transparent);color:var(--brand)}[data-theme=dark] .month-jump-popover{border-color:var(--border-default);background:var(--surface-card)}[data-theme=dark] .month-jump-popover__year-label{color:var(--text-primary)}[data-theme=dark] .month-jump-popover__year-btn{border-color:var(--border-default);background:var(--surface-muted);color:var(--text-secondary)}[data-theme=dark] .month-jump-popover__year-btn:hover{border-color:var(--border-control);background:color-mix(in srgb,var(--surface-muted) 70%,var(--surface-raised))}[data-theme=dark] .month-jump-popover__month{color:var(--text-secondary)}[data-theme=dark] .month-jump-popover__month:hover{border-color:var(--border-control);background:var(--surface-muted)}[data-theme=dark] .month-jump-popover__month.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 22%,var(--surface-card));color:var(--brand)}.calendar-page .calendar-nav-label-btn{color:var(--calendar-ui-heading)}.calendar-page .calendar-nav-label-btn:hover:not(:disabled){border-color:transparent;background:color-mix(in srgb,var(--calendar-panel-bg) 72%,var(--brand) 8%)}.calendar-page .month-jump-popover{background:var(--calendar-panel-bg);border-color:var(--calendar-panel-border);box-shadow:var(--shadow-lg)}[data-theme=dark] .calendar-page .calendar-nav-label-btn:hover:not(:disabled){background:color-mix(in srgb,var(--calendar-panel-bg) 70%,var(--brand) 8%);border-color:transparent}[data-theme=dark] .calendar-page .month-jump-popover{box-shadow:0 18px 44px rgb(2 6 23/.45)}.alert{padding:12px 16px;border-radius:var(--radius-md);font-size:14px;display:flex;align-items:flex-start;gap:10px}.alert-error{background:var(--tone-danger-bg);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.alert-success{background:var(--tone-success-bg);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.alert-warning{background:var(--tone-warning-bg);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent)}.alert-info{background:var(--brand-bg-subtle);color:var(--brand-hover);border:1px solid var(--tone-info-border)}.leave-affected-shifts{margin-bottom:12px;flex-direction:column;gap:4px;line-height:1.35}.leave-affected-shifts__summary{font-weight:600}.leave-affected-shifts__approval-note{font-size:13px}.leave-affected-shifts__list{margin:0;padding-left:20px;font-size:13px}.leave-affected-shifts--stacked{align-items:flex-start;flex-direction:column}.stat-label{font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:6px}.stat-value{font-size:30px;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:4px;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-change{font-size:12px;color:var(--text-muted)}.divider{height:1px;background:var(--border-default);margin:24px 0}.spinner{width:20px;height:20px;border:2px solid var(--border-default);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{text-align:center;padding:60px 24px;color:var(--control-placeholder)}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.empty-state-desc{font-size:14px;color:var(--control-placeholder);margin-bottom:20px}.stat-card{background:var(--surface-card);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-stat-card)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:28px}.nav-notification{position:relative}.nav-notification__button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.nav-notification__button:hover{background:var(--surface-muted);border-color:var(--border-control);color:var(--text-primary)}.nav-notification__button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.nav-notification__button[aria-expanded=true]{background:var(--brand-bg-subtle);border-color:color-mix(in srgb,var(--brand) 35%,var(--border-default));color:var(--brand)}.nav-notification__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--danger);color:var(--surface-card);font-size:10px;font-weight:700;line-height:18px;text-align:center;pointer-events:none}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 24px));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:60;overflow:hidden}.notification-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-subtle)}.notification-panel__title{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.notification-panel__actions{display:flex;align-items:center;gap:8px}.notification-panel__list{max-height:360px;overflow-y:auto}.notification-panel__empty{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.notification-item{display:block;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;text-align:left;cursor:pointer;transition:background .15s ease}.notification-item:last-child{border-bottom:0}.notification-item:hover{background:var(--surface-muted)}.notification-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.notification-item.is-unread{background:color-mix(in srgb,var(--brand-bg-subtle) 55%,transparent)}.notification-item.is-unread:hover{background:color-mix(in srgb,var(--brand-bg-subtle) 75%,transparent)}.notification-item__title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.notification-item__body{font-size:12px;color:var(--text-secondary);line-height:1.45}.notification-item__meta{margin-top:4px;font-size:11px;color:var(--text-muted)}.notification-panel__footer{padding:10px 14px;border-top:1px solid var(--border-subtle);background:var(--surface-muted)}.notification-panel__footer-link{display:block;text-align:center;font-size:13px;font-weight:600;color:var(--brand);text-decoration:none}.notification-panel__footer-link:hover{text-decoration:underline}.notifications-page-list{display:flex;flex-direction:column;gap:0}.notifications-page-item{display:block;width:100%;padding:14px 16px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.notifications-page-item+.notifications-page-item{margin-top:8px}.notifications-page-item:hover{border-color:var(--border-control);background:var(--surface-muted)}.notifications-page-item.is-unread{border-color:color-mix(in srgb,var(--brand) 35%,var(--border-default));background:color-mix(in srgb,var(--brand-bg-subtle) 45%,var(--surface-card))}[data-theme=dark] .nav-notification__button{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-secondary)}[data-theme=dark] .nav-notification__button:hover{background:var(--surface-muted);border-color:var(--border-control);color:var(--text-primary)}[data-theme=dark] .nav-notification__button[aria-expanded=true]{background:color-mix(in srgb,var(--brand) 18%,var(--surface-raised));border-color:color-mix(in srgb,var(--brand) 40%,var(--border-default));color:var(--brand)}[data-theme=dark] .notification-panel,[data-theme=dark] .notifications-page-item{background:var(--surface-card);border-color:var(--border-default)}[data-theme=dark] .notification-item,[data-theme=dark] .notification-panel__header{border-bottom-color:var(--border-default)}[data-theme=dark] .notification-item:hover{background:var(--surface-muted)}[data-theme=dark] .notification-panel__footer{background:color-mix(in srgb,var(--surface-card) 82%,var(--page-shell-bg));border-top-color:var(--border-default)}[data-theme=dark] .notification-item.is-unread,[data-theme=dark] .notifications-page-item.is-unread{background:color-mix(in srgb,var(--brand) 12%,var(--surface-card))}[data-theme=dark] .notification-item.is-unread:hover{background:color-mix(in srgb,var(--brand) 18%,var(--surface-card))}[data-theme=dark] .notifications-page-item:hover{background:var(--surface-muted)}[data-theme=dark] .calendar-page .notification-panel{box-shadow:0 18px 44px rgb(2 6 23/.45)}.auth-shell{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(circle at top left,color-mix(in srgb,var(--brand) 10%,transparent),transparent 32rem),var(--surface-page)}.auth-panel{flex:1 1;display:flex;align-items:center;justify-content:center;padding:48px 24px}.auth-card-wrap{width:100%;max-width:400px}.auth-card-wrap--wide{max-width:460px}.register-choice-actions{display:grid;grid-gap:12px;gap:12px}.register-choice-button{min-height:48px;width:100%}@media (min-width:560px){.register-choice-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell.calendar-page{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;min-height:100dvh;overflow:hidden}.calendar-page__main{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden;max-width:none;margin-left:0;margin-right:0;padding:32px clamp(12px,1.5vw,24px);transition:margin-left .2s cubic-bezier(.16,1,.3,1)}.calendar-page__main--sidebar-open{margin-left:308px}.calendar-page__main>:not(.calendar-page__viewport){flex-shrink:0}.calendar-page__viewport{flex:1 1;min-height:0;display:flex;flex-direction:column}.calendar-page__viewport>:not(.calendar-page__view){flex-shrink:0}.calendar-page__view{flex:1 1;min-height:0;display:flex;flex-direction:column;min-width:0}.calendar-month-scroll-week{content-visibility:auto;contain-intrinsic-size:auto 120px}.calendar-page .card.calendar-surface{background:var(--calendar-panel-bg);border-color:var(--calendar-panel-border);box-shadow:var(--calendar-panel-shadow-sm)}.calendar-page .card.calendar-surface--emphasis{box-shadow:var(--calendar-panel-shadow)}.calendar-page .calendar-select{background-color:var(--control-bg);border-color:var(--control-border);color:var(--control-text);font-weight:600}.calendar-page .calendar-select.calendar-select--compact{padding:5px 8px;font-size:11px}.calendar-page .calendar-select:focus{border-color:var(--brand);box-shadow:0 0 0 2px rgb(15 82 153/.2)}.calendar-page .page-title{color:var(--calendar-ui-heading)}.calendar-page .page-subtitle{color:var(--calendar-ui-label)}.modal-card--flex .calendar-publish-modal__body{display:flex;flex-direction:column;overflow:hidden}.table-shell--calendar-publish{flex:0 1 auto;min-height:0;max-height:min(58dvh,520px)}@media (min-width:641px){.table-shell--calendar-publish{--table-column-template:clamp(132px,18vw,160px) clamp(132px,18vw,160px) minmax(220px,1fr)}.table-shell--calendar-publish tbody{max-height:clamp(180px,46dvh,468px)}}.calendar-page__header.page-header--actions>:first-child{min-width:0}.calendar-page__publish-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.calendar-page__last-published{color:var(--calendar-ui-label);font-size:13px;font-weight:650;line-height:1.3;text-align:right;white-space:nowrap}.calendar-toolbar-card{margin-bottom:10px;padding:10px 14px}.calendar-toolbar-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px}.calendar-toolbar-region{display:flex;min-width:0;align-items:center;gap:8px}.calendar-toolbar-region--leading{flex-wrap:wrap;justify-content:flex-start}.calendar-toolbar-region--center{justify-content:center}.calendar-toolbar-region--trailing{flex-wrap:wrap;justify-content:flex-end}.calendar-status-summary{min-width:0;padding:3px 4px;border:1px solid var(--calendar-panel-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--calendar-panel-bg) 82%,var(--surface-muted));box-shadow:inset 0 1px 0 rgb(255 255 255/.3)}.calendar-status-summary,.calendar-toolbar-autofill-btn__content{display:inline-flex;align-items:center;gap:6px}.calendar-toolbar-btn-spinner{flex-shrink:0;animation:calendar-toolbar-spin .9s linear infinite}@keyframes calendar-toolbar-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.calendar-status-summary__metric{min-height:26px;padding:0 9px;border:1px solid transparent;border-radius:calc(var(--radius-md) - 2px);background:transparent;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.calendar-status-summary__metric--unassigned{color:var(--calendar-shift-unassigned-title);background:color-mix(in srgb,var(--calendar-shift-unassigned-bg) 70%,transparent);border-color:color-mix(in srgb,var(--calendar-shift-unassigned-border) 72%,transparent)}.calendar-status-summary__metric--unassigned.is-active{background:color-mix(in srgb,var(--calendar-shift-unassigned-bg) 84%,var(--calendar-shift-unassigned-title))}.calendar-status-summary__metric--my-shifts{color:var(--calendar-ui-label);background:color-mix(in srgb,var(--calendar-panel-bg) 72%,var(--border-subtle));border-color:color-mix(in srgb,var(--calendar-panel-border) 86%,var(--control-placeholder))}.calendar-status-summary__metric--my-shifts.is-active{background:color-mix(in srgb,var(--calendar-panel-bg) 58%,var(--border-control))}.calendar-status-summary__metric--warning{color:var(--warning);background:color-mix(in srgb,var(--tone-warning-bg) 78%,transparent);border-color:color-mix(in srgb,var(--warning) 28%,transparent)}.calendar-status-summary__metric--warning.is-active{background:color-mix(in srgb,var(--tone-warning-bg) 84%,var(--warning))}.calendar-status-summary__metric.is-active,.calendar-status-summary__metric:hover{border-color:currentColor}.calendar-toolbar-filter-active{border-color:var(--brand);background:var(--brand-bg-subtle);color:var(--brand)}.calendar-display-menu{position:relative;flex-shrink:0}.calendar-display-menu .btn.is-active{border-color:var(--brand);background:var(--brand-bg-subtle);color:var(--brand)}.calendar-display-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:400;display:flex;min-width:328px;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--calendar-panel-border);border-radius:var(--radius-lg);background:var(--calendar-panel-bg);box-shadow:var(--shadow-lg)}.calendar-display-popover__title{padding:0 2px 3px;color:var(--calendar-ui-heading);font-size:13px;font-weight:800}.calendar-display-row{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px}.calendar-display-row__label{color:var(--calendar-ui-label);font-size:12px;font-weight:750}.calendar-display-section{display:flex;flex-direction:column;gap:8px}.calendar-display-section--assignment{margin-top:4px;padding-top:10px;border-top:1px solid var(--calendar-panel-border)}.calendar-display-toggle{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border-control);border-radius:var(--radius-md);color:var(--calendar-ui-label);font-size:12px;font-weight:650;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.calendar-display-toggle:has(input:checked){border-color:color-mix(in srgb,var(--brand) 35%,transparent);background:var(--brand-bg-subtle);color:var(--brand)}.calendar-display-toggle input{accent-color:var(--brand);cursor:pointer}.calendar-display-segmented{justify-self:end;min-height:30px;background:color-mix(in srgb,var(--calendar-panel-bg) 72%,var(--surface-muted))}.calendar-display-segmented .segmented-control__button{min-height:28px;padding:0 9px}.calendar-toolbar-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;font-size:9.5px;font-weight:800;line-height:1}[data-theme=dark] .calendar-page .calendar-select:focus{box-shadow:0 0 0 2px rgb(59 130 246/.25)}@media (max-width:900px){.calendar-page__header.page-header--actions{flex-wrap:wrap}.calendar-page__header .action-row{margin-left:auto}}@media (min-width:721px) and (max-width:900px){.calendar-toolbar-grid{grid-template-areas:"leading trailing" "center center";grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.calendar-toolbar-region--leading{grid-area:leading;justify-content:flex-start}.calendar-toolbar-region--center{grid-area:center}.calendar-toolbar-region--trailing{grid-area:trailing;justify-content:flex-end}}@media (max-width:720px){.calendar-toolbar-grid{grid-template-columns:minmax(0,1fr)}.calendar-toolbar-region{flex-wrap:wrap;justify-content:center}.calendar-toolbar-region--leading,.calendar-toolbar-region--trailing{justify-content:center}}.filter-sidebar-backdrop{position:fixed;top:64px;left:0;right:0;bottom:0;background:transparent;z-index:200;animation:backdropFadeIn .15s ease both}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.filter-sidebar{position:fixed;top:64px;left:0;bottom:0;width:308px;z-index:201;display:flex;flex-direction:column;background:var(--surface-card);border-right:1px solid var(--border-default);box-shadow:6px 0 28px rgb(0 0 0/.13),2px 0 8px rgb(0 0 0/.06);animation:sidebarSlideIn .2s var(--ease-snappy) both;overflow:hidden}@keyframes sidebarSlideIn{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}.filter-sidebar-body{flex:1 1;overflow-y:auto;overscroll-behavior:contain}.filter-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-default);flex-shrink:0}.filter-sidebar-header__title{font-size:15px;font-weight:800;color:var(--text-primary);letter-spacing:-.01em}.filter-sidebar-header__close{padding:5px 9px;line-height:1}.filter-sidebar-secondary{padding:12px 20px;border-bottom:1px solid var(--border-default);flex-shrink:0}.filter-sidebar-secondary .btn{width:100%}.filter-sidebar-footer{padding:14px 20px;border-top:1px solid var(--border-default);flex-shrink:0;background:var(--surface-muted)}.filter-sidebar-footer .btn{width:100%}.filter-sidebar-stack{padding:16px 20px;border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:16px}.filter-sidebar-field{display:flex;flex-direction:column;gap:4px}.filter-sidebar-field__label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.filter-sidebar-field__control{font-size:13px;width:100%}.filter-search{display:block;width:100%;padding:7px 10px;font-size:12px;font-family:inherit;border:1px solid var(--border-control);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-primary);outline:none;transition:border-color .15s,background .15s,box-shadow .15s;margin-bottom:8px}.filter-search::placeholder{color:var(--control-placeholder)}.filter-search:focus{border-color:var(--brand);background:var(--surface-card);box-shadow:0 0 0 2px rgb(var(--shadow-rgb)/.1)}.filter-sidebar .calendar-filter-section{border-bottom:1px solid var(--border-subtle)}.filter-sidebar .calendar-filter-section--compact .calendar-filter-section__body{padding:12px 20px 8px}.filter-sidebar .calendar-filter-section__body{padding:14px 20px 12px}.filter-sidebar .calendar-filter-section--user{--filter-accent:var(--calendar-highlight-user)}.filter-sidebar .calendar-filter-section--facility{--filter-accent:var(--calendar-highlight-facility)}.filter-sidebar .calendar-filter-section--shift{--filter-accent:var(--calendar-highlight-shift)}.filter-sidebar .calendar-filter-section__title{font-size:13px;font-weight:700;letter-spacing:0;color:var(--filter-accent,var(--text-secondary));margin-bottom:10px}.filter-sidebar .calendar-filter-section__controls{padding-left:6px}.filter-sidebar .calendar-filter-section__options{max-height:192px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}.filter-sidebar .calendar-filter-section__list{display:flex;flex-direction:column;gap:1px}.filter-sidebar .calendar-filter-select-all{display:flex;align-items:center;gap:8px;padding:5px 6px 9px;font-size:12px;font-weight:700;color:var(--text-primary);cursor:pointer;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.filter-sidebar .calendar-filter-select-all__checkbox{cursor:pointer;accent-color:var(--filter-accent,var(--brand))}.filter-sidebar .calendar-filter-select-all__count{margin-left:auto;font-size:10px;font-weight:800;color:var(--filter-accent,var(--brand));background:var(--brand-bg-subtle);padding:1px 6px;border-radius:100px}.filter-sidebar .calendar-filter-empty{font-size:12px;color:var(--control-placeholder);padding:8px 6px;font-style:italic}.filter-sidebar .calendar-filter-facility-toggle{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-bottom:6px}.filter-sidebar .calendar-filter-facility-toggle__checkbox{accent-color:var(--calendar-highlight-facility);cursor:pointer}.filter-sidebar .calendar-filter-row{display:flex;align-items:center;border-radius:6px;background:transparent;transition:background .1s}.filter-sidebar .calendar-filter-row--checked{background:var(--brand-bg-subtle)}.filter-sidebar .calendar-filter-row__label{display:flex;align-items:center;gap:7px;padding:5px 6px;flex:1 1;min-width:0;font-size:12.5px;color:var(--text-secondary);font-weight:400;cursor:pointer;transition:color .1s}.filter-sidebar .calendar-filter-row--checked .calendar-filter-row__label{color:var(--filter-accent,var(--brand-hover));font-weight:600}.filter-sidebar .calendar-filter-row__checkbox{cursor:pointer;accent-color:var(--filter-dot,var(--filter-accent,var(--brand)));flex-shrink:0}.filter-sidebar .calendar-filter-row__dot{width:8px;height:8px;border-radius:50%;background:var(--filter-dot);flex-shrink:0;border:1.5px solid color-mix(in srgb,var(--filter-dot) 35%,transparent)}.filter-sidebar .calendar-filter-row__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.filter-sidebar .calendar-filter-row__highlight-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:4px;border:none;border-radius:5px;background:transparent;color:var(--border-control);cursor:pointer;padding:0;transition:background .1s,color .1s}.filter-sidebar .calendar-filter-row__highlight-btn:hover:not(.calendar-filter-row__highlight-btn--active){color:var(--text-muted)}.filter-sidebar .calendar-filter-row__highlight-btn--active{background:color-mix(in srgb,var(--filter-highlight-color,var(--filter-accent)) 15%,transparent);color:var(--filter-highlight-color,var(--filter-accent,var(--brand)))}[data-theme=dark] .filter-sidebar{background:var(--border-subtle);border-right-color:var(--border-default)}[data-theme=dark] .calendar-status-summary{background:color-mix(in srgb,var(--calendar-panel-bg) 78%,rgb(15 23 36));box-shadow:inset 0 1px 0 rgb(255 255 255/.04)}[data-theme=dark] .calendar-status-summary__metric--warning{background:color-mix(in srgb,var(--tone-warning-bg) 70%,transparent)}[data-theme=dark] .calendar-status-summary__metric--warning.is-active{background:color-mix(in srgb,var(--tone-warning-bg) 72%,var(--warning))}[data-theme=dark] .calendar-display-popover{box-shadow:0 18px 44px rgb(2 6 23/.45)}[data-theme=dark] .calendar-display-segmented{background:color-mix(in srgb,var(--calendar-panel-bg) 74%,rgb(15 23 36))}[data-theme=dark] .filter-search{background:var(--border-default);border-color:var(--border-control);color:var(--text-primary)}[data-theme=dark] .filter-search:focus{border-color:var(--brand);background:var(--border-subtle);box-shadow:0 0 0 2px rgb(74 144 217/.2)}.calendar-page{--calendar-shell-bg:rgb(238 242 247);--page-shell-bg:rgb(238 242 247);--calendar-day-bg:rgb(255 255 255);--calendar-day-bg-muted:rgb(248 250 252);--calendar-day-border:rgb(209 217 230);--calendar-day-header-border:rgb(226 232 240);--calendar-panel-border:rgb(221 229 240);--calendar-panel-shadow:0 2px 16px rgb(var(--shadow-rgb)/0.08),0 1px 4px rgb(var(--shadow-rgb)/0.04);--calendar-panel-shadow-sm:0 1px 6px rgb(var(--shadow-rgb)/0.07);--calendar-day-shadow:0 1px 3px rgb(var(--shadow-rgb)/0.06);--calendar-shift-filled-bg:rgb(234 246 255);--calendar-shift-filled-border:rgb(184 221 244);--calendar-shift-filled-title:rgb(7 89 133);--calendar-shift-meta-filled:rgb(37 99 122);--calendar-shift-shadow:0 1px 2px rgb(15 23 42/0.05)}[data-theme=dark] .calendar-page{--calendar-shell-bg:rgb(15 23 36);--page-shell-bg:rgb(15 23 36);--calendar-panel-bg:rgb(29 41 56);--calendar-panel-border:rgb(148 163 184/0.2);--calendar-panel-shadow:0 18px 46px rgb(2 6 23/0.28),0 1px 0 rgb(255 255 255/0.04) inset;--calendar-panel-shadow-sm:0 8px 22px rgb(2 6 23/0.2),0 1px 0 rgb(255 255 255/0.035) inset;--calendar-ui-label:rgb(203 213 225);--calendar-weekday-color:rgb(219 234 254);--calendar-ui-day-number:rgb(248 250 252);--calendar-ui-day-number-faded:rgb(127 142 163);--calendar-day-bg:rgb(27 38 53);--calendar-day-bg-muted:rgb(21 31 45);--calendar-day-border:rgb(148 163 184/0.22);--calendar-day-header-border:rgb(148 163 184/0.18);--calendar-day-shadow:0 1px 0 rgb(255 255 255/0.04) inset;--calendar-day-today-bg:color-mix(in srgb,var(--brand) 24%,var(--calendar-day-bg));--calendar-day-today-ring:0 0 0 1px rgb(96 165 250/0.5),0 12px 28px rgb(59 130 246/0.18);--calendar-shift-filled-bg:rgb(31 64 84);--calendar-shift-filled-border:rgb(36 81 107);--calendar-shift-filled-title:rgb(238 245 255);--calendar-shift-unassigned-bg:rgb(127 29 44/0.5);--calendar-shift-unassigned-border:rgb(248 113 113/0.68);--calendar-shift-unassigned-title:rgb(254 205 211);--calendar-shift-meta-filled:rgb(184 213 230);--calendar-shift-meta-unassigned:rgb(254 205 211);--calendar-shift-shadow:0 10px 20px rgb(2 6 23/0.22),0 1px 0 rgb(255 255 255/0.06) inset;--calendar-day-border-gap:rgb(251 113 133/0.48);--calendar-day-border-full:rgb(148 163 184/0.26);--calendar-coverage-gap:rgb(251 113 133)}.autofill-score-candidate-list{display:grid;grid-gap:8px;gap:8px;max-height:min(56vh,520px);overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.autofill-score-assign{justify-self:end;white-space:nowrap}.shift-block--clickable{transition:filter .1s ease}.shift-block--clickable:hover{filter:brightness(.94)}[data-theme=dark] .shift-block--clickable:hover{filter:brightness(1.14)}.autofill-popover__backdrop{position:fixed;inset:0;z-index:1099;background:var(--scrim)}.autofill-popover{position:fixed;z-index:1100;width:300px;border-radius:var(--radius-lg);background:var(--surface-card);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.autofill-popover__head{padding:12px 14px 10px;border-bottom:1px solid var(--border-subtle);background:var(--table-section-header-bg)}.autofill-popover__title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:12px;gap:12px}.autofill-popover__shift-name{font-size:14px;font-weight:750;color:var(--text-primary);line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autofill-popover__shift-date,.autofill-popover__shift-meta{font-size:12px;color:var(--text-muted)}.autofill-popover__shift-meta{margin-top:3px}.autofill-popover__shift-date{line-height:1.2;text-align:right;white-space:nowrap}.autofill-popover__search{padding:8px 10px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:6px}.autofill-popover__search input{border:none;outline:none;background:transparent;flex:1 1;font-size:13px;color:var(--text-primary);min-width:0}.autofill-popover__search input::placeholder{color:var(--control-placeholder)}.autofill-popover__list{overflow-y:auto;max-height:320px;overscroll-behavior:contain;padding-bottom:4px}.autofill-popover__section{padding:8px 12px 4px;font-size:10px;font-weight:700;color:var(--control-placeholder);text-transform:uppercase;letter-spacing:.06em}.autofill-popover__item{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;transition:background .1s}.autofill-popover__item:hover{background:var(--table-row-hover-bg)}.autofill-popover__item[data-assigned=true]{background:var(--tone-success-bg)}.autofill-popover__item[data-assigned=true]:hover{background:var(--tone-success-bg);filter:brightness(.97)}.autofill-popover__item-name{flex:1 1;font-size:13px;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autofill-popover__item-score{font-size:12px;font-weight:700;color:var(--brand);white-space:nowrap}.autofill-popover__item[data-assigned=true] .autofill-popover__item-score{color:var(--tone-success-fg)}.autofill-score-tooltip{position:fixed;z-index:1200;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px 12px;width:480px;display:flex;flex-direction:column;gap:5px}.autofill-score-tooltip__name{font-size:12px;font-weight:750;color:var(--text-primary);padding-bottom:6px;margin-bottom:2px;border-bottom:1px solid var(--border-subtle)}.autofill-score-tooltip__row{display:grid;grid-template-columns:minmax(110px,max-content) minmax(2.5rem,max-content) minmax(0,1fr);grid-gap:3px 10px;gap:3px 10px;align-items:baseline;font-size:12px}.autofill-score-tooltip__label{color:var(--text-secondary)}.autofill-score-tooltip__points{font-weight:700;color:var(--text-primary);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.autofill-score-tooltip__note{color:var(--text-muted);line-height:1.3;white-space:pre-line}[data-theme=dark] .autofill-popover{border-color:var(--text-secondary)}[data-theme=dark] .autofill-popover__head,[data-theme=dark] .autofill-popover__search{border-bottom-color:var(--text-secondary)}[data-theme=dark] .autofill-score-tooltip{border-color:var(--text-secondary)}.autofill-score-tooltip--leave{width:240px}.autofill-leave-tooltip__type{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.autofill-leave-tooltip__rows{display:grid;grid-template-columns:max-content 1fr;grid-gap:3px 10px;gap:3px 10px;font-size:12px}.autofill-leave-tooltip__label{color:var(--text-muted)}.autofill-leave-tooltip__value{color:var(--text-primary)}[data-theme=dark] .autofill-leave-tooltip__type{border-bottom-color:var(--text-secondary)}.settings-shell{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at top left,color-mix(in srgb,var(--brand) 10%,transparent),transparent 32rem),var(--page-shell-bg);--settings-rail-width:220px}.settings-layout,.settings-layout__content{display:flex;flex:1 1;min-height:0}.settings-layout__content{min-width:0;overflow:hidden;flex-direction:column}.settings-sidebar{width:220px;flex-shrink:0;align-self:stretch;border-right:1px solid var(--border-subtle);min-height:0;background:var(--surface-card);padding:24px 12px;overflow-y:auto;overscroll-behavior:contain}.settings-main-fill{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.settings-chrome{flex-shrink:0}.settings-compact-content{max-width:640px}.settings-reset-page.settings-compact-content{max-width:900px}.settings-reset-actions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:28px 32px;gap:28px 32px}.settings-reset-actions__grid .panel-card__header{padding-bottom:10px}.settings-reset-actions__grid .panel-card__subtitle{margin-top:2px;font-size:14px;line-height:1.55}.settings-reset-actions__grid .panel-card__body{padding-top:12px}@media (max-width:520px){.settings-reset-actions__grid{grid-template-columns:1fr}}.settings-main-scroll{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.settings-layout__content>.settings-main-fill.page-main,.settings-layout__content>.settings-main-scroll.page-main{height:100%}.panel-card.panel-card--flex-fill{display:flex;flex-direction:column;flex:1 1;min-height:0}.panel-card.panel-card--flex-fill .panel-card__body{flex:1 1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:24px}.panel-card.panel-card--flex-fill .panel-card__body.p-0:has(>.table-shell--body-scroll){display:flex;flex-direction:column;overflow:hidden}.panel-card.panel-card--flex-fill .panel-card__body--col{overflow:hidden;display:flex;flex-direction:column}.import-content{display:flex;flex-direction:column;gap:12px}.import-content,.import-content>.table-shell{flex:1 1;min-height:0}.import-content>.table-shell:not(.table-shell--body-scroll){overflow:auto;overscroll-behavior:contain}.import-content .section-header{margin-bottom:0;flex-shrink:0}.import-content .form-actions{flex-shrink:0}.settings-sidebar__nav{display:flex;flex-direction:column;gap:2px}.settings-sidebar__link{border-radius:6px;padding:7px 10px;font-size:14px;min-height:34px}.settings-sidebar__icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-sidebar__icon svg{width:18px;height:18px;display:block}.settings-sidebar__label{min-width:0}.settings-table td,.settings-table th{vertical-align:middle}.settings-table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.settings-table-user-name{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.settings-table--users .settings-table-actions{flex-wrap:nowrap}@media (min-width:641px){.table-shell--users{--table-column-template:minmax(150px,1fr) minmax(210px,1.3fr) clamp(64px,6vw,88px) minmax(128px,0.75fr) clamp(72px,7vw,96px) minmax(220px,1fr)}}@media (min-width:901px){.table-shell--shifts{--table-column-template:minmax(160px,1.15fr) clamp(52px,4vw,72px) minmax(220px,1.45fr) minmax(132px,0.75fr) clamp(96px,7vw,124px) clamp(52px,4vw,64px) minmax(88px,0.28fr)}}@media (min-width:761px) and (max-width:900px){.table-shell--shifts{--table-column-template:minmax(150px,1.1fr) clamp(52px,5vw,68px) minmax(190px,1.45fr) minmax(124px,0.75fr) clamp(92px,10vw,116px) minmax(88px,0.28fr)}}@media (min-width:641px) and (max-width:760px){.table-shell--shifts{--table-column-template:minmax(145px,1.05fr) minmax(180px,1.45fr) minmax(116px,0.75fr) clamp(88px,12vw,108px) minmax(88px,0.28fr)}}.settings-table--shifts td[data-label=Days]{white-space:normal;line-height:1.3}.settings-modal-actions,.settings-user-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px}.settings-user-created{display:grid;grid-gap:8px;gap:8px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--tone-success-fg) 35%,transparent);border-radius:var(--radius-md);background:var(--tone-success-bg)}.settings-user-created__hint,.settings-user-created__title{margin:0}.settings-user-created__title{color:var(--tone-success-fg);font-size:13px;font-weight:600}.settings-user-created__hint{color:var(--text-secondary);font-size:12px}.settings-user-created__copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px}.settings-user-created__input{min-width:0;font-size:12px}@media (max-width:480px){.settings-user-created__copy-row{grid-template-columns:1fr}.settings-user-created__copy-row .btn{justify-self:start}}@media (max-width:960px){.settings-shell{--settings-rail-width:68px}.settings-sidebar{width:68px;padding:14px 8px}.settings-sidebar__nav{align-items:center;gap:6px}.settings-sidebar__link{width:44px;height:44px;min-height:44px;justify-content:center;padding:0}.settings-sidebar__label{display:none}}@media (max-width:900px){.settings-table th{padding:10px 12px;font-size:11px}.settings-table td{padding:12px;font-size:13px}.col-hide-sm{display:none}}@media (max-width:640px){.col-hide-xs{display:none}:is(.settings-table--users,.settings-table--shifts) thead{display:none}:is(.settings-table--users,.settings-table--shifts),:is(.settings-table--users,.settings-table--shifts) tbody,:is(.settings-table--users,.settings-table--shifts) td,:is(.settings-table--users,.settings-table--shifts) tr{display:block;width:100%}:is(.settings-table--users,.settings-table--shifts) tbody tr{border-bottom:1px solid var(--border-subtle);padding:12px 14px;background:var(--surface-card)}:is(.settings-table--users,.settings-table--shifts) tbody tr:last-child{border-bottom:none}:is(.settings-table--users,.settings-table--shifts) td{border-bottom:none;padding:6px 0;font-size:13px}:is(.settings-table--users,.settings-table--shifts) td:before{content:attr(data-label);display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--control-placeholder);margin-bottom:3px}:is(.settings-table--users,.settings-table--shifts) td:last-child{margin-top:4px}:is(.settings-table--users,.settings-table--shifts) td:last-child:before{margin-bottom:6px}:is(.settings-table--users,.settings-table--shifts) .btn{width:100%;justify-content:center}}.app-shell:has(.stats-fill-layout){display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden}.page-main:has(.stats-fill-layout){flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:visible;padding-bottom:24px}.stats-fill-layout{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:visible}@media (min-width:641px){.table-shell--stats{--table-column-template:clamp(128px,13vw,160px) minmax(160px,1.25fr) minmax(180px,1.35fr) clamp(80px,8vw,104px) clamp(88px,8vw,108px) clamp(86px,8vw,104px) clamp(96px,9vw,118px)}}.import-panel .panel-card__body{padding-top:0}.panel-card.panel-card--flex-fill.import-panel .panel-card__body{padding-bottom:0}.import-panel .panel-card__body>.action-row{padding-top:12px}@media (min-width:641px){.table-shell--import-templates{--table-column-template:clamp(64px,7vw,76px) minmax(150px,1.25fr) minmax(130px,0.85fr) clamp(108px,12vw,132px) minmax(128px,0.75fr)}.table-shell--import-roster{--table-column-template:clamp(64px,7vw,76px) minmax(145px,1.1fr) minmax(190px,1.45fr) clamp(64px,6vw,84px) minmax(140px,0.85fr)}.table-shell--import-schedule{--table-column-template:clamp(64px,7vw,76px) clamp(96px,10vw,116px) minmax(170px,1.2fr) minmax(130px,0.85fr) minmax(170px,1.15fr)}}.table-shell--import-templates .shifts-templates-table td:nth-child(3){white-space:normal;word-break:break-word;line-height:1.35}.table-shell--import-roster .shifts-templates-table td:nth-child(4),.table-shell--import-schedule .schedule-import-table td:nth-child(2),.table-shell--import-templates .shifts-templates-table td:nth-child(4){white-space:nowrap}.schedule-import-table td:nth-child(5){white-space:normal;word-break:break-word}.table-shell--import-roster .shifts-templates-table td:nth-child(5),.table-shell--import-templates .shifts-templates-table td:nth-child(5){white-space:normal}.table-shell--import-roster .shifts-templates-table td:nth-child(5) .badge,.table-shell--import-templates .shifts-templates-table td:nth-child(5) .badge{white-space:normal;word-break:break-word;text-align:left}.import-file-name{min-width:0;flex:1 1 220px;color:var(--text-primary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-import-shell{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;min-height:100dvh;overflow:hidden}.onboarding-import-main{flex:1 1;min-height:0;padding-bottom:32px;overflow:hidden}.onboarding-import-main .import-panel{margin-bottom:0}.import-content>.table-shell:is(.table-shell--import-templates,.table-shell--import-roster,.table-shell--import-schedule){scroll-padding-bottom:24px;margin-left:-20px;margin-right:-20px}@media (min-width:641px){.import-content>.table-shell:is(.table-shell--import-templates,.table-shell--import-roster,.table-shell--import-schedule) tbody{padding-bottom:24px}}.import-preview-actions{flex-shrink:0;display:flex;justify-content:center;background:var(--table-footer-bg);border-top:1px solid var(--border-default);margin:0 -20px;padding:20px}.import-onboarding-actions{margin-top:16px}