.lab-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:42px;margin-bottom:28px}.lab-heading h1{margin-bottom:14px}.lab-heading>div>p:last-child{max-width:670px;color:var(--muted);line-height:1.7}.lab-status{border:1px solid var(--line);padding:18px 20px;min-width:210px;font:10px var(--mono);letter-spacing:.1em}.lab-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid);margin-right:8px}.lab-status strong{display:block;font-size:24px;color:var(--ink);margin-top:8px}.dcs-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:12px}.process-panel,.control-panel,.trend-panel,.scenario-panel,.event-panel{background:var(--panel);border:1px solid var(--line)}.panel-title{height:46px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 17px;font:10px var(--mono);letter-spacing:.1em;color:var(--muted)}.process-canvas{height:420px;position:relative;overflow:hidden;background:linear-gradient(rgba(31,57,50,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(31,57,50,.25) 1px,transparent 1px);background-size:30px 30px}.tank-wrap{position:absolute;width:200px;left:50%;top:55px;transform:translateX(-50%)}.equipment-tag{font:11px var(--mono);color:var(--acid)}.tank{height:250px;border:3px solid #527068;border-top:0;position:relative;margin-top:8px;background:rgba(0,0,0,.22);overflow:hidden}.tank:before,.tank:after{content:"";position:absolute;left:-3px;right:-3px;height:22px;border:3px solid #527068;border-radius:50%;z-index:3}.tank:before{top:-11px;background:var(--panel)}.tank:after{bottom:-11px}.liquid{position:absolute;left:0;right:0;bottom:0;height:56%;background:linear-gradient(#59f2b4aa,#168c65cc);transition:height .5s}.liquid:before{content:"";position:absolute;left:0;right:0;top:-7px;height:14px;border-radius:50%;background:#75f5c2}.liquid span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 24px var(--mono);color:#04100c}.mark{position:absolute;right:7px;font:normal 9px var(--mono);color:#abc0b8;z-index:4}.m75{top:25%}.m50{top:50%}.m25{top:75%}.sensor{position:absolute;right:-65px;top:105px;width:45px;height:45px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;font:9px var(--mono);background:var(--panel)}.sensor b{margin-top:-11px}.pipe{position:absolute;height:10px;background:#39584f;top:200px}.pipe span{position:absolute;top:-27px;font:10px var(--mono);color:var(--muted)}.pipe i{position:absolute;inset:2px;background:repeating-linear-gradient(90deg,var(--acid) 0 12px,transparent 12px 22px);animation:flow 1s linear infinite}.pipe i.stopped{animation:none;opacity:.15}@keyframes flow{to{background-position:22px 0}}.inlet{left:0;width:calc(50% - 100px)}.inlet span{right:12px}.outlet{right:0;width:calc(50% - 100px);top:318px}.outlet span{left:50px}.valve-symbol{position:absolute;left:calc(50% - 132px);top:178px;width:60px;text-align:center;font:10px var(--mono)}.valve-symbol b{display:grid;place-items:center;width:42px;height:42px;margin:auto;background:var(--panel2);border:2px solid var(--acid);transform:rotate(45deg)}.valve-symbol b::first-letter{transform:rotate(-45deg)}.valve-symbol small,.pump-symbol small{display:block;color:var(--muted);margin-top:12px;white-space:nowrap}.pump-symbol{position:absolute;right:calc(50% - 200px);top:292px;text-align:center;font:10px var(--mono)}.pump-symbol i{display:block;width:54px;height:54px;border:3px solid var(--acid);border-radius:50%;position:relative}.pump-symbol i:after{content:"";position:absolute;inset:10px;border:8px solid transparent;border-left-color:var(--acid);border-radius:50%}.pump-symbol.off i{border-color:#5b6864}.pump-symbol.off i:after{border-left-color:#5b6864}.alarm-strip{height:56px;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:12px;padding:0 16px;border-top:1px solid var(--line);background:rgba(89,242,180,.05)}.alarm-strip span{font:700 11px var(--mono);color:var(--acid)}.alarm-strip p{font-size:12px;color:var(--muted)}.alarm-strip button{background:none;border:1px solid var(--line);color:var(--muted);padding:7px;font:9px var(--mono)}.alarm-strip.alarm{background:rgba(255,92,92,.13)}.alarm-strip.alarm span{color:#ff6b6b}.control-panel{padding-bottom:16px}.mode-badge{color:var(--acid)}.meters{display:grid;grid-template-columns:repeat(3,1fr);margin:18px;border:1px solid var(--line)}.meters div{padding:15px;text-align:center}.meters div+div{border-left:1px solid var(--line)}.meters span,.meters small{font:10px var(--mono);color:var(--muted)}.meters strong{display:block;font:500 26px var(--mono);margin:5px}.control-label{display:flex;justify-content:space-between;margin:20px 18px 7px;font:10px var(--mono);color:var(--muted)}.control-label output{color:var(--acid)}.control-panel input[type=range]{width:calc(100% - 36px);margin:0 18px;accent-color:var(--acid)}.mode-controls{display:grid;grid-template-columns:1fr 1fr;margin:22px 18px 10px}.mode-controls button{padding:11px;background:none;border:1px solid var(--line);color:var(--muted);font:10px var(--mono)}.mode-controls button.active{background:var(--acid);color:#04100c}.pump-control{margin:5px 18px;width:calc(100% - 36px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;gap:8px;background:#0a1513;border:1px solid var(--line);color:var(--ink);padding:12px}.pump-control span{width:8px;height:8px;border-radius:50%;background:var(--acid)}.pump-control small{color:var(--acid)}.pump-control.off span{background:#67746f}.pump-control.off small{color:var(--muted)}.esd{width:calc(100% - 36px);margin:12px 18px 0;padding:12px;border:1px solid #843d3d;background:#351818;color:#ff9c9c;font:700 11px var(--mono)}.trend-panel{grid-column:1/-1;padding-bottom:12px}.trend-panel canvas{width:100%;height:260px;display:block}.legend{display:inline-block;width:16px;height:2px;margin:0 5px 3px 12px}.legend.pv{background:var(--acid)}.legend.sp{background:var(--amber)}.scenario-panel{padding-bottom:18px}.scenario-panel>p{color:var(--muted);font-size:13px;padding:0 18px}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:8px 18px}.scenario-grid button{min-height:105px;text-align:left;background:#091411;border:1px solid var(--line);color:var(--ink);padding:13px}.scenario-grid button:hover,.scenario-grid button.active{border-color:var(--amber);background:rgba(255,198,92,.08)}.scenario-grid span{font:10px var(--mono);color:var(--amber)}.scenario-grid b,.scenario-grid small{display:block;margin-top:8px}.scenario-grid small{color:var(--muted)}.clear-fault{margin:5px 18px;width:calc(100% - 36px);padding:10px;background:none;border:1px solid var(--line);color:var(--muted);font:10px var(--mono)}.event-panel{padding-bottom:8px}.event-panel .panel-title button{background:none;border:0;color:var(--muted);font:9px var(--mono)}.event-panel ol{list-style:none;margin:0;padding:0 16px;max-height:180px;overflow:auto}.event-panel li{display:grid;grid-template-columns:60px 55px 1fr;align-items:start;gap:8px;border-bottom:1px solid var(--line);padding:11px 0;font:10px var(--mono)}.event-panel time{color:var(--muted)}.event-panel li span{color:var(--blue)}.event-panel li span.warn{color:var(--amber)}.event-panel li span.trip{color:#ff6b6b}.event-panel p{margin:0;color:#b2c5bd}.lab-note{display:grid;grid-template-columns:180px 1fr;gap:20px;border-left:2px solid var(--acid);background:rgba(89,242,180,.05);padding:22px;margin-top:14px}.lab-note strong{font:11px var(--mono);color:var(--acid);text-transform:uppercase}.lab-note p{margin:0;color:var(--muted);line-height:1.6}@media(max-width:1000px){.dcs-shell{grid-template-columns:1fr}.trend-panel{grid-column:auto}.lab-heading{align-items:start}.lab-status{display:none}}@media(max-width:650px){.lab-heading h1{font-size:62px}.process-canvas{height:390px}.tank-wrap{width:150px}.tank{height:220px}.inlet{width:calc(50% - 75px)}.outlet{width:calc(50% - 75px);top:288px}.valve-symbol{left:calc(50% - 112px)}.pump-symbol{right:calc(50% - 160px);top:262px}.scenario-grid{grid-template-columns:1fr}.alarm-strip{grid-template-columns:80px 1fr}.alarm-strip button{display:none}.lab-note{grid-template-columns:1fr}.meters strong{font-size:21px}}
