:root{color-scheme:light;--paper: #f4f2ec;--surface: #fcfbf8;--surface-2: #ece9e1;--surface-3: #e2ded4;--ink: #16140f;--ink-2: #4f4b42;--ink-3: #85806f;--hairline: rgba(22, 20, 15, .12);--hairline-soft: rgba(22, 20, 15, .07);--grid: #e1dfd6;--accent: #1f2340;--accent-ink: #f6f4ee;--focus: #2a78d6;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-1-soft: rgba(42, 120, 214, .16);--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--good-text: #006300;--warning-text: #7a5200;--serious-text: #9c3f1a;--critical-text: #a92626;--font-display: "Archivo", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, sans-serif;--radius: 4px;--shadow: 0 1px 0 rgba(22, 20, 15, .06), 0 8px 24px -16px rgba(22, 20, 15, .25)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #121210;--surface: #1a1a18;--surface-2: #232320;--surface-3: #2e2e2a;--ink: #f0eee7;--ink-2: #c2bfb3;--ink-3: #8b877b;--hairline: rgba(255, 255, 255, .12);--hairline-soft: rgba(255, 255, 255, .07);--grid: #2c2c29;--accent: #e9e6dc;--accent-ink: #16140f;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-1-soft: rgba(57, 135, 229, .22);--good-text: #3ccf3c;--warning-text: #fab219;--serious-text: #ec835a;--critical-text: #ef6b6b;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--paper: #121210;--surface: #1a1a18;--surface-2: #232320;--surface-3: #2e2e2a;--ink: #f0eee7;--ink-2: #c2bfb3;--ink-3: #8b877b;--hairline: rgba(255, 255, 255, .12);--hairline-soft: rgba(255, 255, 255, .07);--grid: #2c2c29;--accent: #e9e6dc;--accent-ink: #16140f;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-1-soft: rgba(57, 135, 229, .22);--good-text: #3ccf3c;--warning-text: #fab219;--serious-text: #ec835a;--critical-text: #ef6b6b;--shadow: none}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}h1{font-size:clamp(22px,2.2vw,30px);line-height:1.1}h2{font-size:17px}h3{font-size:14px}p{margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.ink2{color:var(--ink-2)}.small{font-size:12px}.mono-label{font-family:var(--font-display);font-stretch:112%;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.shell{display:grid;grid-template-columns:228px 1fr;min-height:100%}.sidebar{background:var(--surface);border-right:1px solid var(--hairline);padding:20px 14px 24px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:22px}.brand{display:flex;align-items:center;gap:10px;padding:0 6px}.brand-mark{flex:none}.brand-mark img{display:block;width:40px;height:40px;border-radius:6px}.brand-name{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:-.01em}.nav{display:flex;flex-direction:column;gap:2px}.nav-group{margin-top:10px;padding:0 8px 6px}.nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius);color:var(--ink-2);font-weight:500;transition:background .12s ease-out,color .12s ease-out}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.active{background:var(--accent);color:var(--accent-ink)}.nav a.active .count{background:#ffffff2e;color:inherit}.count{font-family:var(--font-display);font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);min-width:22px;text-align:center}.count.hot{background:var(--critical);color:#fff}.sidebar-foot{margin-top:auto;padding:0 8px;font-size:12px;color:var(--ink-3);display:grid;gap:8px}.clock{display:flex;align-items:baseline;gap:8px}.clock b{font-family:var(--font-display);color:var(--ink);font-size:13px}.main{min-width:0;padding:28px clamp(20px,3vw,44px) 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;flex-wrap:wrap}.page-head .lede{color:var(--ink-2);margin-top:6px;max-width:70ch}.crumbs{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-3);margin-bottom:8px}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs span:before{content:"/";margin-right:8px;color:var(--hairline)}.crumbs span:first-child:before{content:none}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:6px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 18px 0}.panel-body{padding:14px 18px 18px}.section{margin-top:34px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.section-head h2{font-size:15px}.rule{border:0;border-top:1px solid var(--hairline);margin:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--surface);cursor:pointer;font-weight:600;font-size:13px;transition:background .12s ease-out,transform .12s ease-out,border-color .12s ease-out}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}.btn.sm{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}input[type=number],input[type=text],input[type=search],select,textarea{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:6px 9px;font-size:13px;outline:none;min-width:0}input:focus-visible,select:focus-visible,textarea:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:1px}input.cell{width:72px;text-align:right;padding:4px 7px;font-variant-numeric:tabular-nums}input.cell.changed{border-color:var(--series-1);background:var(--series-1-soft)}.toggle{display:inline-flex;border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden}.toggle button{border:0;background:transparent;padding:5px 11px;cursor:pointer;font-weight:600;font-size:12px;color:var(--ink-2)}.toggle button.on{background:var(--accent);color:var(--accent-ink)}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:18px;border-radius:999px;background:var(--surface-3);position:relative;margin:0;border:1px solid var(--hairline);cursor:pointer}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--surface);transition:transform .15s cubic-bezier(.2,.8,.2,1);box-shadow:0 1px 2px #00000040}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(14px)}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px 2px;border-radius:3px;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.stockout{color:var(--critical-text);background:color-mix(in oklab,var(--critical) 14%,transparent)}.pill.expedite{color:var(--critical-text);background:color-mix(in oklab,var(--critical) 10%,transparent)}.pill.expedite:before{background:var(--critical)}.pill.order-now{color:var(--serious-text);background:color-mix(in oklab,var(--serious) 18%,transparent)}.pill.order-now:before{background:var(--serious)}.pill.due-soon{color:var(--warning-text);background:color-mix(in oklab,var(--warning) 22%,transparent)}.pill.due-soon:before{background:var(--warning)}.pill.ok{color:var(--good-text);background:color-mix(in oklab,var(--good) 12%,transparent)}.pill.ok:before{background:var(--good)}.pill.anomaly{color:var(--critical-text);background:color-mix(in oklab,var(--critical) 12%,transparent)}.pill.anomaly:before{content:"!";background:var(--critical);color:#fff;width:13px;height:13px;border-radius:50%;font-size:9px;display:grid;place-items:center;line-height:1}.pill.neutral{color:var(--ink-2);background:var(--surface-2)}.pill.neutral:before{display:none}.fac{display:inline-flex;align-items:center;gap:6px}.fac:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--fc, var(--ink-3))}.fill{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;min-width:120px}.fill-bar{height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden}.fill-bar>i{display:block;height:100%;background:var(--ink-2);border-radius:3px;transition:width .3s cubic-bezier(.2,.8,.2,1)}.fill-bar>i.low{background:var(--serious)}.fill-bar>i.crit{background:var(--critical)}.fill-bar>i.ok{background:var(--series-1)}.fill-txt{font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th{text-align:left;font-family:var(--font-display);font-stretch:110%;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--hairline);white-space:nowrap}table.data td{padding:9px 10px;border-bottom:1px solid var(--hairline-soft);vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data td.r,table.data th.r{text-align:right;font-variant-numeric:tabular-nums}table.data tr.row-link{cursor:pointer}table.data tr.row-link:hover td{background:var(--surface-2)}table.data tr.hl td{background:color-mix(in oklab,var(--critical) 6%,transparent)}.cell-title{font-weight:600}.cell-sub{font-size:11.5px;color:var(--ink-3);margin-top:1px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);overflow:hidden}.kpi{padding:16px 18px 14px;border-right:1px solid var(--hairline-soft)}.kpi:last-child{border-right:0}.kpi .v{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1;letter-spacing:-.02em;margin:6px 0 4px}.kpi .v small{font-size:14px;color:var(--ink-3);font-weight:500;margin-left:4px}.kpi .d{font-size:12px;color:var(--ink-2)}.kpi.alarm .v{color:var(--critical-text)}.kpi.warn .v{color:var(--serious-text)}.cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:22px;align-items:start}.cols-even{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.stack{display:grid;gap:14px}.factory-card{display:grid;grid-template-columns:1fr;gap:10px;padding:16px 18px;border-top:3px solid var(--fc)}.factory-card h3{font-size:16px}.machine-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--hairline-soft)}.machine-row a:hover{text-decoration:underline}.dots{display:flex;gap:3px;flex-wrap:wrap}.dot{width:9px;height:9px;border-radius:2px;background:var(--surface-3)}.dot.ok{background:color-mix(in oklab,var(--good) 55%,var(--surface-3))}.dot.due-soon{background:var(--warning)}.dot.order-now{background:var(--serious)}.dot.expedite,.dot.stockout{background:var(--critical)}.chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;flex-wrap:wrap}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}.legend i{display:inline-block;width:14px;height:0;border-top:2px solid var(--lc);vertical-align:middle;margin-right:6px}.legend i.dash{border-top-style:dashed}.legend i.band{height:10px;border:0;background:var(--lc);opacity:.35;border-radius:2px}.legend i.bar{height:10px;border:0;background:var(--lc);border-radius:2px}.tip{background:var(--surface);border:1px solid var(--hairline);border-radius:4px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow)}.tip b{font-family:var(--font-display)}.tip .row{display:flex;justify-content:space-between;gap:14px}.alert{display:grid;grid-template-columns:4px 1fr auto;gap:14px;padding:12px 14px 12px 0;border-bottom:1px solid var(--hairline-soft)}.alert:last-child{border-bottom:0}.alert .bar{border-radius:2px;background:var(--ink-3)}.alert.s3 .bar{background:var(--critical)}.alert.s2 .bar{background:var(--serious)}.alert.s1 .bar{background:var(--warning)}.alert.acked{opacity:.55}.alert h4{font-size:13.5px;font-weight:600;font-family:var(--font-body)}.alert p{color:var(--ink-2);font-size:12.5px;margin-top:3px}.ctx-grid{display:grid;grid-template-columns:118px 74px minmax(0,1fr) 230px;gap:0 12px;align-items:center}.ctx-row{display:contents}.ctx-row>div{padding:7px 0;border-bottom:1px solid var(--hairline-soft);min-height:44px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.chip.off-dim{opacity:.55}.ctx-row.today>div{background:color-mix(in oklab,var(--series-1) 8%,transparent)}.ctx-row.future>div:first-child{color:var(--ink-2)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:1.2;padding:2px 7px;border-radius:999px;border:1px solid var(--hairline);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chip.internal.on{background:var(--ink-2);border-color:var(--ink-2)}.chip:hover:not(.on){background:var(--surface-2)}.week-label{font-family:var(--font-display);font-weight:600}.week-label small{display:block;font-family:var(--font-body);font-weight:400;color:var(--ink-3);font-size:11px}.changed-mark{color:var(--series-1);font-weight:700}.empty{padding:28px;text-align:center;color:var(--ink-3)}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}.kv dt{color:var(--ink-3)}.kv dd{margin:0;font-variant-numeric:tabular-nums}.callout{border-left:3px solid var(--critical);padding:10px 14px;background:color-mix(in oklab,var(--critical) 6%,transparent);border-radius:0 4px 4px 0;font-size:13px}.callout.info{border-color:var(--series-1);background:var(--series-1-soft)}.callout.plain{border-color:var(--ink-3);background:var(--surface-2)}.search{position:relative}.search input{width:100%;padding-left:10px}.search-pop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:320px;overflow:auto}.search-pop a{display:block;padding:8px 12px;border-bottom:1px solid var(--hairline-soft)}.search-pop a:hover{background:var(--surface-2)}.steps{counter-reset:step;display:grid;gap:18px}.step{display:grid;grid-template-columns:36px 1fr;gap:14px}.step:before{counter-increment:step;content:counter(step);font-family:var(--font-display);font-weight:800;font-size:20px;color:var(--ink-3);line-height:1;padding-top:2px}.step h3{font-size:15px;margin-bottom:4px}.step p{color:var(--ink-2)}.step .say{margin-top:8px;padding:10px 14px;border-left:2px solid var(--hairline);font-style:italic;color:var(--ink-2)}.timeline-wrap{position:relative;overflow-x:auto}.timeline-wrap svg{min-width:720px}@media (max-width: 960px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--hairline)}.nav{flex-direction:row;flex-wrap:wrap}.nav-group,.sidebar-foot{display:none}.cols{grid-template-columns:1fr}.ctx-grid{grid-template-columns:110px 80px 1fr}.ctx-row>div:nth-child(4){grid-column:1 / -1;border-top:0;padding-top:0}.main{padding:18px 16px 48px}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
