@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_d8ebd1;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_d8ebd1;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_d8ebd1{font-family:__Inter_d8ebd1,__Inter_Fallback_d8ebd1;font-style:normal}.__variable_d8ebd1{--font-inter:"__Inter_d8ebd1","__Inter_Fallback_d8ebd1"}:root{--plum-50:#f7f1f6;--plum-100:#eddfeb;--plum-200:#d9bdd5;--plum-300:#c29bbc;--plum-400:#9c5c93;--plum-500:#6c2664;--plum-600:#5c2055;--plum-700:#4a1a45;--plum-800:#381434;--plum-900:#260e23;--aubergine:#3b1236;--aubergine-700:#331030;--aubergine-800:#280c26;--aubergine-900:#1c0819;--leaf-50:#f4f8ec;--leaf-100:#e6f0d5;--leaf-200:#cde1ac;--leaf-300:#b0ce7e;--leaf-400:#95bc55;--leaf-500:#7bac2c;--leaf-600:#688f29;--leaf-700:#547321;--leaf-800:#3f5619;--leaf-900:#2b3a11;--leaf-strip:#5a7f1f;--magenta:#a33f87;--magenta-50:#f8f0f6;--magenta-100:#efdcea;--magenta-600:#8e3675;--magenta-700:#772d62;--cream-50:#f2f0ed;--cream:#e7e4e0;--cream-100:#e0dcd7;--cream-200:#d2cdc7;--cream-300:#bbb4ac;--sand:#dedad5;--ember:#c4623a;--ember-50:#fbefe8;--ember-100:#f5dccf;--ember-600:#a8502d;--ember-700:#8c4225;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--white:#fff;--magenta-200:color-mix(in srgb,var(--magenta) 32%,var(--white));--magenta-300:color-mix(in srgb,var(--magenta) 52%,var(--white));--magenta-400:color-mix(in srgb,var(--magenta) 76%,var(--white));--magenta-500:var(--magenta);--magenta-800:color-mix(in srgb,var(--magenta) 62%,var(--aubergine-900));--ember-200:color-mix(in srgb,var(--ember) 34%,var(--white));--ember-300:color-mix(in srgb,var(--ember) 55%,var(--white));--ember-400:color-mix(in srgb,var(--ember) 78%,var(--white));--ember-500:var(--ember);--ember-800:color-mix(in srgb,var(--ember) 62%,var(--aubergine-900));--aubergine-50:color-mix(in srgb,var(--aubergine) 5%,var(--white));--aubergine-100:color-mix(in srgb,var(--aubergine) 12%,var(--white));--aubergine-300:color-mix(in srgb,var(--aubergine) 40%,var(--white));--aubergine-500:color-mix(in srgb,var(--aubergine) 80%,var(--white));--cream-25:color-mix(in srgb,var(--cream-50) 40%,var(--white));--red-50:#fef3f2;--red-200:#fecdca;--red-300:#fda29b;--red-600:#d92d20;--red-700:#b42318;--red-800:#912018;--amber-50:#fffaeb;--amber-200:#fedf89;--amber-300:#fec84b;--amber-500:#f79009;--amber-700:#b54708;--amber-800:#93370d;--blue-50:#eff8ff;--blue-200:#b2ddff;--blue-700:#175cd3;--blue-800:#1849a9;--color-primary:var(--plum-500);--color-primary-hover:var(--plum-600);--color-primary-strong:var(--plum-700);--color-primary-soft:var(--plum-50);--color-primary-tint:var(--plum-100);--color-primary-line:var(--plum-200);--color-secondary:var(--magenta);--color-secondary-soft:var(--magenta-50);--color-accent:var(--leaf-500);--color-accent-strong:var(--leaf-700);--color-accent-soft:var(--leaf-50);--color-highlight:var(--ember);--surface-page:var(--cream-50);--surface:var(--white);--surface-sunken:var(--cream-50);--surface-muted:color-mix(in srgb,var(--cream-50) 55%,var(--white));--surface-zebra:color-mix(in srgb,var(--cream-50) 50%,var(--white));--surface-hover:var(--plum-50);--surface-selected:var(--plum-50);--nav-bg:var(--aubergine);--nav-bg-deep:var(--aubergine-800);--nav-text:var(--plum-100);--nav-text-dim:var(--plum-300);--nav-head:var(--white);--nav-hover:color-mix(in srgb,var(--white) 8%,transparent);--nav-active:color-mix(in srgb,var(--white) 14%,transparent);--nav-active-text:var(--white);--nav-line:color-mix(in srgb,var(--white) 14%,transparent);--border:var(--cream-200);--border-subtle:var(--cream-100);--border-strong:var(--cream-300);--text-strong:var(--slate-900);--text:var(--slate-800);--text-body:var(--slate-700);--text-2:var(--slate-600);--text-3:var(--slate-600);--text-heading:var(--plum-500);--text-on-dark:var(--white);--text-on-primary:var(--white);--success:var(--leaf-700);--success-text:var(--leaf-800);--success-bg:var(--leaf-50);--success-border:var(--leaf-200);--success-solid:var(--leaf-600);--warning:var(--amber-500);--warning-text:var(--amber-800);--warning-bg:var(--amber-50);--warning-border:var(--amber-200);--warning-solid:var(--amber-500);--danger:var(--red-600);--danger-text:var(--red-700);--danger-bg:var(--red-50);--danger-border:var(--red-200);--danger-solid:var(--red-600);--info-text:var(--blue-700);--info-bg:var(--blue-50);--info-border:var(--blue-200);--row-danger:color-mix(in srgb,var(--red-50) 75%,var(--white));--row-warning:color-mix(in srgb,var(--amber-50) 80%,var(--white));--row-success:color-mix(in srgb,var(--leaf-50) 80%,var(--white));--chart-1:var(--plum-400);--chart-2:var(--leaf-600);--chart-3:var(--ember-500);--chart-4:var(--magenta-300);--chart-5:var(--aubergine-500);--chart-6:var(--leaf-300);--chart-7:var(--ember-300);--chart-8:var(--plum-200);--chart-muted:var(--slate-400);--chart-grid:var(--cream-100);--table-head-bg:var(--plum-50);--table-head-bg-hover:var(--plum-100);--table-head-bg-sorted:var(--plum-100);--table-head-text:var(--plum-700);--table-head-text-sorted:var(--plum-800);--table-head-line:var(--plum-300);--accent-orders:var(--plum-500);--accent-invoiced:var(--leaf-700);--accent-scheduled:var(--ember-600);--accent-commission:color-mix(in srgb,var(--plum-700) 80%,var(--white));--bg:var(--surface-page);--surface-2:var(--surface-sunken);--plum:var(--color-primary);--plum-2:var(--plum-400);--plum-soft:var(--color-primary-soft);--ok:var(--success);--warn-bg:var(--warning-bg);--warn-border:var(--warning-border);--warn-text:var(--warning-text);--font:var(--font-inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-page:24px;--fs-title:18px;--fs-section:15px;--fs-body:14px;--fs-table:13px;--fs-th:11px;--fs-meta:12px;--fs-micro:11px;--fs-kpi:28px;--fs-hero:34px;--radius:6px;--radius-sm:4px;--radius-xs:4px;--radius-pill:4px;--shadow-card:0 1px 2px rgba(59,18,54,.05),0 8px 18px -12px rgba(59,18,54,.16);--shadow-hover:0 1px 0 var(--border-strong);--shadow-float:0 18px 40px -18px rgba(59,18,54,.35),0 4px 10px rgba(59,18,54,.08);--shadow-inset-line:inset 0 -1px 0 var(--border);--focus-ring:0 0 0 3px color-mix(in srgb,var(--leaf-500) 45%,transparent);--sidebar-w:212px;--fs-nav-head:16px;--fs-nav-item:12px;--gap:20px}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{font-family:var(--font);font-size:var(--fs-body);line-height:1.45;color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}a{color:inherit;text-decoration:none}button{font:inherit}:where(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])){font:inherit;font-size:var(--fs-table);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-xs);padding:5px 8px}:where(select,textarea,input):focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--color-primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-xs)}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.015em;color:var(--text-strong)}h1{color:var(--text-heading);font-size:var(--fs-page);font-weight:700;letter-spacing:-.02em}h2{font-size:var(--fs-section)}h3{font-size:var(--fs-body)}.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{display:none}}.sidebar{background:var(--nav-bg);color:var(--nav-text);padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 14px;margin-bottom:4px;border-bottom:1px solid var(--nav-line)}.brand-mark{width:30px;height:30px;border-radius:var(--radius-sm);flex:none;background:var(--color-primary);display:grid;place-items:center;font-weight:700;font-size:16px;color:var(--white)}.brand-name{font-weight:700;font-size:14px;line-height:1.15;white-space:nowrap;color:var(--color-primary);letter-spacing:-.01em}.brand-sub{font-size:var(--fs-micro);color:var(--nav-text-dim);letter-spacing:.02em}.nav-head{position:relative;display:flex;align-items:center;gap:8px;width:100%;margin-top:2px;padding:7px 12px;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;text-align:left;font:inherit;font-size:var(--fs-nav-head);font-weight:600;letter-spacing:-.015em;color:var(--nav-head);transition:background .12s,color .12s}.nav-head:hover{background:var(--nav-hover)}.nav-head:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.nav-head.active{background:var(--nav-active);color:var(--nav-active-text)}.nav-head.active:before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:2px;background:var(--color-primary)}.nav-head.nav-label{cursor:default}.nav-head.nav-label:hover{background:transparent}.nav-head .nav-count{margin-left:0}.nav-group-items{display:flex;flex-direction:column;gap:1px;padding:1px 0 4px 10px}.nav-group-items .nav-item.active:before{left:-22px}.nav-group-items .nav-sub.active:before{left:-36px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:6px 12px;border-radius:var(--radius-sm);color:var(--nav-text);font-size:var(--fs-nav-item);font-weight:500;transition:background .12s,color .12s}.nav-item:hover{background:var(--nav-hover);color:var(--text-strong)}.nav-item.active{background:var(--nav-active);color:var(--nav-active-text);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:2px;background:var(--color-primary)}.sync-note{margin-top:auto;display:flex;align-items:center;gap:6px;padding:10px 4px 8px;font-size:var(--fs-micro);color:var(--nav-text-dim)}.sync-note.stale{flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:10px;padding:8px 10px;background:var(--danger-bg);border:1px solid var(--danger-border);border-left:3px solid var(--danger-solid);color:var(--danger-text);font-size:var(--fs-meta)}.sync-note.stale strong{font-weight:700}.sidebar-footer{padding:12px 4px 4px;font-size:var(--fs-meta);color:var(--nav-text-dim);display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--nav-line)}.sidebar-footer form button{width:100%;background:transparent;color:var(--nav-text);border:1px solid var(--nav-line);border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer;font-weight:500}.sidebar-footer form button:hover{background:var(--nav-hover);color:var(--text-strong)}.main{display:flex;flex-direction:column;min-width:0}.header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 40px;min-height:56px;background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:5}.header-title{margin:0;font-size:15px;font-weight:600;line-height:1.2;color:var(--text-strong);letter-spacing:.08em;text-transform:uppercase}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.sync-dot{width:6px;height:6px;border-radius:50%;background:var(--success-solid)}.sync-dot.warn{background:var(--warning-solid)}.sync-dot.off{background:var(--text-3);box-shadow:none}.banner{display:flex;align-items:flex-start;gap:12px;margin:20px 32px 0;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--warning-border);border-left-width:4px;background:var(--warning-bg);color:var(--warning-text)}.banner.danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.banner strong{font-weight:700}.banner p{margin:2px 0 0;font-size:var(--fs-meta)}.content{padding:36px 40px 72px;display:flex;flex-direction:column;gap:24px}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;padding-bottom:4px}.page-head>.period{margin-left:auto;max-width:100%}.page-head>div:first-child:not(:only-child){flex:1 1 320px;min-width:0}.page-head .period-label{contain:inline-size}.page-head>div>p:first-child{margin-top:0}.page-head p{margin:6px 0 0;color:var(--text-2);font-size:var(--fs-body)}.page-head h1{font-size:28px;font-weight:600;letter-spacing:-.025em;color:var(--color-primary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow-card)}.card h2{margin-bottom:12px}.card:not(.empty)>h2:first-child,.card>.panel-head:first-child{margin:-20px -24px 18px;padding:16px 24px 14px;background:var(--surface);border-bottom:1px solid var(--border-subtle);border-radius:var(--radius) var(--radius) 0 0}.card:not(.empty)>h2:first-child{display:block}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.stat{display:flex;flex-direction:column;gap:4px;border-top:2px solid var(--color-primary-line)}.stat .label{font-size:var(--fs-micro);font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}.stat .value{font-size:22px;font-weight:700;color:var(--text-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat .hint{font-size:var(--fs-meta);color:var(--text-3)}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-table);color:var(--text)}table.data th{text-align:left;font-weight:600;color:var(--table-head-text);background:var(--table-head-bg);font-size:var(--fs-th);text-transform:uppercase;letter-spacing:.07em;padding:10px 12px;border-bottom:1px solid var(--table-head-line);white-space:nowrap}table.data thead th:first-child{border-top-left-radius:var(--radius-xs)}table.data thead th:last-child{border-top-right-radius:var(--radius-xs)}table.data td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:top;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:where(table.data>tbody>tr:nth-child(2n))>td{background:var(--surface-zebra)}table.data td{border-bottom-color:var(--border-subtle)}:where(table.data>tbody>tr:hover)>td{background:var(--surface-hover)}table.data tr:last-child td{border-bottom:0}table.data td.mono{font-family:var(--mono);font-size:var(--fs-meta);color:var(--text-2)}.table-wrap{overflow-x:auto}.tag{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:var(--fs-micro);font-weight:600;line-height:1.5;letter-spacing:.01em;border-radius:var(--radius-pill);padding:1px 7px;border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-2)}.tag:before{content:none}.tag.complete{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.tag.running{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.tag.failed{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.tag.mock{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.tag.current{background:var(--color-primary-soft);border-color:var(--color-primary-line);color:var(--color-primary)}.empty{padding:40px;text-align:center;color:var(--text-2)}.empty h2{color:var(--text-heading);margin-bottom:6px}.empty code{font-family:var(--mono);font-size:var(--fs-meta);background:var(--surface-sunken);padding:2px 6px;border-radius:var(--radius-xs)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--surface-page)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--color-primary);border-radius:var(--radius);padding:36px;display:flex;flex-direction:column;gap:16px}.login-card .brand{flex-direction:column;align-items:flex-start;gap:14px;padding:0 0 18px;margin-bottom:0;color:var(--text);border-bottom-color:var(--border-subtle)}.auth-logo{height:52px;width:auto;display:block}.login-card .brand-name{color:var(--color-primary);font-size:var(--fs-title)}.login-card .brand-sub{color:var(--text-2)}.login-card h1,.login-card h2{color:var(--text-heading)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:var(--fs-meta);color:var(--text-2);font-weight:600}.field input{font:inherit;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.field input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.btn{font:inherit;font-weight:600;padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--text-on-primary);cursor:pointer;transition:background .12s}.btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn[disabled]{background:var(--surface-sunken);border-color:var(--border);color:var(--text-3);box-shadow:none;cursor:default}.error{font-size:var(--fs-meta);color:var(--danger-text);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:8px 10px}.muted{color:var(--text-2)}.small{font-size:12px}.neg{color:var(--danger-text)}.outlier,.strong{font-weight:600}.outlier{color:var(--warn-text)}.period{display:flex;align-items:center;gap:10px}.period,.seg{flex-wrap:wrap;justify-content:flex-end}.seg{display:inline-flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.seg button{font:inherit;font-size:var(--fs-table);font-weight:500;white-space:nowrap;padding:6px 13px;border-radius:var(--radius-pill);border:0;background:transparent;color:var(--text-2);cursor:pointer}.seg button:hover{color:var(--color-primary)}.seg button.on,.seg button.on:hover{color:var(--text-on-primary)}.seg button.on{background:var(--color-primary);font-weight:600}.custom-range{display:inline-flex;align-items:center;gap:6px}.custom-range input{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.btn.small{padding:6px 10px;font-size:13px}.period-label{flex-basis:100%;text-align:right;font-size:var(--fs-meta);color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(6,minmax(0,1fr))}.kpi-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media (max-width:1400px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1401px){.kpi-grid:not(.compact) .kpi .label{min-height:calc(2 * 1.45em)}.kpi-grid:not(.compact) .kpi .value{font-size:clamp(22px,1.55vw,var(--fs-kpi))}}@media (max-width:760px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--color-primary);border-radius:var(--radius);padding:16px 20px 18px;min-width:0;color:inherit;box-shadow:var(--shadow-card);transition:border-color .12s}.kpi.drill:hover{border-color:var(--color-primary-line);border-top-color:var(--color-primary)}.kpi .label{font-size:var(--fs-micro);font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.08em}.kpi .value{font-size:var(--fs-kpi);font-weight:600;color:var(--text-strong);line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.025em;gap:6px}.kpi .foot,.kpi .value{display:flex;align-items:center}.kpi .foot{gap:8px;font-size:var(--fs-meta);flex-wrap:wrap}.kpi .hint{color:var(--text-3)}.stat-strip{display:flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.strip-stat{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:7px 18px;border-right:1px solid var(--border);min-width:0;color:inherit;font:inherit;text-align:left;background:none}.strip-stat:last-child{border-right:0}.stat-line{display:flex;align-items:baseline;gap:8px;white-space:nowrap}.strip-stat .label{font-size:var(--fs-meta);color:var(--text-2)}.strip-stat .value{font-size:15px;font-weight:600;color:var(--text-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.strip-stat .hint{font-size:var(--fs-micro);color:var(--text-3)}.strip-stat.warn{box-shadow:inset 0 2px 0 var(--warning)}.strip-stat.warn .label,.strip-stat.warn .value{color:var(--warn-text)}.strip-stat.warn .label{font-weight:600}.strip-stat.urgent .value{color:var(--danger-text)}.strip-stat-btn{border-top:0;border-bottom:0;border-left:0;border-radius:0;cursor:pointer}.strip-stat-btn:hover{background:var(--surface-hover)}.strip-stat-btn.on{background:var(--plum-50);box-shadow:inset 0 -2px 0 var(--color-primary)}.strip-stat-btn.on .label{color:var(--nav-active-text);font-weight:600}@media (max-width:760px){.strip-stat{flex:1 1 50%;border-bottom:1px solid var(--border)}.stat-line{white-space:normal;flex-wrap:wrap;gap:0 8px}}.delta{font-size:var(--fs-meta);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:var(--radius-pill);border:1px solid transparent;line-height:1.5;white-space:nowrap}.delta.up{color:var(--success-text);background:var(--success-bg);border-color:var(--success-border)}.delta.down{color:var(--danger-text);background:var(--danger-bg);border-color:var(--danger-border)}.delta.flat{color:var(--text-2);background:var(--surface-sunken);border-color:var(--border)}.delta.na{color:var(--text-3);font-weight:500;background:transparent;padding:0}.understated{color:var(--text-3)!important;display:inline-flex;align-items:center;gap:4px;cursor:help}.understated-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--warning-text);border:1px solid var(--warning-border);background:var(--warning-bg);padding:0 4px;border-radius:var(--radius-pill);white-space:nowrap}.tip{position:relative}.tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:320px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--aubergine);color:var(--plum-50);font-size:12px;font-weight:400;line-height:1.4;text-align:left;white-space:normal;z-index:20;opacity:0;pointer-events:none;transition:opacity .12s;box-shadow:var(--shadow-float)}.tip:not(:hover):not(:focus-visible):after{display:none}.tip:focus-visible:after,.tip:hover:after{opacity:1}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.panel-head h2{margin-bottom:2px;font-size:var(--fs-section);font-weight:600;color:var(--text-strong);letter-spacing:-.01em}.panel-head p{margin:2px 0 0;font-size:var(--fs-meta);color:var(--text-2)}.panel-title{display:flex;gap:10px;align-items:flex-start}.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.panels-3{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1500px){.panels-3{grid-template-columns:minmax(0,1fr)}}.panel .card h2{margin:0}.btn-ghost{font:inherit;font-size:var(--fs-meta);font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--color-primary-strong);cursor:pointer}.btn-ghost:hover{background:var(--color-primary-soft);border-color:var(--color-primary-line);color:var(--color-primary)}.btn-ghost[disabled]{opacity:.5;cursor:default}.inline-field{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}.inline-field select{font:inherit;font-size:12px;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface)}table.data th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}table.data th.sortable:hover{background:var(--table-head-bg-hover);color:var(--text-strong)}table.data th.sorted{color:var(--table-head-text-sorted);background:var(--table-head-bg-sorted);box-shadow:inset 0 -2px 0 var(--color-primary)}.sort-mark{margin-left:4px;font-weight:600}table.data td.empty-cell{text-align:center;color:var(--text-3);padding:24px}.cell-link{display:flex;flex-direction:column;color:inherit}.cell-link:hover .cell-main{color:var(--plum);text-decoration:underline}.cell-main{font-weight:600;color:var(--text)}.cell-sub{font-size:var(--fs-micro);color:var(--text-2)}.cell-stack{display:inline-flex;flex-direction:column;align-items:flex-end;text-align:right}.cell-stack .cell-main{font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.cell-stack .cell-sub{white-space:nowrap;line-height:1.35}.cell-sub.inline{display:inline;font-weight:400;margin-left:4px}.num-link{color:inherit;border-bottom:1px dotted var(--text-3)}.num-link:hover{color:var(--plum);border-bottom-color:var(--plum)}.badge{display:inline-block;font-size:var(--fs-micro);font-weight:700;letter-spacing:.01em;border-radius:var(--radius-xs);padding:1px 7px;margin-left:6px;border:1px solid transparent}.badge.low{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border);margin-left:0}.badge.high{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border);margin-left:0}.badge.late{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.badge.nocost{background:var(--surface-2);color:var(--text-3);margin-left:0;font-weight:500}.row-past-due td{background:var(--row-danger)}.row-past-due td:first-child{box-shadow:inset 3px 0 0 var(--danger-solid)}.past-due-date{color:var(--danger-text);font-weight:600}.pager{display:flex;justify-content:center;gap:16px;padding-top:14px}.back-link,.pager{align-items:center}.back-link{display:inline-flex;gap:4px;font-size:12px;color:var(--text-2);margin-bottom:4px}.outlier-summary{margin:-4px 0 10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.outlier-summary a{color:var(--plum);text-decoration:underline}.risk-panel{border-top:2px solid var(--danger-solid)}.risk-panel h2{font-size:var(--fs-title);color:var(--danger-text)}.risk-summary{display:flex;align-items:baseline;gap:6px;font-size:15px;margin:4px 0 12px;color:var(--danger-text)}.risk-summary .risk-count{font-size:var(--fs-hero);font-weight:600;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.risk-summary strong{color:var(--text)}.days-since{font-weight:600}.days-since.severe{color:var(--danger-text)}.chart-card{padding-bottom:12px}.chart-area{width:100%}.chart-skeleton{display:flex;align-items:flex-end;gap:6px;height:380px;padding:24px 8px 8px}.chart-skeleton .skeleton{flex:1 1}.chart-tip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;box-shadow:var(--shadow-float);max-width:300px;display:flex;flex-direction:column;gap:4px}.chart-tip-title{font-weight:600;margin-bottom:2px}.chart-tip i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.chart-tip b{float:right;margin-left:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-tip .warn-text{color:var(--warn-text)}.chart-table summary{cursor:pointer;font-size:12px;color:var(--text-2);padding:8px 0 4px}.skeleton{display:inline-block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-2) 25%,var(--cream) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;vertical-align:middle}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.table-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 0}.table-skeleton-row{display:flex;gap:14px;align-items:center}.panels-3 table.data{table-layout:fixed;font-size:12px}.panels-3 table.data td,.panels-3 table.data th{padding:7px 6px}.panels-3 table.data td:first-child,.panels-3 table.data th:first-child{padding-left:4px}.panels-3 .cell-link{min-width:0}.panels-3 .cell-main,.panels-3 .cell-sub{display:block}.panels-3 .cell-main,.panels-3 .cell-sub,.panels-3 td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.data td.nowrap{white-space:nowrap}.nav-sub{margin-left:14px;padding-top:4px;padding-bottom:4px;font-size:calc(var(--fs-nav-item) - 1px)}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--border)}.tabs button{font:inherit;font-size:var(--fs-body);font-weight:500;padding:10px 16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;margin-bottom:-2px}.tabs button.on,.tabs button:hover{color:var(--color-primary)}.tabs button.on{border-bottom-color:var(--color-primary);font-weight:700}.filter-bar{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;padding:14px 18px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group.grow{flex:1 1;min-width:280px}.filter-group .seg{align-self:flex-start}.filter-group .custom-range{margin-top:2px}.picker-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.picker-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:16px}@media (max-width:800px){.picker-row{grid-template-columns:1fr}}.picker{flex-direction:column;gap:6px}.picker,.picker-input{display:flex;position:relative}.picker-input{align-items:center}.picker-input input{font:inherit;width:100%;padding:9px 64px 9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.picker-input input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.picker-input .chip-x{position:absolute;right:6px}.picker-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-float);max-height:320px;overflow:auto}.picker-menu,.picker-menu li{border-radius:var(--radius-sm)}.picker-menu li{display:flex;flex-direction:column;padding:7px 10px;cursor:pointer}.chip,.picker-menu li.active,.picker-menu li:hover{background:var(--plum-soft)}.chip{display:inline-grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:6px 8px 6px 12px;border:1px solid var(--plum-2);border-radius:var(--radius-sm)}.chip-main{font-weight:600;grid-column:1}.chip-sub{font-size:11px;grid-column:1}.chip-sub,.chip-x{color:var(--text-2)}.chip-x{grid-column:2;grid-row:1/span 2;font:inherit;font-size:var(--fs-meta);font-weight:600;border:0;background:transparent;cursor:pointer;padding:3px 6px;border-radius:var(--radius-sm);display:inline-flex}.chip-x:hover{background:var(--color-primary-tint);color:var(--text)}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.entity-heading{margin:10px 0 12px}.entity-heading h2{font-size:17px}.entity-heading p{margin:2px 0 0}.pair-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pair-heading .entity-heading{margin:4px 0}.pair-x{color:var(--text-3);font-size:18px}.price-strip{margin:8px 0 12px}.price-strip .kpi .value{font-size:20px}.badge.disc{background:var(--warn-bg);color:var(--warn-text)}.price-chart{width:100%}.chart-legend-note{padding:6px 4px 0;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.chart-legend-note i{display:inline-block;width:9px;height:9px;border-radius:50%}.chart-legend-note .dot-solid{background:var(--chart-1)}.chart-legend-note .dot-hollow{border:2px solid var(--chart-1);width:7px;height:7px}table.data.report td{white-space:nowrap}table.data.report td:first-child{white-space:normal}table.data.report td.nowrap{white-space:nowrap}.link-btn{font:inherit;background:none;border:0;padding:0;color:var(--plum);text-decoration:underline;cursor:pointer}.link-btn.danger-link{color:var(--danger-text)}.inline-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.note-edited{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.note-edit textarea{width:100%}.line-suppliers{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0 28px}.tag.line-supplier{display:inline-flex;align-items:center;gap:4px}.tag.line-supplier .chip-x{position:static;padding:0 2px}.card.needs-feedback{border-color:var(--warn-border);box-shadow:inset 3px 0 0 var(--warn-border)}.note-revisions{list-style:none;margin:6px 0 0;padding:6px 0 0 10px;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:6px}.note-revisions .pre{color:var(--text-2)}.recency{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.kpi.urgent .value{color:var(--danger-text)}.panels-2{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr}.expiry-panel{border-top:2px solid var(--warning-solid)}.bucket-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px;margin:4px 0 18px}@media (max-width:1100px){.bucket-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.bucket{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:inherit;min-width:0}.bucket:hover{border-color:var(--plum-2)}.bucket-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.bucket-qty{font-size:24px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bucket-sub{font-size:12px;color:var(--text-3)}.bucket.urgent{border-color:var(--danger-border);background:var(--danger-bg)}.bucket.urgent .bucket-label,.bucket.urgent .bucket-qty{color:var(--danger-text)}.bucket.urgent.empty{background:var(--surface);border-style:dashed}.bucket.urgent.empty .bucket-qty{color:var(--text-3)}.sub-heading{font-size:13px;font-weight:600;color:var(--text-2);margin:0 0 8px}.no-batch{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px dashed var(--text-3);border-radius:var(--radius);background:var(--surface-2);color:var(--text)}.no-batch p{margin:4px 0 0;color:var(--text-2);font-size:13px;max-width:720px}.no-batch.compact{padding:12px 14px}.row-expired td{background:var(--row-danger)}.row-expired td:first-child{box-shadow:inset 3px 0 0 var(--danger-border)}.row-urgent td{background:var(--row-warning)}.row-urgent td:first-child{box-shadow:inset 3px 0 0 var(--warn-border)}.row-neg td{background:var(--row-danger)}.row-neg td:first-child{box-shadow:inset 3px 0 0 var(--danger-border)}.row-low td{background:var(--row-warning)}.row-low td:first-child{box-shadow:inset 3px 0 0 var(--warn-border)}.flag-row{margin:-4px 0 12px}.mono-cell{font-family:var(--mono);font-size:12px}.stockout-panel{border-color:var(--danger-border)}.flag-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 12px}.flag-bar .flag-row{margin:0}.view-toggle button{display:inline-flex;align-items:center;gap:6px}table.grouped tbody.whs-group tr.group-head td{padding:0;background:var(--surface-2);border-top:2px solid var(--border);cursor:pointer}table.grouped tbody.whs-group tr.group-head:hover td{background:var(--cream)}.group-head-inner{display:flex;align-items:center;gap:12px;padding:10px;flex-wrap:wrap}.group-title{font-weight:600;font-size:14px}.group-stats{display:flex;gap:16px;margin-left:auto;font-size:12px;color:var(--text-2);flex-wrap:wrap}.group-stats b{color:var(--text);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tbody.whs-group.collapsed tr.group-head td{border-bottom:1px solid var(--border)}td.show-more{text-align:center;padding:10px;background:var(--surface-2)}.aging-panel{border-top:2px solid var(--color-primary)}.no-payments{border-color:var(--danger-border);background:var(--danger-bg)}.no-payments p{color:var(--danger-text)}.row-over60 td{background:var(--row-danger)}.row-over60 td:first-child{box-shadow:inset 3px 0 0 var(--danger-border)}.row-over90 td{background:var(--row-danger)}.priority-panel{border-color:var(--warn-border)}.trend{display:inline-flex;align-items:center;gap:4px;font-weight:600}.badge.cheapest{background:var(--success-bg);color:var(--success-text)}.row-cheapest td{background:var(--row-success)}.spread-note{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin:0 0 12px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.spread-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.spread-val{font-size:14px}.kpi-btn{font:inherit;text-align:left;cursor:pointer}.kpi-btn:hover{border-color:var(--plum-2)}.kpi-btn.on{border-color:var(--plum);box-shadow:inset 0 0 0 1px var(--plum)}.status-toggles{display:flex;flex-wrap:wrap;gap:6px}.toggle{font:inherit;font-size:12px;padding:5px 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-2);cursor:pointer}.toggle:hover{color:var(--text);border-color:var(--text-3)}.toggle.on{background:var(--plum-soft);border-color:var(--plum-2);color:var(--plum);font-weight:600}.toggle[disabled]{opacity:.6;cursor:default}.status-cell{white-space:nowrap}.tag.sample-requested{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.tag.sample-sent_to_supplier{background:var(--plum-soft);border-color:var(--color-primary-line);color:var(--color-primary)}.tag.sample-shipped{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.tag.sample-delivered{background:var(--leaf-100);border-color:var(--leaf-300);color:var(--leaf-900)}.tag.sample-complete{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.tag.sample-cancelled{background:var(--surface-2);color:var(--text-3);text-decoration:line-through}.tag.sample-cannot_source{background:var(--surface-2);border-color:var(--danger-border);color:var(--danger-text)}.status-reason{margin:2px 0 0;font-size:12px;color:var(--text-2);white-space:pre-wrap}.reason-box{display:flex;flex-direction:column;gap:6px;max-width:520px}.reason-box textarea{width:100%}.work-bar{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}.work-bar.overdue{border-color:var(--danger-border);box-shadow:inset 3px 0 0 var(--danger-border)}.work-group{display:flex;flex-direction:column;gap:6px}.sample-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start}@media (max-width:1100px){.sample-layout{grid-template-columns:1fr}}.sample-main,.sample-side{display:flex;flex-direction:column;gap:16px;min-width:0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px 20px;gap:14px 20px;margin:0}.detail-field dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:3px}.detail-field dd{margin:0}.detail-field dd,.pre{overflow-wrap:anywhere}.pre{white-space:pre-wrap}.mono{font-family:var(--mono);font-size:12px}.warn-text{color:var(--warn-text);font-weight:600}.ext-link{display:inline-flex;align-items:center;gap:3px;color:var(--plum)}.plain-list{list-style:none;margin:0;padding:0;gap:2px}.note-add,.plain-list{display:flex;flex-direction:column}.note-add{gap:8px;margin-bottom:16px}.attach-add input[type=text],.attach-add input[type=url],.note-add textarea,.sample-form select,.sample-form textarea{font:inherit;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);width:100%}.note-add-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.note-add-row input[type=date]{font:inherit;font-size:12px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.event-log,.note-log{list-style:none;margin:0;padding:0}.note-log li{padding:10px 0;border-top:1px solid var(--border)}.note-log li:first-child{border-top:0}.note-meta{display:flex;gap:10px;align-items:baseline;margin-bottom:3px}.event-log li{gap:2px;padding:6px 0}.attach-list,.event-log li{display:flex;flex-direction:column}.attach-list{list-style:none;margin:0 0 14px;padding:0;gap:8px}.attach-list li{display:flex;gap:8px;align-items:flex-start}.attach-add{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:12px}.attach-add .btn,.attach-add .btn-ghost{align-self:flex-start}.sample-form{display:flex;flex-direction:column;gap:14px}.form-row{display:flex;gap:14px;flex-wrap:wrap}.form-row .field{min-width:180px}.form-row .field.grow{flex:1 1;min-width:240px}.form-actions{display:flex;gap:10px;align-items:center}table.data td.wrap{white-space:normal;min-width:120px;max-width:220px;overflow-wrap:anywhere}table.data td.wrap.wide{max-width:340px}.badge.needs-date{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border);margin-left:0;white-space:nowrap}.row-needs-date td{background:var(--row-warning)}.row-needs-date td:first-child{box-shadow:inset 3px 0 0 var(--warn-border)}.row-selected td{background:var(--plum-soft)}.needs-date-banner{font-size:13px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--warn-border);background:var(--warn-bg);color:var(--warn-text)}.bulk-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px}.bulk-bar.active{border-color:var(--plum-2);background:var(--plum-soft)}.ok-text{color:var(--ok)}.work-bar.needs-date{border-color:var(--warn-border);box-shadow:inset 3px 0 0 var(--warn-border)}.verified-line{font-size:13px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2)}.verified-line strong{color:var(--text)}.verified-line.stale{border-color:var(--warn-border);background:var(--warn-bg)}.verified-line.stale,.verified-line.stale strong{color:var(--warn-text)}table.data tr.group-row td{background:var(--surface-2);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);padding-top:7px;padding-bottom:7px}table.data.stock-table td.pre{white-space:pre-wrap;min-width:120px}.ref-links{display:inline-flex;flex-wrap:wrap;gap:6px}.icon-btn{font:inherit;font-size:var(--fs-meta);font-weight:600;border:0;background:transparent;color:var(--text-2);cursor:pointer;padding:3px 6px;border-radius:var(--radius-sm);display:inline-flex}.icon-btn:hover{color:var(--text);background:var(--surface-2)}.stock-links li{padding:4px 0}table.data.stock-table td.notes-cell{white-space:pre-wrap;min-width:140px;max-width:200px;overflow-wrap:anywhere}table.data.stock-table td.spec-cell{white-space:normal;min-width:128px;max-width:160px;overflow-wrap:break-word}table.data.stock-table td.wrap.wide{min-width:170px}.badge.older{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);margin-left:0;font-weight:500;align-self:flex-start}.nav-count{margin-left:auto;font-size:10px;font-weight:700;background:var(--color-primary);color:var(--white);border-radius:var(--radius-pill);padding:1px 7px}.pto-warnings{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.pto-warnings li{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--warn-text)}.pto-preview{font-size:13px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2)}.pto-preview.bad{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.ok-banner{font-size:13px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-text)}.tag.pto-pending{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.tag.pto-approved{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.tag.pto-denied{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.tag.pto-cancelled{background:var(--surface-2);text-decoration:line-through}.row-muted td,.tag.pto-cancelled{color:var(--text-3)}.pto-queue-card{display:flex;flex-direction:column;gap:12px}.pto-queue-card.has-overlap{border-color:var(--warn-border);box-shadow:inset 3px 0 0 var(--warn-border)}.pto-queue-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.pto-queue-what{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.pto-note{margin:0;font-size:13px}.pto-overlap{display:flex;gap:8px;align-items:flex-start;font-size:13px;padding:8px 10px;color:var(--text-2)}.pto-overlap.warn{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border)}.pto-decide{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pto-decide input{flex:1 1;min-width:220px;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.btn-ghost.danger{color:var(--danger-text);border-color:var(--danger-border)}.pto-legend{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-2)}.pto-legend .sw{display:inline-block;width:14px;height:10px;border-radius:var(--radius-sm)}.blk.approved,.sw.approved{background:var(--plum-2)}.blk.pending,.sw.pending{background:repeating-linear-gradient(45deg,var(--plum-soft),var(--plum-soft) 3px,var(--plum-200) 3px,var(--plum-200) 6px);border:1px solid var(--plum-200)}.sw.half{background:linear-gradient(90deg,var(--plum-2) 50%,var(--surface-2) 50%)}table.pto-timeline{border-collapse:separate;border-spacing:0;font-size:11px}table.pto-timeline td,table.pto-timeline th{padding:0;width:26px;min-width:26px;height:26px;text-align:center;border-bottom:1px solid var(--border)}table.pto-timeline thead th{font-weight:500;color:var(--text-2);height:34px;line-height:1.1}table.pto-timeline thead th span{display:block;font-size:9px;color:var(--text-3)}table.pto-timeline th.who{text-align:left;width:auto;min-width:140px;padding-right:10px;font-weight:500;color:var(--text);white-space:nowrap;position:-webkit-sticky;position:sticky;left:0;background:var(--surface)}table.pto-timeline .we{background:var(--surface-2)}table.pto-timeline .clash{background:var(--ember-50)}table.pto-timeline thead th.clash{color:var(--warn-text);font-weight:700}table.pto-timeline thead th.today{box-shadow:inset 0 -2px 0 var(--plum);color:var(--plum);font-weight:700}table.pto-timeline .blk{display:block;margin:4px 2px;height:16px;border-radius:var(--radius-sm)}table.pto-timeline .blk.half{width:50%}table.pto-timeline .blk.unpaid{opacity:.6}.tier-in{font:inherit;width:80px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.sw.hol{background:repeating-linear-gradient(90deg,var(--blue-50),var(--blue-50) 2px,var(--blue-200) 2px,var(--blue-200) 4px)}table.pto-timeline .hol{background:repeating-linear-gradient(90deg,var(--surface),var(--surface) 2px,var(--blue-50) 2px,var(--blue-50) 4px)}table.pto-timeline thead th.hol{color:var(--info-text);font-weight:700}.pto-notices{display:flex;flex-direction:column;gap:8px}.pto-notice{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--color-primary-line);background:var(--plum-soft);color:var(--text);font-size:14px}.pto-notice:hover{border-color:var(--plum-2)}.pto-notice.approved{background:var(--success-bg);border-color:var(--success-border)}.pto-notice.denied{background:var(--danger-bg);border-color:var(--danger-border)}.pto-notice-go{margin-left:auto;font-size:12px;color:var(--text-2);white-space:nowrap}.pto-section-head{margin:8px 0 0;font-size:15px;color:var(--text-2)}.carryover-line{font-size:13px;padding:8px 12px;margin-bottom:10px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:var(--surface-2);color:var(--text-2)}.weekend-prompt{border-color:var(--warn-border);background:var(--warn-bg)}.weekend-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.weekend-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.weekend-actions{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.holiday-table{max-width:760px}.holiday-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 0}.holiday-form input[type=date],.holiday-form input[type=text]{font:inherit;font-size:13px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.holiday-form input[type=text]{width:220px}.month-figures{display:flex;flex-direction:column;gap:12px;padding-bottom:28px;border-bottom:1px solid var(--border)}.month-cards{display:grid;grid-gap:16px;gap:16px;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.month-cards>.month-card{grid-row:span 5;display:grid;grid-template-rows:subgrid;grid-row-gap:4px;row-gap:4px;align-content:start}.month-cards:has(>:nth-child(5)){grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1400px){.month-cards,.month-cards:has(>:nth-child(5)){grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.month-cards,.month-cards:has(>:nth-child(5)){grid-template-columns:minmax(0,1fr)}}.month-card{--accent:var(--accent-orders);display:flex;flex-direction:column;gap:4px;color:inherit;border-top:3px solid var(--accent);padding:20px 24px 22px;transition:border-color .12s}.month-card.invoiced{--accent:var(--accent-invoiced)}.month-card:hover{border-color:var(--color-primary-line);border-top-color:var(--accent)}.month-card-head{display:flex;justify-content:space-between;align-items:flex-start}.month-card-head .label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.09em;color:var(--text-strong);font-weight:600}.month-sub{font-size:var(--fs-meta);color:var(--text-2);line-height:1.45}.month-value{font-size:var(--fs-hero);font-weight:600;color:var(--accent);letter-spacing:-.03em;margin-top:14px;line-height:1.05;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;align-self:end}.month-extra{display:flex;flex-direction:column;gap:4px}.month-count{font-size:13px;color:var(--text-2)}.month-compare{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--border-subtle);gap:6px;gap:10px}.month-compare,.month-compare div{display:flex;flex-direction:column}.month-compare div{gap:2px;font-size:var(--fs-table)}.month-compare dt{color:var(--text-2);font-size:var(--fs-meta)}.month-compare dd{margin:0;display:flex;justify-content:space-between;gap:8px;align-items:center;font-weight:600;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.month-note{margin:0;font-size:12px;color:var(--text-2)}.month-note strong{color:var(--warn-text);font-weight:600}.whs-filter{display:flex;flex-direction:column;gap:4px;align-items:flex-end;margin-left:auto}.whs-filter select{min-width:280px;font-size:var(--fs-body);padding:7px 10px;border-radius:var(--radius-sm)}.section{position:relative;min-width:0}.section:empty,.section:has(>.section-toggle:only-child){display:none}.section>.card>.panel-head:first-child,.section>.card>h2:first-child{cursor:pointer;padding-right:88px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.section-toggle{position:absolute;z-index:1;top:16px;right:24px;min-width:52px;padding:6px 11px;line-height:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font:inherit;font-size:var(--fs-meta);font-weight:600;cursor:pointer;transition:color .12s,border-color .12s}.section-toggle:hover{color:var(--color-primary);border-color:var(--color-primary-line)}.section.collapsed>.card>:not(:first-child){display:none}.section.collapsed>.card{padding-bottom:0}.section.collapsed>.card>.panel-head:first-child,.section.collapsed>.card>h2:first-child{margin-bottom:0;border-bottom:0;border-radius:var(--radius)}.picker-status{padding:10px 12px;font-size:var(--fs-table)}.error-text{color:var(--danger-text)}.cal-head{flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:8px}.cal-head,.cal-nav{display:flex;align-items:center}.cal-nav{gap:6px}.cal-nav h2{margin:0;min-width:11ch;text-align:center}.btn-icon{padding:4px 6px}.sw.clash{background:var(--ember-50);border:1px solid var(--warn-text)}.pto-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.pto-cal-dow{padding:6px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);background:var(--surface-2)}.pto-cal-day,.pto-cal-dow{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.pto-cal-day{min-height:96px;padding:4px 6px 6px;background:var(--surface);min-width:0}.pto-cal-day.we{background:var(--surface-2)}.pto-cal-day.out{opacity:.5}.pto-cal-day.hol{background:repeating-linear-gradient(90deg,var(--surface),var(--surface) 2px,var(--blue-50) 2px,var(--blue-50) 4px)}.pto-cal-day.clash{background:var(--ember-50);box-shadow:inset 0 0 0 2px var(--warn-text)}.pto-cal-day.today .pto-cal-num>span:first-child{background:var(--plum-2);color:var(--text-on-primary);border-radius:var(--radius-pill);padding:0 6px}.pto-cal-num{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;margin-bottom:4px}.pto-cal-flag{font-size:10px;font-weight:700;color:var(--warn-text);text-transform:uppercase}.pto-cal-hol{font-size:11px;font-weight:700;color:var(--info-text);margin-bottom:3px}.pto-cal-day ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.pto-cal-day li.blk{font-size:11px;line-height:1.35;padding:1px 5px;border-radius:var(--radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pto-cal-day li.blk.approved{color:var(--text-on-primary)}.pto-cal-day li.blk.pending{color:var(--text)}.pto-cal-day li.blk.me{font-weight:700}@media (max-width:700px){.pto-cal-day{min-height:64px;padding:2px 3px}.pto-cal-dow{padding:4px 2px;font-size:10px;text-align:center}.pto-cal-day li.blk{font-size:10px;padding:0 3px}}.pto-overlap{margin-top:8px;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:var(--fs-table)}.pto-overlap.busy{background:var(--ember-50)}.pto-overlap ul{margin:4px 0 0;padding-left:18px}td.supplier-col{max-width:16ch}.supplier-cell{display:inline-flex;align-items:center;gap:4px;max-width:100%;vertical-align:middle}.supplier-cell .supplier-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.supplier-cell .supplier-name.from-history{-webkit-text-decoration:underline dotted var(--info-text);text-decoration:underline dotted var(--info-text);text-underline-offset:3px}table.data.report.compact td,table.data.report.compact th{padding-left:7px;padding-right:7px}table.data.report.compact th{white-space:normal;vertical-align:bottom;line-height:1.25;letter-spacing:.03em}table.data.report.compact th>span{display:inline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.payment-run-past-due{font-size:13px;color:var(--text-2);padding-top:6px;margin-top:4px;border-top:1px solid var(--border)}.kpi .value.neg,.payment-run-past-due.neg{color:var(--danger-text)}.payment-run-list .kpi-grid{margin-bottom:16px}.commission-suppliers .report-toolbar,.payment-run-list .report-toolbar{flex-wrap:wrap}.payment-run-flag{display:flex;gap:6px;align-items:flex-start;font-size:13px;border:1px solid var(--warning-border);border-radius:var(--radius-xs);padding:6px 8px;margin-top:6px}.badge.check,.payment-run-flag{color:var(--warning-text);background:var(--warning-bg)}.badge.check{border-color:var(--warning-border);margin-left:0;white-space:nowrap;display:inline-block;margin-top:4px}.balance-check{margin:0 0 16px;padding:12px 14px;border:1px solid var(--warning-border);background:var(--warning-bg);border-radius:var(--radius)}.balance-check h3{display:flex;gap:6px;align-items:center;margin:0 0 4px;font-size:var(--fs-body);color:var(--warning-text)}.balance-check p{margin:0 0 8px;font-size:13px;color:var(--text-2)}.kpi .value.warn-text{color:var(--warn-text)}.mark-expected{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:420px}.mark-expected label{font-size:13px;font-weight:600;color:var(--text)}.mark-expected textarea{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--text);resize:vertical}.mark-expected-actions{display:flex;gap:8px}.balance-expected{margin:0 0 16px;padding:10px 14px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius)}.balance-expected summary{display:flex;gap:6px;align-items:center;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-2)}.balance-expected p{margin:8px 0;font-size:13px;color:var(--text-2)}.balance-check .btn-ghost,.balance-expected .btn-ghost{white-space:nowrap}.spec-status{display:flex;gap:6px;align-items:center;margin:0 0 10px;font-size:13px;color:var(--text-2)}.spec-status.on-file{color:var(--success-text);font-weight:600}.attach-list li .attach-main{flex:1 1;min-width:0}.attach-main a{overflow-wrap:anywhere}.attach-main .attach-type{display:block;margin-top:4px}.attach-list li.is-spec{background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--radius-xs);padding:6px 8px}.attach-tag{display:inline-block;font-size:var(--fs-micro);font-weight:700;border-radius:var(--radius-xs);padding:1px 7px;margin-right:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2)}.attach-tag.vendor_spec{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.attach-type{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--text);flex:none}.attach-add-row{display:flex;gap:8px}.attach-add-row input[type=text]{flex:1 1}.btn.danger{background:var(--danger-solid);border-color:var(--danger-solid);color:var(--text-on-primary)}.confirm-box{border:1px solid var(--danger-border);background:var(--danger-bg);border-radius:var(--radius-xs);padding:10px 12px;margin-top:6px}.confirm-box p{margin:0 0 6px;font-size:13px;color:var(--text)}.confirm-box.card{border-radius:var(--radius);padding:16px 18px;margin:0 0 16px}.confirm-box.card h2{color:var(--danger-text)}.confirm-box.card p{font-size:var(--fs-body)}.confirm-actions{display:flex;gap:8px;margin-top:8px}.sample-emails h3{font-size:var(--fs-body);margin:0 0 8px;color:var(--text)}.email-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.email-tracking{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-xs)}.email-tracking.pending{border-color:var(--info-border);background:var(--info-bg)}.email-tracking p{display:flex;gap:6px;align-items:center;margin:0 0 8px;font-size:13px}.email-forward{margin:12px 0 0}.email-log{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.email-log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.email-log li.failed{color:var(--danger-text)}.composer{border:1px solid var(--border-strong);border-radius:var(--radius-xs);padding:12px 14px;background:var(--surface)}.composer-row{display:grid;grid-template-columns:64px 1fr;align-items:center;grid-gap:8px;gap:8px;margin-bottom:6px}.composer-row label{font-size:13px;color:var(--text-2)}.composer input,.composer-body{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--text);width:100%;box-sizing:border-box}.composer-body{margin:6px 0;font-family:var(--font-mono,ui-monospace,monospace);line-height:1.45;resize:vertical}.composer-files{border:0;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.composer-files legend{font-weight:600;margin-bottom:4px}.ok-text{color:var(--success-text);font-weight:600;font-size:13px}@media (max-width:600px){.composer-row{grid-template-columns:1fr}}.help-guide{max-width:72ch}.help-guide h2{margin:20px 0 6px;font-size:var(--fs-section)}.help-guide h2:first-child{margin-top:0}.help-guide a{color:var(--color-primary);text-decoration:underline}.help-guide p{margin:0 0 10px;font-size:var(--fs-body);line-height:1.55}.help-guide .help-steps{font-weight:600;color:var(--text-2)}.unapplied-warn{margin-bottom:4px;min-width:200px;max-width:260px}.detail-row>td{background:var(--surface-2);padding:8px 14px 12px}.invoice-history{max-width:720px}.invoice-history-note{margin:0;font-size:13px}.row-actions{display:flex;gap:4px;flex-wrap:nowrap}.excluded-invoices{margin-top:16px}.month-card.scheduled-card{--accent:var(--accent-scheduled)}.scheduled-caveat{padding-top:6px;font-style:italic}.month-card.commission-card{--accent:var(--accent-commission)}.payment-run-line{display:flex;flex-direction:column;gap:6px;margin-top:4px}.payment-run-line-main{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-left:2px solid var(--warning-solid);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:var(--fs-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color .12s}.payment-run-line-main:hover{border-color:var(--color-primary-line);box-shadow:var(--shadow-hover)}.payment-run-line.monday .payment-run-line-main{border-left-color:var(--warning-text);background:var(--warning-bg)}a.payment-run-flag{margin-top:0}a.payment-run-flag:hover{border-color:var(--warning-text)}.bank-balances table.data tfoot td{border-top:1px solid var(--border-strong)}.credit-line-block{margin-top:16px;padding:10px 14px;border:1px solid var(--ember-200);border-left:3px solid var(--ember-600);border-radius:var(--radius);background:var(--ember-50);color:var(--ember-700);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.credit-line-block p{margin:0}.credit-line-block .muted{color:var(--ember-700)}.credit-line-head{font-size:13px;margin-bottom:6px!important}.credit-line-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-top:4px}.row-toggle{display:inline-flex;align-items:flex-start;gap:6px;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.row-toggle>span{display:flex;flex-direction:column}.row-toggle>.caret{margin-top:6px}.caret{display:inline-block;flex:none;width:7px;height:7px;margin:0 6px 0 2px;vertical-align:2px;color:var(--text-3);border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(-45deg);transition:transform .12s}.caret.open{transform:rotate(45deg)}.row-toggle:hover .cell-main{text-decoration:underline}.detail-row table.data.compact{background:var(--surface)}.detail-row table.data.compact td,.detail-row table.data.compact th{padding:6px 10px}table.data>tfoot td{background:var(--surface-2);border-top:2px solid var(--border);border-bottom:0}.tag.quote-open{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.tag.quote-quoted{background:var(--plum-soft);border-color:var(--color-primary-line);color:var(--color-primary)}.tag.quote-in_process{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.tag.quote-complete{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.tag.quote-cancelled{background:var(--surface-2);border-color:var(--border);color:var(--text-3);text-decoration:line-through}.status-note{margin:2px 0 0;font-size:12px;color:var(--text-2);white-space:pre-wrap}.note-box{display:flex;flex-direction:column;gap:6px;max-width:520px}.note-box textarea{width:100%}.tag.supplier-to_ask{background:var(--surface-2);border-color:var(--border);color:var(--text-2)}.tag.supplier-awaiting{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.tag.supplier-awaiting.chase{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.tag.supplier-responded{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.tag.supplier-declined{background:var(--surface-2);border-color:var(--border);color:var(--text-3)}.suggest{position:relative;width:100%}.suggest>input{width:100%;box-sizing:border-box}.suggest-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 2px);margin:0;padding:4px 0;list-style:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-xs);box-shadow:var(--shadow-float);max-height:280px;overflow-y:auto}.suggest-list li{padding:6px 10px;cursor:pointer;display:flex;flex-direction:column;gap:1px}.suggest-list li.on,.suggest-list li:hover{background:var(--surface-hover)}.form-section{margin:18px 0 2px;font-size:16px}.quote-form .form-section+p{margin:0 0 4px}.inline-pair{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.item-rows{list-style:none;margin:8px 0 10px;padding:0;display:flex;flex-direction:column;gap:10px}.item-row{border:1px solid var(--border);border-radius:var(--radius-xs);padding:10px 12px;background:var(--surface)}.item-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.item-fields .field{min-width:120px;flex:0 1 150px}.item-fields .field.grow{flex:1 1 280px}.item-fields .field.qty{flex-basis:140px}.item-num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--plum-soft);color:var(--color-primary);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:22px}.item-view .item-num{margin-top:0}.item-remove{margin-top:22px}.item-view{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.item-view .grow{flex:1 1;min-width:0}.quoted-pill{flex:0 1 auto;max-width:100%;white-space:normal;font-size:12px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.item-history{margin-top:8px;padding:8px 10px;border-radius:var(--radius-xs);background:var(--surface-2);border-left:2px solid var(--border-strong)}.item-history.recent{background:var(--success-bg);border-left-color:var(--success-solid)}.item-history.none{background:transparent;border-left-color:transparent;padding-left:0}.item-history .history-flag{margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}.badge.recent-price{background:var(--success-solid);color:var(--white);margin-left:0}.item-history .history-table{margin-top:6px;background:transparent}.item-history .history-table td{padding:4px 8px;border-bottom:1px solid var(--border-subtle);background:transparent}.item-history .history-table tr:last-child td{border-bottom:0}.num-input,td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.chase-panel{border-color:var(--danger-border);box-shadow:inset 3px 0 0 var(--danger-border)}.chase-panel h2{display:flex;align-items:center;gap:8px}.chase-list{list-style:none;margin:8px 0 0;padding:0}.chase-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--border-subtle)}.chase-list li:first-child{border-top:0}.chase-main{color:inherit;text-decoration:none;min-width:0}.chase-main:hover .strong{text-decoration:underline}.chase-when{text-align:right;flex:none}.supplier-cell li{line-height:1.35}.supplier-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.supplier-card{border:1px solid var(--border);border-radius:var(--radius-xs);padding:10px 12px;scroll-margin-top:80px}.supplier-card.chase{border-color:var(--danger-border);box-shadow:inset 3px 0 0 var(--danger-border)}.supplier-card:target{outline:2px solid var(--color-primary-line)}.supplier-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.supplier-actions{margin-top:8px;display:flex;flex-direction:column;gap:8px}.supplier-actions input[type=date]{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-xs)}.add-supplier,.response-form{border-top:1px solid var(--border-subtle);padding-top:10px}.add-supplier{margin-top:14px}.send-placeholder{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;padding:12px 14px;border:1px dashed var(--warn-border);border-radius:var(--radius-sm);background:var(--warn-bg)}.send-placeholder>div{display:flex;flex-direction:column;gap:2px}.tag.needs-supplier{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}tr.row-needs-supplier>td:first-child{box-shadow:inset 3px 0 0 var(--warn-border)}.add-supplier h3,.response-form h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:14px}.pricing-table input,.response-table input{font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);width:100%;min-width:80px;box-sizing:border-box;background:var(--surface);color:var(--text)}.pricing-table .num-input,.response-table .num-input{min-width:72px;max-width:96px}.pricing-table .unit-input,.response-table .unit-input{min-width:56px;max-width:72px}.pricing-table td:first-child{min-width:180px}.pricing-table input[aria-label^="Supplier for"]{min-width:150px}.pricing-table input[aria-label^="Note for"]{min-width:170px}.compare-item+.compare-item{margin-top:14px}.compare-item h3{margin:0 0 6px;font-size:14px}.compare-table tr.best td{background:var(--success-bg)}.compare-table tr.muted td{color:var(--text-3)}.badge.best-price{background:var(--success-solid);color:var(--white);display:inline-flex;align-items:center;gap:3px}@media (max-width:860px){.item-fields .field,.item-fields .field.grow,.item-fields .field.qty{flex:1 1 100%}.item-num,.item-remove{margin-top:0}.chase-list li{flex-direction:column}.chase-when{text-align:left}}.sidebar{border-right-color:var(--aubergine-900)}.brand{border-bottom-color:var(--nav-line)}.brand-mark{background:var(--leaf-strip)}.brand-name{color:var(--white)}.nav-head:focus-visible{outline-color:var(--leaf-300)}.nav-item:hover,.sidebar-footer form button:hover{color:var(--white)}.nav-head.active:before,.nav-item.active:before{width:3px;background:var(--leaf-500)}.card:not(.empty)>h2:first-child,.card>.panel-head:first-child{background:linear-gradient(180deg,var(--color-primary-soft) 0,var(--surface) 100%);border-bottom-color:var(--color-primary-tint)}.card:not(.empty)>h2:first-child,.panel-head h2{color:var(--color-primary-strong)}table.data th{font-weight:700;border-bottom-width:2px}.kpi{border-top-width:3px}.kpi.drill:hover,.month-card:hover{box-shadow:var(--shadow-hover)}.kpi .label{color:var(--color-primary-strong);font-weight:700}.month-card{border-top-width:4px}.month-card-head .label{color:var(--color-primary-strong);font-weight:700}.aging-panel,.expiry-panel,.risk-panel,.stat{border-top-width:3px}.hours-notice{display:flex;flex-direction:column;gap:2px;font-size:13px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);margin-bottom:12px}.hours-notice strong{color:var(--text)}.hours-notice.due{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn-text)}.hours-notice.late{border-color:var(--danger-border);border-left:3px solid var(--danger-solid);background:var(--danger-bg);color:var(--danger-text)}.hours-notice.due strong,.hours-notice.late strong{color:inherit;font-weight:700}.hours-notice.done{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.hours-notice.compact{margin:8px 0 0;padding:8px 10px;font-size:var(--fs-meta);text-decoration:none}.hours-notice.compact.done{background:transparent;border-color:transparent;color:var(--nav-text-dim);padding:4px 8px}.hours-notice.compact.done strong{color:inherit;font-weight:500}.hours-period .panel-head p{margin:2px 0 0}.hours-rows{display:flex;flex-direction:column}.hours-row{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(260px,1.6fr);grid-gap:6px 16px;gap:6px 16px;padding:12px 0;border-top:1px solid var(--border)}.hours-row:first-child{border-top:0}.hours-row.status-late{box-shadow:inset 3px 0 0 var(--danger-border);padding-left:10px}.hours-row.status-missing{box-shadow:inset 3px 0 0 var(--warn-border);padding-left:10px}.hours-dates{display:flex;flex-direction:column;gap:2px}.hours-inputs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hours-field{display:inline-flex;align-items:center;gap:6px}.hours-note{flex:1 1 180px;min-width:0}.hours-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.hours-history{margin:4px 0 0;padding-left:18px;font-size:var(--fs-meta);color:var(--text-2);grid-column:1/-1}.hours-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.tag.hours-entered{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.tag.hours-missing{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.tag.hours-late{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.tag.hours-changed{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.tag.hours-not_required{background:var(--surface-2);border-color:var(--border);color:var(--text-3)}.nav-count.danger{background:var(--danger-solid)}.row-total td{border-top:1px solid var(--border)}@media (max-width:640px){.hours-row{grid-template-columns:1fr}}.customer-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px 24px;gap:16px 24px}.customer-details h3{font-size:var(--fs-meta);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:0 0 6px}.customer-field{display:flex;flex-direction:column;margin-bottom:6px;overflow-wrap:anywhere}.note-log .note-body,.note-revisions .note-body{white-space:pre-wrap;overflow-wrap:anywhere}a.customer-link{color:inherit;text-decoration:none;border-bottom:1px dotted var(--border-strong)}a.customer-link:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.profile-link{font-size:var(--fs-micro);font-weight:600;margin-left:6px;white-space:nowrap}.link-review-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) auto;grid-gap:8px 16px;gap:8px 16px;padding:12px 0;border-top:1px solid var(--border);align-items:start}.link-review-row:first-child{border-top:0}.link-review-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}@media (max-width:760px){.link-review-row{grid-template-columns:1fr}.link-review-actions{justify-content:flex-start}}.ar-contact{padding:2px 0;overflow-wrap:anywhere}.ar-contact-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.ar-contact-form input,.ar-contact-form select{font:inherit;font-size:var(--fs-meta);padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.ar-sending-off{margin:0 0 12px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--danger-border);border-left:4px solid var(--danger-solid);background:var(--danger-bg);color:var(--danger-text)}.ar-email .ar-recipients{display:flex;flex-direction:column;gap:2px;margin:8px 0;overflow-wrap:anywhere}.ar-draft{display:flex;flex-direction:column;gap:4px;margin-top:10px}.ar-draft input,.ar-draft textarea{font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%}.ar-draft textarea{font-family:var(--mono);font-size:var(--fs-meta);line-height:1.5}.ar-pause-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}.ar-pause-form input{font:inherit;font-size:var(--fs-meta);padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm)}.ar-sent-body{white-space:pre-wrap;font-size:var(--fs-meta);margin:6px 0 0}.tag.ar-stage-0,.tag.ar-stage-1{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.tag.ar-stage-2{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.tag.ar-stage-3,.tag.ar-stage-4{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.ar-notes{margin:10px 0 4px;padding-top:8px;border-top:1px solid var(--border)}.ar-step-days{margin-bottom:12px}.ar-step-days-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.ar-step-days-row label{display:flex;flex-direction:column;gap:4px}.ar-step-days-row input{width:96px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ar-step-days p{margin:8px 0 0}.tag.ar-promise-active{background:var(--info-bg);color:var(--info-text);border-color:var(--info-border)}.tag.ar-promise-broken{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.tag.ar-promise-kept{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.tag.ar-promise-cancelled{background:var(--surface-muted);color:var(--text-2);border-color:var(--border)}.ar-promise-form{flex-wrap:wrap}.contract-group{margin:14px 0 6px;font-size:var(--fs-micro,12px);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}.contract{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:10px;background:var(--surface)}.contract-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}.contract .nowrap,.contract-head .nowrap{white-space:nowrap}.contract-progress-row>td{padding-top:0!important;border-top:0!important}.contract-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin:2px 0 4px;max-width:420px}.contract-bar>span{display:block;height:100%;background:var(--color-primary)}.contract-bar>span.over{background:var(--warning-solid)}.contract-terms{display:grid;grid-template-columns:max-content 1fr;grid-gap:2px 12px;gap:2px 12px;margin:8px 0 0;font-size:13px}.contract-terms dt{color:var(--text-2)}.contract-terms dd{margin:0}.contract-remarks{margin-top:6px}.contract-remarks p{margin:6px 0 0}.contract-terms-line{display:block}