:root{--c-primary:#111827;--c-primary-hover:#1f2937;--c-accent:#2563eb;--c-accent-soft:#eff6ff;--c-accent-muted:#dbeafe;--c-brand:#0d9488;--c-brand-dark:#0f766e;--c-brand-soft:#f0fdfa;--c-bg:#f7f8fa;--c-surface:#fff;--c-surface-raised:#fff;--c-surface-inset:#f3f4f6;--c-ink:#111827;--c-ink-secondary:#374151;--c-muted:#6b7280;--c-muted-light:#9ca3af;--c-border:#e5e7eb;--c-border-light:#f3f4f6;--c-sidebar:var(--c-surface);--c-hover:var(--c-border-light);--c-input-hover-border:#d1d5db;--c-primary-ink:#fff;--c-btn-danger-hover:#fee2e2;--c-overlay:#0f172a40;--c-glass:#ffffffb8;--c-glass-border:#fffc;--c-danger:#dc2626;--c-danger-soft:#fef2f2;--c-warn:#d97706;--c-warn-soft:#fffbeb;--c-ok:#059669;--c-ok-soft:#ecfdf5;--c-pending-soft:#fffbeb;--c-leave:#f3f4f6;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:26px;--leading-normal:1.55;--leading-tight:1.35;--tracking-label:.06em;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-card:0 1px 2px #0f172a0a, 0 1px 3px #0f172a08;--shadow-pop:0 8px 32px #0f172a1a;--sidebar-width:248px;--sidebar-width-collapsed:64px;--space-page:24px;--space-section:16px;--space-panel:20px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-primary:#fafafa;--c-primary-hover:#e4e4e7;--c-primary-ink:#09090b;--c-accent:#60a5fa;--c-accent-soft:#60a5fa24;--c-accent-muted:#60a5fa52;--c-brand:#2dd4bf;--c-brand-dark:#5eead4;--c-brand-soft:#2dd4bf29;--c-bg:#09090b;--c-sidebar:#101012;--c-surface:#18181b;--c-surface-raised:#27272a;--c-surface-inset:#121214;--c-ink:#fafafa;--c-ink-secondary:#d4d4d8;--c-muted:#a1a1aa;--c-muted-light:#71717a;--c-border:#3f3f46;--c-border-light:#27272a;--c-hover:#2e2e33;--c-input-hover-border:#52525b;--c-danger:#f87171;--c-danger-soft:#f8717129;--c-warn:#fbbf24;--c-warn-soft:#fbbf2429;--c-ok:#4ade80;--c-ok-soft:#4ade8029;--c-pending-soft:#fbbf2429;--c-leave:#a1a1aa1f;--c-btn-danger-hover:#f8717138;--c-overlay:#000000b8;--shadow-card:0 1px 2px #0006;--shadow-pop:0 12px 32px #000000a6;--c-glass:#18181beb;--c-glass-border:#3f3f46e6}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--c-ink);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:-.02em;font-weight:600}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 8l4 4 4-4' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px 18px;padding-right:34px}select:hover{border-color:var(--c-input-hover-border)}input:focus,select:focus,textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 2px #2563eb1f}input:disabled,select:disabled,textarea:disabled{background:var(--c-border-light);color:var(--c-muted)}.field input,.field select,.field textarea{width:100%}.ss-select{min-width:220px;display:inline-flex;position:relative}.ss-select-trigger{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);width:100%;color:var(--c-ink);font-weight:500;font-size:var(--text-sm);line-height:var(--leading-tight);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:inline-flex}.ss-select-trigger:hover{border-color:var(--c-input-hover-border)}.ss-select-trigger.is-open{border-color:var(--c-accent);box-shadow:0 0 0 2px #2563eb1f}.ss-select.is-disabled .ss-select-trigger{background:var(--c-border-light);color:var(--c-muted);cursor:not-allowed}.ss-select-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ss-select-value.is-placeholder{color:var(--c-muted);font-weight:400}.ss-select-chevron{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 8l4 4 4-4' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:18px 18px;flex:none;width:18px;height:18px}.ss-select-popover{z-index:50;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);overflow:hidden}.ss-select-search{border-bottom:1px solid var(--c-border-light);background:var(--c-bg);padding:10px}.ss-select-search input{width:100%}.ss-select-list{max-height:260px;padding:6px;overflow:auto}.ss-select-empty{color:var(--c-muted);font-weight:500;font-size:var(--text-sm);padding:12px}.ss-select-option{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--c-ink);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:10px;margin:2px 0;padding:10px 12px;display:flex}.ss-select-option:hover,.ss-select-option.is-active{background:var(--c-border-light)}.ss-select-option.is-selected{background:var(--c-accent-soft);border-color:var(--c-accent-muted)}.ss-select-option:disabled{opacity:.55;cursor:not-allowed}.ss-select-option-content{min-width:0}.ss-select-option-main{font-weight:500;font-size:var(--text-sm)}.ss-select-option-secondary{font-size:var(--text-xs);color:var(--c-muted);margin-top:2px;font-weight:400}.ss-select-check{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M16 6L8.5 13.5 4 9' stroke='%232563eb' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:18px 18px;flex:none;width:18px;height:18px}.muted{color:var(--c-muted)}.section-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-muted);font-weight:600}.btn{border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink-secondary);border-radius:var(--radius-pill);font-weight:500;font-size:var(--text-sm);line-height:var(--leading-tight);justify-content:center;align-items:center;gap:6px;padding:8px 16px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--c-hover);border-color:var(--c-input-hover-border)}.btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-ink)}.btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);color:var(--c-primary-ink)}.btn-danger{background:var(--c-danger-soft);color:var(--c-danger);border-color:#0000}.btn-danger:hover{background:var(--c-btn-danger-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:500;line-height:var(--leading-tight);align-items:center;padding:3px 10px;display:inline-flex}.badge-confirmed{background:var(--c-ok-soft);color:var(--c-ok)}.badge-pending{background:var(--c-pending-soft);color:var(--c-warn)}.badge-conflict{background:var(--c-danger-soft);color:var(--c-danger)}.badge-open{background:var(--c-brand-soft);color:var(--c-brand-dark)}.badge-draft{background:var(--c-border-light);color:var(--c-muted)}.panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-muted);font-weight:600}.error-text{color:var(--c-danger);font-size:var(--text-sm);line-height:var(--leading-normal)}.spinner{border:2px solid var(--c-border);border-top-color:var(--c-accent);border-radius:50%;width:22px;height:22px;margin:24px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}html[data-theme=dark] .btn{background:var(--c-surface);border-color:var(--c-border);color:var(--c-ink)}html[data-theme=dark] .btn:hover{background:var(--c-hover);border-color:var(--c-input-hover-border);color:var(--c-ink)}html[data-theme=dark] .btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-ink)}html[data-theme=dark] .btn-primary:hover{background:var(--c-primary-hover);border-color:var(--c-primary-hover);color:var(--c-primary-ink)}html[data-theme=dark] .panel{background:var(--c-surface);border-color:var(--c-border);box-shadow:var(--shadow-card)}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .ss-select-trigger{background:var(--c-surface-raised);border-color:var(--c-border)}html[data-theme=dark] input:disabled,html[data-theme=dark] select:disabled,html[data-theme=dark] textarea:disabled,html[data-theme=dark] .ss-select.is-disabled .ss-select-trigger{background:var(--c-surface);color:var(--c-muted)}html[data-theme=dark] .ss-select-search{background:var(--c-surface-inset);border-bottom-color:var(--c-border)}html[data-theme=dark] .ss-select-popover{background:var(--c-surface);border-color:var(--c-border);box-shadow:var(--shadow-pop)}html[data-theme=dark] .ss-select-option:hover,html[data-theme=dark] .ss-select-option.is-active{background:var(--c-hover)}html[data-theme=dark] .ss-select-option.is-selected{background:var(--c-accent-soft);border-color:var(--c-accent-muted)}html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus,html[data-theme=dark] .ss-select-trigger.is-open{border-color:var(--c-accent);box-shadow:0 0 0 2px var(--c-accent-soft)}html[data-theme=dark] .badge-draft{background:var(--c-surface-raised);color:var(--c-muted);border:1px solid var(--c-border);box-shadow:none}html[data-theme=dark] .spinner{border-color:var(--c-border);border-top-color:var(--c-accent)}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;background:var(--c-bg);height:100vh;transition:grid-template-columns .2s;display:grid}.app-shell.sidebar-collapsed{--sidebar-width:var(--sidebar-width-collapsed)}.sidebar{background:var(--c-sidebar);color:var(--c-ink);border-right:1px solid var(--c-border);flex-direction:column;min-width:0;padding:20px 16px;display:flex;overflow:hidden}.sidebar .brand{font-size:var(--text-lg);color:var(--c-ink);letter-spacing:-.03em;align-items:center;gap:10px;padding:0 8px 20px;font-weight:600;display:flex}.sidebar .brand-name{white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--c-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.sidebar-toggle:hover{background:var(--c-hover);color:var(--c-ink);border-color:var(--c-border)}.sidebar-toggle .nav-icon{opacity:1;width:16px;height:16px}.brand-logo{flex-shrink:0;width:32px;height:auto;display:block}.sidebar a{color:var(--c-ink-secondary);border-radius:var(--radius-sm);font-weight:500;font-size:var(--text-sm);line-height:var(--leading-tight);align-items:center;gap:10px;padding:9px 12px;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar a .nav-label,.sidebar .nav-locked .nav-label{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);background:var(--c-accent-soft);color:var(--c-accent);flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.sidebar .nav-locked{align-items:center;gap:10px;display:flex}.nav-icon{opacity:.7;flex-shrink:0;width:18px;height:18px}.ui-icon{width:14px;height:14px;color:var(--c-muted);flex-shrink:0}.ui-icon-md{width:18px;height:18px}.notification-bell-btn .ui-icon{color:var(--c-ink)}.shift-card .row .ui-icon,.shift-card-stat-icon{color:var(--c-muted-light)}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden auto}.sidebar-search{padding:0 8px 12px}.sidebar-search input{border-radius:var(--radius-pill);background:var(--c-bg);border-color:var(--c-border);width:100%;font-size:var(--text-sm)}.sidebar-search input:disabled{opacity:.6}.sidebar a:hover{background:var(--c-hover);color:var(--c-ink)}.sidebar a.active{background:var(--c-hover);color:var(--c-ink);font-weight:600}.sidebar a.active .nav-icon{opacity:1}.sidebar .user-box{border-top:1px solid var(--c-border-light);align-items:center;gap:10px;margin-top:12px;padding:14px 8px 0;display:flex}.sidebar .user-avatar{background:var(--c-border-light);width:32px;height:32px;color:var(--c-ink-secondary);font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.sidebar .user-info{flex:1;min-width:0}.sidebar .user-info .name{font-weight:500;font-size:var(--text-sm);color:var(--c-ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar .user-info .sign-out{color:var(--c-muted);font-size:var(--text-xs);background:0 0;border:none;margin-top:2px;padding:0;font-weight:500}.sidebar .user-info .sign-out:hover{color:var(--c-ink);text-decoration:underline}.sidebar .user-sign-out-icon{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--c-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.sidebar .user-sign-out-icon:hover{background:var(--c-hover);color:var(--c-ink);border-color:var(--c-border)}.sidebar .user-sign-out-icon .nav-icon{opacity:1}.app-shell.sidebar-collapsed .sidebar{align-items:center;padding:16px 8px}.app-shell.sidebar-collapsed .sidebar .brand{flex-direction:column;gap:8px;width:100%;padding:0 0 16px}.app-shell.sidebar-collapsed .sidebar .brand-name,.app-shell.sidebar-collapsed .sidebar-search,.app-shell.sidebar-collapsed .app-mode-toggle,.app-shell.sidebar-collapsed .workplace-switcher,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-badge,.app-shell.sidebar-collapsed .nav-lock-icon,.app-shell.sidebar-collapsed .user-info{display:none}.app-shell.sidebar-collapsed .sidebar-toggle{margin-left:0}.app-shell.sidebar-collapsed .sidebar nav{align-items:center;width:100%}.app-shell.sidebar-collapsed .sidebar a,.app-shell.sidebar-collapsed .sidebar .nav-locked{justify-content:center;gap:0;width:100%;padding:10px}.app-shell.sidebar-collapsed .sidebar .user-box{flex-direction:column;gap:6px;width:100%;padding:12px 0 0}.app-shell.sidebar-collapsed .sidebar .user-sign-out-icon{display:inline-flex}.main-column{background:var(--c-bg);flex-direction:column;min-width:0;display:flex}.main{padding:var(--space-page);flex:1;overflow:auto}.auth-screen{background:var(--c-bg);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.auth-screen-top{justify-content:space-between;align-items:center;display:flex;position:absolute;top:16px;left:24px;right:24px}.auth-home-link{font-size:var(--text-sm);text-decoration:none}.auth-home-link:hover{color:var(--c-ink)}.auth-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);width:400px;max-width:100%;box-shadow:var(--shadow-pop);padding:32px}.auth-card h1{font-size:var(--text-2xl);letter-spacing:-.03em;margin:0 0 4px;font-weight:600}.auth-card .sub{font-size:var(--text-sm);line-height:var(--leading-normal);margin-bottom:24px}.shifts-layout>.planner-page{gap:var(--space-section);flex-direction:column;display:flex}.shifts-layout>.planner-page>.page-title,.shifts-layout>.planner-page>.toolbar{margin-bottom:0}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.toolbar .spacer{flex:1}.pager{border-top:1px solid var(--c-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.pager-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pager-size{font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.pager-size select{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-ink);padding:6px 8px}.pager-page{font-size:var(--text-sm);text-align:center;min-width:6rem}.segmented{background:var(--c-border-light);border-radius:var(--radius-pill);border:1px solid var(--c-border);padding:3px;display:inline-flex}.segmented button{border-radius:var(--radius-pill);font-weight:500;font-size:var(--text-sm);color:var(--c-muted);line-height:var(--leading-tight);background:0 0;border:none;padding:7px 16px}.segmented button.active{background:var(--c-surface);color:var(--c-ink);box-shadow:var(--shadow-card);font-weight:600}.week-header{background:var(--c-border-light);border-radius:var(--radius-md) var(--radius-md) 0 0;border:1px solid var(--c-border);border-bottom:none;grid-template-columns:150px repeat(7,1fr);gap:0;display:grid;overflow:hidden}.week-header .budget-cell{background:var(--c-surface);border-right:1px solid var(--c-border);padding:12px 14px}.week-header .budget-cell .amount{font-size:var(--text-lg);letter-spacing:-.02em;font-weight:600}.week-header .budget-cell button{color:var(--c-accent);font-size:var(--text-xs);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.week-header .day-cell{border-left:1px solid var(--c-border);background:var(--c-surface);padding:12px 14px;transition:background .12s,border-color .12s}.week-header .day-cell.today{background:var(--c-accent-soft)}.week-header .day-cell.day-cell-action:hover{background:color-mix(in srgb, var(--c-brand) 12%, var(--c-surface));border-left-color:color-mix(in srgb, var(--c-brand) 28%, var(--c-border))}.week-header .day-cell.day-cell-action.today:hover{background:color-mix(in srgb, var(--c-accent) 18%, var(--c-surface));border-left-color:color-mix(in srgb, var(--c-accent) 35%, var(--c-border))}.phone-link{align-items:center;gap:6px;font-size:13px;display:inline-flex}.phone-link-compact{font-size:12px}.phone-link a{color:var(--c-accent);text-decoration:none}.phone-link a:hover{text-decoration:underline}.phone-copy{font-size:inherit;color:var(--c-muted);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.phone-copy:hover{color:var(--c-accent)}.scenario-shift-modal{max-width:520px}.scenario-assignee-picks{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.scenario-day-block+.scenario-day-block{border-top:1px solid var(--c-border)}.scenario-day-title{margin:0;padding:14px 16px 8px;font-size:14px}.scenario-compare-pickers{grid-template-columns:1fr 1fr;gap:16px;max-width:720px;display:grid}.scenario-compare-summary{grid-template-columns:1fr minmax(160px,200px) 1fr;gap:16px;display:grid}.scenario-compare-card{padding:16px}.scenario-compare-delta{background:var(--c-border-light)}.scenario-stat{border-bottom:1px solid var(--c-border);justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.scenario-stat:last-child{border-bottom:none}.delta-changed{color:var(--c-accent)}.scenario-row-changed td{background:var(--c-warn-soft)}@media (width<=900px){.scenario-compare-summary,.scenario-compare-pickers{grid-template-columns:1fr}}.week-header .day-cell.day-cell-action{cursor:pointer}.week-header .day-cell.day-cell-action:focus-visible{outline:1px solid var(--c-accent);outline-offset:-1px}.week-header .day-cell .dow{font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--c-muted);text-transform:uppercase;font-weight:600}.week-header .day-cell .num{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600}.week-header .day-cell .meta{font-size:var(--text-xs);color:var(--c-muted);line-height:var(--leading-normal)}.week-header .day-cell .meta.over{color:var(--c-danger);font-weight:600}.shift-grid{background:var(--c-surface);border-radius:0 0 var(--radius-md) var(--radius-md);border:1px solid var(--c-border);min-height:420px;box-shadow:var(--shadow-card);border-top:none;grid-template-columns:150px repeat(7,1fr);display:grid}.shift-grid .gutter{color:var(--c-muted);border-right:1px solid var(--c-border);padding:12px;font-size:12px}.shift-grid .day-col{border-left:1px solid var(--c-border);flex-direction:column;gap:10px;padding:8px;display:flex}.shift-card{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);cursor:pointer;text-align:left;width:100%;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;position:relative;overflow:hidden}.shift-card--published{background:var(--c-brand-soft);border-color:#0d94882e}.shift-card--open{background:var(--c-accent-soft);border-color:#2563eb2e}.shift-card--draft{background:var(--c-border-light);border-color:var(--c-border)}.shift-card:hover{border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0f}.shift-card--published:hover{background:#e6faf7;border-color:#0d948847}.shift-card--open:hover{background:#e0edff;border-color:#2563eb47}.shift-card--draft:hover{background:#eef0f3}.shift-card:focus-visible{outline:1px solid var(--c-accent);outline-offset:1px}.shift-card-inner{flex-direction:column;gap:10px;padding:10px 12px;display:flex}.shift-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.shift-card-time{font-weight:600;font-size:var(--text-sm);letter-spacing:-.02em;color:var(--c-ink);line-height:var(--leading-tight)}.shift-card-overnight{font-size:var(--text-xs);color:var(--c-muted);vertical-align:middle;margin-left:4px;font-weight:500;display:inline-block}.shift-card-badges{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:4px;display:flex}.shift-card-stats{grid-template-columns:1fr 1fr;gap:6px;display:grid}.shift-card-stat{font-size:var(--text-xs);color:var(--c-muted);background:var(--c-glass);border:1px solid var(--c-glass-border);border-radius:var(--radius-sm);align-items:center;gap:5px;min-width:0;padding:5px 8px;display:flex}.shift-card-stat--cost{color:var(--c-ink);font-weight:600}.shift-card-stat-icon{width:13px;height:13px;color:var(--c-muted-light);flex-shrink:0}.shift-card-stat--cost .shift-card-stat-icon{color:var(--c-muted)}.shift-card-staffing{flex-direction:column;gap:6px;display:flex}.shift-card-staffing-label{font-size:var(--text-xs);color:var(--c-muted);line-height:var(--leading-tight);align-items:center;gap:5px;display:flex}.shift-card-staffing-label strong{color:var(--c-ink);font-weight:600}.shift-card-progress{border-radius:var(--radius-pill);background:var(--c-glass);height:4px;overflow:hidden}.shift-card-progress-fill{border-radius:var(--radius-pill);background:var(--c-ink-secondary);height:100%;transition:width .2s}.shift-card-progress-fill.is-full{background:var(--c-ink)}.shift-card--unassigned .shift-card-progress-fill{background:var(--c-muted-light)}.shift-card-footer{border-top:1px solid #0f172a0f;align-items:center;min-height:28px;padding-top:8px;display:flex}.shift-card-footer .avatars{margin-top:0}.shift-card-assign{font-size:var(--text-xs);color:var(--c-ink-secondary);border-radius:var(--radius-pill);background:var(--c-glass);border:1px dashed #0f172a24;justify-content:center;align-items:center;gap:4px;width:100%;padding:4px 10px;font-weight:600;display:inline-flex}.shift-card:hover .shift-card-assign{background:var(--c-surface);border-color:#0f172a38}.shift-card .avatar{border-color:#ffffffd9}.avatars{margin-top:8px;display:flex}.avatar{background:var(--c-primary);width:24px;height:24px;color:var(--c-primary-ink);border:2px solid var(--c-surface);border-radius:50%;justify-content:center;align-items:center;margin-left:-5px;font-size:9px;font-weight:600;display:inline-flex}.avatar:first-child{margin-left:0}.avatar.more{background:var(--c-border-light);color:var(--c-muted);font-size:8px}.assign-chip{background:var(--c-ink-secondary);color:var(--c-primary-ink);border-radius:var(--radius-pill);font-size:var(--text-xs);border:none;align-items:center;gap:4px;margin-top:8px;padding:4px 12px;font-weight:500;display:inline-flex}.staff-view{background:var(--c-surface);border-radius:0 0 var(--radius-md) var(--radius-md);border:1px solid var(--c-border);box-shadow:var(--shadow-card);border-top:none}.team-header{font-weight:600;font-size:var(--text-sm);letter-spacing:-.01em;align-items:center;gap:8px;padding:14px 16px 8px;display:flex}.staff-row{border-top:1px solid var(--c-border);grid-template-columns:150px repeat(7,1fr);display:grid}.staff-row .who{padding:12px}.staff-row .who .name{font-weight:500;font-size:var(--text-sm)}.staff-row .who .meta{color:var(--c-muted);margin-top:2px;font-size:12px}.staff-row .day-cell{border-left:1px solid var(--c-border);flex-direction:column;gap:4px;padding:6px;display:flex}.cell-chip{border-radius:var(--radius-sm);padding:6px 8px;font-size:11px;font-weight:600}.cell-chip .sub{color:inherit;opacity:.75;font-weight:500}.cell-chip.shift-confirmed{background:var(--c-ok-soft);color:var(--c-ok)}.cell-chip.shift-pending{background:var(--c-pending-soft);color:var(--c-warn)}.cell-chip.leave{background:var(--c-leave);color:var(--c-muted)}.cell-chip.absent{background:var(--c-danger);color:var(--c-primary-ink)}.cell-chip.shift-proposed{color:var(--c-accent,#6366f1);border:1px dashed var(--c-accent,#6366f1);background:0 0}.page-subtitle{font-size:var(--text-sm);margin:4px 0 0}.availability-summary{font-size:var(--text-sm)}.availability-empty{text-align:center;padding:24px}.availability-grid-wrap{scrollbar-width:thin;-webkit-overflow-scrolling:touch;padding:0;overflow-x:auto}.availability-calendar-panel{padding:0;overflow:hidden}.availability-week-picker{flex-direction:column;gap:8px;display:flex}.availability-week-toggle{flex-wrap:wrap}.availability-scroll-toolbar{padding:12px var(--space-panel);border-bottom:1px solid var(--c-border-light);background:var(--c-border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.availability-scroll-hint{font-size:var(--text-sm);color:var(--c-ink-secondary);margin:0}.availability-scroll-actions{flex-wrap:wrap;gap:8px;display:flex}.availability-scroll-shell{position:relative}.availability-scroll-shell.can-scroll-right:after,.availability-scroll-shell.can-scroll-left:before{content:"";pointer-events:none;z-index:4;width:40px;position:absolute;top:0;bottom:0}.availability-scroll-shell.can-scroll-right:after{background:linear-gradient(to left, var(--c-surface) 10%, transparent);right:0}.availability-scroll-shell.can-scroll-left:before{background:linear-gradient(to right, var(--c-surface) 10%, transparent);left:0}.availability-scroll-shell.can-scroll-right .availability-grid-wrap{-webkit-mask-image:linear-gradient(90deg,#000 92%,#0000 100%);mask-image:linear-gradient(90deg,#000 92%,#0000 100%)}.availability-scroll-shell.can-scroll-left.can-scroll-right .availability-grid-wrap{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%)}.availability-scroll-shell.can-scroll-left:not(.can-scroll-right) .availability-grid-wrap{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8%);mask-image:linear-gradient(90deg,#0000 0%,#000 8%)}.availability-grid{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.availability-grid th,.availability-grid td{border-bottom:1px solid var(--c-border);vertical-align:top;text-align:left;padding:10px 12px}.availability-grid thead th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);background:var(--c-glass);z-index:1;font-weight:700;position:sticky;top:0}.availability-grid-name{z-index:2;background:var(--c-surface);min-width:160px;max-width:200px;box-shadow:1px 0 0 var(--c-border);position:sticky;left:0}.availability-grid thead .availability-grid-name{z-index:3;background:var(--c-glass)}.availability-employee-name{font-weight:600}.availability-employee-meta{font-size:var(--text-xs);margin-top:2px}.availability-cell{min-width:88px;font-size:var(--text-xs);white-space:nowrap;font-weight:600;line-height:1.35}.availability-cell--available{color:var(--c-ok);background:color-mix(in srgb, var(--c-ok) 10%, transparent)}.availability-cell--off{color:var(--c-muted);background:color-mix(in srgb, var(--c-muted) 8%, transparent)}.availability-cell--empty{color:var(--c-muted)}.autofill-scope-note{font-size:var(--text-xs);margin:0 0 10px}.autofill-preview{border-radius:var(--radius-md);border:1px solid var(--c-accent,#6366f1);background:color-mix(in srgb, var(--c-accent,#6366f1) 8%, var(--c-surface));box-shadow:var(--shadow-card);margin-bottom:12px;padding:14px 16px}.autofill-preview-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.autofill-preview-hint{font-size:var(--text-xs);margin:4px 0 0}.autofill-preview-actions{flex-shrink:0;gap:8px;display:flex}.autofill-preview-list{gap:8px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.autofill-preview-item{border-radius:var(--radius-sm);background:var(--c-surface);border:1px solid var(--c-border);font-size:var(--text-sm);grid-template-columns:minmax(140px,1.2fr) minmax(160px,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.autofill-preview-shift{flex-direction:column;gap:2px;display:flex}.autofill-preview-time{font-weight:600}.autofill-preview-assignee{align-items:center;gap:8px;font-weight:600;display:flex}.autofill-preview-meta{font-size:var(--text-xs);text-align:right}.badge-preview{background:color-mix(in srgb, var(--c-accent,#6366f1) 18%, transparent);color:var(--c-accent,#6366f1);border:1px solid color-mix(in srgb, var(--c-accent,#6366f1) 35%, transparent)}.shift-card--preview{outline:1px dashed var(--c-accent,#6366f1);outline-offset:-1px}.shift-card-proposed-count{color:var(--c-accent,#6366f1);font-weight:700}.avatar--proposed{color:var(--c-accent,#6366f1);border:1px dashed var(--c-accent,#6366f1);box-sizing:border-box;background:0 0}@media (width<=720px){.autofill-preview-item{grid-template-columns:1fr;gap:6px}.autofill-preview-meta{text-align:left}}.drawer-backdrop{z-index:40;background:#0f141e40;position:fixed;inset:0}.drawer{background:var(--c-bg);z-index:50;width:420px;max-width:92vw;box-shadow:var(--shadow-pop);border-left:1px solid var(--c-border);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer.drawer--wide{width:min(720px,96vw)}.teams-sites-layout{grid-template-columns:minmax(220px,280px) 1fr;align-items:start;gap:16px;display:grid}.teams-sites-items{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.teams-sites-items button{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex}.teams-sites-items button:hover{background:var(--c-hover)}.teams-sites-items button.active{background:var(--c-accent-soft);border-color:var(--c-accent)}@media (width<=900px){.teams-sites-layout{grid-template-columns:1fr}}.drawer-head{background:var(--c-surface);border-bottom:1px solid var(--c-border-light);justify-content:space-between;align-items:center;gap:10px;padding:20px 22px 14px;display:flex}.drawer-head h2{font-size:var(--text-lg);margin:0;font-weight:600}.drawer-head .sub{font-size:var(--text-xs);line-height:var(--leading-normal)}.drawer-body{flex-direction:column;flex:1;gap:12px;padding:14px 16px 24px;display:flex;overflow:auto}.drawer-section{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:16px}.drawer-section h3{font-size:var(--text-xs);color:var(--c-muted);letter-spacing:var(--tracking-label);text-transform:uppercase;margin:0 0 12px;font-weight:600}.time-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.assignee-card{background:var(--c-bg);border-radius:var(--radius-md);align-items:center;gap:10px;margin-top:8px;padding:10px;display:flex}.assignee-card .info{flex:1}.assignee-card .info .name{font-weight:500;font-size:var(--text-sm)}.assignee-card .info .meta{color:var(--c-muted);font-size:12px}.assignee-card .remove{background:var(--c-danger);color:var(--c-primary-ink);border:none;border-radius:50%;width:20px;height:20px;font-size:11px;line-height:1}.search-results{border:1px solid var(--c-border);border-radius:var(--radius-sm);max-height:160px;margin-top:6px;overflow:auto}.search-results button{text-align:left;background:0 0;border:none;width:100%;padding:8px 10px;font-size:13px;display:block}.search-results button:hover{background:var(--c-border-light)}.budget-checkpoint .bar{background:#e5e8ee;border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.budget-checkpoint .bar span{background:var(--c-brand);height:100%;display:block}.budget-checkpoint .bar span.over{background:var(--c-danger)}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a40;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);width:560px;max-width:94vw;box-shadow:var(--shadow-pop);overflow:hidden}.modal-tabs{background:var(--c-border-light);border-bottom:1px solid var(--c-border);gap:4px;padding:6px;display:flex}.modal-tabs button{border-radius:var(--radius-pill);font-weight:500;font-size:var(--text-sm);color:var(--c-muted);background:0 0;border:none;flex:1;padding:10px}.modal-tabs button.active{background:var(--c-surface);color:var(--c-ink);box-shadow:var(--shadow-card);font-weight:600}.modal-body{padding:18px 20px}.radio-row{flex-wrap:wrap;gap:16px;margin:8px 0 16px;font-size:13px;display:flex}.radio-row label{align-items:center;gap:6px;display:flex}.modal-actions{grid-template-columns:1fr 1fr;gap:10px;padding:14px 20px 20px;display:grid}.confirm-backdrop{z-index:70}.confirm-dialog{width:min(420px,94vw)}.compliance-notice{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-border-light);margin-bottom:12px;padding:12px 14px;font-size:13px;line-height:1.45}.compliance-notice--block{border-color:color-mix(in srgb, var(--c-danger) 35%, var(--c-border));background:var(--c-danger-soft)}.compliance-notice--warn{border-color:color-mix(in srgb, var(--c-warn,#d97706) 35%, var(--c-border));background:color-mix(in srgb, var(--c-warn,#d97706) 8%, var(--c-surface))}.compliance-notice__list{margin:8px 0 0;padding-left:18px}.compliance-notice__list li+li{margin-top:8px}.compliance-notice__item-title{flex-wrap:wrap;gap:6px;margin-bottom:2px;display:flex}.compliance-notice__employee,.compliance-notice__rule{font-weight:600}.compliance-notice__message{color:var(--c-ink)}.compliance-notice__hint{margin:10px 0 0;font-size:12px}.assignee-violations{gap:6px;margin-top:8px;display:grid}.assignee-violation{border-radius:var(--radius-sm);gap:2px;padding:6px 8px;font-size:12px;line-height:1.4;display:grid}.assignee-violation--block{background:var(--c-danger-soft);color:var(--c-danger)}.assignee-violation--warn{background:color-mix(in srgb, var(--c-warn,#d97706) 10%, transparent);color:var(--c-ink)}.assignee-violation strong{text-transform:uppercase;letter-spacing:.03em;font-size:11px}.fab{background:var(--c-primary);width:52px;height:52px;color:var(--c-primary-ink);box-shadow:var(--shadow-pop);z-index:30;border:none;border-radius:50%;font-size:24px;font-weight:500;transition:background .15s,transform .15s;position:fixed;bottom:28px;right:28px}.fab:hover{background:var(--c-primary-hover);transform:scale(1.04)}.page-title{justify-content:space-between;align-items:center;margin:0 0 20px;padding-top:4px;display:flex}.page-title h1{font-size:var(--text-2xl);letter-spacing:-.03em;margin:0;font-weight:600}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-muted);border-bottom:1px solid var(--c-border);background:var(--c-border-light);padding:12px 16px;font-weight:600}.data-table td{border-bottom:1px solid var(--c-border-light);font-size:var(--text-sm);line-height:var(--leading-normal);padding:12px 16px}.data-table tbody tr:hover td{background:var(--c-hover)}.data-table td.data-table-actions{vertical-align:middle;text-align:left;white-space:nowrap}.data-table-actions-inner{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:10px;padding:18px 20px;display:grid;overflow:hidden}.stat-card .label{font-size:var(--text-xs);color:var(--c-muted);letter-spacing:var(--tracking-label);text-transform:uppercase;grid-column:1;font-weight:600}.stat-card .value{font-size:var(--text-2xl);letter-spacing:-.03em;font-weight:600;line-height:var(--leading-tight);grid-column:1;margin-top:0}.stat-card .spark{background:var(--c-surface);border:1px solid var(--c-border);width:92px;height:44px;color:var(--c-ink);border-radius:10px;grid-area:1/2/span 2;place-items:center;display:grid}.stat-card .spark svg{width:76px;height:30px}.page-title--stacked{align-items:flex-start;gap:12px}.page-subtitle{font-size:var(--text-sm);color:var(--c-muted);margin:4px 0 0;font-weight:400}.stat-cards--dashboard{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:0}.planner-page .stat-cards,.portal-page .stat-cards,.dashboard-page .stat-cards{margin-bottom:0}.sales-toolbar-panel{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.stat-card-v2-link{text-align:left;cursor:pointer;color:inherit;border-radius:var(--radius-md);background:0 0;border:none;padding:0;text-decoration:none;transition:transform .12s,box-shadow .12s;display:block}.stat-card-v2-link:hover{transform:translateY(-1px)}.stat-card-v2-link:focus-visible{outline:1px solid var(--c-accent);outline-offset:1px}.stat-card-v2{gap:14px;height:100%;min-height:108px;padding:18px 20px;display:flex}.stat-card-v2-icon{border-radius:var(--radius-sm);background:var(--c-border-light);width:40px;height:40px;color:var(--c-ink-secondary);flex-shrink:0;place-items:center;display:grid}.stat-card-v2-icon .nav-icon{width:20px;height:20px}.stat-card-v2--brand .stat-card-v2-icon{background:var(--c-brand-soft);color:var(--c-brand-dark)}.stat-card-v2--warn .stat-card-v2-icon{background:var(--c-warn-soft);color:var(--c-warn)}.stat-card-v2--danger .stat-card-v2-icon{background:var(--c-danger-soft);color:var(--c-danger)}.stat-card-v2--ok .stat-card-v2-icon{background:var(--c-ok-soft);color:var(--c-ok)}.stat-card-v2-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.stat-card-v2-label{font-size:var(--text-xs);color:var(--c-muted);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.stat-card-v2-value{font-size:var(--text-xl);letter-spacing:-.03em;font-weight:600;line-height:var(--leading-tight);word-break:break-word}.stat-card-v2-hint{font-size:var(--text-sm);color:var(--c-muted);line-height:var(--leading-normal)}.stat-card-v2-progress{flex-direction:column;gap:4px;margin-top:4px;display:flex}.stat-card-v2-progress-track{border-radius:var(--radius-pill);background:var(--c-border-light);height:4px;overflow:hidden}.stat-card-v2-progress-fill{border-radius:var(--radius-pill);background:var(--c-brand);height:100%;transition:width .2s}.stat-card-v2-progress-fill.is-over{background:var(--c-danger)}.stat-card-v2-progress-label{font-size:var(--text-xs);color:var(--c-danger);font-weight:600}.stat-card-v2--loading .stat-card-v2-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--c-border-light) 25%, var(--c-border) 50%, var(--c-border-light) 75%);background-size:200% 100%;width:72px;height:28px;animation:1.2s ease-in-out infinite stat-card-shimmer}@keyframes stat-card-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.dashboard-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-section-head h3{margin:0}.attention-list{flex-direction:column;gap:8px;display:flex}.attention-item{border:1px solid var(--c-border);border-radius:var(--radius-sm);color:inherit;background:var(--c-surface);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.attention-item:hover{background:var(--c-border-light);border-color:var(--c-input-hover-border)}.attention-item-icon{border-radius:var(--radius-sm);background:var(--c-warn-soft);width:36px;height:36px;color:var(--c-warn);flex-shrink:0;place-items:center;display:grid}.attention-item-icon .nav-icon{width:18px;height:18px}.attention-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.attention-item-title{font-size:var(--text-sm);font-weight:500}.attention-item-hint{font-size:var(--text-xs);color:var(--c-muted)}.attention-item-arrow{color:var(--c-muted-light);font-size:var(--text-lg);flex-shrink:0}.dashboard-empty{text-align:center;color:var(--c-muted);font-size:var(--text-sm);flex-direction:column;align-items:center;gap:8px;padding:24px 16px;display:flex}.dashboard-empty-icon{border-radius:var(--radius-sm);background:var(--c-ok-soft);width:40px;height:40px;color:var(--c-ok);place-items:center;display:grid}.dashboard-empty-icon .nav-icon{width:20px;height:20px}.dashboard-empty p{margin:0}.quick-actions{border-top:1px solid var(--c-border-light);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;display:flex}.quick-action{border:1px solid var(--c-border);border-radius:var(--radius-pill);background:var(--c-surface);color:var(--c-ink-secondary);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.quick-action .nav-icon{width:16px;height:16px}.quick-action:hover{background:var(--c-border-light);border-color:var(--c-input-hover-border);color:var(--c-ink)}.insight-list{flex-direction:column;gap:10px;display:flex}.insight-item{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:var(--c-surface);padding:12px 14px}.insight-item--warn{background:var(--c-warn-soft);border-color:#d9770640}.insight-item--danger{background:var(--c-danger-soft);border-color:#dc262633}.insight-item--ok{background:var(--c-ok-soft);border-color:#05966933}.insight-item-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.insight-item-head strong{font-size:var(--text-sm)}.insight-severity{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--c-muted);font-weight:600}.insight-body{font-size:var(--text-sm);color:var(--c-ink-secondary);line-height:var(--leading-normal);margin:0}.insight-action{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--c-brand) 30%, var(--c-border));background:var(--c-brand-soft);font-size:var(--text-xs);color:var(--c-brand-dark);align-items:center;gap:4px;margin-top:8px;padding:6px 12px;font-weight:600;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.insight-action:hover{background:color-mix(in srgb, var(--c-brand) 18%, var(--c-surface));border-color:color-mix(in srgb, var(--c-brand) 45%, var(--c-border));color:var(--c-brand-dark)}.portal-page .portal-error{margin-bottom:0}.portal-quick-actions{border-top:none;margin-bottom:0;padding-top:0}.portal-section{scroll-margin-top:var(--space-section);margin-bottom:0}.portal-panel{padding:var(--space-panel);scroll-margin-top:var(--space-section);margin-bottom:0}.portal-panel h3{font-size:var(--text-lg);margin:0 0 12px;font-weight:600}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.planner-page,.portal-page,.dashboard-page{gap:var(--space-section);flex-direction:column;display:flex}.planner-page>.page-title,.portal-page>.page-title,.dashboard-page>.page-title,.planner-page>.toolbar,.portal-page>.toolbar,.dashboard-page>.toolbar,.planner-page>.page-messages,.portal-page>.page-messages,.dashboard-page>.page-messages{margin-bottom:0}.page-header-badge{vertical-align:middle;font-size:var(--text-xs);letter-spacing:var(--tracking-label);margin-left:10px}.page-messages{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.page-messages:empty{display:none}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.empty-state-icon{border-radius:var(--radius-sm);background:var(--c-border-light);width:44px;height:44px;color:var(--c-muted);place-items:center;display:grid}.empty-state-icon .nav-icon{width:22px;height:22px}.empty-state-title{font-size:var(--text-base);color:var(--c-ink);margin:0;font-weight:600}.empty-state-desc{max-width:360px;font-size:var(--text-sm);color:var(--c-muted);line-height:var(--leading-normal);margin:0}.empty-state-action{margin-top:4px}.loading-panel{flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:32px 20px;display:flex}.loading-panel-label{font-size:var(--text-sm);color:var(--c-muted);margin:0}.loading-inline{margin:0;padding:16px}.page-section{padding:var(--space-panel);margin-bottom:0}.page-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.page-section-head h3{font-size:var(--text-lg);margin:0;font-weight:600}.page-section-desc{font-size:var(--text-sm);margin:4px 0 0}.queue-panel{overflow:hidden}.queue-panel .leave-request-row:last-child{border-bottom:none}.queue-row-meta{font-size:var(--text-sm)}.queue-row-note{font-size:var(--text-sm);margin-top:4px}.queue-row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.leave-request-row--stacked .queue-row-actions{align-self:center}.queue-row-field{max-width:280px;margin-top:8px}.leave-request-row--stacked{align-items:flex-start}.rule-row-body{flex:1;min-width:0}.rule-row-controls{flex-direction:column;gap:8px;min-width:140px;display:flex}.inline-form-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.inline-form-row .flex-grow{flex:1;min-width:200px}.settings-panel{max-width:520px}.settings-save-btn{margin-top:12px}.master-detail-toolbar{flex-wrap:wrap;margin-bottom:16px}.field-label-grow{flex:1;min-width:200px}.field-label{font-size:var(--text-xs);margin-bottom:4px;display:block}.checkbox-row--nowrap{white-space:nowrap}.stack-form{flex-direction:column;gap:8px;margin-top:16px;display:flex}.site-details-form{max-width:480px;margin-bottom:0}.site-employees-hint{font-size:var(--text-sm);margin-top:0}.page-header-actions{flex-wrap:wrap;gap:8px;display:flex}.table-scroll{overflow-x:auto}.punch-table{margin-top:8px}.split-layout{gap:16px;display:grid}.split-layout--detail{grid-template-columns:1fr 1.4fr}.alert-banner{border-radius:var(--radius-sm);font-size:var(--text-sm);line-height:var(--leading-normal);word-break:break-word;margin-bottom:12px;padding:10px 14px}.alert-banner--ok{background:var(--c-ok-soft);color:var(--c-ink-secondary)}.alert-banner--info{background:var(--c-brand-soft);color:var(--c-ink-secondary)}.invite-link-code{word-break:break-all;margin:6px 0 8px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.shifts-layout{position:relative}.filter-backdrop{z-index:35;background:#0f141e40;position:fixed;inset:0}.filter-panel{top:0;left:var(--sidebar-width);background:var(--c-surface);border-right:1px solid var(--c-border);width:320px;box-shadow:var(--shadow-pop);z-index:36;padding:20px;position:fixed;bottom:0;overflow:auto}.filter-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.filter-head h2{margin:0;font-size:16px}.filter-section{margin-bottom:18px}.filter-section h3{font-size:var(--text-xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:var(--tracking-label);margin:0 0 8px;font-weight:600}.mini-cal-nav{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mini-cal-dow{text-align:center;color:var(--c-muted);padding:4px 0;font-size:10px;font-weight:700}.mini-cal-day{background:var(--c-bg);border-radius:var(--radius-sm);color:var(--c-ink);border:none;padding:6px 0;font-size:12px;font-weight:600}.mini-cal-day.outside{color:var(--c-muted);opacity:.5}.mini-cal-day.today{border:1px solid var(--c-accent);box-shadow:none}.mini-cal-day.selected{background:var(--c-accent-soft);color:var(--c-accent)}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chip{border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-ink);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.filter-chip.active{background:var(--c-accent-soft);border-color:var(--c-accent-muted);color:var(--c-accent)}.time-presets{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.time-preset{border:1px solid var(--c-border);background:var(--c-bg);color:var(--c-ink);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;line-height:1.2}.time-preset .sub{color:var(--c-muted);margin-left:4px;font-weight:500}.time-preset:hover{border-color:var(--c-accent-muted);background:var(--c-accent-soft)}.time-preset.active{background:var(--c-accent-soft);border-color:var(--c-accent-muted);color:var(--c-accent)}.time-preset:disabled{opacity:.6;cursor:not-allowed}.time-picker{flex-direction:column;gap:14px;margin-top:14px;display:flex}.time-picker-display{border-radius:var(--radius-md);background:var(--c-border-light);border:1px solid var(--c-border);justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.time-picker-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:700;line-height:1}.time-picker-sep{color:var(--c-muted);font-size:30px;font-weight:600;line-height:1}.time-picker-nudges{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.time-picker-nudge{font-size:var(--text-xs);padding-inline:8px}.time-picker-steppers{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.time-picker-stepper{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);flex-direction:column;gap:8px;padding:12px;display:flex}.time-picker-stepper-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-muted);font-weight:600}.time-picker-stepper-controls{justify-content:space-between;align-items:center;gap:8px;display:flex}.time-picker-step-btn{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface-raised,var(--c-border-light));width:36px;height:36px;color:var(--c-ink);place-items:center;font-size:20px;line-height:1;transition:background .12s,border-color .12s;display:grid}.time-picker-step-btn:hover{background:var(--c-hover);border-color:var(--c-input-hover-border)}.time-picker-step-value{text-align:center;min-width:44px;font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:700}.time-picker-minute-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.time-picker-minute{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-ink-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;padding:8px 0;font-weight:600;transition:background .12s,border-color .12s,color .12s}.time-picker-minute:hover{background:var(--c-hover);border-color:var(--c-input-hover-border)}.time-picker-minute.active{background:var(--c-brand-soft);border-color:color-mix(in srgb, var(--c-brand) 35%, var(--c-border));color:var(--c-brand-dark)}.time-picker-presets{flex-direction:column;gap:8px;display:flex}.punch-edit-modal{width:480px}.punch-edit-backdrop{z-index:80}.punch-timeline{padding:12px 0}.punch-timeline-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.timesheet-day-stamps{margin-bottom:24px}.timesheet-day-stamps-toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.timesheet-day-stamps-label{font-size:var(--text-sm);margin:0}.timesheet-day-stamps-detail{border-bottom:1px solid var(--c-border);padding:0 16px 16px}.punch-edit-meta{font-size:var(--text-sm);line-height:var(--leading-normal);margin:0 0 4px}.reports-toolbar{flex-wrap:wrap;gap:12px}.reports-controls{flex-direction:column;gap:18px;display:flex}.reports-controls-section{flex-direction:column;gap:10px;display:flex}.reports-controls-dates{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.reports-controls-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reports-field{min-width:160px;margin-bottom:0}.reports-field span{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-muted);font-weight:600}.reports-kind-toggle{flex-wrap:wrap;width:100%;display:inline-flex}.reports-kind-toggle button{flex:auto;min-width:max-content}.reports-presets{margin-top:0}.reports-presets-hint{font-size:var(--text-xs);margin:0}.reports-sales-panel{flex-direction:column;gap:12px;display:flex}.reports-sales-fields{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.reports-sales-fields .btn{align-self:flex-end}.master-detail-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.master-detail-panel-head h3{font-size:var(--text-lg);margin:0;font-weight:600}.master-detail-count{font-size:var(--text-sm)}.master-detail-section{border-top:1px solid var(--c-border-light);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.master-detail-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.master-detail-add-form{border-top:1px solid var(--c-border-light);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.master-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-block{width:100%}.availability-toolbar{align-items:center}.availability-week-row .availability-week-head{text-align:center;font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;background:var(--c-border-light)}.availability-day-head{text-align:center;min-width:52px;padding:8px 6px}.availability-day-dow{color:var(--c-muted);text-transform:uppercase;font-size:10px;display:block}.availability-day-num{font-size:var(--text-sm);color:var(--c-ink);font-weight:700;display:block}.availability-grid--calendar .availability-cell{text-align:center;min-width:52px;padding:8px 6px}.availability-cell--blocked{color:var(--c-warn);background:var(--c-warn-soft)}.reports-kind-toggle{flex-wrap:wrap}.filter-actions{border-top:1px solid var(--c-border);grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;padding-top:12px;display:grid}.month-view{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:18px}.month-view-title{font-weight:600;font-size:var(--text-lg);letter-spacing:-.02em;margin-bottom:14px}.month-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.month-grid-head{text-align:center;color:var(--c-muted);padding:6px 0;font-size:11px;font-weight:700}.month-day{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg);text-align:left;flex-direction:column;gap:2px;min-height:88px;padding:8px;display:flex}.month-day.outside{opacity:.45}.month-day.today{border-color:var(--c-accent-muted)}.month-day.has-shifts{background:var(--c-brand-soft)}.month-day-num{font-weight:600;font-size:var(--text-sm)}.month-day-count{font-size:var(--text-xs);color:var(--c-brand-dark);font-weight:500}.month-day-meta{color:var(--c-muted);font-size:10px}.top-bar{background:var(--c-bg);border-bottom:1px solid var(--c-border-light);justify-content:space-between;align-items:center;min-height:56px;padding:14px 28px;display:flex}.top-bar-actions{align-items:center;gap:10px;display:flex}.breadcrumbs{min-width:0;font-size:var(--text-sm);color:var(--c-muted);align-items:center;gap:10px;font-weight:500;display:inline-flex}.breadcrumbs .crumb{color:var(--c-ink);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:600;text-decoration:none;overflow:hidden}.breadcrumbs .crumb:hover{text-decoration:underline}.notification-bell{position:relative}.notification-bell-btn{border-radius:var(--radius-pill);border:1px solid var(--c-border);background:var(--c-surface);justify-content:center;align-items:center;padding:8px 12px;display:inline-flex;position:relative}.notification-bell-btn:hover{background:var(--c-border-light)}.notification-badge{color:#f0f0f0;background:#e5484d;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:0;right:0}.notification-panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);width:320px;max-height:400px;box-shadow:var(--shadow-pop);z-index:50;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.notification-panel-head{border-bottom:1px solid var(--c-border);background:var(--c-surface);justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:sticky;top:0}.notification-item{text-align:left;border:none;border-bottom:1px solid var(--c-border);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;display:flex}.notification-item.unread{background:var(--c-accent-soft)}.notification-item.navigable:hover{background:var(--c-border-light)}.notification-item time{color:var(--c-muted);font-size:11px}.notification-empty{margin:0;padding:12px}.leave-request-row,.portal-shift-row{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 16px;display:flex}.portal-leave-item{align-items:center;gap:8px;padding:6px 0;display:flex}.field textarea{border:1px solid var(--c-border);border-radius:var(--radius-sm);width:100%;font:inherit;resize:vertical;padding:8px 10px}.portal-calendar{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.portal-calendar-toolbar{border-bottom:1px solid var(--c-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.portal-calendar-nav{align-items:center;gap:8px;display:flex}.portal-calendar-modes{gap:6px;display:flex}.portal-week-header{background:var(--c-border-light);border-bottom:1px solid var(--c-border);grid-template-columns:repeat(7,1fr);display:grid}.portal-day-head{text-align:center;border-left:1px solid #dfe2e8;padding:10px 12px}.portal-day-head:first-child{border-left:none}.portal-day-head.today{background:var(--c-accent-soft)}.portal-day-head .dow{font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--c-muted);text-transform:uppercase;font-weight:600}.portal-day-head .num{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600}.portal-day-head .meta{color:var(--c-muted);font-size:11px}.portal-shift-grid{background:var(--c-surface);grid-template-columns:repeat(7,1fr);gap:0;min-height:200px;display:grid}.portal-day-col{border-left:1px solid var(--c-border);flex-direction:column;gap:8px;min-height:180px;padding:8px 6px;display:flex}.portal-day-col:first-child{border-left:none}.portal-shift-card{text-align:left;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);cursor:pointer;width:100%;padding:8px;transition:border-color .12s,box-shadow .12s}.portal-shift-card:hover{border-color:#d1d5db}.portal-shift-card.selected{border-color:var(--c-accent-muted);background:var(--c-accent-soft)}.portal-shift-card.pending{border-left:2px solid var(--c-warn)}.portal-shift-card.confirmed{border-left:2px solid var(--c-brand)}.portal-shift-card .time{font-weight:600;font-size:var(--text-xs)}.portal-shift-card .site{margin-top:2px;font-size:12px;font-weight:600}.portal-shift-card .row{justify-content:space-between;align-items:center;gap:6px;margin-top:6px;font-size:11px;display:flex}.portal-month-view{box-shadow:none;border-radius:0}.portal-month-day{min-height:96px}.portal-month-day-open{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0}.portal-month-shift-chip{text-align:left;border:1px solid var(--c-border);background:var(--c-surface);cursor:pointer;border-radius:6px;width:100%;margin-top:4px;padding:4px 6px;font-size:10px;font-weight:600;display:block}.toggle-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin:0;display:inline-flex}.toggle-row--disabled{opacity:.55;cursor:not-allowed}.toggle-row-label{font-size:var(--text-sm);color:var(--c-ink-secondary);line-height:var(--leading-tight)}.toggle-input{opacity:0;width:1px;height:1px;position:absolute}.toggle-control{background:var(--c-border-light);border:1px solid var(--c-border);border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .15s,border-color .15s;position:relative}.toggle-control:after{content:"";background:var(--c-surface);width:16px;height:16px;box-shadow:var(--shadow-card);border-radius:50%;transition:transform .15s,background .15s;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.toggle-input:checked+.toggle-control{background:var(--c-brand);border-color:var(--c-brand-dark)}.toggle-input:checked+.toggle-control:after{transform:translate(14px,-50%)}.toggle-input:focus-visible+.toggle-control{outline:1px solid var(--c-accent);outline-offset:1px}.toggle-input:disabled+.toggle-control{opacity:.6}.check-row{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.checkbox-row{font-size:var(--text-sm);align-items:center;gap:10px;margin-bottom:12px;display:flex}.theme-toggle{border-radius:var(--radius-pill);border:1px solid var(--c-border);background:var(--c-surface);align-items:center;gap:8px;padding:6px 10px;transition:background .15s,border-color .15s;display:inline-flex}.theme-toggle-label{font-size:var(--text-xs);color:var(--c-muted);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.theme-toggle-input{opacity:0;width:1px;height:1px;position:absolute}.theme-toggle-control{background:var(--c-border-light);border:1px solid var(--c-border);border-radius:999px;width:38px;height:22px;transition:background .15s,border-color .15s;position:relative}.theme-toggle-control:after{content:"";background:var(--c-surface);width:16px;height:16px;box-shadow:var(--shadow-card);border-radius:50%;transition:transform .15s,background .15s;position:absolute;top:50%;left:3px;transform:translateY(-50%)}.theme-toggle-input:checked+.theme-toggle-control{background:var(--c-accent-muted);border-color:var(--c-accent-muted)}.theme-toggle-input:checked+.theme-toggle-control:after{background:var(--c-accent);transform:translate(16px,-50%)}.theme-toggle-input:focus-visible+.theme-toggle-control{outline:1px solid var(--c-accent);outline-offset:1px}.portal-month-shift-chip.pending{border-left:3px solid #f5a623}.portal-month-shift-chip.confirmed{border-left:3px solid var(--c-brand)}.portal-month-shift-chip.selected{background:var(--c-accent-soft)}.portal-leave-tag{color:#b45309;margin-top:2px;font-size:10px;font-weight:700}.portal-shift-detail{padding:16px}.portal-shift-detail-meta{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.portal-shift-detail-actions{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.portal-swap-offer{flex-direction:column;gap:8px;min-width:200px;display:flex}.portal-dept-stamp{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.portal-shift-dialog{flex-direction:column;width:520px;max-height:90vh;display:flex}.portal-shift-dialog .modal-body{overflow-y:auto}.portal-shift-dialog-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.portal-shift-dialog-close{min-width:36px;padding:4px 10px;font-size:22px;line-height:1}.portal-shift-dialog-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.portal-shift-dialog-stat{font-size:var(--text-sm);flex-direction:column;gap:4px;display:flex}.portal-shift-dialog-stat-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-muted);font-weight:600}.portal-shift-dialog-note{font-size:var(--text-sm);margin:0 0 12px}.portal-shift-dialog-notes{font-size:var(--text-sm);margin-bottom:12px}.portal-shift-dialog-notes p{margin:4px 0 0}.portal-shift-dialog-section{border-top:1px solid var(--c-border);margin-top:16px;padding-top:16px}.portal-shift-dialog-section h4{margin:0 0 6px;font-size:14px}.portal-shift-dialog-section-hint{margin:0 0 10px;font-size:13px}.portal-shift-dialog-coworkers{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-shift-dialog-coworkers li{font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}.portal-shift-dialog .portal-day-coworkers h4{margin:0 0 8px;font-size:14px}.portal-shift-dialog-actions--confirm{grid-template-columns:1fr 1.2fr}.portal-shift-dialog-actions--single{grid-template-columns:1fr}.portal-shift-dialog .portal-shift-stamps{margin-top:12px;padding:12px!important}.portal-coworkers-table{font-size:13px}.portal-coworkers-table th,.portal-coworkers-table td{padding:8px 10px}.panel-padded,.panel-inset{padding:var(--space-panel)}.panel-inset{background:var(--c-surface-inset);border:1px solid var(--c-border);border-radius:var(--radius-lg)}.teams-sites-list,.teams-sites-detail{padding:var(--space-panel)}.panel-padded h3{font-size:var(--text-lg);letter-spacing:-.02em;margin:0 0 14px;font-weight:600}.dashboard-links{flex-wrap:wrap;gap:8px;display:flex}.approval-chip{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-pill);color:var(--c-ink-secondary);font-weight:500;font-size:var(--text-sm);padding:8px 14px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-block}.approval-chip:hover{background:var(--c-border-light);color:var(--c-ink);border-color:#d1d5db}.param-fields{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 14px;max-width:520px;margin-top:10px;display:grid}.param-field{margin:0}.param-field label{color:var(--c-muted);font-size:12px;font-weight:600}.column-mapper{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-bg);padding:10px}.column-mapper-head,.column-mapper-row{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;gap:8px;display:grid}.column-mapper-head{color:var(--c-muted);margin-bottom:8px;font-size:12px;font-weight:700}.column-mapper-row+.column-mapper-row{margin-top:8px}.auth-brand{flex-direction:column;align-items:center;gap:10px;margin-bottom:4px;display:flex}.auth-brand-logo{width:48px;height:auto}.form-grid-full{grid-column:1/-1}.tag-input{position:relative}.tag-input-chips{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;padding:6px 8px;display:flex}.tag-input-chips input{min-width:120px;font:inherit;background:0 0;border:none;outline:none;flex:1}.tag-chip{border-radius:var(--radius-pill);background:var(--c-border-light);color:var(--c-ink-secondary);font-size:var(--text-xs);align-items:center;gap:4px;padding:3px 10px;font-weight:500;display:inline-flex}.tag-chip button{color:inherit;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.tag-chip-readonly{padding-right:8px}.tag-list-inline{flex-wrap:wrap;gap:4px;display:flex}.tag-input-suggestions{z-index:20;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0}.tag-input-suggestions button{text-align:left;font:inherit;background:0 0;border:none;border-radius:6px;padding:8px 10px}.tag-input-suggestions button:hover{background:var(--c-bg)}.auth-brand h1{margin:0}html[data-theme=dark] .sidebar{border-right-color:var(--c-border)}html[data-theme=dark] .sidebar a.active{background:var(--c-brand-soft);color:var(--c-brand-dark);border:1px solid color-mix(in srgb, var(--c-brand) 30%, transparent);box-shadow:none}html[data-theme=dark] .sidebar a.active .nav-icon{color:var(--c-brand);opacity:1}html[data-theme=dark] .sidebar-search input{background:var(--c-surface);border-color:var(--c-border)}html[data-theme=dark] .sidebar .user-avatar{background:var(--c-surface-raised);border:1px solid var(--c-border)}html[data-theme=dark] .nav-badge{background:var(--c-accent-soft);color:var(--c-accent);border:1px solid var(--c-accent-muted);box-shadow:none}html[data-theme=dark] .top-bar{background:var(--c-sidebar);border-bottom-color:var(--c-border)}html[data-theme=dark] .notification-bell-btn{background:var(--c-surface);border-color:var(--c-border)}html[data-theme=dark] .notification-panel{background:var(--c-surface);border-color:var(--c-border);box-shadow:var(--shadow-pop)}html[data-theme=dark] .notification-item.unread{background:var(--c-accent-soft);box-shadow:inset 2px 0 0 var(--c-accent)}html[data-theme=dark] .data-table th{background:var(--c-surface-raised);border-bottom-color:var(--c-border)}html[data-theme=dark] .data-table td{border-bottom-color:var(--c-border-light)}html[data-theme=dark] .leave-request-row:hover,html[data-theme=dark] .portal-shift-row:hover{background:var(--c-hover)}html[data-theme=dark] .empty-state-icon{background:var(--c-surface-raised);color:var(--c-muted);border:1px solid var(--c-border);box-shadow:none}html[data-theme=dark] .panel-inset{background:var(--c-surface-inset);border-color:var(--c-border)}html[data-theme=dark] .attention-item,html[data-theme=dark] .quick-action,html[data-theme=dark] .insight-item,html[data-theme=dark] .approval-chip{background:var(--c-surface-raised)}html[data-theme=dark] .week-header{background:var(--c-surface-raised);border-color:var(--c-border)}html[data-theme=dark] .week-header .budget-cell{background:var(--c-surface)}html[data-theme=dark] .week-header .day-cell.today{background:var(--c-accent-soft)}html[data-theme=dark] .week-header .day-cell.day-cell-action:hover{background:color-mix(in srgb, var(--c-brand) 18%, var(--c-surface));border-left-color:color-mix(in srgb, var(--c-brand) 40%, var(--c-border))}html[data-theme=dark] .week-header .day-cell.day-cell-action.today:hover{background:color-mix(in srgb, var(--c-accent) 26%, var(--c-surface));border-left-color:color-mix(in srgb, var(--c-accent) 45%, var(--c-border))}html[data-theme=dark] .staff-row{border-top-color:var(--c-border)}html[data-theme=dark] .staff-row .day-cell{border-left-color:var(--c-border-light)}html[data-theme=dark] .availability-scroll-toolbar{background:var(--c-surface-raised);border-bottom-color:var(--c-border)}html[data-theme=dark] .availability-week-row .availability-week-head{background:var(--c-surface-raised)}html[data-theme=dark] .availability-cell--available{background:var(--c-ok-soft);color:var(--c-ok)}html[data-theme=dark] .availability-cell--off{color:var(--c-muted);background:#a1a1aa1f}html[data-theme=dark] .teams-sites-items button.active{background:var(--c-brand-soft);border-color:color-mix(in srgb, var(--c-brand) 40%, var(--c-border));color:var(--c-brand-dark)}html[data-theme=dark] .drawer-section{background:var(--c-surface);box-shadow:var(--shadow-card)}html[data-theme=dark] .filter-panel,html[data-theme=dark] .auth-card{background:var(--c-surface);box-shadow:var(--shadow-pop)}html[data-theme=dark] .portal-calendar,html[data-theme=dark] .month-view{box-shadow:var(--shadow-card)}html[data-theme=dark] .month-day{background:var(--c-surface);border-color:var(--c-border)}html[data-theme=dark] .segmented{background:var(--c-surface-raised);border-color:var(--c-border)}html[data-theme=dark] .segmented button.active{background:var(--c-surface);color:var(--c-ink);box-shadow:none}html[data-theme=dark] .segmented button:hover:not(.active){color:var(--c-ink);background:var(--c-hover)}html[data-theme=dark] .shift-card--published{background:#0d948824;border-color:#2dd4bf47}html[data-theme=dark] .shift-card--open{background:#2563eb24;border-color:#60a5fa47}html[data-theme=dark] .shift-card--draft{background:var(--c-surface-raised);border-color:var(--c-border)}html[data-theme=dark] .shift-card:hover,html[data-theme=dark] .shift-card--published:hover{box-shadow:none;background:#0d948838;border-color:#2dd4bf66}html[data-theme=dark] .shift-card--open:hover{box-shadow:none;background:#2563eb38;border-color:#60a5fa66}html[data-theme=dark] .shift-card--draft:hover{border-color:var(--c-input-hover-border);box-shadow:none;background:#222}html[data-theme=dark] .shift-card-footer{border-top-color:#ffffff14}html[data-theme=dark] .shift-card-stat{background:#0000002e;border-color:#ffffff14}html[data-theme=dark] .shift-card-progress{background:#0003}html[data-theme=dark] .shift-card-progress-fill{background:var(--c-brand)}html[data-theme=dark] .shift-card-progress-fill.is-full{background:var(--c-ok)}html[data-theme=dark] .shift-card-assign{border-color:var(--c-border);color:var(--c-ink-secondary)}html[data-theme=dark] .shift-card:hover .shift-card-assign{background:var(--c-hover);border-color:var(--c-input-hover-border)}html[data-theme=dark] .approval-chip:hover{background:var(--c-hover);border-color:var(--c-input-hover-border);color:var(--c-ink)}html[data-theme=dark] .stat-card-v2-link:hover{box-shadow:0 4px 12px #0000004d}html[data-theme=dark] .stat-card-v2--default .stat-card-v2-icon{background:var(--c-surface-raised);color:var(--c-muted);border:1px solid var(--c-border);box-shadow:none}html[data-theme=dark] .attention-item:hover,html[data-theme=dark] .quick-action:hover{background:var(--c-hover);border-color:var(--c-input-hover-border)}html[data-theme=dark] .insight-item--warn{border-color:color-mix(in srgb, var(--c-warn) 40%, var(--c-border))}html[data-theme=dark] .insight-item--danger{border-color:color-mix(in srgb, var(--c-danger) 40%, var(--c-border))}html[data-theme=dark] .insight-item--ok{border-color:color-mix(in srgb, var(--c-ok) 40%, var(--c-border))}html[data-theme=dark] .stat-card-v2--brand .stat-card-v2-icon{background:var(--c-brand-soft);color:var(--c-brand-dark)}html[data-theme=dark] .stat-card-v2--warn .stat-card-v2-icon{background:var(--c-warn-soft);color:var(--c-warn)}html[data-theme=dark] .stat-card-v2--danger .stat-card-v2-icon{background:var(--c-danger-soft);color:var(--c-danger)}html[data-theme=dark] .stat-card-v2--ok .stat-card-v2-icon{background:var(--c-ok-soft);color:var(--c-ok)}html[data-theme=dark] .stat-card-v2-progress-fill{background:var(--c-brand)}html[data-theme=dark] .stat-card-v2-progress-fill.is-over{background:var(--c-danger)}html[data-theme=dark] .stat-card-v2-progress-label{color:var(--c-danger)}html[data-theme=dark] .attention-item-icon{background:var(--c-warn-soft);color:var(--c-warn)}html[data-theme=dark] .dashboard-empty-icon{background:var(--c-ok-soft);color:var(--c-ok)}html[data-theme=dark] .notification-bell-btn:hover,html[data-theme=dark] .theme-toggle:hover{background:var(--c-hover);border-color:var(--c-input-hover-border)}html[data-theme=dark] .theme-toggle-input:checked+.theme-toggle-control{background:var(--c-muted-light);border-color:var(--c-border)}html[data-theme=dark] .theme-toggle-input:checked+.theme-toggle-control:after{background:var(--c-ink)}html[data-theme=dark] .toggle-input:checked+.toggle-control{background:var(--c-brand);border-color:var(--c-brand)}html[data-theme=dark] .toggle-input:checked+.toggle-control:after{background:#042f2e}html[data-theme=dark] .portal-shift-card{background:var(--c-surface-raised);border-color:var(--c-border)}html[data-theme=dark] .portal-shift-card.confirmed{background:#0d948824;border-color:#2dd4bf47 #2dd4bf47 #2dd4bf47 #2dd4bf}html[data-theme=dark] .portal-shift-card.pending{background:#f59e0b24;border-color:#f59e0b47 #f59e0b47 #f59e0b47 #fbbf24}html[data-theme=dark] .portal-shift-card:hover{border-color:var(--c-input-hover-border)}html[data-theme=dark] .portal-shift-card.confirmed:hover{background:#0d948838;border-color:#2dd4bf66}html[data-theme=dark] .portal-shift-card.pending:hover{background:#f59e0b38;border-color:#f59e0b66}html[data-theme=dark] .portal-shift-card.selected{box-shadow:none;background:#2563eb2e;border-color:#60a5fa66}html[data-theme=dark] .portal-month-shift-chip{background:var(--c-surface-raised);border-color:var(--c-border)}html[data-theme=dark] .portal-month-shift-chip.confirmed{background:#0d948824;border-color:#2dd4bf47 #2dd4bf47 #2dd4bf47 #2dd4bf}html[data-theme=dark] .portal-month-shift-chip.pending{background:#f59e0b24;border-color:#f59e0b47 #f59e0b47 #f59e0b47 #fbbf24}html[data-theme=dark] .portal-month-shift-chip.selected{background:#2563eb2e;border-color:#60a5fa66}html[data-theme=dark] .portal-leave-tag{color:#fcd34d}html[data-theme=dark] .portal-day-head{border-left-color:var(--c-border)}html[data-theme=dark] .drawer-backdrop,html[data-theme=dark] .filter-backdrop,html[data-theme=dark] .modal-backdrop{background:var(--c-overlay)}html[data-theme=dark] .budget-checkpoint .bar{background:var(--c-border)}html[data-theme=dark] .fab{background:var(--c-primary);color:var(--c-primary-ink)}html[data-theme=dark] .fab:hover{background:var(--c-primary-hover);color:var(--c-primary-ink)}html[data-theme=dark] .search-results button:hover,html[data-theme=dark] .tag-input-suggestions button:hover,html[data-theme=dark] .notification-item.navigable:hover{background:var(--c-hover)}html[data-theme=dark] .time-preset:hover{background:var(--c-hover);border-color:var(--c-input-hover-border);color:var(--c-ink)}html[data-theme=dark] .time-preset.active,html[data-theme=dark] .filter-chip.active{background:var(--c-accent-soft);border-color:var(--c-accent-muted);color:var(--c-accent)}html[data-theme=dark] .modal-tabs button.active{background:var(--c-surface-raised);color:var(--c-ink);box-shadow:none}html[data-theme=dark] .cell-chip.shift-confirmed{color:#6ee7b7;background:#10b98129;border:1px solid #10b98147}html[data-theme=dark] .cell-chip.shift-pending{color:#fcd34d;background:#f59e0b29;border:1px solid #f59e0b47}html[data-theme=dark] .cell-chip.leave{color:var(--c-muted);border:1px solid var(--c-border);background:#f0f0f014}html[data-theme=dark] .cell-chip.absent{color:#fca5a5;background:#dc262638;border:1px solid #dc262659}html[data-theme=dark] .cell-chip.shift-proposed{color:#a5b4fc;background:#6366f11a;border:1px dashed #818cf88c}html[data-theme=dark] .week-header .day-cell.today,html[data-theme=dark] .portal-day-head.today,html[data-theme=dark] .mini-cal-day.selected{background:var(--c-accent-soft)}html[data-theme=dark] .month-day.has-shifts{background:var(--c-brand-soft);border-color:color-mix(in srgb, var(--c-brand) 35%, var(--c-border))}html[data-theme=dark] .month-day.today{border-color:var(--c-accent-muted)}html[data-theme=dark] .month-day-count{color:var(--c-brand-dark)}.sidebar .nav-locked{color:var(--c-muted);border-radius:var(--radius-sm);font-weight:500;font-size:var(--text-sm);line-height:var(--leading-tight);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 12px;font-family:inherit;transition:background .12s,color .12s;display:flex}.sidebar .nav-locked:hover{background:var(--c-hover);color:var(--c-ink-secondary)}.sidebar .nav-locked .nav-lock-icon{opacity:.6;width:13px;height:13px;margin-left:auto}.trial-banner{background:var(--c-ink);color:var(--c-surface);font-size:var(--text-sm);justify-content:center;align-items:center;gap:12px;padding:8px 24px;display:flex}.trial-banner.expired{background:var(--c-danger,#b3261e)}.trial-banner-cta{color:inherit;white-space:nowrap;font-weight:600;text-decoration:underline}.feature-locked{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:420px;margin:80px auto;display:flex}.feature-locked-icon{background:var(--c-border-light);width:52px;height:52px;color:var(--c-ink-secondary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.feature-locked h2{margin:0}.feature-locked .btn{margin-top:10px}.upgrade-modal{max-width:420px}.upgrade-modal-icon{background:var(--c-border-light);width:40px;height:40px;color:var(--c-ink-secondary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.plan-current{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.plan-current-name{font-size:var(--text-xl);align-items:center;font-weight:600;display:flex}.plan-usage{gap:28px;display:flex}.plan-usage-stat .value{font-size:var(--text-lg);font-weight:600}.plan-usage-stat .label{font-size:var(--text-xs)}.plan-usage-stat.over .value{color:var(--c-danger,#b3261e)}.plan-tiers{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch;gap:16px;margin-bottom:20px;display:grid}.plan-tier{flex-direction:column;gap:10px;display:flex}.plan-tier.current{border-color:var(--c-ink)}.plan-tier-head{justify-content:space-between;align-items:center;display:flex}.plan-tier-head h3{margin:0}.plan-tier-price .amount{font-size:var(--text-xl);font-weight:700}.plan-tier-price .note{font-size:var(--text-xs);display:block}.plan-tier-bullets{font-size:var(--text-sm);color:var(--c-ink-secondary);flex-direction:column;flex:1;gap:6px;margin:0;padding-left:18px;display:flex}.plan-tier .btn{align-self:flex-start}.tag-chip.danger{background:color-mix(in srgb, var(--c-danger,#b3261e) 12%, transparent);color:var(--c-danger,#b3261e)}.plan-demo-banner{border-left:3px solid var(--c-ink);justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.plan-billing{flex-direction:column;gap:8px;margin-top:16px;display:flex}.plan-billing-head{justify-content:space-between;align-items:center;display:flex}.plan-snapshot-list{flex-wrap:wrap;gap:12px;display:flex}.marketing-page{background:var(--c-bg);min-height:100vh;color:var(--c-ink)}.marketing-header{z-index:50;background:var(--c-glass);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border);position:sticky;top:0}.marketing-header-inner{align-items:center;gap:20px;max-width:1120px;margin:0 auto;padding:14px 24px;display:flex}.marketing-brand{font-weight:700;font-size:var(--text-lg);color:inherit;flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.marketing-brand svg{width:28px;height:28px}.marketing-nav{flex:1;gap:4px;display:none}@media (width>=768px){.marketing-nav{display:flex}}.marketing-nav a{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--c-muted);padding:8px 12px;font-weight:500;text-decoration:none;transition:color .12s,background .12s}.marketing-nav a:hover,.marketing-nav a.active{color:var(--c-ink);background:var(--c-hover)}.marketing-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.marketing-header-actions .theme-toggle{padding:4px 8px}.marketing-btn-ghost{border-color:var(--c-border);color:var(--c-ink-secondary);background:0 0}.marketing-btn-ghost:hover{background:var(--c-hover);color:var(--c-ink)}.marketing-eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--c-brand);margin:0 0 10px;font-weight:600}.marketing-hero-wrap{background:radial-gradient(ellipse 80% 60% at 50% -20%, color-mix(in srgb, var(--c-brand) 10%, transparent), transparent), var(--c-bg);border-bottom:1px solid var(--c-border)}.marketing-hero{grid-template-columns:1fr;align-items:center;gap:40px;max-width:1120px;margin:0 auto;padding:48px 24px 56px;display:grid}@media (width>=960px){.marketing-hero{grid-template-columns:1fr 1.1fr;padding-top:64px}}.marketing-hero h1{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(32px,4.5vw,48px);line-height:1.1}.marketing-lead{font-size:var(--text-lg);line-height:var(--leading-normal);max-width:52ch;margin:0 0 24px}.marketing-hero-cta{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.marketing-cta-lg{font-size:var(--text-base);padding:11px 20px}.marketing-hero-note{font-size:var(--text-sm);margin:0}.marketing-trust-list{flex-wrap:wrap;gap:8px 16px;margin:4px 0 0;padding:0;list-style:none;display:flex}.marketing-trust-list li{font-size:var(--text-sm);color:var(--c-muted);padding-left:18px;position:relative}.marketing-trust-list li:before{content:"";background:var(--c-brand);opacity:.85;border-radius:50%;width:7px;height:7px;position:absolute;top:.55em;left:0}.marketing-hero-shot,.marketing-feature-shot{position:relative}.marketing-browser-chrome{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none;gap:6px;padding:10px 12px;display:flex}.marketing-browser-chrome span{background:var(--c-border);border-radius:50%;width:10px;height:10px}.marketing-shot-frame{border:1px solid var(--c-border);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--c-surface);box-shadow:var(--shadow-pop);overflow:hidden}.marketing-pillars{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:1120px;margin:0 auto;padding:40px 24px 48px;display:grid}.marketing-pillar{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-card);padding:22px 22px 22px 56px;position:relative}.marketing-pillar-index{width:28px;height:28px;font-size:var(--text-sm);color:var(--c-brand);background:var(--c-brand-soft);border:1px solid color-mix(in srgb, var(--c-brand) 25%, var(--c-border));border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:20px;left:18px}.marketing-pillar h3{font-size:var(--text-lg);margin:0 0 6px}.marketing-pillar p{font-size:var(--text-sm);margin:0}.marketing-section-head{text-align:center;max-width:640px;margin:0 auto 40px;padding:0 24px}.marketing-steps-section{border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);background:color-mix(in srgb, var(--c-surface) 70%, var(--c-bg));max-width:1120px;margin:0 auto;padding:56px 24px}.marketing-steps{grid-template-columns:1fr;gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.marketing-steps{grid-template-columns:repeat(2,1fr);gap:16px}}@media (width>=1024px){.marketing-steps{grid-template-columns:repeat(4,1fr)}}.marketing-step{border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);align-items:flex-start;gap:14px;padding:18px;display:flex}.marketing-step-number{border-radius:var(--radius-sm);width:32px;height:32px;font-weight:700;font-size:var(--text-sm);color:var(--c-ink);background:var(--c-hover);border:1px solid var(--c-border);flex-shrink:0;place-items:center;display:grid}.marketing-step h3{font-size:var(--text-base);margin:0 0 6px}.marketing-step p{font-size:var(--text-sm);margin:0;line-height:1.5}.marketing-section-head h2{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(24px,3vw,32px)}.marketing-section-title{text-align:center;font-size:var(--text-xl);margin:0 0 20px}.marketing-features{max-width:1120px;margin:0 auto;padding:64px 24px 72px}.marketing-feature{grid-template-columns:1fr;align-items:center;gap:32px;margin-bottom:56px;display:grid}@media (width>=900px){.marketing-feature{grid-template-columns:1fr 1fr;gap:48px}.marketing-feature.reverse .marketing-feature-copy{order:2}.marketing-feature.reverse .marketing-feature-shot{order:1}}.marketing-feature h3{font-size:var(--text-xl);margin:0 0 10px}.marketing-feature-copy p.muted{line-height:var(--leading-normal);margin:0}.marketing-stats{grid-template-columns:repeat(3,1fr);gap:14px;max-width:1000px;margin:0 auto 56px;padding:0 24px;display:grid}.marketing-stat{text-align:center;border-radius:var(--radius-md);border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-card);padding:24px 20px}.marketing-stat .value{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:700}.marketing-stat .label{font-size:var(--text-sm);margin-top:4px}.marketing-cta-band{text-align:center;border-radius:var(--radius-lg);background:var(--c-surface);border:1px solid var(--c-border);max-width:760px;box-shadow:var(--shadow-pop);margin:0 auto 64px;padding:40px 32px}.marketing-cta-band h2{margin:0 0 10px;font-size:clamp(22px,3vw,28px)}.marketing-cta-band p{max-width:52ch;margin:0 auto 20px}.marketing-cta-band-compact{margin-bottom:48px}.marketing-pricing-hero{text-align:center;max-width:720px;margin:0 auto;padding:48px 24px 32px}.marketing-pricing-hero h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(28px,4vw,40px)}.marketing-pricing-cards{max-width:1120px;margin:0 auto 56px;padding:0 24px}.marketing-faq{max-width:900px;margin:0 auto 48px;padding:0 24px}.marketing-faq h2{text-align:center;margin:0 0 24px}.marketing-faq-grid{gap:12px;display:grid}@media (width>=700px){.marketing-faq-grid{grid-template-columns:1fr 1fr}}.marketing-faq-item{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);padding:0 16px}.marketing-faq-item summary{font-weight:600;font-size:var(--text-sm);cursor:pointer;padding:14px 0;list-style:none}.marketing-faq-item summary::-webkit-details-marker{display:none}.marketing-faq-item p{font-size:var(--text-sm);line-height:var(--leading-normal);margin:0 0 14px}.marketing-footer{border-top:1px solid var(--c-border);background:var(--c-surface);padding:40px 24px 24px}.marketing-footer-inner{grid-template-columns:1fr;gap:32px;max-width:1120px;margin:0 auto 24px;display:grid}@media (width>=640px){.marketing-footer-inner{grid-template-columns:1.2fr 1fr}}.marketing-footer-brand{flex-direction:column;gap:8px;display:flex}.marketing-footer-brand svg{width:24px;height:24px}.marketing-footer-brand span{font-weight:700}.marketing-footer-brand p{font-size:var(--text-sm);max-width:28ch;margin:0}.marketing-footer-links{gap:48px;display:flex}.marketing-footer-links h4{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--c-muted);margin:0 0 10px}.marketing-footer-links a{font-size:var(--text-sm);color:var(--c-ink-secondary);margin-bottom:6px;text-decoration:none;display:block}.marketing-footer-links a:hover{color:var(--c-ink)}.marketing-footer-bottom{text-align:center;max-width:1120px;font-size:var(--text-sm);border-top:1px solid var(--c-border);margin:0 auto;padding-top:16px}.pricing-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.pricing-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:24px;display:flex;position:relative}.pricing-card.featured{border-color:var(--c-ink);box-shadow:var(--shadow-pop)}.pricing-card .featured-chip{background:var(--c-ink);color:var(--c-primary-ink);position:absolute;top:-12px;left:24px}.pricing-card h3{margin:0}.pricing-card .price{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.pricing-card .price .amount{font-size:28px;font-weight:700}.pricing-card .price-unit{font-size:var(--text-sm);color:var(--c-muted)}.pricing-card .floor{font-size:var(--text-xs)}.pricing-tier-bullets{font-size:var(--text-sm);color:var(--c-ink-secondary);flex-direction:column;flex:1;gap:6px;margin:4px 0 8px;padding-left:18px;display:flex}.pricing-card .btn{margin-top:auto}.pricing-table-wrap{max-width:1120px;margin:0 auto 48px;padding:0 24px}.pricing-table-scroll{border-radius:var(--radius-md);border:1px solid var(--c-border);overflow-x:auto}.pricing-table{border-collapse:collapse;background:var(--c-surface);width:100%;font-size:var(--text-sm)}.pricing-table th,.pricing-table td{text-align:left;border-bottom:1px solid var(--c-border);padding:10px 14px}.pricing-table th:not(:first-child),.pricing-table td:not(:first-child){text-align:center;width:120px}.pricing-table thead th{background:var(--c-hover);font-weight:700}.pricing-table .section-row td{background:var(--c-hover);font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted)}.pricing-check{color:var(--c-ok);font-weight:700}html[data-theme=dark] .filter-chip,html[data-theme=dark] .time-preset{background:var(--c-surface);border-color:var(--c-border)}html[data-theme=dark] .alert-banner--ok{background:var(--c-ok-soft);color:var(--c-ok);border:1px solid color-mix(in srgb, var(--c-ok) 30%, transparent)}html[data-theme=dark] .alert-banner--info{background:var(--c-brand-soft);color:var(--c-brand-dark);border:1px solid color-mix(in srgb, var(--c-brand) 30%, transparent)}html[data-theme=dark] .trial-banner{background:var(--c-brand);color:#042f2e;border-bottom:1px solid color-mix(in srgb, var(--c-brand) 50%, #000)}html[data-theme=dark] .trial-banner.expired{background:var(--c-warn);color:#422006}html[data-theme=dark] .autofill-preview{background:color-mix(in srgb, var(--c-accent) 10%, var(--c-surface));border-color:color-mix(in srgb, var(--c-accent) 40%, var(--c-border))}html[data-theme=dark] .autofill-preview-item,html[data-theme=dark] .time-picker-display,html[data-theme=dark] .time-picker-stepper,html[data-theme=dark] .time-picker-minute{background:var(--c-surface-raised)}html[data-theme=dark] .time-picker-step-btn{background:var(--c-surface)}html[data-theme=dark] .time-picker-minute.active{background:var(--c-brand-soft);color:var(--c-brand-dark)}html[data-theme=dark] .insight-action:hover{background:color-mix(in srgb, var(--c-brand) 22%, var(--c-surface-raised));border-color:color-mix(in srgb, var(--c-brand) 45%, var(--c-border));color:var(--c-brand-dark)}html[data-theme=dark] .pricing-check{color:var(--c-ink)}.pricing-dash{opacity:.5}.mkt-mock{background:var(--c-bg);min-height:220px;font-size:11px}.mkt-mock-shifts{min-height:280px;display:flex}.mkt-mock-sidebar{border-right:1px solid var(--c-border);background:var(--c-sidebar);flex-direction:column;gap:6px;width:52px;padding:10px 8px;display:flex}.mkt-mock-brand{background:var(--c-border);border-radius:4px;height:20px;margin-bottom:8px}.mkt-mock-nav-item{background:var(--c-hover);border-radius:6px;height:24px}.mkt-mock-nav-item.active{background:var(--c-border)}.mkt-mock-main{flex:1;padding:10px;overflow:hidden}.mkt-mock-topbar{background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;height:28px;margin-bottom:10px}.mkt-mock-week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.mkt-mock-day-head{color:var(--c-muted);text-align:center;margin-bottom:4px;font-size:9px;font-weight:600}.mkt-mock-shift-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:6px;margin-bottom:4px;padding:6px}.mkt-mock-shift-card.filled{border-color:var(--c-ink)}.mkt-mock-shift-title{background:var(--c-border);border-radius:3px;width:70%;height:6px;margin-bottom:4px}.mkt-mock-shift-title.short{width:50%}.mkt-mock-shift-meta{background:var(--c-hover);border-radius:2px;width:45%;height:4px;margin-bottom:6px}.mkt-mock-avatars{gap:3px;display:flex}.mkt-mock-avatars span{background:var(--c-border);border-radius:50%;width:14px;height:14px}.mkt-mock-bar{background:var(--c-hover);border-radius:2px;width:80%;height:4px}.mkt-mock-table{padding:12px}.mkt-mock-table-head,.mkt-mock-table-row{border-bottom:1px solid var(--c-border);grid-template-columns:1.4fr 1fr .8fr .7fr;align-items:center;gap:8px;padding:8px 0;display:grid}.mkt-mock-table-head{color:var(--c-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.mkt-mock-name{align-items:center;gap:8px;font-weight:500;display:flex}.mkt-mock-avatar-sm{background:var(--c-border);border-radius:50%;flex-shrink:0;width:22px;height:22px}.mkt-mock-timesheets{flex-direction:column;gap:8px;padding:12px;display:flex}.mkt-mock-ts-row{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px;display:flex}.mkt-mock-ts-row .mkt-mock-name{flex:1}.mkt-mock-badge{text-transform:uppercase;border-radius:var(--radius-pill);background:var(--c-hover);padding:3px 8px;font-size:9px;font-weight:600}.mkt-mock-badge.approved{background:var(--c-ok-soft);color:var(--c-ok)}.mkt-mock-badge.pending{background:var(--c-pending-soft);color:var(--c-warn)}.mkt-mock-badge.draft{background:var(--c-hover);color:var(--c-muted)}.mkt-mock-portal{grid-template-columns:1fr 1fr;gap:12px;min-height:200px;padding:12px;display:grid}.mkt-mock-portal-cal{grid-template-columns:repeat(7,1fr);align-content:start;gap:4px;display:grid}.mkt-mock-cal-cell{aspect-ratio:1;background:var(--c-hover);border:1px solid var(--c-border);border-radius:4px}.mkt-mock-cal-cell.has-shift{background:var(--c-brand-soft);border-color:var(--c-brand)}.mkt-mock-portal-detail{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:12px}.mkt-mock-portal-btns{gap:6px;margin-top:12px;display:flex}.mkt-mock-btn{background:var(--c-hover);border:1px solid var(--c-border);border-radius:6px;flex:1;height:24px}.mkt-mock-btn.primary{background:var(--c-ink);border-color:var(--c-ink)}@media (width<=640px){.marketing-header-actions .btn:not(.primary){display:none}.marketing-stats{grid-template-columns:1fr;gap:12px}.marketing-cta-band{margin-left:16px;margin-right:16px;padding:28px 20px}.marketing-pillar{padding-top:52px;padding-left:22px}.marketing-pillar-index{top:16px;left:18px}.mkt-mock-portal{grid-template-columns:1fr}}.payslip-preview-wrap{max-width:920px}.payslip-preview-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.payslip-preview-actions{flex-wrap:wrap;gap:8px;display:flex}.payslip-preview-list{flex-direction:column;gap:24px;display:flex}.payslip-print-page{border:1px solid var(--c-border);border-radius:var(--radius);color:#111;background:#fff;padding:28px}.payslip-doc-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px;display:grid}.payslip-doc-addresses{flex-direction:column;gap:20px;font-size:13px;line-height:1.45;display:flex}.payslip-doc-recipient{margin-top:8px}.payslip-doc-title{letter-spacing:.05em;margin:0 0 12px;font-size:13px;font-weight:700}.payslip-doc-meta{gap:4px;margin:0 0 12px;font-size:12px;display:grid}.payslip-doc-meta div{gap:8px;display:flex}.payslip-doc-meta dt{min-width:88px;font-weight:700}.payslip-doc-meta dd{margin:0}.payslip-doc-net{border-top:1px solid #ddd;justify-content:space-between;align-items:baseline;padding-top:8px;font-size:16px;display:flex}.payslip-doc-table{border-collapse:collapse;width:100%;font-size:12px}.payslip-doc-table th,.payslip-doc-table td{text-align:left;border-bottom:1px solid #eee;padding:7px 8px}.payslip-doc-table th.num,.payslip-doc-table td.num{text-align:right;font-variant-numeric:tabular-nums}.payslip-doc-totals{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.payslip-doc-totals-box{border:1px solid #ddd;padding:10px 12px;font-size:12px}.payslip-doc-totals-box h3{text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:11px}.payslip-doc-totals-row{justify-content:space-between;gap:12px;margin-bottom:4px;display:flex}.payslip-doc-note{margin:14px 0 0;font-size:11px}@media print{.no-print,.app-nav,.page-title,.panel{display:none!important}.payslip-print-page{break-inside:avoid;box-shadow:none;border:none;padding:0}body{background:#fff}}.workplace-switcher{border-bottom:1px solid var(--border);padding:0 12px 12px}.workplace-switcher-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.workplace-switcher-select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:8px 10px;font-size:13px}.app-mode-toggle{gap:4px;padding:0 12px 12px;display:flex}.app-mode-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 6px;font-size:12px}.app-mode-toggle button.active{background:var(--brand);border-color:var(--brand);color:#fff}.org-badge{letter-spacing:.02em;background:color-mix(in srgb, var(--brand) 18%, transparent);color:var(--brand);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.org-badge--dialog{margin:6px 0 0}.org-badge--notification,.portal-month-shift-chip .org-badge,.portal-shift-card .org-badge{width:fit-content;margin:4px 0 0;display:block}.portal-all-hint,.portal-switching{margin-bottom:16px}.domain-settings{gap:10px;display:grid}.domain-settings-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.domain-settings-row .muted{min-width:120px}
