:root{--paper:#f2f0e9;--surface:#fff;--surface-2:#eae6d9;--surface-3:#e1ddcd;--ink:#1b2023;--ink-dim:#5c6268;--ink-faint:#8a8f88;--border:#dbd6c6;--border-strong:#c7c1ac;--accent:#1c5866;--accent-ink:#fff;--accent-soft:#e1edef;--shadow:0 1px 2px #1b20230f, 0 4px 14px #1b20230f;--c-ordernow:#a7331c;--c-ordernow-soft:#f6e3dd;--c-critical:#8a5a08;--c-critical-soft:#f5ecd4;--c-good:#2f7a44;--c-good-soft:#e3f0e4;--c-overstock:#6a3fa0;--c-overstock-soft:#ede3f7;--c-onrequest:#3a5f8a;--c-onrequest-soft:#e3ebf3;--c-nodemand:#5c6268;--c-nodemand-soft:#e9e7de;--c-warn:#a7331c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#14181a;--surface:#1b2124;--surface-2:#232a2d;--surface-3:#2b3236;--ink:#ecebe4;--ink-dim:#a3a9a3;--ink-faint:#767c76;--border:#333a3d;--border-strong:#454d50;--accent:#5fb3c4;--accent-ink:#0d1f23;--accent-soft:#1d363b;--shadow:0 1px 2px #0000004d, 0 4px 18px #00000059;--c-ordernow:#e8735a;--c-ordernow-soft:#3a2119;--c-critical:#dcac42;--c-critical-soft:#332a13;--c-good:#5cbf76;--c-good-soft:#1c2f22;--c-overstock:#b18ee0;--c-overstock-soft:#2c2140;--c-onrequest:#7fa8d6;--c-onrequest-soft:#1c2a38;--c-nodemand:#9aa09a;--c-nodemand-soft:#262b28;--c-warn:#e8735a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#14181a;--surface:#1b2124;--surface-2:#232a2d;--surface-3:#2b3236;--ink:#ecebe4;--ink-dim:#a3a9a3;--ink-faint:#767c76;--border:#333a3d;--border-strong:#454d50;--accent:#5fb3c4;--accent-ink:#0d1f23;--accent-soft:#1d363b;--shadow:0 1px 2px #0000004d, 0 4px 18px #00000059;--c-ordernow:#e8735a;--c-ordernow-soft:#3a2119;--c-critical:#dcac42;--c-critical-soft:#332a13;--c-good:#5cbf76;--c-good-soft:#1c2f22;--c-overstock:#b18ee0;--c-overstock-soft:#2c2140;--c-onrequest:#7fa8d6;--c-onrequest-soft:#1c2a38;--c-nodemand:#9aa09a;--c-nodemand-soft:#262b28;--c-warn:#e8735a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);margin:0;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.45}h1,h2,h3{text-wrap:balance;margin:0;font-family:IBM Plex Sans Condensed,IBM Plex Sans,sans-serif}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.tabular{font-variant-numeric:tabular-nums}button,input,select{color:inherit;font-family:inherit}.app{flex-direction:column;min-height:100%;display:flex}header.top{border-bottom:2px solid var(--border-strong);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:16px 26px;display:flex}.brand{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.brand h1{letter-spacing:.2px;font-size:24px;font-weight:700}.brand .tag{letter-spacing:.06em;text-transform:uppercase;color:var(--c-critical);background:var(--c-critical-soft);border:1px solid var(--c-critical);border-radius:3px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11px}.top-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.site-select{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);border-radius:6px;padding:7px 10px;font-size:13px;font-weight:600}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.08);color:var(--accent-ink)}.btn.small{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}nav.tabs{background:var(--surface);border-bottom:1px solid var(--border);gap:4px;padding:0 26px;display:flex}nav.tabs button{color:var(--ink-dim);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:13px;font-weight:600}nav.tabs button:hover{color:var(--ink)}nav.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}main.content{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:22px 26px 60px}.kpis{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.kpi .label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);font-size:11px;font-weight:600}.kpi .value{font-family:IBM Plex Mono,monospace;font-size:24px;font-weight:600}.kpi .hint{color:var(--ink-dim);font-size:11px}.kpi.ordernow .value{color:var(--c-ordernow)}.kpi.critical .value{color:var(--c-critical)}.kpi.good .value{color:var(--c-good)}.kpi.overstock .value{color:var(--c-overstock)}@media (width<=1100px){.kpis{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.kpis{grid-template-columns:repeat(2,1fr)}}.status-pill{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.status-pill.order_now{background:var(--c-ordernow-soft);color:var(--c-ordernow)}.status-pill.critical{background:var(--c-critical-soft);color:var(--c-critical)}.status-pill.good{background:var(--c-good-soft);color:var(--c-good)}.status-pill.overstock{background:var(--c-overstock-soft);color:var(--c-overstock)}.status-pill.on_request{background:var(--c-onrequest-soft);color:var(--c-onrequest)}.status-pill.no_demand{background:var(--c-nodemand-soft);color:var(--c-nodemand)}.row-stripe{border-left:4px solid #0000}.row-stripe.order_now{border-left-color:var(--c-ordernow)}.row-stripe.critical{border-left-color:var(--c-critical)}.row-stripe.good{border-left-color:var(--c-good)}.row-stripe.overstock{border-left-color:var(--c-overstock)}.row-stripe.on_request{border-left-color:var(--c-onrequest)}.row-stripe.no_demand{border-left-color:var(--c-nodemand)}.badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.badge.excess{background:var(--c-overstock-soft);color:var(--c-overstock)}.badge.good{background:var(--c-good-soft);color:var(--c-good)}.badge.short{background:var(--c-ordernow-soft);color:var(--c-ordernow)}.badge.fallback{background:var(--surface-3);color:var(--ink-faint);cursor:help}.badge.planner{background:var(--c-overstock-soft);color:var(--c-overstock);cursor:help}.badge.jobs{background:var(--accent-soft);color:var(--accent);cursor:help}.th-hint{cursor:help;color:var(--ink-faint);margin-left:4px}.wos-bar-wrap{flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.wos-bar-row{align-items:center;gap:7px;display:inline-flex}.wos-bar-track{background:var(--surface-3);border-radius:3px;flex:none;width:64px;height:6px;position:relative;overflow:hidden}.wos-bar-fill{border-radius:3px;height:100%;position:absolute;top:0;left:0}.wos-bar-preview{opacity:.4;height:100%;position:absolute;top:0}.wos-bar-preview.risk{opacity:.55;background:var(--c-critical)!important}.planner-caption{color:var(--ink-faint);white-space:nowrap;font-size:10px}.planner-caption.risk{color:var(--c-critical)}.toolbar{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;display:flex}.search{background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;align-items:center;gap:7px;min-width:220px;padding:6px 10px;display:flex}.search svg{color:var(--ink-faint);flex:none}.search input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-size:13px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-dim);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:20px;padding:6px 11px;font-size:12px;font-weight:600}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip.active.order_now{background:var(--c-ordernow);border-color:var(--c-ordernow);color:#fff}.chip.active.critical{background:var(--c-critical);border-color:var(--c-critical);color:#211a05}.chip.active.good{background:var(--c-good);border-color:var(--c-good);color:#fff}.chip.active.overstock{background:var(--c-overstock);border-color:var(--c-overstock);color:#fff}.chip.active.on_request{background:var(--c-onrequest);border-color:var(--c-onrequest);color:#fff}.chip.active.no_demand{background:var(--c-nodemand);border-color:var(--c-nodemand);color:#fff}.toolbar .spacer{flex:1}.count-note,.refresh-note{color:var(--ink-faint);white-space:nowrap;font-size:12px}.sync-pill{border:1px solid var(--border-strong);color:var(--ink-dim);background:var(--surface);white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.sync-dot{background:var(--ink-faint);border-radius:50%;width:7px;height:7px}.sync-pill.live{color:var(--c-good);border-color:var(--c-good)}.sync-pill.live .sync-dot{background:var(--c-good);box-shadow:0 0 0 3px var(--c-good-soft)}.note-line{color:var(--ink-dim);margin-bottom:12px;font-size:12px}.table-frame{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;margin-bottom:20px;overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{z-index:2;background:var(--ink);color:var(--paper);text-align:left;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600;position:sticky;top:0}thead th.num,td.num{text-align:right}tbody tr{border-bottom:1px solid var(--border)}tbody tr:nth-child(2n){background:var(--surface-2)}tbody tr:hover{background:var(--accent-soft)}td{vertical-align:middle;padding:9px 12px}td.sku{color:var(--ink-dim);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:12px}td.desc{min-width:200px}.sku-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.target-wos-input,.qty-input{border:1px solid var(--border-strong);background:var(--surface);border-radius:4px;width:60px;padding:5px 6px;font-size:12px}.empty-row td{text-align:center;color:var(--ink-faint);padding:34px 12px;font-size:13px}.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;margin-bottom:20px}.panel-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.panel-header h2{font-size:16px;font-weight:700}.panel-summary{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:22px;padding:12px 16px;display:flex}.panel-summary .stat{flex-direction:column;gap:2px;display:flex}.panel-summary .stat .n{font-family:IBM Plex Mono,monospace;font-size:19px;font-weight:600}.panel-summary .stat .l{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:11px}.order-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 16px;display:flex}.order-row:last-child{border-bottom:none}.order-row .sku{color:var(--ink-dim);min-width:150px;font-family:IBM Plex Mono,monospace;font-size:12px}.order-row .desc{flex:1;min-width:140px;font-size:13px}.order-row .meta{color:var(--ink-dim);white-space:nowrap;font-size:12px}.eta-overdue{color:var(--c-warn);font-weight:700}.status-select{border:1px solid var(--border-strong);background:var(--surface);border-radius:4px;padding:5px 7px;font-size:12px}.empty-state{text-align:center;color:var(--ink-faint);padding:30px 16px;font-size:13px}.tracker-row{border-bottom:1px solid var(--border)}.tracker-row:last-child{border-bottom:none}.tracker-row-main{flex-wrap:wrap;align-items:center;gap:14px;padding:12px 16px;display:flex}.tracker-row-main input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);flex:none}.tracker-row-main .sku{color:var(--ink-dim);min-width:150px;font-family:IBM Plex Mono,monospace;font-size:12px}.tracker-row-main .desc{flex:1;min-width:160px;font-size:13px}.tracker-row-main .figs{color:var(--ink-dim);white-space:nowrap;gap:18px;font-size:12px;display:flex}.tracker-row-main .figs b{color:var(--ink);font-family:IBM Plex Mono,monospace}.fulfillment-panel{background:var(--surface-2);border-top:1px dashed var(--border-strong);padding:14px 16px 16px 47px}.type-options{gap:8px;margin-bottom:12px;display:flex}.type-option{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:flex}.type-option.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.fulfillment-fields{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:10px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:11px;font-weight:600}.field input[type=number],.field input[type=date]{border:1px solid var(--border-strong);background:var(--surface);border-radius:5px;width:130px;padding:6px 8px;font-size:13px}.field.checkbox{flex-direction:row;align-items:center;gap:6px}.field.checkbox label{text-transform:none;color:var(--ink-dim);letter-spacing:0;font-weight:500}.field-error{color:var(--c-warn);font-size:11px}.fulfillment-actions{gap:8px;display:flex}.already-addressed{color:var(--c-good);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.planner-grid th.num{min-width:68px}.th-sub{text-transform:none;color:var(--c-good);font-size:9px;font-weight:400}.planner-product-row td{background:var(--surface-2);border-top:2px solid var(--border-strong);padding:8px 10px}.planner-wos.ok{background:var(--c-good-soft);color:var(--c-good)}.planner-wos.warn{background:var(--c-critical-soft);color:var(--c-critical)}.planner-wos.risk{background:var(--c-ordernow-soft,var(--c-critical-soft));color:var(--c-ordernow,var(--c-critical));font-weight:600}.chart-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin-bottom:20px;padding:18px 20px}.chart-panel h3{margin-bottom:4px;font-size:14px}.chart-caption{color:var(--ink-faint);margin-bottom:14px;font-size:12px}.chart-legend{color:var(--ink-dim);gap:16px;margin-top:10px;font-size:12px;display:flex}.chart-legend .item{align-items:center;gap:6px;display:flex}.chart-legend .swatch{border-radius:2px;width:10px;height:10px}.sku-picker{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.sku-picker select{border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;min-width:260px;padding:7px 10px;font-size:13px}footer.app-footer{color:var(--ink-faint);border-top:1px solid var(--border);padding:12px 26px;font-size:11.5px}.vendor-grid td:first-child{min-width:210px}.vendor-row td{background:var(--surface-2);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;border-top:2px solid var(--border-strong);font-size:11px;font-weight:700}.vendor-order{color:var(--c-ordernow);font-weight:700}.vendor-sub td{color:var(--ink-dim);font-size:12px}.vendor-total td{border-top:1px solid var(--border-strong);font-weight:600}.pair-meter{border:1px solid var(--border);border-left-width:4px;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:8px;padding:8px 10px;font-weight:400;display:flex}.pair-meter.ok{border-left-color:var(--c-good)}.pair-meter.short{border-left-color:var(--c-ordernow)}.pair-meter-bars{flex:260px;gap:4px;min-width:260px;max-width:420px;display:grid}.pair-bar-row{grid-template-columns:110px 1fr 52px;align-items:center;gap:8px;font-size:11px;display:grid}.pair-bar-label{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pair-bar-track{background:var(--border);border-radius:4px;height:8px;overflow:hidden}.pair-bar-fill{border-radius:4px;height:100%;display:block}.pair-bar-fill.mine{background:var(--accent)}.pair-bar-fill.theirs{background:var(--c-critical)}.pair-bar-qty{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.tracker-group-head{background:var(--surface-2);border:0;border-bottom:1px solid var(--border);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.vendor-need td{color:var(--c-ordernow);background:var(--c-ordernow-soft);font-weight:700}
