:root{--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color:#f8fafc;font-synthesis:none;--canvas:#090d16;--surface:#0a101d;--surface-container:#051424;--surface-elevated:#111a2e;--surface-inset:#050811;--hairline:#1e293b;--hairline-strong:#334155;--hairline-bright:#475569;--ink:#f8fafc;--ink-secondary:#cbd5e1;--ink-muted:#8b99af;--ink-tertiary:#536179;--status-normal:#10b981;--status-warning:#f59e0b;--status-alarm:#ef4444;--status-grid:#38bdf8;--status-solar:#f59e0b;--status-bess:#10b981;--status-load:#38bdf8;--brand-accent:#38bdf8;background:#090d16;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}button,input,select{font:inherit}button,a,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}button{color:inherit}.mono,.tabular-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.boot-screen{min-height:100vh;color:var(--ink-muted);place-content:center;justify-items:center;gap:12px;display:grid}.boot-screen svg{color:var(--brand-accent)}.login-shell{grid-template-columns:1.15fr .85fr;align-items:center;gap:6vw;max-width:1100px;min-height:100vh;margin:auto;padding:40px 24px;display:grid}.login-station-tag{color:var(--ink-muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.login-copy h1{letter-spacing:-.03em;margin:14px 0 16px;font-size:clamp(34px,4.5vw,54px);font-weight:800;line-height:1.1}.login-copy h1 span{color:var(--status-grid)}.login-copy p{color:var(--ink-muted);max-width:520px;margin:0 0 20px;font-size:15px;line-height:1.6}.login-meta-list{border-left:2px solid var(--hairline-strong);color:var(--ink-tertiary);gap:6px;padding-left:14px;font-size:12px;display:grid}.login-meta-list span{color:var(--ink-secondary);font-weight:600}.login-card{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px;padding:30px;box-shadow:0 4px 20px #0006}.login-card h2{margin:18px 0 4px;font-size:22px;font-weight:700}.login-card>p{color:var(--ink-muted);margin:0 0 20px;font-size:13px}.login-card>small{text-align:center;color:var(--ink-tertiary);margin-top:16px;font-size:11px;line-height:1.5;display:block}label{color:var(--ink-secondary);gap:5px;margin:12px 0;font-size:12.5px;font-weight:600;display:grid}input,select{width:100%;color:var(--ink);background:var(--surface-inset);border:1px solid var(--hairline-strong);border-radius:5px;padding:9px 11px;font-size:13px;transition:border-color .15s}input:focus,select:focus{border-color:var(--brand-accent)}.primary-button{background:var(--brand-accent);color:#fff;border:0;border-radius:5px;width:100%;padding:10px 16px;font-size:13px;font-weight:700;transition:opacity .15s,transform .15s}.primary-button:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.primary-button:disabled{opacity:.4;cursor:not-allowed}.secondary-button{border:1px solid var(--hairline-strong);background:var(--surface-elevated);width:100%;color:var(--ink);border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-size:12.5px;font-weight:600;transition:background .15s;display:inline-flex}.secondary-button:hover:not(:disabled){background:#1c2230}.danger-action{background:var(--status-warning);color:#000;font-weight:800}.danger-action:hover:not(:disabled){background:#e59e24}.brand-mark{letter-spacing:.02em;align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.brand-mark svg{color:var(--status-normal)}.brand-mark b{color:var(--status-normal);border:1px solid #10b98166;border-radius:3px;padding:1px 4px;font-size:10px}.error-box,.result-box{color:#fecaca;background:#7f1d1d33;border:1px solid #ef444466;border-radius:5px;align-items:center;gap:8px;margin:10px 0;padding:9px 12px;font-size:12.5px;display:flex}.result-box{color:#bbf7d0;background:#14532d33;border-color:#10b98166}.app-shell{grid-template-columns:216px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--hairline);z-index:10;background:#080b11;flex-direction:column;height:100vh;padding:16px 10px;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 6px 18px;display:flex}.mobile-close-btn,.mobile-menu-btn{color:var(--ink-muted);background:0 0;border:0;padding:4px;display:none}.sidebar nav{scrollbar-width:thin;gap:12px;padding-right:2px;display:grid;overflow-y:auto}.nav-group{gap:2px;display:grid}.nav-group>small{color:var(--ink-tertiary);letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;font-size:10px;font-weight:700}.sidebar nav a{color:var(--ink-muted);border-radius:5px;align-items:center;gap:9px;padding:6px 9px;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:flex}.sidebar nav a:hover{color:#fff;background:var(--surface-elevated)}.sidebar nav a.active{color:#fff;background:var(--surface-elevated);border-left:2px solid var(--status-normal)}.sidebar-user{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;margin-top:auto;padding:12px 6px 0;display:flex}.user-info{flex-direction:column;display:flex;overflow:hidden}.user-info strong{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:12.5px;overflow:hidden}.user-info small{color:var(--ink-muted);font-size:10.5px}.sidebar-user button{color:var(--ink-muted);background:0 0;border:0;border-radius:4px;padding:4px}.sidebar-user button:hover{color:#fff}.workspace{min-width:0;padding:0 20px 32px}.topbar{border-bottom:1px solid var(--hairline);z-index:8;background:#080b11;justify-content:space-between;align-items:center;min-height:52px;margin:0 -20px 18px;padding:0 20px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:14px;display:flex}.topbar-station-info{align-items:center;gap:8px;display:flex}.station-pill{letter-spacing:.06em;background:var(--surface-elevated);border:1px solid var(--hairline-strong);color:var(--status-grid);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:800}.station-name{color:var(--ink-secondary);font-size:12.5px;font-weight:600}@media (width<=680px){.station-name{display:none}}.topbar-actions{align-items:center;gap:12px;display:flex}.live-status-block{align-items:center;gap:7px;font-size:12.5px;display:flex}.live-status-block small{color:var(--ink-muted);margin-left:6px;font-size:11px}.status-dot{border-radius:2px;width:8px;height:8px;display:inline-block}.status-dot.good{background:var(--status-normal)}.status-dot.warn{background:var(--status-warning)}.status-dot.bad{background:var(--status-alarm)}.icon-button{background:var(--surface);border:1px solid var(--hairline-strong);border-radius:5px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;transition:background .12s;display:flex}.icon-button:hover{background:var(--surface-elevated)}.annunciator-strip{background:var(--surface-inset);border:1px solid var(--hairline);white-space:nowrap;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;display:flex;overflow-x:auto}.annunciator-label{color:var(--ink-tertiary);letter-spacing:.06em;font-size:10px;font-weight:700}.annunciator-items{gap:3px;display:flex}.ann-badge{border:1px solid var(--hairline);background:var(--surface);color:var(--ink-tertiary);border-radius:3px;align-items:center;gap:4px;padding:2px 6px;font-size:10.5px;font-weight:700;display:inline-flex}.ann-badge .ann-dot{background:currentColor;border-radius:1px;width:4px;height:4px}.ann-badge.ok{color:var(--status-normal);background:#10b9811a;border-color:#10b9814d}.ann-badge.fault{color:var(--status-alarm);background:#ef44441a;border-color:#ef44444d}.page-heading{margin:16px 0 14px}.page-heading h1{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:22px;font-weight:800}.page-note,.panel-note{color:var(--ink-muted);margin:3px 0 0;font-size:12px;line-height:1.4}.page-badge{letter-spacing:.04em;background:var(--surface-elevated);color:var(--status-grid);border-radius:3px;margin-bottom:4px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.sub-heading{color:var(--ink-secondary);letter-spacing:.02em;margin:0 0 6px;font-size:12px;font-weight:700}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:6px;padding:14px}.panel-title{justify-content:space-between;align-items:start;display:flex}.panel-title h2{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:14.5px;font-weight:700}.section-gap{margin-bottom:10px}.detail-kpi-grid,.alarm-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.detail-kpi{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;min-width:0;padding:9px 10px}.detail-kpi>div{color:var(--ink-muted);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.detail-kpi svg{width:14px;height:14px;color:var(--status-grid);flex-shrink:0}.detail-kpi>strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--ink);margin-top:5px;font-size:18px;font-weight:700;display:block}.detail-kpi small{color:var(--ink-muted);font-size:11px;font-weight:500}.sld-panel{margin-bottom:10px;padding:12px}.sld-wrapper{border:1px solid var(--hairline);background:#05070c;border-radius:6px;width:100%;overflow:hidden}.sld-svg-canvas{width:100%;height:auto;max-height:480px;display:block}.sld-conduit-track line{stroke:#161e2d;stroke-width:3.5px;stroke-linecap:round}.sld-flow-beams line.beam{stroke-width:3.5px;stroke-linecap:round;opacity:.15}.sld-flow-beams line.beam.active{opacity:1;stroke-dasharray:6 8;animation:1.4s linear infinite sldFlowPulse}.beam-grid{stroke:var(--status-grid)}.beam-solar{stroke:var(--status-solar)}.beam-bess{stroke:var(--status-bess)}.beam-load{stroke:var(--status-load)}.beam-crit{stroke:var(--status-alarm)}@keyframes sldFlowPulse{0%{stroke-dashoffset:28px}to{stroke-dashoffset:0}}.sld-junction{stroke:#273042;stroke-width:2px}.sld-junction.grid{fill:var(--status-grid)}.sld-junction.solar{fill:var(--status-solar)}.node-box{fill:#0a0e16;stroke:var(--hairline-strong);stroke-width:1px}.node-box.node-hub{fill:#0d1322;stroke:#2e3852}.node-title{fill:var(--ink-muted);letter-spacing:.02em;font-size:10.5px;font-weight:700}.node-val{font-variant-numeric:tabular-nums;fill:var(--ink);font-size:17px;font-weight:700}.node-status-text{fill:#828fff}.node-meta{fill:var(--ink-tertiary);font-size:10px}.text-grid{fill:var(--status-grid)!important}.text-solar{fill:var(--status-solar)!important}.text-bess{fill:var(--status-bess)!important}.text-load{fill:var(--status-load)!important}.text-crit{fill:#f87171!important}.text-accent{fill:#828fff!important}.badge-bg{fill:#080b11;stroke:var(--hairline-strong);stroke-width:1px}.badge-text{font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:10px;margin-bottom:10px;display:grid}.chart-panel{min-width:0}.trend-chart{height:260px;margin-top:4px}.chart-loading{height:260px;color:var(--ink-muted);place-content:center;font-size:12px;display:grid}.protection-list{gap:1px;display:grid}.protection-list>div{border-bottom:1px solid var(--hairline);color:var(--ink-secondary);justify-content:space-between;align-items:center;padding:7px 0;font-size:12px;display:flex}.protection-list>div:last-child{border:0}.protection-list strong{font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.state-ok{color:var(--status-normal)}.state-off{color:var(--status-warning)}.telemetry-rail-side{border-top:1px solid var(--hairline);grid-template-columns:repeat(2,1fr);gap:6px;margin-top:12px;padding-top:8px;display:grid}.rail-item{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:4px;padding:7px}.rail-item span{color:var(--ink-muted);font-size:10px;display:block}.rail-item strong{font-variant-numeric:tabular-nums;color:var(--ink);margin-top:2px;font-size:13px;font-weight:700;display:block}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.data-table{display:grid}.data-table>div{border-bottom:1px solid var(--hairline);justify-content:space-between;gap:14px;padding:6px 2px;display:flex}.data-table>div:last-child{border:0}.data-table span{color:var(--ink-muted);font-size:11.5px}.data-table strong{font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px;font-weight:600}.table-wrap{padding:12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:620px}th,td{text-align:left;border-bottom:1px solid var(--hairline);padding:8px 10px;font-size:11.5px}th{color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;background:var(--surface-inset);font-size:10.5px;font-weight:700}td strong{color:var(--ink)}td small{color:var(--ink-tertiary);margin-top:1px;font-size:10.5px;display:block}.status-label{text-transform:uppercase;border-radius:3px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.status-label.ok{color:#86efac;background:#14532d66}.status-label.warn{color:#fde68a;background:#78350f66}.status-label.fault{color:#fecaca;background:#7f1d1d66}.segmented{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;gap:2px;width:max-content;max-width:100%;margin-bottom:10px;padding:2px;display:flex}.segmented button{color:var(--ink-muted);background:0 0;border:0;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .12s}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--surface-elevated);color:#fff;border:1px solid var(--hairline-strong)}.meter-compare{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quality-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.quality-item{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;padding:8px 10px}.quality-item span{color:var(--ink-secondary);align-items:center;gap:5px;font-size:11px;display:flex}.quality-item svg{color:var(--status-normal)}.quality-item.warn svg{color:var(--status-warning)}.quality-item.warn{border-color:#f59e0b66}.quality-item strong{font-variant-numeric:tabular-nums;margin:2px 0;font-size:14px;font-weight:700;display:block}.quality-item small{color:var(--ink-tertiary);font-size:10.5px}.module-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.module-grid article{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;padding:8px}.module-head{justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.module-head span{color:var(--status-grid);font-size:11px;font-weight:700}.module-grid strong{font-variant-numeric:tabular-nums;margin:3px 0 1px;font-size:14px;font-weight:700;display:block}.module-grid small{color:var(--ink-muted);font-size:10px;display:block}.module-temp{font-weight:600;color:#f59e0b!important}.cell-matrix-container{gap:4px;display:grid}.module-row{grid-template-columns:36px 1fr;align-items:center;gap:5px;display:grid}.module-row-label{color:var(--status-grid);background:var(--surface-inset);border:1px solid var(--hairline);text-align:center;border-radius:3px;padding:3px;font-size:10px;font-weight:700}.module-row-cells{grid-template-columns:repeat(16,1fr);gap:2px;display:grid}.cell-box{text-align:center;background:color-mix(in srgb, #10b981 calc((1 - var(--cell-level)) * 65%), #f59e0b calc(var(--cell-level) * 90%));color:#022c22;border:1px solid #00000040;border-radius:2px;min-width:0;padding:2px 1px}.cell-box.outlier{outline:2px solid var(--status-alarm);outline-offset:-1px}.cell-num{opacity:.75;font-size:8px;font-weight:700;display:block}.cell-val{font-size:8px;line-height:1.1;display:block}.string-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.string-grid>div{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;padding:8px 10px}.string-grid span{color:#fbbf24;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;display:block}.string-grid strong{margin:2px 0 1px;font-size:13.5px;display:block}.string-grid small{color:var(--ink-muted);font-size:10.5px}.esg-panel{margin-bottom:10px}.esg-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.esg-item{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;align-items:center;gap:10px;padding:10px;display:flex}.esg-item strong{font-size:15px;display:block}.esg-item small{color:var(--ink-muted);font-size:11px}.solar-flow-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}.solar-flow{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:6px;align-items:center;gap:12px;padding:14px 20px;display:flex}.solar-flow svg{color:var(--status-solar)}.solar-flow span{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.solar-flow i{color:var(--status-grid);font-size:18px;font-style:normal}.thermal-map{grid-template-columns:repeat(15,minmax(0,1fr));gap:3px;display:grid}.thermal-map span{text-align:center;font-variant-numeric:tabular-nums;color:#dcfce7;background:color-mix(in srgb, #14532d calc(30% + var(--thermal) * 50%), #070a11);border:1px solid var(--hairline);border-radius:3px;gap:1px;min-width:0;padding:4px 1px;font-size:10px;font-weight:700;display:grid}.thermal-map span b{color:#94a3b8;font-size:7.5px}.thermal-map span.warm{border-color:var(--status-warning);color:#fef3c7}.thermal-map span.hot{border-color:var(--status-alarm);color:#fee2e2;background:#7f1d1d}.banner-card{background:#ef444414;border:1px solid #ef44444d;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.banner-title{align-items:center;gap:8px;display:flex}.banner-title strong{color:var(--ink);font-size:12.5px}.banner-title p{color:var(--ink-muted);margin:1px 0 0;font-size:11px}.banner-pill{text-transform:uppercase;border-radius:3px;padding:2px 7px;font-size:10.5px;font-weight:700}.banner-pill.ok{color:var(--status-normal);border:1px solid var(--status-normal);background:#10b98126}.protection-grid{grid-template-columns:1.15fr .85fr;gap:10px;display:grid}.interlock-list{gap:6px;display:grid}.interlock-row{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.interlock-row strong{font-size:12px;display:block}.interlock-row small{color:var(--ink-muted);font-size:10.5px;display:block}.status-pill{border-radius:3px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.status-pill.ok{color:#86efac;background:#14532d66}.status-pill.standby{color:#fde68a;background:#78350f66}.threshold-box{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:5px;gap:5px;padding:10px;display:grid}.threshold-item{border-bottom:1px solid var(--hairline);justify-content:space-between;padding:3px 0;font-size:11px;display:flex}.threshold-item:last-child{border:0}.threshold-item span{color:var(--ink-muted)}.threshold-item strong{font-variant-numeric:tabular-nums;color:var(--ink)}.control-status-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px;display:grid}.control-status-grid h2{margin:3px 0 1px;font-size:15px}.control-status-grid strong{font-variant-numeric:tabular-nums;color:#86efac;font-size:14px;font-weight:700}.control-status-grid small{color:var(--ink-muted);margin-top:3px;font-size:10.5px;display:block}.quick-control-panel{margin-bottom:10px}.quick-actions-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.action-cluster{flex-direction:column;gap:3px;display:flex}.cluster-label{color:var(--ink-tertiary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.btn-group{flex-wrap:wrap;gap:3px;display:flex}.action-btn{cursor:pointer;border:1px solid #0000;border-radius:4px;align-items:center;gap:4px;padding:5px 10px;font-size:11.5px;font-weight:700;transition:all .12s;display:inline-flex}.action-btn:disabled{opacity:.35;cursor:not-allowed}.btn-green{color:var(--status-normal);background:#10b9811f;border-color:#10b98159}.btn-green:hover:not(:disabled){background:var(--status-normal);color:#000}.btn-red{color:var(--status-alarm);background:#ef44441f;border-color:#ef444459}.btn-red:hover:not(:disabled){background:var(--status-alarm);color:#fff}.btn-cyan{color:#38bdf8;background:#00d2ff1f;border-color:#00d2ff59}.btn-cyan:hover:not(:disabled){color:#000;background:#38bdf8}.btn-blue{color:var(--status-grid);background:#38bdf81f;border-color:#38bdf859}.btn-blue:hover:not(:disabled){background:var(--status-grid);color:#000}.btn-yellow{color:var(--status-warning);background:#f59e0b1f;border-color:#f59e0b59}.btn-yellow:hover:not(:disabled){background:var(--status-warning);color:#000}.btn-purple{color:#c084fc;background:#a855f71f;border-color:#a855f759}.btn-purple:hover:not(:disabled){color:#fff;background:#a855f7}.btn-outline{background:var(--surface-inset);color:var(--ink-secondary);border-color:var(--hairline-strong)}.btn-outline:hover:not(:disabled){border-color:var(--brand-accent);color:#fff}.config-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.command-code{background:var(--surface-elevated);color:var(--status-grid);border-radius:3px;padding:1px 5px;font-weight:700}dialog{color:var(--ink);background:var(--surface);border:1px solid var(--hairline-strong);border-radius:6px;width:calc(100% - 32px);max-width:480px;padding:0;box-shadow:0 8px 30px #0009}dialog::backdrop{background:#020617b3}.dialog-body{padding:20px}.dialog-body h2{margin:4px 0 6px;font-size:18px;font-weight:700}.dialog-body p{color:var(--ink-muted);font-size:12.5px;line-height:1.5}.dialog-body pre{background:var(--surface-inset);color:#bae6fd;font-variant-numeric:tabular-nums;border:1px solid var(--hairline);border-radius:5px;padding:10px;font-size:11.5px;overflow:auto}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.dialog-actions button{border:1px solid var(--hairline-strong);background:var(--surface-elevated);border-radius:5px;width:auto;padding:7px 12px;font-size:12.5px;font-weight:600}.dialog-actions .primary-button{background:var(--status-warning);color:#000;border:0;font-weight:700}.filter-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.filter-row label{flex:1;margin:0;display:block;position:relative}.filter-row label svg{color:var(--ink-muted);position:absolute;top:10px;left:9px}.filter-row input{padding-left:32px}.filter-row select{width:150px}.alarm-table article{border-bottom:1px solid var(--hairline);grid-template-columns:75px 1fr auto;align-items:center;gap:10px;padding:8px 4px;display:grid}.alarm-table article:last-child{border:0}.severity{text-transform:uppercase;text-align:center;background:var(--surface-elevated);color:var(--ink);border-radius:3px;padding:2px 5px;font-size:10px;font-weight:700}.severity.critical{color:#fecaca;background:#7f1d1d66}.severity.major{color:#fde68a;background:#78350f66}.severity.minor{color:#a5f3fc;background:#164e6366}.alarm-table strong{font-size:12.5px;display:block}.alarm-table small{color:var(--ink-muted);margin-top:1px;font-size:10.5px;display:block}.alarm-measure{text-align:right;font-size:11.5px}.history-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.user-layout,.report-layout{grid-template-columns:260px minmax(0,1fr);gap:10px;display:grid}.admin-form,.report-config{align-self:start}.table-action{border:1px solid var(--hairline-strong);background:var(--surface-elevated);border-radius:4px;padding:3px 7px;font-size:11px;font-weight:600}.table-action:disabled{opacity:.35;cursor:not-allowed}.inline-form{align-items:flex-end;gap:8px;margin-top:12px;display:flex}.inline-form label{flex:1;margin:0}.inline-form .primary-button{white-space:nowrap;width:auto}.capability-list{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.capability-list span{color:#bae6fd;background:#0c4a6e4d;border-radius:3px;padding:2px 6px;font-size:10.5px;font-weight:600}.empty-state{min-height:180px;color:var(--ink-muted);place-content:center;justify-items:center;gap:6px;font-size:12.5px;display:grid}.device-card-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.device-card-grid article{background:var(--surface);border:1px solid var(--hairline);border-radius:5px;gap:4px;padding:10px;display:grid}.device-card-grid article>div{align-items:center;gap:6px;display:flex}.device-card-grid .status-dot{width:6px;height:6px}.device-card-grid b{font-size:11.5px;font-weight:700}.device-card-grid small{color:var(--ink-muted);font-size:11px}.text-ok{color:var(--status-normal)}.text-bad{color:var(--status-alarm)}@media (width<=1200px){.detail-kpi-grid,.alarm-summary,.module-grid{grid-template-columns:repeat(3,1fr)}.string-grid{grid-template-columns:repeat(2,1fr)}.meter-compare{grid-template-columns:1fr}}@media (width<=960px){.dashboard-grid,.two-column,.protection-grid,.user-layout,.report-layout,.esg-grid,.control-status-grid{grid-template-columns:1fr}.device-card-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.app-shell{grid-template-columns:1fr}.mobile-menu-btn{display:inline-flex}.sidebar{width:240px;transition:left .2s;position:fixed;top:0;left:-240px}.sidebar.open{left:0;box-shadow:0 0 40px #000c}.mobile-close-btn{display:inline-flex}.drawer-backdrop{z-index:9;background:#0009;position:fixed;inset:0}}.pulse-dot{background:var(--status-normal);border-radius:2px;width:7px;height:7px;animation:1.8s ease-in-out infinite scadaPulse;display:inline-block;box-shadow:0 0 6px #10b98199}@keyframes scadaPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.scada-bottom-dock{background:var(--surface-container);border:1px solid var(--hairline-strong);border-radius:3px;grid-column:1/-1;grid-template-columns:1.2fr auto;align-items:center;gap:16px;margin-top:14px;padding:10px 14px;display:grid}.scada-alarm-ticker{align-items:center;gap:10px;font-size:11.5px;display:flex;overflow:hidden}.alarm-tag-pill{font-family:var(--font-mono);border:1px solid var(--status-warning);color:var(--status-warning);white-space:nowrap;background:#f59e0b26;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.alarm-tag-pill.alarm{border-color:var(--status-alarm);color:var(--status-alarm);background:#ef444426}.scada-alarm-text{color:var(--ink-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.scada-faceplate-cluster{flex-shrink:0;align-items:center;gap:10px;display:flex}.faceplate-group{align-items:center;gap:4px;display:flex}.faceplate-label{font-family:var(--font-mono);color:var(--ink-tertiary);letter-spacing:.05em;text-transform:uppercase;margin-right:2px;font-size:9.5px;font-weight:700}.btn-faceplate{font-family:var(--font-mono);border:1px solid var(--hairline-strong);background:var(--surface);color:var(--ink-secondary);border-radius:2px;padding:4px 8px;font-size:11px;font-weight:700;transition:all .12s}.btn-faceplate:hover:not(:disabled){border-color:var(--telemetry-active);color:#fff}.btn-faceplate.active{border-color:var(--telemetry-active);color:var(--telemetry-active);background:#38bdf826}.btn-arm-execute{font-family:var(--font-mono);border:1px solid var(--status-warning);color:var(--status-warning);background:#f59e0b1f;border-radius:2px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .12s;display:inline-flex}.btn-arm-execute:hover:not(:disabled){background:var(--status-warning);color:#000}.btn-arm-execute.armed{background:var(--status-warning);color:#000;box-shadow:0 0 10px #f59e0b66}.pq-harmonics-spectrum{gap:4px;margin-top:8px;display:grid}.spectrum-row{font-family:var(--font-mono);grid-template-columns:32px 1fr 48px;align-items:center;gap:8px;font-size:10px;display:grid}.spectrum-label{color:var(--ink-muted)}.spectrum-track{background:var(--surface-inset);border:1px solid var(--hairline);border-radius:1px;height:6px;overflow:hidden}.spectrum-fill{background:var(--telemetry-active);border-radius:1px;height:100%}.spectrum-fill.warn{background:var(--status-warning)}.spectrum-val{color:var(--ink-secondary);text-align:right}.bess-cell-matrix-240{grid-template-columns:repeat(16,1fr);gap:2px;margin-top:8px;display:grid}.matrix-cell{background:#10b98166;border:1px solid #10b98199;border-radius:1px;height:8px;transition:transform .1s}.matrix-cell:hover{z-index:2;transform:scale(1.4)}.matrix-cell.warn{border-color:var(--status-warning);background:#f59e0b99}.matrix-cell.alarm{border-color:var(--status-alarm);background:#ef4444b3}@media (width<=960px){.scada-bottom-dock{grid-template-columns:1fr}.scada-faceplate-cluster{flex-wrap:wrap}}.scada-container{color:#f8fafc;background:#090d16;flex-direction:column;min-height:100vh;display:flex}.scada-topbar-master{z-index:50;background:#060a12;border-bottom:1px solid #1e293b;position:sticky;top:0}.scada-header-row-1{border-bottom:1px solid #131d2e;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.scada-brand-group{align-items:center;gap:12px;display:flex}.scada-brand-title{font-family:var(--font-mono);letter-spacing:.04em;color:#38bdf8;font-size:13.5px;font-weight:800}.scada-facility-badge{color:#94a3b8;letter-spacing:.05em;background:#0d1527;border:1px solid #1e293b;border-radius:2px;padding:2px 8px;font-size:10px;font-weight:700}.scada-nav-tabs{align-items:center;gap:2px;height:100%;display:flex}.scada-tab-link{color:#94a3b8;border-bottom:2px solid #0000;align-items:center;height:48px;padding:0 14px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.scada-tab-link:hover{color:#f8fafc;background:#38bdf80a}.scada-tab-link.active{color:#38bdf8;background:#38bdf814;border-bottom-color:#38bdf8}.scada-header-actions{align-items:center;gap:10px;display:flex}.scada-btn-ack{color:#f8fafc;letter-spacing:.03em;cursor:pointer;background:#0f172a;border:1px solid #334155;border-radius:3px;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.scada-btn-ack:hover{background:#1e293b;border-color:#475569}.scada-btn-estop{color:#fff;letter-spacing:.06em;cursor:pointer;background:#7f1d1d;border:1px solid #ef4444;border-radius:3px;padding:5px 12px;font-size:11px;font-weight:800;box-shadow:0 0 10px #ef444440}.scada-user-block{background:#0d1527;border:1px solid #1e293b;border-radius:3px;align-items:center;gap:8px;padding:3px 8px;font-size:11px;display:flex}.scada-header-row-2{color:#94a3b8;background:#090e18;border-bottom:1px solid #131d2e;justify-content:space-between;align-items:center;height:30px;padding:0 16px;font-size:11px;display:flex}.scada-row-2-left{align-items:center;gap:16px;display:flex}.scada-row-2-right{align-items:center;gap:12px;display:flex}.scada-matrix-layout{grid-template-columns:1.45fr 1fr;gap:12px;padding:12px 16px 65px;display:grid}@media (width<=1280px){.scada-matrix-layout{grid-template-columns:1fr}}.scada-panel-box{background:#0a101d;border:1px solid #1e293b;border-radius:4px;flex-direction:column;gap:10px;padding:12px;display:flex}.scada-panel-head-bar{border-bottom:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:8px;display:flex}.scada-head-left-title{align-items:center;gap:8px;display:flex}.scada-head-left-title h2{letter-spacing:.04em;color:#cbd5e1;font-size:12.5px;font-weight:700;font-family:var(--font-mono);margin:0}.scada-iso-badge{color:#38bdf8;font-size:9.5px;font-weight:700;font-family:var(--font-mono);background:#38bdf81a;border:1px solid #38bdf84d;border-radius:2px;padding:1px 6px}.scada-eq-pair-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.scada-eq-card-box{background:#050811;border:1px solid #1e293b;border-radius:3px;padding:10px}.scada-eq-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.scada-eq-card-head strong{font-size:11.5px;font-family:var(--font-mono);color:#e2e8f0}.scada-status-tag{font-size:9.5px;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;border-radius:2px;padding:1px 6px}.scada-status-tag.good{color:#10b981;background:#10b9811a;border:1px solid #10b9814d}.scada-status-tag.warn{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b4d}.scada-status-tag.cyan{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf84d}.scada-metrics-triplet{grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:6px;margin-bottom:8px;display:grid}.scada-metric-item small{color:#64748b;letter-spacing:.03em;text-transform:uppercase;font-size:9.5px;font-weight:600;display:block}.scada-metric-item strong{font-size:15px;font-family:var(--font-mono);color:#f8fafc;font-weight:700}.scada-eq-sub-meta{color:#64748b;font-size:10px;font-family:var(--font-mono);border-top:1px solid #131d2e;flex-wrap:wrap;gap:6px;padding-top:6px;display:flex}.scada-bus-tie-bar{background:#080d19;border:1px dashed #22344d;border-radius:3px;justify-content:center;align-items:center;gap:12px;padding:8px 12px;display:flex}.scada-bus-pill{font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:2px;padding:2px 8px}.scada-bus-pill.cyan{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf866}.scada-bus-pill.green{color:#10b981;background:#10b9811a;border:1px solid #10b98166}.scada-feeders-container{background:#050811;border:1px solid #1e293b;border-radius:3px;padding:10px}.scada-feeders-bar-title{font-size:10.5px;font-family:var(--font-mono);color:#94a3b8;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.scada-feeders-triplet{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.scada-single-feeder{background:#090e1a;border:1px solid #1e293b;border-radius:3px;padding:8px}.scada-single-feeder h4{font-size:11px;font-family:var(--font-mono);color:#cbd5e1;margin:0 0 4px}.scada-feeder-power{font-size:18px;font-weight:800;font-family:var(--font-mono);color:#f8fafc;margin-bottom:6px}.scada-feeder-power small{color:#64748b;font-size:10px;font-weight:600}.scada-feeder-badges{flex-wrap:wrap;gap:4px;margin-bottom:4px;display:flex}.scada-feeder-subline{color:#64748b;font-size:9.5px;font-family:var(--font-mono);display:block}.material-symbols-outlined{vertical-align:middle;font-family:Material Symbols Outlined;font-size:18px;font-weight:400;line-height:1;display:inline-block}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.15)}}.pulse-beacon{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-soft}@keyframes flowDash{to{stroke-dashoffset:-40px}}.path-flow-fast{stroke-dasharray:8 6;animation:1.2s linear infinite flowDash}.path-flow-slow{stroke-dasharray:6 5;animation:2.4s linear infinite flowDash}.path-flow-error{stroke-dasharray:5 4;animation:1.6s linear infinite reverse flowDash}@keyframes thermalBreathing{0%,to{border-color:#ff3d3d59;box-shadow:0 0 0 1px #ff3d3d40,0 4px 18px -2px #ff3d3d1f}50%{border-color:#ff3d3da6;box-shadow:0 0 0 3px #ff3d3d4d,0 6px 26px -2px #ff3d3d40}}.thermal-breath{animation:2.4s ease-in-out infinite thermalBreathing}@keyframes energySweep{0%{background-position:-200% 0}to{background-position:200% 0}}.charging-gradient-animated{background:linear-gradient(90deg,#0aab2a 0%,#34d399 35%,#76ff73 50%,#34d399 65%,#0aab2a 100%) 0 0/200% 100%;animation:2.5s ease-in-out infinite energySweep}@keyframes agvPatrol1{0%,to{transform:translateY(-50%)}50%{transform:translate(130px,-50%)}}@keyframes agvPatrol2{0%,to{transform:translateY(-50%)}50%{transform:translate(-100px,-50%)}}.agv-move-1{animation:10s ease-in-out infinite agvPatrol1}.agv-move-2{animation:8s ease-in-out infinite agvPatrol2}.modal-backdrop-anim{transition:opacity .28s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .28s,backdrop-filter .28s}.modal-dialog-anim{transition:transform .3s cubic-bezier(.34,1.45,.7,1),opacity .26s cubic-bezier(.16,1,.3,1)}.modal-closed{opacity:0;pointer-events:none}.modal-closed .modal-dialog-anim{opacity:0;transform:scale(.94)translateY(24px)}.scada-container.stitch-theme-light{--canvas:#f4f6fa;--surface:#fff;--surface-container:#f8fafc;--surface-elevated:#fff;--surface-inset:#f8fafc;--hairline:#e2e8f0;--hairline-strong:#cbd5e1;--hairline-bright:#94a3b8;--ink:#0f172a;--ink-secondary:#334155;--ink-muted:#64748b;--ink-tertiary:#94a3b8;--status-normal:#059669;--status-warning:#d97706;--status-alarm:#dc2626;--status-grid:#0284c7;--status-solar:#d97706;--status-bess:#059669;--status-load:#0284c7;--brand-accent:#0284c7;color:#0f172a;background:#f4f6fa;font-family:Plus Jakarta Sans,-apple-system,sans-serif}.scada-container.stitch-theme-dark{--canvas:#090d16;--surface:#0a101d;--surface-container:#051424;--surface-elevated:#111a2e;--surface-inset:#050811;--hairline:#1e293b;--hairline-strong:#334155;--hairline-bright:#475569;--ink:#f8fafc;--ink-secondary:#cbd5e1;--ink-muted:#8b99af;--ink-tertiary:#536179;--status-normal:#10b981;--status-warning:#f59e0b;--status-alarm:#ef4444;--status-grid:#38bdf8;--status-solar:#f59e0b;--status-bess:#10b981;--status-load:#38bdf8;--brand-accent:#38bdf8;color:#f8fafc;background:#090d16}.scada-container.stitch-theme-light .scada-topbar-master{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#1e1e1e;background:#fffffff5;border-bottom:1px solid #e5e9f0;box-shadow:0 1px 3px #00000008}.scada-container.stitch-theme-light .scada-header-row-1{border-bottom:1px solid #f1f5f9}.scada-container.stitch-theme-light .scada-brand-title{color:#1e1e1e;letter-spacing:-.02em;font-family:Plus Jakarta Sans,sans-serif;font-weight:800}.scada-container.stitch-theme-light .scada-facility-badge{color:#0aab2a;background:#e8f8ec;border:1px solid #0aab2a40;border-radius:9999px;font-family:Plus Jakarta Sans,sans-serif;font-size:9.5px;font-weight:700}.scada-container.stitch-theme-light .scada-nav-tabs{background:#f2f4f7;border:1px solid #e2e8f0cc;border-radius:9999px;gap:2px;padding:3px}.scada-container.stitch-theme-light .scada-tab-link{color:#717886;background:0 0;border:none;border-radius:9999px;padding:4px 13px;font-size:11.5px;font-weight:600;transition:all .2s}.scada-container.stitch-theme-light .scada-tab-link:hover{color:#1e1e1e;background:#ffffff80}.scada-container.stitch-theme-light .scada-tab-link.active{color:#1e1e1e;background:#fff;font-weight:700;box-shadow:0 1px 3px #00000014}.scada-container.stitch-theme-light .scada-btn-ack{color:#475569;background:#f4f6f9;border:1px solid #e2e8f0;border-radius:9999px;font-size:11px;font-weight:700}.scada-container.stitch-theme-light .scada-btn-ack:hover{color:#1e1e1e;background:#e2e8f0}.scada-container.stitch-theme-light .scada-btn-estop{color:#ff3d3d;background:#ffecec;border:1px solid #ff3d3d;border-radius:9999px;font-weight:800}.scada-container.stitch-theme-light .scada-btn-estop:hover{color:#fff;background:#ff3d3d}.scada-container.stitch-theme-light .scada-user-block button{border-radius:9999px;font-weight:700}.scada-container.stitch-theme-light .scada-header-row-2{color:#717886;background:#ffffffd9;border-bottom:1px solid #e5e9f0;font-size:10.5px}.scada-container.stitch-theme-light .scada-header-row-2 strong{color:#1e1e1e}.scada-container.stitch-theme-light .scada-header-row-2 .scada-row-2-right span{color:#475569!important}.scada-container.stitch-theme-light main{background:#f4f6fa!important}.scada-container.stitch-theme-light .scada-matrix-layout{gap:12px;padding:12px}.scada-container.stitch-theme-light .scada-panel-box{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff2;border:1px solid #e5e9f0;border-radius:20px;padding:14px;box-shadow:0 10px 30px -5px #0000000a}.scada-container.stitch-theme-light .scada-panel-head-bar{border-bottom:1px solid #e5e9f0;padding-bottom:10px}.scada-container.stitch-theme-light .scada-head-left-title h2{color:#1e1e1e;letter-spacing:-.01em;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700}.scada-container.stitch-theme-light .scada-head-kpis span{color:#717886!important}.scada-container.stitch-theme-light .scada-head-kpis strong{color:#1e1e1e!important}.scada-container.stitch-theme-light .scada-eq-card-box{background:#fff;border:1px solid #e5e9f0;border-radius:16px;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 6px #00000005}.scada-container.stitch-theme-light .scada-eq-card-box:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 10px 24px -4px #0000000f}.scada-container.stitch-theme-light .scada-eq-card-head strong{color:#1e1e1e;font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:700}.scada-container.stitch-theme-light .scada-status-tag{border-radius:9999px;font-weight:700}.scada-container.stitch-theme-light .scada-status-tag.good{color:#0aab2a;background:#e8f8ec;border:1px solid #0aab2a40}.scada-container.stitch-theme-light .scada-status-tag.warn{color:#d97706;background:#fffbeb;border:1px solid #d9770640}.scada-container.stitch-theme-light .scada-status-tag.cyan{color:#2f65ff;background:#eff6ff;border:1px solid #2f65ff40}.scada-container.stitch-theme-light .scada-metric-item small{color:#717886;font-weight:600}.scada-container.stitch-theme-light .scada-metric-item strong{color:#1e1e1e;font-family:JetBrains Mono,monospace;font-weight:700}.scada-container.stitch-theme-light .scada-eq-sub-meta{color:#717886;border-top:1px solid #f1f5f9}.scada-container.stitch-theme-light .scada-bus-tie-bar{background:#fff;border:1.5px dashed #cbd5e1;border-radius:9999px;padding:8px 14px;box-shadow:0 2px 6px #00000005}.scada-container.stitch-theme-light .scada-feeders-container{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:12px}.scada-container.stitch-theme-light .scada-feeders-bar-title strong{color:#1e1e1e;font-family:Plus Jakarta Sans,sans-serif}.scada-container.stitch-theme-light .scada-feeders-bar-title span{color:#717886}.scada-container.stitch-theme-light .scada-single-feeder{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px}.scada-container.stitch-theme-light .scada-single-feeder h4{color:#475569;font-weight:700}.scada-container.stitch-theme-light .scada-feeder-power{color:#1e1e1e;font-family:JetBrains Mono,monospace}.scada-container.stitch-theme-light .scada-feeder-subline{color:#717886}.scada-container.stitch-theme-light .scada-pq-box{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:12px;box-shadow:0 2px 6px #00000005}.scada-container.stitch-theme-light .scada-pq-head h3{color:#1e1e1e;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.scada-container.stitch-theme-light .scada-pq-metric-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.scada-container.stitch-theme-light .scada-pq-metric-card strong{color:#1e1e1e;font-family:JetBrains Mono,monospace}.scada-container.stitch-theme-light .scada-bess-matrix-box{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:12px;box-shadow:0 2px 6px #00000005}.scada-container.stitch-theme-light .scada-bess-head h3{color:#1e1e1e;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.scada-container.stitch-theme-light .scada-bess-grid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.scada-container.stitch-theme-light .scada-dispatch-box{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:12px;box-shadow:0 2px 6px #00000005}.scada-container.stitch-theme-light .scada-dispatch-head h3{color:#1e1e1e;font-family:Plus Jakarta Sans,sans-serif;font-weight:700}.scada-container.stitch-theme-light .annunciator-strip{background:#fff;border:1px solid #e2e8f0;border-radius:9999px;margin:4px 16px 8px;padding:4px 14px;box-shadow:0 1px 3px #00000005}.scada-container.stitch-theme-light .ann-badge{color:#475569;background:#f8fafc;border-color:#e2e8f0}.scada-container.stitch-theme-light .ann-badge.ok{color:#0aab2a;background:#e8f8ec;border-color:#0aab2a4d}.scada-container.stitch-theme-light .ann-badge.fault{color:#ff3d3d;background:#ffecec;border-color:#ff3d3d4d}.scada-container.stitch-theme-light .annunciator-label{color:#717886;font-weight:700}.scada-container.stitch-theme-light .scada-bottom-dock{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#1e1e1e;background:#fffffff5;border:1px solid #e5e9f0;border-radius:16px;box-shadow:0 4px 20px #0000000a}.scada-container.stitch-theme-light .scada-alarm-ticker{color:#1e1e1e}.scada-container.stitch-theme-light .scada-alarm-text{color:#475569}.scada-container.stitch-theme-light .faceplate-label{color:#717886}.scada-container.stitch-theme-light .btn-faceplate{color:#1e1e1e;background:#f4f6f9;border:1px solid #e2e8f0;border-radius:9999px;font-size:10.5px;font-weight:700}.scada-container.stitch-theme-light .btn-faceplate:hover{background:#e2e8f0}.scada-container.stitch-theme-light .btn-faceplate.active{color:#fff;background:#0aab2a;border-color:#0aab2a}.scada-container.stitch-theme-light .btn-arm-execute{color:#475569;background:#f4f6f9;border:1.5px solid #cbd5e1;border-radius:9999px;font-weight:700}.scada-container.stitch-theme-light .btn-arm-execute.armed{color:#fff;background:#ff3d3d;border-color:#ff3d3d}.scada-container.stitch-theme-light .spectrum-track{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px}.scada-container.stitch-theme-light .spectrum-fill{background:linear-gradient(90deg,#2f65ff,#38bdf8);border-radius:9999px}.scada-container.stitch-theme-light .spectrum-label,.scada-container.stitch-theme-light .spectrum-val{color:#475569}.scada-op-mode-text{color:#f8fafc}.scada-container.stitch-theme-light .scada-op-mode-text{color:#0f172a!important}.scada-btn-pause{color:#94a3b8;cursor:pointer;background:#0a101d;border:1px solid #1e293b;border-radius:9999px;justify-content:center;align-items:center;padding:4px 8px;display:inline-flex}.scada-container.stitch-theme-light .scada-btn-pause{color:#1e1e1e;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d}.scada-pq-subgrid{color:#cbd5e1;background:#090e1a;border:1px solid #1e293b;border-radius:6px;grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0;padding:6px;font-size:10.5px;display:grid}.scada-pq-subgrid small{color:#64748b;display:block}.scada-container.stitch-theme-light .scada-pq-subgrid{color:#1e1e1e!important;background:#f8fafc!important;border-color:#e2e8f0!important}.scada-clinical-kpi-bar{grid-template-columns:repeat(5,1fr);gap:10px;padding:10px 16px 0;display:grid}@media (width<=1200px){.scada-clinical-kpi-bar{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.scada-clinical-kpi-bar{grid-template-columns:1fr}}.clinical-kpi-card{background:#0a101d;border:1px solid #1e293b;border-radius:14px;flex-direction:column;justify-content:space-between;gap:6px;padding:10px 12px;transition:all .2s;display:flex}.scada-container.stitch-theme-light .clinical-kpi-card{background:#fff;border:1px solid #e5e9f0;box-shadow:0 2px 6px #00000005}.clinical-kpi-head{color:#94a3b8;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.scada-container.stitch-theme-light .clinical-kpi-head{color:#717886}.clinical-kpi-val{font-family:var(--font-mono);align-items:baseline;gap:6px;display:flex}.clinical-kpi-val strong{color:#f8fafc;font-size:20px;font-weight:800}.scada-container.stitch-theme-light .clinical-kpi-val strong{color:#1e1e1e}.clinical-kpi-val small{color:#64748b;font-size:9.5px;font-weight:600}.clinical-kpi-badge{font-size:9.5px;font-family:var(--font-mono);border-radius:9999px;align-items:center;gap:4px;width:fit-content;padding:2px 6px;font-weight:600;display:inline-flex}.clinical-kpi-badge.good{color:#10b981;background:#10b9811f;border:1px solid #10b9814d}.clinical-kpi-badge.warn{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.clinical-kpi-badge.cyan{color:#0284c7;background:#38bdf81f;border:1px solid #38bdf84d}.clinical-kpi-badge.neutral{color:#94a3b8;background:#64748b1f;border:1px solid #64748b4d}.scada-container.stitch-theme-light .clinical-kpi-badge.good{color:#0aab2a;background:#e8f8ec;border-color:#0aab2a4d}.scada-container.stitch-theme-light .clinical-kpi-badge.cyan{color:#2f65ff;background:#eff6ff;border-color:#2f65ff40}.scada-container.stitch-theme-light .clinical-kpi-badge.warn{color:#d97706;background:#fffbeb;border-color:#d9770640}.scada-container.stitch-theme-light .clinical-kpi-badge.neutral{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.breaker-badge{font-family:var(--font-mono);border-radius:9999px;align-items:center;gap:4px;padding:1px 6px;font-size:9.5px;font-weight:700;display:inline-flex}.breaker-badge.closed{color:#10b981;background:#10b9811f;border:1px solid #10b98159}.breaker-badge.open{color:#ef4444;background:#ef44441f;border:1px solid #ef444459}.scada-container.stitch-theme-light .breaker-badge.closed{color:#0aab2a;background:#e8f8ec;border-color:#0aab2a4d}.breaker-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.status-dot-sm{border-radius:50%;width:6px;height:6px;display:inline-block}.status-dot-sm.good{background:#10b981}.scada-bus-pill.neutral{color:#94a3b8;background:#64748b26;border:1px solid #64748b4d}.scada-container.stitch-theme-light .scada-bus-pill.neutral{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.skip-link{color:#fff;z-index:9999;background:#0284c7;border-radius:6px;padding:8px 16px;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:16px}.skip-link:focus{top:16px}:focus-visible{outline-offset:2px!important;outline:2px solid #0284c7!important}.scada-container.stitch-theme-light .page-heading h1{letter-spacing:-.02em;color:#0f172a!important;font-family:Plus Jakarta Sans,sans-serif!important;font-weight:800!important}.scada-container.stitch-theme-light .page-note{color:#475569!important;font-size:13px!important}.scada-container.stitch-theme-light .page-badge{border-radius:9999px;padding:2px 8px;color:#1d4ed8!important;background:#eff6ff!important;border:1px solid #bfdbfe!important}.scada-container.stitch-theme-light .panel-title h2{color:#0f172a!important;font-family:Plus Jakarta Sans,sans-serif!important;font-weight:700!important}.scada-container.stitch-theme-light .panel-note{color:#64748b!important}.scada-container.stitch-theme-light .sub-heading{color:#1e293b!important;font-weight:700!important}.scada-container.stitch-theme-light .panel{color:#0f172a!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:16px!important;box-shadow:0 4px 16px -2px #00000008,0 1px 3px #00000005!important}.scada-container.stitch-theme-light .detail-kpi{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;box-shadow:0 2px 8px #00000005!important}.scada-container.stitch-theme-light .detail-kpi>div{color:#64748b!important}.scada-container.stitch-theme-light .detail-kpi strong{color:#0f172a!important}.scada-container.stitch-theme-light .detail-kpi small{color:#64748b!important}.scada-container.stitch-theme-light .data-table>div{border-bottom:1px solid #f1f5f9!important}.scada-container.stitch-theme-light .data-table>div>span{color:#475569!important;font-weight:500!important}.scada-container.stitch-theme-light .data-table>div>strong{color:#0f172a!important}.scada-container.stitch-theme-light table{background:#fff!important}.scada-container.stitch-theme-light table th{color:#334155!important;background:#f8fafc!important;border-bottom:1px solid #e2e8f0!important;font-weight:700!important}.scada-container.stitch-theme-light table td{color:#0f172a!important;border-bottom:1px solid #f1f5f9!important}.scada-container.stitch-theme-light table tr:hover td{background:#f8fafc!important}.scada-container.stitch-theme-light input,.scada-container.stitch-theme-light select{padding:6px 10px;color:#0f172a!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important}.scada-container.stitch-theme-dark input,.scada-container.stitch-theme-dark select{padding:6px 10px;color:#f8fafc!important;background:#0a101d!important;border:1px solid #334155!important;border-radius:8px!important}.scada-container.stitch-theme-light .quality-item{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important}.scada-container.stitch-theme-light .quality-item strong{color:#0f172a!important}.scada-container.stitch-theme-light .quality-item small{color:#64748b!important}.scada-container.stitch-theme-light .module-grid article{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;box-shadow:0 2px 8px #00000005!important}.scada-container.stitch-theme-light .module-grid article strong{color:#0f172a!important}.scada-container.stitch-theme-light .module-grid article small{color:#475569!important}.scada-container.stitch-theme-light .device-card-grid article{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:14px!important;box-shadow:0 2px 8px #00000005!important}.scada-container.stitch-theme-light .device-card-grid article strong{color:#0f172a!important;font-weight:700!important}.scada-container.stitch-theme-light .device-card-grid article small{color:#475569!important}.scada-container.stitch-theme-light .device-card-grid article .mono{color:#334155!important}.scada-container.stitch-theme-light .filter-row{padding:10px 14px;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important}.scada-container.stitch-theme-light .alarm-item{background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important}.scada-container.stitch-theme-light .alarm-item strong{color:#0f172a!important}.scada-container.stitch-theme-light .alarm-item small{color:#64748b!important}.scada-container.stitch-theme-light .segmented{background:#e2e8f0!important;border-radius:9999px!important;padding:3px!important}.scada-container.stitch-theme-light .segmented button{color:#475569!important;border:0!important;border-radius:9999px!important}.scada-container.stitch-theme-light .segmented button.active{color:#0f172a!important;background:#fff!important;font-weight:700!important;box-shadow:0 2px 6px #00000014!important}.scada-container.stitch-theme-dark .navexa-twin-root,.navexa-twin-root.dark-twin{color:#f8fafc!important;background:#090d16!important}.scada-container.stitch-theme-dark .navexa-twin-root header,.scada-container.stitch-theme-dark .navexa-twin-root aside,.scada-container.stitch-theme-dark .navexa-twin-root .bg-white,.scada-container.stitch-theme-dark .navexa-twin-root .bg-white\/90,.scada-container.stitch-theme-dark .navexa-twin-root .bg-white\/95,.scada-container.stitch-theme-dark .navexa-twin-root .bg-white\/70,.dark-twin header,.dark-twin aside,.dark-twin .bg-white,.dark-twin .bg-white\/90,.dark-twin .bg-white\/95,.dark-twin .bg-white\/70{color:#f8fafc!important;background:#0f172a!important;border-color:#1e293b!important}.scada-container.stitch-theme-dark .navexa-twin-root main,.scada-container.stitch-theme-dark .navexa-twin-root .bg-\[\#F4F6FA\],.scada-container.stitch-theme-dark .navexa-twin-root .bg-\[\#F2F4F7\],.scada-container.stitch-theme-dark .navexa-twin-root .bg-\[\#F4F6F9\],.dark-twin main,.dark-twin .bg-\[\#F4F6FA\],.dark-twin .bg-\[\#F2F4F7\],.dark-twin .bg-\[\#F4F6F9\]{color:#f8fafc!important;background:#090d16!important}.scada-container.stitch-theme-dark .navexa-twin-root .text-\[\#1E1E1E\],.dark-twin .text-\[\#1E1E1E\]{color:#f8fafc!important}.scada-container.stitch-theme-dark .navexa-twin-root .text-\[\#717886\],.dark-twin .text-\[\#717886\]{color:#94a3b8!important}.scada-container.stitch-theme-dark .navexa-twin-root .bg-slate-100,.scada-container.stitch-theme-dark .navexa-twin-root .bg-slate-200,.dark-twin .bg-slate-100,.dark-twin .bg-slate-200{color:#cbd5e1!important;background:#1e293b!important}.scada-container.stitch-theme-dark .navexa-twin-root .border-slate-100,.scada-container.stitch-theme-dark .navexa-twin-root .border-slate-200,.scada-container.stitch-theme-dark .navexa-twin-root .border-\[\#E5E9F0\]\/80,.scada-container.stitch-theme-dark .navexa-twin-root .border-\[\#E5E9F0\]\/60,.dark-twin .border-slate-100,.dark-twin .border-slate-200,.dark-twin .border-\[\#E5E9F0\]\/80,.dark-twin .border-\[\#E5E9F0\]\/60{border-color:#1e293b!important}
