.plant-theater{--scene-ink:#cfe0ec;--scene-muted:#839eb3;--scene-label:#142535;--scene-readout:#10202f;position:relative;isolation:isolate;overflow:hidden;border:1px solid #2b4054;border-radius:14px;background:radial-gradient(ellipse at 55% 45%,#20374c 0%,#102030 48%,#0a1724 100%);box-shadow:inset 0 1px 0 #ffffff09,0 14px 40px #00000014;margin-bottom:18px;color:var(--scene-ink)}.theater-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 25px 0;gap:14px;position:relative;z-index:1}.theater-heading .eyebrow{font-size:9px;color:#7ba4c6;letter-spacing:.14em}.theater-heading h2{margin:5px 0 0;font-size:23px;letter-spacing:-.6px;font-weight:600;color:var(--scene-ink)}.scene-forecast-badge{display:flex;align-items:center;gap:7px;font-size:10px;border:1px solid #466582;border-radius:20px;padding:6px 10px;background:#152d42;color:#b9d5eb}.scene-forecast-badge i{height:5px;width:5px;background:#6ba4d5;border-radius:50%;box-shadow:0 0 10px #58a6ff66}.plant-scene-scroll{overflow-x:auto;position:relative;scrollbar-width:thin;scrollbar-color:#365269 transparent}.plant-scene{display:block;width:100%;height:auto;min-height:300px;max-height:570px;overflow:visible}.plant-theater.compact .plant-scene{min-height:225px;max-height:340px}.plant-theater.compact .theater-heading{padding:17px 18px 0}.plant-theater.compact h2{font-size:18px}.scene-grid{fill:none;stroke:#6a95b7;stroke-opacity:.1;stroke-width:1}.scene-road-edge{fill:none;stroke:#64859e;stroke-opacity:.26;stroke-width:1}.scene-road-marking{fill:none;stroke:#a2bacb;stroke-width:1.5;stroke-dasharray:11 14;stroke-opacity:.32}.scene-label-bg{fill:var(--scene-label);stroke:#425e73;stroke-width:.8;opacity:.95}.scene-label-name{font:600 12px system-ui;fill:var(--scene-ink)}.scene-label-material{font:10px system-ui;fill:var(--scene-muted)}.scene-readout-bg{fill:var(--scene-readout);stroke:#365169;stroke-width:.8}.scene-ton-value{font:600 17px system-ui;letter-spacing:-.3px;fill:#e1edf6}.scene-level-status{font:10px system-ui;fill:#9bb5ca}.scene-small-label{font:9px system-ui;letter-spacing:1px;fill:#7b9cb4}.scene-reserve{fill:none;stroke:#f2ac5c;stroke-width:1.8;stroke-dasharray:4 3}.scene-material-pipe{fill:none;stroke:#476c85;stroke-width:7;stroke-linecap:round}.scene-hose{fill:none;stroke:#738da1;stroke-width:4;stroke-linecap:round}.scene-flow{fill:none;stroke:#edc480;stroke-width:3;stroke-dasharray:4 6;opacity:0;filter:drop-shadow(0 0 3px #e9c28988)}.scene-flow.active{opacity:1}.plant-theater.playing .scene-flow.active{animation:powder-flow .65s linear infinite}.scene-unload-flow{stroke-width:2.5}.rig-shadow{fill:#02070b;opacity:.6}.scene-truck-tag{fill:#123653;stroke:#4487b6;stroke-width:.6}.scene-truck-id{font:600 10px system-ui;fill:#e6f2fb}.scene-deliveries>g{transition:opacity .2s}.scene-silo rect[data-scene-fill]{transition:y .15s linear,height .15s linear}.scene-silo rect[data-scene-fill].danger{fill:#cc654f}.theater-live-strip{display:flex;align-items:center;flex-wrap:wrap;gap:10px 23px;padding:12px 24px;background:#07121e60;border-top:1px solid #4e6f872b;font-size:11px;color:#9ab6ca}.theater-live-strip>span{display:flex;gap:6px;align-items:center}.theater-live-strip b{color:#dceaf5;font-variant-numeric:tabular-nums}.scene-key{width:6px;height:6px;border-radius:50%;display:inline-block}.scene-key.receiving{background:#e9c289}.scene-key.approaching{background:#5ea6da}.scene-key.reserve{background:#e69d58}.scene-next{margin-left:auto;font-size:10px;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theater-caption{font-size:10px;color:#7794ab;padding:10px 24px 12px;line-height:1.5}.plant-theater.compact .theater-live-strip{padding:10px 16px;gap:8px 13px;font-size:9px}.plant-theater.compact .theater-caption{padding:8px 16px;font-size:9px}.plant-theater.compact .scene-next{max-width:100%;margin-left:0;width:100%}.overview-playback-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 14px;margin-top:-19px;border:1px solid #2b4054;border-top:0;background:var(--panel-bg,#161b22);border-radius:0 0 12px 12px}.overview-playback-controls button{font-size:10px;padding:7px 9px}.overview-playback-controls #silo-time{flex:1;min-width:80px;width:90px}.overview-playback-controls #silo-clock{font-size:17px;min-width:46px}.overview-playback-controls select{font-size:10px;max-width:110px;padding:7px}.desk-plant-preview{margin-bottom:18px}.overview-silo-missing{font-size:10px;color:var(--muted,#8b949e);padding:4px 12px}.scene-empty{padding:48px 24px;text-align:center;color:var(--scene-ink)}.scene-empty strong{font-size:18px}.scene-empty p{max-width:460px;margin:12px auto;color:#8bacc4;font-size:12px;line-height:1.7}.plant-theater.compact .scene-empty{padding:25px 18px}.plant-theater.compact .scene-empty strong{font-size:15px}.release-update{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;align-items:center;gap:15px;background:var(--panel-bg,#161b22);border:1px solid #388bfd;color:var(--text,#e6edf3);border-radius:10px;padding:12px 16px;box-shadow:0 10px 40px #0005;font-size:12px}.release-update button{font-size:11px}.release-update[hidden]{display:none}@keyframes powder-flow{to{stroke-dashoffset:-30}}@media(prefers-reduced-motion:reduce){.scene-flow{animation:none!important}.scene-silo rect[data-scene-fill],.scene-deliveries>g{transition:none}}:root[data-theme=light] .plant-theater{--scene-ink:#213f55;--scene-muted:#597990;--scene-label:#e3eef5;--scene-readout:#d4e5f0;background:radial-gradient(ellipse at 55% 40%,#f1f6f9,#e3edf4 55%,#cbdde9)}:root[data-theme=light] .scene-ton-value{fill:#163e59}:root[data-theme=light] .scene-level-status{fill:#3e637d}:root[data-theme=light] .theater-heading .eyebrow{color:#567b96}:root[data-theme=light] .theater-live-strip{background:#d3e3ed80;color:#416981}:root[data-theme=light] .theater-live-strip b{color:#193e57}:root[data-theme=light] .theater-caption{color:#52748c}:root[data-theme=light] .scene-forecast-badge{background:#d9e9f4;color:#315f80;border-color:#9ebfd6}@media(max-width:600px){.theater-heading{padding:15px 15px 0}.theater-heading h2{font-size:19px}.plant-scene{min-width:700px;min-height:280px}.plant-theater.compact .plant-scene{min-width:650px;min-height:260px}.theater-live-strip{padding:10px 15px;gap:8px 16px}.scene-next{width:100%;max-width:100%;margin:0}.overview-playback-controls{gap:7px}.overview-playback-controls #silo-time{min-width:115px}.release-update{left:10px;right:10px;bottom:10px}}

.scene-stock-detail{font:12px system-ui;fill:var(--scene-ink);font-variant-numeric:tabular-nums}

/* Inventory risk changes the material itself, not only a tiny status dot. */
.scene-risk-halo{transition:fill .35s,opacity .35s}.scene-alarm{opacity:0}.scene-silo[data-risk="warning"] [data-scene-fill]{fill:#d29922!important}.scene-silo[data-risk="warning"] .scene-risk-halo{fill:#d29922;opacity:.17}.scene-silo[data-risk="danger"] [data-scene-fill],.scene-silo[data-risk="empty"] [data-scene-fill]{fill:#f85149!important}.scene-silo[data-risk="danger"] .scene-risk-halo,.scene-silo[data-risk="empty"] .scene-risk-halo{fill:#f85149;opacity:.24}.scene-silo[data-risk="danger"] .scene-alarm,.scene-silo[data-risk="empty"] .scene-alarm{opacity:1}.scene-silo[data-risk="danger"] .scene-level-status,.scene-silo[data-risk="empty"] .scene-level-status{fill:#ff7b72;font-weight:800}.plant-theater.playing .scene-silo[data-risk="danger"] .scene-alarm,.plant-theater.playing .scene-silo[data-risk="empty"] .scene-alarm{animation:supply-beacon 1.5s ease-in-out infinite}.scene-silo[data-risk="warning"] .scene-level-status{fill:#e3b341;font-weight:700}.scene-deliveries .unloading .rig-shadow{filter:drop-shadow(0 0 4px #58a6ff)}.scene-flow.active{stroke-width:4;filter:drop-shadow(0 0 3px #a5d6ff)}.scene-surface{transition:stroke .3s}.scene-readout-bg{stroke-width:1.4}.scene-silo[data-risk="danger"] .scene-readout-bg,.scene-silo[data-risk="empty"] .scene-readout-bg{stroke:#f85149}.scene-silo[data-risk="warning"] .scene-readout-bg{stroke:#d29922}@keyframes supply-beacon{0%,100%{opacity:.45}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.plant-theater *{animation:none!important}}
/* Individual, readable plant panels replace the shared miniature scene. */
.supply-room{background:var(--panel-bg,#161b22);color:var(--text,#e6edf3)}.supply-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px}.compact .supply-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px}.supply-card{--stock:#58a6ff;border:1px solid #303d4d;border-radius:12px;overflow:hidden;background:linear-gradient(150deg,#182838,#0d1723);color:#e6edf3;min-width:0;transition:border-color .3s,box-shadow .3s}.supply-card header{padding:16px 16px 0;display:flex;justify-content:space-between;gap:8px}.supply-kicker{font-size:9px;color:#8bacc5;letter-spacing:.13em}.supply-card h3{font-size:15px!important;line-height:1.3;margin:5px 0;color:#e6edf3!important;letter-spacing:-.2px}.supply-card header p{font-size:11px;color:#a9bdcf;margin:4px 0}.supply-percent{font-size:25px;font-weight:700;color:var(--stock);font-variant-numeric:tabular-nums}.supply-stage{position:relative}.supply-stage svg{display:block;width:100%;height:auto}.supply-stage-label{position:absolute;left:14px;bottom:6px;color:#b7d8f1;font-size:10px;font-weight:700;background:#0d1723d9;padding:5px 7px;border-radius:5px}.supply-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:14px 10px;border-top:1px solid #31405266;gap:6px}.supply-stats>div{text-align:center}.supply-stats span{display:block;color:#93aabd;font-size:9px;letter-spacing:.06em;margin-bottom:7px}.supply-stats strong{font-size:21px;font-variant-numeric:tabular-nums;white-space:nowrap}.supply-stats strong small{font-size:14px}.supply-stats>div:first-child strong{color:var(--stock)}.supply-status{padding:10px 14px;background:#58a6ff12;border-top:1px solid #58a6ff25;color:var(--stock);font-size:10px;font-weight:800;letter-spacing:.03em}.supply-arrival{padding:10px 14px;font-size:10px;color:#9fb7cb}.supply-hose,.supply-flow{fill:none;opacity:0;stroke:#768da3;stroke-width:5}.supply-flow{stroke:#bfe9ff;stroke-width:3;stroke-dasharray:5 8}.is-unloading .supply-hose,.is-unloading .supply-flow{opacity:1}.playing .is-unloading .supply-flow{animation:powder-flow .5s linear infinite}.supply-card[data-risk=warning]{--stock:#e3b341;border-color:#b98726;box-shadow:inset 0 3px #d29922}.supply-card[data-risk=danger],.supply-card[data-risk=empty]{--stock:#ff7b72;border-color:#f85149;box-shadow:inset 0 3px #f85149,0 0 22px #f8514922}.supply-card[data-risk=warning] [data-scene-fill]{fill:#d29922!important}.supply-card[data-risk=danger] [data-scene-fill],.supply-card[data-risk=empty] [data-scene-fill]{fill:#f85149!important}.supply-card[data-risk=danger] .supply-status,.supply-card[data-risk=empty] .supply-status{background:#f8514922}.playing .supply-card[data-risk=empty] .supply-status{animation:supply-beacon 1s infinite}.supply-card [data-scene-fill]{transition:y .15s linear,height .15s linear}.supply-room .theater-heading{padding-bottom:0}.supply-room .theater-live-strip{font-size:12px}.supply-room .theater-caption{font-size:11px}.supply-room .theater-heading h2{font-size:23px}:root[data-theme=light] .supply-card{background:linear-gradient(145deg,#f8fbfe,#e5eef5);color:#20374b;border-color:#c5d4e0}:root[data-theme=light] .supply-card h3{color:#20374b!important}:root[data-theme=light] .supply-card header p,:root[data-theme=light] .supply-stats span,:root[data-theme=light] .supply-arrival{color:#506f86}:root[data-theme=light] .supply-percent{color:#1673ac}:root[data-theme=light] .supply-card[data-risk=danger],:root[data-theme=light] .supply-card[data-risk=empty]{border-color:#d73a42}:root[data-theme=light] .supply-card[data-risk=warning]{border-color:#b98726}@media(max-width:1100px){.supply-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.supply-grid,.compact .supply-grid{grid-template-columns:1fr}.supply-stats strong{font-size:24px}}
.silo-player{position:sticky;top:0;z-index:8;box-shadow:0 8px 24px #0002}.desk-plant-preview{display:flex;flex-direction:column}.desk-plant-preview .overview-playback-controls{order:-1;margin:0 0 10px;border:1px solid #303d4d;border-radius:10px;position:sticky;top:0;z-index:7}.supply-room .supply-card .supply-stage svg{overflow:hidden}
.shared-playback .shared-scene{max-height:none;min-height:0;height:auto}.shared-playback.compact .shared-scene{max-height:none;min-height:0}.shared-playback .scene-silo[data-risk=warning] [data-scene-fill]{fill:#d29922!important}.shared-playback .scene-silo[data-risk=danger] [data-scene-fill],.shared-playback .scene-silo[data-risk=empty] [data-scene-fill]{fill:#f85149!important}.shared-playback .scene-stock-detail{font-size:13px}.shared-playback .scene-truck-id{font-size:10px}.shared-playback .plant-scene-scroll{max-width:100%;overflow:auto}.shared-playback .scene-hose{stroke-width:3}.shared-playback .scene-flow.active{stroke-width:2}.shared-playback .scene-ton-value{font-size:18px}@media(max-width:600px){.shared-playback .shared-scene,.shared-playback.compact .shared-scene{min-width:850px!important}}
