:root{--stone-50: #F8F7F5;--stone-100: #F4F2EF;--stone-150: #EDEAE7;--stone-200: #E1DDD9;--stone-300: #CAC3BE;--stone-400: #A19790;--stone-500: #7D736D;--stone-600: #605752;--stone-700: #463D39;--stone-800: #2D2623;--stone-900: #1D1715;--stone-950: #110D0C;--blue-50: #EEF3FA;--blue-100: #D8E3F3;--blue-200: #A8C1E9;--blue-300: #6C9AE5;--blue-400: #367CEE;--blue-500: #0060E0;--blue-600: #0250BC;--blue-700: #034199;--blue-800: #042F70;--blue-900: #05204C;--sky-50: #ECF4F9;--sky-100: #D3E5F1;--sky-200: #9AC6E3;--sky-300: #43A5DB;--sky-400: #008CE0;--sky-500: #0073D1;--sky-600: #0060B0;--sky-700: #004D8F;--sky-800: #003869;--sky-900: #002647;--cyan-50: #EBF5F6;--cyan-100: #CFE7EA;--cyan-200: #8FCCD3;--cyan-300: #00AFBE;--cyan-400: #009DB5;--cyan-500: #0086A3;--cyan-600: #007088;--cyan-700: #005B6F;--cyan-800: #004251;--cyan-900: #002D37;--teal-50: #EBF5F3;--teal-100: #D1E8E2;--teal-200: #93CDC1;--teal-300: #17B29D;--teal-400: #00A286;--teal-500: #008C6F;--teal-600: #00755D;--teal-700: #005F4B;--teal-800: #004536;--teal-900: #002F24;--green-50: #EFF5EE;--green-100: #D9E6D7;--green-200: #A9CAA5;--green-300: #6DAD66;--green-400: #2A9B20;--green-500: #008500;--green-600: #006F00;--green-700: #005A00;--green-800: #004100;--green-900: #002C00;--amber-50: #F6F2EB;--amber-100: #EAE1CF;--amber-200: #D4BC92;--amber-300: #BF9234;--amber-400: #B77000;--amber-500: #A45400;--amber-600: #894600;--amber-700: #6F3800;--amber-800: #512800;--amber-900: #371C00;--orange-50: #F9F1EC;--orange-100: #F0DED3;--orange-200: #E1B59B;--orange-300: #D5834F;--orange-400: #D25600;--orange-500: #C02F00;--orange-600: #A12700;--orange-700: #831F00;--orange-800: #601600;--orange-900: #411100;--rose-50: #FAF0EF;--rose-100: #F2DCD9;--rose-200: #E5B1AA;--rose-300: #DB7B71;--rose-400: #DA463F;--rose-500: #C70C18;--rose-600: #A70B14;--rose-700: #880B10;--rose-800: #64090B;--rose-900: #440908;--pink-50: #F9F0F3;--pink-100: #F1DBE3;--pink-200: #E1AFC1;--pink-300: #D4799E;--pink-400: #D04587;--pink-500: #BD0E70;--pink-600: #9F0C5E;--pink-700: #810C4C;--pink-800: #5E0936;--pink-900: #410925;--fuchsia-50: #F6F0F7;--fuchsia-100: #EBDCEB;--fuchsia-200: #D5B2D6;--fuchsia-300: #C07FC3;--fuchsia-400: #B651BD;--fuchsia-500: #A22BAB;--fuchsia-600: #88238F;--fuchsia-700: #6E1D74;--fuchsia-800: #501455;--fuchsia-900: #370F3A;--violet-50: #F3F1F9;--violet-100: #E3DFF1;--violet-200: #C2B8E4;--violet-300: #A08ADD;--violet-400: #8C63E2;--violet-500: #7842D3;--violet-600: #6437B1;--violet-700: #512C90;--violet-800: #3A206A;--violet-900: #271648;--coding-terracotta-light:#F0EBE9;--coding-terracotta-mid:#A67062;--coding-terracotta-text:#593C35;--coding-copper-light:#F0ECE9;--coding-copper-mid:#A67E62;--coding-copper-text:#594435;--coding-sand-light:#F0EEE9;--coding-sand-mid:#A69062;--coding-sand-text:#594D35;--coding-wheat-light:#F0EFE9;--coding-wheat-mid:#A6A162;--coding-wheat-text:#595635;--coding-slate-light:#E9EDF0;--coding-slate-mid:#6284A6;--coding-slate-text:#354759;--coding-mist-light:#E9EEF0;--coding-mist-mid:#6295A6;--coding-mist-text:#355059;--coding-graphite-light:#E9EBF0;--coding-graphite-mid:#6273A6;--coding-graphite-text:#353E59;--coding-steel-light:#E9E9F0;--coding-steel-mid:#6262A6;--coding-steel-text:#353559;--coding-sage-light:#E9F0EC;--coding-sage-mid:#62A67E;--coding-sage-text:#355944;--coding-moss-light:#EDF0E9;--coding-moss-mid:#8AA662;--coding-moss-text:#4A5935;--coding-olive-light:#EFF0E9;--coding-olive-mid:#9BA662;--coding-olive-text:#535935;--coding-seafoam-light:#E9F0EE;--coding-seafoam-mid:#62A695;--coding-seafoam-text:#355950;--coding-mauve-light:#EFE9F0;--coding-mauve-mid:#9B62A6;--coding-mauve-text:#533559;--coding-lavender-light:#ECE9F0;--coding-lavender-mid:#7E62A6;--coding-lavender-text:#443559;--coding-plum-light:#F0E9ED;--coding-plum-mid:#A6628A;--coding-plum-text:#59354A;--coding-orchid-light:#F0E9EF;--coding-orchid-mid:#A662A1;--coding-orchid-text:#593556;--surface-base: #E4E7ED;--surface-raised: #FAF9F7;--surface-overlay: #FCFBFA;--surface-sunken: #DCE0E8;--surface-hover: #EAEDF2;--border-default: #DDD8D3;--border-subtle: #E5E1DC;--border-strong: var(--stone-300);--text-primary: var(--stone-900);--text-secondary: var(--stone-700);--text-tertiary: var(--stone-600);--text-inverse: #FFFFFF;--surface-nav: var(--blue-500);--surface-nav-ink: #FFFFFF;--dark-bg: #131619;--dark-raised: #1A1D22;--dark-overlay: #21252B;--dark-subtle: #171A1E;--dark-border: #2D323A;--dark-border-strong: #3E4550;--dark-text: #E2E5EA;--dark-text-secondary: #A3AAB5;--dark-text-tertiary: #6E7787;--sp-1: .25rem;--sp-2: .625rem;--sp-3: .875rem;--sp-4: 1.25rem;--sp-5: 1.5rem;--sp-6: 1.75rem;--sp-8: 2.25rem;--sp-10: 3rem;--sp-12: 3.5rem;--sp-16: 4.5rem;--text-micro: 12px;--text-meta: 13px;--text-desc: 15px;--text-body: 16px;--text-section: 18px;--text-lg: 20px;--text-xl: 24px;--text-title: 28px;--text-hero: 56px;--mono-tracking: -.015em;--icon-xs: 12px;--icon-sm: 13px;--icon-md: 15px;--icon-base: 16px;--icon-lg: 20px;--icon-xl: 24px;--avatar-sm: 28px;--avatar-md: 36px;--avatar-lg: 48px;--touch-target-min: 44px;--chart-color-1: var(--blue-400);--chart-color-2: var(--teal-400);--chart-color-3: var(--amber-400);--chart-color-4: var(--violet-400);--chart-color-5: var(--rose-400);--chart-color-6: var(--cyan-400);--chart-color-7: var(--orange-400);--chart-color-8: var(--fuchsia-400);--chart-color-9: var(--pink-400);--chart-color-10: var(--green-400);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--dur-micro: 80ms;--dur-fast: .15s;--dur-normal: .25s;--dur-drill: .3s;--dur-slow: .4s;--dur-entrance: .5s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-spring-gentle: cubic-bezier(.34, 1.56, .64, 1);--shadow-sm: 0 1px 2px rgba(29,23,21,.05);--shadow-md: 0 2px 8px rgba(29,23,21,.06);--shadow-lifted: 0 4px 16px rgba(29,23,21,.08);--shadow-floating: 0 8px 32px rgba(29,23,21,.12);--shadow-scroll: 0 1px 0 rgba(29,23,21,.04);--shadow-focus: 0 0 0 2px rgba(0,96,224,.2);--sidebar-width: 240px;--sidebar-collapsed: 64px;--header-height: 56px;--zone-gap: var(--sp-5);--page-padding-x: var(--sp-8);--page-padding-top: var(--zone-gap);--page-padding-bottom: var(--sp-8);--ws-sidebar-width: 280px;--ws-split-gap: var(--sp-4);--ws-card-min: 300px;--ws-card-gap: var(--sp-4);--ws-kanban-col-min: 280px;--ws-kanban-col-max: 320px;--ws-master-width: 320px;--ws-form-max-width: 640px;--side-panel-width: 420px;--card-padding: var(--sp-4);--card-radius: var(--radius-lg);--card-gap-internal: var(--sp-3);--table-row-height: 48px}html[data-theme=dark]{color-scheme:dark;--surface-base: var(--dark-bg);--surface-raised: var(--dark-raised);--surface-overlay: var(--dark-overlay);--surface-sunken: var(--dark-subtle);--surface-hover: #1F2329;--border-default: var(--dark-border);--border-subtle: #262B33;--border-strong: var(--dark-border-strong);--text-primary: var(--dark-text);--text-secondary: var(--dark-text-secondary);--text-tertiary: var(--dark-text-tertiary);--text-inverse: #FFFFFF;--surface-nav: var(--blue-900);--surface-nav-ink: #FFFFFF;--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 1px 1px rgba(0,0,0,.2);--shadow-md: 0 2px 4px rgba(0,0,0,.2), 0 6px 16px rgba(0,0,0,.3);--shadow-lifted: 0 4px 8px rgba(0,0,0,.25), 0 12px 32px rgba(0,0,0,.35);--shadow-floating: 0 8px 16px rgba(0,0,0,.3), 0 24px 56px rgba(0,0,0,.45);--shadow-scroll: 0 1px 0 rgba(255,255,255,.04);--chart-color-1: var(--blue-300);--chart-color-2: var(--teal-300);--chart-color-3: var(--amber-300);--chart-color-4: var(--violet-300);--chart-color-5: var(--rose-300);--chart-color-6: var(--cyan-300);--chart-color-7: var(--orange-300);--chart-color-8: var(--fuchsia-300);--chart-color-9: var(--pink-300);--chart-color-10: var(--green-300)}[data-theme=dark] .status-badge.teal{background:color-mix(in srgb,var(--teal-700) 40%,transparent);color:var(--teal-300)}[data-theme=dark] .status-badge.blue{background:color-mix(in srgb,var(--blue-700) 40%,transparent);color:var(--blue-300)}[data-theme=dark] .status-badge.amber{background:color-mix(in srgb,var(--amber-700) 40%,transparent);color:var(--amber-300)}[data-theme=dark] .status-badge.rose{background:color-mix(in srgb,var(--rose-700) 40%,transparent);color:var(--rose-300)}[data-theme=dark] .status-badge.violet{background:color-mix(in srgb,var(--violet-700) 40%,transparent);color:var(--violet-300)}[data-theme=dark] .status-badge.stone{background:color-mix(in srgb,var(--stone-600) 35%,transparent);color:var(--stone-300)}[data-theme=dark] .status-badge.green{background:color-mix(in srgb,var(--green-600) 40%,transparent);color:var(--green-300)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--surface-base);overflow:hidden;height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:DM Sans,sans-serif;font-weight:600;line-height:1.3}.btn{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);font-family:Nunito Sans,sans-serif;font-weight:600;font-size:var(--text-body);cursor:pointer;border:none;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.btn-primary{background:var(--sky-500);color:var(--text-inverse)}.btn-primary:hover{background:var(--sky-600);transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{border-color:var(--sky-400);color:var(--sky-600)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{color:var(--sky-500);transform:translateY(-1px)}.btn-danger{background:var(--rose-500);color:var(--text-inverse)}.btn-danger:hover{background:var(--rose-600);box-shadow:var(--shadow-md)}.btn-teal{background:var(--teal-500);color:#fff}.btn-teal:hover{background:var(--teal-600);transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-md)}.btn-amber{background:var(--amber-500);color:#fff}.btn-amber:hover{background:var(--amber-600);transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-md)}.btn:active{transform:scale(.97);transition-duration:var(--dur-micro)}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-sm{padding:var(--sp-1) var(--sp-3);font-size:var(--text-desc)}.btn--block{width:100%;justify-content:center}.icon-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.icon-action:hover{color:var(--text-primary);background:var(--surface-hover)}.icon-action:active{transform:scale(.94);transition-duration:var(--dur-micro)}.icon-action :is(i,svg){width:var(--icon-md);height:var(--icon-md)}.icon-action--blue{color:var(--blue-500)}.icon-action--blue:hover{color:var(--blue-600);background:var(--blue-50)}[data-theme=dark] .icon-action--blue{color:var(--blue-400)}[data-theme=dark] .icon-action--blue:hover{color:var(--blue-300);background:color-mix(in srgb,var(--blue-500) 18%,transparent)}.icon-action--danger{color:var(--rose-500)}.icon-action--danger:hover{color:var(--rose-600);background:color-mix(in srgb,var(--rose-500) 12%,transparent)}.icon-action--teal{color:var(--teal-500)}.icon-action--teal:hover{color:var(--teal-600);background:color-mix(in srgb,var(--teal-500) 12%,transparent)}[data-theme=dark] .icon-action--teal{color:var(--teal-400)}[data-theme=dark] .icon-action--teal:hover{color:var(--teal-300);background:color-mix(in srgb,var(--teal-500) 18%,transparent)}.icon-action--bold svg{stroke-width:2.75}.status-badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-full);font-size:var(--text-meta);font-weight:600;transition:transform var(--dur-micro) var(--ease-spring)}.status-badge i,.status-badge svg{width:1em;height:1em;flex-shrink:0}.status-badge:hover{transform:scale(1.08);filter:brightness(1.05)}.status-badge.teal{background:var(--teal-500);color:#fff}.status-badge.blue{background:var(--blue-500);color:#fff}.status-badge.green{background:var(--green-500);color:#fff}.status-badge.orange{background:var(--orange-500);color:#fff}.status-badge.rose{background:var(--rose-500);color:#fff}.status-badge.violet{background:var(--violet-500);color:#fff}.status-badge.pink{background:var(--pink-500);color:#fff}.status-badge.stone{background:var(--stone-400);color:#fff}.status-badge.sm{font-size:var(--text-micro);padding:var(--sp-1) var(--sp-2)}.status-badge.md{font-size:var(--text-meta);padding:var(--sp-1) var(--sp-3)}.status-badge.lg{font-size:var(--text-desc);padding:var(--sp-1) var(--sp-3)}[data-theme=dark] .status-badge.teal{background:var(--teal-600);color:#fff}[data-theme=dark] .status-badge.blue{background:var(--blue-600);color:#fff}[data-theme=dark] .status-badge.green{background:var(--green-600);color:#fff}[data-theme=dark] .status-badge.orange{background:var(--orange-600);color:#fff}[data-theme=dark] .status-badge.rose{background:var(--rose-600);color:#fff}[data-theme=dark] .status-badge.violet{background:var(--violet-600);color:#fff}[data-theme=dark] .status-badge.pink{background:var(--pink-600);color:#fff}[data-theme=dark] .status-badge.stone{background:var(--stone-500);color:#fff}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-weight:700;color:var(--text-inverse);font-family:DM Sans,sans-serif;flex-shrink:0}.avatar-sm{width:var(--avatar-sm);height:var(--avatar-sm);font-size:var(--text-micro)}.avatar-md{width:var(--avatar-md);height:var(--avatar-md);font-size:var(--text-meta)}.avatar-lg{width:var(--avatar-lg);height:var(--avatar-lg);font-size:var(--text-body)}.avatar-sm>:is(i,svg){width:var(--icon-md);height:var(--icon-md)}.avatar-md>:is(i,svg){width:var(--icon-lg);height:var(--icon-lg)}.avatar-lg>:is(i,svg){width:var(--icon-xl);height:var(--icon-xl)}.avatar-desaturated{filter:grayscale(1);opacity:.55}.avatar-unassigned{background:var(--stone-300)!important;animation:unassignedPulse 2s ease-in-out infinite}.card-avatar{width:30px;height:30px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-micro);font-weight:700;color:var(--text-inverse);flex-shrink:0}.task-card__avatar{width:26px;height:26px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-micro);font-weight:700;color:var(--text-inverse);flex-shrink:0;transition:transform var(--dur-fast) var(--ease-spring)}.task-card__avatar:hover{transform:scale(1.15)}.task-card__avatar.unassigned{cursor:pointer;animation:unassignedPulse 2s ease-in-out infinite}.task-card__avatar.unassigned:hover{animation:none;opacity:1;transform:scale(1.15);box-shadow:0 0 8px color-mix(in srgb,var(--blue-400) 50%,transparent)}.form-input{width:100%;max-width:320px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:Nunito Sans,sans-serif;font-size:var(--text-body);color:var(--text-primary);background:var(--surface-raised);outline:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.form-input:focus{border-color:var(--blue-400);box-shadow:var(--shadow-focus)}.form-input.error{border-color:var(--rose-400)}.form-input:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-sunken)}.form-input--hours{width:56px;padding:var(--sp-1) var(--sp-2);text-align:center;font-family:Roboto Mono,monospace;font-size:var(--text-desc);-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.form-input--hours::-webkit-outer-spin-button,.form-input--hours::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input--hours.is-worked{border-color:var(--blue-300)}[data-theme=dark] .form-input--hours.is-worked{border-color:var(--blue-500)}.form-input--mono{font-family:Roboto Mono,monospace;font-size:var(--text-desc);letter-spacing:var(--mono-tracking)}.form-helper{font-size:var(--text-meta);margin-top:var(--sp-1)}.form-helper.error{color:var(--rose-500)}.form-label{font-size:var(--text-meta);font-weight:600;color:var(--text-secondary);margin-bottom:var(--sp-1);display:block}.form-textarea{width:100%;min-height:96px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:Nunito Sans,sans-serif;font-size:var(--text-body);line-height:1.5;color:var(--text-primary);background:var(--surface-raised);outline:none;resize:vertical;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.form-textarea:focus{border-color:var(--blue-400);box-shadow:var(--shadow-focus)}.form-textarea.error{border-color:var(--rose-400)}.form-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-sunken)}.form-textarea--sm{min-height:64px}.form-textarea--lg{min-height:160px}.file-upload{position:relative;display:flex;align-items:center;justify-content:center;min-height:112px;padding:var(--sp-5);border:1.5px dashed var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.file-upload:hover{border-color:var(--blue-400);background:var(--surface-hover)}.file-upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload__prompt{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;pointer-events:none}.file-upload__prompt i{width:var(--icon-xl);height:var(--icon-xl);color:var(--text-tertiary)}.file-upload__prompt-title{font-size:var(--text-desc);font-weight:600;color:var(--text-primary)}.file-upload__prompt-hint{font-size:var(--text-meta);color:var(--text-tertiary)}.file-upload__file{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:var(--surface-raised);border-radius:var(--radius-sm);animation:zoneEnter var(--dur-normal) var(--ease-out)}.file-upload__file i{width:var(--icon-md);height:var(--icon-md);color:var(--text-tertiary);flex-shrink:0}.file-upload__file-name{font-size:var(--text-desc);font-weight:500;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-upload__file-size{font-size:var(--text-meta);color:var(--text-tertiary);flex-shrink:0}.file-upload__file-remove{flex-shrink:0}.file-upload.is-filled{border-style:solid;padding:var(--sp-3);min-height:0;background:var(--surface-raised)}.file-upload.is-filled:hover{border-color:var(--border-default);background:var(--surface-raised)}.file-upload.is-dragover{border-color:var(--blue-500);background:var(--blue-50)}[data-theme=dark] .file-upload.is-dragover{background:var(--blue-900)}.file-upload.error{border-color:var(--rose-400)}.file-upload--sm{min-height:0;padding:var(--sp-3)}.file-upload--sm .file-upload__prompt{flex-direction:row;gap:var(--sp-2)}.file-upload--sm .file-upload__prompt i{width:var(--icon-lg);height:var(--icon-lg)}.file-upload--sm .file-upload__prompt-hint{display:none}.checkbox-row,.radio-row{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--text-body);color:var(--text-primary)}.checkbox-row.sm,.radio-row.sm{font-size:var(--text-meta)}.checkbox-custom,.radio-custom{width:18px;height:18px;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.checkbox-custom{border-radius:var(--radius-sm)}.radio-custom{border-radius:var(--radius-full)}.checkbox-custom.checked{background:var(--blue-500);border-color:var(--blue-500)}.checkbox-custom.checked:after{content:"";width:5px;height:9px;border:solid var(--text-inverse);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.checkbox-custom.indeterminate{background:var(--blue-500);border-color:var(--blue-500)}.checkbox-custom.indeterminate:after{content:"";width:8px;height:2px;background:var(--text-inverse);border-radius:1px}.radio-custom.selected{border-color:var(--blue-500)}.radio-custom.selected:after{content:"";width:8px;height:8px;background:var(--blue-500);border-radius:var(--radius-full)}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:36px;height:20px;border-radius:var(--radius-full);background:var(--stone-300);position:relative;cursor:pointer;flex-shrink:0;transition:background var(--dur-fast) var(--ease-out);border:none;margin:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--stone-50);box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out)}.switch:checked,.switch.is-on{background:var(--teal-500)}.switch:checked:after,.switch.is-on:after{transform:translate(16px)}.switch:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.switch:disabled,.switch.is-disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .switch{background:var(--stone-600)}[data-theme=dark] .switch:checked,[data-theme=dark] .switch.is-on{background:var(--teal-500)}[data-theme=dark] .switch:after{background:var(--stone-100)}.status-dot{display:inline-block;width:var(--icon-xs);height:var(--icon-xs);border-radius:var(--radius-full);flex-shrink:0}.status-dot--sync{background:var(--teal-500)}.status-dot--summary{background:var(--stone-400)}.status-dot--blocker{background:var(--rose-500);animation:pulse-dot 2s infinite}.icon-meta{display:inline-flex;align-items:center;gap:var(--sp-1);line-height:1}.icon-meta__icon{color:var(--text-tertiary);flex-shrink:0;display:block}.icon-meta__value{font-weight:500;color:var(--text-primary)}.detail-field{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.detail-field__label{font-size:var(--text-meta);color:var(--text-tertiary)}.detail-field__value{font-size:var(--text-body);color:var(--text-primary);min-width:0}.detail-field--horizontal{flex-direction:row;align-items:baseline;gap:var(--sp-3)}.wage-display{display:inline-flex;align-items:baseline;gap:var(--sp-3)}.wage-display__primary{font-size:var(--text-body);color:var(--text-primary)}.wage-display__secondary{font-size:var(--text-meta);color:var(--text-tertiary)}.wage-display .icon-action{margin-block:calc(-1 * var(--sp-1));align-self:center}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 0px,var(--surface-hover) 50px,var(--surface-sunken) 100px);background-size:200px 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.progress-bar{height:8px;background:var(--stone-200);border-radius:var(--radius-full);overflow:hidden;width:100%}[data-theme=dark] .progress-bar{background:var(--stone-700)}.progress-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--dur-normal) var(--ease-out)}.progress-bar.stacked{position:relative;overflow:visible}.progress-bar.stacked .progress-bar-fill{position:absolute;top:0;left:0;border-radius:var(--radius-full)}.progress-bar-goal-line{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--stone-900);transform:translate(-50%);pointer-events:none;z-index:2}[data-theme=dark] .progress-bar-goal-line{background:var(--stone-100)}.progress-bar.monochrome{--mono-primary: var(--teal-500);--mono-underlay: var(--teal-200);--mono-envelope: var(--teal-500);height:12px;position:relative;background:transparent;border:1.5px solid var(--mono-envelope);overflow:visible}[data-theme=dark] .progress-bar.monochrome{--mono-primary: var(--teal-300);--mono-underlay: var(--teal-600);--mono-envelope: var(--teal-300);background:transparent}.progress-bar.monochrome.orange{--mono-primary: var(--orange-500);--mono-underlay: var(--orange-200);--mono-envelope: var(--orange-500)}[data-theme=dark] .progress-bar.monochrome.orange{--mono-primary: var(--orange-300);--mono-underlay: var(--orange-600);--mono-envelope: var(--orange-300)}.progress-bar.monochrome .progress-bar-fill,.progress-bar.monochrome .progress-bar-underlay{position:absolute;top:0;bottom:0;left:0;height:100%;box-sizing:border-box;border-radius:var(--radius-full);width:var(--target, 0)}.progress-bar.monochrome .progress-bar-fill{background:var(--mono-primary);z-index:2}.progress-bar.monochrome .progress-bar-underlay{background:var(--mono-underlay)}@keyframes progressFillIn{0%{width:0}to{width:var(--target)}}.progress-bar.monochrome.pending-animation .progress-bar-fill,.progress-bar.monochrome.pending-animation .progress-bar-underlay{width:0}.progress-bar.monochrome.animate-in .progress-bar-fill,.progress-bar.monochrome.animate-in .progress-bar-underlay{animation:progressFillIn var(--dur-entrance) var(--ease-out) both}.progress-bar.monochrome.animate-in .progress-bar-fill{animation-delay:0ms}.progress-bar.monochrome.animate-in .progress-bar-underlay{animation-delay:.5s;animation-duration:.6s}.progress-ring{width:36px;height:36px;flex-shrink:0;transform:rotate(-90deg)}.progress-ring.sm{width:28px;height:28px}.progress-ring.lg{width:48px;height:48px}.progress-ring-track{fill:none;stroke:var(--stone-200);stroke-width:3}.progress-ring.sm .progress-ring-track,.progress-ring.sm .progress-ring-segment{stroke-width:2.5}.progress-ring.lg .progress-ring-track,.progress-ring.lg .progress-ring-segment{stroke-width:5}[data-theme=dark] .progress-ring-track{stroke:var(--stone-700)}.progress-ring-segment{fill:none;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray var(--dur-normal) var(--ease-out),stroke-dashoffset var(--dur-normal) var(--ease-out)}.progress-ring-label{fill:var(--text-primary);font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-weight:700;text-anchor:middle;dominant-baseline:central}.progress-ring .progress-ring-label{font-size:10px}.progress-ring.sm .progress-ring-label{font-size:11px}.progress-ring.lg .progress-ring-label{font-size:9px}.progress-ring.monochrome{--mono-primary: var(--teal-500);--mono-underlay: var(--teal-200);--mono-envelope: var(--teal-500)}[data-theme=dark] .progress-ring.monochrome{--mono-primary: var(--teal-300);--mono-underlay: var(--teal-600);--mono-envelope: var(--teal-300)}.progress-ring.monochrome.orange{--mono-primary: var(--orange-500);--mono-underlay: var(--orange-200);--mono-envelope: var(--orange-500)}[data-theme=dark] .progress-ring.monochrome.orange{--mono-primary: var(--orange-300);--mono-underlay: var(--orange-600);--mono-envelope: var(--orange-300)}.progress-ring.monochrome .progress-ring-track{stroke:var(--mono-envelope);stroke-width:1}.progress-ring.monochrome .progress-ring-segment{stroke-width:3}.progress-ring.monochrome.sm .progress-ring-segment{stroke-width:2.5}.progress-ring.monochrome.lg .progress-ring-segment{stroke-width:5}.progress-ring.monochrome .progress-ring-segment{stroke-dasharray:var(--target) 100;stroke-dashoffset:0}.progress-ring.monochrome .progress-ring-segment.underlay{stroke:var(--mono-underlay)}.progress-ring.monochrome .progress-ring-segment.fill{stroke:var(--mono-primary)}@keyframes progressRingDraw{0%{stroke-dasharray:0 100}to{stroke-dasharray:var(--target) 100}}.progress-ring.monochrome.pending-animation .progress-ring-segment{stroke-dasharray:0 100}.progress-ring.monochrome.animate-in .progress-ring-segment{animation:progressRingDraw var(--dur-entrance) var(--ease-out) both}.progress-ring.monochrome.animate-in .progress-ring-segment.fill{animation-delay:0ms}.progress-ring.monochrome.animate-in .progress-ring-segment.underlay{animation-delay:.5s;animation-duration:.6s}.progress-legend{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);padding-left:var(--sp-3);font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);color:var(--text-tertiary)}.progress-legend.monochrome{--legend-dot-outline: var(--teal-500)}.progress-legend.monochrome.orange{--legend-dot-outline: var(--orange-500)}[data-theme=dark] .progress-legend.monochrome{--legend-dot-outline: var(--teal-300)}[data-theme=dark] .progress-legend.monochrome.orange{--legend-dot-outline: var(--orange-300)}.progress-legend.monochrome .chart-legend-swatch.dot{width:10px;height:10px;border-width:1.5px}.progress-legend.monochrome .progress-legend-star{color:var(--legend-dot-outline)}.progress-legend.monochrome .progress-legend-star path{stroke:var(--legend-dot-outline);stroke-width:3.6;stroke-linejoin:round}.progress-legend-item{display:inline-flex;align-items:center;gap:var(--sp-1)}.progress-legend-star{width:10px;height:10px;color:var(--text-tertiary);flex-shrink:0;display:inline-block;fill:currentColor}.item-status-check{width:14px;height:14px;color:var(--teal-500);flex-shrink:0;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.check-dot{width:18px;height:18px;border-radius:var(--radius-full);border:2px solid var(--stone-500);background:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.check-dot.filled{background:var(--teal-500);border-color:var(--teal-500)}.check-dot.filled:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}[data-theme=dark] .check-dot{border-color:var(--stone-400)}[data-theme=dark] .check-dot.filled{background:var(--teal-600);border-color:var(--teal-600)}.range-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--stone-300);border-radius:var(--radius-full);outline:none;cursor:pointer}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:var(--radius-full);background:var(--blue-500);cursor:pointer;border:2px solid var(--surface-raised);box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:var(--shadow-md)}.range-slider::-moz-range-thumb{width:16px;height:16px;border-radius:var(--radius-full);background:var(--blue-500);cursor:pointer;border:2px solid var(--surface-raised);box-shadow:var(--shadow-sm)}[data-theme=dark] .range-slider{background:var(--stone-600)}.range-slider:focus-visible{box-shadow:var(--shadow-focus)}.hover-lift{transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.hover-lift:hover{transform:translateY(-3px);box-shadow:var(--shadow-lifted)}.hover-scale{transition:transform var(--dur-micro) var(--ease-spring);display:inline-block}.hover-scale:hover{transform:scale(1.08)}.hover-slide{transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.hover-slide:hover{transform:translate(4px);color:var(--blue-500)}.divider{height:1px;background:var(--border-default);flex-shrink:0}.divider--inset{margin:0 var(--sp-4)}.divider--inset-tight{margin:var(--sp-1) var(--sp-2)}.sidebar-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);color:#fffc;text-decoration:none;font-size:var(--text-desc);font-weight:500;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.sidebar-item:hover{transform:translate(2px);color:#fff;background:#ffffff1a}.sidebar-item:active{transform:scale(.97);transition-duration:var(--dur-micro)}.sidebar-item.active{color:#fff;font-weight:600;background:#ffffff26}[data-theme=dark] .sidebar-item.active{color:#fff;background:#ffffff26}.sidebar-item :is(i,svg){flex-shrink:0}.sidebar__group-label{font-size:var(--text-micro);font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#ffffff73;padding:var(--sp-3) var(--sp-3) var(--sp-1) var(--sp-3);margin-top:var(--sp-2)}.sidebar__group-label:first-child{margin-top:0}.section-label{font-size:var(--text-meta);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.section-label-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:0 var(--sp-1);min-height:24px}.section-label-bar .section-label{padding:0}.condense-toggle .condense-toggle__icon--expand,.condense-toggle[aria-pressed=true] .condense-toggle__icon--condense{display:none}.condense-toggle[aria-pressed=true] .condense-toggle__icon--expand{display:inline-flex}.sidebar__section-label{font-size:var(--text-micro);font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffff73;padding:var(--sp-4) var(--sp-3) var(--sp-1) var(--sp-3)}.sidebar__header{height:var(--header-height);display:flex;align-items:center;padding:0 var(--sp-4);gap:var(--sp-3);border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark{width:32px;height:32px;flex-shrink:0}.brand-mark svg{width:100%;height:100%}.brand-mark--auth{width:36px;height:36px}.brand-mark--brand .brand-mark__ring--outer{fill:var(--blue-600)}.brand-mark--brand .brand-mark__ring--inner{fill:var(--blue-500)}.sidebar__wordmark{font-family:DM Sans,sans-serif;font-weight:700;font-size:var(--text-body);letter-spacing:-.3px;color:var(--text-inverse);white-space:nowrap}.sidebar__divider{height:1px;background:#ffffff1a;margin:var(--sp-2) var(--sp-3)}.sidebar__footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center}.collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:#fff9;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.collapse-btn:hover{color:#fff;background:#ffffff1a}.collapse-btn:active{transform:scale(.94);transition-duration:var(--dur-micro)}.search-input{display:flex;align-items:center;gap:var(--sp-2);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-1) var(--sp-3);width:220px;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.search-input:focus-within{border-color:var(--blue-400);box-shadow:var(--shadow-focus)}.search-input input{border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--text-desc);color:var(--text-primary);width:100%}.search-input input::placeholder{color:var(--text-tertiary)}.select{position:relative;display:inline-block;font-family:inherit}.select-trigger{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-md);font-size:var(--text-meta);font-weight:600;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border-default);cursor:pointer;font-family:inherit;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.select-trigger:hover{border-color:var(--blue-400);color:var(--blue-600)}.select-trigger>span:first-child{display:inline-block;min-width:var(--label-min-width, auto);text-align:left}.select-trigger:active{transform:scale(.97);transition-duration:var(--dur-micro)}.select-trigger :is(i,svg){width:var(--icon-sm);height:var(--icon-sm);transition:transform var(--dur-fast) var(--ease-out)}.select.open>.select-trigger{border-color:var(--blue-500);color:var(--blue-500)}.select.open>.select-trigger :is(i,svg){transform:rotate(180deg)}.select-menu{position:absolute;top:calc(100% + var(--sp-1));right:0;min-width:200px;max-height:var(--select-menu-max-h, 280px);overflow-y:auto;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--sp-2);opacity:0;transform:translateY(-12px) scale(.92);transform-origin:top right;pointer-events:none;transition:opacity var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out);z-index:100}.select-menu.start-align{left:0;right:auto;transform-origin:top left}.select.open>.select-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;transition:opacity .12s var(--ease-out),transform var(--dur-normal) var(--ease-spring)}.select-option{display:flex;align-items:center;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);font-size:var(--text-meta);color:var(--text-secondary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out);-webkit-user-select:none;user-select:none}.select-option:hover{background:var(--surface-sunken);color:var(--text-primary)}.select-option:active{transform:scale(.98);transition-duration:var(--dur-micro)}.select-option.active{background:var(--blue-50);color:var(--blue-600);font-weight:600}[data-theme=dark] .select-option.active{background:color-mix(in srgb,var(--blue-900) 40%,transparent);color:var(--blue-300)}.calendar-picker{min-width:240px;padding:var(--sp-1);overflow:visible}.calendar-picker__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2)}.calendar-picker__title{font-size:var(--text-meta);font-weight:600;color:var(--text-primary)}.calendar-picker__nav-btn{background:transparent;border:none;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:var(--radius-sm);padding:0}.calendar-picker__nav-btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.calendar-picker__nav-btn :is(i,svg){width:var(--icon-sm);height:var(--icon-sm)}.calendar-picker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-picker__dow{font-size:var(--text-micro);color:var(--text-tertiary);text-align:center;padding:var(--sp-1) 0;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.calendar-picker__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--text-meta);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out)}.calendar-picker__day:hover{background:var(--surface-sunken);color:var(--text-primary)}.calendar-picker__day.is-active{background:var(--blue-500);color:var(--text-inverse);font-weight:600}.calendar-picker__day.is-active:hover{background:var(--blue-600);color:var(--text-inverse)}.calendar-picker__day.is-disabled{color:var(--text-tertiary);pointer-events:none;opacity:.35}.calendar-picker__day.is-other-month{color:var(--text-tertiary);opacity:.4}.team-calendar{display:flex;flex-direction:column;gap:var(--sp-3);background:var(--surface-base);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--sp-4)}.team-calendar__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.team-calendar__title{font-family:DM Sans,sans-serif;font-size:var(--text-section);font-weight:600;color:var(--text-primary)}.team-calendar__nav-cluster{display:inline-flex;align-items:center;gap:var(--sp-1)}.team-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-1)}.team-calendar__dow{font-size:var(--text-micro);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);text-align:center;padding:var(--sp-1) 0}.team-calendar__day{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:96px;padding:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-2)}.team-calendar__day-num{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);font-weight:500;color:var(--text-secondary)}.team-calendar__day.is-other-month{background:transparent;border-color:transparent}.team-calendar__day.is-other-month .team-calendar__day-num{color:var(--text-tertiary);opacity:.55}.team-calendar__day.is-today{border-color:var(--blue-300);background:color-mix(in srgb,var(--blue-500) 7%,var(--surface-raised))}.team-calendar__day.is-today .team-calendar__day-num{color:var(--blue-600);font-weight:700}.team-calendar__day.is-weekend{background:color-mix(in srgb,var(--surface-base) 35%,var(--surface-raised))}[data-theme=dark] .team-calendar{background:var(--surface-base)}[data-theme=dark] .team-calendar__day{background:var(--surface-raised)}[data-theme=dark] .team-calendar__day.is-today{border-color:var(--blue-500);background:color-mix(in srgb,var(--blue-500) 14%,var(--surface-raised))}[data-theme=dark] .team-calendar__day.is-today .team-calendar__day-num{color:var(--blue-300)}[data-theme=dark] .team-calendar__day.is-weekend{background:color-mix(in srgb,var(--surface-base) 50%,var(--surface-raised))}.select-menu.time-picker{min-width:320px}.time-picker-row{display:flex;gap:var(--sp-2);padding:var(--sp-1);align-items:stretch}.time-picker-row .select{flex:1;min-width:0}.time-picker-row .select-trigger{width:100%;justify-content:space-between}.time-picker-row .select-menu{min-width:100%;left:0;right:auto}.time-picker-all{flex-shrink:0;padding:var(--sp-1) var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-meta);font-weight:600;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.time-picker-all:hover{border-color:var(--blue-400);color:var(--blue-600);background:transparent}.time-picker-all:active{transform:scale(.96);transition-duration:var(--dur-micro)}.time-picker-all.active{background:var(--blue-500);color:var(--text-inverse);border-color:var(--blue-500)}[data-theme=dark] .time-picker-all.active{background:var(--blue-400);border-color:var(--blue-400)}.filter-btn{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-md);font-size:var(--text-desc);font-weight:500;cursor:pointer;border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);font-family:inherit;transition:all var(--dur-fast) var(--ease-out)}.filter-btn:hover{border-color:var(--blue-400);color:var(--blue-600)}.filter-btn:active{transform:scale(.97);transition-duration:var(--dur-micro)}.filter-btn.active{background:var(--blue-500);color:var(--text-inverse);border-color:var(--blue-500)}.view-toggle{display:inline-flex;background:var(--surface-sunken);border-radius:var(--radius-md);padding:2px;height:32px;align-items:center}.view-toggle-btn{height:28px;padding:0 var(--sp-3);border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-micro);font-weight:500;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-1);transition:all var(--dur-fast) var(--ease-out);font-family:inherit}.view-toggle-btn.active{background:var(--surface-raised);box-shadow:var(--shadow-sm);color:var(--text-primary);font-weight:600}.breadcrumbs{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--text-desc);flex:1}.breadcrumbs__root{color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out)}.breadcrumbs__root:hover{color:var(--blue-500)}.breadcrumbs__sep{color:var(--text-tertiary)}.breadcrumbs__current{font-weight:600;color:var(--text-primary)}.header-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.header-btn:hover{transform:scale(1.1);color:var(--blue-500);background:var(--surface-hover)}.header-btn:active{transform:scale(.94);transition-duration:var(--dur-micro)}.header-actions{display:flex;align-items:center;gap:var(--sp-2)}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--blue-500);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.user-avatar:hover{transform:scale(1.1)}.user-menu{position:relative;display:inline-flex}.user-menu__panel{position:absolute;top:calc(100% + var(--sp-2));right:0;min-width:240px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--sp-2);opacity:0;transform:translateY(-8px) scale(.96);transform-origin:top right;pointer-events:none;transition:opacity var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out);z-index:200}.user-menu.open>.user-menu__panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;transition:opacity .12s var(--ease-out),transform var(--dur-normal) var(--ease-spring)}.user-menu__header{padding:var(--sp-2) var(--sp-3) var(--sp-3);display:flex;flex-direction:column;gap:2px}.user-menu__name{font-size:var(--text-desc);font-weight:600;color:var(--text-primary)}.user-menu__email{font-size:var(--text-meta);color:var(--text-tertiary)}.user-menu__divider{height:1px;background:var(--border-default);margin:var(--sp-1) 0}.user-menu__item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);font-size:var(--text-desc);font-weight:500;color:var(--text-primary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.user-menu__item:hover{background:var(--surface-base)}.user-menu__item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.user-menu__item i{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-secondary);flex-shrink:0}.user-menu__item--danger,.user-menu__item--danger i{color:var(--rose-500)}@media(prefers-reduced-motion:reduce){.user-menu__panel{transition:opacity .2s ease-out;transform:none}.user-menu.open>.user-menu__panel{transform:none;transition:opacity .2s ease-out}}.metric-strip__item{flex:1;background:var(--surface-raised);border-radius:var(--radius-lg);padding:var(--sp-4);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.metric-strip__item:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-md)}.metric-strip__item:active{transform:scale(.98)}.metric-strip__label{font-size:var(--text-meta);font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--sp-1)}.metric-strip__value{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-xl);font-weight:700}.metric-strip__sub{font-size:var(--text-meta);margin-top:2px}.metric-strip__value.blue{color:var(--blue-500)}.metric-strip__value.teal{color:var(--teal-500)}.metric-strip__value.rose{color:var(--rose-500)}.metric-strip__value.amber{color:var(--amber-500)}.metric-strip__value.green{color:var(--green-500)}.metric-strip__value.violet{color:var(--violet-500)}.metric-strip__sub.rose{color:var(--rose-400)}.metric-strip__sub.teal{color:var(--teal-500)}.metric-strip__item.teal,.metric-strip__item.rose,.metric-strip__item.amber,.metric-strip__item.orange,.metric-strip__item.blue,.metric-strip__item.sky,.metric-strip__item.green,.metric-strip__item.violet,.metric-strip__item.stone{border:none;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.metric-strip__item.teal{background:var(--teal-500)}.metric-strip__item.rose{background:var(--rose-500)}.metric-strip__item.amber{background:var(--amber-400)}.metric-strip__item.orange{background:var(--orange-500)}.metric-strip__item.blue{background:var(--blue-500)}.metric-strip__item.sky{background:var(--sky-500)}.metric-strip__item.green{background:var(--green-500)}.metric-strip__item.violet{background:var(--violet-500)}.metric-strip__item.stone{background:var(--stone-600)}.metric-strip__item.teal .metric-strip__label,.metric-strip__item.rose .metric-strip__label,.metric-strip__item.amber .metric-strip__label,.metric-strip__item.orange .metric-strip__label,.metric-strip__item.blue .metric-strip__label,.metric-strip__item.sky .metric-strip__label,.metric-strip__item.green .metric-strip__label,.metric-strip__item.violet .metric-strip__label,.metric-strip__item.stone .metric-strip__label{color:#ffffffd9}.metric-strip__item.teal .metric-strip__value,.metric-strip__item.rose .metric-strip__value,.metric-strip__item.amber .metric-strip__value,.metric-strip__item.orange .metric-strip__value,.metric-strip__item.blue .metric-strip__value,.metric-strip__item.sky .metric-strip__value,.metric-strip__item.green .metric-strip__value,.metric-strip__item.violet .metric-strip__value,.metric-strip__item.stone .metric-strip__value{color:#fff}.metric-strip__item.teal .metric-strip__sub,.metric-strip__item.rose .metric-strip__sub,.metric-strip__item.amber .metric-strip__sub,.metric-strip__item.orange .metric-strip__sub,.metric-strip__item.blue .metric-strip__sub,.metric-strip__item.sky .metric-strip__sub,.metric-strip__item.green .metric-strip__sub,.metric-strip__item.violet .metric-strip__sub,.metric-strip__item.stone .metric-strip__sub{color:#ffffffb3}.metric-strip.monochrome{--mono-primary: var(--teal-500);--mono-underlay: var(--teal-200)}.metric-strip.monochrome.orange{--mono-primary: var(--orange-500);--mono-underlay: var(--orange-200)}[data-theme=dark] .metric-strip.monochrome{--mono-primary: var(--teal-300);--mono-underlay: var(--teal-600)}[data-theme=dark] .metric-strip.monochrome.orange{--mono-primary: var(--orange-300);--mono-underlay: var(--orange-600)}.metric-strip__item.mono-underlay{background:var(--mono-underlay);border:1.5px solid var(--mono-primary)}.metric-strip__item.mono-gap{background:var(--surface-raised);border:1.5px solid var(--mono-primary)}.metric-strip__item.mono-underlay .metric-strip__label,.metric-strip__item.mono-underlay .metric-strip__sub,.metric-strip__item.mono-gap .metric-strip__label,.metric-strip__item.mono-gap .metric-strip__sub{color:var(--text-primary)}.metric-strip__item.teal .metric-strip__label,.metric-strip__item.rose .metric-strip__label,.metric-strip__item.amber .metric-strip__label,.metric-strip__item.orange .metric-strip__label,.metric-strip__item.blue .metric-strip__label,.metric-strip__item.sky .metric-strip__label,.metric-strip__item.green .metric-strip__label,.metric-strip__item.violet .metric-strip__label,.metric-strip__item.stone .metric-strip__label{font-weight:500}.metric-strip__item.teal .metric-strip__value,.metric-strip__item.rose .metric-strip__value,.metric-strip__item.amber .metric-strip__value,.metric-strip__item.orange .metric-strip__value,.metric-strip__item.blue .metric-strip__value,.metric-strip__item.sky .metric-strip__value,.metric-strip__item.green .metric-strip__value,.metric-strip__item.violet .metric-strip__value,.metric-strip__item.stone .metric-strip__value{font-weight:600}[data-theme=dark] .metric-strip__item.teal{background:var(--teal-600)}[data-theme=dark] .metric-strip__item.rose{background:var(--rose-600)}[data-theme=dark] .metric-strip__item.amber{background:var(--amber-500)}[data-theme=dark] .metric-strip__item.orange{background:var(--orange-600)}[data-theme=dark] .metric-strip__item.blue{background:var(--blue-600)}[data-theme=dark] .metric-strip__item.sky{background:var(--sky-600)}[data-theme=dark] .metric-strip__item.green{background:var(--green-600)}[data-theme=dark] .metric-strip__item.violet{background:var(--violet-600)}[data-theme=dark] .metric-strip__item.stone{background:var(--stone-700)}.chart-legend{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.chart-legend-item{display:flex;align-items:center;gap:4px;font-size:var(--text-meta);color:var(--text-secondary)}.chart-legend-swatch{width:12px;height:3px;border-radius:2px;display:inline-block}.chart-legend-swatch.dot{width:8px;height:8px;border-radius:var(--radius-full);border:1px solid var(--legend-dot-outline, var(--border-default));box-sizing:border-box}.chart-legend-swatch.track{background:var(--surface-raised)}.legend-row{display:flex;flex-wrap:wrap;gap:var(--sp-1);align-items:center;margin-top:var(--sp-3)}.legend-row-end{display:flex;flex-wrap:wrap;gap:var(--sp-1);align-items:center;justify-content:flex-end}.sbar-hover{cursor:pointer}.sbar-seg{transition:opacity .16s ease}.sbar-seg.sbar-dim{opacity:.15}.sbar-month{transition:fill .15s ease}.sbar-month.active{fill:var(--text-primary)!important}.bchart-hover{cursor:pointer}.bchart-bar{transition:opacity .16s ease}.bchart-bar.bchart-peer-dim{opacity:.35}.bchart-label{transition:fill .15s ease}.bchart-label.active{fill:var(--text-primary)!important}.utilization-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0}.utilization-label{width:180px;flex-shrink:0;font-size:var(--text-desc);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.utilization-bar{flex:1;height:8px;background:var(--stone-200);border-radius:var(--radius-full);overflow:hidden;min-width:120px}[data-theme=dark] .utilization-bar{background:var(--stone-700)}.utilization-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--dur-normal) var(--ease-out)}.utilization-amounts{flex-shrink:0;text-align:right;font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-secondary);white-space:nowrap}.utilization-pct{width:48px;flex-shrink:0;text-align:right;font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-desc);font-weight:600}.scenario-panel{display:flex;gap:var(--sp-5);align-items:center;padding:var(--sp-3) var(--sp-5);background:var(--surface-sunken);border-radius:var(--radius-md);flex-wrap:wrap}.scenario-control{display:flex;align-items:center;gap:var(--sp-2);flex:1;min-width:200px}.scenario-label{font-size:var(--text-meta);font-weight:600;color:var(--text-secondary);white-space:nowrap}.scenario-value{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);font-weight:600;min-width:40px;text-align:right}.scenario-value.positive{color:var(--teal-500)}.scenario-value.negative{color:var(--rose-500)}.scenario-value.neutral{color:var(--text-tertiary)}[data-theme=dark] .scenario-value.positive{color:var(--teal-300)}[data-theme=dark] .scenario-value.negative{color:var(--rose-300)}.scenario-reset{font-size:var(--text-meta);color:var(--text-tertiary);cursor:pointer;background:none;border:none;font-family:inherit;font-weight:500;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.scenario-reset:hover{color:var(--blue-500);background:var(--surface-hover)}.bullet-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0}.bullet-label{width:180px;flex-shrink:0;font-size:var(--text-desc);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bullet-track{flex:1;height:28px;position:relative;border-radius:var(--radius-sm);overflow:hidden;min-width:160px}.bullet-range{position:absolute;top:0;left:0;height:100%;border-radius:var(--radius-sm)}.bullet-measure{position:absolute;top:7px;left:0;height:14px;border-radius:2px;transition:width var(--dur-normal) var(--ease-out)}.bullet-marker{position:absolute;top:3px;width:2px;height:22px;border-radius:1px;background:var(--text-primary);transition:left var(--dur-normal) var(--ease-out)}[data-theme=dark] .bullet-marker{background:var(--dark-text)}.bullet-values{flex-shrink:0;text-align:right;font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-secondary);white-space:nowrap;min-width:100px}.avatar-stack{display:flex;align-items:center;flex-shrink:0}.avatar-stack .avatar{margin-left:calc(-1 * var(--sp-2));border:2px solid var(--surface-raised)}.avatar-stack .avatar:first-child{margin-left:0}.avatar-stack .card-avatar{margin-right:-10px;border:2px solid var(--surface-raised);transition:transform var(--dur-fast) var(--ease-spring);position:relative}.avatar-stack .card-avatar:last-child{margin-right:0}.avatar-stack .card-avatar:nth-child(1){z-index:1}.avatar-stack .card-avatar:nth-child(2){z-index:2}.avatar-stack .card-avatar:nth-child(3){z-index:3}.avatar-stack .card-avatar:nth-child(4){z-index:4}.avatar-stack .card-avatar:hover{transform:scale(1.15);z-index:10}.avatar-overflow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--stone-200);color:var(--stone-600);font-size:var(--text-micro);font-weight:700;margin-left:calc(-1 * var(--sp-2));border:2px solid var(--surface-raised);font-family:DM Sans,sans-serif}.avatar-overflow.sm{width:var(--avatar-sm);height:var(--avatar-sm);font-size:10px}[data-theme=dark] .avatar-overflow{background:var(--stone-700);color:var(--stone-300)}button.avatar,button.avatar-overflow{border-style:solid;padding:0;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}button.avatar{border:none}button.avatar:hover,button.avatar-overflow:hover{transform:scale(1.1);box-shadow:var(--shadow-sm)}button.avatar:focus-visible,button.avatar-overflow:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.avatar-stack button.avatar{border:2px solid var(--surface-raised)}.points-wheel{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.points-wheel svg{width:100%;height:100%;transform:rotate(-90deg)}.points-wheel-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;font-weight:700;color:var(--text-primary)}.points-wheel-track{fill:none;stroke:var(--surface-sunken);stroke-width:5}.points-wheel-fill{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease-spring-gentle)}.points-wheel-sm{width:36px;height:36px}.points-wheel-sm .points-wheel-label{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);font-weight:600;color:var(--text-secondary)}.points-wheel-md{width:56px;height:56px}.points-wheel-md .points-wheel-label{font-size:var(--text-desc)}.points-wheel-lg{width:108px;height:108px}.points-wheel-lg .points-wheel-track,.points-wheel-lg .points-wheel-fill{stroke-width:5}.points-wheel-lg .points-wheel-label{font-size:var(--text-xl);letter-spacing:-.5px;font-weight:700}.client-group-header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;cursor:pointer;position:sticky;top:0;z-index:5;background:var(--surface-base)}.client-group-header:hover .client-group-name{color:var(--blue-500)}.client-group-chevron{color:var(--text-tertiary);transition:transform var(--dur-fast) var(--ease-out);flex-shrink:0}.client-group-chevron.open{transform:rotate(90deg)}.client-group-name{font-size:var(--text-meta);font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);transition:color var(--dur-fast) var(--ease-out)}.client-group-count{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-tertiary)}.task-card__meta-item{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.task-card__meta-item .value{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-weight:500}.task-summary-bar{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-meta);color:var(--text-tertiary)}.task-summary-item{display:inline-flex;align-items:center;gap:3px}.card-flush-header{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-default)}.card-flush-title{font-family:DM Sans,sans-serif;font-size:var(--text-body);font-weight:600}.toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.toolbar-count{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);color:var(--text-tertiary);margin-left:auto}.list-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);transition:background var(--dur-fast) var(--ease-out)}.list-item:hover{background:var(--surface-hover)}.list-item:last-child{border-bottom:none}.cell-editable{position:relative;cursor:text}.cell-editable .cell-display{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-editable .cell-input{position:absolute;top:0;right:0;bottom:0;left:0;display:none;width:100%;height:100%;padding:inherit;border:1.5px solid var(--blue-400);border-radius:var(--radius-sm);font-family:inherit;font-size:inherit;color:var(--text-primary);background:var(--surface-raised);outline:none;box-sizing:border-box;box-shadow:var(--shadow-focus);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.cell-editable .cell-input.mono{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking)}.cell-editable.editing .cell-display{visibility:hidden}.cell-editable.editing .cell-input{display:block}.cell-editable.dirty .cell-display{box-shadow:inset 2px 0 0 var(--teal-400);padding-left:var(--sp-2)}[data-theme=dark] .cell-editable.dirty .cell-display{box-shadow:inset 2px 0 0 var(--teal-300)}.cell-editable.invalid .cell-input{border-color:var(--rose-400);box-shadow:0 0 0 2px #ce495f33}.cell-editable .cell-error{display:none;position:absolute;left:0;top:100%;z-index:10;padding:var(--sp-1) var(--sp-2);font-size:var(--text-meta);color:var(--rose-500);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);white-space:nowrap}.cell-editable.invalid .cell-error{display:block}.cell-actions{display:inline-flex;align-items:center;gap:var(--sp-1)}.cell-actions button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.cell-actions button :is(i,svg){width:var(--icon-sm);height:var(--icon-sm)}.cell-actions button.save:hover{color:var(--teal-500);background:var(--surface-hover)}.cell-actions button.cancel:hover{color:var(--rose-500);background:var(--surface-hover)}.sidebar{width:var(--sidebar-width);background:var(--surface-nav);color:var(--surface-nav-ink);border-right:none;display:flex;flex-direction:column;z-index:20;transition:width .35s cubic-bezier(.34,1.28,.64,1),background .2s ease;flex-shrink:0}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar.collapsed .sidebar__wordmark,.sidebar.collapsed .sidebar__item-label,.sidebar.collapsed .sidebar__group-label,.sidebar.collapsed .sidebar__section-label{display:none}.sidebar.collapsed .sidebar-item{justify-content:center;padding:0}.sidebar.collapsed .sidebar__header{justify-content:center;padding:0 var(--sp-2)}.sidebar__nav{flex:1;padding:var(--sp-2) var(--sp-2);overflow-y:auto}.header{height:var(--header-height);display:flex;align-items:center;padding:0 var(--sp-6);background:var(--surface-raised);border-bottom:1px solid var(--border-default);z-index:10;gap:var(--sp-4)}.header.scrolled{box-shadow:var(--shadow-scroll)}.header__brand{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.header__brand-wordmark{font-family:DM Sans,sans-serif;font-weight:700;font-size:var(--text-body);letter-spacing:-.3px;white-space:nowrap}.header--nav{background:var(--surface-nav);color:var(--surface-nav-ink);border-bottom:none}.header--nav .header__brand-wordmark{color:var(--surface-nav-ink)}.header--nav .breadcrumbs__root,.header--nav .breadcrumbs__sep{color:color-mix(in srgb,var(--surface-nav-ink) 70%,transparent)}.header--nav .breadcrumbs__current,.header--nav .breadcrumbs__root:hover,.header--nav .header-btn{color:var(--surface-nav-ink)}.header--nav .header-btn:hover{color:var(--surface-nav-ink);background:color-mix(in srgb,var(--surface-nav-ink) 12%,transparent)}.header--nav .user-avatar{box-shadow:0 0 0 2px color-mix(in srgb,var(--surface-nav-ink) 40%,transparent)}.header-search{position:relative;display:flex;align-items:center;gap:var(--sp-2);width:360px;max-width:100%;height:36px;padding:0 var(--sp-2) 0 var(--sp-3);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-nav-ink) 12%,transparent);transition:background var(--dur-fast) var(--ease-out)}.header-search:focus-within{background:color-mix(in srgb,var(--surface-nav-ink) 22%,transparent)}.header-search__icon{width:var(--icon-sm);height:var(--icon-sm);color:color-mix(in srgb,var(--surface-nav-ink) 80%,transparent);flex-shrink:0}.header-search__input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--surface-nav-ink);font-family:Nunito Sans,sans-serif;font-size:var(--text-desc);padding:0}.header-search__input::placeholder{color:color-mix(in srgb,var(--surface-nav-ink) 65%,transparent)}.header-search__kbd{font-family:Roboto Mono,monospace;font-size:var(--text-micro);color:color-mix(in srgb,var(--surface-nav-ink) 75%,transparent);background:color-mix(in srgb,var(--surface-nav-ink) 14%,transparent);padding:1px var(--sp-1);border-radius:var(--radius-sm);flex-shrink:0;letter-spacing:var(--mono-tracking)}.header-search__panel{position:absolute;top:calc(100% + var(--sp-2));left:0;right:0;max-height:480px;overflow-y:auto;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lifted);padding:var(--sp-2);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top center;pointer-events:none;transition:opacity var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out);z-index:200}.header-search.open>.header-search__panel{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;transition:opacity .12s var(--ease-out),transform var(--dur-normal) var(--ease-spring)}.header-search__group{padding:var(--sp-2) 0}.header-search__group:not(:last-child){border-bottom:1px solid var(--border-subtle)}.header-search__group-label{font-size:var(--text-micro);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);padding:0 var(--sp-3) var(--sp-2)}.header-search__item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.header-search__item:hover,.header-search__item.is-active{background:var(--surface-base)}.header-search__item-icon{width:28px;height:28px;border-radius:var(--radius-full);background:var(--surface-base);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.header-search__item-icon i{width:var(--icon-sm);height:var(--icon-sm)}.header-search__item-body{flex:1;min-width:0;display:flex;flex-direction:column}.header-search__item-title{font-size:var(--text-meta);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-search__item-meta{font-size:var(--text-micro);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-search__empty{padding:var(--sp-5) var(--sp-3);text-align:center;font-size:var(--text-meta);color:var(--text-tertiary)}.header:not(.header--nav) .header-search{background:var(--surface-base)}.header:not(.header--nav) .header-search:focus-within{background:var(--surface-hover);box-shadow:var(--shadow-focus)}.header:not(.header--nav) .header-search__icon{color:var(--text-tertiary)}.header:not(.header--nav) .header-search__input{color:var(--text-primary)}.header:not(.header--nav) .header-search__input::placeholder{color:var(--text-tertiary)}.header:not(.header--nav) .header-search__kbd{color:var(--text-tertiary);background:var(--surface-raised);border:1px solid var(--border-default)}.tab-bar{display:flex;align-items:flex-end;padding:var(--sp-1) var(--sp-8);border-bottom:1px solid var(--border-default);background:var(--surface-raised);position:relative}.tab-item{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:var(--text-desc);color:var(--text-tertiary);cursor:pointer;position:relative;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);font-weight:500}.tab-item:hover{color:var(--blue-500);transform:translateY(-1px)}.tab-item:active{transform:scale(.97);transition-duration:var(--dur-micro)}.tab-item.active{color:var(--blue-600);font-weight:600}.tab-item.active:after{content:"";position:absolute;bottom:calc(-1 * var(--sp-1));left:var(--sp-4);right:var(--sp-4);height:2.5px;background:var(--blue-500);border-radius:var(--radius-full) var(--radius-full) 0 0}[data-theme=dark] .tab-item.active{color:var(--blue-300)}[data-theme=dark] .tab-item.active:after{background:var(--blue-400)}.metric-strip{display:flex;gap:var(--sp-3)}.metric-strip[data-collapse-on-scroll]{transition:gap var(--dur-normal) var(--ease-out)}.metric-strip[data-collapse-on-scroll] .metric-strip__item{overflow:hidden;transition:padding var(--dur-normal) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.metric-strip[data-collapse-on-scroll] .metric-strip__label,.metric-strip[data-collapse-on-scroll] .metric-strip__value,.metric-strip[data-collapse-on-scroll] .metric-strip__sub{transition:font-size var(--dur-normal) var(--ease-out),opacity var(--dur-normal) var(--ease-out),max-height var(--dur-normal) var(--ease-out),margin var(--dur-normal) var(--ease-out)}.metric-strip.is-compact{gap:var(--sp-2)}.metric-strip.is-compact .metric-strip__item{display:flex;align-items:baseline;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3)}.metric-strip.is-compact .metric-strip__item:hover{transform:none;box-shadow:none}.metric-strip.is-compact .metric-strip__label{margin-bottom:0;flex-shrink:0;order:0}.metric-strip.is-compact .metric-strip__value{font-size:var(--text-body);order:1;flex-shrink:0;margin-left:auto}.metric-strip.is-compact .metric-strip__sub{max-height:0;opacity:0;margin:0;overflow:hidden}.metric-strip[data-sticky-when-compact].is-compact{position:sticky;top:0;z-index:9;background:var(--surface-base);box-shadow:var(--shadow-sm)}.card{background:var(--surface-raised);border-radius:var(--card-radius);padding:var(--card-padding);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.card--hoverable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card--hoverable:active{transform:scale(.99)}.card.selected{box-shadow:inset 0 0 0 1px var(--blue-500),inset 3px 0 0 var(--blue-500)}[data-theme=dark] .card.selected{box-shadow:inset 0 0 0 1px var(--blue-400),inset 3px 0 0 var(--blue-400)}.card--hoverable.selected:hover{box-shadow:inset 0 0 0 1px var(--blue-500),inset 3px 0 0 var(--blue-500),var(--shadow-md)}[data-theme=dark] .card--hoverable.selected:hover{box-shadow:inset 0 0 0 1px var(--blue-400),inset 3px 0 0 var(--blue-400),var(--shadow-md)}.card-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-icon.sm{width:28px;height:28px}.card--chart{background:var(--surface-raised);border-radius:var(--card-radius);padding:var(--sp-6);min-height:0;overflow:hidden}.card--chart .card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.card--chart .card__header-start{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--sp-4);gap:var(--sp-4)}.card--chart .card__title{font-family:DM Sans,sans-serif;font-size:var(--text-section);font-weight:600}.card--chart .card__subtitle{font-size:var(--text-micro);color:var(--text-secondary)}.card--chart .card__body{width:100%}.card--chart .card__body--fixed{width:100%;height:360px}.treemap-container{position:relative;width:100%;height:480px;overflow:hidden;border-radius:var(--radius-md)}.card--flush{background:var(--surface-raised);border-radius:var(--card-radius);padding:0;overflow:hidden}[data-page-content=transactions]{display:flex;flex-direction:column;flex:1;min-height:0}#transactionsTable thead th:nth-child(1),#transactionsTable tbody td:nth-child(1),#transactionsTable thead th:nth-child(2),#transactionsTable tbody td:nth-child(2),#transactionsTable thead th:nth-child(3),#transactionsTable tbody td:nth-child(3){position:sticky;z-index:2}#transactionsTable thead th:nth-child(1),#transactionsTable thead th:nth-child(2),#transactionsTable thead th:nth-child(3){z-index:3}#transactionsTable thead th:nth-child(1),#transactionsTable tbody td:nth-child(1){left:0}#transactionsTable thead th:nth-child(2),#transactionsTable tbody td:nth-child(2){left:44px}#transactionsTable thead th:nth-child(3),#transactionsTable tbody td:nth-child(3){left:204px}#transactionsTable tbody td:nth-child(1),#transactionsTable tbody td:nth-child(2),#transactionsTable tbody td:nth-child(3){background:var(--surface-raised)}#transactionsTable tbody tr:hover td:nth-child(1),#transactionsTable tbody tr:hover td:nth-child(2),#transactionsTable tbody tr:hover td:nth-child(3){background:var(--surface-hover)}#transactionsTable thead th:nth-child(1),#transactionsTable thead th:nth-child(2),#transactionsTable thead th:nth-child(3){background:var(--blue-500)}#transactionsTable thead th:nth-child(3){box-shadow:inset -1px 0 #ffffff59}#transactionsTable tbody td:nth-child(3){box-shadow:inset -1px 0 0 var(--border-default)}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-meta)}.data-table thead{background:var(--blue-500)}.data-table th{text-align:left;padding:var(--sp-2) var(--sp-4);font-size:var(--text-micro);font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#fff;position:sticky;top:0;z-index:1;background:var(--blue-500)}.data-table th.text-right{text-align:right}.data-table td{padding:var(--sp-2) var(--sp-4)}.data-table td.text-right{text-align:right}.data-table td.mono{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-weight:500}.data-table td.positive{color:var(--teal-600)}.data-table td.negative{color:var(--orange-600)}.data-table tbody tr{border-bottom:1px solid var(--border-subtle)}.data-table tbody tr:hover td{background:var(--surface-hover)}.data-table[data-rows-clickable] tbody tr{cursor:pointer}.data-table__actions-th{width:48px}.data-table__actions{width:48px;text-align:right;padding-right:var(--sp-3)}.data-table__actions .btn-sm{padding-inline:var(--sp-2)}.data-table__actions-th--multi{width:auto}.data-table__actions--multi{width:auto;white-space:nowrap}.data-table__actions--multi>*+*{margin-left:var(--sp-1)}.data-table__actions--multi .icon-action[disabled],.data-table__actions--multi .icon-action.is-disabled{opacity:.4;pointer-events:none}.data-matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-meta)}.data-matrix thead th{background:var(--blue-500);color:#fff;padding:var(--sp-3) var(--sp-3);font-size:var(--text-micro);font-weight:600;text-transform:uppercase;letter-spacing:.4px;text-align:center;position:sticky;top:0;z-index:2}.data-matrix thead th.data-matrix__col--user{text-align:left;padding-left:var(--sp-5);min-width:240px}.data-matrix thead th.data-matrix__col--total{text-align:right;padding-right:var(--sp-5)}.data-matrix tbody td{padding:var(--sp-3) var(--sp-3);text-align:center;border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);transition:background var(--dur-fast) var(--ease-out)}.data-matrix tbody tr:hover td{background:var(--surface-hover)}.data-matrix tbody td.data-matrix__col--user{text-align:left;padding-left:var(--sp-5)}.data-matrix tbody td.data-matrix__col--total{text-align:right;padding-right:var(--sp-5)}.data-matrix td.data-matrix__col--role{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--text-tertiary);text-align:left}.data-matrix__chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--stone-100);color:var(--stone-400);position:relative;cursor:help;transition:transform var(--dur-fast) var(--ease-out)}[data-theme=dark] .data-matrix__chip{background:var(--stone-800)}.data-matrix__chip.is-owner{background:var(--blue-500);color:#fff}.data-matrix__chip.is-owner:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--blue-500);opacity:.25;animation:owner-pulse 2s ease-in-out infinite}@keyframes owner-pulse{0%,to{transform:scale(1);opacity:.25}50%{transform:scale(1.15);opacity:0}}.data-matrix__chip.is-reviewer{background:var(--blue-100);color:var(--blue-600)}[data-theme=dark] .data-matrix__chip.is-reviewer{background:color-mix(in srgb,var(--blue-500) 25%,transparent);color:var(--blue-300)}.data-matrix__chip.is-read{background:transparent;color:var(--stone-400);border:1px solid var(--border-subtle)}.data-table--editable tbody tr{transition:background var(--dur-fast) var(--ease-out)}.data-table--editable tbody tr.row-editing{background:var(--surface-hover)}.data-table--editable .cell-editable .cell-input{top:-6px;right:-4px;bottom:-6px;left:-4px;width:auto;height:auto;padding:var(--sp-1) var(--sp-2);text-align:inherit}.data-table--editable td.text-right .cell-editable .cell-input{text-align:right}.project-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-raised);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.project-card:has(.project-card__body){flex-direction:row;align-items:center}.project-card:hover{transform:translate(2px);box-shadow:var(--shadow-md)}.project-card.selected{background:var(--blue-50);box-shadow:var(--shadow-md);border-left:3px solid var(--blue-500)}[data-theme=dark] .project-card.selected{background:color-mix(in srgb,var(--blue-900) 30%,transparent);border-left-color:var(--blue-400)}.project-card.overdue-card{border-left:3px solid var(--rose-400)}.project-card.ungrouped{border:1px dashed var(--border-default)}.project-card.selected .avatar-stack .card-avatar{border-color:var(--blue-50)}[data-theme=dark] .project-card.selected .avatar-stack .card-avatar{border-color:color-mix(in srgb,var(--blue-900) 30%,var(--dark-raised))}.project-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.project-card__row-1{display:flex;flex-direction:row;align-items:center;gap:var(--sp-2)}.project-card__name{flex:1;min-width:0;font-size:var(--text-desc);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card__row-2{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding-left:calc(var(--icon-sm) + var(--sp-2))}.project-card__client{font-size:var(--text-meta);font-weight:400;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:5px}.project-card__meta{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-meta);color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.project-card__meta i{flex-shrink:0}.project-card__meta .value{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-weight:500;color:var(--text-secondary)}.task-card-wrapper{position:relative;border-radius:var(--radius-md)}.task-card-wrapper.dragging{z-index:50;transition:none}.task-card-wrapper.dragging .task-card{box-shadow:var(--shadow-floating);transform:scale(1.03);transition:transform .2s var(--ease-spring),box-shadow .2s ease-out}.task-card-wrapper.dropping .task-card{animation:dropSettle .5s var(--ease-out) forwards}.task-card-wrapper.dropping .task-card.just-dropped{box-shadow:var(--shadow-md)}.task-card__swipe-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--teal-600);display:flex;align-items:center;padding-left:var(--sp-4);border-radius:var(--radius-md);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.task-card__swipe-bg>*{color:var(--text-inverse)}.task-card__swipe-bg svg{stroke-dasharray:50;stroke-dashoffset:50;transition:stroke-dashoffset .35s ease-out}.task-card__swipe-bg.threshold-met svg{stroke-dashoffset:0}.task-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);background:var(--surface-raised);border-radius:var(--radius-md);cursor:pointer;position:relative;z-index:1;touch-action:pan-y;-webkit-user-select:none;user-select:none;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.task-card:has(.task-card__body){flex-direction:row;align-items:center}.task-card:hover,.task-card.just-dropped{transform:translate(2px);box-shadow:var(--shadow-md)}.drop-lock .task-card:hover:not(.just-dropped){transform:none;box-shadow:none}.drop-lock .task-card:hover:not(.just-dropped) .task-card__drag-handle{width:0;opacity:0}.task-card>.status-badge{flex-shrink:0;font-size:var(--text-micro);padding:2px 8px}.task-card__drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--text-tertiary);flex-shrink:0;margin:-4px;width:0;overflow:hidden;opacity:0;transition:width var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.task-card:hover .task-card__drag-handle{width:18px;opacity:1}.task-card__drag-handle:active{cursor:grabbing}.task-card.completed{opacity:.7;transition:opacity .6s ease-out .8s}.task-card.completed .task-card__name{color:var(--text-tertiary);transition:color .1s ease-out}.task-card__body{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-3)}.task-card__name{position:relative;font-size:var(--text-body);font-weight:600;color:var(--text-primary);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.task-card__name .strike-sweep{position:absolute;left:0;top:50%;height:1.5px;width:0;background:var(--text-tertiary);pointer-events:none}.task-card__name .strike-sweep.animate{animation:strikeSweep .5s cubic-bezier(.25,.1,.25,1) forwards}.task-card__meta{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-meta);color:var(--text-tertiary);flex-shrink:0}.task-card.snapping-back{animation:snapBack .75s cubic-bezier(.22,1,.36,1) forwards}.task-card__complete-icon{flex-shrink:0;width:24px;height:24px;color:var(--teal-400);transform-origin:center;overflow:visible;position:relative}.task-card__complete-icon .check-circle{transform-origin:12px 12px;opacity:0;transform:scale(0)}.task-card__complete-icon.animate .check-circle{animation:circleGrow .35s var(--ease-spring) forwards}.task-card__complete-icon .check-tick{opacity:0;transform-origin:12px 12px}.task-card__complete-icon.animate .check-tick{animation:checkTickAppear .2s var(--ease-spring) .35s forwards}.task-card__complete-icon.static .check-circle,.task-card__complete-icon.static .check-tick{opacity:1;transform:scale(1);animation:none}.particle-container{position:absolute;left:0;top:0;width:24px;height:24px;pointer-events:none;z-index:10}.particle{position:absolute;width:5px;height:5px;border-radius:var(--radius-full);left:50%;top:50%;opacity:0}.particle.burst{animation:particleBurst var(--dur, .6s) cubic-bezier(.16,1,.3,1) forwards}.detail-panel{background:var(--surface-raised);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;transform:translate(40px);opacity:0;pointer-events:none;transition:transform var(--dur-drill) var(--ease-spring),opacity var(--dur-fast) var(--ease-out)}.detail-panel.is-open{transform:translate(0);opacity:1;pointer-events:auto}.detail-panel__header{padding:var(--sp-4);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--sp-3)}.detail-panel__header-left,.detail-panel__header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.detail-panel__title-row{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.detail-panel__title-row .detail-panel__title{flex:1;min-width:0}.detail-panel__title-row .status-badge{flex-shrink:0}.detail-panel__title{font-family:DM Sans,sans-serif;font-size:var(--text-section);font-weight:600;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-panel__meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--text-meta);color:var(--text-secondary)}.detail-panel__meta-campaign{color:var(--text-secondary)}.detail-panel__meta-version{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);color:var(--text-tertiary);padding:2px var(--sp-2);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border-subtle)}.detail-panel__meta-sep{color:var(--text-tertiary)}.detail-panel__subtitle{font-size:var(--text-micro);color:var(--text-secondary);display:flex;align-items:center;gap:var(--sp-2)}.detail-panel__actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.detail-panel__actions .btn{flex-direction:column;gap:var(--sp-1);font-size:var(--text-micro);font-weight:500;padding:var(--sp-2)}.detail-panel__actions .btn :is(i,svg){width:var(--icon-xl);height:var(--icon-xl)}.detail-panel__actions--inline .btn{flex-direction:row;gap:var(--sp-1);font-size:var(--text-desc);font-weight:500;padding:var(--sp-1) var(--sp-3)}.detail-panel__actions--inline .btn :is(i,svg){width:var(--icon-md);height:var(--icon-md)}.detail-panel__actions--inline .status-badge+.btn{margin-left:var(--sp-3)}.detail-panel__content{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.detail-panel__body{flex:1;overflow-y:auto;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.detail-panel__footer{flex-shrink:0;border-top:1px solid var(--border-subtle);padding:var(--sp-3) var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);background:var(--surface-raised)}.detail-panel__footer-message{flex:1;min-width:0;font-size:var(--text-desc);color:var(--text-secondary)}.detail-panel__footer-message strong{color:var(--text-primary);font-weight:600}.detail-panel__footer-actions{display:flex;gap:var(--sp-2);flex-shrink:0}.detail-panel-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--text-desc);flex-direction:column;gap:var(--sp-2)}.detail-panel--collapsible{overflow-y:auto;overflow-anchor:none}.detail-panel--collapsible .detail-panel__header-row{display:flex;align-items:flex-start;gap:var(--sp-3);position:sticky;top:0;z-index:10;background:var(--surface-raised);padding:var(--sp-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.detail-panel--collapsible .detail-panel__collapse--subtitle>*{padding:var(--sp-4);transition:padding .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}.detail-panel--collapsible.is-revealed .detail-panel__collapse--subtitle>*{padding:0}.detail-panel--collapsible .detail-panel__body{overflow-y:visible}.detail-panel--collapsible .detail-panel__collapse{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .35s cubic-bezier(.4,0,.2,1);flex-shrink:0}.detail-panel--collapsible .detail-panel__collapse>*{min-height:0;transition:opacity .25s ease}.detail-panel--collapsible .detail-panel__collapse--subtitle{grid-template-rows:1fr}.detail-panel--collapsible.is-revealed .detail-panel__collapse--subtitle{grid-template-rows:0fr}.detail-panel--collapsible .detail-panel__collapse--subtitle>*{opacity:1}.detail-panel--collapsible.is-revealed .detail-panel__collapse--subtitle>*{opacity:0}.detail-panel--collapsible.is-revealed .detail-panel__collapse--body{grid-template-rows:1fr}.detail-panel--collapsible .detail-panel__collapse--body>*{opacity:0}.detail-panel--collapsible.is-revealed .detail-panel__collapse--body>*{opacity:1}.detail-panel__toggle-bar{position:sticky;bottom:0;z-index:1;margin-top:auto;display:flex;justify-content:center;align-items:center;width:100%;padding:2px var(--sp-4);background:var(--sky-400);color:var(--text-inverse);border:none;cursor:pointer;font:inherit;flex-shrink:0;transition:background var(--dur-fast) var(--ease-out)}.detail-panel__toggle-bar:hover{background:var(--sky-500)}.detail-panel__toggle-bar:focus-visible{outline:2px solid var(--blue-500);outline-offset:-2px}.detail-panel__toggle-icon{display:inline-flex;width:var(--icon-xs);height:var(--icon-xs);transform:rotate(180deg);transition:transform .3s cubic-bezier(.4,0,.2,1)}.detail-panel__toggle-icon svg{width:100%;height:100%}.detail-panel--collapsible.is-revealed .detail-panel__toggle-icon{transform:rotate(0)}.detail-panel__tabs{display:flex;gap:var(--sp-1);margin-top:var(--sp-2)}.detail-panel__tabs .tab-item:after{content:"";position:absolute;bottom:calc(-1 * var(--sp-1));left:var(--sp-4);right:var(--sp-4);height:2.5px;background:var(--blue-500);border-radius:var(--radius-full) var(--radius-full) 0 0;opacity:0;transition:opacity .25s ease}.detail-panel__tabs .tab-item.active:after{opacity:1}[data-theme=dark] .detail-panel__tabs .tab-item:after{background:var(--blue-400)}.detail-panel--collapsible:has(.detail-panel__tabs) .detail-panel__toggle-bar{display:none}.detail-panel--collapsible:has(.detail-panel__tabs) .detail-panel__header-row{padding-bottom:var(--sp-1)}.detail-panel__views{position:relative;flex:1;min-height:0;overflow:hidden}.detail-panel__views .detail-panel__collapse{position:absolute;top:0;right:0;bottom:0;left:0;display:block;grid-template-rows:none;overflow-y:auto;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .25s ease;will-change:transform,opacity}.detail-panel__views .detail-panel__collapse--subtitle{transform:translate(0);opacity:1}.detail-panel__views .detail-panel__collapse--body{transform:translate(100%);opacity:0;pointer-events:none}.detail-panel--collapsible.is-revealed .detail-panel__views .detail-panel__collapse--subtitle{transform:translate(-100%);opacity:0;pointer-events:none}.detail-panel--collapsible.is-revealed .detail-panel__views .detail-panel__collapse--body{transform:translate(0);opacity:1;pointer-events:auto}.detail-panel--collapsible.is-revealed .detail-panel__views .detail-panel__collapse--subtitle>*{padding:var(--sp-4);opacity:1}.detail-panel__views .detail-panel__collapse--body>*{opacity:1}.master-detail{display:grid;grid-template-columns:425px 1fr;gap:var(--sp-4);flex:1;min-height:0;overflow:hidden}.state-card{background:var(--surface-raised);border-radius:var(--card-radius);padding:var(--sp-10) var(--sp-8);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-3)}.state-card__display{font-family:DM Sans,sans-serif;font-size:var(--text-hero);font-weight:700;line-height:1;color:var(--text-tertiary);letter-spacing:-.02em}.state-card__icon-ring{width:64px;height:64px;border-radius:var(--radius-full);background:var(--surface-base);color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center}.state-card__icon-ring i{width:var(--icon-xl);height:var(--icon-xl)}.page-title{font-family:DM Sans,sans-serif;font-size:var(--text-lg);font-weight:700}.page-subtitle{font-size:var(--text-desc);color:var(--text-secondary);margin-top:2px}.app-shell{display:flex;height:100vh}.main-content{flex:1;display:flex;flex-direction:column;min-width:0}.page-canvas{flex:1;overflow-y:auto;padding:var(--page-padding-top) var(--page-padding-x) var(--page-padding-bottom);display:flex;flex-direction:column;min-height:0}[data-page-content]{flex:1;min-height:0}[data-page-content=projects]{display:flex;flex-direction:column;overflow:hidden}[data-page-content=spend],[data-page-content=raise],[data-page-content=positions]{display:flex;flex-direction:column}[data-tab-content]{flex:1;min-height:0;display:flex;flex-direction:column}.zone{margin-bottom:var(--zone-gap)}.zone:last-child{margin-bottom:0}.zone.elevated{position:relative;z-index:2}.page-header-zone{display:flex;align-items:center;justify-content:space-between;height:40px}.page-header-zone h4{font-size:var(--text-section);font-weight:600}.page-header-zone__count{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);color:var(--text-tertiary);margin-left:var(--sp-2)}.page-header-zone__actions{display:flex;align-items:center;gap:var(--sp-2)}[data-page-content=spend],[data-page-content=positions],.detail-panel__body,.master-detail>div:first-child{scrollbar-width:none;-ms-overflow-style:none}[data-page-content=spend]::-webkit-scrollbar,[data-page-content=positions]::-webkit-scrollbar,.detail-panel__body::-webkit-scrollbar,.master-detail>div:first-child::-webkit-scrollbar{display:none}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-right{text-align:right}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mono{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.text-size-micro{font-size:var(--text-micro)}.text-size-meta{font-size:var(--text-meta)}.text-size-desc{font-size:var(--text-desc)}.text-size-body{font-size:var(--text-body)}.text-size-section{font-size:var(--text-section)}.text-size-lg{font-size:var(--text-lg)}.text-size-xl{font-size:var(--text-xl)}.text-size-title{font-size:var(--text-title)}.text-size-hero{font-size:var(--text-hero)}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-base{width:var(--icon-base);height:var(--icon-base)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.seat-icon-filled{color:var(--teal-500)}.seat-icon-filled rect{fill:currentColor;stroke:currentColor}.seat-icon-filled :is(circle,path){fill:none;stroke:var(--surface-raised)}.seat-icon-empty{color:var(--border-strong)}.seat-icon-empty rect{fill:var(--surface-raised);stroke:currentColor}.sidebar-item :is(i,svg){width:var(--icon-lg);height:var(--icon-lg)}.header-btn :is(i,svg){width:var(--icon-lg);height:var(--icon-lg)}.collapse-btn :is(i,svg){width:var(--icon-lg);height:var(--icon-lg)}.btn :is(i,svg){width:var(--icon-md);height:var(--icon-md)}.filter-btn :is(i,svg){width:var(--icon-md);height:var(--icon-md)}.view-toggle-btn :is(i,svg){width:var(--icon-md);height:var(--icon-md)}.search-input :is(i,svg){width:var(--icon-base);height:var(--icon-base);color:var(--text-tertiary);flex-shrink:0}.client-group-chevron{width:var(--icon-base);height:var(--icon-base)}.chart-axis-label{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);fill:var(--text-tertiary)}[data-theme=dark] .chart-axis-label{fill:var(--stone-500)}.chart-grid-line{stroke:var(--border-subtle);stroke-width:.5;stroke-dasharray:4 4}.chart-grid-line.zero-line{stroke:var(--border-default);stroke-width:1.5;stroke-dasharray:none}.chart-data-point{fill:var(--surface-base);stroke-width:2;transition:r var(--dur-fast) var(--ease-out)}.chart-hover-dot{transition:opacity var(--dur-fast) var(--ease-out);opacity:0}.chart-point:hover .chart-hover-dot{opacity:.3!important}.chart-line-path{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-area-fill{opacity:1}.chart-bar-segment{transition:opacity var(--dur-fast) var(--ease-out),filter var(--dur-fast) var(--ease-out)}.chart-tooltip{position:fixed;pointer-events:none;z-index:200;display:none;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-lifted);font-size:var(--text-micro);font-family:Nunito Sans,sans-serif;color:var(--text-primary);min-width:190px}.chart-bar-total-label{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);pointer-events:none}.treemap-cat-cell{cursor:pointer;transition:filter .12s ease,transform .15s var(--ease-spring-gentle)}.treemap-cat-cell:hover{filter:brightness(1.1)!important;transform:scale(1.012)!important;z-index:3!important}.treemap-cell{transition:filter .12s ease,opacity .18s ease,transform .15s var(--ease-spring-gentle)}.treemap-cell:hover{filter:brightness(1.12)!important;transform:scale(1.015)!important;z-index:3!important}.treemap-cell-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2}.treemap-burst-active{pointer-events:none!important}.treemap-no-hover .treemap-cell:hover,.treemap-no-hover .treemap-cat-cell:hover{filter:none!important;transform:none!important;z-index:auto!important}.treemap-legend-dot{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-meta);color:var(--text-secondary);cursor:pointer;padding:3px 7px;border-radius:var(--radius-sm);transition:background .1s ease,opacity .15s ease}.treemap-legend-dot:hover{background:var(--surface-hover)}.treemap-back-btn{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-micro);font-family:inherit;color:var(--text-secondary);cursor:pointer;padding:3px 8px;border-radius:var(--radius-sm);border:none;background:none;transition:background .1s ease,color .1s ease;-webkit-user-select:none;user-select:none}.treemap-back-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.waterfall-bar{transition:filter var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);cursor:pointer}.waterfall-bar:hover{filter:brightness(1.15)}.waterfall-connector{stroke:var(--border-default);stroke-width:1;stroke-dasharray:3 3}[data-theme=dark] .waterfall-connector{stroke:var(--stone-600)}.chart-point .hover-dot{transition:opacity var(--dur-fast) var(--ease-out)}.chart-point:hover .hover-dot{opacity:.3!important}@keyframes skeletonShimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes unassignedPulse{0%,to{opacity:.55}50%{opacity:.85}}@keyframes zoneEnter{0%{opacity:0;transform:translateY(var(--zone-enter-y, 16px))}to{opacity:1;transform:translateY(0)}}.zone{animation:zoneEnter .42s var(--ease-spring) both}.zone:nth-child(1){animation-delay:0ms}.zone:nth-child(2){animation-delay:60ms}.zone:nth-child(3){animation-delay:.12s}.zone:nth-child(4){animation-delay:.18s}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes dropSettle{0%{transform:scale(1.02)}35%{transform:scale(.99)}65%{transform:scale(1.005)}to{transform:scale(1)}}@keyframes strikeSweep{0%{width:0}to{width:100%}}@keyframes circleGrow{0%{transform:scale(0);opacity:0}40%{opacity:1}80%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes checkTickAppear{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes particleBurst{0%{transform:translate(-50%,-50%) scale(0);opacity:0}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--px)),calc(-50% + var(--py))) scale(.3)}}@keyframes snapBack{0%{transform:translate(var(--swipe-x, 80px))}30%{transform:translate(-6px)}50%{transform:translate(4px)}70%{transform:translate(-2px)}to{transform:translate(0)}}@keyframes treemapEnter{0%{opacity:0;transform:scale(.91)}to{opacity:1;transform:scale(1)}}@keyframes treemapBurst{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.btn:focus-visible,.sidebar-item:focus-visible,.form-input:focus-visible,.card--hoverable:focus-visible,.project-card:focus-visible,.list-item:focus-visible,.checkbox-row:focus-visible,.radio-row:focus-visible,.cell-editable .cell-input:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px;box-shadow:var(--shadow-focus)}.form-input:focus-visible{border-color:var(--blue-400);box-shadow:var(--shadow-focus)}.scroll-hidden{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.scroll-hidden::-webkit-scrollbar{display:none}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-3)}.card__footer{padding-top:var(--sp-3);border-top:1px solid var(--border-subtle)}.card--elevated{box-shadow:var(--shadow-lifted)}.card--rollup{display:flex;align-items:center;gap:var(--sp-4)}.card--rollup .card__avatar{flex-shrink:0}.card--rollup .card__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1);overflow:hidden}.card--rollup .card__title{font-size:var(--text-body);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card--rollup .card__meta{font-size:var(--text-meta);color:var(--text-tertiary)}.card--rollup .card__end{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1);text-align:right}.card--rollup .card__value{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.card--rollup .card__sub{font-size:var(--text-meta);color:var(--text-tertiary);font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking)}.card--rollup .card__meta,.card--rollup .card__sub{max-height:2em;opacity:1;overflow:hidden;transition:max-height var(--dur-normal) var(--ease-out),opacity var(--dur-normal) var(--ease-out)}.card--rollup{transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),padding var(--dur-normal) var(--ease-out),gap var(--dur-normal) var(--ease-out)}.card--rollup .progress-ring{transition:width var(--dur-normal) var(--ease-out),height var(--dur-normal) var(--ease-out)}.card--rollup .card__value{transition:font-size var(--dur-normal) var(--ease-out)}.card-grid.is-condensed .card--rollup{padding:var(--sp-2) var(--sp-3);gap:var(--sp-3)}.card-grid.is-condensed .card--rollup .progress-ring.lg{width:28px;height:28px}.card-grid.is-condensed .card--rollup .progress-ring.lg .progress-ring-track,.card-grid.is-condensed .card--rollup .progress-ring.lg .progress-ring-segment{stroke-width:2.5}.card-grid.is-condensed .card--rollup .progress-ring.lg .progress-ring-label{font-size:11px}.card-grid.is-condensed .card--rollup .card__meta,.card-grid.is-condensed .card--rollup .card__sub{max-height:0;opacity:0}.card-grid.is-condensed .card--rollup .card__value{font-size:var(--text-body)}.card--rollup--condensed{height:48px!important;min-height:48px!important;max-height:48px!important;padding:var(--sp-2) var(--sp-3)}.card--rollup--condensed .card__avatar{transform:scale(.7);margin-right:0}.card--rollup--condensed .card__value{font-size:var(--text-body)}.card--rollup--condensed .card__sub,.card--rollup--condensed .card__meta,.card--rollup--condensed .card__detail,.card--rollup--condensed .progress-bar,.card--rollup--condensed .progress-bar-wrapper{display:none}.card--rollup--condensed .card__title{font-size:var(--text-meta);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card--rollup--condensed .card__subtitle-row{display:none}.rollup-row{display:block;padding:var(--sp-3) var(--sp-4);flex-shrink:0}.rollup-row--compact{padding:var(--sp-2) var(--sp-4)}.rollup-row__header{display:flex;align-items:center;gap:var(--sp-3)}.rollup-row__title{flex:1;min-width:0;font-size:var(--text-body);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--sp-2)}.rollup-row__value-group{text-align:right;flex-shrink:0;min-width:120px}.rollup-row__value{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.rollup-row__sub{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-tertiary)}.rollup-row__action{flex-shrink:0}.rollup-row__body{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-2)}.rollup-row__progress{width:100%}.card--stat{display:flex;flex-direction:column;gap:var(--sp-2)}.card--stat .card__label{font-size:var(--text-meta);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.card--stat .card__value{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-title);font-weight:600;color:var(--text-primary)}.card--stat .card__delta{font-size:var(--text-meta);font-weight:500}.card--stat .card__delta--positive{color:var(--green-600)}.card--stat .card__delta--negative{color:var(--rose-600)}.card--stat .card__visual{margin-top:var(--sp-2)}.card--action{display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.card--action:hover{background:var(--surface-hover)}.card--action .card__icon{flex-shrink:0;color:var(--blue-500)}.card--action .card__main{flex:1;min-width:0}.card--action .card__title{font-size:var(--text-body);font-weight:600;color:var(--text-primary)}.card--action .card__description{font-size:var(--text-meta);color:var(--text-secondary)}.card--action .card__cta{flex-shrink:0;color:var(--text-tertiary)}.card--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);color:var(--text-tertiary)}.card--empty .card__icon{color:var(--text-tertiary)}.card--empty .card__icon i{width:var(--icon-xl);height:var(--icon-xl)}.card--empty .card__title{font-size:var(--text-body);font-weight:500;color:var(--text-secondary)}.card--empty .card__description{font-size:var(--text-meta);color:var(--text-tertiary)}.card--empty .card__cta{margin-top:var(--sp-3)}.card--empty--page{display:none;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-6);padding:0}[data-page-content].is-empty>.card--empty--page{display:flex}[data-page-content].is-empty>:not(.card--empty--page):not(.queue-loading){display:none}body.demo-empty [data-admin-panel=audit] .audit-log{display:none}body.demo-empty [data-admin-panel=audit] .card--empty--page{display:flex}.card--empty--rail{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-6) var(--sp-4);color:var(--text-tertiary);font-size:var(--text-meta);text-align:center;gap:var(--sp-2)}.card--empty__icon{width:var(--icon-xl);height:var(--icon-xl);color:var(--text-tertiary);opacity:.5}.card--media{padding:0;overflow:hidden}.card--media .card__media{aspect-ratio:16 / 9;background:var(--surface-sunken);overflow:hidden}.card--media .card__media img{width:100%;height:100%;object-fit:cover;display:block}.card--media .card__body{padding:var(--card-padding)}.card--bill[data-status=overdue] .card__meta{color:var(--rose-700)}[data-theme=dark] .card--bill[data-status=overdue] .card__meta{color:var(--rose-300)}.card--bill[data-status=unpaid] .card__meta{color:var(--text-secondary)}.card--bill[data-status=paid] .card__meta{color:var(--text-tertiary)}.card--bill[data-status=paid] .card__value{color:var(--text-tertiary);font-weight:500}.status-badge--overdue{background:color-mix(in srgb,var(--rose-500) 15%,transparent);color:var(--rose-700)}.status-badge--due-soon{background:color-mix(in srgb,var(--amber-500) 15%,transparent);color:var(--amber-700)}.status-badge--on-track{background:color-mix(in srgb,var(--teal-500) 15%,transparent);color:var(--teal-700)}[data-theme=dark] .status-badge--overdue{background:color-mix(in srgb,var(--rose-500) 40%,transparent);color:var(--rose-300)}[data-theme=dark] .status-badge--due-soon{background:color-mix(in srgb,var(--amber-500) 40%,transparent);color:var(--amber-300)}[data-theme=dark] .status-badge--on-track{background:color-mix(in srgb,var(--teal-500) 40%,transparent);color:var(--teal-300)}.data-table-wrap{position:relative;overflow:auto;flex:1;min-height:0;max-height:var(--data-table-max-h, 560px);overscroll-behavior-x:contain;overscroll-behavior-y:none;border-radius:var(--card-radius);--sticky-header-h: 42px;background:linear-gradient(to bottom,var(--blue-500) var(--sticky-header-h),var(--surface-raised) var(--sticky-header-h))}.data-table--stick-left-col tbody td:first-child{position:sticky;left:0;z-index:1;background:var(--surface-raised);box-shadow:inset -1px 0 0 var(--border-strong)}.data-table--stick-left-col thead th:first-child{position:sticky;left:0;z-index:3;background:var(--blue-500)}.data-table--stick-left-col tbody tr:hover td:first-child{background:var(--surface-hover)}.data-table--stick-2-cols tbody td:nth-child(1),.data-table--stick-2-cols tbody td:nth-child(2){position:sticky;z-index:1;background:var(--surface-raised)}.data-table--stick-2-cols thead th:nth-child(1),.data-table--stick-2-cols thead th:nth-child(2){position:sticky;z-index:3;background:var(--blue-500)}.data-table--stick-2-cols tbody td:nth-child(1),.data-table--stick-2-cols thead th:nth-child(1){left:0}.data-table--stick-2-cols tbody td:nth-child(2),.data-table--stick-2-cols thead th:nth-child(2){left:var(--stick-col-1-width, 160px)}.data-table--stick-2-cols tbody td:nth-child(2){box-shadow:inset -1px 0 0 var(--border-strong)}.data-table--stick-2-cols tbody tr:hover td:nth-child(1),.data-table--stick-2-cols tbody tr:hover td:nth-child(2){background:var(--surface-hover)}.data-table--stick-3-cols tbody td:nth-child(1),.data-table--stick-3-cols tbody td:nth-child(2),.data-table--stick-3-cols tbody td:nth-child(3){position:sticky;z-index:1;background:var(--surface-raised)}.data-table--stick-3-cols thead th:nth-child(1),.data-table--stick-3-cols thead th:nth-child(2),.data-table--stick-3-cols thead th:nth-child(3){position:sticky;z-index:3;background:var(--blue-500)}.data-table--stick-3-cols tbody td:nth-child(1),.data-table--stick-3-cols thead th:nth-child(1){left:0}.data-table--stick-3-cols tbody td:nth-child(2),.data-table--stick-3-cols thead th:nth-child(2){left:var(--stick-col-1-width, 48px)}.data-table--stick-3-cols tbody td:nth-child(3),.data-table--stick-3-cols thead th:nth-child(3){left:calc(var(--stick-col-1-width, 48px) + var(--stick-col-2-width, 140px))}.data-table--stick-3-cols tbody td:nth-child(3){box-shadow:inset -1px 0 0 var(--border-strong)}.data-table--stick-3-cols tbody tr:hover td:nth-child(1),.data-table--stick-3-cols tbody tr:hover td:nth-child(2),.data-table--stick-3-cols tbody tr:hover td:nth-child(3){background:var(--surface-hover)}.callout{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);border-left:3px solid var(--blue-500);background:color-mix(in srgb,var(--blue-500) 8%,transparent);font-size:var(--text-desc);color:var(--text-secondary)}.callout__icon{flex-shrink:0;color:var(--blue-500)}.callout__title{font-weight:600;color:var(--text-primary);margin-bottom:var(--sp-1)}.callout--info{border-left-color:var(--blue-500);background:color-mix(in srgb,var(--blue-500) 8%,transparent)}.callout--info .callout__icon{color:var(--blue-500)}.callout--warning{border-left-color:var(--amber-500);background:color-mix(in srgb,var(--amber-500) 10%,transparent)}.callout--warning .callout__icon{color:var(--amber-600)}.callout--success{border-left-color:var(--teal-500);background:color-mix(in srgb,var(--teal-500) 10%,transparent)}.callout--success .callout__icon{color:var(--teal-600)}.callout--danger{border-left-color:var(--rose-500);background:color-mix(in srgb,var(--rose-500) 10%,transparent)}.callout--danger .callout__icon{color:var(--rose-600)}.activity-feed{display:flex;flex-direction:column;gap:var(--sp-3)}.activity-feed__item{display:flex;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle)}.activity-feed__item:last-child{border-bottom:none}.activity-feed__avatar{flex-shrink:0}.activity-feed__body{flex:1;min-width:0}.activity-feed__header{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-1)}.activity-feed__actor{font-size:var(--text-meta);font-weight:600;color:var(--text-primary)}.activity-feed__time{font-size:var(--text-meta);color:var(--text-tertiary)}.activity-feed__verb{font-size:var(--text-desc);color:var(--text-secondary)}.activity-feed__verb strong{color:var(--text-primary);font-weight:600}.action-bar{position:fixed;bottom:var(--sp-6);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:var(--stone-900);color:var(--text-inverse);border-radius:var(--radius-full);box-shadow:var(--shadow-floating);z-index:200;animation:action-bar-in var(--dur-normal) var(--ease-spring)}.action-bar__count{font-size:var(--text-meta);font-weight:600;padding-right:var(--sp-2);border-right:1px solid color-mix(in srgb,var(--text-inverse) 20%,transparent)}.action-bar__actions{display:flex;gap:var(--sp-1)}.action-bar__btn{background:transparent;border:none;color:var(--text-inverse);font-size:var(--text-meta);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.action-bar__btn:hover{background:color-mix(in srgb,var(--text-inverse) 15%,transparent)}@keyframes action-bar-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cmd-palette{position:fixed;top:20vh;left:50%;transform:translate(-50%);width:min(640px,90vw);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-floating);z-index:300;overflow:hidden;animation:cmd-palette-in var(--dur-fast) var(--ease-out)}.cmd-palette__input{width:100%;padding:var(--sp-4);font-size:var(--text-body);background:transparent;border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);outline:none}.cmd-palette__list{max-height:50vh;overflow-y:auto;padding:var(--sp-1) 0}.cmd-palette__item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);cursor:pointer;font-size:var(--text-desc);color:var(--text-primary)}.cmd-palette__item:hover,.cmd-palette__item--active{background:var(--surface-hover)}.cmd-palette__item-hint{margin-left:auto;font-size:var(--text-meta);color:var(--text-tertiary);font-family:Roboto Mono,monospace}@keyframes cmd-palette-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-overlay);border:1px solid var(--border-default);border-left-width:3px;border-radius:var(--radius-md);box-shadow:var(--shadow-lifted);font-size:var(--text-desc);color:var(--text-primary);min-width:280px;max-width:420px;animation:toast-in var(--dur-normal) var(--ease-out)}.toast__icon{flex-shrink:0}.toast__body{flex:1}.toast__title{font-weight:600;margin-bottom:var(--sp-1)}.toast__message{font-size:var(--text-meta);color:var(--text-secondary)}.toast__close{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;flex-shrink:0}.toast--success{border-left-color:var(--teal-500)}.toast--success .toast__icon{color:var(--teal-600)}.toast--error{border-left-color:var(--rose-500)}.toast--error .toast__icon{color:var(--rose-600)}.toast--info{border-left-color:var(--blue-500)}.toast--info .toast__icon{color:var(--blue-500)}.toast--warning{border-left-color:var(--amber-500)}.toast--warning .toast__icon{color:var(--amber-600)}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.toast-stack{position:fixed;top:var(--sp-4);right:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);z-index:250}@property --tilt-angle{syntax: "<angle>"; inherits: true; initial-value: 0deg;}.balance-scale{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);color:var(--text-primary);--balance-scale-ink: color-mix(in srgb, currentColor 32%, var(--surface-base));--balance-scale-soft: color-mix(in srgb, currentColor 16%, var(--surface-base));transition:--tilt-angle var(--dur-slow) var(--ease-out)}.balance-scale[data-demo-cycle]{cursor:pointer}.balance-scale__svg{display:block;width:100%;max-width:520px;height:auto}.balance-scale__frame{fill:var(--balance-scale-ink)}.balance-scale__pivot{fill:var(--balance-scale-ink);stroke:var(--balance-scale-ink);stroke-width:4;stroke-linejoin:round}.balance-scale__arm{transform-box:view-box;transform-origin:220px 81px;transform:rotate(var(--tilt-angle, 0deg))}.balance-scale__pan-side--left{transform:translate(calc((150*(1 - cos(var(--tilt-angle, 0deg))) - (3*sin(var(--tilt-angle, 0deg))))*1px),calc((-3*(1 - cos(var(--tilt-angle, 0deg))) - (150*sin(var(--tilt-angle, 0deg))))*1px))}.balance-scale__pan-side--right{transform:translate(calc((-150*(1 - cos(var(--tilt-angle, 0deg))) - (3*sin(var(--tilt-angle, 0deg))))*1px),calc((-3*(1 - cos(var(--tilt-angle, 0deg))) + 150*sin(var(--tilt-angle, 0deg)))*1px))}.balance-scale--tilt-left{--tilt-angle: -22deg}.balance-scale--tilt-right{--tilt-angle: 22deg}.balance-scale__beam{fill:var(--balance-scale-ink)}.balance-scale__chain{fill:none;stroke:var(--balance-scale-soft);stroke-width:1.5;stroke-linecap:round}.balance-scale__pan{fill:var(--balance-scale-soft)}.balance-scale__pan-rim{fill:none;stroke:var(--balance-scale-ink);stroke-width:1.5;stroke-linecap:round}.balance-scale__pan-label{fill:var(--text-tertiary);font-family:inherit;font-size:var(--text-meta);font-weight:500}.balance-scale-chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-2);border-radius:var(--radius-full);border:1px solid var(--balance-scale-ink);background:var(--surface-raised);font-size:var(--text-micro);font-weight:500;color:var(--text-primary);white-space:nowrap;line-height:1.3;max-width:100%;overflow:hidden}.balance-scale-chip__label{overflow:hidden;text-overflow:ellipsis;min-width:0}.balance-scale-chip__amount{font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0}.balance-scale-chip__lock{width:10px;height:10px;flex-shrink:0;color:var(--text-tertiary)}.balance-scale-chip--committed{background:var(--balance-scale-soft)}.balance-scale-chip--committed .balance-scale-chip__amount{color:var(--text-primary)}.balance-scale-chip--suggested{border-style:dashed;background:transparent;color:var(--text-tertiary)}.balance-scale-chip--suggested .balance-scale-chip__amount{color:var(--text-tertiary)}.balance-scale__chip-stack{display:flex;flex-direction:column-reverse;align-items:stretch;justify-content:flex-start;gap:2px;width:100%;height:100%;box-sizing:border-box;padding:0;margin:0}.balance-scale-block{display:flex;align-items:center;justify-content:center;width:100%;border-radius:var(--radius-sm);font-size:var(--text-meta);font-weight:600;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.01em;overflow:hidden;white-space:nowrap}.balance-scale-block--red{background:var(--rose-600)}.balance-scale-block--green{background:var(--green-600)}.balance-scale-block--gray{background:var(--stone-500)}.balance-scale__delta{font-size:var(--text-meta);color:var(--text-tertiary);text-align:center;letter-spacing:.01em}.balance-scale__delta-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary)}.zone--fill-column{flex:1;min-height:0;display:flex;flex-direction:column}.scroll-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}[data-page-content].is-flex-column{display:flex;flex-direction:column}.zone--row{display:flex;flex-direction:row;gap:var(--sp-2);flex:1;min-height:0}.page-canvas--flush{padding:var(--sp-3) var(--sp-3) var(--sp-3)}.workbench{display:flex;gap:var(--sp-4);min-height:0;flex:1;--workbench-rail-w: 380px}.workbench__rail{width:var(--workbench-rail-w);flex-shrink:0;display:flex;flex-direction:column;min-height:0;gap:var(--sp-2);transition:width var(--dur-normal) var(--ease-spring)}.workbench__pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;transition:flex var(--dur-normal) var(--ease-spring)}.workbench--rail-right{flex-direction:row-reverse}.workbench.is-pane-focus .workbench__rail{width:0;overflow:hidden}.workbench.is-rail-focus .workbench__rail{width:100%;flex:1}.workbench.is-rail-focus .workbench__pane{flex:0 0 0;min-width:0;width:0;overflow:hidden}.zone--toolbar{display:flex;align-items:center;gap:var(--sp-3);padding:0;min-height:40px}.card-grid.card-grid--scroll-column{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;gap:var(--sp-3);padding:var(--sp-1)}.column-board{display:flex;gap:var(--sp-3);flex:1;min-height:0}.column-board__column{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:var(--sp-2)}.column-board--in-rail{flex-direction:column;gap:var(--sp-3)}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-8) var(--sp-4);background:var(--surface-sunken)}.auth-shell__card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--sp-5)}.auth-shell__brand{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);color:var(--text-primary)}.auth-shell__brand-wordmark{font-family:DM Sans,sans-serif;font-weight:700;font-size:var(--text-section);letter-spacing:.01em}.timeline{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:var(--sp-8) var(--sp-4) var(--sp-5);align-items:start;border-top:1px solid var(--border-subtle)}.timeline__stage{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);text-align:left;padding-right:var(--sp-3);min-width:0}.timeline__stage:not(:last-child):after{content:"";position:absolute;top:11px;left:12px;width:100%;height:2px;background:var(--stone-200);z-index:0}[data-theme=dark] .timeline__stage:not(:last-child):after{background:var(--stone-700)}.timeline__stage.is-complete:not(:last-child):after{background:var(--teal-500)}[data-theme=dark] .timeline__stage.is-complete:not(:last-child):after{background:var(--teal-600)}.timeline__node{position:relative;z-index:1;width:24px;height:24px;border-radius:var(--radius-full);border:2px solid var(--stone-200);background:var(--surface-raised);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.timeline__node i,.timeline__node svg{width:14px;height:14px}.timeline__node--approved{background:var(--teal-500);border-color:var(--teal-500)}.timeline__node--denied{background:var(--rose-500);border-color:var(--rose-500)}.timeline__node--in-progress{background:var(--surface-raised);border-color:var(--teal-500);color:var(--teal-500)}.timeline__node--future{background:var(--surface-raised);border-color:var(--stone-200);color:var(--text-tertiary)}[data-theme=dark] .timeline__node--approved{background:var(--teal-600);border-color:var(--teal-600)}[data-theme=dark] .timeline__node--denied{background:var(--rose-600);border-color:var(--rose-600)}[data-theme=dark] .timeline__node--in-progress{border-color:var(--teal-500);color:var(--teal-300)}[data-theme=dark] .timeline__node--future{border-color:var(--stone-700)}.timeline__stage-name{font-size:var(--text-meta);font-weight:600;color:var(--text-primary)}.timeline__actions{display:flex;flex-direction:column;gap:var(--sp-1);align-items:flex-start}.timeline__action{font-size:var(--text-micro);color:var(--text-secondary);line-height:1.3}.timeline__action--denied{color:var(--rose-600)}[data-theme=dark] .timeline__action--denied{color:var(--rose-300)}.filter-bar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;flex-shrink:0;padding:var(--sp-2) 0}.filter-bar__label{font-size:var(--text-meta);color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-right:var(--sp-1)}.filter-bar__spacer{flex:1}.filter-bar .select.is-active>.select-trigger{border-color:var(--blue-400);color:var(--blue-600);background:color-mix(in srgb,var(--blue-500) 6%,var(--surface-raised))}.piece-viewer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;gap:var(--sp-2);background:var(--surface-base);border-radius:var(--radius-lg);overflow:hidden;transform:translate(calc(100% + var(--sp-4)));opacity:0;pointer-events:none;transition:transform var(--dur-slow) var(--ease-in-out),opacity var(--dur-slow) var(--ease-in-out);z-index:5}.piece-viewer.is-open{transform:translate(0);opacity:1;pointer-events:auto;transition:transform var(--dur-slow) var(--ease-in-out),opacity var(--dur-slow) var(--ease-in-out)}.detail-panel__content .piece-viewer,.detail-panel__content .pdf-viewer{border-radius:0}#allPiecesViewPieceBtn :is(i,svg){transition:transform var(--dur-normal) var(--ease-out)}#allPiecesViewPieceBtn.is-viewing :is(i,svg){transform:scaleX(-1)}.icon-flip{display:inline-flex;align-items:center;justify-content:center;width:var(--icon-md);height:var(--icon-md);position:relative;transform-style:preserve-3d;transition:transform var(--dur-normal) var(--ease-out)}.icon-flip__face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;display:inline-flex;align-items:center;justify-content:center}.icon-flip__face--front{transform:rotateY(0)}.icon-flip__face--back,.is-viewing .icon-flip{transform:rotateY(180deg)}.detail-panel.is-rail-expanded .detail-panel__actions .status-badge{display:none}.app-shell.is-piece-expanded .detail-panel,.app-shell.is-piece-expanded .zone{transform:none!important;animation:none!important}.app-shell.is-piece-expanded .piece-viewer{position:fixed;top:var(--header-height);left:0;right:320px;bottom:0;z-index:50;border-radius:0;transition:right var(--dur-normal) var(--ease-out);animation:piece-expand-enter var(--dur-slow) var(--ease-in-out)}.app-shell.is-piece-expanded .comments-rail{animation:piece-expand-enter var(--dur-slow) var(--ease-in-out)}@keyframes piece-expand-enter{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.app-shell.is-piece-expanded:has(.comments-rail.is-collapsed) .piece-viewer{right:44px}.app-shell.is-piece-expanded .comments-rail{position:fixed;top:var(--header-height);right:0;bottom:0;z-index:51;border-radius:0;display:flex!important}.piece-expand__icon--collapse,.app-shell.is-piece-expanded #pieceExpandBtn .piece-expand__icon--expand{display:none}.app-shell.is-piece-expanded #pieceExpandBtn .piece-expand__icon--collapse{display:inline-block}.card__thumb{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.card__thumb i{width:var(--icon-md);height:var(--icon-md)}.card__thumb--sm{width:32px;height:32px}.card__thumb--sm i{width:var(--icon-sm);height:var(--icon-sm)}.card--mail-piece{min-height:88px;position:relative}.card--mail-piece .progress-ring.lg{width:40px;height:40px}.card--mail-piece .progress-ring-track,.card--mail-piece .progress-ring-segment{stroke-width:4}.card__corner-icon{position:absolute;top:var(--sp-2);right:var(--sp-2);display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);pointer-events:none}.card__corner-icon i,.card__corner-icon svg{width:var(--icon-md);height:var(--icon-md)}.card__corner-icon--positive{color:var(--green-500)}.card__corner-icon--negative{color:var(--rose-500)}.card__corner-icon--contrast{color:var(--violet-500)}[data-theme=dark] .card__corner-icon--positive{color:var(--green-400)}[data-theme=dark] .card__corner-icon--negative{color:var(--rose-400)}[data-theme=dark] .card__corner-icon--contrast{color:var(--violet-400)}.card--mail-piece .card__title{font-size:var(--text-desc)}.card--mail-piece .card__subtitle{font-size:var(--text-desc);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card--mail-piece .card__meta{font-size:var(--text-micro)}.card--mail-piece .card__end{flex-direction:column;align-items:flex-end;gap:var(--sp-2)}.card--mail-piece .card__end .avatar-stack{margin-right:0}.card--mail-piece .card__subtitle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-width:0}.card--mail-piece .card__subtitle-row .card__subtitle{flex:1;min-width:0}.card--mail-piece .card__subtitle-row .status-badge{flex-shrink:0}.pdf-viewer{position:relative;display:flex;flex-direction:column;background:var(--surface-sunken);border-radius:var(--radius-lg);overflow:hidden;flex:1;min-width:0;min-height:0}.pdf-viewer__header{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.pdf-viewer__header-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.pdf-viewer__title{font-family:DM Sans,sans-serif;font-size:var(--text-section);font-weight:600;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-viewer__meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;font-size:var(--text-meta);color:var(--text-secondary)}.pdf-viewer__meta-campaign{color:var(--text-secondary)}.pdf-viewer__meta-version{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);color:var(--text-tertiary);padding:2px var(--sp-2);border-radius:var(--radius-sm);background:var(--surface-sunken);border:1px solid var(--border-subtle)}.pdf-viewer__meta-sep{color:var(--text-tertiary)}.pdf-viewer__actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.pdf-viewer__close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.pdf-viewer__close:hover{color:var(--text-primary);border-color:var(--blue-400);transform:scale(1.05)}.pdf-viewer__close:active{transform:scale(.95)}.pdf-viewer__close i,.pdf-viewer__close svg{width:var(--icon-md);height:var(--icon-md)}.pdf-toolbar{position:relative;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.pdf-toolbar__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:none;align-items:center;gap:var(--sp-2);font-size:var(--text-meta);color:var(--text-secondary);pointer-events:none;max-width:50%;white-space:nowrap;overflow:hidden}.app-shell.is-piece-expanded .pdf-toolbar__center{display:flex}.pdf-toolbar__center-title{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.pdf-toolbar__center-sep{color:var(--text-tertiary)}.pdf-toolbar__center-campaign{overflow:hidden;text-overflow:ellipsis}.pdf-toolbar__group{display:flex;align-items:center;gap:var(--sp-1)}.pdf-toolbar__spacer{flex:1}.pdf-toolbar__page{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-secondary);min-width:6ch;text-align:center;padding:2px var(--sp-2);border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.pdf-toolbar__page:hover{background:var(--surface-hover);border-color:var(--border-subtle)}.pdf-toolbar__zoom{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-secondary);min-width:5ch;text-align:center}.pdf-page-popover{position:absolute;display:none;flex-direction:column;gap:2px;padding:var(--sp-2);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:20;max-height:280px;overflow-y:auto;min-width:120px}.pdf-page-popover.is-open{display:flex}.pdf-page-popover__item{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-secondary);background:transparent;border:none;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.pdf-page-popover__item:hover{background:var(--surface-hover);color:var(--text-primary)}.pdf-page-popover__item.is-current{background:color-mix(in srgb,var(--teal-500) 10%,transparent);color:var(--teal-600)}[data-theme=dark] .pdf-page-popover__item.is-current{color:var(--teal-400)}.pdf-toolbar__annotate.is-active{background:color-mix(in srgb,var(--teal-500) 12%,transparent);color:var(--teal-600)}[data-theme=dark] .pdf-toolbar__annotate.is-active{color:var(--teal-400)}.pdf-stage{flex:1;overflow:auto;padding:var(--sp-6);display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);overscroll-behavior:contain;position:relative}.pdf-canvas{position:relative;width:min(720px,100%);aspect-ratio:8.5 / 11;background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--text-meta);font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);-webkit-user-select:none;user-select:none}.pdf-viewer.is-annotating .pdf-canvas{cursor:crosshair}.pdf-canvas__placeholder-label{position:absolute;top:var(--sp-3);left:var(--sp-3);color:var(--text-tertiary)}.pdf-canvas.is-loading{background:linear-gradient(90deg,var(--surface-raised) 0%,var(--surface-hover) 50%,var(--surface-raised) 100%);background-size:200% 100%;animation:pdf-canvas-shimmer 1.4s ease-in-out infinite;color:transparent}@keyframes pdf-canvas-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.comment-pin{position:absolute;width:24px;height:24px;border-radius:var(--radius-full);background:var(--teal-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-micro);font-weight:600;font-family:DM Sans,sans-serif;box-shadow:var(--shadow-sm);cursor:pointer;padding:0;border:none;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);z-index:1}.comment-pin:hover{transform:scale(1.12)}.comment-pin:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.comment-pin.active{background:var(--teal-600);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal-500) 25%,transparent),var(--shadow-sm)}.comment-pin.resolved{background:var(--stone-400);opacity:.7}[data-theme=dark] .comment-pin{background:var(--teal-600)}[data-theme=dark] .comment-pin.active{background:var(--teal-500)}[data-theme=dark] .comment-pin.resolved{background:var(--stone-500)}.comments-rail{position:relative;display:flex;flex-direction:column;background:var(--surface-raised);border-radius:var(--radius-lg);overflow:visible;width:320px;flex-shrink:0;min-height:0;transition:width var(--dur-normal) var(--ease-out)}.comments-rail__header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.comments-rail__header-main{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);transition:opacity var(--dur-fast) var(--ease-out)}.comments-rail__handle{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:24px;height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);z-index:2}.comments-rail__handle:hover{background:var(--surface-hover);border-color:var(--blue-400);color:var(--text-primary)}.comments-rail__handle i,.comments-rail__handle svg{width:var(--icon-sm);height:var(--icon-sm);transition:transform var(--dur-normal) var(--ease-out)}.comments-rail.is-collapsed .comments-rail__handle i,.comments-rail.is-collapsed .comments-rail__handle svg{transform:rotate(180deg)}.comments-rail__toggle{flex-shrink:0;background:transparent;border:none;padding:var(--sp-1);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.comments-rail__toggle:hover{background:var(--surface-hover);color:var(--text-secondary)}.comments-rail__toggle i,.comments-rail__toggle svg{width:var(--icon-sm);height:var(--icon-sm);transition:transform var(--dur-normal) var(--ease-out)}.comments-rail.is-collapsed .comments-rail__toggle i,.comments-rail.is-collapsed .comments-rail__toggle svg{transform:rotate(180deg)}.comments-rail.is-collapsed{width:44px}.comments-rail.is-collapsed .comments-rail__header{flex-direction:column;padding:var(--sp-2) 0;border-bottom:none;gap:var(--sp-3)}.comments-rail.is-collapsed .comments-rail__toggle{order:0}.comments-rail.is-collapsed .comments-rail__collapsed-count{order:1}.comments-rail.is-collapsed .comments-rail__header-main{order:2;flex-direction:column;opacity:0;max-height:0;overflow:hidden;pointer-events:none}.comments-rail.is-collapsed .comments-rail__body,.comments-rail.is-collapsed .comments-rail__composer{display:none}.comments-rail__collapsed-count{display:none;font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-meta);color:var(--text-tertiary);writing-mode:vertical-rl;text-orientation:mixed}.comments-rail.is-collapsed .comments-rail__collapsed-count{display:block}.comments-rail__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--text-tertiary)}.comments-rail__empty i,.comments-rail__empty svg{width:var(--icon-lg);height:var(--icon-lg);color:var(--text-tertiary);opacity:.6}.comments-rail__empty-title{font-size:var(--text-desc);color:var(--text-secondary);font-weight:500}.comments-rail__empty-hint{font-size:var(--text-meta);color:var(--text-tertiary);max-width:220px;line-height:1.4}.comments-rail__title{font-family:DM Sans,sans-serif;font-size:var(--text-desc);font-weight:600;color:var(--text-primary)}.comments-rail__count{font-size:var(--text-meta);color:var(--text-tertiary);font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking)}.comments-rail__body{flex:1;overflow-y:auto;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3);overscroll-behavior-y:contain}.comments-rail__composer{padding:var(--sp-3);border-top:1px solid var(--border-subtle);flex-shrink:0;background:var(--surface-raised)}.comments-rail__composer textarea{width:100%;min-height:60px;resize:vertical;padding:var(--sp-2) var(--sp-3);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:Nunito Sans,sans-serif;font-size:var(--text-desc);color:var(--text-primary);outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.comments-rail__composer textarea:focus{border-color:var(--teal-500)}.comments-rail__composer-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-2)}.comments-rail__toolbar{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;background:var(--surface-raised)}.comments-rail.is-collapsed .comments-rail__toolbar{display:none}.comments-rail__filter-tabs{display:flex;gap:2px;padding:2px;background:var(--surface-sunken);border-radius:var(--radius-md);flex:1;min-width:0}.comments-rail__filter-tab{flex:1;background:transparent;border:none;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);font-size:var(--text-meta);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);white-space:nowrap}.comments-rail__filter-tab:hover{color:var(--text-primary)}.comments-rail__filter-tab.is-active{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.comments-rail__sort{background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-1) var(--sp-2);font-size:var(--text-meta);color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-1);white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.comments-rail__sort:hover{border-color:var(--blue-400);color:var(--text-primary)}.comments-rail__sort i,.comments-rail__sort svg{width:var(--icon-sm);height:var(--icon-sm)}.comment-thread__meta-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.comment-thread__version{font-family:Roboto Mono,monospace;letter-spacing:var(--mono-tracking);font-size:var(--text-micro);color:var(--text-tertiary);padding:1px var(--sp-2);border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--border-subtle)}.comment-thread__unread-dot{display:none;width:8px;height:8px;border-radius:var(--radius-full);background:var(--blue-500);flex-shrink:0}.comment-thread.is-unread .comment-thread__unread-dot{display:inline-block}.comment-thread.is-unread .comment-thread__author{font-weight:700;color:var(--text-primary)}.mention{color:var(--blue-600);font-weight:600;background:color-mix(in srgb,var(--blue-500) 10%,transparent);padding:0 3px;border-radius:var(--radius-sm)}[data-theme=dark] .mention{color:var(--blue-400)}.comment-thread{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-sunken);border-radius:var(--radius-md);border-left:2px solid transparent;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.comment-thread:hover{background:color-mix(in srgb,var(--blue-500) 4%,var(--surface-sunken))}.comment-thread:focus-visible{outline:2px solid var(--blue-400);outline-offset:2px}.comment-thread.active{border-left-color:var(--teal-500);background:color-mix(in srgb,var(--teal-500) 6%,var(--surface-sunken))}.comment-thread.resolved{opacity:.6}.comment-thread__header{display:flex;align-items:center;gap:var(--sp-2)}.comment-thread__pin-ref{width:20px;height:20px;border-radius:var(--radius-full);background:var(--teal-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-micro);font-weight:600;font-family:DM Sans,sans-serif;flex-shrink:0}.comment-thread.resolved .comment-thread__pin-ref{background:var(--stone-400)}.comment-thread__author{font-size:var(--text-meta);font-weight:600;color:var(--text-primary)}.comment-thread__time{font-size:var(--text-meta);color:var(--text-tertiary);margin-left:auto}.comment-thread__body{font-size:var(--text-desc);color:var(--text-primary);line-height:1.45}.comment-thread__replies{display:flex;flex-direction:column;gap:var(--sp-2);padding-left:var(--sp-3);border-left:2px solid var(--border-strong);margin:var(--sp-1) 0 var(--sp-1) var(--sp-2)}.comment-thread__reply{display:flex;flex-direction:column;gap:var(--sp-1);background:var(--surface-raised);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3)}.comment-thread__reply-header{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-micro)}.comment-thread__reply .avatar-sm{width:20px;height:20px;font-size:10px}.comment-thread__reply .comment-thread__author,.comment-thread__reply .comment-thread__time{font-size:var(--text-micro)}.comment-thread__reply-body{font-size:var(--text-meta);color:var(--text-primary);line-height:1.45}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--stone-900) 45%,transparent);display:none;align-items:center;justify-content:center;padding:var(--sp-4);z-index:1000;opacity:0;transition:opacity var(--dur-normal) var(--ease-out)}.modal-backdrop.is-open{display:flex;opacity:1}.modal{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:480px;width:100%;display:flex;flex-direction:column;transform:translateY(12px) scale(.98);opacity:0;transition:transform var(--dur-normal) var(--ease-spring),opacity var(--dur-normal) var(--ease-out)}.modal--wide{max-width:880px;max-height:calc(100vh - var(--sp-8))}.modal--wide .modal__body{overflow-y:auto}.modal-backdrop.is-open .modal{transform:translateY(0) scale(1);opacity:1}.modal__header{padding:var(--sp-4);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.modal__title{flex:1;font-family:DM Sans,sans-serif;font-size:var(--text-section);font-weight:600;color:var(--text-primary)}.modal__close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.modal__close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal__close i,.modal__close svg{width:var(--icon-md);height:var(--icon-md)}.modal__body{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.modal__label{font-size:var(--text-meta);font-weight:500;color:var(--text-secondary)}.modal__section-title{font-size:var(--text-section);font-weight:600;color:var(--text-primary);margin:0}.modal-row{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;font:inherit;color:var(--text-primary);transition:background var(--dur-fast) var(--ease-out)}.modal-row:hover{background:var(--surface-hover)}.modal-row:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.modal-row__name{flex:1;font-weight:600}.modal-row__meta{font-size:var(--text-meta);color:var(--text-tertiary)}.modal-row__chevron{color:var(--text-tertiary);display:inline-flex}.modal-row__chevron :is(i,svg){width:var(--icon-md);height:var(--icon-md)}.modal__body p{margin:0;font-size:var(--text-desc);line-height:1.55;color:var(--text-primary)}.modal__textarea{width:100%;min-height:120px;resize:vertical;padding:var(--sp-2) var(--sp-3);background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);font-family:Nunito Sans,sans-serif;font-size:var(--text-desc);color:var(--text-primary);outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.modal__textarea:focus{border-color:var(--blue-400)}.modal__footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--sp-2);flex-shrink:0}.comment-thread__actions{display:flex;gap:var(--sp-1);margin-top:var(--sp-1)}.schedule-modal__entries{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-4)}.schedule-modal__add{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;margin-top:var(--sp-3);padding:var(--sp-3);border:1px dashed var(--border-default);border-radius:var(--radius-md);background:transparent;color:var(--blue-500);font-family:Nunito Sans,sans-serif;font-size:var(--text-desc);font-weight:600;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.schedule-modal__add:hover{border-color:var(--blue-400);background:var(--blue-50);color:var(--blue-600)}.schedule-modal__add :is(i,svg){width:var(--icon-sm);height:var(--icon-sm)}[data-theme=dark] .schedule-modal__add{color:var(--blue-400)}[data-theme=dark] .schedule-modal__add:hover{border-color:var(--blue-500);background:color-mix(in srgb,var(--blue-500) 14%,transparent);color:var(--blue-300)}.schedule-modal__header-actions{display:inline-flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.schedule-modal__save{display:inline-flex;align-items:center;gap:var(--sp-1);height:32px;padding:0 var(--sp-3);border:none;border-radius:var(--radius-md);background:var(--blue-500);color:var(--text-inverse);font-family:Nunito Sans,sans-serif;font-weight:600;font-size:var(--text-meta);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.schedule-modal__save:hover{background:var(--blue-600)}.schedule-modal__save :is(i,svg){width:var(--icon-sm);height:var(--icon-sm)}.schedule-modal:not(.is-dirty) .schedule-modal__save{opacity:0;transform:translate(8px);pointer-events:none}.schedule-modal.is-readonly .form-input{border-color:transparent;background:transparent;box-shadow:none;cursor:default}.schedule-modal.is-readonly .form-input:focus{border-color:transparent;box-shadow:none}.schedule-modal.is-readonly .form-input--hours.is-worked{border-color:transparent}.schedule-modal.is-readonly .schedule-entry__remove{display:none}.schedule-summary-bar{display:grid;grid-template-columns:1fr auto;column-gap:var(--sp-4);row-gap:2px;align-items:center;padding-bottom:var(--sp-4);border-bottom:1px solid var(--border-subtle)}.schedule-summary-bar__label{grid-column:2;grid-row:1;text-align:right;font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-weight:600;line-height:1}.schedule-summary-bar>.progress-bar{grid-column:1;grid-row:2}.schedule-summary-bar__total{grid-column:2;grid-row:2;text-align:right;white-space:nowrap;font-family:Roboto Mono,monospace;font-size:var(--text-lg);font-weight:700;color:var(--text-primary);line-height:1}.schedule-summary-bar>.progress-legend{grid-column:1;grid-row:3}.schedule-entry{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.schedule-entry__head{display:flex;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap}.schedule-entry__date{display:flex;flex-direction:column;gap:var(--sp-1);flex-shrink:0}.schedule-entry__date-label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-weight:600;line-height:1}.schedule-entry__date .form-input{width:168px;font-family:Nunito Sans,sans-serif;font-size:var(--text-desc)}.schedule-entry__default-value{width:168px;padding:var(--sp-2) var(--sp-3);font-family:Nunito Sans,sans-serif;font-size:var(--text-desc);font-weight:600;color:var(--text-primary);line-height:1.2}.schedule-entry__days{display:flex;align-items:flex-end;gap:var(--sp-2);flex:1;min-width:0}.schedule-entry__day{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.schedule-entry__day-label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-weight:600;line-height:1}.schedule-entry__total{flex-shrink:0;font-family:Roboto Mono,monospace;font-size:var(--text-meta);font-weight:600;color:var(--text-secondary);white-space:nowrap;padding-bottom:var(--sp-2)}.schedule-entry__remove{flex-shrink:0;align-self:center}.schedule-entry__breakdown{display:flex;align-items:center;gap:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border-subtle);font-size:var(--text-meta);color:var(--text-tertiary)}.schedule-entry__breakdown-item{display:inline-flex;align-items:baseline;gap:var(--sp-1)}.schedule-entry__breakdown-item b{font-family:Roboto Mono,monospace;font-weight:500;color:var(--text-primary)}.schedule-entry__breakdown-total{margin-left:auto;font-family:Roboto Mono,monospace;font-size:var(--text-desc);font-weight:600;color:var(--text-primary)}.rail-toolbar{display:inline-flex;align-items:center;gap:2px;margin-left:auto}.rail-toolbar__btn{all:unset;position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.rail-toolbar__btn:hover{background:var(--stone-100);color:var(--text-secondary)}.rail-toolbar__btn.is-open,.rail-toolbar__btn.is-active{background:var(--blue-50);color:var(--blue-700)}.rail-toolbar__btn i,.rail-toolbar__btn svg{width:14px;height:14px}.rail-toolbar__btn .rail-toolbar__dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--blue-500);border:1.5px solid var(--surface-raised);display:none}.rail-toolbar__btn.has-active .rail-toolbar__dot{display:block}.rail-toolbar__wrap{position:relative;display:inline-flex}.rail-accordion+.rail-accordion{border-top:1px solid var(--border-subtle);margin-top:2px;padding-top:2px}.rail-accordion__head{all:unset;display:flex;align-items:center;gap:var(--sp-2);width:100%;box-sizing:border-box;padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.rail-accordion__head:hover{background:var(--stone-100)}[data-theme=dark] .rail-accordion__head:hover{background:var(--stone-800)}.rail-accordion__label{font-size:var(--text-meta);font-weight:600;color:var(--text-primary)}.rail-accordion__meta{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.rail-accordion__summary{font-size:var(--text-micro);color:var(--text-tertiary);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-accordion__summary.is-active{color:var(--blue-700);font-weight:600}[data-theme=dark] .rail-accordion__summary.is-active{color:var(--blue-300)}.rail-accordion__caret{width:14px;height:14px;color:var(--text-tertiary);transition:transform .16s var(--ease-out)}.rail-accordion.is-open .rail-accordion__caret{transform:rotate(180deg)}.rail-accordion__body{display:none;padding:2px 0 var(--sp-2)}.rail-accordion.is-open .rail-accordion__body{display:block}.rail-group{display:flex;flex-direction:column}.rail-group+.rail-group{margin-top:var(--sp-3)}.rail-group__head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-base);border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none}[data-theme=dark] .rail-group__head{background:var(--stone-900)}.rail-group__caret{width:14px;height:14px;color:var(--text-tertiary);transition:transform .18s var(--ease-out)}.rail-group.is-collapsed .rail-group__caret{transform:rotate(-90deg)}.rail-group__dot{width:8px;height:8px;border-radius:50%;flex:none}.rail-group__label{font-family:DM Sans,sans-serif;font-size:var(--text-meta);font-weight:600;color:var(--text-primary);text-transform:none;letter-spacing:0}.rail-group__count{margin-left:auto;font-family:Roboto Mono,monospace;font-size:var(--text-micro);color:var(--text-tertiary);letter-spacing:var(--mono-tracking);background:var(--stone-100);padding:2px 8px;border-radius:var(--radius-full)}[data-theme=dark] .rail-group__count{background:var(--stone-800)}.rail-group__body{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) 0}.rail-group.is-collapsed .rail-group__body{display:none}
