:root,:root[data-theme=light]{--brand:#2bb5b1;--brand-strong:#178a86;--brand-ink:#10201f;--bg:#eef0f0;--surface:#fff;--surface-2:#f7f9f9;--border:#e1e5e5;--border-strong:#cfd5d5;--text:#231f20;--text-2:#4a5150;--muted:#6a7170;--placeholder:#8b9291;--code:#178a86;--code-dim:#6a7170;--st-neutral-bg:#eef0f0;--st-neutral-fg:#6b7270;--st-brand-bg:#e4f5f4;--st-brand-fg:#178a86;--st-prod-bg:#fff2df;--st-prod-fg:#b5730a;--st-qc-bg:#fdf7e3;--st-qc-fg:#a68a0a;--st-rfd-bg:#e9eef6;--st-rfd-fg:#3f5b8f;--st-hold-bg:#fdecec;--st-hold-fg:#c0392b;--st-done-bg:#e6f5ec;--st-done-fg:#1a8a4a;--danger:#c0392b;--shadow:0 1px 2px rgba(35,31,32,.04);--sidebar-w:236px}:root[data-theme=dark]{--brand:#2bb5b1;--brand-strong:#3fd0cb;--brand-ink:#10201f;--bg:#1a1718;--surface:#231f20;--surface-2:#1f1b1c;--border:#322d2e;--border-strong:#3a3536;--text:#ece9ea;--text-2:#b3adae;--muted:#9c9596;--placeholder:#7d7677;--code:#3fd0cb;--code-dim:#9c9596;--st-neutral-bg:#2c2829;--st-neutral-fg:#9a9394;--st-brand-bg:#123634;--st-brand-fg:#3fd0cb;--st-prod-bg:#3a2a0c;--st-prod-fg:#e6a53a;--st-qc-bg:#332c0a;--st-qc-fg:#e6c94a;--st-rfd-bg:#1c2740;--st-rfd-fg:#7d9bd6;--st-hold-bg:#3a1614;--st-hold-fg:#f0736a;--st-done-bg:#123320;--st-done-fg:#4ecb7e;--danger:#f0736a;--shadow:none}@media (prefers-color-scheme:dark){:root[data-theme=system]{--brand:#2bb5b1;--brand-strong:#3fd0cb;--brand-ink:#10201f;--bg:#1a1718;--surface:#231f20;--surface-2:#1f1b1c;--border:#322d2e;--border-strong:#3a3536;--text:#ece9ea;--text-2:#b3adae;--muted:#9c9596;--placeholder:#7d7677;--code:#3fd0cb;--code-dim:#9c9596;--st-neutral-bg:#2c2829;--st-neutral-fg:#9a9394;--st-brand-bg:#123634;--st-brand-fg:#3fd0cb;--st-prod-bg:#3a2a0c;--st-prod-fg:#e6a53a;--st-qc-bg:#332c0a;--st-qc-fg:#e6c94a;--st-rfd-bg:#1c2740;--st-rfd-fg:#7d9bd6;--st-hold-bg:#3a1614;--st-hold-fg:#f0736a;--st-done-bg:#123320;--st-done-fg:#4ecb7e;--danger:#f0736a;--shadow:none}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Helvetica,Arial,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:var(--brand-strong);text-decoration:none;font-weight:600}a:hover{text-decoration:underline}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);display:flex;flex-direction:column;gap:4px;padding:16px 14px 14px;border-right:1px solid var(--border);background:var(--surface);z-index:40}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 12px}.sidebar-logo{display:inline-flex;line-height:0}.sidebar .logo-light{height:26px;display:inline-block}.sidebar .logo-dark{height:22px;display:none}:root[data-theme=dark] .sidebar .logo-light{display:none}:root[data-theme=dark] .sidebar .logo-dark{display:inline-block}@media (prefers-color-scheme:dark){:root[data-theme=system] .sidebar .logo-light{display:none}:root[data-theme=system] .sidebar .logo-dark{display:inline-block}}.sidebar-context{display:flex;flex-direction:column;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);line-height:1.3;text-decoration:none}.sidebar-context span{color:var(--text);font-size:13px}.sidebar-search{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:10px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer}.sidebar-search:hover{border-color:var(--brand);color:var(--text)}.sidebar-search-icon{font-size:15px;line-height:1}.sidebar-search kbd{margin-left:auto;font-size:10px;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.sidebar-nav{flex:1 1;overflow-y:auto;gap:12px;margin:2px -4px;padding:0 4px}.sidebar-group,.sidebar-nav{display:flex;flex-direction:column}.sidebar-group{gap:1px}.sidebar-group-label{font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--text);padding:4px 10px 3px}.sidebar-link{display:block;padding:6px 10px;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--text-2);text-decoration:none;position:relative}.sidebar-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.sidebar-link.active{background:var(--st-brand-bg);color:var(--brand-strong);font-weight:600}.sidebar-link.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.sidebar-foot{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.sidebar-unreachable{font-size:11px;line-height:1.45;color:var(--warn-text,var(--text));background:var(--warn-bg,rgba(180,120,0,.12));border:1px solid var(--warn-border,rgba(180,120,0,.35));border-radius:6px;padding:8px 9px}.sidebar-account{display:flex;align-items:center;gap:8px}.sidebar-who{display:flex;flex-direction:column;line-height:1.25;text-decoration:none;min-width:0;flex:1 1}.sidebar-who-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.sidebar-who b{color:var(--text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-who:hover b{color:var(--brand-strong)}@media (max-width:860px){.sidebar{position:static;width:auto;align-items:center;gap:8px;border-right:0;border-bottom:1px solid var(--border)}.sidebar,.sidebar-nav{flex-direction:row;flex-wrap:wrap}.sidebar-nav{overflow:visible}.sidebar-group{flex-direction:row;align-items:center;gap:2px}.sidebar-group-label{display:none}.sidebar-search{width:auto;margin-bottom:0;flex:1 1}}.theme-toggle{display:inline-flex;border:1px solid var(--border-strong);border-radius:20px;padding:3px;gap:2px}.theme-toggle button{border:0;background:transparent;color:var(--muted);padding:4px 11px;border-radius:16px;font-size:11px;letter-spacing:.4px;cursor:pointer}.theme-toggle button.on{background:var(--text);color:var(--surface);font-weight:700}.container{max-width:1320px;margin-left:var(--sidebar-w);padding:26px 40px 60px}.container.wide{max-width:none}@media (max-width:860px){.container{margin-left:0}}.pagehead{display:flex;align-items:center;gap:12px;margin-bottom:18px}.pagehead .spacer{flex:1 1}.kpis{display:flex;gap:16px;margin-bottom:24px}.kpi{flex:1 1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow)}.kpi.hero{border-top:3px solid var(--brand)}.kpi .n{font-size:30px;font-weight:700;letter-spacing:-.5px}.kpi.hero .n{color:var(--brand-strong)}.kpi .l{color:var(--text-2);font-size:12px;letter-spacing:.4px;margin-top:3px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow)}.dropzone{border-style:dashed;border-width:2px;transition:border-color .12s,background .12s}.dropzone.dragging{border-color:var(--brand);background:var(--surface-2)}.panel-head{padding:15px 20px;border-bottom:1px solid var(--border);font-size:13px;font-weight:700;letter-spacing:.3px;display:flex;align-items:center}.panel-head .spacer{flex:1 1}.panel-head .count{color:var(--muted);font-weight:400;font-size:12px;margin-left:8px}.panel-head .search{margin-left:auto;width:220px;max-width:45%;padding:6px 10px;font-size:13px;font-weight:400;border:1px solid var(--border);border-radius:6px}.panel-head .inline-check{display:flex;align-items:center;gap:6px;margin-left:12px;font-weight:400;font-size:12px;color:var(--muted);white-space:nowrap;cursor:pointer}.panel-head .inline-check input{margin:0;cursor:pointer}tr.row-retired td{opacity:.55}.badge.muted-badge{background:var(--border);color:var(--muted);margin-left:8px}.panel-body{padding:20px}.panel-sub{margin:18px 0;padding-top:16px;border-top:1px solid var(--border)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.dtable tr[data-inactive=true] td{opacity:.55}ol.route{list-style:none;counter-reset:route;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}ol.route .route-step{counter-increment:route;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px}ol.route .route-step-actions select{width:auto;max-width:240px}ol.route .route-step:before{content:counter(route);flex:0 0 22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:var(--border-strong);color:var(--muted);font-size:12px;font-weight:600}ol.route .route-step.current{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}ol.route .route-step.current:before{background:var(--brand);color:#fff}ol.route .route-step.muted-step .route-name{color:var(--muted)}ol.route .route-name{font-weight:600}.route-outsourced{font-size:12px;font-weight:700;color:var(--st-rfd-fg);background:var(--st-rfd-bg);padding:2px 8px;border-radius:999px;white-space:nowrap}button.route-outsourced{border:1px dashed transparent;cursor:pointer;font:inherit;font-size:12px;font-weight:700}button.route-outsourced:focus-visible,button.route-outsourced:hover{border-color:currentColor}button.route-send-out{font:inherit;font-size:12px;font-weight:600;color:var(--muted);background:transparent;border:1px dashed var(--border);padding:2px 8px;border-radius:999px;white-space:nowrap;cursor:pointer}button.route-send-out:focus-visible,button.route-send-out:hover{color:var(--text);border-color:currentColor}ul.route-trail{list-style:none;margin:6px 0 0;padding:0;border-left:2px solid var(--border)}ul.route-trail li{padding:4px 0 4px 12px;font-size:13px;line-height:1.4}.route-provenance{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;border-radius:10px;font-size:13px;border:1px solid var(--border);background:var(--surface-2)}.route-provenance.standard{border-color:var(--brand);background:var(--surface-2)}.route-provenance.custom{border-color:var(--st-prod-fg);background:var(--st-prod-bg);color:var(--st-prod-fg)}.route-provenance-text{flex:1 1;min-width:200px}.route-provenance-actions{display:flex;gap:8px;flex-shrink:0}.stat-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}.stat{flex:1 1;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}.stat-label{font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--muted);text-transform:uppercase}.stat-value{font-size:22px;font-weight:700}.stat-value.stat-danger{color:var(--danger)}.stat-sub{font-size:12px;font-weight:600;color:var(--muted)}.stat-link{text-decoration:none;color:inherit;transition:border-color .12s ease,box-shadow .12s ease}.stat-link:hover{border-color:var(--border-strong);box-shadow:0 2px 10px rgba(0,0,0,.08)}.pipeline{display:flex;gap:12px;flex-wrap:wrap}.pipeline-stage{flex:1 1;min-width:120px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.pipeline-count{font-size:24px;font-weight:700;line-height:1}.pipeline-label{font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--muted);text-transform:uppercase}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px 24px;gap:16px 24px;margin-bottom:16px}.detail-grid>div{display:flex;flex-direction:column;gap:3px}.detail-label{font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--muted);text-transform:uppercase}h1{font-size:22px;margin:0;letter-spacing:-.2px}h2{font-size:12px;margin:0 0 12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.greeting,h2{font-weight:700}.greeting{font-size:24px;letter-spacing:-.2px;margin:0 0 2px}.greeting-sub{color:var(--text-2);margin:0 0 22px}.muted{color:var(--muted)}.warn{color:#b9770e}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px 28px;gap:14px 28px}.kv{display:flex;flex-direction:column;gap:3px}.kv-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kv-value{font-size:14px}.chip-wrap{display:flex;flex-wrap:wrap;gap:6px}.lchip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border:1px solid var(--border);border-radius:20px;background:transparent;color:var(--muted);font-size:12px;font-weight:600;line-height:18px;cursor:pointer;white-space:nowrap;width:auto}.lchip:hover:not(:disabled):not([aria-pressed=true]):not(.retired){color:var(--fg);border-color:var(--brand)}.lchip[aria-pressed=true]{background:var(--st-brand-bg);border-color:var(--st-brand-bg);color:var(--st-brand-fg)}.lchip:disabled{cursor:default;opacity:.6}.lchip.retired{border-style:dashed;cursor:default}.cap-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px 28px;gap:16px 28px;margin-top:14px}.cap-group{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.cap-group-head{display:flex;align-items:center;gap:8px;padding-bottom:8px;margin-bottom:6px;border-bottom:1px solid var(--border);cursor:pointer}.cap-group-head .muted{margin-left:auto;font-size:12px}.cap-item{display:flex;align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;cursor:pointer}.cap-group-head input,.cap-item input{margin-top:2px;width:auto}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:11px;letter-spacing:.3px;color:var(--muted);font-weight:700;padding:11px 20px;background:var(--surface-2)}tbody td,thead th{border-bottom:1px solid var(--border)}tbody td{padding:14px 20px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}.group-row td{background:var(--surface-2);padding-top:9px;padding-bottom:9px;border-bottom:1px solid var(--border)}.group-row .group-sep{color:var(--muted);margin:0 8px}.group-row .group-count{color:var(--muted);font-size:12px;margin-left:10px}.panel-body table tbody td:first-child,.panel-body table thead th:first-child{padding-left:0}.panel-body table tbody td:last-child,.panel-body table thead th:last-child{padding-right:0}.rowactions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.fix-routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;margin-top:4px}.fix-route{display:flex;flex-direction:column;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.fix-route>strong{font-size:13px;margin-bottom:4px}.fix-route>p{flex:1 1;margin:0 0 10px}.facet-tabs,.fix-route>div{display:flex;flex-wrap:wrap;gap:6px}.facet-tabs{align-items:center;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);margin-bottom:12px}.facet-tabs-title{font-size:13px;font-weight:700;letter-spacing:.3px;margin-right:8px}.facet-tabs .spacer{flex:1 1}.facet-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.facet-tab:hover{border-color:var(--border-strong);color:var(--text)}.facet-tab.active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.facet-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;border-radius:999px;background:var(--bg);color:var(--text-2)}.facet-tab.active .facet-count{background:hsla(0,0%,100%,.28);color:var(--brand-ink)}.facet-count.dirty{background:var(--st-prod-fg);color:#fff}.facet-tab.active .facet-count.dirty{background:#fff;color:var(--brand)}.unsaved-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--st-prod-bg);color:var(--st-prod-fg);font-size:13px}.code{font-family:Courier New,ui-monospace,monospace;font-weight:700;color:var(--code);letter-spacing:.3px}.code.dim{color:var(--code-dim)}.num{font-family:Courier New,ui-monospace,monospace;text-align:right}.nm,.num{font-weight:700}.num-col{text-align:right;white-space:nowrap}.sub{color:var(--muted);font-size:12px;margin-top:2px}.badge{display:inline-block;padding:5px 11px;border-radius:20px;font-size:12px;font-weight:700;text-transform:capitalize}.badge,.badge.draft,.badge.pending{background:var(--st-neutral-bg);color:var(--st-neutral-fg)}.badge.confirmed,.badge.quote{background:var(--st-brand-bg);color:var(--st-brand-fg)}.badge.declined,.badge.expired{background:var(--st-hold-bg);color:var(--st-hold-fg)}.badge.in_production{background:var(--st-prod-bg);color:var(--st-prod-fg)}.badge.quality_check{background:var(--st-qc-bg);color:var(--st-qc-fg)}.badge.ready_for_dispatch{background:var(--st-rfd-bg);color:var(--st-rfd-fg)}.badge.on_hold{background:var(--st-hold-bg);color:var(--st-hold-fg)}.badge.doubt{background:var(--st-qc-bg);color:var(--st-qc-fg)}.badge.available,.badge.awaiting_fulfilment{background:var(--st-rfd-bg);color:var(--st-rfd-fg)}.badge.allocated{background:var(--st-brand-bg);color:var(--st-brand-fg)}.badge.allocated,.badge.available{text-transform:none}.badge.conn-neutral{background:var(--st-neutral-bg);color:var(--st-neutral-fg);text-transform:none}.badge.conn-attention{background:var(--st-qc-bg);color:var(--st-qc-fg);text-transform:none}.badge.conn-live{background:var(--st-brand-bg);color:var(--st-brand-fg);text-transform:none}.badge.no-confirmation{background:var(--st-neutral-bg);color:var(--st-neutral-fg);text-transform:none}.badge.no-confirmation-aged,.badge.promise-unconfirmed{background:var(--st-qc-bg);color:var(--st-qc-fg);text-transform:none}.badge.dispatched{background:var(--st-prod-bg);color:var(--st-prod-fg)}.badge.completed,.badge.delivered,.badge.received{background:var(--st-done-bg);color:var(--st-done-fg)}.badge.ordered{background:var(--st-prod-bg);color:var(--st-prod-fg)}.badge.partially_received{background:var(--st-qc-bg);color:var(--st-qc-fg)}.badge.replaced{background:var(--st-done-bg);color:var(--st-done-fg)}.badge.credited,.badge.refunded{background:var(--st-brand-bg);color:var(--st-brand-fg)}.badge.absorbed,.badge.late{background:var(--st-hold-bg);color:var(--st-hold-fg)}.badge.late{text-transform:none}.badge.at_risk,.badge.due_today{background:var(--st-qc-bg);color:var(--st-qc-fg);text-transform:none}.badge.low{background:var(--st-hold-bg);color:var(--st-hold-fg);text-transform:none}.badge.consumable{background:var(--st-neutral-bg);color:var(--st-neutral-fg);text-transform:none}.dispatch-order+.dispatch-order{border-top:1px solid var(--border)}.dispatch-order-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.dispatch-order-head .spacer{flex:1 1}.dispatch-order .stage-of{display:block;font-family:Helvetica,Arial,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:400;white-space:nowrap;color:var(--muted)}.fulfil-figures{display:flex;flex-wrap:wrap;gap:18px}.fulfil-figures>div{min-width:78px}.fulfil-figures label{display:block}.fulfil-figures b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:15px}.line-config{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.line-config .chip{display:inline-block;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:500;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}.line-config .chip b{color:var(--text);font-weight:700}.line-config .chip.dim{color:var(--muted)}.line-config .chip .chip-price{color:var(--muted);font-weight:600}.subrow td{background:var(--surface-2)}.upcharge-grid{display:flex;flex-wrap:wrap;gap:10px}.upcharge-cell{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--text-2)}.upcharge-cell>span:first-child{font-weight:600}.upcharge-input{display:inline-flex;align-items:center;gap:4px}.upcharge-input .prefix{color:var(--muted)}.upcharge-input input{width:68px;text-align:right}.cell-price{margin-top:2px;font-size:11px;color:var(--muted);text-align:center}.badge.cancelled{background:var(--st-hold-bg);color:var(--st-hold-fg)}label{display:block;margin:12px 0 5px;color:var(--text-2);font-size:13px}input,select,textarea{width:100%;padding:9px 11px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font:inherit}input[type=checkbox],input[type=radio]{width:auto;flex:none;padding:0}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(43,181,177,.18)}input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}button{padding:9px 16px;border:1px solid transparent;border-radius:8px;background:var(--brand);color:#fff;font:inherit;font-weight:700;cursor:pointer}button:hover{background:var(--brand-strong)}button.secondary{background:transparent;color:var(--text);border-color:var(--border-strong)}button.secondary:hover{background:var(--surface-2)}button.small{padding:6px 11px;font-size:13px}button:disabled{opacity:.5;cursor:not-allowed}input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--surface-2)}button.danger{background:var(--danger);color:#fff;border-color:transparent}button.danger:hover{filter:brightness(.92)}.button{display:inline-flex;align-items:center;padding:9px 16px;border:1px solid transparent;border-radius:8px;background:var(--brand);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.button:hover{background:var(--brand-strong)}.button.secondary{background:transparent;color:var(--text);border-color:var(--border-strong)}.button.secondary:hover{background:var(--surface-2)}.confirm{display:inline-flex;align-items:center;gap:8px}.amend-row>td,.confirm{font-size:13px;color:var(--text-2)}.amend-row>td{background:var(--surface-2);border-top:0;padding:8px 12px 10px}.amend-row label{display:block;margin-bottom:4px;font-weight:600;color:var(--text)}.amend-row input{width:100%;max-width:640px}.amend-row .muted.small{display:block;margin-top:4px}.error{color:var(--danger);margin:8px 0;font-weight:600}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}.notice{color:var(--brand-strong);margin:8px 0;font-weight:600}.row{display:flex;gap:10px;align-items:flex-end}.row>*{flex:1 1}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 16px;gap:12px 16px}.form-grid .span-2{grid-column:1/-1}.form-section{display:flex;align-items:center;margin:22px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.order-totals{margin-left:auto;width:320px;max-width:100%;padding:14px 20px 16px;border-top:1px solid var(--border)}.order-totals .row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:4px 0;color:var(--muted)}.order-totals .row .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.order-totals .row.grand{margin-top:6px;padding-top:10px;border-top:1px solid var(--border);color:var(--text,inherit);font-weight:700;font-size:16px}.order-totals .row.grand.paid{color:var(--brand)}.import-result{margin-top:18px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2,rgba(0,0,0,.02))}.import-result p{margin:0 0 6px}.import-result ul{margin:6px 0 0;padding-left:20px}.combo{position:relative}.combo>input{width:100%;padding-right:30px}.combo-toggle{position:absolute;top:0;right:0;height:100%;width:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-2);font-size:12px;cursor:pointer}.combo-toggle:hover{color:var(--brand-strong);background:transparent}.combo-toggle.has-clear{right:24px}.combo:has(.combo-clear)>input{padding-right:54px}.combo-clear{position:absolute;top:0;right:0;height:100%;width:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-2);font-size:15px;line-height:1;cursor:pointer}.combo-clear:hover{color:var(--danger);background:transparent}.combo-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:auto;min-width:340px;max-width:460px;margin:0;padding:4px;list-style:none;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow)}.combo-list li{margin:0}.combo-list li>button{width:100%;display:flex;align-items:baseline;gap:10px;padding:7px 9px;background:transparent;border:none;border-radius:6px;text-align:left;color:var(--text);font-size:13px;cursor:pointer}.combo-list li>button.active,.combo-list li>button:hover{background:var(--surface-2)}.combo-list .code{flex:0 0 auto}.combo-list li>button.prod-row{flex-direction:column;align-items:stretch;gap:3px;padding:9px 11px}.prod-row-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.combo-sku{flex:0 0 auto;font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:11px;letter-spacing:.02em;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 6px}.combo-name{color:var(--text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combo-price{flex:0 0 auto;color:var(--text-2);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.combo-empty{padding:8px 9px;color:var(--muted);font-size:13px}.combo-internal{border-top:1px solid var(--border);margin-top:2px}.combo-list li>button.combo-internal-btn{color:var(--brand-strong);font-weight:600;font-size:12px;padding:7px 9px}.combo-list li>button.combo-internal-btn .muted{font-weight:400}.combo-create-ask{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 9px;border-top:1px solid var(--border);margin-top:2px}.combo-create-label{color:var(--muted);font-size:12px;white-space:nowrap}.combo-create-choices{display:flex;gap:6px;flex-wrap:wrap}.combo-list li>button.combo-create{color:var(--brand-strong);font-weight:600;font-size:12px;padding:3px 8px;width:auto;border:1px solid var(--border);border-radius:5px}.combo-list li>button.combo-create:hover:not(:disabled){border-color:var(--brand-strong);background:var(--brand-weak,rgba(0,0,0,.04))}.combo-list li>button.combo-create:disabled{color:var(--muted);cursor:default}.date-presets li>button{justify-content:space-between}.date-preset-label{flex:1 1 auto;color:var(--text)}.date-preset-date{flex:0 0 auto;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tier-bands{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.tier-band{display:inline-flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:8px;padding:6px 10px;min-width:66px}.tier-band-range{font-size:12px;color:var(--text-2)}.tier-band-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.listing-rail{gap:6px}.listing-rail,.listing-rail-item{display:flex;flex-direction:column}.listing-rail-item{gap:2px;align-items:flex-start;text-align:left;width:100%;padding:8px 10px;font-size:12px;font-weight:400;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid transparent;border-radius:8px;cursor:pointer}.listing-rail-item b{color:var(--text);font-size:13px}.listing-rail-item:hover{border-color:var(--border-strong)}.listing-rail-item.active{background:var(--surface);border-left-color:var(--brand);color:var(--text)}.cust-combo .cust-mono-sm{position:absolute;left:8px;top:50%;transform:translateY(-50%);pointer-events:none}.cust-input-picked{padding-left:40px!important;font-weight:600}.cust-mono{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;font-size:10px;font-weight:700;letter-spacing:.02em}.cust-mono-sm{width:24px;height:24px;border-radius:6px}.combo-list li>button.cust-row{display:flex;align-items:center;gap:10px;padding:8px 10px}.cust-main{display:flex;flex-direction:column;gap:1px;min-width:0;text-align:left}.cust-primary{font-weight:600;color:var(--text,inherit)}.cust-primary,.cust-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cust-sub{font-size:12px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px 16px;gap:12px 16px}.field-grid>div{min-width:0}.field-grid label{margin-top:0}.field-note{margin:5px 0 0;font-size:12px;color:var(--text-2)}@media (max-width:640px){.field-grid{grid-template-columns:1fr}}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{flex:0 0 auto;margin:0;padding:8px 20px;border:0;border-radius:0;background:var(--surface,#fff);color:var(--text-2);font-weight:600;cursor:pointer}.seg button+button{border-left:1px solid var(--border)}.seg button.seg-on{background:var(--brand);color:#fff}.seg-sm button{padding:4px 10px;font-size:12px}.seg-sm button.seg-on .muted{color:hsla(0,0%,100%,.75)}.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px 20px;gap:12px 20px}.meta-grid>div{display:flex;flex-direction:column;gap:3px;min-width:0}.meta-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.meta-value{font-weight:600;color:var(--text,inherit)}.meta-address{margin:14px 0 0;color:var(--text-2)}@media (max-width:640px){.meta-grid{grid-template-columns:1fr 1fr}}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:380px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px 30px;box-shadow:var(--shadow)}.auth-card .logo{height:34px;margin-bottom:22px}.auth-card h1{font-size:19px;margin:0 0 4px}.auth-card .sub{color:var(--text-2);margin:0 0 18px;font-size:13px}.modal-backdrop{position:fixed;inset:0;background:rgba(35,31,32,.45);display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;overflow-y:auto;z-index:50}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(35,31,32,.22);width:100%;max-width:720px}.modal .panel-head{border-bottom:1px solid var(--border)}.modal-wide{max-width:1040px}.modal .facet-tabs{margin:0;border-radius:0;border-left:0;border-right:0;border-top:0}.modal .panel-body>.panel,.modal-facet-body>.panel{border:0;box-shadow:none;border-radius:0}.modal-facet-body{padding:0}.toast-stack{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:80;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;min-width:260px;max-width:420px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);box-shadow:0 8px 28px rgba(35,31,32,.18);pointer-events:auto;animation:toast-in .14s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-dot{width:8px;height:8px;border-radius:50%;flex:none}.toast.success .toast-dot{background:var(--st-done-fg)}.toast.error .toast-dot{background:var(--danger)}.toast.info .toast-dot{background:var(--brand)}.toast-text{flex:1 1;font-size:13px;color:var(--text)}.toast-close{border:0;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.toast-close:hover{color:var(--text)}.cmdk-overlay{position:fixed;inset:0;background:rgba(20,18,19,.44);display:flex;align-items:flex-start;justify-content:center;padding:84px 20px 20px;z-index:90}.cmdk{width:100%;max-width:640px;max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 20px 60px rgba(20,18,19,.35);overflow:hidden;animation:toast-in .12s ease-out}.cmdk-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.cmdk-search-icon{font-size:18px;color:var(--muted);line-height:1}.cmdk-input{flex:1 1;border:0;outline:0;background:transparent;color:var(--text);font-size:15px;padding:2px 0}.cmdk-input::placeholder{color:var(--muted)}.cmdk-esc{font-size:10px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 6px}.cmdk-list{flex:1 1;overflow-y:auto;padding:6px}.cmdk-empty{padding:22px 14px;text-align:center;color:var(--muted);font-size:13px}.cmdk-group{margin-bottom:4px}.cmdk-group-label{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px}.cmdk-item{display:flex;align-items:baseline;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer}.cmdk-item.sel{background:var(--surface-2)}.cmdk-item-label{font-size:13.5px;font-weight:600;color:var(--text)}.cmdk-item-sub{font-size:12.5px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-hint{margin-left:auto;text-transform:capitalize;white-space:nowrap}.cmdk-foot,.cmdk-item-hint{font-size:11px;color:var(--muted)}.cmdk-foot{display:flex;gap:16px;padding:8px 14px;border-top:1px solid var(--border)}.cmdk-foot kbd{font-size:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 4px;margin-right:2px}.toggle-inline{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-2);white-space:nowrap;cursor:pointer}.toggle-inline input{margin:0}.table-scroll{max-height:calc(100vh - 250px);overflow:auto}.dtable thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:9px 16px;white-space:nowrap}.dtable tbody td:first-child,.dtable thead th:first-child{padding-left:16px}.dtable tbody td:last-child,.dtable thead th:last-child{padding-right:16px}.dtable tbody td{padding:8px 16px}.dtable th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dtable th.sortable:hover{color:var(--text)}.dtable th.num-head{text-align:right}.dtable tbody tr.row-warn td{background:var(--st-hold-bg)}.dtable tbody tr.attached-block>td{background:var(--surface-2);border-left:3px solid var(--brand);padding:10px 16px 12px 20px;box-shadow:inset 0 1px 0 var(--border)}.dtable tbody tr.attached-block .dtable{background:var(--surface)}.dtable tbody tr.group-row td{background:var(--surface-2);border-top:1px solid var(--border);padding:7px 16px}.dtable tbody tr.group-row .group-title{font-weight:700;letter-spacing:.01em}.dtable tbody tr.group-row .group-count{display:inline-block;min-width:20px;margin-left:8px;padding:1px 7px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);color:var(--text-2);font-size:11px;font-weight:600;text-align:center}.dtable tbody tr.group-row .group-hint{margin-left:12px;color:var(--text-2);font-size:12px;font-weight:400}.claims{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--st-hold-fg);border-radius:6px;padding:10px 12px;margin:0 0 4px}.claims table{border-collapse:collapse}.claims thead th{padding:4px 10px;background:transparent}.claims tbody td,.claims thead th{border-bottom:1px solid var(--border)}.claims tbody td{padding:6px 10px;font-size:13px}.claims tbody tr:last-child td{border-bottom:0}.claims tbody td:first-child,.claims thead th:first-child{padding-left:0}.claims tbody tr.row-self td{background:var(--st-brand-bg)}.jobtable .group-row td{position:-webkit-sticky;position:sticky;top:37px;z-index:1}.jobtable .cb-col{width:34px;text-align:center}.jobtable .cb-col input{margin:0;cursor:pointer}.jobtable tbody tr.is-focused td{background:var(--surface-2)}.jobtable tbody tr.is-selected td{background:var(--st-brand-bg)}.jobtable tbody tr.is-selected.is-focused td{box-shadow:inset 2px 0 0 var(--brand)}.bulkbar{display:flex;align-items:center;gap:10px;padding:9px 16px;background:var(--st-brand-bg);border-bottom:1px solid var(--border)}.bulkbar-count{font-weight:700;color:var(--brand-strong)}.bulkbar-label{font-size:13px;color:var(--text-2)}.bulkbar .spacer{flex:1 1}.board-hint{margin-top:12px;font-size:12px}.board-hint kbd{font-size:10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:4px;padding:1px 5px;margin:0 1px;color:var(--text-2)}.stage-cell{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.stage-dot{width:7px;height:7px;border-radius:999px;background:var(--brand);flex:0 0 auto}.stage-dot.outsourced{background:var(--st-rfd-fg)}.stage-out{color:var(--st-rfd-fg);font-weight:700;font-size:12px;white-space:nowrap}.stage-name{font-weight:600}.stage-prog{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pipeboard{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.pipecol{flex:1 0 240px;min-width:240px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 200px)}.pipecol-head{display:flex;align-items:baseline;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--border)}.pipecol-head .pipecol-label{font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text-2)}.pipecol-head .pipecol-count{font-size:12px;font-weight:700;color:var(--muted)}.pipecol-head .pipecol-sum{margin-left:auto;font-size:12px;font-weight:700;color:var(--text)}.pipecol-body{display:flex;flex-direction:column;gap:10px;padding:12px;overflow-y:auto}.pipecol-empty{font-size:12px;color:var(--muted);padding:8px 2px}.deal-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--st-neutral-fg);border-radius:10px;padding:11px 13px;transition:border-color .12s ease,box-shadow .12s ease}.deal-card:hover{border-color:var(--border-strong);box-shadow:0 2px 10px rgba(0,0,0,.08)}.deal-card.stage-new{border-left-color:var(--st-neutral-fg)}.deal-card.stage-qualified{border-left-color:var(--st-rfd-fg)}.deal-card.stage-quoted{border-left-color:var(--st-prod-fg)}.deal-card.stage-won{border-left-color:var(--st-done-fg)}.deal-card.stage-lost{border-left-color:var(--st-hold-fg)}.deal-card-title{font-weight:600;font-size:14px;line-height:1.3}.deal-card-sub{font-size:12px;color:var(--muted);margin-top:2px}.deal-card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;row-gap:6px;margin-top:9px;min-width:0}.deal-card-value{font-weight:700;font-size:13px}.deal-card-owner{margin-left:auto;font-size:11px;color:var(--muted)}.deal-followup{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:12px;background:var(--st-brand-bg);color:var(--st-brand-fg)}.deal-followup.overdue{background:var(--st-hold-bg);color:var(--st-hold-fg)}.badge.new{background:var(--st-neutral-bg);color:var(--st-neutral-fg)}.badge.qualified{background:var(--st-rfd-bg);color:var(--st-rfd-fg)}.badge.quoted{background:var(--st-prod-bg);color:var(--st-prod-fg)}.badge.won{background:var(--st-done-bg);color:var(--st-done-fg)}.badge.lost{background:var(--st-hold-bg);color:var(--st-hold-fg)}.badge.prospect{margin-left:8px;font-size:11px;padding:2px 8px;background:var(--st-brand-bg);color:var(--st-brand-fg)}.panel.nextstep{border:1px solid var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.panel.nextstep.won{border-color:var(--st-done-fg);box-shadow:0 0 0 1px var(--st-done-fg) inset}.nextstep-body{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.nextstep-copy{min-width:260px}.nextstep-title{font-size:18px;font-weight:800;letter-spacing:-.01em;margin-bottom:4px}.nextstep-doc{display:inline-block;margin-top:8px;font-weight:600;color:var(--brand-strong)}.nextstep-actions{display:flex;gap:10px;flex:0 0 auto}.nextstep-actions button{white-space:nowrap}.context-banner{display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:10px 14px;border-radius:8px;background:var(--st-brand-bg);color:var(--st-brand-fg);font-size:14px;font-weight:600}.context-banner-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--brand)}.context-banner-link{margin-left:auto;color:var(--brand-strong);font-weight:700}.floor-summary{margin:-4px 0 12px;font-size:13px}.pick-bar{position:fixed;left:var(--sidebar-w);right:0;bottom:0;z-index:40;background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -6px 18px rgba(0,0,0,.08)}@media (max-width:860px){.pick-bar{left:0}}.pick-bar-inner{display:flex;align-items:center;gap:12px;max-width:1320px;padding:10px 40px}.pick-bar-inner .spacer{flex:1 1}.pick-bar-sub{font-size:12px;color:var(--muted);margin-top:2px}.floor-search{display:flex;align-items:center;gap:8px;width:300px;padding:0 8px 0 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.floor-search:focus-within{border-color:var(--st-brand-fg)}.floor-search-icon{font-size:16px;color:var(--muted);line-height:1}.floor-search input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;padding:7px 0}.floor-search-key{font-size:10px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 6px}.floor-search-clear{background:transparent;border:0;color:var(--muted);font-size:16px;line-height:1;padding:2px 4px;cursor:pointer}.floor-search-clear:hover{color:var(--text)}.floor{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.floor-col{flex:0 0 264px;display:flex;flex-direction:column;max-height:calc(100vh - 190px);background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.floor-col-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);border-top-left-radius:10px;border-top-right-radius:10px;position:-webkit-sticky;position:sticky;top:0}.floor-col-title{font-weight:800;font-size:13px;letter-spacing:.01em}.floor-col-count{margin-left:auto;min-width:22px;text-align:center;padding:1px 7px;border-radius:999px;font-size:12px;font-weight:700;background:var(--st-neutral-bg);color:var(--st-neutral-fg)}.floor-col.attention .floor-col-head{background:var(--st-brand-bg);color:var(--st-brand-fg)}.floor-col.attention .floor-col-count{background:var(--st-brand-fg);color:var(--surface)}.floor-col.done .floor-col-head{background:var(--st-done-bg);color:var(--st-done-fg)}.floor-col.done .floor-col-count{background:var(--st-done-fg);color:var(--surface)}.floor-col.dispatch .floor-col-head{background:var(--st-rfd-bg);color:var(--st-rfd-fg)}.floor-col.dispatch .floor-col-count{background:var(--st-rfd-fg);color:var(--surface)}.floor-col.hold .floor-col-head{background:var(--st-hold-bg);color:var(--st-hold-fg)}.floor-col.hold .floor-col-count{background:var(--st-hold-fg);color:var(--surface)}.floor-col-body{display:flex;flex-direction:column;gap:8px;padding:10px;overflow-y:auto}.floor-empty{margin:6px 0;font-size:12px;text-align:center}.floor-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.floor-card.is-overdue{border-color:var(--danger);box-shadow:inset 3px 0 0 var(--danger)}.floor-card-top{display:flex;align-items:center;gap:8px}.floor-card-top .code{font-weight:700}.floor-card-prod{display:flex;align-items:baseline;gap:6px;font-size:13px;line-height:1.3}.floor-card-prod .nm{font-weight:600}.floor-qty{font-weight:700}.floor-card-meta,.floor-qty{color:var(--muted);font-size:12px}.floor-card-meta{display:flex;align-items:center;gap:6px}.floor-card-meta .sep{opacity:.5}.floor-progress{display:flex;align-items:center;gap:8px}.floor-progress-bar{flex:1 1;height:5px;border-radius:999px;background:var(--st-neutral-bg);overflow:hidden}.floor-progress-fill{display:block;height:100%;background:var(--brand)}.floor-progress-txt{font-size:11px;color:var(--muted);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.floor-card-foot{display:flex;align-items:center;gap:8px;font-size:12px}.floor-who{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-time{margin-left:auto;color:var(--st-prod-fg);background:var(--st-prod-bg);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.floor-flag,.floor-time{padding:1px 6px;border-radius:999px}.floor-flag{font-size:11px;font-weight:700;background:var(--st-neutral-bg);color:var(--st-neutral-fg);white-space:nowrap}.floor-flag.overdue{background:var(--st-hold-bg);color:var(--st-hold-fg)}.floor-flag.proof{background:var(--st-brand-bg);color:var(--st-brand-fg)}.floor-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.floor-card.outsourced{border-color:var(--st-rfd-fg);box-shadow:inset 3px 0 0 var(--st-rfd-fg)}.floor-card.outsourced.is-overdue{box-shadow:inset 3px 0 0 var(--danger)}.floor-outsourced{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:var(--st-rfd-bg);color:var(--st-rfd-fg);font-size:12px}.floor-outsourced.overdue{background:var(--st-hold-bg);color:var(--st-hold-fg)}.floor-outsourced-icon{font-weight:800}.floor-outsourced-sup{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-outsourced-eta{margin-left:auto;font-weight:700;white-space:nowrap}.floor-paused{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;border-radius:6px;background:var(--st-hold-bg);color:var(--st-hold-fg);font-size:12px}.badge.paused{text-transform:none}.stage-paused{color:var(--st-hold-fg)}.pause-glyph{display:inline-block;box-sizing:border-box;width:7px;height:9px;margin-right:4px;vertical-align:-1px;border-left:2px solid;border-right:2px solid}.floor-paused-why{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floor-paused-who{margin-left:auto;padding-left:4px;white-space:nowrap;opacity:.85}.job-milestone{display:flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;border-radius:6px;background:var(--st-neutral-bg);color:var(--st-neutral-fg);font-size:12px}.job-milestone.due_today{background:var(--st-prod-bg);color:var(--st-prod-fg)}.job-milestone.missed{background:var(--st-hold-bg);color:var(--st-hold-fg)}.job-milestone-icon{font-weight:800}.job-milestone-what{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-milestone-left{margin-left:auto;padding-left:4px;font-weight:700;white-space:nowrap}.job-milestone-left:before{content:"·";padding-right:6px;opacity:.5}.job-milestone.wide{margin:8px 0;padding:8px 12px;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.send-modal .field-grid{grid-template-columns:1fr}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.timeline-item:first-child{border-top:none}.timeline-icon{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;background:var(--surface-2);border:1px solid var(--border)}.timeline-main{flex:1 1;min-width:0}.timeline-head{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--muted)}.timeline-head .timeline-type{font-weight:700;text-transform:capitalize;color:var(--text)}.timeline-body{font-size:13.5px;margin-top:3px;white-space:pre-wrap;word-break:break-word}.timeline-task{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;font-weight:600;color:var(--st-brand-fg)}.timeline-task.overdue{color:var(--st-hold-fg)}.timeline-task.done{color:var(--muted);text-decoration:line-through}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:16px;gap:16px;margin-top:16px}.team-card{margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 9px;border-radius:6px;font-size:12px;font-weight:500;background:var(--surface-2);border:1px solid var(--border);color:var(--text)}.chip.static{padding:3px 9px}.chip.warn{background:var(--st-hold-bg,var(--surface-2));color:var(--st-hold-fg,var(--text));border-color:transparent}.chip-x{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--muted);font-size:15px;line-height:1;cursor:pointer}.chip-x:hover{background:var(--st-hold-bg,var(--border));color:var(--st-hold-fg,var(--text))}.source-chips{display:flex;flex-wrap:wrap;gap:6px}.source-chip{cursor:pointer;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);padding:3px 9px;transition:border-color .12s,color .12s,background .12s}.source-chip.active,.source-chip:hover{border-color:var(--brand);color:var(--text)}.source-chip.active{box-shadow:inset 2px 0 0 var(--brand);font-weight:600}.source-chip-cost{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.source-chip.active .source-chip-cost{color:var(--brand-strong)}.source-chip-best{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-ink);background:var(--brand);border-radius:4px;padding:1px 4px}ol.route.route-build .route-step{flex-direction:column;align-items:stretch;gap:10px}ol.route.route-build .route-step:before{display:none}.route-build-head{display:flex;align-items:center;gap:8px}.route-build-num{flex:0 0 22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:var(--border-strong);color:var(--muted);font-size:12px;font-weight:600}.route-build-body{padding-left:30px}.rate-block{border-top:1px solid var(--border);padding:12px 0}.rate-block:first-of-type{border-top:0;padding-top:4px}.rate-block-head{margin-bottom:8px}.rate-block-head .sub{font-size:12px;color:var(--muted);margin-top:2px}.rate-lines{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.rate-line{display:grid;grid-template-columns:190px 110px 1fr auto;grid-gap:8px;gap:8px;align-items:center}.rate-line input{margin:0}@media (max-width:760px){.rate-line{grid-template-columns:1fr 110px auto}.rate-line input:nth-child(3){grid-column:1/-1}}.rate-entry{display:flex;flex-direction:column;gap:5px}.rate-entry+.rate-entry{border-top:1px dashed var(--border);padding-top:6px}.rate-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;padding-left:198px}.rate-declare{border-left:2px solid var(--brand);margin-left:198px;padding:8px 10px;display:flex;flex-direction:column;gap:8px;font-size:13px}.rate-declare .choice{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}.rate-declare label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:13px;text-transform:none;letter-spacing:0}.rate-declare input[type=radio]{margin:0;width:auto}.rate-declare input,.rate-declare select{margin:0;max-width:340px}.rate-declare .sub,.rate-history{font-size:12px}.rate-history{margin-left:198px;width:auto}.rate-history td,.rate-history th{padding:3px 14px 3px 0}.rate-retired{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:4px 0 8px}@media (max-width:760px){.rate-declare,.rate-history,.rate-note{margin-left:0;padding-left:10px}}.usage-grid{display:grid;grid-template-columns:190px 110px 1fr;grid-gap:8px 14px;gap:8px 14px;align-items:center;margin-top:8px}.usage-grid .usage-basis{font-size:13px;font-weight:600}.usage-grid .usage-maths{font-size:12px;color:var(--text-2)}@media (max-width:700px){.usage-grid{grid-template-columns:1fr 100px}.usage-grid .usage-maths{grid-column:1/-1}}.history-panel .dtable td{vertical-align:top}.history-when,.history-who{font-size:12px;color:var(--text-2);white-space:nowrap}.history-changes{margin:0;padding:0;list-style:none}.history-changes li{font-size:13px;padding:1px 0}.history-changes li+li{border-top:1px dashed var(--border);margin-top:3px;padding-top:4px}.history-changes .history-label{font-weight:600}.history-changes .history-from{color:var(--text-2);text-decoration:line-through}.history-changes .history-to{font-weight:600}.history-changes li.history-multiline .history-from,.history-changes li.history-multiline .history-to{display:block;margin-top:4px;padding:6px 8px;border-radius:6px;background:var(--surface-2,hsla(0,0%,50%,.08));font-size:12.5px;line-height:1.45}.history-changes li.history-multiline .history-from{text-decoration:none;border-left:2px solid var(--border)}.history-changes li.history-multiline .history-to{font-weight:400;border-left:2px solid var(--accent,var(--border))}.history-subject{font-size:12px;color:var(--text-2);margin-bottom:4px}.history-note{font-size:13px}.history-reason{font-size:12.5px;color:var(--text-2);font-style:italic;margin-top:4px}.history-link{margin-top:4px}.rq{border:1px solid var(--border);border-radius:8px;overflow:visible}.rq-head,.rq-row{display:grid;grid-template-columns:74px minmax(180px,1fr) minmax(190px,300px) 28px;grid-gap:8px;gap:8px;align-items:center;padding:8px 10px}.rq-head{padding-bottom:4px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.rq-head,.rq-row{border-bottom:1px solid var(--border)}.rq-row{padding-bottom:10px}.rq-row:last-of-type{border-bottom:none}.rq-row input{margin:0}.rq-row .rq-c-qty{text-align:right}.rq-c-prod{position:relative;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rq-c-detail{grid-column:2/-1;font-size:12px}.rq-c-act{display:flex;justify-content:flex-end}.rq-link{padding:4px 9px;font-size:12px;white-space:nowrap}.rq-picked,.rq-repeat{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 7px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2);font-size:12px}.rq-repeat{border-color:var(--brand);color:var(--brand-strong)}.rq-picked-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rq-x{padding:0 4px;min-width:18px;border:none;color:var(--text-2);font-size:15px;line-height:1;cursor:pointer}.rq-x,.rq-x:hover{background:transparent}.rq-x:hover{color:var(--danger,#c0392b)}.rq-pop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:340px;padding:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow)}.rq-pop-list{position:static;margin-top:6px;min-width:0;max-width:none;border:none;box-shadow:none;padding:0}.rq-pop-empty{padding:8px 9px;font-size:13px;color:var(--muted)}.rq-add{margin:10px;padding:5px 11px;font-size:12px}.rq-list{list-style:none;margin:0;padding:0}.rq-item{display:grid;grid-template-columns:74px 1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:baseline;padding:10px 16px;border-bottom:1px solid var(--border)}.rq-item:last-child{border-bottom:none}.rq-item.outstanding{background:color-mix(in srgb,var(--warn,#b8860b) 7%,transparent)}.rq-item-qty{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.rq-item-qty.tbc{font-weight:400;color:var(--muted)}.rq-item-desc{font-weight:500}.rq-item-meta{color:var(--text-2)}.rq-item-answer,.rq-item-meta{grid-column:2;font-size:12px}.rq-item-actions{grid-row:1/span 3;grid-column:3;display:flex;gap:6px;align-items:flex-start}.rq-item-actions button{padding:3px 9px;font-size:12px;white-space:nowrap}.hint{margin:4px 0 0;font-size:12px}.hint,.linkish{color:var(--muted)}.linkish{padding:0;background:transparent;border:none;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.linkish:hover{background:transparent;color:var(--brand-strong)}.whoisasking{display:flex;gap:8px;align-items:flex-start}.whoisasking>:first-child{flex:1 1;min-width:0}.value-basis{display:inline-flex;align-items:center;padding:1px 6px;border-radius:10px;background:var(--st-neutral-bg);color:var(--st-neutral-fg);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.value-basis.ordered{background:var(--st-done-bg);color:var(--st-done-fg)}.value-basis.quoted{background:var(--st-brand-bg);color:var(--st-brand-fg)}.value-split{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.value-split .value-basis{text-transform:none;letter-spacing:0;font-size:11px}.deal-value-line{gap:6px}.deal-unanswered,.deal-value-line{display:inline-flex;align-items:center}.deal-unanswered{padding:2px 7px;border-radius:12px;background:var(--st-hold-bg);color:var(--st-hold-fg);font-size:11px;font-weight:600}.rq-answer-form{grid-column:2/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2)}.rq-answer-form input[type=text],.rq-answer-form>input{flex:1 1;min-width:220px}.rq-answer-kinds{flex-basis:100%;display:flex;gap:18px;font-size:13px;color:var(--text-2)}.rq-answer-kinds label{display:inline-flex;align-items:center;gap:6px;margin:0;text-transform:none;letter-spacing:0;font-size:13px;cursor:pointer}.rq-answer-kinds input[type=radio]{width:auto;margin:0}.stg{border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);margin:4px 0}.stg-head,.stg-row{display:grid;grid-template-columns:90px 150px 118px minmax(120px,1fr) 26px;grid-gap:8px;gap:8px;align-items:center;padding:5px 8px}.stg-head{padding-bottom:2px;border-bottom:1px solid var(--border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.stg-row+.stg-row{border-top:1px solid var(--border)}.stg-row input,.stg-row select{margin:0;padding:4px 7px;font-size:13px}.stg-row input.stg-c-qty{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stg-c-act{display:flex;justify-content:flex-end}.stg-foot{display:flex;align-items:center;gap:10px;padding:6px 8px;border-top:1px solid var(--border);background:var(--surface-2);font-size:12px}.stg-foot button{padding:3px 9px;font-size:12px}.stg-foot .error{margin:0;font-size:12px}.stg-readout{display:inline-flex;flex-wrap:wrap;gap:4px}.stg-chip{display:inline-flex;align-items:baseline;gap:3px;padding:1px 7px;border:1px solid var(--border-strong);border-radius:11px;background:var(--surface-2);font-size:11px;white-space:nowrap}.stg-chip b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stg-chip.made{border-color:var(--brand);color:var(--brand-strong)}.rq-c-stages{grid-column:2/-1;font-size:12px}.rq-item-stages{grid-column:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px}.rq-stage-form{grid-column:2/-1;margin-top:6px}.rq-stage-actions{display:flex;align-items:center;gap:10px;margin-top:8px}.rq-stage-actions button:not(.linkish){padding:4px 11px;font-size:12px}.line-stages-row>td{padding:0 10px 10px}.line-sourcing-row>td,.line-stages-row>td{border-top:none;background:var(--surface-2)}.line-sourcing-row>td{padding:0 10px 8px}.line-sourcing-row .inline-panel{border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:12px;margin-top:4px}.line-sourcing-row table.mini{width:100%;margin-top:4px}.line-sourcing-row table.mini td{padding:3px 6px 3px 0;border:none;vertical-align:middle}.line-sourcing-row table.mini input,.line-sourcing-row table.mini select{width:100%;font-size:12px;padding:3px 5px}.signature-pad{display:block;width:100%;height:160px;background:#fff;border:1px dashed var(--border);border-radius:8px;cursor:crosshair}.attempt{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--border)}.attempt:first-child{border-top:none;padding-top:0}.attempt-body{flex:1 1;min-width:0}.attempt-sig{width:150px;height:70px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:6px;cursor:zoom-in}.brandchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;min-width:0;max-width:100%}.brandchip-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.brandchip-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.crossbrand{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:700;background:var(--st-prod-bg);color:var(--st-prod-fg)}.address-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px 16px;gap:12px 16px}.address-fields>div{min-width:0}.address-fields label{margin-top:0}.address-fields .address-line{grid-column:1/-1}.address-fields .address-state,.address-fields .address-suburb{grid-column:span 3}.address-fields .address-postcode{grid-column:span 2}.address-fields .address-country{grid-column:span 4}.address-fields.compact{gap:8px 12px}@media (max-width:720px){.address-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.address-fields .address-country,.address-fields .address-state,.address-fields .address-suburb{grid-column:1/-1}.address-fields .address-postcode{grid-column:span 1}}.address-suggest{position:relative}.address-suggest-list{position:absolute;z-index:40;top:calc(100% + 3px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:4px;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 12px 28px rgba(35,31,32,.18)}.address-suggest-list ul{margin:0;padding:0;list-style:none}.address-suggest-list li{margin:0}.address-suggest-list button{display:flex;align-items:baseline;gap:8px;width:100%;padding:7px 9px;border:0;border-radius:6px;background:none;color:var(--text);font-size:13px;text-align:left;cursor:pointer}.address-suggest-list button.active{background:var(--surface-2)}.address-suggest-label{font-weight:600}.address-suggest-detail{color:var(--text-2);font-size:12px}.address-suggest-credit{margin:4px 0 0;padding:6px 9px 2px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;line-height:1.35}