:root{--bg:#f4f4f2;--fg:#14140f;--dim:#6b6b62;--line:#cfcfc6;--panel:#fbfbf9;--ok:#1a7f37;--bad:#b42318;--warn:#b45309;--accent:#1f4fd8;--bar-bg:#e4e4de;--bar-fill:#8a8a7e}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-variant-numeric:tabular-nums;margin:0;padding:1rem 1.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}.dim{color:var(--dim)}.ok{color:var(--ok)}.bad{color:var(--bad)}.warn{color:var(--warn)}.up{color:var(--ok);font-style:normal}.down{color:var(--bad);font-style:normal}.center{place-items:center;min-height:80vh;display:grid}.screen{flex-direction:column;gap:8px;width:100%;max-width:1840px;margin:0 auto;display:flex}.topbar{border-bottom:2px solid var(--fg);align-items:baseline;gap:24px;padding-bottom:6px;display:flex}.topbar .stats{flex:1;gap:24px;display:flex}.topbar label{color:var(--dim);margin-right:4px}.topbar b{font-size:15px}.topbar .speed{gap:4px;display:flex}.topbar .speed button.active{background:var(--fg);color:var(--bg)}.topbar .daybox{text-align:right}.topbar .loadline{display:none}.statlink{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0}.statlink .lbl{color:var(--dim);margin-right:4px}.statlink .val{border-bottom:1px dotted var(--dim)}.statlink:not(:disabled):hover{color:inherit;background:0 0}.statlink:not(:disabled):hover .val{background:var(--fg);color:var(--bg);border-bottom-color:#0000}.statlink:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.columns{grid-template-columns:auto minmax(0,1fr) minmax(0,1.05fr);align-items:stretch;gap:8px;display:grid}.col{flex-direction:column;gap:8px;min-width:0;display:flex}.panel{background:var(--panel);border:1px solid var(--line);flex:1;padding:8px 10px}.panel h2{letter-spacing:.03em;border-bottom:1px solid var(--line);margin:0 0 6px;padding-bottom:4px;font-size:12px;font-weight:700}.panel.strip{flex:none;align-items:center;gap:16px;display:flex}.panel .row{flex-wrap:wrap;align-items:center;gap:8px;padding:1px 0;display:flex}.panel .row .grow{flex:1}.panel .row.live span:not(.grow){text-align:right;min-width:52px}.panel .row .num,td.num{text-align:right}.panel .row.sub{padding-left:18px}.dimmed,.dimmed *{color:var(--dim)!important}.dimmed .bar-fill{background:var(--line)}.lock-reason{color:var(--dim);font-size:11px}.locked-row{align-items:baseline;gap:6px;display:inline-flex}button{font:inherit;background:var(--panel);border:1px solid var(--fg);cursor:pointer;color:var(--fg);padding:0 8px}button:disabled{border-color:var(--line);color:var(--dim);cursor:default}button:not(:disabled):hover{background:var(--fg);color:var(--bg)}select{font:inherit;background:var(--panel);border:1px solid var(--line);color:var(--fg);cursor:pointer;max-width:100%;padding:0 4px}select:hover{border-color:var(--fg)}.stepper{gap:2px;display:inline-flex}.step{-webkit-user-select:none;user-select:none;touch-action:none;min-width:24px}.bar{background:var(--bar-bg);border:1px solid var(--line);vertical-align:middle;width:110px;height:10px;display:inline-block}.bar-fill{background:var(--bar-fill);height:100%;display:block}.warnbar .bar-fill{background:var(--warn)}.badbar .bar-fill{background:var(--bad)}button.hold{-webkit-user-select:none;user-select:none;touch-action:none;padding:0 5px;font-size:11px}.channels{flex:1;gap:14px;display:flex}.channels label{cursor:pointer;align-items:center;gap:4px;display:inline-flex}.channels label.dimmed{cursor:default}.checklist{gap:12px;margin-top:4px;font-size:11px;display:flex}.badges{border-top:1px solid var(--line);align-items:center;gap:6px;padding-top:6px;display:flex}.overlay{z-index:20;background:#14140f8c;place-items:center;display:grid;position:fixed;inset:0}.overlay-card{background:var(--panel);border:2px solid var(--fg);text-align:center;padding:24px 32px}.overlay-card h1{color:var(--bad);letter-spacing:.1em;margin:0 0 8px}.toasts{z-index:30;flex-direction:column;gap:6px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--fg);color:var(--bg);max-width:360px;padding:6px 12px}.fullscreen{z-index:25;background:var(--bg);flex-direction:column;padding:10px 14px;display:flex;position:fixed;inset:0;overflow:hidden}.rev-head{border-bottom:2px solid var(--fg);flex:none;align-items:center;gap:20px;padding-bottom:6px;display:flex}.rev-head h1{letter-spacing:.1em;flex:1;margin:0;font-size:15px}.rev-grain{align-items:center;gap:4px;display:flex}.rev-grain label{letter-spacing:.06em;margin-right:4px;font-size:11px}.rev-grain button.active{background:var(--fg);color:var(--bg)}.rev-tiles{border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;gap:4px 28px;padding:8px 0;display:flex}.rev-tile{flex-direction:column;line-height:1.35;display:flex}.rev-tile label{color:var(--dim);letter-spacing:.06em;font-size:11px}.rev-tile b{font-size:15px}.rev-tile .small{font-size:11px}.rev-plot{border-bottom:1px solid var(--line);flex:none;padding:6px 0 2px}.rev-metric{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.rev-metric button{font-size:11px}.rev-metric button.active{background:var(--fg);color:var(--bg)}.rev-chart{width:100%}.rev-chart svg{display:block}.rev-chart-read{align-items:baseline;gap:16px;min-height:20px;padding:4px 0 0;display:flex}.rev-chart-read b{font-size:13px}.rev-chart .grid{stroke:var(--line);stroke-width:1px}.rev-chart .grid.zero{stroke:var(--dim)}.rev-chart .axis{fill:var(--dim);font-size:10px}.rev-chart .line{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.rev-chart .dot{fill:var(--accent)}.rev-chart .dot.on{fill:var(--fg)}.rev-chart .cursor{stroke:var(--fg);stroke-width:1px;stroke-dasharray:2 3}.rev-body{flex:1;padding-top:6px;overflow:auto}table.rev-table{border-collapse:collapse;width:100%;font-size:12px}table.rev-table th,table.rev-table td{white-space:nowrap;padding:1px 8px}table.rev-table thead th{background:var(--bg);border-bottom:1px solid var(--fg);color:var(--dim);letter-spacing:.04em;text-align:left;z-index:1;font-size:11px;font-weight:400;position:sticky;top:0}table.rev-table thead th.num{text-align:right}table.rev-table tbody th{text-align:left;font-weight:400}table.rev-table tbody tr{border-bottom:1px dotted var(--line)}table.rev-table tbody tr:hover{background:var(--panel)}table.rev-table td.num{text-align:right}table.rev-table .small{font-size:10px}td.revcell{position:relative}td.revcell .revbar{background:var(--bar-bg);position:absolute;top:2px;bottom:2px;right:0}td.revcell .revnum{position:relative}.rev-more{padding:8px 0}.rev-note{max-width:90ch;padding:6px 0 2px}.dev-drawer{z-index:10;align-items:flex-start;height:100vh;display:flex;position:fixed;top:0;right:0}.dev-toggle{writing-mode:vertical-rl;margin-top:40vh}.dev-body{background:var(--panel);border-left:1px solid var(--fg);flex-direction:column;gap:8px;width:260px;height:100%;padding:10px;display:flex;overflow-y:auto}.dev-body .row{align-items:center;gap:6px;display:flex}table.ledger{border-collapse:collapse;width:100%;font-size:12px}table.ledger td{border-bottom:1px dotted var(--line);padding:1px 2px}table.ledger tr.total td{border-top:1px solid var(--fg);font-weight:700}abbr.warn-icon{cursor:help;border-bottom:1px dotted;margin-left:3px;text-decoration:none}.row.colhead{border-bottom:1px solid var(--line);font-size:11px}.numcol{text-align:right;min-width:62px}.btncol{justify-content:flex-end;gap:3px;min-width:150px;display:inline-flex}.fleetrow{border-bottom:1px dotted var(--line)}.panel .row.wrap{white-space:normal}.panel .row.wrap label{display:inline}.panel .row.fleetrow{white-space:nowrap;flex-wrap:nowrap}.panel .row.fleetrow>.grow{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tag{border:1px solid var(--accent);color:var(--accent);vertical-align:middle;margin-left:4px;padding:0 3px;font-size:10px}button.wide{width:100%}.panel.strip.mkt{flex-direction:column;align-items:stretch;gap:4px}.mkt-line{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.small{font-size:11px}.mkt .channels{flex-wrap:wrap;gap:16px}.panel.strip.procurement{border-color:var(--fg);flex-wrap:wrap;align-items:baseline}.panel.strip.procurement.attention{box-shadow:inset 4px 0 0 var(--warn,#b45309)}.orders{flex-direction:column;flex:100%;gap:2px;margin-top:4px;display:flex}.row.order{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.row.order.ready{border-left:3px solid var(--fg);padding-left:6px}button.ghost{border-color:var(--line);color:var(--dim);background:0 0}.tag.stored{border-style:dashed}.overlay-card.dialog{text-align:left;min-width:720px;max-width:860px}.overlay-card.dialog h1{color:var(--fg);font-size:18px}.overlay-card.dialog h2.small{margin:10px 0 4px;font-size:12px}.overlay-card.dialog .quote .row{align-items:center;gap:6px;padding:1px 0;display:flex}.overlay-card.dialog .quote .grow{flex:1}.row.actions{justify-content:flex-end;gap:8px;margin-top:10px}button.primary{background:var(--fg);color:var(--bg);font-weight:700}table.quote{border-collapse:collapse;width:100%;margin:10px 0}table.quote td{border-bottom:1px dotted var(--line);padding:1px 4px}table.quote td.num{text-align:right}table.quote tr.total td{border-top:1px solid var(--fg);font-weight:700}.okbar .bar-fill{background:var(--ok)}.stages{flex-direction:column;margin:2px 0 4px;display:flex}.stage .mark{text-align:center;flex:none;width:14px;display:inline-block}.stage .name{flex:none;min-width:88px}.stage.done .mark,.stage.done .name{color:var(--ok)}.stage.done .bar-fill{background:var(--ok)}.stage.active .name{font-weight:600}.stage.todo .mark,.stage.todo .name{color:var(--dim)}.stages .row.sub{padding-left:22px}.stages .stage>.grow,.stages .row.sub>.grow{min-width:26ch}.stages .bar{flex:none;width:70px}.ladder{flex-wrap:wrap;gap:0 10px;display:flex}.ladder .rung{white-space:nowrap}.ladder .rung.training{color:var(--fg);font-weight:600}.ladder .rung.shipped{color:var(--ok)}button.floor{padding:0 4px;font-size:10px}input.slider{min-width:120px;accent-color:var(--fg);cursor:pointer;flex:1}button.shipready{background:var(--ok);color:var(--bg);border-color:var(--ok);font-weight:700;animation:1.4s ease-in-out infinite shippulse}button.shipready:hover{background:var(--fg);border-color:var(--fg)}@keyframes shippulse{0%,to{opacity:1}50%{opacity:.72}}@media (prefers-reduced-motion:reduce){button.shipready{animation:none}}.badges .grow{flex:1}button.numfield{font:inherit;color:inherit;border:none;border-bottom:1px dashed var(--dim,#667);cursor:text;font-variant-numeric:tabular-nums;background:0 0;padding:0 1px}button.numfield:hover:not(:disabled){background:#1c2333;border-bottom-color:#7aa2f7}button.numfield:disabled{cursor:default;border-bottom-style:none}button.numfield.owned{font-weight:700}input.numfield.editing{font:inherit;color:#e6edf3;font-variant-numeric:tabular-nums;background:#0d1117;border:1px solid #7aa2f7;border-radius:2px;width:6ch;padding:0 2px}button.linky{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}button.linky:hover{color:#7aa2f7}.tag.ok{color:#7ee787;border-color:#7ee787}.hint{color:var(--accent)}abbr.hint-icon{color:var(--accent);cursor:help;margin-left:2px;text-decoration:none}@media (min-width:721px){[data-panel=products]{grid-template-columns:1fr auto auto auto auto;align-items:baseline;column-gap:10px;display:grid}[data-panel=products]>*{grid-column:1/-1}[data-panel=products]>.row.live{display:contents}[data-panel=products]>.row.live>*{grid-column:auto}[data-panel=products]>.row.live>:first-child{grid-column:1}[data-panel=products]>.row.live.sub{padding-left:0}[data-panel=products]>.row.live.sub>.grow{padding-left:18px}}@media (min-width:1160px){[data-panel=team]{flex-wrap:wrap;flex:none;align-items:baseline;gap:2px 20px;display:flex}[data-panel=team] h2{border-bottom:0;margin:0;padding:0}[data-panel=team]>.row,[data-panel=team] .grow{flex:0 auto}}@media (max-width:1159px){.columns,.columns>.col{display:contents}[data-panel=hardware]{order:1}[data-panel=marketing]{order:2}[data-panel=products]{order:3}[data-panel=model]{order:4}[data-panel=team]{order:5}[data-panel=procurement]{order:6}.badges{order:7}.buildline{order:8}.topbar .loadline{flex:100%;align-items:center;gap:8px;display:flex}.topbar .loadline label{margin-right:0}.topbar .loadline .bar{flex:60px;width:auto}[data-panel=model] .row.loadrow{display:none}.panel{flex:none}.screen>*,.panel,.badges{min-width:0}.topbar{z-index:5;background:var(--bg);position:sticky;top:0}}@media (max-width:720px){body{padding:8px}.topbar{flex-wrap:wrap;gap:6px 16px;margin:-8px -8px 0;padding:8px 8px 6px}.topbar .stats{flex-direction:column;flex:100%;gap:2px}.topbar .speed{flex:auto}.topbar .daybox{text-align:right;flex:auto}.panel .row{overflow-wrap:anywhere}.panel .row>*{min-width:0}.panel .row .grow{min-width:12ch}.panel h2{overflow-wrap:anywhere}.panel.strip{flex-wrap:wrap;align-items:flex-start}.checklist,.badges{flex-wrap:wrap}.bar{flex:90px;width:auto;min-width:80px;height:12px}.stages .bar{flex:60px;width:auto}.btncol{min-width:0}.panel .row.fleetrow{gap:5px;font-size:10px}.panel .row.fleetrow button:not(.numfield){padding:4px 5px}.panel .row.fleetrow .tag{display:none}button:not(.numfield):not(.linky):not(.statlink){min-height:34px;padding:4px 10px}.step{min-width:38px}button.hold{font-size:12px}input[type=checkbox]{width:18px;height:18px}input.slider{height:34px}input.numfield.editing{font-size:16px}.overlay{place-items:start center;padding:8px;overflow-y:auto}.overlay-card{width:100%;padding:16px}.overlay-card.dialog{min-width:0;max-width:100%}.rev-head{flex-wrap:wrap;gap:8px 16px}.rev-head h1{flex:1 0 100%}.rev-tiles{gap:4px 20px}.rev-body{overflow:auto}.rev-chart-read{flex-wrap:wrap;gap:4px 12px}table.rev-table{min-width:900px}.toasts{bottom:8px;left:8px;right:8px}.toast{max-width:none}.dev-drawer{flex-direction:column;align-items:flex-start;height:auto;inset:auto 0 0}.dev-toggle{writing-mode:horizontal-tb;margin-top:0}.dev-body{border-left:none;border-top:1px solid var(--fg);width:100vw;height:auto;max-height:60vh}}.jumps{flex-wrap:wrap;gap:4px;display:flex}.jumps button{padding:1px 6px;font-size:11px}.buildline{color:var(--dim);text-align:right;font-size:11px}
