:root{--bg:#071721;--panel:rgba(7,24,35,.91);--panel2:rgba(10,31,44,.93);--line:rgba(156,197,201,.16);--text:#e1edf0;--muted:#76939f;--aqua:#65dfdc;--amber:#eab86f;--red:#fa7470;--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;color:var(--text);font-family:var(--font);background:#9fc0cb}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}#viewport{display:block;width:100%;height:100%;touch-action:none}#scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,19,27,.12) 0%,transparent 34%,transparent 70%,rgba(5,18,27,.06)),linear-gradient(0deg,rgba(6,23,31,.25) 0%,transparent 34%)}
.topbar{position:absolute;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:linear-gradient(180deg,rgba(4,18,26,.97),rgba(4,18,26,.85));border-bottom:1px solid var(--line);z-index:4}.brand{display:flex;gap:16px;align-items:center}.logo{position:relative;width:38px;height:35px;border:1px solid rgba(115,224,217,.33);display:flex;flex-direction:column;gap:4px;justify-content:center;align-items:center;transform:skew(-12deg)}.logo span{width:22px;height:3px;background:var(--aqua);transform:skew(-18deg)}.logo span:nth-child(2){width:15px;opacity:.67}.logo span:nth-child(3){width:9px;opacity:.45}.brand-overline,.section-caption,.metric-title,.metric-sub,.control-key,.control-info,.view-caption,.view-btn,.chart-head,.chart-foot,.button-row button,.control-footer,.loading-eyebrow,.loading-state{font-family:var(--mono)}.brand-overline{font-size:9px;color:#77bcb9;letter-spacing:2px}.brand-title{font-weight:750;font-size:18px;letter-spacing:1.2px;margin-top:3px;white-space:nowrap}.brand-title b{color:var(--aqua);font-weight:400}.version{font-family:var(--mono);margin-left:12px;font-size:9px;font-weight:400;color:var(--muted);vertical-align:3px}.top-center{display:flex;align-items:center;gap:12px;font:10px var(--mono);letter-spacing:1px;color:#a0bdc3}.small-pulse{width:7px;height:7px;background:#65ddaa;box-shadow:0 0 16px #5bf4b8;border-radius:50%;animation:pulse 2.4s infinite}.top-divider{height:19px;width:1px;background:var(--line);margin:0 8px}.top-actions{display:flex;gap:8px}.head-btn{background:#102d3b;border:1px solid var(--line);color:#adc3ca;padding:11px 15px;border-radius:3px;font:10px var(--mono);letter-spacing:1px}.head-btn span{margin-left:7px;color:var(--aqua)}.head-btn:hover,.view-btn:hover{background:#183847;color:white}.icon-btn{font-size:20px;padding:6px 12px}.left-hud{position:absolute;top:100px;left:22px;width:294px;z-index:2}.section-caption{font-size:10px;color:#a5c6cc;letter-spacing:1.7px;display:flex;align-items:center;gap:9px;margin-bottom:13px}.section-caption span{color:#61848c;margin-left:auto}.tiny-square{display:inline-block;width:7px;height:7px;background:var(--aqua);box-shadow:0 0 9px #65d7cf88}.metric-card,.metric-pair,.chart-card,.alert-card{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(18px);margin-bottom:9px;border-radius:3px}.metric-card{padding:17px 19px 16px}.metric-card.primary{border-left:3px solid var(--aqua)}.metric-title{font-size:10px;letter-spacing:1.15px;color:#91aeb8;display:flex;align-items:center;justify-content:space-between}.value-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.value-dot.aqua{background:var(--aqua)}.value-dot.gold{background:var(--amber)}.metric-big{font-weight:520;font-size:38px;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:8px 0 4px}.metric-big small{font:11px var(--mono);letter-spacing:0;color:var(--muted);margin-left:7px}.metric-sub{font-size:9px;letter-spacing:.65px;color:#6a929e}.meter{height:3px;background:#25404b;margin:13px 0 12px;overflow:hidden}.meter div{width:14%;height:100%;background:var(--amber);transition:width .25s}.metric-pair{display:grid;grid-template-columns:1fr 1fr;padding:17px 17px;gap:0}.metric-pair>div+div{border-left:1px solid var(--line);padding-left:16px}.metric-small{font-size:23px;margin-top:11px;font-variant-numeric:tabular-nums}.metric-small small{font:10px var(--mono);margin-left:4px;color:var(--muted)}.chart-card{padding:15px 15px 11px}.chart-head{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.65px;color:#a7c2c8}.chart-legend{font-size:8px;color:#8aa7b1}.chart-legend b,.chart-legend em{display:inline-block;width:10px;height:2px;vertical-align:3px;background:var(--aqua);margin:0 5px}.chart-legend em{background:var(--amber)}#level-chart{width:100%;height:94px;margin:12px 0 3px;overflow:visible}.chart-grid{stroke:#4c7581;stroke-opacity:.25;stroke-width:.8;stroke-dasharray:3 5}.chart-foot{display:flex;justify-content:space-between;font-size:8px;color:#577c85}.alert-card{border-left:3px solid #73c6a1;padding:14px 17px}.alert-card.high{border-left-color:var(--amber)}.alert-card.critical{border-left-color:var(--red);background:rgba(47,23,30,.9)}.alert-heading{display:flex;align-items:center;gap:9px;font:11px var(--mono);letter-spacing:.7px}.alert-icon{display:inline-grid;place-items:center;border:1px solid #79bca0;border-radius:50%;width:19px;height:19px;color:#a5e6c0}.alert-card.high .alert-icon,.alert-card.critical .alert-icon{border-color:var(--red);color:var(--red)}#alarm-message{font-size:11px;line-height:1.5;color:#92b0b9;margin-top:9px}
.right-hud{position:absolute;top:90px;right:19px;bottom:86px;width:337px;background:rgba(5,23,33,.94);border:1px solid rgba(168,208,210,.18);box-shadow:0 15px 60px #03172177;z-index:3;display:flex;flex-direction:column;border-radius:3px;backdrop-filter:blur(22px)}.control-heading{display:flex;align-items:center;justify-content:space-between;padding:21px 19px 17px}.control-heading .section-caption{font-size:9px;color:var(--aqua);margin-bottom:7px}.control-heading h1{font-size:17px;margin:0;font-weight:680;letter-spacing:1px}.control-heading p{font:9px var(--mono);color:#718d97;margin:7px 0 0;letter-spacing:.6px}.system-num{font:12px var(--mono);color:#76a5ad;transform:rotate(-90deg);margin-right:-16px}.controls-tabs{display:grid;grid-template-columns:repeat(4,1fr);height:43px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tab{background:none;border:0;border-right:1px solid var(--line);color:#7899a3;font:10px var(--mono);letter-spacing:.65px}.tab:last-child{border-right:0}.tab.active{border-bottom:2px solid var(--aqua);color:var(--aqua);background:rgba(88,211,212,.075)}.tab:hover{color:white}.control-scroll{flex:1;overflow-y:auto;scrollbar-color:#31515e transparent;scrollbar-width:thin}.control-panel{display:none;padding:22px 19px}.control-panel.active{display:block}.section-label{font:10px var(--mono);letter-spacing:1.1px;color:#a6c1c8;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-label span{color:var(--aqua);font-size:9px}.progress-row{display:flex;justify-content:space-between;align-items:center;background:rgba(28,59,71,.43);padding:16px;margin-bottom:24px}.progress-row b{display:block;font-size:34px;font-weight:580;color:var(--aqua);letter-spacing:-2px}.progress-row span{display:block;font:9px var(--mono);color:#718f9b;margin-top:5px}.gate-visual{height:46px;width:61px;background:repeating-linear-gradient(90deg,#28505b 0 3px,#0b2431 3px 5px);border:2px solid #577784;position:relative;overflow:hidden}.gate-visual #gate-bar{position:absolute;height:100%;width:100%;bottom:0;background:linear-gradient(180deg,#48b7c2,#1b5a68);transition:height .2s}.control-key{display:flex;justify-content:space-between;font-size:9px;color:#829fa7;letter-spacing:.55px;margin-bottom:11px}.control-key span{color:var(--aqua)}.zone-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:25px}.zone-cell{border:1px solid #345261;background:#132e3a;color:#9aafb4;padding:10px 0 9px;display:grid;place-items:center;gap:5px;font:10px var(--mono)}.zone-cell span{display:block;width:18px;height:3px;background:#436774}.zone-cell.active{border-color:var(--aqua);color:var(--aqua);background:#1a424c}.zone-cell.active span{background:var(--aqua)}.range-label{display:flex;align-items:center;justify-content:space-between;font:9px var(--mono);letter-spacing:.8px;color:#91aeb8}.range-label b{font-size:15px;color:var(--aqua)}input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:3px;margin:22px 0;background:linear-gradient(90deg,#56d8d4,#2f5a67);border-radius:3px;cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;background:#d5f5ef;border:3px solid #1b797e;box-shadow:0 0 0 3px rgba(77,215,211,.18);border-radius:50%}input[type=range]::-moz-range-thumb{width:13px;height:13px;background:#d5f5ef;border:2px solid #1b797e;border-radius:50%}.range-ends{display:flex;justify-content:space-between;font:9px var(--mono);color:#5c8390;margin-top:-7px;margin-bottom:25px}.button-row{display:flex;gap:8px}.button-row button{flex:1;padding:12px 6px;background:rgba(41,71,83,.45);color:#b5ccd0;border:1px solid #32505d;font-size:10px;letter-spacing:.45px;transition:.17s}.button-row button:hover{background:#2d5662;border-color:#6ec8c8}.wide-action{margin-top:12px;width:100%;padding:15px 9px;background:rgba(34,91,87,.28);border:1px solid #368985;color:#aee1d7;font:10px var(--mono);letter-spacing:.65px}.wide-action .dot{display:inline-block;width:6px;height:6px;background:#68dca5;border-radius:50%;margin-right:8px}.wide-action:not(.active){background:#302d28;border-color:#746548;color:#e6c19b}.wide-action:not(.active) .dot{background:#cba56c}.control-info{border-top:1px solid var(--line);margin-top:22px;padding-top:15px;line-height:1.65;font-size:10px;color:#7294a0;letter-spacing:0}.control-footer{padding:15px 19px 18px;border-top:1px solid var(--line)}.footer-row{display:flex;justify-content:space-between;font-size:10px;color:#80a2a9}.footer-row strong{color:var(--aqua);font-weight:500}.control-footer input[type=range]{margin:16px 0 20px}.transport .play-btn{background:#246767;color:#d3fff9;border-color:#317e80}.equipment-card{background:rgba(25,61,71,.35);border:1px solid var(--line);padding:15px;margin-bottom:12px}.equipment-card>span,.equipment-card .muted{font:10px var(--mono);color:#90abb2}.equipment-card strong{display:block;font-size:28px;font-weight:510;margin:9px 0 12px;color:#dce8ea}.equipment-card strong small{font:12px var(--mono);color:#7698a0}.rail-meter{height:5px;background:#1b3946}.rail-meter>span{height:100%;display:block;background:var(--aqua);transition:width .3s}.equipment-card .muted{font-size:9px;line-height:1.6}.lock-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lock-item{border:1px solid #345261;background:#132d39;padding:15px 11px;text-align:left;color:#b1c7ca}.lock-item b{display:block;font:12px var(--mono);margin-bottom:8px}.lock-item span{font:9px var(--mono);color:#789da4}.lock-item.open{border-color:var(--aqua);background:#173f43}.lock-item.open span{color:var(--aqua)}.scenario-grid{display:grid;gap:9px}.scenario{display:flex;align-items:center;gap:12px;text-align:left;background:rgba(30,60,72,.38);padding:14px 12px;border:1px solid #365461;color:#d2e0e2}.scenario span.icon{font-size:21px;width:26px;text-align:center}.scenario b{display:block;font-size:11px;letter-spacing:.5px}.scenario small{display:block;font-size:10px;margin-top:4px;color:#7898a2}.scenario.active{border-color:var(--aqua);background:rgba(29,93,95,.40)}.scenario:hover{background:rgba(52,92,102,.52)}
.bottom-hud{position:absolute;bottom:0;left:0;right:0;height:67px;background:linear-gradient(180deg,rgba(3,18,27,.86),rgba(3,18,27,.98));border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;z-index:3}.view-switch{display:flex;gap:6px;align-items:center}.view-caption{margin-right:9px;color:#6e929d;font-size:9px;letter-spacing:1px}.view-btn{font-size:9px;color:#668c97;background:transparent;border:1px solid transparent;padding:11px 8px;white-space:nowrap}.view-btn b{color:#abc0c6;margin-left:4px;font-weight:500}.view-btn.selected{background:rgba(42,90,98,.40);border-color:#416d73;color:var(--aqua)}.view-btn.selected b{color:#d2eeee}.hud-bottom-right{display:flex;gap:27px}.hud-bottom-right div{display:grid;gap:5px}.hud-bottom-right span{font:9px var(--mono);color:#6c939d}.hud-bottom-right b{font:11px var(--mono);color:#b4d1d6}.loading{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#144358,#071824 65%);transition:opacity .7s}.loading.done{opacity:0;pointer-events:none}.loading-inner{text-align:center;min-width:300px}.loading-logo{font-size:78px;color:var(--aqua)}.loading-eyebrow{font-size:10px;color:#8cb9c3;letter-spacing:3px;margin-top:-7px}.loading-inner h2{font-weight:650;font-size:52px;letter-spacing:8px;margin:14px 0}.loading-inner p{font-size:13px;color:#819eac}.loading-track{height:3px;margin:30px 0 16px;background:#16404b}.loading-track>div{height:100%;width:100%;background:var(--aqua);box-shadow:0 0 12px var(--aqua)}.loading-state{font-size:9px;color:#5d8996;letter-spacing:1px}#toast{position:absolute;bottom:91px;left:50%;transform:translateX(-50%);padding:11px 19px;background:rgba(7,29,37,.93);border:1px solid #428585;color:#b7e5e4;font:11px var(--mono);letter-spacing:.6px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:7}#toast.show{opacity:1}.modal-wrap{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,10,16,.75);backdrop-filter:blur(11px);z-index:9}.modal-wrap.hidden{display:none}.modal{width:min(700px,90vw);max-height:90vh;overflow-y:auto;background:#092532;border:1px solid #3b6874;padding:35px 38px;position:relative}.modal h2{font-size:24px;letter-spacing:1.5px;margin:13px 0}.modal p{color:#8eb1b9;font-size:12px}.modal-close{position:absolute;right:17px;top:16px;background:transparent;color:#b9d6da;border:1px solid #476572;padding:7px 10px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:26px 0}.help-grid div{border:1px solid #31515b;padding:13px}.help-grid b{display:block;font:11px var(--mono);color:var(--aqua);margin-bottom:7px}.help-grid span{color:#acc3c9;font-size:11px}.smallprint{font-size:10px;color:#748f9a;line-height:1.6;border-top:1px solid #31515b;padding-top:15px}@keyframes pulse{50%{opacity:.5;box-shadow:0 0 4px #5bf4b8}}
@media(max-width:1190px){.left-hud{width:245px;left:12px}.right-hud{width:292px;right:12px}.brand-title{font-size:16px}.view-caption,.hud-bottom-right{display:none}.view-btn{padding:10px 6px}.view-btn b{font-size:8px}}@media(max-width:830px){.top-center{display:none}.left-hud{top:90px;width:178px}.metric-card{padding:10px}.metric-big{font-size:26px}.metric-pair,.chart-card{display:none}.right-hud{width:235px;top:88px;bottom:75px}.control-heading{padding:12px}.control-heading h1{font-size:12px}.control-heading p{font-size:8px}.control-panel{padding:12px}.zone-grid{grid-template-columns:repeat(4,1fr)}.brand-title{font-size:13px}.brand-overline{font-size:8px}.head-btn{display:none}.bottom-hud{overflow-x:auto;padding:0 10px}.view-switch{min-width:max-content}.view-btn b{font-size:8px}}@media(max-height:710px){.left-hud .chart-card,.left-hud .metric-pair{display:none}.right-hud{top:81px;bottom:67px}}

.manual-environment{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.manual-environment input{margin-bottom:21px}
