:root{--c-neutral-0:#fff;--c-neutral-25:#fcfcfd;--c-neutral-50:#f7f8fa;--c-neutral-100:#f0f1f4;--c-neutral-150:#e8eaee;--c-neutral-200:#dfe1e7;--c-neutral-300:#c8ccd4;--c-neutral-400:#a2a8b4;--c-neutral-500:#7c8393;--c-neutral-600:#5c6373;--c-neutral-700:#434958;--c-neutral-800:#2c313c;--c-neutral-900:#181c24;--c-brand-50:#f2efff;--c-brand-100:#e6e0ff;--c-brand-200:#cfc4ff;--c-brand-300:#ab99fb;--c-brand-400:#8b73f8;--c-brand-500:#6b4ef5;--c-brand-600:#573ddb;--c-brand-700:#4630b0;--c-brand-800:#33237e;--c-good-50:#e7f6e9;--c-good-500:#0ca30c;--c-good-700:#0a6f0a;--c-warn-50:#fdf4dd;--c-warn-500:#fab219;--c-warn-700:#8a6100;--c-alert-50:#fdeee7;--c-alert-500:#ec835a;--c-alert-700:#a1502c;--c-danger-50:#fdeaea;--c-danger-500:#d03b3b;--c-danger-700:#a32424;--surface:var(--c-neutral-0);--surface-sunken:var(--c-neutral-50);--surface-raised:var(--c-neutral-0);--surface-muted:var(--c-neutral-50);--surface-hover:var(--c-neutral-50);--surface-active:var(--c-neutral-100);--canvas:var(--c-neutral-50);--text:var(--c-neutral-900);--text-muted:var(--c-neutral-600);--text-subtle:var(--c-neutral-500);--text-inverse:var(--c-neutral-0);--text-on-accent:var(--c-neutral-0);--border:var(--c-neutral-150);--border-strong:var(--c-neutral-200);--border-input:var(--c-neutral-300);--border-focus:var(--c-brand-500);--accent:var(--c-brand-500);--accent-hover:var(--c-brand-600);--accent-active:var(--c-brand-700);--accent-soft:var(--c-brand-50);--accent-soft-border:var(--c-brand-200);--accent-text:var(--c-brand-700);--good:var(--c-good-500);--good-soft:var(--c-good-50);--good-text:var(--c-good-700);--warn:var(--c-warn-500);--warn-soft:var(--c-warn-50);--warn-text:var(--c-warn-700);--alert:var(--c-alert-500);--alert-soft:var(--c-alert-50);--alert-text:var(--c-alert-700);--danger:var(--c-danger-500);--danger-soft:var(--c-danger-50);--danger-text:var(--c-danger-700);--viz-1:#2a78d6;--viz-2:#eb6834;--viz-3:#1baf7a;--viz-4:#eda100;--viz-5:#e87ba4;--viz-6:#008300;--viz-7:#4a3aa7;--r-xs:2px;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-xl:8px;--r-pill:999px;--r-circle:50%;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--fs-2xs:10.5px;--fs-xs:11.5px;--fs-sm:12.5px;--fs-md:13.5px;--fs-base:14px;--fs-lg:16px;--fs-xl:19px;--fs-2xl:23px;--fs-3xl:28px;--lh-tight:1.25;--lh-snug:1.4;--lh-normal:1.55;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-tight:-.02em;--tracking-wide:.06em;--shadow-xs:0 1px 2px #181c240d;--shadow-sm:0 1px 3px #181c2412, 0 1px 2px #181c240a;--shadow-md:0 4px 12px #181c2414;--shadow-lg:0 16px 40px -8px #181c242e;--ring-accent:0 0 0 3px var(--c-brand-100);--ring-danger:0 0 0 3px var(--c-danger-50);--ease:cubic-bezier(.2, 0, .15, 1);--dur-fast:.1s;--dur:.15s;--control-h-sm:28px;--control-h:34px;--control-h-lg:38px;--nav-item-h:32px;--sidebar-w:256px;--topbar-h:64px;--z-sticky:10;--z-drawer:40;--z-modal:50;--z-toast:60}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4,h5,p,figure,dl,dd{margin:0}h1,h2,h3,h4{font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight)}ul,ol{margin:0;padding:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{display:block}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--c-neutral-300) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--c-neutral-300);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--c-neutral-400);background-clip:content-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted-note{color:var(--text-subtle);font-size:var(--fs-sm);line-height:var(--lh-normal)}.numeric{font-variant-numeric:tabular-nums}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--canvas);height:100%;display:grid}.main{flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.content{padding:var(--sp-6) var(--sp-8);flex:1;overflow-y:auto}.content>*+*{margin-top:var(--sp-4)}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.brand{align-items:center;gap:var(--sp-3);height:var(--topbar-h);padding:0 var(--sp-5);border-bottom:1px solid var(--border);flex:none;display:flex}.brand-mark{border-radius:var(--r-md);background:var(--accent);width:30px;height:30px;color:var(--text-on-accent);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:0;flex:none;place-items:center;display:grid}.brand-text strong{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:1.2;display:block}.brand-text span{font-size:var(--fs-2xs);color:var(--text-subtle);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.nav{padding:var(--sp-4) var(--sp-3) var(--sp-6);gap:var(--sp-4);align-content:start;display:grid}.nav-section-label{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);padding:0 var(--sp-3) var(--sp-2)}.nav-link{align-items:center;gap:var(--sp-3);padding:0 var(--sp-3);height:var(--nav-item-h);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-muted);font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);display:flex}.nav-group{text-align:left;background:0 0;border:0;width:100%}.nav-caret{opacity:.6;width:12px;height:12px;transition:transform var(--dur-fast) var(--ease);flex:none;margin-left:auto}.nav-group[aria-expanded=false] .nav-caret{transform:rotate(-90deg)}.nav-children{margin:2px 0 0 var(--sp-4);padding-left:var(--sp-2);border-left:1px solid var(--border);gap:1px;display:grid}.nav-link+.nav-link{margin-top:1px}.nav-link:hover{background:var(--surface-hover);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent-text);font-weight:var(--fw-semibold)}.nav-link .dot{border-radius:var(--r-circle);opacity:.4;background:currentColor;flex:none;width:5px;height:5px;margin:0 6px}.nav-icon{opacity:.85;flex:none;width:17px;height:17px}.nav-link.active .nav-icon{opacity:1}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);padding:0 var(--sp-5) 0 var(--sp-6);justify-content:space-between;align-items:center;gap:var(--sp-4);flex:none;display:flex}.topbar-right{align-items:center;gap:var(--sp-3);display:flex}.avatar{border-radius:var(--r-circle);background:var(--accent-soft);width:30px;height:30px;color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);flex:none;place-items:center;display:grid}.user-meta{text-align:right;line-height:1.3}.user-meta strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:block}.user-meta span{font-size:var(--fs-xs);color:var(--text-subtle)}@media (width<=1024px){.shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border)}.nav{gap:var(--sp-3);grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.content{padding:var(--sp-4)}}.btn{justify-content:center;align-items:center;gap:var(--sp-2);height:var(--control-h-lg);padding:0 var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;line-height:1;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);font-weight:var(--fw-semibold)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-active)}.btn-ghost{background:var(--surface);border-color:var(--border-input);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);border-color:var(--c-neutral-400)}.btn-subtle{color:var(--text-muted);background:0 0}.btn-subtle:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger{color:var(--danger-text)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--c-danger-500)}.btn-sm{height:var(--control-h-sm);padding:0 var(--sp-2);font-size:var(--fs-sm)}.btn-block{width:100%}.icon-btn{width:var(--control-h);height:var(--control-h);border:1px solid var(--border-input);background:var(--surface);border-radius:var(--r-md);color:var(--text-muted);font-size:var(--fs-base);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn-sm{width:var(--control-h-sm);height:var(--control-h-sm);font-size:var(--fs-sm)}.input{width:100%;height:var(--control-h-lg);padding:0 var(--sp-3);border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);outline:none}.input::placeholder{color:var(--text-subtle)}.input:hover:not(:disabled):not(:focus){border-color:var(--c-neutral-400)}.input:focus{border-color:var(--border-focus);box-shadow:var(--ring-accent)}.input:disabled{background:var(--surface-muted);color:var(--text-subtle);cursor:not-allowed}.input[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:var(--ring-danger)}textarea.input{height:auto;min-height:72px;padding:var(--sp-2) var(--sp-3);line-height:var(--lh-normal);resize:vertical}select.input{appearance:none;padding-right:var(--sp-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%237c8393' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--sp-3) center}.field{align-content:start;gap:5px;min-width:0;display:grid}.field>label,.field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);line-height:1.3}.field-note{font-size:var(--fs-xs);color:var(--text-subtle);line-height:var(--lh-snug)}.field-error{font-size:var(--fs-xs);color:var(--danger-text);line-height:var(--lh-snug)}.field-required{color:var(--danger);margin-left:2px}.form-stack{gap:var(--sp-4);align-content:start;display:grid}.form-stack-tight{gap:var(--sp-3)}.form-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field-full{grid-column:1/-1}.fieldset{border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-4);align-content:start;margin:0;display:grid}.fieldset>legend{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);padding:0 var(--sp-1);margin-left:calc(var(--sp-1) * -1)}.check-row{gap:var(--sp-2);font-size:var(--fs-md);cursor:pointer;line-height:var(--lh-snug);align-items:flex-start;display:flex}.check-row input[type=checkbox],.check-row input[type=radio]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex:none;margin:2px 0 0}.check-note{font-size:var(--fs-xs);color:var(--text-subtle);line-height:var(--lh-snug);margin-top:2px;display:block}.form-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.card-head h2{font-size:var(--fs-base)}.card-head h3{font-size:var(--fs-md)}.card-head p{font-size:var(--fs-sm);color:var(--text-muted);max-width:68ch;line-height:var(--lh-snug);margin-top:3px}.card-body{padding:var(--sp-4)}.card-foot{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;display:flex}.page-header h1{font-size:var(--fs-2xl)}.page-header p{margin-top:var(--sp-1);color:var(--text-muted);font-size:var(--fs-md);max-width:84ch;line-height:var(--lh-snug)}.page-header-actions{gap:var(--sp-2);flex:none;align-items:center;display:flex}.stat-row{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.stat{padding:var(--sp-4);align-content:start;gap:2px;display:grid}.stat-label{font-size:var(--fs-xs);color:var(--text-muted);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;margin-top:2px;line-height:1.15}.stat-foot{font-size:var(--fs-xs);color:var(--text-subtle);line-height:var(--lh-snug)}.alert{gap:var(--sp-2);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);line-height:var(--lh-snug);border:1px solid #0000;display:flex}.alert-error{background:var(--danger-soft);border-color:var(--c-danger-500);border-color:color-mix(in srgb, var(--c-danger-500) 30%, transparent);color:var(--danger-text)}.alert-success{background:var(--good-soft);border-color:color-mix(in srgb, var(--c-good-500) 30%, transparent);color:var(--good-text)}.alert-info{background:var(--surface-muted);border-color:var(--border-strong);color:var(--text-muted)}.loader{justify-content:center;align-items:center;gap:var(--sp-3);min-height:220px;color:var(--text-muted);font-size:var(--fs-md);flex-direction:column;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:var(--r-circle);width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;padding:var(--sp-12) var(--sp-6);place-items:center;gap:var(--sp-1);display:grid}.empty-icon{border-radius:var(--r-lg);background:var(--surface-muted);border:1px solid var(--border);width:40px;height:40px;color:var(--text-subtle);margin-bottom:var(--sp-2);place-items:center;display:grid}.empty h3{font-size:var(--fs-md)}.empty p{color:var(--text-muted);font-size:var(--fs-sm);max-width:46ch;line-height:var(--lh-normal)}.toolbar{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.toolbar .input{height:var(--control-h);flex:190px;width:auto;min-width:190px;max-width:300px}.toolbar select.input{flex:none;min-width:148px;max-width:none}.toolbar-end{align-items:center;gap:var(--sp-3);margin-left:auto;display:flex}.table-count{font-size:var(--fs-xs);color:var(--text-subtle);white-space:nowrap;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-md)}.table th{text-align:left;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);padding:var(--sp-2) var(--sp-4);background:var(--surface-muted);border-bottom:1px solid var(--border);white-space:nowrap;height:34px}.table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--surface-hover)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table .row-actions{text-align:right;white-space:nowrap;width:1%}.table-empty{text-align:center;color:var(--text-subtle);padding:var(--sp-10) var(--sp-4)!important}.cell-strong{font-weight:var(--fw-medium);color:var(--text);line-height:var(--lh-snug)}.cell-sub{font-size:var(--fs-xs);color:var(--text-subtle);line-height:var(--lh-snug);margin-top:1px}.cell-masked{color:var(--text-muted)}.lock{font-size:var(--fs-2xs);opacity:.65;margin-right:3px}.due-late{color:var(--danger-text);font-weight:var(--fw-medium)}.sort-btn{align-items:center;gap:var(--sp-1);font:inherit;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);background:0 0;border:none;padding:0;display:inline-flex}.sort-btn:hover{color:var(--text)}.sort-btn.is-on{color:var(--accent-text)}.sort-caret{opacity:.8;font-size:8px}.pagination{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-subtle);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.pagination-controls{align-items:center;gap:var(--sp-2);display:flex}.badge{border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);white-space:nowrap;align-items:center;gap:5px;padding:2px 6px;line-height:1.4;display:inline-flex}.badge-dot{border-radius:var(--r-circle);flex:none;width:5px;height:5px}.chip-row{gap:var(--sp-1);flex-wrap:wrap;align-items:center;display:flex}.chip-select{gap:var(--sp-2);flex-wrap:wrap;display:flex}.chip{height:var(--control-h);border:1px solid var(--border-input);background:var(--surface);color:var(--text-muted);border-radius:var(--r-md);padding:0 var(--sp-3);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:all var(--dur-fast) var(--ease);align-items:center;gap:6px;display:inline-flex}.chip:hover{border-color:var(--c-neutral-400);color:var(--text)}.chip.is-on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.chip-count{font-size:var(--fs-2xs);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;background:#0000000f;padding:1px 5px}.you-tag{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.03em;text-transform:uppercase;color:var(--accent-text);background:var(--accent-soft);border-radius:var(--r-xs);vertical-align:1px;margin-left:5px;padding:1px 4px;display:inline-block}.segmented{border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface);flex:none;display:inline-flex;overflow:hidden}.segment{color:var(--text-muted);padding:0 var(--sp-3);height:calc(var(--control-h) - 2px);font-size:var(--fs-sm);font-weight:var(--fw-medium);border:none;border-right:1px solid var(--border);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0}.segment:last-child{border-right:none}.segment:hover:not(.is-on){background:var(--surface-hover);color:var(--text)}.segment.is-on{background:var(--accent-soft);color:var(--accent-text);font-weight:var(--fw-semibold)}.modal-backdrop{padding:var(--sp-6);z-index:var(--z-modal);background:#181c2473;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-height:calc(100vh - var(--sp-12));flex-direction:column;display:flex}.modal-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);flex:none;display:flex}.modal-head h3{font-size:var(--fs-lg)}.modal-head p{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--text-muted);max-width:62ch;line-height:var(--lh-snug)}.modal-body{padding:var(--sp-5);overflow-y:auto}.modal-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);flex:none;display:flex}.drawer-backdrop{z-index:var(--z-drawer);background:#181c2466;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.drawer-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-5) var(--sp-5) var(--sp-4);border-bottom:1px solid var(--border);flex:none;display:flex}.drawer-head h3{font-size:var(--fs-lg)}.drawer-subtitle{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.drawer-body{padding:var(--sp-5);flex:1;overflow-y:auto}.drawer-foot{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);flex:none;display:flex}.drawer-lead{font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text-muted)}.drawer-section{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border);gap:var(--sp-3);align-content:start;display:grid}.drawer-section h4{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.drawer-section p{font-size:var(--fs-md);line-height:var(--lh-normal)}.drawer-stamp{font-size:var(--fs-xs);color:var(--text-subtle)}.drawer-actions{gap:var(--sp-2);display:flex}.detail-list{gap:var(--sp-4);display:grid}.detail-list dt{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-subtle);font-weight:var(--fw-semibold)}.detail-list dd{font-size:var(--fs-md);line-height:var(--lh-snug);margin-top:3px}.login{grid-template-columns:1fr 1fr;min-height:100%;display:grid}.login-aside{background:linear-gradient(155deg, var(--c-brand-800) 0%, var(--c-brand-600) 55%, var(--c-brand-400) 100%);color:var(--text-inverse);padding:var(--sp-12);flex-direction:column;justify-content:space-between;display:flex}.login-aside h2{font-size:var(--fs-3xl);max-width:16ch;line-height:1.2}.login-aside p{margin-top:var(--sp-4);color:#ffffffc7;max-width:40ch;line-height:var(--lh-normal);font-size:var(--fs-base)}.login-aside ul{margin:var(--sp-6) 0 0;gap:var(--sp-2);font-size:var(--fs-md);color:#ffffffd9;list-style:none;display:grid}.login-aside li:before{content:"—";margin-right:var(--sp-2);color:#ffffff80}.login-panel{padding:var(--sp-10);background:var(--surface);justify-content:center;align-items:center;display:flex}.login-form{gap:var(--sp-4);align-content:start;width:100%;max-width:360px;display:grid}.login-form h1{font-size:var(--fs-2xl)}.login-form .subtitle{margin-top:var(--sp-1);color:var(--text-muted);font-size:var(--fs-md)}.login-hint{padding:var(--sp-3);background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-normal)}.login-hint code{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text)}.perm-matrix{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.perm-matrix section+section{border-top:1px solid var(--border)}.perm-section-head,.perm-row{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:0 var(--sp-3);display:flex}.perm-actions-head,.perm-row-actions{flex:none;grid-template-columns:repeat(5,52px);display:grid}.perm-actions-head>span{text-align:center;font-size:9px}.perm-section-head{background:var(--surface-muted);border-bottom:1px solid var(--border);height:30px;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.perm-all-head{color:var(--accent-text)}.perm-row{border-bottom:1px solid var(--border);min-height:36px}.perm-row:last-child{border-bottom:none}.perm-row-label{font-size:var(--fs-md);min-width:0}.perm-row-note{font-size:var(--fs-2xs);color:var(--text-subtle);display:block}.perm-cell{cursor:pointer;place-items:center;min-height:30px;display:grid}.perm-all input{accent-color:var(--accent-active)}.perm-cell input{accent-color:var(--accent);cursor:pointer;width:14px;height:14px}.perm-cell input:disabled{cursor:not-allowed;opacity:.5}.perm-extra{gap:var(--sp-2);padding:var(--sp-3);background:var(--warn-soft);border-top:1px solid var(--border);font-size:var(--fs-md);cursor:pointer;align-items:flex-start;display:flex}.perm-extra input{accent-color:var(--accent);flex:none;width:14px;height:14px;margin-top:2px}.perm-extra-note{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-snug);margin-top:2px;display:block}.quick-perms{gap:var(--sp-2);flex-wrap:wrap;display:flex}.org-chart-scroll{padding:var(--sp-6) var(--sp-4);overflow-x:auto}.org-chart{margin:0 auto;position:relative}.org-chart-edges{pointer-events:none;position:absolute;inset:0}.org-node{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);flex-direction:column;gap:1px;display:flex;position:absolute;overflow:hidden}.org-node.is-manageable{border-color:var(--accent);cursor:pointer}.org-node.is-manageable:hover{box-shadow:var(--ring-accent)}.org-node.is-viewer{border-color:var(--text);box-shadow:0 0 0 2px #181c2412}.org-node.is-inactive{opacity:.55}.org-node-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.org-you{font-size:9px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;background:var(--text);color:var(--text-inverse);border-radius:var(--r-xs);margin-left:5px;padding:1px 4px}.org-node-title{font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.org-node-foot{font-size:var(--fs-2xs);color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;margin-top:auto;overflow:hidden}.org-legend{gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;display:flex}.org-swatch{border-radius:var(--r-xs);border:1px solid var(--border-strong);background:var(--surface);vertical-align:-1px;width:10px;height:10px;margin-right:5px;display:inline-block}.org-swatch.is-manageable{border-color:var(--accent);background:var(--accent-soft)}.org-swatch.is-viewer{border-color:var(--text)}.chart-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}.chart-card{flex-direction:column;display:flex}.chart-wide{grid-column:span 2}.chart-body{padding:var(--sp-4)}.chart-tick{fill:var(--text-subtle);font-size:10px}.trend-chart{padding:var(--sp-4);position:relative}.chart-tooltip{background:var(--c-neutral-900);color:var(--text-inverse);border-radius:var(--r-md);font-size:var(--fs-xs);pointer-events:none;white-space:nowrap;z-index:2;box-shadow:var(--shadow-md);padding:5px 8px;line-height:1.4;display:grid;position:absolute;transform:translate(-50%,-130%)}.chart-tooltip span{color:#ffffffb3;font-size:var(--fs-2xs)}.bar-list{gap:var(--sp-2);padding:var(--sp-4);display:grid}.bar-row{align-items:center;gap:var(--sp-2);grid-template-columns:minmax(96px,132px) minmax(0,1fr) 42px;display:grid}.bar-label{font-size:var(--fs-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bar-track{background:var(--surface-active);border-radius:var(--r-pill);height:8px;overflow:hidden}.bar-fill{border-radius:var(--r-pill);min-width:2px;height:100%;display:block}.bar-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:right;font-variant-numeric:tabular-nums}.composition{padding:var(--sp-4)}.composition-bar{border-radius:var(--r-pill);background:var(--surface-active);gap:2px;height:10px;display:flex;overflow:hidden}.composition-seg{min-width:4px;display:block}.composition-legend{margin:var(--sp-3) 0 0;gap:var(--sp-2);list-style:none;display:grid}.composition-legend li{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);display:flex}.composition-legend-label{color:var(--text-muted)}.composition-legend-value{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin-left:auto}.legend{gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;align-items:center;display:flex}.legend-item{align-items:center;gap:5px;display:inline-flex}.legend-swatch{border-radius:var(--r-xs);flex:none;width:8px;height:8px}.meter{padding:var(--sp-4)}.meter-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.meter-value{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.meter-target{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text-subtle)}.meter-percent{font-size:var(--fs-md);color:var(--text-muted);font-weight:var(--fw-semibold)}.meter-track{background:var(--surface-active);border-radius:var(--r-pill);height:8px;overflow:hidden}.meter-fill{border-radius:var(--r-pill);height:100%;display:block}.meter-caption{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-snug)}.activity-strip{align-items:flex-end;gap:var(--sp-1);height:108px;display:flex}.activity-col{justify-content:flex-end;align-items:center;gap:var(--sp-1);flex-direction:column;flex:1;height:100%;display:flex}.activity-bar{border-radius:var(--r-xs) var(--r-xs) 0 0;width:100%;max-width:28px;display:block}.activity-label{font-size:var(--fs-2xs);color:var(--text-subtle);font-variant-numeric:tabular-nums}.calendar{flex-direction:column;min-height:640px;display:flex;overflow:hidden}.calendar-bare{box-shadow:none;border:none;border-radius:0}.calendar-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.calendar-title{align-items:baseline;gap:var(--sp-2);display:flex}.calendar-title h2{font-size:var(--fs-lg)}.calendar-title span{font-size:var(--fs-sm);color:var(--text-subtle)}.calendar-nav{align-items:center;gap:var(--sp-2);display:flex}.calendar-weekdays{border-bottom:1px solid var(--border);background:var(--surface-muted);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays div{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.calendar-grid{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(108px,1fr);display:grid}.calendar-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:var(--sp-1) 5px;background:var(--surface);flex-direction:column;gap:3px;min-width:0;display:flex}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.outside{background:var(--surface-muted)}.calendar-cell.outside .day-number{color:var(--text-subtle)}.day-number{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);border-radius:var(--r-circle);flex:none;place-items:center;width:20px;height:20px;display:grid}.calendar-cell.today .day-number{background:var(--accent);color:var(--text-on-accent)}.event-pill{border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--pill-bg);color:var(--pill-fg);text-align:left;border:none;align-items:center;gap:5px;width:100%;padding:2px 5px;line-height:1.4;display:flex;overflow:hidden}.event-pill:hover{filter:brightness(.96)}.event-pill .time{font-variant-numeric:tabular-nums;opacity:.75;font-size:var(--fs-2xs);flex:none}.event-pill .label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.more-link{font-size:var(--fs-2xs);color:var(--text-subtle);text-align:left;background:0 0;border:none;padding-left:5px}.calendar-footer{padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-xs);color:var(--text-subtle);justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;display:flex}.view-bar{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.view-window{font-size:var(--fs-md);font-weight:var(--fw-medium);text-align:center;font-variant-numeric:tabular-nums;min-width:180px}.timeline-scroll{max-height:600px;overflow:auto}.timeline{min-width:100%;position:relative}.timeline-empty{padding:var(--sp-10) var(--sp-4);text-align:center}.timeline-head{border-bottom:1px solid var(--border);background:var(--surface-muted);z-index:2;display:flex;position:sticky;top:0}.timeline-head-label{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);border-right:1px solid var(--border);background:var(--surface-muted);z-index:1;flex:none;position:sticky;left:0}.timeline-head-days{flex:none;display:flex}.timeline-day{padding:var(--sp-1) 0;text-align:center;border-left:1px solid #0000;flex:none}.timeline-day.is-month-start{border-left-color:var(--border-strong)}.timeline-day-num{font-size:var(--fs-2xs);color:var(--text-subtle);font-variant-numeric:tabular-nums;display:block}.timeline-month{font-size:9px;font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);display:block}.timeline-body{position:relative}.timeline-grid{pointer-events:none;display:flex;position:absolute;top:0;bottom:0}.timeline-col{border-left:1px solid var(--border);flex:none}.timeline-col.is-month-start{border-left-color:var(--border-strong)}.timeline-col.is-today{background:var(--accent-soft)}.timeline-row{border:none;border-bottom:1px solid var(--border);text-align:left;background:0 0;align-items:center;width:100%;padding:0;display:flex;position:relative}.timeline-row:hover{background:var(--surface-hover)}.timeline-label{align-items:center;gap:var(--sp-2);padding:0 var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--border);background:var(--surface);z-index:1;flex:none;height:100%;display:flex;position:sticky;left:0;overflow:hidden}.timeline-row:hover .timeline-label{background:var(--surface-hover)}.timeline-label.is-cancelled{color:var(--text-subtle);text-decoration:line-through}.timeline-dot{border-radius:var(--r-xs);flex:none;width:6px;height:6px}.timeline-track{flex:none;height:100%;position:relative}.timeline-bar{border-radius:var(--r-xs);align-items:center;height:13px;padding:0 6px;display:flex;position:absolute;top:7px;overflow:hidden}.timeline-bar-text{font-size:9.5px;font-weight:var(--fw-semibold);color:var(--text-inverse);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.agenda{padding:var(--sp-2) var(--sp-4) var(--sp-4)}.agenda-day{gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--border);display:flex}.agenda-day:last-child{border-bottom:none}.agenda-date{text-align:center;width:48px;padding-top:var(--sp-1);flex:none;align-content:start;gap:0;display:grid}.agenda-dow{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.agenda-num{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1.15}.agenda-month{font-size:var(--fs-2xs);color:var(--text-subtle)}.agenda-date.is-today .agenda-num,.agenda-date.is-today .agenda-dow{color:var(--accent-text)}.agenda-items{gap:var(--sp-1);flex:1;min-width:0;display:grid}.agenda-item{align-items:center;gap:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--border-strong);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);text-align:left;width:100%;transition:background var(--dur-fast) var(--ease);display:flex}.agenda-item:hover{background:var(--surface-hover)}.agenda-time{width:62px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.agenda-body{flex:1;gap:1px;min-width:0;display:grid}.agenda-title{font-size:var(--fs-md);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agenda-meta{font-size:var(--fs-xs);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board{gap:var(--sp-3);padding:var(--sp-4);grid-auto-columns:minmax(212px,1fr);grid-auto-flow:column;align-items:start;display:grid;overflow-x:auto}.board-column{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--r-md);min-height:110px}.board-column-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);display:flex}.board-hint{font-size:var(--fs-2xs);color:var(--text-subtle);margin-top:3px;display:block}.board-count{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);font-variant-numeric:tabular-nums}.board-items{padding:var(--sp-2);gap:var(--sp-2);max-height:520px;display:grid;overflow-y:auto}.board-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-left:2px solid var(--border-strong);border-radius:var(--r-sm);padding:var(--sp-2);width:100%;transition:box-shadow var(--dur-fast) var(--ease);gap:3px;display:grid}.board-card:hover{box-shadow:var(--shadow-sm)}.board-card-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-snug)}.board-card-meta{font-size:var(--fs-2xs);color:var(--text-subtle)}.board-card-foot{gap:var(--sp-2);font-size:var(--fs-2xs);justify-content:space-between;margin-top:2px;display:flex}.board-card-cat{font-weight:var(--fw-semibold)}.board-card-group{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;max-width:55%;overflow:hidden}.board-card-group.is-open{font-style:italic}.board-empty{font-size:var(--fs-xs);color:var(--text-subtle);text-align:center;padding:var(--sp-3) 0}.event-form{gap:var(--sp-4);display:grid}.form-section-body{padding:var(--sp-4);gap:var(--sp-4);align-content:start;display:grid}.lens-bar{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.lens-hint{font-size:var(--fs-sm);color:var(--text-subtle)}.group-grid,.plan-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;display:grid}.group-card,.plan-card{flex-direction:column;display:flex}.group-card-head,.plan-card-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-2);display:flex}.group-card-head h3,.plan-card-head h3{font-size:var(--fs-lg)}.group-card-head p,.plan-card-head p{font-size:var(--fs-xs);color:var(--text-subtle);line-height:var(--lh-snug);margin-top:3px}.group-perms,.group-events{padding:0 var(--sp-4) var(--sp-3);gap:var(--sp-2);flex:1;align-content:start;display:grid}.group-perm-row{align-items:center;gap:var(--sp-2);justify-content:space-between;display:flex}.group-perm-model{font-size:var(--fs-sm);color:var(--text-muted)}.group-card-foot{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);flex-wrap:wrap;margin-top:auto;display:flex}.group-event{border:1px solid var(--border);border-left:2px solid var(--border-strong);border-radius:var(--r-sm);padding:var(--sp-2);background:var(--surface-muted);transition:background var(--dur-fast) var(--ease);gap:1px;display:grid}.group-event:hover{background:var(--surface)}.group-event-title{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.group-event-meta{font-size:var(--fs-2xs);color:var(--text-subtle)}.assignee-grid{gap:var(--sp-3);padding:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.assignee-card{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);background:var(--surface-muted)}.assignee-name{font-size:var(--fs-md);font-weight:var(--fw-medium);margin-bottom:var(--sp-1)}.assignee-counts{gap:var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.assignee-counts strong{color:var(--text);font-variant-numeric:tabular-nums}.change-list{gap:var(--sp-2);display:grid}.change-row{border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-2);background:var(--surface-muted);gap:2px;display:grid}.change-field{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.change-values{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-md);flex-wrap:wrap;display:flex}.change-from{color:var(--text-muted);word-break:break-word;text-decoration:line-through}.change-arrow{color:var(--text-subtle)}.change-to{font-weight:var(--fw-medium);word-break:break-word}.detail-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(330px,1fr));align-items:start;display:grid}.stage-strip{flex-wrap:wrap;align-items:flex-start;display:flex}.stage-step{gap:var(--sp-2);text-align:center;min-width:104px;padding:0 var(--sp-1);flex:1;justify-items:center;display:grid;position:relative}.stage-step:before{content:"";background:var(--border-strong);width:100%;height:2px;position:absolute;top:5px;left:-50%}.stage-step:first-child:before{display:none}.stage-step.is-done:before{background:var(--accent)}.stage-dot{border-radius:var(--r-circle);background:var(--surface);border:2px solid var(--border-strong);z-index:1;width:12px;height:12px;position:relative}.stage-step.is-done .stage-dot{background:var(--accent);border-color:var(--accent)}.stage-step.is-current .stage-dot{box-shadow:var(--ring-accent)}.stage-step.is-derailed .stage-dot,.stage-step.is-derailed:before{background:var(--danger);border-color:var(--danger)}.stage-name{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-snug)}.stage-step.is-current .stage-name{color:var(--text);font-weight:var(--fw-semibold)}.lifecycle{gap:0;list-style:none;display:grid}.lifecycle-item{gap:var(--sp-3);padding:var(--sp-2) 0 var(--sp-2) 2px;display:flex;position:relative}.lifecycle-item:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:22px;bottom:-2px;left:7px}.lifecycle-item:last-child:before{display:none}.lifecycle-dot{border-radius:var(--r-circle);background:var(--text-subtle);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);z-index:1;flex:none;margin-top:5px;position:relative}.lifecycle-dot.kind-created{background:var(--viz-1)}.lifecycle-dot.kind-upgraded{background:var(--good)}.lifecycle-dot.kind-downgraded{background:var(--viz-2)}.lifecycle-dot.kind-renewed{background:var(--viz-3)}.lifecycle-dot.kind-promotion_applied{background:var(--warn)}.lifecycle-dot.kind-stage_advanced{background:var(--accent)}.lifecycle-dot.kind-cancelled{background:var(--danger)}.lifecycle-dot.kind-expired{background:var(--alert)}.lifecycle-dot.kind-plan_migrated{background:var(--viz-7)}.lifecycle-body{flex:1;min-width:0}.lifecycle-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-md);display:flex}.lifecycle-when{font-size:var(--fs-xs);color:var(--text-subtle);white-space:nowrap}.lifecycle-detail{gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);flex-wrap:wrap;margin-top:1px;display:flex}.lifecycle-note{font-size:var(--fs-sm);color:var(--text-muted);margin-top:2px}.lifecycle-actor{font-size:var(--fs-xs);color:var(--text-subtle)}.plan-card.is-retired{opacity:.75}.plan-price{padding:0 var(--sp-4) var(--sp-2);font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums}.plan-price span{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-subtle);letter-spacing:0;margin-top:2px;display:block}.plan-billing{gap:var(--sp-1);padding:0 var(--sp-4) var(--sp-3);flex-wrap:wrap;display:flex}.plan-benefits{padding:0 var(--sp-4) var(--sp-3);flex:1;gap:5px;list-style:none;display:grid}.plan-benefits li{font-size:var(--fs-sm);color:var(--text-muted);padding-left:var(--sp-4);line-height:var(--lh-snug);position:relative}.plan-benefits li:before{content:"✓";color:var(--good);font-size:var(--fs-2xs);position:absolute;left:0}.plan-journey{padding:0 var(--sp-4) var(--sp-3);gap:2px;display:grid}.plan-journey-head{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle)}.plan-journey-steps{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-snug)}.plan-stats{gap:var(--sp-3);padding:0 var(--sp-4) var(--sp-3);font-size:var(--fs-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.plan-stats strong{color:var(--text);font-variant-numeric:tabular-nums}.plan-picker{gap:var(--sp-2);display:grid}.plan-option{text-align:left;border:1px solid var(--border-input);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);background:var(--surface);width:100%;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);gap:2px;display:grid}.plan-option:hover{border-color:var(--accent)}.plan-option.is-on{border-color:var(--accent);background:var(--accent-soft)}.plan-option-head{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-base);display:flex}.plan-option-note{font-size:var(--fs-xs);color:var(--text-muted)}.plan-split{padding:var(--sp-4);gap:var(--sp-2);display:grid}.plan-split-row{gap:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;display:grid}.plan-split-row:last-child{border-bottom:none;padding-bottom:0}.plan-split-name{font-size:var(--fs-base);font-weight:var(--fw-medium)}.plan-split-count{font-size:var(--fs-sm);color:var(--text-muted)}.plan-split-revenue{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.billing-choice{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.billing-option{text-align:left;border:1px solid var(--border-input);border-radius:var(--r-md);padding:var(--sp-3);background:var(--surface);transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);gap:2px;display:grid}.billing-option:hover{border-color:var(--accent)}.billing-option.is-on{border-color:var(--accent);background:var(--accent-soft)}.billing-option strong{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.billing-option span{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-snug)}.quote{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3);background:var(--surface-muted);gap:5px;display:grid}.quote-row{justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-md);font-variant-numeric:tabular-nums;display:flex}.quote-row.is-discount{color:var(--good-text)}.quote-row.is-total{border-top:1px solid var(--border-strong);padding-top:var(--sp-2);font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin-top:2px}.quote-schedule{border-top:1px solid var(--border);margin-top:var(--sp-1);padding-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-muted);gap:1px;display:grid}.journey{gap:0;list-style:none;display:grid}.journey-step{position:relative}.journey-step:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:28px;bottom:0;left:19px}.journey-step:last-child:before{display:none}.journey-step.is-reached:before{background:var(--accent)}.journey-hit{align-items:flex-start;gap:var(--sp-3);text-align:left;border-radius:var(--r-md);width:100%;padding:var(--sp-2);font:inherit;color:inherit;background:0 0;border:1px solid #0000;display:flex}.journey-hit.is-static{cursor:default}.journey-step.is-clickable .journey-hit:hover{background:var(--surface-hover)}.journey-marker{border-radius:var(--r-circle);width:20px;height:20px;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);background:var(--surface);border:1.5px solid var(--border-strong);color:var(--text-subtle);z-index:1;flex:none;place-items:center;margin-top:1px;display:grid;position:relative}.journey-step.is-reached .journey-marker{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.journey-step.is-current .journey-marker{box-shadow:var(--ring-accent)}.journey-step.is-stalled .journey-marker{background:var(--warn);border-color:var(--warn);color:var(--warn-text);box-shadow:0 0 0 3px var(--warn-soft)}.journey-body{gap:1px;min-width:0;display:grid}.journey-name{font-size:var(--fs-md);font-weight:var(--fw-medium)}.journey-step.is-current .journey-name{color:var(--accent-text);font-weight:var(--fw-semibold)}.journey-desc{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-snug)}.journey-meta{font-size:var(--fs-2xs);color:var(--text-subtle)}.funnel{gap:var(--sp-2);padding:var(--sp-4);display:grid}.funnel-row{align-items:center;gap:var(--sp-2);grid-template-columns:minmax(110px,150px) minmax(0,1fr) 58px;display:grid}.funnel-label{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:flex;overflow:hidden}.funnel-index{border-radius:var(--r-xs);background:var(--surface-active);width:15px;height:15px;font-size:9px;font-weight:var(--fw-semibold);color:var(--text-subtle);flex:none;place-items:center;display:grid}.funnel-track{background:var(--surface-active);border-radius:var(--r-pill);height:8px;overflow:hidden}.funnel-fill{border-radius:var(--r-pill);height:100%;display:block}.funnel-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-align:right;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:baseline;gap:5px;display:flex}.funnel-share{font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--text-subtle)}.stage-editor{gap:var(--sp-2);list-style:none;display:grid}.stage-editor-row{align-items:center;gap:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);background:var(--surface-muted);display:flex}.stage-editor-order{border-radius:var(--r-xs);background:var(--accent-soft);width:20px;height:20px;color:var(--accent-text);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);flex:none;place-items:center;display:grid}.stage-editor-body{flex:1;min-width:0}.stage-editor-name{font-size:var(--fs-md);font-weight:var(--fw-medium);align-items:center;gap:3px;display:flex}.stage-editor-meta{font-size:var(--fs-2xs);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;overflow:hidden}.stage-editor-actions{gap:var(--sp-1);flex:none;align-items:center;display:flex}@media (width<=900px){.form-grid,.form-grid-3,.form-grid-4,.billing-choice{grid-template-columns:minmax(0,1fr)}.chart-wide{grid-column:span 1}.login{grid-template-columns:1fr}.login-aside{display:none}}.modal-body>form,.drawer-body>form,.form-section-body>form{gap:var(--sp-4);align-content:start;display:grid}.modal-body>*+*,.drawer-body>*+*{margin-top:var(--sp-4)}.modal-body>form>.fieldset,.drawer-body>form>.fieldset{margin-top:0}.form-section-body>.form-stack{gap:var(--sp-4)}.fieldset>.btn,.form-stack>.btn,.drawer-section>.btn{justify-self:start}.pagination-page{font-variant-numeric:tabular-nums}.tag{border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--pill-bg);color:var(--pill-fg);align-items:center;gap:5px;padding:2px 7px;display:inline-flex}.toolbar>.table-count,.view-bar>.table-count{margin-left:auto}.badge-neutral{background:var(--surface-active);color:var(--text-muted)}.badge-brand{background:var(--c-brand-100);color:var(--accent-text)}.badge-good{background:var(--good-soft);color:var(--good-text)}.badge-warning{background:var(--warn-soft);color:var(--warn-text)}.badge-serious{background:var(--alert-soft);color:var(--alert-text)}.badge-critical{background:var(--danger-soft);color:var(--danger-text)}.badge .badge-dot{background:currentColor}.plan-grid,.group-grid{align-items:stretch}.breadcrumbs ol{align-items:center;gap:var(--sp-2);flex-wrap:wrap;list-style:none;display:flex}.breadcrumbs li{font-size:var(--fs-md);align-items:center;display:flex}.breadcrumbs a{color:var(--text-muted);border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);margin:-2px -4px;padding:2px 4px}.breadcrumbs a:hover{color:var(--text);background:var(--surface-hover)}.breadcrumbs li:not(:last-child)>span{color:var(--text-muted)}.breadcrumbs li:last-child>span{color:var(--text);font-weight:var(--fw-semibold)}.breadcrumb-sep{color:var(--c-neutral-300);font-size:var(--fs-sm);-webkit-user-select:none;user-select:none}.user-menu{position:relative}.user-menu-trigger{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-2);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;display:flex}.user-menu-trigger:hover,.user-menu-trigger.is-open{background:var(--surface-hover);border-color:var(--border)}.user-menu-caret{width:12px;height:12px;color:var(--text-subtle);flex:none}.user-menu-panel{top:calc(100% + var(--sp-2));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:224px;box-shadow:var(--shadow-md);padding:var(--sp-1);z-index:var(--z-sticky);position:absolute;right:0}.user-menu-head{padding:var(--sp-2) var(--sp-3) var(--sp-3);border-bottom:1px solid var(--border);margin-bottom:var(--sp-1);gap:1px;display:grid}.user-menu-head strong{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.user-menu-head span{font-size:var(--fs-xs);color:var(--text-subtle);text-overflow:ellipsis;overflow:hidden}.user-menu-item{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);width:100%;padding:0 var(--sp-2);height:var(--control-h);font-size:var(--fs-md);color:var(--text);text-align:left;transition:background var(--dur-fast) var(--ease);background:0 0;border:none;display:flex}.user-menu-item svg{width:15px;height:15px;color:var(--text-subtle);flex:none}.user-menu-item:hover:not(:disabled){background:var(--surface-hover)}.user-menu-item:disabled{color:var(--text-subtle);cursor:not-allowed}.user-menu-item.is-danger{color:var(--danger-text)}.user-menu-item.is-danger svg{color:currentColor}.user-menu-item.is-danger:hover{background:var(--danger-soft)}.user-menu-divider{background:var(--border);height:1px;margin:var(--sp-1) 0}.dash-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);align-items:start;display:grid}.dash-main,.dash-side{gap:var(--sp-4);align-content:start;min-width:0;display:grid}.dash-queue .queue{max-height:460px;overflow-y:auto}.queue{display:grid}.queue-group+.queue-group{border-top:1px solid var(--border)}.queue-group-label{align-items:center;gap:var(--sp-2);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);padding:var(--sp-3) var(--sp-4) var(--sp-2);display:flex}.queue-group-label span{background:var(--surface-active);color:var(--text-muted);border-radius:var(--r-sm);font-variant-numeric:tabular-nums;padding:0 5px}.queue-item{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border);transition:background var(--dur-fast) var(--ease);display:flex}.queue-group-label+.queue-item{border-top:none}.queue-item:hover{background:var(--surface-hover)}.queue-tone{border-radius:var(--r-pill);flex:none;align-self:stretch;width:3px;margin:2px 0}.queue-tone.is-critical{background:var(--danger)}.queue-tone.is-warning{background:var(--warn)}.queue-tone.is-neutral{background:var(--c-neutral-300)}.queue-body{flex:1;gap:1px;min-width:0;display:grid}.queue-title{font-size:var(--fs-md);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.queue-subtitle{font-size:var(--fs-xs);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.queue-meta{font-size:var(--fs-xs);color:var(--text-subtle);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}.queue-action{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-text);white-space:nowrap;opacity:0;transition:opacity var(--dur-fast) var(--ease);flex:none}.queue-item:hover .queue-action{opacity:1}.queue-clear{align-items:flex-start;gap:var(--sp-3);display:flex}.queue-clear-mark{border-radius:var(--r-circle);background:var(--good-soft);width:26px;height:26px;color:var(--good-text);font-size:var(--fs-sm);font-weight:var(--fw-bold);flex:none;place-items:center;display:grid}.queue-clear strong{font-size:var(--fs-md);margin-bottom:2px;display:block}.today-list{list-style:none;display:grid}.today-item{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border);display:flex}.today-item:first-child{border-top:none}.today-item.is-now{background:var(--accent-soft)}.today-time{width:58px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.today-rail{border-radius:var(--r-pill);flex:none;align-self:stretch;width:3px;margin:2px 0}.today-body{flex:1;gap:1px;min-width:0;display:grid}.today-title{font-size:var(--fs-md);font-weight:var(--fw-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-meta{font-size:var(--fs-xs);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.today-capacity{font-size:var(--fs-md);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex:none}.today-capacity span{font-weight:var(--fw-regular);color:var(--text-subtle)}.signal-figure{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1.1}.signal-figure span{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-muted);letter-spacing:0;margin-top:var(--sp-1);display:block}.signal-row{gap:var(--sp-6);display:flex}.signal-value{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1.15;display:block}.signal-value.is-bad{color:var(--danger-text)}.signal-label{font-size:var(--fs-xs);color:var(--text-subtle)}.signal-caption{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-subtle);margin-top:var(--sp-4);margin-bottom:var(--sp-2)}.signal-list{gap:var(--sp-2);list-style:none;display:grid}.signal-list li{justify-content:space-between;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.signal-list-value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:var(--fw-medium);flex:none}.signal-list-value span{color:var(--text-subtle);font-weight:var(--fw-regular);margin-left:var(--sp-2)}.team-list{display:grid}.team-row{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);display:flex}.team-row:first-child{border-top:none}.team-person{gap:1px;min-width:0;display:grid}.team-load{gap:var(--sp-1);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}@media (width<=1100px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.template-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));align-items:stretch;display:grid}.template-card{flex-direction:column;display:flex;position:relative;overflow:hidden}.template-rail{width:3px;position:absolute;top:0;bottom:0;left:0}.template-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4) var(--sp-2) var(--sp-5);display:flex}.template-title a{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight)}.template-title a:hover{color:var(--accent-text)}.template-title p{font-size:var(--fs-xs);color:var(--text-subtle);line-height:var(--lh-snug);margin-top:3px}.template-stats{gap:var(--sp-4);padding:0 var(--sp-4) var(--sp-2) var(--sp-5);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.template-stats strong{color:var(--text);font-variant-numeric:tabular-nums}.template-meta{gap:var(--sp-1);padding:0 var(--sp-4) var(--sp-3) var(--sp-5);flex-wrap:wrap;flex:1;align-content:start;display:flex}.menu{flex:none;position:relative}.menu .icon-btn.is-open{background:var(--surface-active);color:var(--text)}.menu-panel{top:calc(100% + var(--sp-1));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-width:172px;box-shadow:var(--shadow-md);padding:var(--sp-1);z-index:var(--z-sticky);position:absolute;right:0}.menu-item{align-items:center;gap:var(--sp-2);border-radius:var(--r-md);width:100%;padding:0 var(--sp-2);height:var(--control-h);font-size:var(--fs-md);color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:none;display:flex}.menu-item:hover:not(:disabled){background:var(--surface-hover)}.menu-item:disabled{color:var(--text-subtle);cursor:not-allowed}.menu-item.is-danger{color:var(--danger-text)}.menu-item.is-danger:hover{background:var(--danger-soft)}.colour-picker{gap:var(--sp-2);flex-wrap:wrap;display:flex}.colour-swatch{border-radius:var(--r-md);width:26px;height:26px;box-shadow:0 0 0 1px var(--border-strong);transition:box-shadow var(--dur-fast) var(--ease);border:2px solid #0000}.colour-swatch:hover{box-shadow:0 0 0 1px var(--c-neutral-400)}.colour-swatch.is-on{border-color:var(--surface);box-shadow:0 0 0 2px var(--text)}.scope-choice{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.scope-option{border:1px solid var(--border-input);background:var(--surface);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted);text-align:left;transition:all var(--dur-fast) var(--ease)}.scope-option:hover{border-color:var(--accent)}.scope-option.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.detail-grid>*,.chart-grid>*,.stack>*{min-width:0}.stack{gap:var(--sp-4);align-content:start;display:grid}.cell-link{font-weight:var(--fw-medium);color:var(--text);line-height:var(--lh-snug);border-bottom:1px solid #0000;text-decoration:none}.cell-link:hover{color:var(--accent-text);border-bottom-color:currentColor}.session-lead{font-size:var(--fs-md);color:var(--text-muted);line-height:var(--lh-normal);margin-bottom:var(--sp-4)}.session-block{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border)}.session-block h4{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-subtle);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2)}.session-block p{font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--text-muted)}.roll-counts{gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-right:auto;display:flex}.roll-choice{gap:var(--sp-1);flex-wrap:wrap;display:inline-flex}.roll-choice .chip{height:28px;padding:0 var(--sp-2);font-size:var(--fs-xs)}.picker-list{margin-top:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);max-height:260px;overflow:hidden auto}.picker-list li+li{border-top:1px solid var(--border)}.picker-empty{padding:var(--sp-3);font-size:var(--fs-sm);color:var(--text-subtle)}.picker-option{justify-content:space-between;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);text-align:left;background:0 0;border:0;display:flex}.picker-option:hover{background:var(--surface-hover)}.picker-name{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text)}.picker-meta{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-subtle);display:inline-flex}.picked-customer{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-input);border-radius:var(--r-md);background:var(--surface-muted);flex-direction:column;gap:2px;display:flex}.page-foot-note{margin-top:var(--sp-5);padding-left:var(--sp-3);border-left:3px solid var(--border);font-size:var(--fs-sm);color:var(--text-subtle);line-height:var(--lh-normal)}.tabs{gap:var(--sp-5);border-bottom:1px solid var(--border);margin-bottom:var(--sp-4);display:flex;overflow-x:auto}.tab{align-items:center;gap:var(--sp-2);padding:var(--sp-3) 0;white-space:nowrap;font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-muted);transition:color var(--dur-fast) var(--ease);background:0 0;border:0;display:inline-flex;position:relative}.tab:after{content:"";background:0 0;height:2px;position:absolute;inset:auto 0 -1px}.tab:hover{color:var(--text)}.tab.is-on{color:var(--text);font-weight:var(--fw-semibold)}.tab.is-on:after{background:var(--accent)}.tab-count{border-radius:var(--r-pill);background:var(--surface-active);min-width:20px;height:18px;color:var(--text-subtle);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.tab.is-on .tab-count{background:var(--accent-soft);color:var(--accent-text)}.tab-panel{gap:var(--sp-4);display:grid}.chart-empty{min-height:120px;padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-subtle);font-size:var(--fs-sm);line-height:var(--lh-normal);place-items:center;display:grid}.staff-picker{gap:var(--sp-2);display:grid}.staff-code{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);color:var(--text-subtle);font-variant-numeric:tabular-nums;white-space:nowrap}.chip.is-on .staff-code{color:inherit;opacity:.7}.chip-remove{color:inherit;opacity:.6;font-size:var(--fs-2xs);background:0 0;border:0;padding:0 0 0 2px;line-height:1}.chip-remove:hover{opacity:1}.owner-line{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:inline-flex}
