@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#f5f4f8;--bg-surface:#fff;--bg-surface-raised:#fff;--bg-header-tint:#eef0fb;--text-primary:#1a1523;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-inverse:#fff;--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--primary:var(--indigo-600);--primary-hover:var(--indigo-700);--primary-light:var(--indigo-50);--primary-ring:#4f46e540;--primary-wash:#4f46e51f;--accent-chip-bg:var(--indigo-100);--accent-chip-fg:var(--indigo-700);--icon-filled-bg:var(--indigo-100);--icon-filled-fg:var(--indigo-700);--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--brand-indigo:var(--indigo-600);--brand-cyan:var(--cyan-600);--brand-mark-indigo:var(--indigo-600);--brand-mark-cyan:var(--cyan-500);--motion-fast:.12s;--motion-base:.2s;--motion-slow:.32s;--motion-menu-morph:.38s;--motion-landed:1.6s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--motion-shift-sm:4px;--motion-shift-md:12px;--motion-shift-lg:24px;--motion-loop-shimmer:1.4s;--motion-loop-spin:.8s;--motion-loop-spin-reduced:2.4s;--motion-loop-progress:1s;--border-subtle:#e5e7eb;--border-medium:#d1d5db;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000a;--shadow-md:0 4px 8px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 12px 24px #00000014, 0 4px 8px #0000000a;--shadow-modal:0 20px 48px #4f46e51f, 0 8px 16px #00000014;--shadow-sheet:0 -6px 24px #0003;--overlay-backdrop:#0f0a1e73;--skeleton-base:#f0f0f0;--skeleton-highlight:#e4e4e4;--status-open-bg:#f0fdf4;--status-open-text:#15803d;--status-open-border:#bbf7d0;--status-draft-bg:#fefce8;--status-draft-text:#a16207;--status-draft-border:#fde68a;--status-filled-bg:#eef2ff;--status-filled-text:#4338ca;--status-filled-border:#c7d2fe;--status-danger-bg:#fef2f2;--status-danger-text:#dc2626;--status-danger-border:#fecaca;--status-info-bg:#f0f9ff;--status-info-text:#0369a1;--status-info-border:#e0f2fe;--landed-bg:var(--indigo-50);--fill-success:#15803d;--fill-danger:#dc2626;--fill-info:#2563eb;--fill-warning:#f59e0b;--fill-fg:#fff;--fill-warning-fg:#1e293b;--fill-publish:#10b981;--toast-success-bg:var(--fill-success);--toast-error-bg:var(--fill-danger);--toast-info-bg:var(--fill-info);--toast-fg:var(--fill-fg);--toast-action-hover-bg:#ffffff2e;--drop-target-bg:#f0f9ff;--drop-target-header-bg:#e0f2fe;--drop-target-border:#0284c7;--drop-soft-bg:#fffbeb;--drop-soft-border:#d97706;--warning:#f59e0b;--warning-bg:#fffbeb;--warning-text:#b45309;--warning-border:#fcd34d;--sev-blocked:#dc2626;--sev-unavail:#dc2626;--sev-cao:#d97706;--avail-ok:#16a34a;--avail-block-fg:#fff;--avail-unavailable:#ef4444;--avail-preferred:#16a34a;--avail-available-bg:#bde8cd;--avail-available-edge:#22c55e8c;--avail-slot-bg:#22c55e1f;--avail-blocked-stripe:#dc2626d9;--avail-blocked-stripe-alt:#b91c1cd9;--avail-blocked-edge:#991b1be6;--avail-handle-bg:#fff;--avail-handle-edge:#00000040;--avail-hour-line:#0000000b;--avail-draft-ring:#ffffffd9;--avail-unavailable-draft:#ef444480;--avail-preferred-draft:#16a34a80;--bench-fill-preferred:#bbf7d0;--bench-fill-ok:#dcfce7;--bench-fill-warn:#fed7aa;--bench-fill-blocked:#fee2e2;--bench-star:#15803d;--font:"Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--sp-12:3rem;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:9999px;--control-h:34px;--control-h-sm:31px;--modal-w-sm:400px;--modal-w-md:480px;--modal-w-lg:880px;--modal-w-xl:920px;--page-w-narrow:720px;--page-w-wide:1080px;--page-w-full:1600px;--onboarding-card-w:760px;--onboarding-card-skel-h:17.5rem;--z-modal:1000;--z-popover:1100;--z-toast:1200;--z-drag:1300;--popover-offset:4px;--popover-gutter:8px;--picker-list-max-h:clamp(12rem, 100vh - 22rem, 24rem)}@supports (height:100dvh){:root{--picker-list-max-h:clamp(12rem, 100dvh - 22rem, 24rem)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#0f172a;--bg-surface:#1e293b;--bg-surface-raised:#273449;--bg-header-tint:#1b2536;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverse:#f8fafc;--indigo-50:#273449;--indigo-100:#334155;--indigo-200:#475569;--primary-light:#1e2a4a;--primary-ring:#818cf859;--primary-wash:#818cf82e;--accent-chip-bg:var(--indigo-600);--accent-chip-fg:var(--text-inverse);--icon-filled-bg:var(--indigo-100);--icon-filled-fg:var(--indigo-300);--brand-indigo:var(--indigo-400);--brand-cyan:var(--cyan-500);--border-subtle:#334155;--border-medium:#475569;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000080, 0 1px 2px #0006;--shadow-md:0 4px 8px #00000073, 0 2px 4px #0006;--shadow-lg:0 12px 24px #00000080, 0 4px 8px #0006;--shadow-modal:0 20px 48px #0009, 0 8px 16px #00000080;--shadow-sheet:0 -6px 24px #00000080;--skeleton-base:var(--bg-surface-raised);--skeleton-highlight:#334155;--status-open-bg:#0f2a1a;--status-open-text:#86efac;--status-open-border:#166534;--status-draft-bg:#2a2410;--status-draft-text:#fde68a;--status-draft-border:#854d0e;--status-filled-bg:#1e2a4a;--status-filled-text:#c7d2fe;--status-filled-border:#3730a3;--status-danger-bg:#3a1c1c;--status-danger-text:#fca5a5;--status-danger-border:#7f1d1d;--status-info-bg:#0c2537;--status-info-text:#7dd3fc;--status-info-border:#0e3350;--landed-bg:var(--primary-light);--drop-target-bg:#0c2537;--drop-target-header-bg:#0e3350;--drop-target-border:#38bdf8;--drop-soft-bg:#3a2e12;--drop-soft-border:#f59e0b;--warning:#f59e0b;--warning-bg:#2a2410;--warning-text:#fcd34d;--warning-border:#854d0e;--sev-blocked:#f87171;--sev-unavail:#f87171;--sev-cao:#fbbf24;--avail-ok:#4ade80;--avail-available-bg:#1f4a31;--avail-hour-line:#ffffff0f;--bench-fill-preferred:#4ade8047;--bench-fill-ok:#4ade8024;--bench-fill-warn:#fb923c38;--bench-fill-blocked:#f871712e;--bench-star:#86efac}}@layer base{@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0;padding:0}.planner-shell{flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.planner-scroll{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;-webkit-user-select:none;user-select:none;flex:auto;min-height:0;overflow:hidden auto}.planner-scroll input,.planner-scroll textarea{-webkit-user-select:text;user-select:text}.planner-scroll::-webkit-scrollbar{width:12px}.planner-scroll::-webkit-scrollbar-track{background:0 0}.planner-scroll::-webkit-scrollbar-thumb{background:var(--border-medium);background-clip:content-box;border:3px solid #0000;border-radius:8px}.planner-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}body{font-family:var(--font);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.brand-lockup{align-items:center;gap:var(--sp-2);font-size:var(--text-xl);letter-spacing:-.02em;white-space:nowrap;color:var(--brand-indigo);font-weight:700;display:inline-flex}.brand-mark{flex:none;width:1.4em;height:1.4em;display:block}.brand-text{min-width:0}.brand-text span{color:var(--brand-cyan)}.brand-lockup--lg{font-size:var(--text-2xl)}.menu-mark{flex:none;display:block}.menu-mark-line{stroke:currentColor;stroke-linecap:round;transition:stroke var(--motion-menu-morph) ease}.menu-mark[data-open=true] .menu-mark-line--indigo{stroke:var(--brand-mark-indigo)}.menu-mark[data-open=true] .menu-mark-line--cyan{stroke:var(--brand-mark-cyan)}.topbar{padding:var(--sp-4) var(--sp-6);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);z-index:100;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid;position:sticky;top:0}.topbar-brand{justify-self:stretch;align-items:center;min-width:0;display:flex}.topbar-brand,.app-drawer-brand{--brand-row-gap:var(--sp-4);gap:var(--brand-row-gap)}.topbar-wordmark,.app-drawer-wordmark{cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-family:inherit}.topbar-wordmark:hover,.app-drawer-wordmark:hover{opacity:.85}.topbar-wordmark:focus-visible,.app-drawer-wordmark:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}.topbar-title{font-size:var(--text-xl);letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;justify-self:center;margin:0;font-weight:700;overflow:hidden}.topbar-title-marker{vertical-align:middle;margin-inline-start:var(--sp-2);display:inline-flex}.topbar-title-skeleton{vertical-align:middle;width:9rem;height:1.5rem;display:inline-block}.topbar-title-skeleton--mobile{width:6rem;height:1rem}.topbar-meta{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:2px 0 0;font-weight:500;overflow:hidden}.topbar-actions{align-items:center;gap:var(--sp-2);justify-self:end;display:flex}.topbar-title-mobile{display:none}.branch-switcher{display:inline-block;position:relative}.branch-switcher-trigger{max-width:180px;font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast), background-color var(--motion-fast);align-items:center;gap:6px;padding:6px 8px 6px 10px;font-weight:600;display:inline-flex}.branch-switcher-trigger:hover{border-color:var(--primary);background:var(--bg-surface)}.branch-switcher-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.branch-switcher-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch-switcher-trigger .nav-dot{flex-shrink:0}.branch-switcher-caret{color:var(--text-secondary);transition:transform var(--motion-fast);flex-shrink:0}.branch-switcher-trigger[aria-expanded=true] .branch-switcher-caret{transform:rotate(180deg)}.branch-switcher-menu{z-index:200;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);min-width:100%;max-width:240px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:5px;display:flex}.branch-switcher-option{text-align:left;font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);border-radius:var(--r-sm);cursor:pointer;transition:background var(--motion-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-weight:500;display:flex}.branch-switcher-option-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch-switcher-option:hover,.branch-switcher-option:focus-visible{background:var(--bg-app)}.branch-switcher-option.active{color:var(--primary);font-weight:600}.branch-switcher-option.active:hover{background:var(--primary-light)}.branch-switcher-option svg{color:var(--primary);flex-shrink:0}.branch-switcher-option-dot{flex:none;margin-left:auto}.hours-pill{position:relative}.hours-pill-label{color:var(--text-secondary);font-weight:500}.hours-pill-pop{z-index:200;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);min-width:180px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:8px;display:flex}.hours-pill-row{font-size:var(--text-sm);color:var(--text-primary);border-radius:var(--r-sm);justify-content:space-between;align-items:center;gap:12px;padding:5px 7px;display:flex}.hours-pill-row:hover{background:var(--bg-app)}@media (width<=640px){.topbar{padding:var(--sp-3) var(--sp-4);grid-template-columns:1fr auto}.topbar-meta,.topbar-title{display:none}.topbar-title-mobile{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;display:block;overflow:hidden}.topbar-brand,.app-drawer-brand{--brand-row-gap:var(--sp-2)}.branch-switcher-trigger{max-width:130px}.hours-pill{display:none}}.app-drawer:focus{outline:none}.app-drawer-backdrop{background:var(--overlay-backdrop);z-index:calc(var(--z-modal) + var(--modal-depth,0));animation:app-drawer-fade-in var(--motion-menu-morph) ease;position:fixed;inset:0}.app-drawer-panel{background:var(--bg-surface);width:280px;max-width:84vw;height:100dvh;box-shadow:var(--shadow-lg);z-index:calc(var(--z-modal) + var(--modal-depth,0));padding:var(--sp-4);gap:var(--sp-4);animation:app-drawer-slide-in var(--motion-menu-morph) ease;outline:none;flex-direction:column;display:flex;position:fixed;top:0;left:0}.app-drawer-header{box-sizing:border-box;height:var(--drawer-anchor-bottom,calc(var(--sp-4) + 36px));border-bottom:1px solid var(--border-subtle);flex:none}.app-drawer-brand{top:var(--drawer-anchor-top,var(--sp-4));left:var(--drawer-anchor-left,var(--sp-4));z-index:calc(var(--z-modal) + var(--modal-depth,0) + 1);background:var(--bg-surface);align-items:center;display:flex;position:fixed}.app-drawer-brand .brand-mark,.app-drawer-brand .brand-text,.app-drawer-toggle .menu-mark{transition:opacity var(--motion-menu-morph) ease, transform var(--motion-menu-morph) ease}.app-drawer-brand--open .brand-mark{opacity:0}.app-drawer-brand--open .brand-text{transform:translateX(calc(-1 * (var(--brand-row-gap) + 1.4em + var(--sp-1))))}.app-drawer-brand--open .app-drawer-toggle .menu-mark{transform:scale(1.4)}.app-drawer-nav{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow-y:auto}.app-drawer-footer{gap:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;display:flex}.app-drawer-item{align-items:center;gap:var(--sp-4);border-radius:var(--r-md);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--motion-fast) var(--ease-out);background:0 0;border:none;padding:.65rem .75rem;font-size:.9rem;font-weight:500;display:flex}.app-drawer-item:hover{background:var(--bg-app)}.app-drawer-item.active{background:var(--bg-app);color:var(--primary);font-weight:600}.app-drawer-divider{background:var(--border-subtle);height:1px;margin:8px 12px}.app-drawer-scope{font-weight:600}.app-drawer-badge{background:var(--status-info-text,currentColor);border-radius:50%;width:8px;height:8px;margin-left:auto}.app-drawer-item-count{margin-left:auto;display:inline-flex}.app-drawer-footer-row{align-items:stretch;gap:var(--sp-2);display:flex}.app-drawer-footer-row .app-drawer-item{flex:1;min-width:0}.app-drawer-profile-text{flex-direction:column;min-width:0;display:flex}.app-drawer-profile-text strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.app-drawer-profile-text span{color:var(--text-secondary);font-size:var(--text-xs)}.app-drawer-icon-btn{flex-shrink:0;width:40px}.app-drawer-icon-btn.icon-btn--danger{color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.app-drawer-panel[data-motion-state=closing]{animation:app-drawer-slide-out var(--motion-menu-morph) ease forwards}.app-drawer-backdrop[data-motion-state=closing]{animation:app-drawer-fade-out var(--motion-menu-morph) ease forwards}.hamburger-btn,.app-drawer-toggle{border-radius:var(--r-md);width:36px;height:36px;color:var(--text-primary);cursor:pointer;transition:background var(--motion-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.hamburger-btn:hover{background:var(--bg-app)}.app-drawer-toggle:hover{opacity:.85}}.app-drawer-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}.pwa-install-card{background:var(--bg-header-tint);border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px 10px;margin:0 16px 12px;padding:12px;display:grid}.pwa-install-card__text{flex-direction:column;min-width:0;display:flex}.pwa-install-card__text strong{color:var(--text-primary);font-size:14px}.pwa-install-card__text span{color:var(--text-secondary);font-size:12px}.pwa-install-card__cta{grid-column:1/-1}.pwa-sheet-steps{flex-direction:column;gap:14px;margin:8px 0 20px;padding-left:20px;display:flex}.pwa-sheet-steps li{color:var(--text-primary);align-items:center;gap:8px;display:flex}.chunk-error{justify-content:center;align-items:center;gap:var(--sp-4);min-height:60vh;padding:var(--sp-6);text-align:center;color:var(--text-primary);flex-direction:column;display:flex}.chunk-error-reload{padding:var(--sp-2) var(--sp-4);border:1px solid var(--border-medium);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.top-progress-bar{z-index:2000;background:linear-gradient(90deg, transparent, var(--primary), transparent);height:3px;animation:top-progress-slide var(--motion-loop-progress) linear infinite;background-repeat:no-repeat;background-size:40% 100%;position:fixed;top:0;left:0;right:0}.page-fallback-block{height:60vh}}@layer primitives{.btn-primary{align-items:center;gap:var(--sp-2);font-family:var(--font);font-size:var(--text-sm);color:var(--text-inverse);background:var(--primary);border-radius:var(--r-md);cursor:pointer;transition:background var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);white-space:nowrap;border:none;padding:.5rem 1rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 0 0 3px var(--primary-ring)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-primary:disabled:hover{background:var(--primary)}.btn-publish{align-items:center;gap:var(--sp-2);font-family:var(--font);font-size:var(--text-sm);color:var(--fill-fg);background:var(--fill-publish);border-radius:var(--r-md);box-shadow:var(--shadow-sm);cursor:pointer;white-space:nowrap;transition:background var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);border:none;padding:.5rem 1rem;font-weight:700;display:inline-flex}.btn-publish:disabled{background:var(--border-medium);color:var(--text-secondary);box-shadow:none;cursor:not-allowed}.btn-ghost{align-items:center;gap:var(--sp-2);font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast);white-space:nowrap;padding:.5rem 1rem;font-weight:600;display:inline-flex}.btn-ghost:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost:disabled:hover{border-color:var(--border-medium);color:var(--text-primary)}.btn-secondary{align-items:center;gap:var(--sp-2);font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--r-md);cursor:pointer;transition:border-color var(--motion-fast), color var(--motion-fast), box-shadow var(--motion-fast);white-space:nowrap;padding:.5rem 1rem;font-weight:600;display:inline-flex}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn-link{font-family:var(--font);font-size:var(--text-sm);color:var(--primary);border-radius:var(--r-sm);cursor:pointer;transition:color var(--motion-fast), background var(--motion-fast);background:0 0;border:none;align-items:center;padding:.25rem .4rem;font-weight:600;display:inline-flex}.btn-link:hover{color:var(--primary-hover);background:var(--primary-light)}.btn-link:disabled{opacity:.6;cursor:not-allowed;background:0 0}.btn-danger{align-items:center;gap:var(--sp-2);font-family:var(--font);font-size:var(--text-sm);color:var(--status-danger-text);background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:var(--r-md);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);white-space:nowrap;padding:.5rem 1rem;font-weight:600;display:inline-flex}.btn-danger:hover{background:var(--status-danger-bg);border-color:var(--status-danger-text)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn--sm{font-size:var(--text-sm);padding:.3rem .6rem}[class*=btn-][aria-busy=true]{cursor:progress;position:relative}[class*=btn-][aria-busy=true]:disabled{opacity:1}.btn__label{align-items:center;gap:inherit;color:#0000;display:inline-flex}.btn__spinner{border-radius:var(--r-full);width:1em;height:1em;animation:spin var(--motion-loop-spin) linear infinite;border:.15em solid;border-top-color:#0000;margin:auto;position:absolute;inset:0}.export-buttons{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.icon-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--r-sm);transition:background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-btn:hover{background:var(--primary-light);color:var(--primary)}.icon-btn:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn--danger:hover{background:var(--status-danger-bg);color:var(--status-danger-text)}.icon-btn:disabled:hover{color:var(--text-muted);background:0 0}.icon-btn--sm{padding:2px}.icon-btn--filled{background:var(--icon-filled-bg);color:var(--icon-filled-fg)}.icon-btn--filled:hover{background:var(--primary-light);color:var(--primary)}.icon-btn--sm.icon-btn--filled{width:22px;height:22px;padding:0}.menu-button{display:inline-block;position:relative}.menu-button-menu{z-index:50;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);min-width:160px;box-shadow:var(--shadow-md);flex-direction:column;padding:4px;display:flex}.menu-button-item{text-align:left;font-family:var(--font);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;padding:.4rem .7rem;font-weight:500}.menu-button-item:hover,.menu-button-item:focus-visible{background:var(--bg-app);color:var(--text-primary)}.btn-full-width{justify-content:center;width:100%}.modal-footer{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.modal-footer-destructive{display:flex}.modal-footer-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;margin-left:auto;display:flex}.modal-header{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.modal-hd-title{overflow-wrap:anywhere;min-width:0;font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.modal-hd-close{color:var(--text-muted)}@media (width<=640px){.toolbar-action-label,.toolbar-action-chevron{display:none}.toolbar-action{padding-inline:var(--sp-2)}}.avatar{color:var(--fill-fg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.modal-overlay{--modal-gutter:var(--sp-6);z-index:calc(var(--z-modal) + var(--modal-depth,0));padding:var(--modal-gutter);overscroll-behavior:contain;justify-content:center;align-items:safe center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-surface{width:100%}.modal-surface:focus{outline:none}@supports not (align-items:safe center){.modal-overlay{align-items:flex-start}.modal-surface{margin-block:auto}}.modal-backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{max-width:var(--modal-w-md);padding:var(--sp-6);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--r-lg);box-shadow:var(--shadow-modal);position:relative}.modal-panel--sm{max-width:var(--modal-w-sm)}.modal-panel--lg{max-width:var(--modal-w-lg)}.modal-panel--xl{max-width:var(--modal-w-xl)}@media (width<=640px){.modal-overlay{--modal-gutter:var(--sp-4)}.modal-panel{padding:var(--sp-5)}}.modal-text{margin:0 0 var(--sp-4);font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.modal-subheading{margin:0 0 var(--sp-2);font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.modal-list{margin:0 0 var(--sp-4);padding-left:var(--sp-5);max-height:30vh;font-size:var(--text-sm);color:var(--text-primary);overflow-y:auto}.modal-list>li+li{margin-top:var(--sp-1)}.modal-note{margin:var(--sp-2) 0 var(--sp-4);font-size:var(--text-xs);color:var(--text-muted)}.export-group{margin:0 0 var(--sp-5);border:none;padding:0}.export-group legend{padding:0 0 var(--sp-2);font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.export-pills{gap:var(--sp-2);flex-wrap:wrap;display:flex}.export-pills+.form-check{margin:var(--sp-3) 0 0}.trade-legs{align-items:stretch;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-direction:column;display:flex}.trade-leg{padding:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-app)}.trade-leg-when{margin:0 0 var(--sp-2);font-size:var(--text-base);color:var(--text-primary);font-weight:600}.trade-leg-route{align-items:center;gap:var(--sp-2);font-size:var(--text-sm);color:var(--text-primary);flex-wrap:wrap;margin:0;display:flex}.trade-leg-party{align-items:center;gap:var(--sp-1);display:inline-flex}.trade-leg-arrow{color:var(--text-muted);flex-shrink:0}.trade-legs-divider{color:var(--text-muted);align-self:center}.forgot-modal-form{flex-direction:column;gap:14px;display:flex}.save-template-manage{color:var(--text-muted);margin:0 0 16px;font-size:12px}.save-template-manage-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.use-template-datenav{justify-content:space-between;width:100%;margin-bottom:16px}.use-template-datenav-label{flex:1}.swap-modal-row{color:var(--text-primary);align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.swap-modal-arrow{color:var(--text-muted);flex-shrink:0}.swap-modal-who{font-weight:600}.swap-modal-miss{align-items:flex-start;gap:var(--sp-1);color:var(--warning-text);margin:0 0 6px 20px;font-size:13px;display:flex}.swap-modal-miss svg{flex-shrink:0;margin-top:.2em}.swap-modal-toggle{margin-bottom:.75rem}.template-conflict-row{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.template-conflict-name{font-weight:600}.template-conflict-when{color:var(--text-muted);font-size:.85em}.template-conflict-reason{margin-left:auto;font-size:.85em}.sheet-backdrop{z-index:calc(var(--z-modal) + var(--modal-depth,0));background:var(--overlay-backdrop);position:fixed;inset:0}.sheet{z-index:calc(var(--z-modal) + var(--modal-depth,0));background:var(--bg-surface);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:70vh;padding:var(--sp-3) 14px calc(14px + env(safe-area-inset-bottom));box-shadow:var(--shadow-sheet);position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet:focus{outline:none}.sheet--non-blocking{border-top:1px solid var(--border-medium)}.form-label{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--sp-1);font-weight:600;display:block}.form-input{width:100%;padding:.5rem var(--sp-3);font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--r-sm);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.form-input:disabled{background-color:var(--bg-app);color:var(--text-muted);cursor:not-allowed;opacity:.7}.form-group{margin-bottom:var(--sp-5)}.form-stack{gap:var(--sp-4);flex-direction:column;display:flex}.form-stack>.form-group{margin-bottom:0}.modal-panel .form-group{margin-bottom:var(--sp-4)}textarea.form-input{resize:vertical;line-height:1.45}.form-input.is-invalid,.form-input[aria-invalid=true]{border-color:var(--status-danger-text)}.form-input.is-invalid:focus,.form-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--status-danger-bg)}.form-label-row{align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-1);display:flex}.form-label-row .form-label{margin-bottom:0}.form-label-row .shift-card-avail-warn{font-size:var(--text-base)}.form-input-row{align-items:center;gap:var(--sp-2);display:flex}.form-input-row .form-input{flex:1;min-width:0}.form-check{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;display:flex}.form-check.is-disabled{color:var(--text-muted);cursor:not-allowed}.form-check.is-multiline{align-items:flex-start}.form-check.is-multiline input{margin-top:var(--sp-1);flex-shrink:0}.form-check.is-invalid{margin-bottom:var(--sp-1)}.form-check-body{flex-direction:column;gap:2px;display:flex}.form-check-desc{font-size:var(--text-xs);color:var(--text-secondary);font-weight:400}.form-check-row{align-items:center;gap:var(--sp-1);margin:0 0 var(--sp-3);display:flex}.form-check-row>.form-check{margin:0}.form-check.is-flush{flex:1;margin:0}input[type=checkbox]{appearance:none;border:1.5px solid var(--border-medium);border-radius:var(--r-sm);background:var(--bg-surface);cursor:pointer;vertical-align:middle;width:18px;height:18px;transition:background var(--motion-base) var(--ease-out), border-color var(--motion-base) var(--ease-out), box-shadow var(--motion-base) var(--ease-out);flex-shrink:0;margin:0;position:relative}input[type=checkbox]:hover:not(:disabled){border-color:var(--primary);background:var(--primary-light)}input[type=checkbox]:checked,input[type=checkbox]:indeterminate{background:var(--primary);border-color:var(--primary)}input[type=checkbox]:checked:hover:not(:disabled),input[type=checkbox]:indeterminate:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}input[type=checkbox]:checked:after{content:"";border:solid var(--text-inverse);width:5px;height:9px;animation:checkbox-check var(--motion-base) var(--ease-out);border-width:0 2px 2px 0;position:absolute;top:1px;left:5px;transform:rotate(45deg)}input[type=checkbox]:indeterminate:after{content:"";background:var(--text-inverse);width:10px;height:2px;animation:checkbox-dash var(--motion-base) var(--ease-out);border-radius:1px;position:absolute;top:7px;left:3px}input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.checkbox{align-items:center;gap:var(--sp-2);display:inline-flex}.checkbox-label{font-size:var(--text-sm);color:var(--text-primary)}.form-datefield{position:relative}.form-datefield-trigger{justify-content:space-between;align-items:center;gap:var(--sp-2);text-align:left;cursor:pointer;display:flex}.form-datefield-trigger.is-empty .form-datefield-value{color:var(--text-muted)}.form-datefield-icon{color:var(--text-muted);flex-shrink:0}.form-datefield-menu{z-index:1000;background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--r-md,8px);width:260px;max-width:100%;box-shadow:var(--shadow-lg);padding:10px}.form-datefield-menu--fixed{z-index:var(--z-popover);position:fixed}.form-datefield-menu--columns{width:280px;padding:4px}.form-datefield-columns{display:flex}.form-datefield-input{min-width:0;font:inherit;color:var(--text-primary);background:0 0;border:none;outline:none;flex:auto;padding:0}.form-datefield-input::placeholder{color:var(--text-muted)}.form-datefield-iconbtn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:inline-flex}.form-datefield-trigger.is-invalid{border-color:var(--status-danger-text)}.form-datefield-trigger.is-disabled{opacity:.6}.form-optional{color:var(--text-muted);font-weight:400;font-size:var(--text-xs,.75rem)}.form-hint{margin:var(--sp-1) 0 0;font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.field-error-msg{color:var(--status-danger-text);margin-top:4px;font-size:12px;font-weight:500;display:block}.form-grid-2col{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.form-grid-2col>.form-group{margin-bottom:0}@media (width<=640px){.form-grid-2col{grid-template-columns:1fr}}.select-dropdown{position:relative}.select-dropdown-trigger{width:100%;min-height:42px;font-family:var(--font);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-medium);box-sizing:border-box;cursor:pointer;text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.select-dropdown-trigger:disabled{opacity:.55;cursor:not-allowed}.select-dropdown-value.is-empty{color:var(--text-secondary)}.select-dropdown-caret{color:var(--text-secondary);flex-shrink:0;display:inline-flex}.select-dropdown-menu{z-index:1000;background:var(--bg-surface-raised);border:1px solid var(--border-medium);max-height:240px;box-shadow:var(--shadow-lg);border-radius:6px;overflow-y:auto}.select-dropdown-option{color:var(--text-primary);cursor:pointer;padding:8px 12px;font-size:14px}.select-dropdown-option:hover,.select-dropdown-option:focus-visible{background:var(--bg-app)}.select-dropdown-option.is-selected{background:var(--primary-light);font-weight:600}.select-dropdown-option--hinted{align-items:center;gap:var(--sp-2);display:flex}.select-dropdown-value-hint-slot{width:16px;height:16px;vertical-align:middle;margin-inline-start:var(--sp-2);display:inline-block}.select-dropdown-value-hint{display:flex;position:absolute}.select-dropdown-trigger:disabled~.select-dropdown-value-hint{opacity:.55}.amount-stepper{align-items:center;gap:4px;display:inline-flex}.amount-stepper-btn{border:1px solid var(--border-medium);border-radius:var(--r-sm);background:var(--bg-surface);width:28px;height:28px;color:var(--text-primary);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.amount-stepper-btn:hover:not(:disabled){background:var(--bg-app)}.amount-stepper-btn:disabled{opacity:.45;cursor:not-allowed}.amount-stepper-input{text-align:center;border:1px solid var(--border-medium);border-radius:var(--r-sm);background:var(--bg-surface);width:44px;height:28px;color:var(--text-primary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;outline:none;padding:0 4px}.amount-stepper-input:disabled{opacity:.6;cursor:not-allowed}.amount-stepper-input.is-inherited{color:var(--text-muted)}.inline-rename{align-items:center;gap:var(--sp-1);flex:1;min-width:0;display:flex}.inline-rename__name{min-width:0;cursor:inherit;flex-direction:column;gap:2px;display:flex}.inline-rename__edit{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.inline-rename__input{width:100%;min-width:0}.skeleton{background:linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-highlight) 50%, var(--skeleton-base) 75%);animation:shimmer var(--motion-loop-shimmer) var(--ease-in-out) infinite;border-radius:var(--r-sm);background-size:1200px 100%}.skeleton-card{background:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.skeleton-line{border-radius:var(--r-sm);height:10px}.planning-skeleton{width:100%}.planning-skeleton .topbar-actions{gap:10px}.planning-skeleton-meta-line{border-radius:4px;width:160px;height:10px;display:inline-block}.planning-skeleton-btn-a{border-radius:6px;width:110px;height:30px}.planning-skeleton-btn-b{border-radius:6px;width:90px;height:30px}.planning-skeleton-controls{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);justify-content:space-between;align-items:center;display:flex}.planning-skeleton-ctrl-left{border-radius:8px;width:190px;height:34px}.planning-skeleton-ctrl-group{gap:10px;display:flex}.planning-skeleton-ctrl-a{border-radius:8px;width:150px;height:34px}.planning-skeleton-ctrl-b{border-radius:8px;width:120px;height:34px}.planning-skeleton-grid{padding:var(--sp-4) var(--sp-6);grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.planning-skeleton-col{flex-direction:column;gap:8px;display:flex}.planning-skeleton-col-head{border-radius:6px;height:20px;margin-bottom:4px}.planning-skeleton-line-60{width:60%}.planning-skeleton-line-40{width:40%}.planning-skeleton-line-30{width:30%;height:8px}.error-state{align-items:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.error-state__msg{max-width:32rem;color:var(--status-danger-text);margin:0}.error-state__retry{align-self:center}.empty-state{align-items:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-secondary);flex-direction:column;display:flex}.empty-state__icon{width:2.5rem;height:2.5rem;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.empty-state__icon svg{width:100%;height:100%}.empty-state__title{color:var(--text-primary);margin:0;font-weight:600}.empty-state__subtitle{max-width:32rem;color:var(--text-secondary);margin:0}.empty-state__action{align-items:center;gap:var(--sp-3);flex-direction:column;width:100%;display:flex}.empty-state--compact{gap:var(--sp-1);padding:var(--sp-2) var(--sp-1);font-size:var(--text-sm);line-height:1.4}.empty-state--compact .empty-state__icon{width:1.25rem;height:1.25rem}.empty-state--compact .empty-state__title{color:var(--text-muted);font-style:italic;font-weight:400}.empty-state--compact .empty-state__subtitle{color:var(--text-secondary)}.alert{align-items:flex-start;gap:var(--sp-2);margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--text-sm);border:1px solid;line-height:1.45;display:flex}.alert__icon{flex:none;margin-top:.1em;display:inline-flex}.alert__body{flex:1;min-width:0}.alert__action{flex:none;align-self:center}.alert--danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-text)}.alert--warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.alert--success{background:var(--status-open-bg);border-color:var(--status-open-border);color:var(--status-open-text)}.alert--info{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info-text)}.error-text{margin:0 0 var(--sp-2);color:var(--status-danger-text);font-size:var(--text-sm)}.toast-container{gap:var(--sp-2);z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:16px;right:16px}.toast{align-items:center;gap:var(--sp-2);border-radius:var(--r-lg);min-width:15rem;max-width:min(24rem,100vw - 32px);color:var(--toast-fg);font-size:var(--text-sm);box-shadow:var(--shadow-lg);animation:toast-in var(--motion-base) var(--ease-out) both;padding:12px 16px;font-weight:600;line-height:1.35;display:flex}.toast[data-motion-state=closing]{animation:toast-out calc(var(--motion-base) * .7) var(--ease-in) both}.toast__icon{flex:none;line-height:0;display:inline-flex}.toast__icon svg{width:18px;height:18px}.toast--actionable{pointer-events:auto}.toast__msg{flex:auto}.toast .toast__action,.toast .toast__close{color:inherit;background:0 0;flex:none}.toast .toast__action{border-color:currentColor}.toast .toast__action:hover,.toast .toast__close:hover{color:inherit;background:var(--toast-action-hover-bg);box-shadow:none;border-color:currentColor}.toast-success{background:var(--toast-success-bg)}.toast-info{background:var(--toast-info-bg)}.toast-error{background:var(--toast-error-bg)}.load-more{align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;flex-direction:column;display:flex}.load-more__skeleton{align-self:stretch}.load-more__skeleton-row{margin-bottom:var(--sp-3)}.team-color-dot{border-radius:var(--r-full);flex-shrink:0;width:10px;height:10px}.employee-picker-field{position:relative}.employee-picker-unassigned-chip{background-color:var(--bg-surface-raised);width:24px;height:24px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.custom-user-select-trigger{font:inherit;color:inherit;text-align:start;cursor:pointer;border:1px solid var(--border-medium);box-sizing:border-box;background-color:var(--bg-surface);border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:10px 12px;font-size:14px;display:flex}.custom-user-select-trigger[aria-disabled=true]{cursor:not-allowed;opacity:.55}.employee-picker-trigger-content{align-items:center;gap:8px;display:flex}.employee-picker-selected-name{color:var(--text-primary);font-weight:500}.employee-picker-meta{color:var(--text-secondary);font-size:12px}.employee-picker-caret{color:var(--text-secondary);flex-shrink:0;display:inline-flex}.employee-picker-open-label{color:var(--text-secondary)}.custom-user-select-options{background-color:var(--bg-surface-raised);border:1px solid var(--border-medium);box-shadow:var(--shadow-lg);z-index:1000;border-radius:6px;max-height:200px;overflow-y:auto}.custom-user-select-option{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;display:flex}.custom-user-select-option:focus-visible,.custom-user-select-option.is-unassigned[aria-selected=true]{background-color:var(--bg-app)}.custom-user-select-option:not(.is-unassigned)[aria-selected=true]{background-color:var(--primary-light)}.custom-user-select-option[aria-selected=true] .employee-picker-option-name{font-weight:600}.employee-picker-option-muted{color:var(--text-secondary);font-size:14px}.employee-picker-manage-link{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.employee-picker-option-name{color:var(--text-primary);font-size:14px}.employee-picker-status{align-items:center;gap:calc(var(--sp-1) / 2);margin-left:auto;font-size:11px;display:inline-flex}.employee-picker-status.is-blocked{color:var(--sev-blocked)}.employee-picker-status.is-unavail{color:var(--sev-unavail)}.employee-picker-status.is-ok{color:var(--avail-ok)}.employee-picker-status.is-warn{color:var(--warning-text,var(--text-muted))}.employee-picker-group-label{color:var(--text-muted);text-transform:uppercase;padding:4px 12px;font-size:11px;font-weight:600}.date-picker-root{position:relative}.date-picker-trigger{cursor:pointer;background:0 0;border:none}.date-picker-week-no{color:var(--text-secondary);margin-left:.3em;font-weight:400}.date-picker-menu{background:var(--bg-surface-raised);border:1px solid var(--border-medium);box-shadow:var(--shadow-lg);z-index:1000;border-radius:8px;width:260px;padding:10px}.calendar-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.calendar-nav{cursor:pointer;font-size:var(--text-base);color:var(--text-secondary);border-radius:var(--r-sm);background:0 0;border:none;align-items:center;padding:2px 6px;line-height:1;display:inline-flex}.calendar-title{font-size:var(--text-sm);color:var(--text-primary);text-transform:capitalize;font-weight:700}button.calendar-title{cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none}.calendar-months,.calendar-years{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.calendar-month,.calendar-year{font-size:var(--text-sm);border:1px solid var(--border-medium);border-radius:var(--r-sm);cursor:pointer;background:var(--bg-surface);color:var(--text-primary);text-transform:capitalize;padding:8px 0}.calendar-dow,.calendar-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-dow{margin-bottom:4px}.calendar-dow-cell{text-align:center;font-size:var(--text-xs);color:var(--text-muted);font-weight:600}.calendar-day{font-size:var(--text-sm);border-radius:var(--r-sm);cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:6px 0}.calendar-nav:hover,button.calendar-title:hover,.calendar-month:hover,.calendar-year:hover,.calendar-day:hover{background:var(--bg-app)}.calendar-month.is-selected,.calendar-year.is-selected,.calendar-day.is-selected,.calendar-month.is-selected:hover,.calendar-year.is-selected:hover,.calendar-day.is-selected:hover{background:var(--primary);color:var(--text-inverse)}.calendar-month.is-disabled,.calendar-year.is-disabled,.calendar-day.is-disabled{opacity:.35;cursor:default;pointer-events:none}.calendar-dow.has-week-status,.calendar-days.has-week-status{grid-template-columns:repeat(7,1fr) 14px}.calendar-week-marker{justify-content:center;align-items:center;display:flex}.date-picker-hint{text-align:center}.time24{position:relative}.time24-trigger{font:inherit;color:inherit;text-align:start;background:var(--bg-surface);cursor:pointer;border:1px solid var(--border-medium);box-sizing:border-box;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:10px 12px;font-size:14px;display:flex}.time24-trigger[aria-disabled=true]{cursor:not-allowed;opacity:.55}.time24-value{color:var(--text-primary);font-weight:500}.time24-icon{color:var(--text-secondary)}.time24-dropdown{background-color:var(--bg-surface-raised);border:1px solid var(--border-medium);box-shadow:var(--shadow-lg);z-index:1000;border-radius:6px;display:flex}.color-palette-root{line-height:0;display:inline-block;position:relative}.color-palette-trigger{border:2px solid var(--bg-surface);cursor:pointer;border-radius:50%;padding:0}.color-palette-trigger:disabled{cursor:not-allowed}.color-palette-tap .color-palette-trigger{position:relative}.color-palette-tap .color-palette-trigger:after{content:"";width:var(--sp-6);height:var(--sp-6);border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.color-palette-popover{z-index:1000;background:var(--bg-surface-raised);border:1px solid var(--border-medium);box-shadow:var(--shadow-lg);border-radius:10px;padding:10px}.color-palette-grid{gap:8px;display:grid}.color-palette-swatch{cursor:pointer;color:var(--fill-fg);border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.color-palette-swatch:disabled{cursor:not-allowed}.color-palette-footer{color:var(--text-secondary);align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.color-palette-footer-dot{width:10px;height:10px;box-shadow:0 0 0 1px var(--border-medium);border-radius:50%;flex:none;display:inline-block}.scroll-col{outline:none;flex:1;max-height:200px;padding:4px;position:relative;overflow-y:auto}.scroll-col:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.scroll-col__cell{text-align:center;color:var(--text-secondary);cursor:pointer;transition:background var(--motion-fast);border-radius:6px;margin:2px 0;padding:6px 0;font-size:14px;font-weight:500}.scroll-col__cell:hover{background:var(--bg-app)}.scroll-col__cell[aria-selected=true]{color:var(--text-inverse);background:var(--primary);font-weight:700}.scroll-col__cell[aria-disabled=true]{cursor:not-allowed;opacity:.35;background:0 0}.scroll-col-divider{background-color:var(--border-subtle);width:1px}.range-cal-headline{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.range-cal-dates{font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:700}.range-cal-arrow{vertical-align:-.125em;margin-inline:var(--sp-1);color:var(--text-muted);display:inline-flex}.range-cal-meta{margin:var(--sp-1) 0 0;font-size:var(--text-sm);color:var(--text-muted)}.range-cal-aside{align-items:center;gap:var(--sp-2);display:flex}.range-cal-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.range-cal-title{font-size:var(--text-base);text-transform:capitalize;font-weight:700}.range-cal-row{grid-template-columns:repeat(7,1fr);display:grid}.range-cal-dow{padding:var(--sp-1) 0;text-align:center;font-size:var(--text-xs);color:var(--text-muted);text-transform:capitalize;font-weight:600}.range-cal-day{width:100%;min-height:var(--sp-10);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.range-cal-day:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.range-cal-day.is-start:focus-visible,.range-cal-day.is-end:focus-visible{outline-color:var(--text-inverse)}.range-cal-day.is-outside{color:var(--text-muted)}.range-cal-day.is-today .range-cal-num{text-underline-offset:3px;text-decoration:underline}.range-cal-day.is-in-range{background:var(--primary-wash)}.range-cal-day.is-start,.range-cal-day.is-end{background:var(--primary);color:var(--text-inverse);font-weight:700}.range-cal-day.is-start{border-top-left-radius:var(--r-md);border-bottom-left-radius:var(--r-md)}.range-cal-day.is-end{border-top-right-radius:var(--r-md);border-bottom-right-radius:var(--r-md)}.range-cal-dot{bottom:var(--sp-1);position:absolute}.range-cal-day.is-start .range-cal-dot,.range-cal-day.is-end .range-cal-dot{box-shadow:0 0 0 2px var(--text-inverse)}.pill-select{display:inline-block;position:relative}.pill-select-trigger{align-items:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-3);background:var(--bg-app);border:1px solid var(--border-medium);border-radius:var(--r-full);font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out);font-weight:600;display:inline-flex}.pill-select-trigger:hover{background:var(--indigo-100)}.pill-select-trigger:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}@media (width<=640px){.pill-select-trigger{height:var(--control-h-sm)}}.pill-select-value{white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.pill-select-chevron,.pill-select-trigger>svg:first-child,.pill-select-option>svg:first-child{color:var(--text-secondary);flex-shrink:0}.pill-select-menu{z-index:50;min-width:100%;max-height:320px;padding:var(--sp-1);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow-y:auto}.pill-select-option{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--ease-out);background:0 0;border:none;font-weight:500;display:flex}.pill-select-option:hover,.pill-select-option:focus-visible{background:var(--bg-app)}.pill-select-option.is-selected{background:var(--primary-light);color:var(--primary);font-weight:600}.pill-select-option-label{text-overflow:ellipsis;flex:1;overflow:hidden}.pill-select-check{color:var(--primary);flex-shrink:0}.segmented{background:var(--bg-app);box-shadow:inset 0 0 0 1px var(--border-medium);border-radius:var(--r-full);gap:3px;padding:3px;display:inline-flex;position:relative}.segmented-pill{border-radius:var(--r-full);background:var(--bg-surface);box-shadow:var(--shadow-sm);pointer-events:none;z-index:0;transition:transform var(--motion-base) var(--ease-out), width var(--motion-base) var(--ease-out);position:absolute;top:3px;bottom:3px;left:0}.segmented-seg{z-index:1;font-family:var(--font);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--r-full);cursor:pointer;transition:color var(--motion-fast);white-space:nowrap;background:0 0;border:none;padding:.42rem 1.15rem;font-weight:600;position:relative}.segmented-seg:hover:not(.is-active){color:var(--text-primary)}.segmented-seg.is-active{color:var(--primary)}.segmented-seg:disabled{opacity:.6;cursor:not-allowed}.segmented--sm{gap:2px;padding:2px}.segmented--sm .segmented-pill{top:2px;bottom:2px}.segmented--sm .segmented-seg{font-size:var(--text-xs);padding:.2rem .65rem}.stepper{margin-bottom:var(--sp-8)}.stepper-list{align-items:flex-start;margin:0;padding:0;list-style:none;display:flex}.stepper-item{flex:1;align-items:flex-start;display:flex}.stepper-item:last-child{flex:none}.stepper-button{align-items:center;gap:var(--sp-1);font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.stepper-button:disabled{cursor:default}.stepper-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}.stepper-circle,.stepper-label{transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out)}.stepper-circle{width:var(--sp-8);height:var(--sp-8);border-radius:var(--r-full);font-weight:600;font-size:var(--text-sm);background-color:var(--border-subtle);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.stepper-label{font-size:var(--text-xs);white-space:nowrap}.is-current .stepper-circle,.is-reached .stepper-circle{background-color:var(--primary);color:var(--text-inverse)}.is-current .stepper-label{color:var(--text-primary);font-weight:600}.is-reached .stepper-button:hover .stepper-label{color:var(--text-primary);text-decoration:underline}.stepper-connector{height:2px;margin:calc(var(--sp-8) / 2 - 1px) var(--sp-2) 0;background-color:var(--border-subtle);flex:1;position:relative}.stepper-connector:after{content:"";background-color:var(--primary);transform-origin:0;transition:transform var(--motion-slow) var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}[dir=rtl] .stepper-connector:after{transform-origin:100%}.stepper-connector.is-filled:after{transform:scaleX(1)}@media (width<=640px){.is-reached .stepper-label,.is-locked .stepper-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.slide-swap[data-sliding]{overflow-x:clip}.slide-swap--fill,.slide-swap--fill>.slide-swap-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.toggle-pill{border-radius:var(--r-full);border:1px solid var(--border-medium);background:var(--bg-app);color:var(--text-secondary);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);padding:4px 10px;font-size:12px;font-weight:500}.toggle-pill.is-selected{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.toggle-pill:disabled{opacity:.55;cursor:not-allowed}.toggle-pill--md{min-width:var(--control-h);height:var(--control-h);padding:0 var(--sp-2);font-size:var(--text-sm);font-weight:600}.toggle-pill:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.person-select{gap:var(--sp-3);flex-direction:column;display:flex}.person-select-search{align-items:center;display:flex;position:relative}.person-select-search>svg{left:var(--sp-3);color:var(--text-muted);pointer-events:none;position:absolute}.person-select-search>.form-input{padding-left:calc(var(--sp-3) * 2 + 16px)}.person-select-grid{align-content:start;gap:var(--sp-2);max-height:var(--picker-list-max-h);overscroll-behavior:contain;padding:var(--sp-1);margin:calc(-1 * var(--sp-1));grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow-y:auto}@media (width<=640px){.person-select-grid{grid-template-columns:minmax(0,1fr)}}.person-tile{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out);display:flex}.person-tile:hover{border-color:var(--border-medium)}.person-tile.is-selected{border-color:var(--primary);background:var(--primary-light)}.person-tile:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.person-tile-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.person-tile-text{flex-direction:column;flex:1;min-width:0;display:flex}.person-tile-text>.person-tile-name{flex:none}.person-tile-sub{font-size:var(--text-xs);color:var(--text-secondary)}.person-tile-lock{color:var(--primary);flex-shrink:0}.person-select-skeleton-search{height:38px}.person-tile-skeleton{height:46px}.disclosure-pill{font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--r-full);cursor:pointer;white-space:nowrap;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out);align-items:center;gap:4px;padding:6px 10px;font-weight:600;display:inline-flex}.disclosure-pill:hover{border-color:var(--primary);background:var(--primary-light)}.disclosure-pill:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring);outline:none}.badge{align-items:center;gap:var(--sp-1);border-radius:var(--r-full);font-family:var(--font);white-space:nowrap;vertical-align:middle;border:1px solid #0000;font-weight:600;line-height:1.3;display:inline-flex}.badge--sm{padding:1px var(--sp-2);font-size:var(--text-xs)}.badge--md{padding:var(--sp-1) var(--sp-3);font-size:var(--text-sm)}.badge--neutral{color:var(--text-secondary);background:var(--bg-app);border-color:var(--border-subtle)}.badge--info{color:var(--status-info-text);background:var(--status-info-bg);border-color:var(--status-info-border)}.badge--success{color:var(--status-open-text);background:var(--status-open-bg);border-color:var(--status-open-border)}.badge--warning{color:var(--status-draft-text);background:var(--status-draft-bg);border-color:var(--status-draft-border)}.badge--danger{color:var(--status-danger-text);background:var(--status-danger-bg);border-color:var(--status-danger-border)}.badge--accent{color:var(--status-filled-text);background:var(--status-filled-bg);border-color:var(--status-filled-border)}.badge--solid{color:var(--fill-fg);border-color:#0000}.badge--solid.badge--neutral{color:var(--bg-surface);background:var(--text-secondary)}.badge--solid.badge--info{background:var(--fill-info)}.badge--solid.badge--success{background:var(--fill-success)}.badge--solid.badge--warning{color:var(--fill-warning-fg);background:var(--fill-warning)}.badge--solid.badge--danger{background:var(--fill-danger)}.badge--solid.badge--accent{color:var(--text-inverse);background:var(--primary)}.card{padding:var(--sp-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.card--lg{padding:var(--sp-6)}.card--raised{padding:var(--sp-8);box-shadow:var(--shadow-lg)}.card--flush{padding:0;overflow:hidden}.card--interactive{cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out)}.card--interactive:not(:disabled):hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.card--interactive:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.card--interactive:disabled{opacity:.6;cursor:default}.card.is-selected{border-color:var(--primary)}.card-title{margin:0 0 var(--sp-4);font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.page-header{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.page-header-title,.page-header-text{flex:1;min-width:0}.page-header-title{font-size:var(--text-xl);color:var(--text-primary);margin:0;font-weight:600}.page-header-text .page-header-title{flex:none}.page-header-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.page-header--section .page-header-title{font-size:var(--text-lg)}.page-body{max-width:var(--page-w-narrow);padding:var(--sp-4) var(--sp-6) var(--sp-12);margin:0 auto}.page-body--wide{max-width:var(--page-w-wide)}.page-body--full{max-width:var(--page-w-full)}@media (width<=640px){.page-body{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.tip-bubble{z-index:40;border-radius:var(--r-md);background:var(--bg-surface-raised);border:1px solid var(--border-subtle);width:max-content;max-width:240px;box-shadow:var(--shadow-md);font-size:var(--text-xs);color:var(--text-primary);text-align:left;white-space:normal;pointer-events:none;padding:6px 9px;font-weight:400;line-height:1.4;position:absolute}.tip-bubble--top{bottom:calc(100% + 6px)}.tip-bubble--bottom{top:calc(100% + 6px)}.tip-bubble--center{left:50%;transform:translate(-50%)}.tip-bubble--start{left:0}.tip-bubble--end{right:0}.tip-bubble--warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.tip-bubble--danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-text)}.tip-bubble--info{background:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info-text)}.tip-bubble--interactive{pointer-events:auto;cursor:default}.tip-bubble--cursor{z-index:60;max-width:min(240px, calc(100vw - 2 * var(--popover-gutter)));position:fixed}.tip-bubble--layer-popover{z-index:var(--z-popover)}.tip-bubble--fixed{position:fixed}.tip-anchor{position:relative}.tip-anchor>.tip-bubble{display:none}.tip-anchor:hover>.tip-bubble,.tip-anchor:focus-within>.tip-bubble{display:block}.tip-row{align-items:flex-start;gap:6px;padding:2px 0;line-height:1.35;display:flex}.tip-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:4px}.tip-dot.sev-blocked{background:var(--sev-blocked)}.tip-dot.sev-unavail{background:var(--sev-unavail)}.tip-dot.sev-cao{background:var(--sev-cao)}.tip-text{flex:auto}.info-tip{vertical-align:middle;cursor:default;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.info-tip__icon{color:var(--status-info-text);line-height:1;display:inline-flex}.info-tip__icon>svg{display:block}.info-tip__icon circle{fill:#0000;transition:fill var(--motion-fast) var(--ease-out)}.info-tip:hover .info-tip__icon circle,.info-tip:focus-within .info-tip__icon circle,.info-tip:focus-visible .info-tip__icon circle{fill:var(--status-info-bg)}.info-tip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.popover-anchored{transform:translateX(var(--popover-shift,0px));position:absolute}.popover-anchored[data-side=bottom]{top:calc(100% + var(--popover-offset))}.popover-anchored[data-side=top]{bottom:calc(100% + var(--popover-offset))}.popover-anchored[data-align=start]{left:0}.popover-anchored[data-align=end]{right:0}.popover-anchored[data-align=stretch]{left:0;right:0}.popover-anchored[data-align=center]{transform:translateX(calc(-50% + var(--popover-shift,0px)));left:50%}.chart{gap:var(--sp-3);flex-direction:column;margin:0;display:flex}.chart-canvas{height:calc(var(--sp-12) * 5)}.chart-tooltip{background:var(--bg-surface-raised);border:1px solid var(--border-subtle);border-radius:var(--r-md);color:var(--text-primary);font-size:var(--text-sm);padding:var(--sp-2) var(--sp-3)}.chart-legend{gap:var(--sp-1);font-size:var(--text-sm);color:var(--text-secondary);margin:0;padding:0;list-style:none;display:grid}.chart-legend li{align-items:center;gap:var(--sp-2);display:flex}.chart-legend-swatch{width:var(--sp-3);height:var(--sp-3);border-radius:var(--r-sm)}.chart-legend-value{color:var(--text-primary);font-variant-numeric:tabular-nums;margin-left:auto}.chart-legend--inline{gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;display:flex}.stat-tiles{grid-template-columns:repeat(auto-fit, minmax(calc(var(--sp-12) * 4), 1fr));gap:var(--sp-4);padding:0 var(--sp-4);display:grid}.stat-tile{gap:var(--sp-1);flex-direction:column;display:flex}.dashboard-card{gap:var(--sp-3);flex-direction:column;min-width:0;display:flex}.dashboard-card-title{font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:600}.stat-tile-label{align-items:center;gap:var(--sp-1);font-size:var(--text-sm);color:var(--text-secondary);display:inline-flex}.stat-tile-value{font-size:var(--text-2xl);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.stat-tile--warning{background:var(--warning-bg);border-color:var(--warning-border)}.stat-tile--warning .stat-tile-value{color:var(--warning-text)}.stat-tile-skeleton-label{width:40%;height:var(--text-sm)}.stat-tile-skeleton-value{width:60%;height:var(--text-2xl)}.dashboard-card-skeleton-title{width:30%;height:var(--text-base)}.dashboard-card-skeleton-canvas{height:calc(var(--sp-12) * 5);width:100%}.dashboard-card-skeleton-row{height:var(--sp-6);width:100%}.date-range{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.date-range-custom{align-items:center;gap:var(--sp-2);display:flex}.date-range-field{align-items:center;display:flex}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);color:var(--text-primary)}.data-table th,.data-table td{padding:var(--sp-2) var(--sp-3);text-align:start;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.data-table th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600}.data-table .is-end{text-align:end;font-variant-numeric:tabular-nums}.data-table tbody tr:last-child td{border-bottom:none}.data-table--interactive tbody tr,.data-table tbody tr.is-interactive{cursor:pointer}.data-table--interactive tbody tr:hover,.data-table tbody tr.is-interactive:hover{background:var(--bg-app)}.data-table--wrap td{white-space:normal}.data-table tfoot td{border-top:1px solid var(--border-medium);font-variant-numeric:tabular-nums;border-bottom:none;font-weight:600}.data-table-sort{align-items:center;gap:var(--sp-1);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;border-radius:var(--r-sm);transition:color var(--motion-fast) var(--ease-out);background:0 0;border:none;padding:0;display:inline-flex}.data-table-sort:hover,.data-table-sort.is-active{color:var(--text-primary)}.data-table-sort:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.data-table-sort svg{width:var(--sp-3);height:var(--sp-3);flex-shrink:0}.data-table-sort-idle{opacity:0;transition:opacity var(--motion-fast) var(--ease-out)}.data-table-sort:hover .data-table-sort-idle,.data-table-sort:focus-visible .data-table-sort-idle{opacity:.6}@media (hover:none){.data-table-sort-idle{opacity:.4}}.data-table th.is-end .data-table-sort{flex-direction:row-reverse}.legal-link{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.legal-link:hover{text-decoration-thickness:2px}.legal-link--muted{color:var(--text-muted);text-decoration:none}.legal-link--muted:hover,.legal-link--muted:focus-visible{color:var(--text-primary);text-decoration:underline}.legal-links{justify-content:center;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:var(--text-muted);display:flex}.now-line{border-top:2px solid var(--primary);z-index:3;pointer-events:none;height:0;position:absolute;left:0;right:3px}.now-line__dot{background:var(--primary);border-radius:50%;width:9px;height:9px;position:absolute;top:-5px;left:-1px}}@layer components{.shift-card{cursor:pointer;transition:box-shadow var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out)}.shift-card:hover,.shift-card:active{box-shadow:var(--shadow-md);transform:translateY(-1px)}.shift-card--pending-delete{opacity:.7;text-decoration:line-through}.shift-card-full,.shift-card-compact{background-color:var(--bg-surface-raised);border:2px solid var(--team-color);cursor:default}.shift-card-full{box-shadow:var(--shadow-sm);border-radius:8px}.shift-card-compact{box-shadow:var(--shadow-xs);border-radius:5px;flex-direction:column;gap:1px;padding:3px 8px;font-size:10px;display:flex;overflow:hidden}.shift-card--clickable{cursor:pointer}.shift-card--mine{border-color:var(--primary)}.shift-card-full.shift-card--mine{box-shadow:0 0 0 3px var(--primary-light)}.shift-card--tint{background-color:color-mix(in srgb, var(--team-color) 15%, var(--bg-surface));border:1px solid color-mix(in srgb, var(--team-color) 35%, transparent)}.shift-card-c-row{white-space:nowrap;align-items:center;gap:4px;display:flex;overflow:hidden}.shift-card-c-time{color:var(--text-primary);flex-shrink:0;font-weight:700}.shift-card-c-team{color:var(--text-muted);text-overflow:ellipsis;overflow:hidden}.shift-card-c-markers{flex-shrink:0;align-items:center;gap:3px;margin-left:auto;display:flex}.shift-card-c-mine-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:.5em;height:.5em;display:inline-block}.shift-card-c-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.shift-card-c-dot--open{border:1px solid var(--text-muted);box-sizing:border-box}.shift-card-c-assignee-name{color:var(--text-secondary);text-overflow:ellipsis;font-weight:500;overflow:hidden}.shift-card-c-open{color:var(--text-muted);text-overflow:ellipsis;font-style:italic;overflow:hidden}.shift-card-full{padding:calc(var(--sp-1) * 1.5) var(--sp-2)}.shift-card-header{margin-bottom:calc(var(--sp-1) / 2);justify-content:space-between;align-items:center;display:flex}.shift-card-team{color:var(--team-color);font-size:11px;font-weight:700}.shift-card--tint .shift-card-team{color:color-mix(in srgb, var(--team-color) 55%, var(--text-primary))}.shift-card-markers{align-items:center;gap:4px;display:flex}.shift-card-avail-warn{color:var(--sev-cao);font-size:17px;font-weight:700;line-height:1}.shift-card-avail-warn.sev-blocked{color:var(--sev-blocked)}.shift-card-avail-warn.sev-unavail{color:var(--sev-unavail)}.shift-card-avail-warn.sev-cao{color:var(--sev-cao)}.shift-card-time-slot{color:var(--text-primary);margin-bottom:var(--sp-1);font-size:13px;font-weight:600}.shift-card-assignee-row{align-items:center;gap:6px;display:flex}.shift-card-avatar-wrap{display:inline-flex}.shift-card-assignee-drag{align-items:center;gap:6px;display:inline-flex}.shift-card-assignee-name{color:var(--text-secondary);font-size:12px;font-weight:500}.shift-card-open{color:var(--text-muted);font-size:11px;font-style:italic}.shift-card-badges{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.shift-card-extra{align-items:center;gap:calc(var(--sp-1) / 2);color:var(--text-secondary);background-color:var(--indigo-100);border-radius:3px;padding:1px 4px;font-size:10px;display:inline-flex}.shift-card-extra-icon{flex-shrink:0}.shift-card-qualification{background-color:var(--status-filled-bg);color:var(--status-filled-text);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.shift-card-qualification--colored{background-color:color-mix(in srgb, var(--qual-color) 10%, transparent);color:var(--qual-color)}.shift-card-full,.shift-card-compact{position:relative}.shift-card-open-btn{cursor:inherit;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.shift-card-open-btn:focus-visible{outline:none}:is(.shift-card-full:has(>.shift-card-open-btn:focus-visible),.shift-card-compact:has(>.shift-card-open-btn:focus-visible)){outline:2px solid var(--primary);outline-offset:2px}.shift-card-assignee-drag[role=button]{position:relative}.bench-row{padding:0 var(--sp-6);box-sizing:border-box;gap:12px;margin-top:8px;display:grid}.bench-col{box-sizing:border-box;border:1px solid var(--border-subtle);border-radius:8px;min-width:0;padding:6px}.bench-col-head{color:var(--text-secondary);margin-bottom:2px;font-size:11px}.bench-row--unassign-target .bench-col{background-color:var(--drop-soft-bg);border-color:var(--drop-soft-border);border-style:dashed}.bench-pill{background:var(--bg-surface-raised);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;margin-bottom:3px;padding:2px 6px;font-size:12px;display:flex}.bench-pill-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bench-pill-count{opacity:.85;white-space:nowrap;cursor:default}.bench-pill-count--none{opacity:.7;color:var(--text-secondary)}.bench-pill-count--match{color:var(--status-open-text)}.bench-pill-count--near{color:var(--warning-text);font-weight:600}.bench-pill-count--off{color:var(--status-danger-text);font-weight:600}.bench-pill-count:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px}.bench-pill--preferred{background:var(--bench-fill-preferred)}.bench-pill--ok{background:var(--bench-fill-ok)}.bench-pill--caution{background:var(--bench-fill-warn)}.bench-pill--blocked{background:var(--bench-fill-blocked);cursor:grab}.bench-pill-right{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.bench-pill-star{color:var(--bench-star);align-items:center;display:inline-flex}.bench-pill-cao{display:inline-flex}.bench-pill-cao .shift-card-avail-warn{font-size:14px}.bench-pill[role=button]{cursor:pointer}.bench-pill[role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.warn-pop{display:inline-flex;position:relative}.warn-pop-trigger{cursor:pointer;background:0 0;border:none;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}.warn-pop-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px}.schedule-timeline{font-family:var(--font);padding:var(--sp-4) var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.agenda-day-header{justify-content:space-between;align-items:center;gap:var(--sp-2);border-bottom:1px solid var(--border-subtle);padding:6px 4px;display:flex}.agenda-day.is-today .agenda-day-label{color:var(--primary)}.agenda-day-title{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:8px;display:flex}.agenda-day-label{color:var(--text-primary);text-transform:capitalize;font-weight:700}.agenda-day-hours{font-size:var(--text-sm);color:var(--text-secondary)}.agenda-add-btn{flex-shrink:0}.agenda-card-list{flex-direction:column;gap:6px;margin:0;padding:8px 0 0;list-style:none;display:flex}.agenda-card-row{position:relative}.agenda-card-row>.move-pickup{top:50%;right:var(--sp-2);position:absolute;transform:translateY(-50%)}.agenda-card{border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.agenda-card--with-action{padding-right:var(--sp-10)}.agenda-card.is-moving{outline:2px solid var(--primary);outline-offset:1px}.agenda-card-time{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:700}.agenda-card-team{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.agenda-card-assignee{white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.agenda-card--pending-delete{opacity:.7;text-decoration:line-through}.agenda-skel-header{width:30%;height:var(--sp-4)}.agenda-skel-line--wide{width:60%}.agenda-skel-line--narrow{width:35%}.timeline-block{box-sizing:border-box;background-color:color-mix(in srgb, var(--team-color) 5%, transparent);border:2px solid var(--team-color);cursor:default;box-shadow:var(--shadow-xs);outline-offset:2px;border-radius:6px;padding:4px 8px;font-family:sans-serif;position:absolute;overflow:hidden}.timeline-block[data-settling]{transition:top var(--motion-fast) var(--ease-out), height var(--motion-fast) var(--ease-out)}.timeline-block-resize-handle{cursor:ns-resize;touch-action:none;height:6px;position:absolute;left:0;right:0}.timeline-block-resize-handle--start{top:0}.timeline-block-resize-handle--end{bottom:0}.timeline-block-time{color:var(--text-primary);white-space:nowrap;font-size:11px;font-weight:700}.timeline-block-status{margin-left:6px}.timeline-block-team{color:var(--team-color);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.timeline-block-user{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:11px;display:flex;overflow:hidden}.timeline-block-user--open{color:var(--text-muted)}.timeline-block-avatar-drag{display:inline-flex}.timeline-block--clickable{cursor:pointer}.timeline-block[data-draft]{opacity:.85}.timeline-block[data-pending=delete]{opacity:.7;text-decoration:line-through}.move-pickup{flex-shrink:0}.move-here{justify-content:center;align-items:center;gap:var(--sp-1);border:1px dashed var(--drop-target-border);background:var(--drop-target-bg);width:100%;color:var(--primary);font-size:var(--text-sm);cursor:pointer;text-align:center;border-radius:8px;margin:4px 0 8px;padding:8px;font-weight:600;display:flex}.move-here:hover{filter:brightness(.97)}.move-here.is-conflict{border-color:var(--status-danger-border);background:var(--status-danger-bg);color:var(--status-danger-text)}.move-pickup:not(.move-pickup--active){opacity:0;pointer-events:none}.move-scope:has(:focus-visible) .move-pickup{opacity:1;pointer-events:auto}.shift-card-drag.move-scope{position:relative}.shift-card-drag>.move-pickup{right:var(--sp-1);bottom:var(--sp-1);position:absolute}.shift-card-drag.is-moving>.shift-card-full,.shift-card-drag.is-moving>.shift-card-compact{outline:2px solid var(--primary);outline-offset:1px}.shift-modal-date-box{background-color:var(--bg-app);border:1px solid var(--border-subtle);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 12px;display:flex}.shift-modal-date-caption{color:var(--text-secondary);text-transform:uppercase;margin-bottom:2px;font-size:12px;font-weight:600;display:block}.shift-modal-date-value{color:var(--text-primary);font-size:14px;font-weight:600}.shift-modal-amount-col{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.shift-modal-amount-caption{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:600}.shift-modal-nextday{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:600}.shift-modal-multi-note{color:var(--text-secondary);margin-top:-8px;margin-bottom:16px;font-size:12px}.shift-modal-qualification-list{flex-wrap:wrap;gap:6px;display:flex}.shift-detail-dl{row-gap:var(--sp-3);column-gap:var(--sp-4);grid-template-columns:auto 1fr;align-items:center;margin:0;display:grid}.shift-detail-dt{color:var(--text-muted);font-size:var(--text-sm)}.shift-detail-dd{color:var(--text-primary);font-size:var(--text-sm);margin:0}.shift-detail-dd--flex{align-items:center;gap:6px;display:flex}.shift-detail-team-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.shift-detail-mine{color:var(--primary);margin-left:6px;font-size:10px;font-weight:700}.shift-detail-actions{justify-content:flex-end;margin-top:16px;display:flex}.shift-detail-claim{margin-top:var(--sp-3)}.shift-detail-claim-skeleton{height:var(--sp-8);width:30%;margin-left:auto}.publish-modal-counts{font-size:var(--text-sm);margin:0 0 var(--sp-3)}.publish-modal-counts.is-muted{color:var(--text-muted)}.publish-modal-counts-skeleton{width:55%;height:14px;margin:0 0 10px}.publish-modal-summary{margin:var(--sp-4) 0 var(--sp-3)}.publish-modal-summary-lead{font-size:var(--text-base);margin:0}.publish-modal-summary-held,.publish-modal-summary-after{margin:var(--sp-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary)}.publish-modal-alert-heading{margin:0 0 var(--sp-1)}.publish-modal-alert-heading:last-child{margin-bottom:0}.publish-modal-alert-list{padding-left:var(--sp-4);font-size:var(--text-sm);margin:0}.auto-planner-people{margin:0 0 var(--sp-4);gap:var(--sp-2);flex-direction:column;max-height:320px;padding:0;list-style:none;display:flex;overflow-y:auto}.auto-planner-person{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.auto-planner-person-name{font-size:var(--text-sm);color:var(--text-primary)}.auto-planner-progress{align-items:center;gap:var(--sp-4);text-align:center;padding:var(--sp-2) 0;flex-direction:column;display:flex}.auto-planner-progress p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.auto-planner-spinner{border-radius:var(--r-full);border:3px solid var(--indigo-100);border-top-color:var(--primary);width:40px;height:40px;animation:spin var(--motion-loop-spin) linear infinite}.person-modal-toolbar{margin-bottom:var(--sp-4)}.person-modal-body{min-height:320px}.person-shifts-skel-dayhead{width:60%;height:12px;margin:0 auto}.person-shifts-skel-canvas{height:160px}.person-shifts-skel-block{height:48px;position:absolute;top:24px;left:4px;right:4px}.person-avail-count{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--sp-3)}.person-avail-hint{margin-top:var(--sp-3)}.person-pill-row{margin-bottom:var(--sp-3);flex-wrap:wrap;gap:6px;display:flex}.person-eig-skel-block{height:72px;margin-bottom:var(--sp-4)}.person-eig-skel-line{height:38px;margin-bottom:var(--sp-4)}.person-eig-skel-actions{width:220px;height:38px;margin-left:auto}}@layer pages{.schedule-grid-week{gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);grid-template-columns:repeat(7,1fr);display:grid}.shift-drop-line{background:var(--drop-target-border);border-radius:1px;height:2px;margin:2px 0}.add-shift-btn{opacity:1;transition:opacity var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out)}@media (hover:hover) and (pointer:fine){.add-shift-btn{opacity:0}.week-day-column:hover .add-shift-btn,.month-day-cell:hover .add-shift-btn{opacity:1}}.add-shift-btn:hover{transform:scale(1.1)}.weekday-amount-root{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;font-family:sans-serif;display:flex}.weekday-amount-group{flex-direction:column;gap:6px;display:flex}.weekday-amount-group--end{align-items:flex-end}.weekday-amount-label{color:var(--text-secondary);font-size:13px;font-weight:500}.weekday-amount-days{gap:6px;display:flex}.sched-week-grid{box-sizing:border-box;grid-template-columns:repeat(7,1fr);gap:12px;width:100%;font-family:sans-serif;display:grid}.sched-week-day-column{background-color:var(--bg-surface);border:1px solid var(--border-subtle);min-height:380px;box-shadow:var(--shadow-sm);transition:background-color var(--motion-fast) var(--ease-out), border var(--motion-fast) var(--ease-out);border-radius:8px;flex-direction:column;display:flex}.sched-week-col-header{background-color:var(--bg-header-tint);border-bottom:1px solid var(--border-subtle);border-radius:8px 8px 0 0;flex-direction:column;padding:10px 12px;display:flex}.sched-week-header-row{justify-content:space-between;align-items:center;display:flex}.sched-week-day-name{color:var(--text-primary);text-transform:capitalize;font-size:13px;font-weight:700}.sched-week-day-date{color:var(--text-secondary);font-size:12px}.sched-week-header-actions{align-items:center;gap:4px;display:flex}.sched-week-card-list{padding:var(--sp-2);gap:calc(var(--sp-1) * 1.5);flex-direction:column;flex:1;display:flex}.sched-week-ghost{pointer-events:none;z-index:var(--z-drag);background:var(--bg-surface);border:1px solid var(--indigo-500);box-shadow:var(--shadow-lg);color:var(--text-primary);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;position:fixed}.sched-month-root{box-sizing:border-box;width:100%;font-family:sans-serif}.sched-month-dow-row{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px;display:grid}.sched-month-dow-cell{text-align:center;color:var(--text-secondary);background-color:var(--bg-header-tint);border-radius:6px;padding:8px;font-size:13px;font-weight:700}.sched-month-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.sched-month-day-cell{background-color:var(--bg-surface);border:1px solid var(--border-subtle);min-height:100px;box-shadow:var(--shadow-xs);transition:background-color var(--motion-fast) var(--ease-out), border var(--motion-fast) var(--ease-out);border-radius:8px;flex-direction:column;padding:8px;display:flex}.sched-month-daynum-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.sched-month-daynum{color:var(--text-primary);font-size:12px;font-weight:700}.sched-month-day-cell[data-outside]{background-color:var(--bg-app);opacity:.6}.sched-month-day-cell[data-outside] .sched-month-daynum{color:var(--text-muted)}.sched-month-daybtns{align-items:center;gap:4px;display:flex}.sched-month-summary{margin-bottom:4px;font-size:11px}.sched-month-summary-count{color:var(--text-secondary);font-weight:600}.sched-month-summary-draft{color:var(--status-draft-text);margin-left:4px;font-weight:700}.sched-month-shiftlist{--month-chip-h:33px;--month-chip-gap:4px;gap:var(--month-chip-gap);max-height:calc(3 * (var(--month-chip-h) + var(--month-chip-gap)) + var(--month-chip-h) / 2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sched-month-skel-line{border-radius:4px;height:16px}.sched-month-skel-line--wide{width:80%}.sched-month-skel-line--narrow{width:60%}.sched-month-ghost{pointer-events:none;z-index:var(--z-drag);background:var(--bg-surface);border:1px solid var(--indigo-500);box-shadow:var(--shadow-lg);color:var(--text-primary);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;position:fixed}.sched-day-root{box-sizing:border-box;width:100%;font-family:sans-serif}.sched-day-skel-gutter{gap:var(--sp-10);padding:var(--sp-3) var(--sp-2)}.sched-day-skel-hour{width:70%}.sched-day-skel-col{gap:var(--sp-4);padding:var(--sp-3);min-height:calc(var(--sp-12) * 5);flex-direction:column}.sched-day-skel-block{min-height:var(--sp-12)}.sched-day-skel-block--tall{min-height:calc(var(--sp-12) * 2)}.sched-day-skel-line--wide{width:55%}.sched-day-skel-line--narrow{width:35%}.sched-day-frame{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:8px;display:flex;position:relative;overflow:hidden}.sched-day-gutter{border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;display:flex}.sched-day-gutter-header{box-sizing:border-box;flex-shrink:0}.sched-day-hour-label{color:var(--text-muted);font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.sched-day-cols{flex:1;display:flex}.sched-day-col{border-right:1px solid var(--border-subtle);flex:1;min-width:0}.sched-day-col-header{box-sizing:border-box;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;background:0 0;align-items:center;padding:0 12px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.sched-day-surface{touch-action:pan-y;position:relative}.sched-day-hourline{border-top:1px solid var(--border-subtle);position:absolute;left:0;right:0}.sched-day-ghost{box-sizing:border-box;background:var(--primary-wash);border:1px dashed var(--primary);color:var(--primary);pointer-events:none;z-index:5;border-radius:6px;flex-direction:column;justify-content:space-between;padding:2px 6px;font-size:11px;font-weight:700;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.sched-day-ghost-end{align-self:flex-end}.sched-day-hint-layer{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;right:0}.drag-person-ghost{pointer-events:none;z-index:var(--z-drag);background:var(--bg-surface);border:1px solid var(--indigo-500);box-shadow:var(--shadow-lg);color:var(--text-primary);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12px;font-weight:600;display:flex;position:fixed}.sched-week-ghost[data-returning],.sched-month-ghost[data-returning],.drag-person-ghost[data-returning]{opacity:.4;transition:left var(--motion-slow) var(--ease-in-out), top var(--motion-slow) var(--ease-in-out), opacity var(--motion-slow) var(--ease-in)}.sched-week-day-column[data-drop-target=over],.sched-month-day-cell[data-drop-target=over]{background-color:var(--drop-target-bg);border:2px dashed var(--drop-target-border)}.sched-week-day-column[data-drop-target=conflict],.sched-month-day-cell[data-drop-target=conflict]{background-color:var(--status-danger-bg);border:2px dashed var(--status-danger-text)}.sched-week-day-column[data-drop-target=over] .sched-week-col-header{background-color:var(--drop-target-header-bg)}.sched-week-day-column[data-drop-target=conflict] .sched-week-col-header{background-color:var(--status-danger-bg)}.sched-week-day-column[data-drop-state=hard]{opacity:.45;cursor:not-allowed;background-color:#0000;background-image:repeating-linear-gradient(45deg, var(--border-subtle) 0, var(--border-subtle) 1px, transparent 1px, transparent 8px);border:none}.sched-week-day-column[data-drop-state=soft]{background-color:var(--drop-soft-bg);border:2px solid var(--drop-soft-border)}.shift-card-drag[data-drop-state=hard]{opacity:.4;cursor:not-allowed;filter:grayscale()}.shift-card-drag[data-drop-state=soft],.shift-card-drag[data-drop-state=unavail],.shift-card-drag[data-drop-state=ok]{outline:2px solid var(--drop-soft-border);outline-offset:-2px;border-radius:8px}.shift-card-drag[data-drop-state=unavail]{outline-color:var(--status-danger-text)}.shift-card-drag[data-drop-state=ok]{outline-color:var(--avail-ok)}.shift-card-drag[data-drop-target],.timeline-block[data-drop-target]{outline:2px solid var(--indigo-500);outline-offset:2px}.shift-card-drag[data-drop-target]{border-radius:8px}.shift-card-drag[data-drop-target=conflict],.timeline-block[data-drop-target=conflict]{outline-color:var(--status-danger-text)}.shift-card-drag[data-drop-target=warn],.timeline-block[data-drop-target=warn]{outline-color:var(--warning)}.planner-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-wrap:wrap;display:flex}.planner-toolbar-group{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.planner-toolbar .toolbar-action,.planner-toolbar .icon-btn{height:var(--control-h)}.planner-toolbar .icon-btn{width:var(--control-h)}@media (width<=640px){.planner-toolbar{padding:var(--sp-3) var(--sp-4);justify-content:flex-start}.planner-toolbar-group{display:contents}.planner-toolbar .planning-page-toolbar-divider{display:none}.planner-toolbar .toolbar-action,.planner-toolbar .icon-btn{height:var(--control-h-sm)}.planner-toolbar .icon-btn{width:var(--control-h-sm)}}.date-nav{background:var(--bg-app);border:1px solid var(--border-medium);border-radius:var(--r-full);align-items:center;gap:0;display:inline-flex}.date-nav-arrow{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.date-nav-arrow:first-child{border-top-left-radius:var(--r-full);border-bottom-left-radius:var(--r-full)}.date-nav-arrow:last-child{border-top-right-radius:var(--r-full);border-bottom-right-radius:var(--r-full)}.date-nav-arrow:hover{background:var(--indigo-100);color:var(--primary)}.date-nav-label{padding:0 var(--sp-3);font-family:var(--font);font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;text-align:center;border-left:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);font-weight:600;line-height:32px;overflow:hidden}.date-nav-label[data-view=day]{width:188px}.date-nav-label[data-view=week]{width:196px}.date-nav-label[data-view=month]{width:150px}.roster-scope{align-items:center;gap:var(--sp-2);display:flex}.roster-scope-seg-label{align-items:center;gap:6px;display:inline-flex}.events-timeline{margin:0;padding:0;list-style:none}.events-month{opacity:.7;text-transform:capitalize;color:var(--text-secondary);margin:1rem 0 .5rem;font-weight:600}.events-row{border-left:4px solid var(--ev-accent,var(--primary));background:var(--bg-surface);box-shadow:var(--shadow-xs);border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.5rem .75rem;display:flex}.events-row-main{min-width:0;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex:1;align-items:center;gap:.75rem;padding:0;display:flex}.events-date{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex:none;font-size:.85rem}.events-title{align-items:center;gap:.4rem;min-width:0;font-weight:600;display:inline-flex}.events-title-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.events-dot{border-radius:50%;flex:none;width:9px;height:9px}.events-recur{align-items:center;gap:calc(var(--sp-1) / 2);display:inline-flex}.events-recur,.events-span,.events-scope{color:var(--text-muted);background:var(--bg-header-tint);border-radius:999px;flex:none;padding:1px 7px;font-size:.72rem}.events-sentinel{height:1px}.ev-duration-color{align-items:flex-start;gap:24px;display:flex}.ev-duration-color>.form-group{margin-bottom:var(--sp-5)}.ev-color-group{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.form-label .ev-label-icon{vertical-align:-3px;color:var(--text-secondary);margin-right:5px}.ev-branch-select{margin-top:10px}.ev-inline-row{font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.ev-num{text-align:center;-moz-appearance:textfield;width:68px}.ev-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ev-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ev-duration{align-items:center;gap:8px;display:inline-flex}.ev-step{border:1px solid var(--border-medium);border-radius:var(--r-sm);background:var(--bg-surface);width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);font-size:1.1rem;line-height:1}.ev-step:hover:not(:disabled){background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.ev-step:disabled{opacity:.4;cursor:not-allowed}.ev-duration-unit{color:var(--text-secondary);font-size:var(--text-sm)}.ev-notes{resize:vertical;min-height:52px}.ev-scope-choices{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.ev-scope-choice{text-align:left;width:100%;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--r-md);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);padding:.7rem .9rem;font-weight:500}.ev-scope-choice:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.ev-scope-choice:focus-visible{box-shadow:0 0 0 3px var(--primary-ring);outline:none}.events-banner{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.events-banner-inline{flex-flow:wrap;min-width:0;margin-bottom:0}.events-banner-inline .events-pill{min-width:0}.events-pill{color:var(--fill-fg);background:var(--primary);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:1px 6px;font-size:.7rem;overflow:hidden}.events-pill-span{border-radius:4px}.add-event-btn{font-size:.8rem}.events-row--skeleton{gap:var(--sp-3);grid-template-columns:6rem 1fr;align-items:center;display:grid}.events-skeleton-month{width:8rem;height:1rem;display:inline-block}.events-skeleton-date{height:1rem}.events-skeleton-title{width:55%;height:1rem}.pw-board{flex-direction:column;gap:12px;display:flex}.pw-scroll{border:1px solid var(--border-medium);border-radius:var(--r-md);max-height:72vh;overflow-y:auto}.pw-grid{grid-template-columns:52px repeat(7,1fr);display:grid}.pw-gutter{position:relative}.pw-hour-label{line-height:1;font-size:var(--text-xs,.72rem);color:var(--text-secondary);font-variant-numeric:tabular-nums;position:absolute;right:6px;transform:translateY(-50%)}.pw-hour-label:first-of-type{transform:none}.pw-gutter-head{background:var(--bg-surface);border-bottom-color:#0000}.pw-daycol{position:relative}.pw-daycol-head{z-index:2;text-align:center;line-height:1.25;font-size:var(--text-xs);color:var(--text-secondary);background:var(--bg-surface);border-bottom:1px solid var(--border-medium);padding:5px 2px;position:sticky;top:0}.pw-daycol-head.is-today{color:var(--primary);font-weight:700}.pw-canvas{position:relative}.pw-slot{box-sizing:border-box;background:var(--bg-header-tint);pointer-events:none;background-clip:padding-box;border:3px solid #0000;border-radius:11px;position:absolute;left:0;right:0}.pw-block{box-sizing:border-box;text-align:left;background:var(--pw-wash,var(--bg-surface-raised));cursor:pointer;z-index:1;border:none;border-radius:9px;flex-direction:column;gap:1px;padding:3px 5px;font-size:.62rem;line-height:1.1;display:flex;position:absolute;overflow:hidden}.pw-block:hover{background:var(--pw-wash-hover,var(--bg-header-tint))}.pw-block-time{font-variant-numeric:tabular-nums;font-weight:600}.pw-cont{opacity:.85;font-size:.7rem;line-height:1;display:inline-flex}.pm-board{flex-direction:column;width:100%;max-width:640px;margin:0 auto;font-size:12px;display:flex}.pm-weekhead{text-align:center;color:var(--text-secondary);grid-template-columns:repeat(7,1fr);padding:4px 0;font-weight:600;display:grid}.pm-grid{border-top:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);flex-direction:column;display:flex}.pm-week{grid-template-columns:repeat(7,1fr);display:grid}.pm-cell{background:var(--bg-surface);appearance:none;border:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-align:left;min-height:64px;font:inherit;cursor:default;color:var(--text-primary);flex-direction:column;align-items:stretch;gap:2px;padding:3px;display:flex}.pm-cell:not(:disabled){cursor:pointer}.pm-cell.is-outside{background:var(--bg-header-tint);color:var(--text-muted)}.pm-cell.is-today .pm-daynum{background:var(--primary);color:var(--text-inverse);border-radius:999px;padding:0 5px}.pm-daynum{align-self:flex-start;font-weight:600;line-height:1.4}.pm-bars{flex-direction:column;gap:2px;display:flex;overflow:hidden}.pm-bar{min-height:12px;color:var(--fill-fg);white-space:nowrap;border-radius:3px;align-items:center;gap:2px;padding:0 3px;font-size:10px;line-height:1.4;display:flex;overflow:hidden}.pm-bar-label{text-overflow:ellipsis;overflow:hidden}.pm-bar-open{background:0 0;border:1px dashed}.pm-bar-dot{border:1px solid;border-radius:50%;flex-shrink:0;width:.6em;height:.6em}.pm-more{color:var(--text-secondary);font-size:10px;font-weight:600}.pm-sheet-head{text-transform:capitalize;margin-bottom:8px;font-weight:700}.pm-sheet-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pm-sheet-row{border:1px solid var(--border-subtle);background:var(--bg-surface-raised);width:100%;font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.pm-sheet-swatch{border-radius:3px;flex:none;width:10px;height:10px}.pm-sheet-team{flex:1;font-weight:600}.pm-sheet-time{color:var(--text-secondary);font-variant-numeric:tabular-nums}.pm-sheet-open{color:var(--text-secondary);font-size:11px;font-style:italic}.pw-block-company{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:600;line-height:1;display:block;overflow:hidden}.pw-block.is-current-company{box-shadow:inset 0 0 0 1px var(--border-medium)}.company-legend{flex-wrap:wrap;gap:.75rem;padding:.4rem .6rem;font-size:.8rem;display:flex}.company-legend-item{align-items:center;gap:.35rem;display:inline-flex}.company-legend-dot{border-radius:50%;width:.7rem;height:.7rem;display:inline-block}.personal-grid-skeleton{gap:var(--sp-2);grid-template-columns:repeat(7,1fr);display:grid}.personal-grid-skeleton-col{min-height:calc(var(--sp-12) * 2)}.day-sheet-company{opacity:.75;font-size:.72rem;font-weight:600;display:block}.my-planner-page{width:100%}.my-planner-page>.period-nav-page-header{padding:var(--sp-4) var(--sp-6) 0;margin-bottom:0}@media (width<=640px){.my-planner-page>.period-nav-page-header{padding:var(--sp-3) var(--sp-4) 0}}.my-planner-grid>.sched-month-root{padding:var(--sp-4) var(--sp-6)}@media (width<=640px){.my-planner-page{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.my-planner-scope{margin:var(--sp-3) var(--sp-6) 0;max-width:20rem}.my-planner-grid{overflow-x:clip}.my-planner-grid>.company-legend,.my-planner-grid>.error-state{margin-inline:var(--sp-6)}.my-planner-grid>.pw-board,.my-planner-grid>.pm-board{padding:var(--sp-3) var(--sp-4)}@media (width<=640px){.my-planner-grid>.company-legend,.my-planner-grid>.error-state,.my-planner-scope{margin-inline:var(--sp-4)}}.planning-page-toolbar-divider{background:var(--border-medium);width:1px;height:24px}.open-shifts-page{background:var(--bg-app);min-height:100vh}.open-shifts-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.open-shift-date-group{flex-direction:column;gap:8px;display:flex}.open-shift-date-header{font-size:var(--text-sm);color:var(--text-secondary);margin:10px 0 2px;font-weight:600}.open-shift-date-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.propose-swap-list{padding-left:0;list-style:none}.propose-swap-item{padding:4px 0}.propose-swap-option{cursor:pointer;align-items:center;gap:8px;display:flex}.trade-kind-icon{color:var(--text-secondary);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.trade-kind-icon__dot{position:absolute;top:-2px;right:-2px}.shift-action-title{align-items:center;gap:.5rem;display:flex}.board-row{border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;border-radius:8px;align-items:center;gap:.625rem;padding:.625rem .75rem;display:flex}.board-row:hover,.board-row:focus-visible{border-color:var(--border-medium)}.board-row-when{font-variant-numeric:tabular-nums}.board-row-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:auto;overflow:hidden}.board-inbox-strip{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.board-row-company-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.period-nav{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.period-nav-page-header{margin-bottom:var(--sp-5)}.period-nav-trailing{min-width:0;display:flex}.period-nav .date-nav-arrow{position:relative}.nav-dot{background:var(--status-danger-text);border-radius:50%;width:7px;height:7px}.nav-dot.is-warning{background:var(--warning-text)}.period-nav-arrow-dot{box-shadow:0 0 0 2px var(--bg-app);pointer-events:none;position:absolute;top:5px;right:5px}@media (width<=640px){.period-nav{gap:var(--sp-1)}.period-nav-trailing{flex:0 0 100%}.period-nav .segmented-seg{font-size:var(--text-xs);padding:.35rem}.period-nav .date-nav{flex-shrink:1;min-width:0}.period-nav .date-nav-arrow{flex-shrink:0;width:26px;height:26px}.period-nav .date-nav-label[data-view=day],.period-nav .date-nav-label[data-view=week],.period-nav .date-nav-label[data-view=month]{padding:0 var(--sp-1);font-size:var(--text-xs);line-height:29px}.period-nav .date-nav-label[data-view=day]{width:156px}.period-nav .date-nav-label[data-view=week]{width:110px}.period-nav .date-nav-label[data-view=month]{width:104px}.period-nav .date-picker-week-no{display:none}}.claim-requests-page{background:var(--bg-app);min-height:100vh}.claim-requests-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.claim-request-card{flex-direction:column;gap:10px;display:flex}.claim-request-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.claim-request-when{font-size:var(--text-sm);color:var(--text-secondary)}.claim-request-reasons{padding-left:var(--sp-4);margin:0}.claim-request-head-right{align-items:center;gap:8px;display:flex}.claim-request-chevron{color:var(--text-muted);font-size:20px;line-height:1;display:inline-flex}.templates-list-items{flex-direction:column;gap:12px;display:flex}.templates-list-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.templates-list-name{font-size:15px}.templates-list-desc{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.templates-list-meta{color:var(--text-muted);margin:6px 0 0;font-size:12px}.templates-list-actions{gap:4px;display:flex}.templates-list-preview{margin-top:12px}.template-grid-timeline{flex-direction:column;gap:12px;display:flex}.template-grid-week{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.template-grid-day-column{background-color:var(--bg-surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;display:flex}.template-grid-day-header{border-bottom:1px solid var(--border-subtle);background-color:var(--bg-header-tint);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.template-grid-day-name{color:var(--text-primary);font-size:13px;font-weight:700}.template-grid-card-list{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex}.template-editor-fields{grid-template-columns:1fr 1fr;gap:12px;max-width:640px;margin-bottom:16px;display:grid}.template-editor-fields>.form-group{margin-bottom:0}.template-editor-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.templates-list-skeleton-text{gap:var(--sp-2);flex-direction:column;display:flex}.templates-list-skeleton-name{width:40%;height:1.1rem}.templates-list-skeleton-meta{width:25%;height:.85rem}.avail-split-row{align-items:center;gap:8px;margin-top:8px;display:flex}.avail-drawer-actions{justify-content:flex-end;margin-top:8px;display:flex}.avail-board{--avail-px-per-min:.8px;flex-direction:column;gap:12px;display:flex}.avail-board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.avail-board-scroll{border:1px solid var(--border-medium);border-radius:var(--r-md);max-height:70vh;overflow-y:auto}.avail-board--compact .avail-board-scroll{max-height:56vh}.avail-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.avail-page{width:100%;max-width:1400px;padding:var(--sp-6);flex-direction:column;flex:auto;min-height:0;margin:0 auto;display:flex;overflow:hidden}@media (width<=640px){.avail-page{padding-left:var(--sp-4);padding-right:var(--sp-4)}}.avail-page .avail-board{flex:auto;min-height:0}.avail-page .avail-board-scroll{flex:auto;min-height:0;max-height:none}.avail-board-grid{grid-template-columns:52px repeat(7,1fr);display:grid}.avail-hour-gutter{position:relative}.avail-hour-label{line-height:1;font-size:var(--text-xs,.72rem);color:var(--text-secondary);font-variant-numeric:tabular-nums;position:absolute;right:6px;transform:translateY(-50%)}.avail-hour-label:first-child{transform:none}.avail-gutter-head{background:var(--bg-surface)}.avail-daycol-head.avail-gutter-head{border-bottom-color:#0000}.avail-daycol{position:relative}.avail-daycol-head{z-index:2;text-align:center;line-height:1.3;font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-surface);border:2px solid #0000;border-bottom-color:var(--border-medium);padding:7px 2px;font-weight:600;position:sticky;top:0}.avail-daycol-head.is-today{color:var(--primary);font-weight:700}.avail-canvas{z-index:1;cursor:pointer;position:relative}.avail-slot{box-sizing:border-box;background:var(--avail-slot-bg);pointer-events:none;background-clip:padding-box;border:3px solid #0000;border-radius:11px;position:absolute;left:0;right:0}.avail-block{box-sizing:border-box;color:var(--avail-block-fg);cursor:pointer;z-index:1;border-radius:9px;padding:3px 5px;font-size:.62rem;line-height:1.05;position:absolute;left:3px;right:3px;overflow:hidden}.avail-block--unavailable{background:var(--avail-unavailable)}.avail-block--preferred{background:var(--avail-preferred);align-items:flex-start;gap:2px;display:flex}.avail-block--available{background:var(--avail-available-bg);border:1px solid var(--avail-available-edge)}.avail-block-star{font-size:.68rem;display:inline-flex}.avail-block--scheduled{background:repeating-linear-gradient(45deg, var(--avail-blocked-stripe), var(--avail-blocked-stripe) 6px, var(--avail-blocked-stripe-alt) 6px, var(--avail-blocked-stripe-alt) 12px);color:var(--avail-block-fg);border:1px solid var(--avail-blocked-edge);z-index:2;justify-content:center;align-items:flex-start;font-size:.62rem;display:flex}.avail-block--shift{z-index:2;border:1px solid;justify-content:center;align-items:flex-start;font-size:.62rem;display:flex}.avail-handle{background:var(--avail-handle-bg);border:1px solid var(--avail-handle-edge);opacity:0;width:8px;height:8px;transition:opacity var(--motion-fast);cursor:ns-resize;border-radius:50%;position:absolute}.avail-block:hover .avail-handle{opacity:1}.avail-handle--start{top:2px;left:6px}.avail-handle--end{bottom:2px;right:6px}.avail-draft .avail-handle{opacity:1;touch-action:none;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:auto;height:16px;display:flex;left:0;right:0}.avail-draft .avail-handle:after{content:"";background:var(--avail-handle-bg);border:1px solid var(--avail-handle-edge);border-radius:2px;width:26px;height:4px}.avail-draft .avail-handle--start{top:-8px;bottom:auto;transform:none}.avail-draft .avail-handle--end{top:auto;bottom:-8px;transform:none}.avail-draft{touch-action:none}.avail-board.is-locked .avail-canvas,.avail-board.is-locked .avail-block,.avail-daycol.is-locked .avail-canvas,.avail-daycol.is-locked .avail-block{cursor:default}.avail-daycol.is-locked .avail-canvas{filter:grayscale();opacity:.55}.avail-backdrop .avail-daycol.is-locked .avail-canvas{filter:none;opacity:1}.avail-daycol-head.is-stage-locked{border-top-color:var(--border-medium);border-bottom-color:var(--border-medium);background:var(--bg-app)}.avail-daycol-head.is-stage-next{border-top-color:var(--warning-text);border-bottom-color:var(--warning-text);background:var(--warning-bg)}.avail-daycol-head.is-stage-locked.is-run-start{border-left-color:var(--border-medium)}.avail-daycol-head.is-stage-locked.is-run-end{border-right-color:var(--border-medium)}.avail-daycol-head.is-stage-next.is-run-start{border-left-color:var(--warning-text)}.avail-daycol-head.is-stage-next.is-run-end{border-right-color:var(--warning-text)}.avail-daycol-head.is-run-start{border-top-left-radius:var(--r-sm);border-bottom-left-radius:var(--r-sm)}.avail-daycol-head.is-run-end{border-top-right-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm)}.avail-board--skeleton .avail-canvas{cursor:default;background-image:repeating-linear-gradient(to bottom, var(--avail-hour-line) 0, var(--avail-hour-line) 1px, transparent 1px, transparent var(--avail-hour-h))}.avail-skeleton-nav{border-radius:var(--r-md);width:190px;height:34px}.avail-skeleton-pill{border-radius:var(--r-md);width:120px;height:34px}.avail-skeleton-pref{border-radius:var(--r-md);width:150px;height:32px}.avail-skeleton-dayhead{border-radius:var(--r-sm);width:60%;height:12px;margin:3px auto}.avail-skeleton-block{border-radius:9px;position:absolute;left:3px;right:3px}.avail-backdrop{opacity:.35;pointer-events:none;position:absolute;inset:0}.avail-legend{font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px 18px;margin:0;display:flex}.avail-legend-item{align-items:center;gap:6px;display:inline-flex}.avail-legend-swatch{box-sizing:border-box;border-radius:4px;flex:none;width:12px;height:12px}.avail-legend-swatch--available{background:var(--avail-slot-bg);border:1px solid var(--avail-available-edge)}.avail-legend-swatch--unavailable{background:var(--avail-unavailable)}.avail-legend-swatch--preferred{background:var(--avail-preferred);color:var(--avail-block-fg);justify-content:center;align-items:center;font-size:8px;line-height:1;display:inline-flex}.pref-shifts-field{font-size:var(--text-sm);color:var(--text-primary);flex-direction:column;gap:2px;display:flex}.pref-shifts-caption{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.pref-shifts-stepper{align-items:center;gap:4px;display:inline-flex}.pref-shifts-unit{color:var(--text-muted);white-space:nowrap}.pref-shifts-reset{white-space:nowrap}.pref-shifts-total{font-size:var(--text-sm);color:var(--text-primary);flex-direction:column;gap:6px;display:flex}.pref-shifts-total-summary{align-self:flex-start}.avail-board-head .pref-shifts-total{margin-left:auto}.avail-board-head .pref-shifts-total-summary{align-self:flex-end}.pref-shifts-total-value{font-variant-numeric:tabular-nums;font-weight:600}.pref-shifts-breakdown{flex-direction:column;gap:8px;padding:6px 0 0 8px;display:flex}.pref-shifts-breakdown-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pref-shifts-breakdown-name{min-width:120px;color:var(--text-secondary);font-weight:600}.pref-shifts-breakdown-row .pref-shifts-field{margin-left:auto}.avail-ghost{opacity:.55;pointer-events:none;outline:2px dashed var(--avail-draft-ring)}.avail-hover{opacity:.28;pointer-events:none;outline:2px dashed var(--avail-draft-ring)}.avail-time-chip{z-index:5;background:var(--text-primary);width:max-content;color:var(--bg-surface);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:var(--r-sm);pointer-events:none;margin:0 auto;padding:2px 8px;position:sticky;top:6px}.avail-draft{outline:2px dashed var(--avail-draft-ring);z-index:3}.avail-draft.avail-block--unavailable{background:var(--avail-unavailable-draft)}.avail-draft.avail-block--preferred{background:var(--avail-preferred-draft)}.avail-sheet-content{max-width:520px;margin:0 auto}.avail-sheet-time-field{flex:1}.avail-sheet-time-field>.form-group{margin-bottom:0}.avail-confirm-check{border:1px solid var(--border-medium);border-radius:var(--r-md);background:var(--bg-surface);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:inline-flex}.avail-confirm-check:disabled{opacity:.6;cursor:default}.avail-confirm-check .avail-confirm-check-mark{border:1px solid var(--border-medium);color:#0000;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:inline-flex}.avail-confirm-check.is-confirmed{border-color:var(--avail-ok);color:var(--avail-ok)}.avail-confirm-check.is-confirmed .avail-confirm-check-mark{background:var(--avail-ok);border-color:var(--avail-ok);color:var(--bg-surface)}.avail-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.avail-finalized-through{font-size:var(--text-xs,.75rem);color:var(--text-muted)}.avail-deadline-banner{border:1px solid var(--warning-border);border-radius:var(--r-md);background:var(--warning-bg);color:var(--warning-text);font-size:var(--text-sm);text-align:center;margin-bottom:8px;padding:10px 14px;font-weight:600}.planner-deadline-nudge{background:var(--warning-bg);color:var(--warning-text);font-size:var(--text-sm);border-bottom:1px solid var(--border-medium);padding:6px 14px}.login-page{max-width:1200px;margin:0 auto;padding:24px}.login-brand{max-width:440px;margin:0 auto var(--sp-6);text-align:center}.auth-card-inbox{text-align:center;max-width:440px;margin:0 auto;padding:24px}.auth-card{width:100%;max-width:440px;margin:0 auto}.auth-card-tabs{margin:16px 24px 0}.auth-card-lang-toggle{justify-content:flex-end;align-items:center;padding:10px 24px 0;display:flex}.auth-card-body{padding:24px}.auth-card-footer{padding:0 var(--sp-6) var(--sp-5)}.auth-card-forgot-btn{color:var(--primary);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-weight:500}.auth-card-register-intro{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.auth-card-submit{justify-content:center;width:100%;margin-top:8px}.join-page-intro{max-width:440px;margin:0 auto var(--sp-3);text-align:center}.join-page-card{gap:var(--sp-3);max-width:440px;margin:0 auto;display:grid}.onboarding-step-title{color:var(--text-primary);margin-bottom:6px;font-size:22px;font-weight:700}.onboarding-step-subtitle{color:var(--text-secondary);margin-bottom:var(--sp-6);font-size:14px}.onboarding-team-tip{color:var(--text-secondary);background:var(--bg-app);border-left:3px solid var(--text-muted);border-radius:var(--r-sm);margin:-8px 0 var(--sp-6);padding:10px 14px;font-size:13px;line-height:1.5}.onboarding-branch-list{margin:0 0 var(--sp-2);gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.onboarding-branch-row{align-items:center;gap:var(--sp-2);display:flex}.onboarding-branch-row>.form-input{flex:1;min-width:0}.onboarding-actions{margin-top:var(--sp-8);justify-content:flex-end;display:flex}.onboarding-dept-list{margin-bottom:var(--sp-6);flex-direction:column;gap:10px;display:flex}.onboarding-dept-row{padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-subtle);background-color:var(--bg-surface);border-radius:8px;justify-content:space-between;align-items:center;display:flex}.onboarding-dept-row.is-selected{background-color:var(--bg-app)}.onboarding-team-mode{align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-6);flex-direction:column;display:flex}.onboarding-color-cell{align-items:center;gap:var(--sp-2);display:flex}.onboarding-color-cell .color-palette-trigger{transition:transform var(--motion-fast) var(--ease-out)}.onboarding-color-cell .color-palette-trigger:hover:not(:disabled){transform:scale(1.12)}.onboarding-color-coach{margin:-14px 0 var(--sp-2);padding-right:var(--sp-6);color:var(--primary);justify-content:flex-end;align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.onboarding-color-coach__arrow{color:var(--indigo-300);flex:none}.onboarding-add-form{padding:var(--sp-4);background-color:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--r-md);margin-bottom:var(--sp-6)}.onboarding-add-title{color:var(--text-secondary);margin:0 0 10px;font-size:14px;font-weight:600}.onboarding-add-row{align-items:flex-start;gap:10px;display:flex}.onboarding-add-row>.form-input{flex:1;min-width:0}.onboarding-add-btn{flex:none}.onboarding-qualification-grid{margin-bottom:var(--sp-6);grid-template-columns:1fr 1fr;gap:10px;display:grid}.onboarding-qualification-row{border:1px solid var(--border-subtle);background-color:var(--bg-surface);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.onboarding-qualification-row.is-selected{background-color:var(--bg-app)}.onboarding-preview-panel{padding:var(--sp-4);background-color:var(--bg-app);border:1px solid var(--border-subtle);margin-bottom:var(--sp-6);border-radius:8px}.onboarding-preview-label{margin:0 0 var(--sp-3) 0;color:var(--text-secondary);font-size:13px;font-weight:600}.onboarding-preview-cards{flex-wrap:wrap;gap:10px;display:flex}.onboarding-nav{margin-top:var(--sp-8);justify-content:space-between;align-items:center;display:flex}.onboarding-nav-right{align-items:center;gap:14px;display:flex}.onboarding-wizard-card{max-width:var(--onboarding-card-w);margin:var(--sp-10) auto}.onboarding-wizard-skel{max-width:var(--onboarding-card-w);height:var(--onboarding-card-skel-h);margin:var(--sp-10) auto}.onboarding-wizard-top{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.onboarding-wizard-lang-toggle{margin-left:auto}@media (width<=640px){.onboarding-qualification-grid{grid-template-columns:1fr}}.settings-page{background:var(--bg-app);min-height:100vh}.settings-section{margin-bottom:var(--sp-6)}.settings-segmented{margin-bottom:var(--sp-5)}.settings-seg-label{align-items:center;gap:var(--sp-2);display:inline-flex}.settings-readonly{padding:.5rem var(--sp-3);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--r-sm);overflow-wrap:anywhere;word-break:break-word}.settings-readonly--spaced{margin-top:var(--sp-3)}.settings-feed-url{align-items:center;gap:var(--sp-2);display:flex}.settings-feed-url__text{flex:1;min-width:0}.settings-feed-url__copy{flex:none}.settings-inline-field{gap:var(--sp-2);display:flex}.settings-inline-field>.form-input{flex:1;min-width:0}.settings-actions{align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);display:flex}.settings-note{font-size:var(--text-sm);color:var(--text-secondary)}.settings-help{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--sp-3)}.settings-subsection{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-subtle)}.settings-subsection h3{font-size:var(--text-sm);color:var(--text-primary);margin:0 0 var(--sp-2);font-weight:600}.settings-card-list{flex-wrap:wrap;gap:10px;display:flex}.settings-skeleton-row{width:100%;height:40px}.settings-skeleton-row--spaced{margin-bottom:8px}.profile-create-company{margin-top:var(--sp-6);font-family:var(--font);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;opacity:.75;background:0 0;border:none;align-self:flex-start;padding:0}.profile-create-company:hover{opacity:1;text-decoration:underline}.profile-create-company:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.profile-feed-skeleton{flex-wrap:wrap}.profile-feed-skeleton-btn{width:10rem;height:2.25rem}.profile-feed-skeleton-url{width:100%;height:1.75rem}.delete-account-skeleton-label{width:6rem;margin-bottom:var(--sp-2)}.delete-account-skeleton-input{border-radius:var(--r-sm);height:2.25rem}.users-toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.users-toolbar .form-input{max-width:320px}.users-invite-btn{margin-left:auto}.users-row{cursor:pointer}.users-name-cell{align-items:center;gap:var(--sp-3);text-align:left;display:flex}.users-edit-icon{margin-left:var(--sp-2);color:var(--text-muted);flex-shrink:0}.users-row:hover .users-edit-icon{color:var(--primary)}.users-avatar{border-radius:var(--r-full);width:32px;height:32px;color:var(--fill-fg);font-size:var(--text-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.users-avatar--invite{background:var(--primary)}.users-name{color:var(--text-primary);font-weight:600}.users-email{font-size:var(--text-xs);color:var(--text-secondary)}.users-dots{gap:4px;display:inline-flex}.users-qualification-badge{border-radius:var(--r-sm);padding:1px var(--sp-2);font-size:var(--text-xs);margin-right:var(--sp-1);background:var(--indigo-100);color:var(--indigo-700);display:inline-block}.join-link-card{padding-bottom:var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border-subtle)}.join-link-card__title{margin:0 0 var(--sp-2);font-size:var(--text-base);color:var(--text-primary);font-weight:600}.join-link-card__skeleton{width:100%;height:1.75rem}.invite-fieldset{border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:var(--sp-3);margin-top:var(--sp-4)}.invite-fieldset legend{font-size:var(--text-sm);color:var(--text-primary);padding:0 var(--sp-1);font-weight:600}.invite-emails-input{resize:vertical;min-height:64px}.invite-actions{gap:var(--sp-3);margin-top:var(--sp-5);display:flex}.profile-drawer__muted{font-size:var(--text-sm);color:var(--text-muted);margin:0}.profile-drawer__actions{gap:var(--sp-3);margin-top:var(--sp-4);display:flex}.users-row:hover .users-name{color:var(--primary);text-decoration:underline}.users-pending-note{font-size:var(--text-xs);color:var(--status-draft-text)}.users-actions-cell{white-space:nowrap;text-align:right}.users-hint{margin:0 0 var(--sp-5)}.users-section{margin-top:0}.users-group-select{margin-bottom:var(--sp-4)}.users-section+.users-section{border-top:1px solid var(--border-subtle);margin-top:var(--sp-6);padding-top:var(--sp-6)}.users-section__title{align-items:center;gap:var(--sp-2);font-size:var(--text-lg);color:var(--text-primary);margin:0 0 var(--sp-3);font-weight:600;display:flex}.invite-accept .invite-actions{justify-content:flex-end}.invite-accept{min-height:100vh;padding:var(--sp-6);background:var(--bg-app);justify-content:center;align-items:center;display:flex}.invite-card{width:100%;max-width:420px}.invite-card h1{font-size:var(--text-xl);color:var(--text-primary);margin:0 0 var(--sp-3);letter-spacing:-.02em;font-weight:700}.invite-context{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--sp-6);line-height:1.5}.invite-context strong{color:var(--text-primary)}.invite-skeleton__body{gap:var(--sp-2);flex-direction:column;display:flex}.invite-skeleton__title{width:60%;height:var(--sp-6);margin-bottom:var(--sp-1)}.invite-skeleton__context-end{width:70%;margin-bottom:var(--sp-4)}.invite-skeleton__field{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-direction:column;display:flex}.invite-skeleton__label{width:30%}.invite-skeleton__input{height:var(--sp-10)}.invite-skeleton__button{height:var(--sp-10);margin-top:var(--sp-2)}.companies-page{flex-direction:column;gap:28px;display:flex}.companies-section{flex-direction:column;gap:12px;display:flex}.companies-section__sub{font-size:var(--text-sm);color:var(--text-muted);max-width:420px;margin:0}.companies-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.company-card{text-align:left;flex-direction:column;gap:6px;display:flex;position:relative}.company-card__name{font-size:15px;font-weight:700}.company-card__meta{color:var(--text-muted);font-size:13px}.company-card--unavailable:disabled{cursor:not-allowed}.company-card__note{font-size:var(--text-sm);color:var(--text-secondary)}.company-card__current{top:var(--sp-3);right:var(--sp-3);position:absolute}.company-card-wrap{display:flex;position:relative}.company-card-wrap>.company-card{flex:1}.company-card-wrap--colour .company-card__name,.company-card-wrap--colour .company-card__meta,.company-card-wrap--colour .company-card__note{margin-inline-end:calc(var(--sp-4) + var(--sp-6))}.company-card__colour{right:var(--sp-3);bottom:var(--sp-3);position:absolute}.invite-card-mini{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.invite-card-mini__actions{gap:8px;margin-top:4px;display:flex}.members-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.members-row{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.members-row:hover{background:var(--bg-app)}.members-row:hover .members-name{color:var(--primary);text-decoration:underline}.members-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.members-name{font-weight:600}.members-teams{gap:4px;margin-left:auto;display:inline-flex}.members-team-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.members-company-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.teams-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.teams-row{border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.teams-row .form-input{flex:1}.teams-row-dot{width:var(--sp-6);height:var(--sp-6);border-radius:var(--r-full);flex-shrink:0}.teams-row-name{color:var(--text-primary);flex:1;font-weight:600}.teams-preview{margin-top:8px}@media (width<=640px){.teams-row{flex-wrap:wrap}.teams-row .form-input{flex:100%}}.branch-row-name{color:var(--text-primary);flex:1;font-weight:600}.invite-row-errors{margin:.5rem 0 0;padding:0;list-style:none}.reactivation-list{text-align:left;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:0;list-style:none;display:flex}.reactivation-list__item{border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:.5rem .75rem}.reactivation-list__email{color:var(--text-muted);font-size:.85rem}.reactivation-list__detail{color:var(--text-muted);flex-direction:column;gap:.15rem;margin-top:.25rem;font-size:.85rem;display:flex}.companies-page-skeleton-title{width:40%;height:16px;margin-bottom:12px}.companies-page-skeleton-body{width:100%;height:60px}.companies-landing-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}@media (width<=640px){.companies-landing-grid{grid-template-columns:1fr}}.companies-landing-card{gap:var(--sp-3);flex-direction:column;align-items:flex-start;display:flex}.companies-landing-card .companies-page-email-row{width:100%}.companies-page-email-row{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:8px;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.companies-page-email-code{-webkit-user-select:all;user-select:all;word-break:break-all;flex:1;font-size:14px}.billing-skeleton{margin-bottom:var(--sp-4)}.billing-status,.billing-modules{margin-bottom:var(--sp-6)}.billing-modules h2{margin:0 0 var(--sp-4);font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.billing-col-on{width:2.5rem}.billing-row.is-child .billing-cell-name{padding-inline-start:calc(var(--sp-3) + var(--sp-4))}.billing-row.is-child .billing-cell-name:before{content:"└ ";color:var(--text-muted);font-weight:400}.billing-row.is-off{color:var(--text-muted)}.billing-cell-name{color:var(--text-primary);font-weight:600}.billing-row.is-off .billing-cell-name{color:var(--text-muted)}.billing-cell-name .info-tip{margin-left:var(--sp-1)}.billing-cell-muted{color:var(--text-muted)}.billing-section-heading{margin:0 0 var(--sp-4);font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.billing-details{margin-bottom:var(--sp-6)}.billing-details__grid{gap:var(--sp-4);margin-bottom:var(--sp-4);grid-template-columns:1fr;display:grid}@media (width>=768px){.billing-details__grid{grid-template-columns:1fr 1fr}}.billing-invoices{margin-bottom:var(--sp-6)}.billing-invoices__skeleton-row{margin-bottom:var(--sp-2)}.billing-code{gap:var(--sp-2);margin-bottom:var(--sp-6);flex-direction:column;display:flex}.billing-code h2{margin:0 0 var(--sp-2);font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.billing-code-row{gap:var(--sp-2);align-items:center;display:flex}.billing-code-row .form-input{flex:1;min-width:0}@media (width<=640px){.billing-code-row{flex-direction:column;align-items:stretch}}.billing-code-active{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.billing-code-active p{margin:0}.billing-preview{padding:var(--sp-6);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.billing-summary{gap:var(--sp-2);flex-direction:column;display:flex}.billing-summary-line{font-size:var(--text-sm);color:var(--text-secondary);justify-content:space-between;display:flex}.billing-summary-line.is-discount{color:var(--status-open-text)}.billing-summary-total{font-size:var(--text-lg);color:var(--text-primary);border-top:1px solid var(--border-subtle);padding-top:var(--sp-2);font-weight:600}.billing-summary-figure-skeleton{align-self:center;width:20%}.billing-summary-hint{margin:0}.billing-save{margin-top:var(--sp-4);justify-content:flex-end;display:flex}.billing-confirm-changes{gap:var(--sp-2);margin:0 0 var(--sp-4);flex-direction:column;padding:0;list-style:none;display:flex}.billing-confirm-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;font-size:var(--text-sm);border-bottom:1px solid var(--border-subtle);display:flex}.billing-confirm-op{color:var(--text-muted);font-weight:600}.billing-confirm-name{color:var(--text-primary);flex:1}.billing-confirm-state{color:var(--text-secondary)}.billing-confirm-delta{color:var(--text-primary);font-weight:600}.billing-confirm-delta.is-decrease{color:var(--status-open-text)}.billing-confirm-note{margin:0 0 var(--sp-2);font-size:var(--text-xs);color:var(--text-muted)}.billing-confirm-total{align-items:center;gap:var(--sp-1);margin:0 0 var(--sp-4);font-size:var(--text-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.billing-confirm-total-skeleton{width:20%}.billing-strike{color:var(--text-muted);text-decoration:line-through}.stats-page{gap:var(--sp-6);padding-bottom:var(--sp-8);flex-direction:column;display:flex}.stats-controls{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.stats-export-row,.stats-controls{padding:0 var(--sp-4)}.stats-charts{gap:var(--sp-6);padding:0 var(--sp-4);grid-template-columns:2fr 1fr;display:grid}@media (width<=48rem){.stats-charts{grid-template-columns:1fr}}.stats-section{margin:0 var(--sp-4)}.stats-team-name{align-items:center;gap:var(--sp-2);display:inline-flex}.stats-share{justify-content:flex-end;align-items:center;gap:var(--sp-2);display:inline-flex}.stats-share-track{width:var(--sp-12);height:var(--sp-1);border-radius:var(--r-full);background:var(--border-subtle);overflow:hidden}.stats-share-fill{width:var(--share);background:var(--share-color);height:100%;display:block}.stats-delta{padding:0 var(--sp-2);border-radius:var(--r-full);font-weight:600;display:inline-block}.stats-delta--over{background:var(--status-danger-bg);color:var(--status-danger-text)}.stats-delta--under{background:var(--status-draft-bg);color:var(--status-draft-text)}.stats-delta--on-target{background:var(--status-open-bg);color:var(--status-open-text)}}@layer utilities{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.desktop-only-notice{justify-content:center;align-items:center;gap:var(--sp-4);text-align:center;max-width:420px;padding:var(--sp-12) var(--sp-6);color:var(--text-secondary);flex-direction:column;margin:0 auto;display:flex}.desktop-only-notice-text{font-size:var(--text-base);margin:0;line-height:1.5}.template-editor{padding:var(--sp-4)}.app-strip{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);font-size:var(--text-sm);text-align:center;border-bottom:1px solid #0000;font-weight:500;display:flex}.app-strip--blocked{background:var(--status-danger-bg);color:var(--status-danger-text);border-bottom-color:var(--status-danger-border)}.app-strip--nudge{background:var(--warning-bg);color:var(--warning-text);border-bottom-color:var(--warning-border)}.dpa-pending-notice{margin:var(--sp-3) var(--sp-4) 0}}@layer motion{:where([data-motion=fade]){transition:opacity var(--motion-fast) var(--ease-out)}:where([data-motion=fade][data-motion-state=entering]),:where([data-motion=fade][data-motion-state=closing]){opacity:0}:where([data-motion=fade][data-motion-state=closing]){transition-timing-function:var(--ease-in);transition-duration:calc(var(--motion-fast) * .7)}:where([data-motion=backdrop]){transition:opacity var(--motion-base) var(--ease-out)}:where([data-motion=backdrop][data-motion-state=entering]),:where([data-motion=backdrop][data-motion-state=closing]){opacity:0}:where([data-motion=backdrop][data-motion-state=closing]){transition-timing-function:var(--ease-in);transition-duration:calc(var(--motion-base) * .7)}:where([data-motion=drop]){transition:opacity var(--motion-fast) var(--ease-out), translate var(--motion-fast) var(--ease-out)}:where([data-motion=drop][data-motion-state=entering]),:where([data-motion=drop][data-motion-state=closing]){opacity:0;translate:0 calc(-1 * var(--motion-shift-sm))}:where([data-motion=drop][data-side=top][data-motion-state=entering]),:where([data-motion=drop][data-side=top][data-motion-state=closing]){translate:0 var(--motion-shift-sm)}:where([data-motion=drop][data-motion-state=closing]){transition-timing-function:var(--ease-in);transition-duration:calc(var(--motion-fast) * .7)}:where([data-motion=rise]){transition:opacity var(--motion-base) var(--ease-out), translate var(--motion-base) var(--ease-out)}:where([data-motion=rise][data-motion-state=entering]),:where([data-motion=rise][data-motion-state=closing]){opacity:0;translate:0 var(--motion-shift-md)}:where([data-motion=rise][data-motion-state=closing]){transition-timing-function:var(--ease-in);transition-duration:calc(var(--motion-base) * .7)}:where([data-motion=sheet]){transition:translate var(--motion-base) var(--ease-out)}:where([data-motion=sheet][data-motion-state=entering]),:where([data-motion=sheet][data-motion-state=closing]){translate:0 100%}:where([data-motion=sheet][data-motion-state=closing]){transition-timing-function:var(--ease-in);transition-duration:calc(var(--motion-base) * .7)}:where([data-motion=slide-x]){transition:opacity var(--motion-base) var(--ease-out), translate var(--motion-base) var(--ease-out)}:where([data-motion=slide-x][data-motion-state=entering]){opacity:0;translate:var(--motion-shift-lg) 0;transition:none}:where([data-motion=slide-x][data-motion-dir=back][data-motion-state=entering]){translate:calc(-1 * var(--motion-shift-lg)) 0}:where([data-motion][data-motion-state=entering]){transition:none}:where([data-motion-state=closing]){pointer-events:none}[data-landed]{animation:landed var(--motion-landed) var(--ease-in-out)}@keyframes landed{0%{background-color:var(--landed-bg)}}@keyframes checkbox-check{0%{transform:rotate(45deg)scale(0)}to{transform:rotate(45deg)scale(1)}}@keyframes checkbox-dash{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes top-progress-slide{0%{background-position:-40% 0}to{background-position:140% 0}}@keyframes toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}@keyframes toast-fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}@keyframes app-drawer-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes app-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes app-drawer-slide-out{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes app-drawer-fade-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){[data-motion]{transition:opacity var(--motion-fast) var(--ease-out);translate:none}[data-motion][data-motion-state=entering]{transition:none}[data-motion][data-motion-state=closing]{transition-duration:calc(var(--motion-fast) * .7);transition-timing-function:var(--ease-in)}[data-motion=sheet][data-motion-state=entering],[data-motion=sheet][data-motion-state=closing]{opacity:0}.app-drawer-brand .brand-mark,.app-drawer-brand .brand-text,.app-drawer-toggle .menu-mark,.menu-mark-line{transition:none}.app-drawer-panel{animation:app-drawer-fade-in var(--motion-fast) ease}.app-drawer-panel[data-motion-state=closing]{animation:app-drawer-fade-out var(--motion-fast) ease forwards}.app-drawer-backdrop{animation:app-drawer-fade-in var(--motion-fast) ease}.app-drawer-backdrop[data-motion-state=closing]{animation:app-drawer-fade-out var(--motion-fast) ease forwards}.btn__spinner,.auto-planner-spinner{animation-duration:var(--motion-loop-spin-reduced)}.person-tile,.onboarding-color-cell .color-palette-trigger{transition:none}input[type=checkbox]:checked:after,input[type=checkbox]:indeterminate:after{animation:none}.stepper-connector:after,.segmented-pill,.timeline-block[data-settling],.sched-week-ghost[data-returning],.sched-month-ghost[data-returning],.drag-person-ghost[data-returning]{transition:none}.toast{animation:toast-fade-in var(--motion-fast) ease both}.toast[data-motion-state=closing]{animation:toast-fade-out var(--motion-fast) ease both}}}.admin-shell{background:var(--bg-app);grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-shell__sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);flex-direction:column;gap:1.5rem;padding:1.5rem 1rem;display:flex}.admin-shell__brand{flex-direction:column;display:flex}.admin-shell__brand-name{color:var(--text-primary);font-weight:700}.admin-shell__brand-sub{color:var(--text-muted);font-size:.8125rem}.admin-shell__nav{flex-direction:column;gap:.25rem;display:flex}.admin-shell__link{border-radius:var(--r-sm);color:var(--text-muted);padding:.5rem .75rem;text-decoration:none}.admin-shell__link:hover{background:var(--bg-surface-raised)}.admin-shell__link--active{background:var(--bg-surface-raised);color:var(--text-primary);font-weight:600}.admin-shell__main{flex-direction:column;min-width:0;display:flex}.admin-shell__header{border-bottom:1px solid var(--border-subtle);justify-content:flex-end;align-items:center;gap:.75rem;padding:.75rem 1.5rem;display:flex}.admin-shell__identity{color:var(--text-muted);font-size:.875rem}.admin-shell__content{padding:1.5rem}.admin-login{background:var(--bg-app);place-items:center;min-height:100vh;display:grid}.admin-login__card{width:min(420px,92vw)}.admin-login__brand{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.125rem}.admin-login__heading{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem}.admin-login__intro{color:var(--text-muted);margin:0 0 1rem;font-size:.875rem}.admin-overview__heading{color:var(--text-primary);margin:0 0 .25rem;font-size:1.25rem}.admin-overview__subtitle{color:var(--text-muted);margin:0 0 1.5rem;font-size:.875rem}.admin-overview__charts{gap:var(--sp-6);margin-top:var(--sp-6);grid-template-columns:1fr 1fr;display:grid}@media (width<=48rem){.admin-overview__charts{grid-template-columns:1fr}}.admin-companies__heading{color:var(--text-primary);margin:0 0 .25rem;font-size:1.25rem}.admin-companies__subtitle{color:var(--text-muted);margin:0 0 1.5rem;font-size:.875rem}.admin-companies__filters{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.admin-companies__toolbar{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.admin-companies__toolbar .admin-companies__filters{margin-bottom:0}.admin-companies__skeleton-row{margin-bottom:.75rem}.admin-funnel__controls{gap:var(--sp-2);flex-direction:column;display:flex}.admin-funnel__switch{margin-bottom:1.5rem}.admin-funnel__filters{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.admin-funnel__pending{color:var(--text-muted);font-size:.8125rem}.admin-catalog__price-cell{align-items:center;gap:.5rem;display:flex}.admin-catalog__order-input{width:4.5rem}.admin-codes__filters{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.admin-codes__sort{align-items:center;gap:var(--sp-1);font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.admin-codes__sort svg{width:var(--sp-3);height:var(--sp-3);flex-shrink:0}.admin-codes__row-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-codes-bulk__preview{margin-top:var(--sp-3)}.admin-codes-bulk__preview-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.admin-codes-bulk__list{max-height:14rem;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--r-md);margin:0;font-size:.875rem;list-style:none;overflow-y:auto}.admin-codes-bulk__list li{padding:var(--sp-1) 0}.admin-sub-detail__back{color:var(--text-muted);margin-bottom:.75rem;font-size:.8125rem;display:inline-block}.admin-sub-detail__meta{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-md);flex-direction:column;gap:.5rem;margin:0 0 1.5rem;padding:1rem;display:flex}.admin-sub-detail__meta-row{justify-content:space-between;gap:1rem;font-size:.875rem;display:flex}.admin-sub-detail__meta-row dt{color:var(--text-muted)}.admin-sub-detail__meta-row dd{color:var(--text-primary);margin:0;font-weight:600}.admin-sub-detail__actions{gap:.75rem;margin-bottom:2rem;display:flex}.admin-sub-detail__section-heading{color:var(--text-primary);margin:0 0 .75rem;font-size:1rem}.admin-sub-detail__modules{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.admin-sub-detail__module-row{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-sm);justify-content:space-between;align-items:center;padding:.625rem .75rem;display:flex}.admin-sub-detail__module-name{color:var(--text-primary);font-size:.875rem}.admin-sub-detail__list{color:var(--text-secondary);flex-direction:column;gap:.375rem;margin:0 0 1.5rem;padding:0;font-size:.8125rem;list-style:none;display:flex}.admin-invoices{margin:0 0 2rem}.admin-invoices__list{gap:.5rem}.admin-invoices__row{align-items:center;gap:var(--sp-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-sm);padding:.625rem .75rem;display:flex}.admin-invoices__number{color:var(--text-primary);font-weight:600}.admin-invoices__period{color:var(--text-muted)}.admin-invoices__total{font-variant-numeric:tabular-nums;color:var(--text-primary);margin-left:auto}.admin-invoices__row-actions{align-items:center;gap:var(--sp-2);display:flex}.admin-usage{gap:var(--sp-4);flex-direction:column;margin:0 0 2rem;display:flex}.admin-usage__heading{color:var(--text-primary);margin:0;font-size:1rem}
