:root{color-scheme:dark;--bg: #11171b;--bg-soft: #1a2329;--panel: #1e282f;--panel-alt: #223039;--line: rgba(255, 255, 255, .08);--text: #eff1e5;--muted: #b0bec5;--accent: #f2a14a;--gas: #49c6ff;--good: #8cd17d;--warn: #ffb05c;--danger: #e66a5f}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:radial-gradient(circle at top left,rgba(242,161,74,.16),transparent 28%),radial-gradient(circle at bottom right,rgba(73,198,255,.14),transparent 26%),linear-gradient(180deg,#101619,#182128);color:var(--text);font-family:Trebuchet MS,Verdana,sans-serif}button,select,input,textarea{font:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#1e282ff5,#12191efc);box-shadow:0 24px 70px #0000006b}.login-card__brand{margin-bottom:4px}.app-shell{height:100vh;display:grid;grid-template-columns:var(--controls-pane-width, 320px) 14px minmax(0,1fr) 14px var(--charts-pane-width, 430px);gap:0;padding:14px;overflow:hidden}.panel{min-height:0;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#1e282ff2,#172025fa);box-shadow:0 18px 42px #00000047}.panel--controls,.panel--charts{padding:18px;display:flex;flex-direction:column;gap:16px;overflow:auto}.panel--main{display:grid;grid-template-rows:auto minmax(0,1fr) 14px minmax(140px,var(--activity-pane-height, 200px));gap:14px;padding:14px;min-height:0}.brand{display:flex;align-items:center;gap:12px}.brand__mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#f2a14a,#cc6f3c);color:#101416;font-weight:700}.brand h1{margin:2px 0 0;font-size:1.35rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem}.legend{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.legend img{width:100%;height:64px;object-fit:contain;border-radius:16px;background:#ffffff0a;padding:8px;border:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:8px}.field span{color:var(--muted);font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.field select,.field input,.field textarea{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#080c0f73;color:var(--text);padding:12px 14px}.field--editor textarea{min-height:360px;resize:vertical;font-family:Courier New,monospace;font-size:.86rem;line-height:1.4}.button-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.button{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px 14px;background:#ffffff0a;color:var(--text);cursor:pointer}.button:hover{background:#ffffff14}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{background:linear-gradient(135deg,#f2a14a,#ce713f);color:#11161a;border-color:transparent;font-weight:700}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#070a0dad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px}.dialog{width:min(1200px,100%);max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border-radius:26px;border:1px solid var(--line);background:linear-gradient(180deg,#1c252cfa,#12191efc);box-shadow:0 24px 70px #0000006b;overflow:hidden}.dialog__header,.dialog__toolbar,.dialog__footer{padding:18px 22px}.dialog__header,.dialog__toolbar{border-bottom:1px solid rgba(255,255,255,.06)}.dialog__header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.dialog__header h2{margin:2px 0 0;font-size:1.4rem}.dialog__header-actions,.dialog__footer-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dialog__toolbar{display:flex;gap:12px;align-items:end}.dialog__body{min-height:0;overflow:auto;padding:22px}.dialog__footer{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid rgba(255,255,255,.06)}.dialog__error{color:#ff9b91}.dialog__hint{color:var(--muted)}.completion-dialog{width:min(560px,100%);max-height:none;grid-template-rows:auto minmax(0,1fr) auto}.completion-dialog__body{display:flex;flex-direction:column;gap:18px}.completion-dialog__copy{color:var(--muted);line-height:1.5}.completion-dialog__progress{display:flex;flex-direction:column;gap:12px}.completion-dialog__progress-bar{width:100%;height:16px;border-radius:999px;background:#ffffff14;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.completion-dialog__progress-fill{height:100%;background:linear-gradient(135deg,#f2a14a,#49c6ff);transition:width .18s ease}.completion-dialog__progress-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted)}.completion-dialog__progress-meta strong{color:var(--text)}.status-block{border:1px solid var(--line);border-radius:18px;padding:14px;background:#00000026}.scenario-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 14px}.scenario-summary__item{padding:10px 12px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.05)}.scenario-summary__item span{display:block;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.status-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.status-copy{margin-top:8px;color:var(--text);line-height:1.45}.status-copy--error{color:#ff9b91}.station-control,.station-control__sliders{display:flex;flex-direction:column;gap:12px}.station-control__slider-block{display:flex;flex-direction:column;gap:8px}.station-control__header{display:flex;justify-content:space-between;gap:12px;align-items:center}.station-control__kind{padding:4px 10px;border-radius:999px;background:#f2a14a24;border:1px solid rgba(242,161,74,.24);color:var(--accent);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.station-control__rate-row,.station-control__meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.station-control__rate-row{color:var(--muted);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.station-control__rate-row strong{color:var(--text);font-size:.96rem}.station-control__slider{width:100%;accent-color:var(--accent)}.station-control__slider-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.station-control__count-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center}.station-control__number{width:100%;min-width:0;border-radius:12px;border:1px solid var(--line);background:#070e13cc;color:var(--text);padding:8px 10px;font:inherit}.station-control__number::-webkit-outer-spin-button,.station-control__number::-webkit-inner-spin-button{margin:0}.station-control__stepper{min-width:36px;padding-inline:0}.station-control__reset{min-width:72px}.station-control__meta{color:var(--muted);font-size:.78rem}.resize-handle{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0}.resize-handle:before{content:"";border-radius:999px;background:#ffffff24;box-shadow:0 0 0 1px #ffffff0a;transition:background .12s ease}.resize-handle:hover:before{background:#f2a14ab8}.resize-handle--vertical{cursor:col-resize}.resize-handle--vertical:before{width:4px;height:96px}.resize-handle--horizontal{cursor:row-resize}.resize-handle--horizontal:before{width:96px;height:4px}.resize-handle--activity{margin:-7px 0}.summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.summary-card{padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff0d,#ffffff05)}.summary-card__label{display:block;color:var(--muted);font-size:.77rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.scene-panel,.activity-panel{border:1px solid var(--line);border-radius:22px;background:#05090c2e;min-height:0}.scene{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;border-radius:22px;user-select:none;-webkit-user-select:none}.scene--empty{display:grid;place-items:center;background:linear-gradient(180deg,#00000040,#00000026)}.scene__empty-copy{color:var(--muted);max-width:320px;text-align:center}.scene__svg{width:100%;height:100%;display:block;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.scene__svg text,.scene__svg tspan,.scene__hud,.scene-overlay{user-select:none;-webkit-user-select:none}.scene__svg--panning{cursor:grabbing}.scene-bg{fill:url(#sceneGradient)}.scene-road{fill:none;stroke:#d6a75f40;stroke-width:18;stroke-linecap:round}.scene-route{fill:none;stroke-linecap:round}.scene-route--edge{stroke:#f2f5f7f5;stroke-width:18}.scene-route--surface{stroke:#0c1013fa;stroke-width:14}.scene-route--center{stroke:#ffd971e6;stroke-width:2.8;stroke-dasharray:16 14}.scene-station{cursor:pointer}.scene-station:hover .scene-node,.scene-station:hover .scene-compound,.scene-station:hover .scene-customer-pad,.scene-station:hover .scene-board{stroke:#f2a14a7a}.scene-compound{fill:#1f2a2fc7;stroke:#ffffff1a;stroke-width:3}.scene-lot__pad,.scene-customer-pad{fill:#0a10156b;stroke:#ffffff1a;stroke-width:2}.scene-island{fill:#26363ef0;stroke:#49c6ff2e;stroke-width:3}.scene-board{fill:#080d1094;stroke:#ffffff14;stroke-width:2}.scene-stall{fill:#ffffff08;stroke:#ffffff1f;stroke-width:2;stroke-dasharray:6 5}.scene-stall--customer{fill:#f2a14a0a}.scene-post-bay{fill:#060a0c5c;stroke:#49c6ff2e;stroke-width:2}.scene-post{fill:#f2a14a}.scene-post-light{fill:#49c6ff}.scene-post-glow{fill:#49c6ff24}.scene-node{fill:var(--scene-node-fill, rgba(15, 22, 28, .94));stroke:var(--scene-node-stroke, rgba(255, 255, 255, .12));stroke-width:3}.scene-node--hub{filter:drop-shadow(0 0 10px rgba(242,161,74,.08))}.scene-node--customer{filter:drop-shadow(0 0 10px rgba(73,198,255,.08))}.scene-node__badge{fill:#f2a14a;stroke:#0b1014d9;stroke-width:2}.scene-node__count,.scene-node__label{fill:#eff1e5;font-family:Trebuchet MS,Verdana,sans-serif}.scene-node__count{font-size:21px;font-weight:700}.scene-node__label{font-size:19px;font-weight:700}.scene-station--selected .scene-node,.scene-station--selected .scene-compound,.scene-station--selected .scene-customer-pad,.scene-station--selected .scene-board{stroke:#f2a14aeb;filter:drop-shadow(0 0 18px rgba(242,161,74,.2))}.scene-status-dot{filter:drop-shadow(0 0 10px rgba(255,255,255,.12))}.scene-zone{fill:#ffffff08;stroke:#ffffff1f;stroke-width:2}.scene-zone--fill{fill:#49c6ff0d}.scene-zone--yard{fill:#f2a14a0d}.scene-zone__title,.scene-hub-label,.scene-id{fill:#eff1e5;font-family:Trebuchet MS,Verdana,sans-serif}.scene-zone__title{font-size:17px;font-weight:700}.scene-zone__subtitle{fill:#b7c3c7;font-family:Trebuchet MS,Verdana,sans-serif;font-size:14px}.scene-hub-label{font-size:24px;font-weight:700}.scene-id{font-size:16px;font-weight:700}.scene-id--truck{fill:#f2a14a}.scene__hud{position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#090e12bd;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scene__hud-copy{color:var(--muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.scene-overlay{position:absolute;inset:0;pointer-events:none}.scene-overlay__label{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:14px;background:#0b1116d1;border:1px solid rgba(255,255,255,.1);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.scene-overlay__label strong{font-size:.82rem}.scene-overlay__label span{color:var(--muted);font-size:.74rem}.scene-overlay__label--hub{background:#f2a14a26}.activity-panel{display:flex;flex-direction:column}.activity-toolbar{display:flex;justify-content:space-between;gap:12px;padding:12px 18px 8px;align-items:center}.activity-toolbar__title{display:flex;flex-direction:column;gap:4px}.activity-toolbar__heading{margin:0;font-size:1rem}.activity-toolbar__meta,.activity-toolbar__window span{color:var(--muted);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.activity-toolbar__controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.activity-toolbar__window{display:flex;align-items:center;gap:8px}.activity-toolbar__window select{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#080c0f73;color:var(--text);padding:8px 10px}.button--compact{border-radius:12px;padding:8px 10px;font-size:.84rem}.activity-filters{display:flex;flex-wrap:wrap;gap:6px 10px;padding:0 18px 8px}.activity-filter{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:.8rem}.activity-feed{flex:1;overflow:auto;padding:8px 18px 18px;display:flex;flex-direction:column;gap:6px}.activity-item{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:10px 12px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.05)}.activity-item__clock{color:var(--gas);font-size:.78rem}.activity-item__body{display:flex;flex-direction:column;gap:4px}.activity-item__category{color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.activity-item__message{color:var(--text);font-size:.9rem}.activity-item--stockout_start{background:#e66a5f24;border-color:#e66a5f57}.activity-item--stockout_start .activity-item__clock,.activity-item--stockout_start .activity-item__category,.activity-item--stockout_start .activity-item__message{color:#ff8f84}.activity-empty{color:var(--muted)}.activity-empty--error{color:#ff9b91}.charts-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.charts-header .section-title{color:var(--text);font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.charts-header__range{margin-top:4px;color:var(--muted);font-size:.78rem}.charts-header__controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.chart-stack{display:flex;flex-direction:column;gap:12px}.chart-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#223039e6,#192128f2)}.chart-card__header{padding:12px 14px 0;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.chart-card__body{width:100%;height:240px;position:relative}.chart-card__host{width:100%;height:100%}.chart-card__selection{position:absolute;top:44px;bottom:28px;pointer-events:none;border:1px solid rgba(73,198,255,.82);background:#49c6ff29;box-shadow:0 0 18px #49c6ff2e}.field--editor-modal{display:flex;flex-direction:column;gap:10px}.field--editor-modal textarea{min-height:520px;resize:vertical;font-family:Courier New,monospace;font-size:.86rem;line-height:1.45}.editor-stack{display:flex;flex-direction:column;gap:18px}.editor-section,.editor-card,.editor-subsection{border:1px solid rgba(255,255,255,.07);border-radius:20px;background:#ffffff08}.editor-section{padding:18px}.editor-section h3,.editor-subsection h4{margin:0}.editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.editor-field{display:flex;flex-direction:column;gap:8px}.editor-field--wide{grid-column:span 2}.editor-field span{color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.editor-field input,.editor-field select,.field--editor-modal textarea{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#080c0f73;color:var(--text);padding:10px 12px}.editor-toggle-row{display:flex;flex-wrap:wrap;gap:16px}.editor-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--text)}.editor-subsection{margin-top:16px;padding:16px}.editor-subsection__header,.editor-card__header{display:flex;justify-content:space-between;gap:12px;align-items:center}.editor-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.editor-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.editor-card{padding:16px}.editor-card__header{margin-bottom:14px}.editor-empty{color:var(--muted)}@media(max-width:1400px){.app-shell{grid-template-columns:var(--controls-pane-width, 320px) 14px minmax(0,1fr)}.resize-handle--charts{display:none}.panel--charts{grid-column:1 / -1}}@media(max-width:980px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.resize-handle--vertical{display:none}.panel--main{order:-1}.field--editor textarea{min-height:220px}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.scene{min-height:340px}.dialog-backdrop{padding:10px}.dialog{max-height:calc(100vh - 20px)}.dialog__header,.dialog__toolbar,.dialog__footer{padding:16px}.dialog__header,.dialog__toolbar,.dialog__footer{flex-direction:column;align-items:stretch}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-row{grid-template-columns:1fr}.activity-controls,.activity-toolbar{flex-direction:column;align-items:stretch}.activity-toolbar__controls{justify-content:stretch}.activity-toolbar__window{justify-content:space-between}}
