:root{
  --bg:#07111c; --panel:#0c1926; --panel2:#102130; --line:#1f3447; --text:#eef6fb; --muted:#8ea4b7;
  --accent:#40d9c4; --accent2:#61a9ff; --warning:#ffbd57; --danger:#ff6b72; --ok:#4fd690; --sludge:#d99b66; --recycle:#9a8cff;
  --shadow:0 20px 60px rgba(0,0,0,.28); --radius:20px;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:radial-gradient(circle at 20% -10%,#12304a 0,transparent 35%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select{font:inherit} button{cursor:pointer} button:disabled{opacity:.45;cursor:not-allowed}
.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 24px;background:rgba(7,17,28,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.07)}
.brand-wrap{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),#1b8dff);color:#041018;font-weight:900;font-size:22px;box-shadow:0 8px 25px rgba(64,217,196,.24)}.brand-mark.large{width:46px;height:46px;border-radius:14px}.brand{font-weight:900;letter-spacing:.18em;font-size:15px}.brand-sub{color:var(--muted);font-size:10px;letter-spacing:.12em;margin-top:2px}
.topbar-center{text-align:center}.plant-title{font-weight:750;font-size:15px}.badges{display:flex;justify-content:center;gap:7px;margin-top:5px}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#0d1d2a;color:#a9bfd0;border-radius:999px;padding:3px 8px;font-size:10px}.badge-live{color:#aaf2d3}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px var(--ok);animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.35}}
.topbar-actions{display:flex;justify-content:flex-end;gap:8px}.ghost-btn,.icon-btn,.mini-btn,.primary-btn,.close-btn,.link-btn{border:1px solid var(--line);color:var(--text);background:#0c1c29;border-radius:11px;padding:9px 12px;font-size:11px;font-weight:700;letter-spacing:.02em}.ghost-btn:hover,.mini-btn:hover,.icon-btn:hover{border-color:#3a5871;background:#122536}.icon-btn{width:38px;padding:8px}.mini-btn{padding:7px 10px;font-size:10px}.primary-btn{background:linear-gradient(135deg,var(--accent),#48a2ff);color:#031019;border:0;padding:11px 18px}.link-btn{background:transparent;border:0;color:var(--accent);padding:2px 0}
.dashboard{padding:18px 22px 30px;max-width:1800px;margin:0 auto}.panel{background:linear-gradient(180deg,rgba(15,31,46,.98),rgba(10,24,36,.98));border:1px solid rgba(130,169,196,.16);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px}.panel-head.compact{padding-bottom:8px}.panel h2{margin:3px 0 0;font-size:18px;line-height:1.15}.eyebrow{font-size:9px;letter-spacing:.19em;color:#7c9ab1;font-weight:800}.hero-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(300px,.9fr);gap:14px}.process-panel{min-height:430px}.alarm-panel{min-height:430px}
.status-pill{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:800;border:1px solid}.status-pill.ok{color:#a7f0ce;border-color:rgba(79,214,144,.35);background:rgba(79,214,144,.08)}.status-pill.warn{color:#ffe0a4;border-color:rgba(255,189,87,.35);background:rgba(255,189,87,.08)}.status-pill.danger{color:#ffc2c5;border-color:rgba(255,107,114,.35);background:rgba(255,107,114,.08)}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.process-canvas{position:relative;margin:0 16px;height:315px;border-radius:16px;background:linear-gradient(180deg,rgba(5,17,27,.8),rgba(9,23,35,.9));border:1px solid rgba(255,255,255,.05);overflow:auto;padding:34px 28px}.process-track{min-width:max-content;height:100%;display:flex;align-items:center;gap:0;position:relative}.unit-wrap{display:flex;align-items:center}.process-unit{position:relative;width:122px;min-height:116px;border:1px solid #2a4358;border-radius:16px;background:linear-gradient(180deg,#122638,#0b1a27);padding:13px 10px;text-align:center;transition:.2s}.process-unit:hover{transform:translateY(-3px);border-color:#4d7797}.process-unit .unit-icon{width:42px;height:42px;border-radius:13px;margin:0 auto 8px;display:grid;place-items:center;background:rgba(64,217,196,.09);color:var(--accent);font-size:18px}.process-unit .unit-name{font-size:11px;font-weight:800}.process-unit .unit-value{font-size:9px;color:var(--muted);margin-top:5px}.process-unit.alarm{border-color:rgba(255,107,114,.75);box-shadow:0 0 0 1px rgba(255,107,114,.12),0 0 28px rgba(255,107,114,.08)}.process-link{position:relative;width:54px;height:3px;background:linear-gradient(90deg,var(--accent2),var(--accent));box-shadow:0 0 10px rgba(64,217,196,.22)}.process-link:after{content:"";position:absolute;right:-1px;top:-4px;border-left:8px solid var(--accent);border-top:5px solid transparent;border-bottom:5px solid transparent}.process-link .flow-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#d5fff8;top:-2px;animation:flow 1.6s linear infinite}@keyframes flow{0%{left:0;opacity:0}20%{opacity:1}100%{left:47px;opacity:0}}.recycle-line{position:absolute;left:28%;right:17%;bottom:20px;border-bottom:2px dashed var(--recycle);height:28px;border-left:2px dashed var(--recycle);border-right:2px dashed var(--recycle);border-radius:0 0 12px 12px;opacity:.7}.recycle-label{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);font-size:8px;color:#b7afff;background:#091724;padding:0 5px}.process-legend{display:flex;gap:18px;align-items:center;padding:11px 18px 15px;color:var(--muted);font-size:9px}.process-legend span{display:flex;align-items:center;gap:5px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.legend-dot.water{background:var(--accent)}.legend-dot.sludge{background:var(--sludge)}.legend-dot.recycle{background:var(--recycle)}.legend-dot.alarm{background:var(--danger)}
.alarm-list{padding:0 12px 14px;height:350px;overflow:auto}.alarm-empty{display:grid;place-items:center;text-align:center;height:100%;color:var(--muted);font-size:12px}.alarm-item{display:grid;grid-template-columns:8px 1fr auto;gap:9px;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.alarm-severity{width:7px;height:7px;border-radius:50%;margin-top:4px}.alarm-severity.critical{background:var(--danger);box-shadow:0 0 12px var(--danger)}.alarm-severity.warning{background:var(--warning)}.alarm-title{font-size:11px;font-weight:800}.alarm-msg{color:var(--muted);font-size:9px;margin-top:3px;line-height:1.45}.alarm-time{font-size:8px;color:#607e96;white-space:nowrap}
.kpi-grid{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));gap:10px;margin:14px 0}.kpi-card{background:linear-gradient(180deg,#102232,#0b1b28);border:1px solid rgba(130,169,196,.14);border-radius:16px;padding:13px 13px 11px;min-height:96px}.kpi-label{font-size:8.5px;color:#7f9bb0;letter-spacing:.08em;text-transform:uppercase}.kpi-value{font-size:22px;font-weight:850;margin-top:7px;letter-spacing:-.04em}.kpi-unit{font-size:9px;color:#88a5b9;margin-left:3px;font-weight:600}.kpi-sub{font-size:8px;color:#667f91;margin-top:4px}.kpi-status{height:3px;background:#20384a;border-radius:10px;margin-top:9px;overflow:hidden}.kpi-status i{display:block;height:100%;background:var(--ok);width:60%}.kpi-card.warn .kpi-value{color:#ffd898}.kpi-card.danger .kpi-value{color:#ffadb1}
.lower-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-bottom:14px}.controls-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 16px 16px}.control-card{padding:12px;background:#0a1926;border:1px solid rgba(255,255,255,.06);border-radius:14px}.control-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.control-name{font-size:10px;font-weight:800}.control-value{font-size:11px;color:var(--accent);font-weight:800}.control-card input[type=range]{width:100%;margin:10px 0 0;accent-color:var(--accent)}.control-scale{display:flex;justify-content:space-between;color:#59768c;font-size:7px}.trend-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:0 14px 14px}.trend-card{background:#091925;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:10px}.trend-head{display:flex;justify-content:space-between;align-items:center}.trend-title{font-size:9px;font-weight:800}.trend-now{font-size:11px;color:#a9c3d5}.spark{width:100%;height:55px;margin-top:4px}.spark .grid{stroke:#1b3345;stroke-width:1}.spark .line{fill:none;stroke:var(--accent);stroke-width:2}.spark .area{fill:rgba(64,217,196,.07)}
.scenarios-panel{margin-bottom:14px}.active-scenario{font-size:10px;color:#94b0c4}.scenario-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;padding:0 16px 16px}.scenario-btn{position:relative;text-align:left;min-height:86px;background:#0a1926;border:1px solid rgba(255,255,255,.07);border-radius:14px;color:var(--text);padding:11px;transition:.2s}.scenario-btn:hover{transform:translateY(-2px);border-color:#365d79}.scenario-btn.active{border-color:var(--warning);box-shadow:0 0 0 1px rgba(255,189,87,.12)}.scenario-icon{font-size:18px}.scenario-name{font-size:10px;font-weight:850;margin-top:7px}.scenario-desc{font-size:8px;color:#728da1;margin-top:3px;line-height:1.35}.scenario-tag{position:absolute;top:8px;right:8px;font-size:7px;color:#91aabf;border:1px solid #284256;padding:2px 5px;border-radius:999px}
.bottom-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.limits-table-wrap{padding:0 14px 15px}.limits-table{width:100%;border-collapse:collapse;font-size:10px}.limits-table th{text-align:left;color:#67849a;font-size:8px;padding:8px;border-bottom:1px solid #1c3345}.limits-table td{padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.compliance{display:inline-flex;align-items:center;gap:5px;font-size:8px}.compliance i{width:6px;height:6px;border-radius:50%;background:var(--ok)}.compliance.bad{color:#ffc3c6}.compliance.bad i{background:var(--danger)}
.health-score-wrap{display:flex;gap:15px;align-items:center;padding:8px 16px 12px}.health-ring{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ok) 100%,#1c3345 0);position:relative}.health-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#0b1b28}.health-ring div{z-index:2}.health-ring strong{font-size:23px}.health-ring span{font-size:9px;color:#7d9aaf}.health-copy h3{margin:0 0 5px;font-size:13px}.health-copy p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.diagnostic-list{padding:0 16px 14px}.diagnostic-item{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.05);padding:8px 0;font-size:9px}.diagnostic-item span:last-child{color:#8eacbf;text-align:right}.footer-note{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#577287;font-size:9px;padding:14px 4px 0}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:18px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(2,9,15,.78);backdrop-filter:blur(8px)}.setup-card,.dialog-card{position:relative;width:min(1120px,96vw);max-height:94vh;overflow:auto;background:linear-gradient(180deg,#102333,#0a1926);border:1px solid #264156;border-radius:26px;box-shadow:0 35px 100px rgba(0,0,0,.48)}.setup-card{padding:22px 26px 20px}.dialog-card{width:min(720px,94vw);padding:20px}.dialog-card.wide{width:min(900px,94vw)}.setup-head,.dialog-head{display:flex;align-items:center;justify-content:space-between}.language-pills{display:flex;background:#091723;border:1px solid #263d50;border-radius:12px;padding:3px}.lang-pill{border:0;background:transparent;color:#7995aa;padding:6px 9px;border-radius:8px;font-size:10px;font-weight:800}.lang-pill.active{background:#153044;color:#fff}.setup-intro{padding:22px 0 12px}.setup-intro h1{font-size:34px;letter-spacing:-.04em;margin:4px 0 7px}.setup-intro p{color:#8ba5b8;max-width:760px;margin:0;font-size:12px;line-height:1.55}.stepper{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:8px 0 18px}.step{height:4px;border-radius:20px;background:#1a3448}.step.active,.step.done{background:linear-gradient(90deg,var(--accent),var(--accent2))}.setup-step{display:none;min-height:285px}.setup-step.active{display:block}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.field{display:flex;flex-direction:column;gap:6px;font-size:9px;color:#91aabd;font-weight:750}.field input,.field select{width:100%;background:#091825;border:1px solid #294154;border-radius:12px;color:#eef7fc;padding:11px 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent)}.process-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.process-choice{border:1px solid #294154;background:#091825;border-radius:16px;padding:14px;color:var(--text);text-align:left;min-height:124px}.process-choice.selected{border-color:var(--accent);box-shadow:0 0 0 1px rgba(64,217,196,.12)}.process-choice .pc-icon{font-size:22px}.process-choice h3{font-size:12px;margin:10px 0 5px}.process-choice p{font-size:8.5px;color:#7793a7;line-height:1.45;margin:0}.process-choice .pc-meta{font-size:7.5px;color:#a9c2d3;margin-top:7px}.preset-bar{display:flex;justify-content:flex-end;margin-top:10px}.limit-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.profile-card{border:1px solid #294154;background:#091825;border-radius:14px;padding:13px;color:var(--text);text-align:left}.profile-card.selected{border-color:var(--accent)}.profile-card strong{font-size:11px}.profile-card p{font-size:8px;color:#7390a5;margin:5px 0 0;line-height:1.4}.limit-editor{padding-top:4px}.review-card{background:#091825;border:1px solid #294154;border-radius:16px;padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-item{padding:8px;border-left:2px solid #27465d}.review-item span{display:block;font-size:8px;color:#7492a8}.review-item strong{display:block;font-size:11px;margin-top:4px}.notice-card{margin-top:12px;padding:13px 15px;border:1px solid rgba(255,189,87,.22);background:rgba(255,189,87,.05);border-radius:14px}.notice-card strong{font-size:10px;color:#ffd38c}.notice-card p{margin:5px 0 0;color:#9db0be;font-size:8.5px;line-height:1.5}.setup-actions,.dialog-actions{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}.setup-progress-copy{font-size:9px;color:#607f96}.dialog-actions{justify-content:flex-end}.close-btn{width:34px;height:34px;padding:0;border-radius:50%;font-size:18px}.refs-content{color:#a8bdcb;font-size:10px;line-height:1.55}.refs-content h3{color:#fff;font-size:12px;margin:16px 0 6px}.refs-content code{background:#071621;padding:2px 5px;border-radius:5px;color:#bce9df}.refs-content ul{padding-left:18px}.refs-content li{margin:7px 0}
@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.scenario-grid{grid-template-columns:repeat(3,1fr)}.process-choice-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.topbar-center{display:none}.hero-grid,.lower-grid,.bottom-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.controls-grid{grid-template-columns:repeat(2,1fr)}.form-grid.four{grid-template-columns:repeat(2,1fr)}.process-choice-grid{grid-template-columns:repeat(2,1fr)}.scenario-grid{grid-template-columns:repeat(2,1fr)}.setup-intro h1{font-size:27px}}
@media(max-width:600px){.dashboard{padding:10px}.topbar{padding:10px}.brand-sub{display:none}.topbar-actions #reconfigureBtn{display:none}.process-canvas{margin:0 10px;padding-left:16px;padding-right:16px}.controls-grid,.trend-grid,.form-grid.two,.form-grid.four,.process-choice-grid,.limit-profile-grid,.review-card{grid-template-columns:1fr}.scenario-grid{grid-template-columns:1fr}.setup-card{padding:17px}.setup-step{min-height:430px}.footer-note{flex-direction:column;align-items:flex-start}}


.sais-panel{margin-bottom:14px}.sais-head-actions{display:flex;gap:8px}.sais-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;padding:0 16px 16px}.sais-status-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.sais-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:#091825;border:1px solid rgba(255,255,255,.06);border-radius:999px;font-size:8px;color:#b0c4d3}.sais-badge i{width:7px;height:7px;border-radius:50%;background:var(--ok)}.sais-badge.warn i{background:var(--warning)}.sais-badge.danger i{background:var(--danger)}.sais-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sais-metric-card{background:#091925;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:12px}.sais-metric-card.warn{border-color:rgba(255,189,87,.35)}.sais-metric-card.danger{border-color:rgba(255,107,114,.4)}.sais-metric-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.sais-metric-name{font-size:10px;font-weight:800}.sais-metric-tag{font-size:7px;color:#88a3b9;border:1px solid #284256;border-radius:999px;padding:2px 5px}.sais-metric-value{font-size:22px;font-weight:850;letter-spacing:-.03em;margin-top:12px}.sais-metric-value span{font-size:10px;color:#89a8bb;margin-left:5px;font-weight:700}.sais-metric-sub{font-size:8px;color:#7593a7;margin-top:6px;line-height:1.45}.sais-side{display:grid;grid-template-rows:auto 1fr;gap:10px}.sais-side-card{background:#091925;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:12px}.sais-side-title{font-size:10px;font-weight:850;margin-bottom:10px}.sais-status-list,.sample-log{display:grid;gap:8px}.sais-status-item,.sample-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;background:#0b1c2a;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:9px 10px}.sais-status-item strong,.sample-item strong{display:block;font-size:9px}.sais-status-item span,.sample-item span{display:block;font-size:8px;color:#7f9bad;line-height:1.4}.sample-item .sample-time{font-size:8px;color:#97b4c7;white-space:nowrap}.sample-empty,.sais-empty{padding:16px;border:1px dashed #284256;border-radius:14px;color:#7c99ad;font-size:9px;text-align:center}.sais-setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.check-card{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#091825;border:1px solid #294154;border-radius:14px}.check-card input{margin-top:2px}.check-card strong{font-size:10px;display:block}.check-card span{font-size:8px;color:#7895a9;display:block;line-height:1.4}.compact-notice{margin-top:14px;margin-bottom:4px}
@media(max-width:900px){.sais-layout,.sais-metrics-grid,.sais-setup-grid{grid-template-columns:1fr}.sais-head-actions{flex-wrap:wrap}}

.head-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.process-unit.disabled{opacity:.42;filter:saturate(.45)}
.scenario-btn.sector-specific{border-color:rgba(64,217,196,.28);background:linear-gradient(180deg,rgba(64,217,196,.045),#0a1926)}.scenario-btn.sector-specific .scenario-tag{color:#9ff5e6;border-color:rgba(64,217,196,.3)}

.cabin-panel{margin-bottom:14px}.cabin-visual-wrap{padding:0 16px 16px}.cabin-shell{border:1px solid #2b465b;border-radius:18px;overflow:hidden;background:#091823;box-shadow:inset 0 0 50px rgba(0,0,0,.25)}.cabin-roof{height:48px;padding:0 18px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#173248,#102536);border-bottom:1px solid #28475e}.cabin-roof span{font-weight:900;letter-spacing:.13em;font-size:14px}.cabin-roof small{font-size:8px;color:#81a2b8;border-left:1px solid #34556c;padding-left:12px}.cabin-room{position:relative;min-height:280px;padding:24px;overflow:hidden}.cabin-wall-grid{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(#27465b 1px,transparent 1px),linear-gradient(90deg,#27465b 1px,transparent 1px);background-size:34px 34px}.cabin-equipment-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1050px;margin:0 auto 68px}.cabin-device{position:relative;min-height:84px;display:flex;align-items:center;gap:11px;padding:13px;background:linear-gradient(180deg,#102638,#0b1c29);border:1px solid #2c4659;border-radius:14px}.cabin-device-icon{width:40px;height:40px;border-radius:11px;background:#071923;border:1px solid #315068;display:grid;place-items:center;font-weight:900;font-size:10px;color:#b9d7e8}.cabin-device strong{display:block;font-size:9px}.cabin-device span{display:block;margin-top:4px;color:#829dae;font-size:8px}.device-led{position:absolute;right:9px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px rgba(64,217,196,.5)}.cabin-device.warn .device-led{background:var(--warning);box-shadow:0 0 12px rgba(255,189,87,.5)}.cabin-device.danger .device-led{background:var(--danger);box-shadow:0 0 12px rgba(255,107,114,.5)}.cabin-device.off{opacity:.45}.cabin-device.off .device-led{background:#546b7c;box-shadow:none}.cabin-pipe{position:absolute;z-index:1;left:4%;right:4%;bottom:30px;height:30px;border-radius:999px;background:linear-gradient(180deg,#496d80,#294656);border:2px solid #7191a3;box-shadow:0 8px 16px rgba(0,0,0,.3)}.cabin-pipe:before{content:"";position:absolute;left:0;right:0;top:11px;height:4px;background:linear-gradient(90deg,var(--accent2),var(--accent));opacity:.85}.cabin-pipe span{position:absolute;left:18px;top:-22px;font-size:7px;letter-spacing:.09em;color:#8fb0c3}.cabin-pipe i{position:absolute;top:6px;width:14px;height:14px;border-radius:50%;background:#8fd9e8;border:2px solid #d9f8ff}.cabin-pipe i:nth-child(2){left:26%}.cabin-pipe i:nth-child(3){left:53%}.cabin-pipe i:nth-child(4){left:79%}.cabin-floor{display:flex;justify-content:space-between;gap:10px;padding:9px 16px;background:#07141e;border-top:1px solid #203b4e;color:#708ea2;font-size:8px}.cabin-disabled{padding:34px;border:1px dashed #29475b;border-radius:14px;color:#7898aa;text-align:center;font-size:10px}

.scada-dialog{width:min(1240px,97vw)!important;max-height:96vh!important}.scada-toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:16px 0 10px}.scada-toggle{border:1px solid #2a475c;background:#091925;color:#7796aa;border-radius:999px;padding:7px 10px;font-size:8px;font-weight:800}.scada-toggle.active{color:#eafffb;border-color:var(--accent);background:rgba(64,217,196,.08)}.scada-chart-wrap{background:#06131d;border:1px solid #243e51;border-radius:16px;padding:8px;overflow-x:auto}.scada-svg{width:100%;min-width:820px;height:440px;display:block}.scada-gridline{stroke:#193243;stroke-width:1}.scada-time-line{stroke:#173041;stroke-width:1;stroke-dasharray:3 5}.scada-time-label,.scada-y-sub{fill:#59788e;font-size:9px}.scada-y-label{fill:#c9dbe6;font-size:10px;font-weight:800}.scada-latest{fill:#d8edf7;font-size:10px;font-weight:800}.scada-trace{fill:none;stroke-width:2.4;vector-effect:non-scaling-stroke}.scada-dot{stroke:none}.trace-0{stroke:#40d9c4;fill:#40d9c4}.trace-1{stroke:#5fa8ff;fill:#5fa8ff}.trace-2{stroke:#ffbd57;fill:#ffbd57}.trace-3{stroke:#d092ff;fill:#d092ff}.scada-legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:10px;font-size:9px;color:#809caf}.scada-legend span{display:flex;align-items:center;gap:6px}.scada-legend b{color:#dcebf3}.trace-swatch{width:9px;height:9px;border-radius:50%}.trace-bg-0{background:#40d9c4}.trace-bg-1{background:#5fa8ff}.trace-bg-2{background:#ffbd57}.trace-bg-3{background:#d092ff}

@media(max-width:1100px){.cabin-equipment-grid{grid-template-columns:repeat(2,1fr)}.sais-metrics-grid{grid-template-columns:repeat(2,1fr)}.scenario-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.dashboard{padding:10px}.topbar{padding:8px 10px;gap:8px}.brand-sub{display:none}.topbar-actions{gap:5px}.ghost-btn,.icon-btn,.mini-btn{min-height:34px}.topbar-actions #reconfigureBtn{max-width:125px;white-space:normal;font-size:7px}.panel-head{align-items:flex-start;gap:8px}.head-btns,.sais-head-actions{width:100%;justify-content:flex-start}.panel-head:has(.head-btns),.sais-panel .panel-head{flex-direction:column}.process-canvas{margin:0 9px;padding:24px 14px;height:280px}.process-unit{width:104px;min-height:104px}.process-link{width:38px}.kpi-grid{grid-template-columns:repeat(2,1fr)!important;gap:7px}.kpi-card{padding:10px}.kpi-value{font-size:19px}.controls-grid{grid-template-columns:1fr!important}.trend-grid{grid-template-columns:1fr!important}.sais-layout{padding:0 10px 10px}.sais-metrics-grid{grid-template-columns:1fr!important}.sais-metric-value{font-size:20px}.scenario-grid{grid-template-columns:repeat(2,1fr)!important;padding:0 10px 10px}.cabin-room{padding:14px}.cabin-equipment-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:64px}.cabin-device{min-height:68px;padding:9px}.cabin-device-icon{width:32px;height:32px}.bottom-grid{gap:10px}.limits-table{min-width:520px}.limits-table-wrap{overflow:auto}.setup-card{padding:14px}.setup-intro{padding-top:14px}.setup-intro h1{font-size:24px}.form-grid.two,.form-grid.four,.process-choice-grid,.limit-profile-grid,.review-card,.sais-setup-grid{grid-template-columns:1fr!important}.setup-step{min-height:unset}.scada-dialog{padding:12px!important}.scada-svg{min-width:760px}.footer-note{align-items:flex-start;gap:9px}.footer-note span{line-height:1.5}}
@media(max-width:430px){.topbar .brand-mark{width:30px;height:30px}.topbar-actions #reconfigureBtn{max-width:100px}.kpi-grid{grid-template-columns:1fr 1fr!important}.scenario-grid{grid-template-columns:1fr!important}.cabin-equipment-grid{grid-template-columns:1fr}.cabin-room{min-height:610px}.sais-head-actions .mini-btn,.head-btns .mini-btn{flex:1 1 auto}.process-legend{flex-wrap:wrap}.setup-head{align-items:flex-start}.review-card{gap:5px}}

/* --- Operator Training Mode --- */
.training-panel{margin-bottom:14px}.training-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.training-select{background:#091825;border:1px solid #294154;color:#eef6fb;border-radius:10px;padding:7px 10px;font-size:9px}.training-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;padding:0 16px 16px}.training-console,.training-result{background:#091925;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:13px}.training-score-row{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:8px}.training-score,.training-stat{background:#0b1c2a;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:10px}.training-score span,.training-stat span{display:block;font-size:7.5px;color:#7795a9}.training-score strong{display:block;margin-top:4px;font-size:25px;color:var(--accent)}.training-stat strong{display:block;margin-top:6px;font-size:13px}.training-message{margin:10px 0;padding:11px 12px;border-radius:12px;background:rgba(64,217,196,.05);border:1px solid rgba(64,217,196,.16);font-size:9px;color:#a8c7d4;line-height:1.45}.training-message.warn{border-color:rgba(255,189,87,.3);background:rgba(255,189,87,.06);color:#ffd99d}.training-message.danger{border-color:rgba(255,107,114,.34);background:rgba(255,107,114,.06);color:#ffc4c7}.diagnosis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.diagnosis-btn{background:#0b1c2a;border:1px solid #294154;color:#d9eaf4;border-radius:12px;padding:9px 10px;text-align:left;font-size:8.5px;min-height:46px}.diagnosis-btn:hover{border-color:#4d7797}.diagnosis-btn:disabled{opacity:.42;cursor:not-allowed}.training-result-empty{display:grid;place-items:center;min-height:160px;text-align:center;color:#6e8ba0;font-size:9px;border:1px dashed #284256;border-radius:13px;padding:18px}.training-grade{font-size:32px;font-weight:900;letter-spacing:-.04em;color:var(--accent)}.training-result h3{margin:3px 0 10px;font-size:13px}.training-result-list{display:grid;gap:7px}.training-result-item{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.05);padding:7px 0;font-size:8.5px}.training-result-item span{color:#7896aa}.training-result-item strong{text-align:right}.training-report-btn{margin-top:10px;width:100%}.scenario-lock{padding:24px;border:1px dashed #38566c;border-radius:14px;color:#87a4b8;text-align:center;font-size:10px;grid-column:1/-1}.training-active .scenario-btn{pointer-events:none}.training-active .active-scenario{color:#ffd38c}
@media(max-width:1100px){.training-grid{grid-template-columns:1fr}.training-score-row{grid-template-columns:repeat(3,1fr)}.diagnosis-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.training-score-row{grid-template-columns:repeat(2,1fr)}.training-score{grid-column:1/-1}.diagnosis-grid{grid-template-columns:1fr}.training-actions{width:100%}.training-actions .mini-btn,.training-select{flex:1 1 45%;min-width:120px}}
