.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.process-page{max-width:1920px;margin:0 auto}.process-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.process-page-head h1{margin:5px 0 7px;font-size:clamp(23px,2vw,32px);letter-spacing:-.8px}.process-eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:650;color:#637982}.process-source-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.process-source-bar label{display:flex;align-items:center;gap:12px;font-size:12px}.process-page select{max-width:100%;padding:7px 9px;background:var(--panel);border:1px solid var(--line);border-radius:5px;color:var(--fg)}.process-notice{padding:12px 16px;margin:12px 0;background:#edf3f6;border:1px solid #cbd9e1;border-radius:7px;font-size:12px}.process-headlines{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.process-headline{display:flex;flex-direction:column;gap:6px;padding:17px 22px;border-right:1px solid var(--line)}.process-headline:last-child{border-right:0}.process-headline>span{font-size:12px;color:var(--fg-muted)}.process-headline strong{font-size:clamp(20px,2vw,28px);font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.process-headline small{font-size:10px;color:var(--fg-muted)}.process-headline.unavailable strong,.process-signal-list .unavailable strong{color:var(--fg-muted)}.process-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.process-workspace:fullscreen{background:var(--bg);padding:20px;overflow:auto;align-content:start}.process-canvas-panel{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fcfdfd;overflow:hidden}.process-canvas-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);background:#fff}.process-canvas-toolbar>div:first-child{display:flex;flex-direction:column;gap:3px}.process-canvas-toolbar strong{font-size:13px}.process-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.process-device-select{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--fg-muted)}.process-tools button{padding:5px 8px;font-size:11px;background:var(--panel);border:1px solid var(--line);border-radius:4px;color:var(--fg)}.process-tools button:disabled{opacity:.4}.process-detail-toggle{display:flex;gap:5px;align-items:center;margin-right:8px;font-size:11px}.process-viewport{position:relative;overflow:visible;background-image:radial-gradient(#dde4e7 .7px,transparent .7px);background-size:20px 20px;touch-action:auto}.process-drawing-size{width:100%;min-width:0;aspect-ratio:1600 / 970}.process-svg{display:block;width:100%;height:auto;overflow:visible;font-family:inherit}.process-svg text{pointer-events:none}.process-zone{fill:#647d87;font-size:11px;letter-spacing:2px;font-weight:600}.process-zone-rule{stroke:#d8e1e5;stroke-width:1}.process-pipe{--medium: #738993}.medium-gas{--medium: #9b864b}.medium-supply{--medium: #a57261}.medium-return{--medium: #698d9d}.medium-biomass{--medium: #7d8c68}.medium-electricity{--medium: #857699}.process-pipe path{fill:none;stroke-linejoin:round;stroke-linecap:round}.process-pipe-outline{stroke:#fcfdfd;stroke-width:10}.process-pipe-line{stroke:var(--medium);stroke-width:5}.process-pipe .process-arrow-shaft{fill:none;stroke:var(--medium);stroke-width:4;stroke-linecap:round}.process-pipe .process-arrow-head{fill:var(--medium);stroke:none}.process-pipe.unverified .process-pipe-line{stroke-dasharray:7 7}.process-pipe.medium-electricity .process-pipe-line{stroke-width:2}.process-flow{stroke:#fff;stroke-width:3;stroke-dasharray:1 15;animation:process-flow 1s linear infinite}@keyframes process-flow{to{stroke-dashoffset:-32}}.process-pipe-label{fill:#7b898c;font-size:11px;letter-spacing:1.2px;text-anchor:middle}.process-hit{fill:transparent;stroke:transparent;stroke-width:1.5;pointer-events:all}.process-equipment{cursor:pointer;outline:none}.process-equipment:hover .process-hit{fill:#eaf1f54a;stroke:#c3d1d8}.process-equipment.selected .process-hit{stroke:#9bb3bf;stroke-dasharray:4 4}.process-equipment:focus-visible .process-hit{stroke:#1f6feb;stroke-width:3;stroke-dasharray:none}.process-editing{touch-action:none}.process-editing .process-equipment{cursor:grab}.process-editing .process-equipment:active{cursor:grabbing}.process-route-hit{stroke:transparent;stroke-width:24;pointer-events:stroke;cursor:pointer}.process-pipe.editor-selected .process-pipe-outline{stroke:#f1c56b;stroke-width:15}.process-route-handles{pointer-events:all}.process-route-handle{fill:#fff;stroke:#176b87;stroke-width:4;cursor:move;vector-effect:non-scaling-stroke}.process-crossing-handle{fill:#ffd46b;stroke:#765313;stroke-width:3;cursor:move;vector-effect:non-scaling-stroke}.process-crossing{pointer-events:none}.process-crossing-cut{fill:none;stroke:var(--panel, #fff);stroke-width:15;vector-effect:non-scaling-stroke}.process-crossing-bridge{fill:none;stroke:var(--medium);stroke-width:7;stroke-linecap:round;vector-effect:non-scaling-stroke}.process-edit-label{cursor:move;pointer-events:all}.process-edit-label rect{fill:#fff1bead;stroke:#bd7a21;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.process-metal,.process-vessel{stroke:#879aa3;stroke-width:1.5}.process-vessel{fill:#36444a}.process-reactor-rib{fill:none;stroke:#647078;stroke-width:2}.process-service-panel{fill:#aaa76d;stroke:#87895f;stroke-width:1}.process-service-seam{stroke:#797e5e;stroke-width:2}.process-level-track{fill:#1d3036;stroke:#99aba9}.process-reactor-tag{fill:#f2f6f5;text-anchor:middle;font-size:11px}.process-dome{fill:#eef2f1;stroke:#879aa3;stroke-width:1.5}.process-liquid{fill:#c2d6a4}.process-rib{fill:none;stroke:#bac9cc;stroke-width:1}.process-rim{fill:none;stroke:#9aadb3;stroke-width:1.3}.process-coil{fill:none;stroke:#a57261;stroke-width:3;stroke-linejoin:round}.process-nameplate{fill:#fdfefe;stroke:#c6d2d6}.process-equipment-name{fill:#334951;font-size:13px;font-weight:600;text-anchor:middle}.process-reading{fill:#2c444b;font-size:23px;font-weight:550;text-anchor:middle;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.process-small{fill:#526b75;font-size:12px;text-anchor:middle}.process-note{font-style:italic}.process-instrument{fill:#3d5964;font-size:11px;font-variant-numeric:tabular-nums}.process-footnote{fill:#6c8088;font-size:9px;letter-spacing:.3px}.process-inset{fill:#e1e9ec;stroke:#9aadb5;stroke-width:1.3}.process-detail-line{fill:none;stroke:#8199a4;stroke-width:2}.process-burner-mark{fill:#b8c4c9;stroke:#899da5}.tone-active .process-burner-mark{fill:#bfa481;stroke:#9b8468}.process-old-reading{fill:#73858d}.process-fan,.process-pump-mark{fill:#a9bac1;stroke:#7e959f;stroke-width:1}.process-boundary{fill:#f6f9fa;stroke:#bbcbd1;stroke-dasharray:5 4}.process-fault-dot{fill:var(--alarm)}.process-fault-text{fill:#fff;font-size:16px;font-weight:700;text-anchor:middle}.process-equipment.tone-fault .process-metal{stroke:var(--alarm);stroke-width:2.5}.process-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 17px;padding:13px 18px;border-top:1px solid var(--line);font-size:10px;color:var(--fg-muted);background:#fff}.process-legend span{display:inline-flex;align-items:center;gap:6px}.process-legend i{width:20px;border-top:3px solid var(--medium, #889aa3)}.process-legend i.unverified{border-top-style:dashed}.process-legend-note{margin-left:auto}.process-activity{display:grid;grid-template-columns:repeat(4,1fr);background:#f7fafb;border-top:1px solid var(--line)}.process-activity>div{padding:15px 14px;display:flex;flex-direction:column;gap:7px;border-right:1px solid var(--line)}.process-activity>div:last-child{border-right:0}.process-activity span{color:var(--fg-muted);font-size:11px}.process-activity strong{font-size:11px;font-weight:550}.process-data-note{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:11px 16px;font-size:10px;color:var(--fg-muted);border-top:1px solid var(--line)}.process-inspector{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:20px}.process-inspector-heading h2{padding:0;margin:9px 0 5px;font-size:19px;line-height:1.25;border:0}.process-inspector-heading>span:last-child{font-size:12px}.process-description{font-size:12px;line-height:1.7;color:var(--fg-muted);margin:18px 0}.process-status{margin:16px 0;padding:9px 10px;background:#f1f5f6;border-radius:5px;font-size:12px}.process-page .tone-fault{color:var(--alarm)}.process-status.tone-fault{background:var(--alarm-bg)}.process-page .tone-active{color:#376557}.process-unverified{font-size:11px;color:#796846;padding:9px;background:#f8f5ed;border-radius:4px}.process-signal-list>div{padding:12px 0;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:1fr auto;gap:5px;align-items:baseline}.process-signal-label{font-size:11px;color:var(--fg-muted)}.process-signal-list strong{font-size:14px;font-weight:550;font-variant-numeric:tabular-nums}.process-signal-list small{grid-column:1 / -1;font-size:10px;color:var(--fg-muted)}.process-signal-list details{grid-column:1 / -1;font-size:10px;color:var(--fg-muted);line-height:1.6}.process-signal-list summary{cursor:pointer}.process-signal-list code{overflow-wrap:anywhere;font-size:9px}.process-trend{border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.process-trend>label{display:flex;flex-direction:column;gap:8px;font-size:11px}.process-trend>.chart{height:200px;min-height:200px;margin-top:12px}.process-connections{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:11px;color:var(--fg-muted)}.process-connections ul{padding-left:16px;line-height:1.9}.process-inventory,.process-events{margin-top:20px}.process-table-scroll{overflow:auto}.process-inventory table{width:100%;font-size:12px;border-collapse:collapse}.process-inventory th,.process-inventory td{padding:10px 16px;text-align:left;border-bottom:1px solid var(--line-soft)}.process-events p,.process-events ul{padding:0 20px 14px;font-size:12px}.process-events ul{list-style:none;line-height:1.9}.process-editor{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;background:#fff5dc;border-bottom:1px solid #dfc27f;color:#654b18;font-size:11px}.process-editor>span{line-height:1.5}.process-editor-route,.process-editor-component,.process-editor-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.process-editor-route>label,.process-editor-component>label{display:flex;align-items:center;gap:5px}.process-editor-route select,.process-editor-component select{max-width:175px;min-height:32px;font-size:10px}.process-editor-route input,.process-editor-component input{width:120px;min-height:32px;font-size:10px}.process-editor button{min-height:32px;padding:5px 9px;font-size:10px}.process-editor-message{margin:0;padding:8px 14px;border-bottom:1px solid var(--line);font-size:11px}.process-editor-message.success{color:#27674f;background:#e9f4ef}.process-editor-message.error{color:#a0382f;background:#fce9e7}@media(max-width:1150px){.process-workspace{grid-template-columns:minmax(0,1fr)}.process-inspector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px}.process-signal-list,.process-trend{grid-column:2}.process-inspector-heading,.process-description,.process-inspector>.process-status,.process-connections,.process-inspector>.process-unverified{grid-column:1}.process-signal-list{grid-row:1 / span 4}.process-editor{grid-template-columns:1fr}.process-editor-route,.process-editor-component,.process-editor-actions{flex-wrap:wrap}}@media(max-width:650px){.process-page-head{align-items:start;flex-direction:column;gap:10px}.process-headlines{grid-template-columns:repeat(2,1fr)}.process-headline{padding:14px;border-bottom:1px solid var(--line)}.process-headline:nth-child(2){border-right:0}.process-headline:nth-child(n+3){border-bottom:0}.process-canvas-toolbar{padding:12px}.process-activity{grid-template-columns:repeat(2,1fr)}.process-inspector{display:block}.process-legend-note{margin-left:0}}@media(prefers-reduced-motion:reduce){.process-flow{animation:none}}.process-view-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 18px 4px;background:#fff}.process-flow-note{margin:0;padding:10px 18px;font-size:11px;line-height:1.5;background:#f1f6f7;color:#4c6872;border-bottom:1px solid var(--line)}.process-requested-flow,.process-inferred-flow{stroke:#fff;stroke-width:2;stroke-dasharray:14 18;opacity:.85;animation:process-flow 2s linear infinite}.process-junction{fill:#627d86;stroke:#fcfdfd;stroke-width:1}.process-expansion{fill:#bd8276;stroke:#8c6f66;stroke-width:1.5}.process-valve-body{fill:#eff3f4;stroke:#6f8590;stroke-width:2}.process-valve-disc{fill:#fdfefe;stroke:#6f8590;stroke-width:2}.process-valve-gate{fill:none;stroke:#50636d;stroke-width:5;stroke-linecap:round}.process-valve-question{text-anchor:middle;fill:#667b85;font-size:17px;font-weight:700}.process-valve-label{text-anchor:middle;fill:#62747c;font-size:10px;font-weight:650;letter-spacing:.4px}.valve-open .process-valve-body,.valve-open .process-valve-disc{fill:#d5eae2;stroke:#337861}.valve-open .process-valve-gate{stroke:#28705b}.valve-open .process-valve-label{fill:#28705b}.valve-closed .process-valve-disc{fill:#e2e7eb}.valve-travelling .process-valve-body{stroke-dasharray:3 3}.valve-fault .process-valve-body,.valve-fault .process-valve-disc{fill:#fae4e1;stroke:#b64439}.valve-fault .process-valve-gate,.valve-fault .process-valve-label{stroke:#b64439}.route-open .process-pipe-line{stroke:#3b826b;stroke-width:6}.route-closed .process-pipe-line{stroke:#9ca9ad;stroke-width:3}.route-unknown .process-pipe-line,.route-travelling .process-pipe-line{stroke:#a6b1b3;stroke-dasharray:4 6;stroke-width:3}.route-fault .process-pipe-line{stroke:#b86d65;stroke-dasharray:3 5;stroke-width:3}.process-valve-strip{display:flex;flex-wrap:wrap;gap:7px;padding:14px 18px;border-top:1px solid var(--line)}.process-valve-strip>span{width:100%;color:var(--fg-muted);font-size:11px}.valve-chip{display:grid;grid-template-columns:19px 1fr;gap:2px 6px;min-width:75px;min-height:44px;border:1px solid #bccbd1;border-radius:6px;background:#f5f7f8;color:#526974;padding:6px 8px;font-size:11px;cursor:pointer}.valve-chip i{grid-row:span 2;align-self:center;font-style:normal;font-size:19px}.valve-chip small{font-size:9px}.valve-chip.valve-open{background:#e6f1eb;border-color:#83b7a1;color:#2d6c56}.valve-chip.valve-fault{background:#fce9e7;border-color:#c9766d;color:#a0382f}@media(prefers-reduced-motion:reduce){.process-requested-flow,.process-inferred-flow{animation:none}}.process-biomass-motor{fill:#a2afb5;stroke:#627a85;stroke-width:2}.process-motor-fin{stroke:#738892;stroke-width:3}.process-biomass-casing{fill:#a1c4ce;stroke:#598897;stroke-width:2}.process-sensor-mark{fill:none;stroke:#597783;stroke-width:3;stroke-linecap:round}.process-module-settings{display:flex;align-items:center;flex-wrap:wrap;gap:18px;width:100%;padding:10px 0}.process-module-settings label{display:flex;align-items:center;gap:6px}.process-symbol-caption{fill:#25434e;font-size:15px;font-weight:650;text-anchor:middle;paint-order:stroke;stroke:#fcfdfd;stroke-width:5px;stroke-linejoin:round}.process-symbol-state{fill:#687f86;font-size:11px;text-anchor:middle;paint-order:stroke;stroke:#fcfdfd;stroke-width:4px}.process-sensor-label{fill:#647981;font-size:11px;text-anchor:middle;paint-order:stroke;stroke:#fcfdfd;stroke-width:4px}.process-sensor-value{fill:#173f50;font-size:15px;font-weight:600;text-anchor:middle;paint-order:stroke;stroke:#fcfdfd;stroke-width:4px}.process-sensor-demo .process-sensor-value{fill:#996a23}.process-sensor-unavailable .process-sensor-value{fill:#83939a}.process-flare-flame{fill:#e5b767;stroke:#bd8846;stroke-width:1.5}.process-dryer-drop{fill:#b5d9e1;stroke:#6899aa;stroke-width:1.5}.process-instrument-face{fill:#fff;stroke:#7b939d;stroke-width:2}.process-meter-mark{font-size:8px;font-weight:600;fill:#5b7783;text-anchor:middle}.process-boundary-arrow{fill:none;stroke:var(--medium, #718c7a);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.process-pipe-line{stroke-width:3}.process-pipe-outline{stroke-width:7}.medium-gas{--medium: #be9c48}.medium-supply{--medium: #c37e70}.medium-return{--medium: #629bb7}.medium-biomass{--medium: #849f63}.process-auto-cut{fill:none;stroke:#fcfdfd;stroke-width:9}.process-auto-bridge{fill:none;stroke:var(--medium);stroke-width:3}.process-auto-junction{fill:var(--medium);stroke:#fcfdfd;stroke-width:1}.process-symbol-caption,.process-symbol-state{pointer-events:auto;cursor:pointer}main:has(.process-fit){max-width:none;padding:0}.process-fit{max-width:none;min-height:0}.process-fit .process-workspace{position:relative;display:block}.process-fit .process-canvas-panel{display:flex;flex-direction:column;min-height:0;border-radius:0}.process-fit .process-canvas-toolbar{order:3;padding:7px 12px;flex-shrink:0}.process-fit .process-viewport{order:1;height:min(calc(100vh - 175px),calc(100vw * .60625));height:min(calc(100svh - 175px),calc(100vw * .60625));overflow:visible;touch-action:auto}.process-fit .process-drawing-size{display:flex;justify-content:center;width:100%;height:100%;aspect-ratio:auto}.process-fit .process-svg{width:auto;max-width:100%;height:100%;overflow:visible}.process-fit .process-legend{order:2;padding:6px 12px;flex-shrink:0;font-size:10px}.process-fit .process-flow-note,.process-fit .process-valve-strip,.process-fit .process-activity,.process-fit .process-data-note,.process-fit .process-headlines,.process-fit .process-events,.process-fit .process-inventory,.process-fit .process-inspector{display:none}.process-fit .show-details .process-inspector{display:block;position:absolute;right:8px;top:8px;bottom:34px;width:min(310px,90%);max-height:none;overflow:auto;z-index:5;background:var(--panel);box-shadow:0 8px 30px #17374720}.process-fit .process-editor{order:5;max-height:35%;overflow:auto;flex-shrink:0}.process-fit .process-notice,.process-fit .error-box{order:4;padding:5px 12px;margin:3px 0;font-size:11px}.process-fit .process-canvas-toolbar>div:first-child span{display:none}.process-fit .process-editor-message{order:5;margin:2px 12px;padding:2px}.process-biomass-flow{stroke:#fff;stroke-width:2.5;stroke-dasharray:4 12;animation:process-flow 1.2s linear infinite}@media(prefers-reduced-motion:reduce){.process-biomass-flow{animation:none}}@media(max-width:600px){.process-fit .process-canvas-toolbar{gap:4px}.process-fit .process-device-select{font-size:10px}.process-fit .process-legend-note{display:none}}.process-close-details{float:right;margin:6px;width:30px;height:30px;font-size:22px;border:0;background:transparent;color:var(--fg-muted);cursor:pointer}@media(min-width:901px){.process-fit .show-details{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:12px}.process-fit .show-details .process-inspector{position:relative;inset:auto;width:auto;height:100%;min-height:0;box-sizing:border-box;box-shadow:none}}.process-gas-injection .process-pipe-line{stroke-width:2}.demo-tour{--demo-ink: #17333c;--demo-muted: #60757d;--demo-teal: #176b87;--demo-green: #267457;--demo-warm: #b65c18;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;width:100vw;height:100dvh;overflow:hidden;display:grid;grid-template-rows:68px minmax(0,1fr) 40px;color:var(--demo-ink);background:radial-gradient(circle at 8% 0%,#edf5f4 0,transparent 34%),#f5f7f7;font-variant-numeric:tabular-nums;touch-action:manipulation;-webkit-user-select:none;user-select:none}.demo-tour-header{position:relative;z-index:2;height:auto;min-width:0;padding:max(12px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 10px max(24px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:18px;align-items:center;background:#ffffffe0;border-bottom:1px solid #dce5e7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.demo-tour-brand{display:flex;align-items:center;gap:9px;line-height:1.12}.demo-tour-brand img{width:32px;height:32px;flex:none;border-radius:8px}.demo-tour-brand strong{font-size:18px;letter-spacing:-.3px}.demo-tour-title{display:flex;justify-content:center;align-items:center;gap:10px;min-width:0}.demo-tour-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.demo-badge{padding:3px 8px;border-radius:999px;background:#e7f0ed;color:var(--demo-green);font-size:10px;font-weight:750;letter-spacing:1.3px;text-transform:uppercase}.demo-progress-dots{justify-self:end;display:flex;gap:7px}.demo-progress-dots i{width:20px;height:5px;border-radius:5px;background:#d2dcdf}.demo-progress-dots i.complete{background:#91ada7}.demo-progress-dots i.current{width:34px;background:var(--demo-teal)}.demo-tour-content{width:100%;max-width:none;min-width:0;min-height:0;margin:0;padding:clamp(12px,1.8vw,24px) max(24px,env(safe-area-inset-right)) clamp(10px,1.4vw,18px) max(24px,env(safe-area-inset-left));overflow:hidden;animation:demo-scene-enter .34s cubic-bezier(.2,.75,.25,1) both}@keyframes demo-scene-enter{0%{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.demo-tour-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 max(24px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));color:var(--demo-muted);background:#fff;border-top:1px solid #dce5e7;font-size:10px;letter-spacing:.8px}.demo-tour-footer>span:first-child{font-weight:750;color:#8a5a22}.demo-tour-footer>span:nth-child(2){letter-spacing:0;font-size:11px}.demo-total-progress{height:4px;width:min(230px,100%);justify-self:end;overflow:hidden;border-radius:5px;background:#dce5e7}.demo-total-progress i{display:block;height:100%;background:var(--demo-teal);transition:width .1s linear}.demo-eyebrow{margin:0 0 4px;color:var(--demo-teal);font-size:10px;line-height:1.2;font-weight:750;letter-spacing:1.5px;text-transform:uppercase}.demo-overview-scroll{height:100%;overflow:hidden;scroll-behavior:smooth}.demo-overview-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:112px;padding:8px 4px 18px}.demo-overview-hero h2,.demo-chart-intro h2{margin:0;font-size:clamp(26px,3vw,43px);line-height:1.1;letter-spacing:-1.5px;font-weight:650}.demo-overview-hero p:not(.demo-eyebrow){margin:8px 0 0;color:var(--demo-muted);font-size:14px}.demo-health{flex:none;display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;border:1px solid #dce5e7;border-radius:12px;font-weight:650;box-shadow:0 7px 22px #1b373f0d}.demo-health-dot{width:12px;height:12px;border-radius:50%;background:var(--demo-green);box-shadow:0 0 0 5px #e6f1ec}.demo-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.demo-kpi{min-width:0;padding:15px 18px;display:grid;grid-template-columns:1fr auto;gap:2px 14px;background:#fff;border:1px solid #dce5e7;border-radius:11px;box-shadow:0 5px 18px #1b373f0a}.demo-kpi>span{color:var(--demo-muted);font-size:11px}.demo-kpi strong{grid-row:span 2;font-size:clamp(22px,2.2vw,32px);line-height:1.2;font-weight:620;white-space:nowrap}.demo-kpi small{color:var(--demo-green);font-size:10px}.demo-overview-lower{margin-top:14px;padding-bottom:10px;display:grid;grid-template-columns:1.7fr 1fr;gap:14px}.demo-card{padding:17px 20px;background:#fff;border:1px solid #dce5e7;border-radius:11px}.demo-card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.demo-card-heading h3{margin:0;font-size:14px}.demo-card-heading strong{color:var(--demo-green);font-size:11px}.demo-device-row{min-height:36px;display:grid;grid-template-columns:27px 1fr auto 9px;align-items:center;gap:9px;border-top:1px solid #edf1f2;font-size:11px}.demo-device-row b{font-weight:580}.demo-device-row>span:nth-of-type(2){color:var(--demo-muted)}.demo-device-row i{width:7px;height:7px;border-radius:50%;background:var(--demo-green)}.demo-device-icon{display:grid;place-items:center;width:21px;height:21px;border-radius:5px;background:#edf3f4;color:var(--demo-teal);font-weight:700}.demo-alarm-card{display:grid;grid-template-columns:1fr 1.2fr;align-items:center}.demo-alarm-card .demo-card-heading{grid-column:1 / -1}.demo-status-ring{width:110px;height:110px;border:9px solid #d9ebe3;border-top-color:var(--demo-green);border-radius:50%;display:grid;place-content:center;text-align:center}.demo-status-ring span{font-size:20px;font-weight:700}.demo-status-ring small{color:var(--demo-muted);font-size:9px}.demo-alarm-card>p{color:var(--demo-muted);font-size:11px;line-height:1.6}.demo-overview-events{min-height:172px;margin:14px 0 20px}.demo-overview-events>div:not(.demo-card-heading){min-height:35px;display:grid;grid-template-columns:55px 1fr 1.2fr;gap:12px;align-items:center;border-top:1px solid #edf1f2;font-size:11px}.demo-overview-events time,.demo-overview-events span{color:var(--demo-muted)}.demo-process-scene{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:9px}.demo-process-strip{min-height:60px;display:flex;gap:9px;align-items:stretch}.demo-status-chip,.demo-process-reading,.demo-route-name{min-width:112px;padding:9px 12px;display:grid;grid-template-columns:9px 1fr;gap:1px 8px;align-content:center;background:#fff;border:1px solid #dce5e7;border-radius:9px}.demo-status-chip,.demo-energy-card,.demo-energy-output{transition:border-color .25s ease,background-color .25s ease,color .25s ease}.demo-status-chip i{transition:background-color .25s ease,box-shadow .25s ease}.demo-status-chip i{grid-row:span 2;width:8px;height:8px;align-self:center;border-radius:50%;background:#9ba9ad}.demo-status-chip.active i{background:var(--demo-green);box-shadow:0 0 0 4px #e6f1ec}.demo-status-chip span,.demo-process-reading span,.demo-route-name span{color:var(--demo-muted);font-size:9px;text-transform:uppercase;letter-spacing:.7px}.demo-status-chip b{font-size:12px;text-transform:capitalize}.demo-process-reading{grid-template-columns:1fr;min-width:125px}.demo-process-reading b{font-size:17px;font-weight:650}.demo-route-name{min-width:0;flex:1;grid-template-columns:1fr}.demo-route-name b{font-size:12px}.demo-process-canvas{min-height:0;border:1px solid #dce5e7;border-radius:12px;overflow:hidden;background:#fcfdfd}.demo-process-canvas .process-svg{width:100%;height:100%}.demo-process-canvas .process-equipment{cursor:default}.demo-tour[data-scene=thermal] .demo-tour-content{padding-top:7px;padding-bottom:6px}.demo-tour[data-scene=thermal] .demo-process-scene{gap:6px}.demo-tour[data-scene=thermal] .demo-process-strip{min-height:48px}.demo-tour[data-scene=thermal] .demo-scene-callout{min-height:31px;padding-top:4px;padding-bottom:4px}.demo-scene-callout{margin:0;min-height:36px;display:grid;place-items:center;padding:7px 14px;border-radius:9px;background:#e9f1f2;color:#284c57;font-weight:650;font-size:13px;text-align:center}.process-demo-flow{fill:none;stroke:#fff;stroke-width:3;stroke-dasharray:2 13;animation:process-flow .75s linear infinite}.demo-running .process-metal,.demo-running .process-biomass-casing{stroke:var(--demo-green);stroke-width:3px}.demo-running .process-pump-mark{fill:#75aa96}.demo-data-scene{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px}.demo-chart-intro{display:flex;align-items:end;justify-content:space-between;gap:24px}.demo-chart-intro h2{font-size:clamp(24px,2.5vw,36px)}.demo-time-cursor,.demo-price{min-width:112px;padding:8px 14px;background:#fff;border:1px solid #dce5e7;border-radius:10px;text-align:right;font-size:25px;font-weight:680}.demo-demand-live{display:grid;grid-template-columns:auto auto;gap:6px;min-width:250px}.demo-demand-live .demo-time-cursor{grid-row:span 2;display:grid;place-items:center}.demo-demand-live>div:not(.demo-time-cursor){min-width:122px;padding:5px 10px;display:flex;align-items:baseline;justify-content:space-between;gap:8px;background:#fff;border:1px solid #dce5e7;border-radius:8px}.demo-demand-live span{color:var(--demo-muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.demo-demand-live strong{font-size:13px;white-space:nowrap}.demo-chart-stack{min-height:0;display:grid;grid-template-rows:1.15fr .85fr;gap:10px}.demo-chart-card{min-height:0;display:flex;flex-direction:column;padding:9px 13px 6px;background:#fff;border:1px solid #dce5e7;border-radius:11px;overflow:hidden}.demo-chart-card h3{flex:none;margin:0 0 2px;font-size:12px}.demo-chart-card h3 span{color:var(--demo-muted);font-weight:450}.demo-chart-host{min-height:0;flex:1;display:flex}.demo-chart-host .chart{min-height:80px}.demo-model-note{margin:0;text-align:center;color:var(--demo-muted);font-size:9px;letter-spacing:.8px;text-transform:uppercase}.demo-price{display:grid;grid-template-columns:1fr auto;gap:0 8px;min-width:152px}.demo-price span{grid-column:1 / -1;color:var(--demo-muted);font-size:10px}.demo-price strong{font-size:26px;line-height:1.05}.demo-price small{align-self:end;color:var(--demo-muted);font-size:9px}.demo-dispatch-grid{min-height:0;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(265px,.8fr);gap:12px}.demo-day-schedule{min-height:0;display:grid;grid-template-rows:auto auto minmax(105px,1fr) auto;gap:16px;padding:20px;background:#fff;border:1px solid #dce5e7;border-radius:11px;overflow:hidden}.demo-schedule-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.demo-schedule-head h3{margin:4px 0 0;font-size:18px}.demo-schedule-legend{display:flex;flex-wrap:wrap;gap:7px 14px;color:var(--demo-muted);font-size:10px}.demo-schedule-legend span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px;background:#e4ecee}.demo-schedule-legend .high:before{background:#dbc4e5}.demo-schedule-legend .demand:before{border-radius:50%;background:#e09a4d}.demo-price-blocks{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px}.demo-price-blocks>div{min-width:0;height:64px;padding:8px 2px 5px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;border:2px solid transparent;border-radius:5px;background:#e8f0f1;color:#42616b}.demo-price-blocks>div.high{background:#eee5f2;color:#6d477c}.demo-price-blocks>div.current{z-index:2;border-color:#176b87;box-shadow:0 3px 10px #176b8738;transform:translateY(-5px) scale(1.08)}.demo-price-blocks b{font-size:clamp(8px,.8vw,11px);font-variant-numeric:tabular-nums}.demo-price-blocks small{min-height:11px;font-size:8px}.demo-demand-track{position:relative;min-height:94px;margin:0 2%;border-top:2px solid #d7e1e4}.demo-demand-track>span{position:absolute;top:52px;left:0;color:var(--demo-muted);font-size:10px}.demo-demand-track i{position:absolute;top:-7px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#d97d27;box-shadow:0 0 0 2px #d97d27;transform:translate(-50%);font-style:normal}.demo-demand-track i b,.demo-demand-track i small{position:absolute;left:50%;width:70px;text-align:center;transform:translate(-50%);white-space:nowrap}.demo-demand-track i b{top:18px;color:#99581d;font-size:10px}.demo-demand-track i small{top:33px;color:var(--demo-muted);font-size:9px}.demo-demand-track em{position:absolute;top:-24px;bottom:0;width:2px;background:#176b87;color:#176b87;font-size:8px;font-style:normal;font-weight:750;transform:translate(-50%)}.demo-demand-track em:after{content:"";position:absolute;top:-3px;left:-4px;width:10px;height:10px;border-radius:50%;background:#176b87}.demo-decision-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.demo-decision-steps>div{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;padding:10px;border:1px solid #dce5e7;border-radius:8px;color:#61737a}.demo-decision-steps>div.active{border-color:#72a991;background:#eef7f3;color:#245b47}.demo-decision-steps span{grid-row:1 / 3;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e8eff1;font-weight:750}.demo-decision-steps b{font-size:11px}.demo-decision-steps small{font-size:9px}.demo-chart-host.tall .chart{min-height:220px}.demo-energy-card{padding:18px;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #dce5e7;border-top:4px solid var(--demo-warm);border-radius:11px}.demo-energy-card.mode-chp{border-top-color:var(--demo-green)}.demo-energy-card h3{margin:0;font-size:clamp(20px,2.3vw,30px)}.demo-input-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.demo-input-checks>div{display:grid;gap:3px;padding:10px;border:1px solid #dce5e7;border-radius:8px;background:#f5f8f9}.demo-input-checks span,.demo-input-checks small{color:var(--demo-muted);font-size:9px}.demo-input-checks strong{font-size:15px}.demo-input-checks .high{border-color:#ccb1d8;background:#f4eef6;color:#694378}.demo-input-checks .needed{border-color:#e2b885;background:#fff5e9;color:#8b501b}.demo-input-checks .covered{border-color:#b9d8cc;background:#eef8f4;color:#205f49}.demo-decision-arrow{margin:-7px 0 -8px;color:#7b8d93;font-size:22px;text-align:center;line-height:1}.demo-energy-source{padding:12px;border-radius:8px;background:#edf3f4;font-weight:650;text-align:center}.demo-energy-source span{padding:0 10px;color:var(--demo-teal)}.demo-demand-priority{display:grid;gap:3px;padding:10px 12px;border:1px solid #b9d8cc;border-radius:8px;background:#eef8f4}.demo-demand-priority span,.demo-demand-priority small{color:#527068;font-size:11px}.demo-demand-priority strong{color:#205f49;font-size:17px}.demo-dispatch-sequence{display:grid;gap:4px;margin-bottom:10px;font-size:10px;color:#60747b}.demo-dispatch-sequence span{padding-left:10px;border-left:3px solid #c7d6da}.demo-energy-output{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border-radius:8px;border:1px solid #dce5e7;font-size:11px}.demo-energy-output strong{font-size:19px}.demo-energy-output.electricity{background:#f2f0f6}.demo-energy-output.heat{background:#fbf3ec}.demo-dispatch-rule{margin:auto 0 0;color:var(--demo-muted);font-size:10px;text-align:center}.demo-resume-banner{position:fixed;z-index:60;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));min-height:62px;padding:10px 12px 10px 18px;display:flex;align-items:center;gap:12px;background:#182c33f5;color:#fff;border-radius:12px;box-shadow:0 12px 36px #0e1e243d}.demo-resume-banner>div:first-child{display:flex;flex-direction:column}.demo-resume-banner strong{font-size:13px}.demo-resume-banner span{color:#c6d5d9;font-size:11px}.demo-resume-actions{margin-left:auto;display:flex;gap:8px}.demo-resume-banner button{min-height:42px;padding:9px 16px;border-color:#60747b;background:#29444d;color:#fff}.demo-resume-banner button.primary{border-color:#eaf3f1;background:#fff;color:#17333c}.demo-start-button{min-height:38px;white-space:nowrap}@media(max-width:699px){.demo-start-button{display:none}}@media(max-width:1100px){.demo-tour{grid-template-rows:62px minmax(0,1fr) 36px}.demo-tour-header{padding-top:max(8px,env(safe-area-inset-top))}.demo-tour-content{padding-top:10px;padding-bottom:8px}.demo-overview-hero{min-height:95px}.demo-kpi{padding:12px 14px}.demo-overview-lower{margin-top:10px}.demo-card{padding:12px 15px}.demo-status-ring{width:88px;height:88px;border-width:7px}.demo-process-strip{min-height:52px}.demo-status-chip,.demo-process-reading,.demo-route-name{padding:6px 9px}}@media(orientation:portrait){.demo-tour-content:before{content:"Rotate this iPad to landscape for the full presentation";position:absolute;top:68px;right:0;bottom:40px;left:0;z-index:5;display:grid;place-items:center;padding:30px;background:#f5f7f7;font-size:22px;text-align:center}}@media(prefers-reduced-motion:reduce){.demo-overview-scroll{scroll-behavior:auto}.demo-tour-content{animation:none}.demo-status-chip,.demo-status-chip i,.demo-energy-card,.demo-energy-output,.demo-total-progress i{transition:none}.process-demo-flow{animation:none;stroke-dasharray:none;opacity:.9}}.demo-tour.stand-tour{background:#102b25;color:#f0f4e5}.stand-tour .demo-tour-header{background:#102b25;border-color:#315044;color:#eff4e7}.stand-tour .demo-tour-footer{background:#102b25;border-color:#315044;color:#c4d8bd;font-size:12px}.stand-tour .demo-tour-content{padding:0 36px 20px;background:radial-gradient(ellipse at 80% 45%,#294b35 0,transparent 60%)}.stand-tour .demo-total-progress i{background:#c7ee8b}.stand-scene{height:100%;display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:minmax(0,1fr) auto;gap:20px 35px;align-items:center}.stand-copy{min-width:0}.stand-kicker{color:#c7ee8b;letter-spacing:2.2px;font-size:12px;font-weight:700;margin:0 0 20px}.stand-copy h1{color:#f0f4e5;font-size:clamp(35px,4.5vw,72px);line-height:1.04;letter-spacing:-2px;white-space:pre-line;margin:0 0 24px;font-weight:600}.stand-copy h1 em{color:#c7ee8b;font-style:normal}.stand-copy>p:not(.stand-kicker){color:#becdc1;font-size:clamp(17px,1.7vw,24px);line-height:1.5;max-width:490px}.stand-touch{display:inline-flex;gap:25px;align-items:center;background:#c7ee8b;color:#142d25;border-radius:40px;padding:16px 23px;margin-top:18px;font-size:18px;font-weight:650}.stand-art{position:relative;min-width:0}.stand-reactor{width:100%;filter:drop-shadow(0 22px 25px #0003)}.stand-orbit{position:absolute;background:#183c31e8;border:1px solid #6b8e70;border-radius:15px;padding:14px 20px;display:grid;gap:5px;color:#bfcebd;font-size:13px;box-shadow:0 15px 35px #0003}.stand-orbit b{font-size:26px;color:#f1f7df}.stand-orbit.top{right:0;top:10%}.stand-orbit.bottom{left:0;bottom:2%}.stand-bottom{grid-column:1 / -1;display:flex;gap:30px;border-top:1px solid #45604b;padding:18px 0 0}.stand-bottom>span{flex:1;display:grid;gap:6px;color:#b7c9b8;font-size:14px}.stand-bottom b{color:#eff4e2;font-size:18px}.stand-energy,.stand-choice{display:grid;gap:13px}.stand-source{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;font-size:20px;color:#c7ee8b}.stand-output{display:flex;align-items:center;gap:18px;background:#183b30;padding:22px;border:1px solid #49604b;border-radius:18px;opacity:.5;transition:opacity .4s,background .4s}.stand-output.active{opacity:1;background:#c7ee8b;color:#173329;border-color:#c7ee8b;box-shadow:0 0 50px #c7ee8b15}.stand-output.power.active{background:#dbd0ff;border-color:#dbd0ff}.stand-output.cool.active{background:#b9e0eb;border-color:#b9e0eb}.stand-output-symbol{font-size:54px;width:48px;text-align:center;line-height:1}.stand-output>div{display:grid;gap:8px}.stand-output b{font-size:15px}.stand-output strong{font-size:clamp(18px,2vw,28px)}.stand-output i{margin-left:auto;width:10px;height:10px;border-radius:50%;background:currentColor}.stand-pumps{display:flex;align-items:center;gap:10px;color:#b7c9b8;padding:10px;font-size:15px}.stand-pumps i{width:12px;height:12px;border-radius:50%;background:#607367}.stand-pumps i.on{background:#c7ee8b;box-shadow:0 0 15px #c7ee8b}.stand-metric{display:flex;align-items:center;gap:15px;margin-top:24px}.stand-metric strong{font-size:54px;color:#c7ee8b}.stand-metric span{max-width:120px;color:#bdcebc}.stand-note{border-left:3px solid #b7ce8e;padding-left:12px;color:#b7c9b8;margin-top:24px;font-size:13px}.stand-learning{display:grid;gap:22px}.stand-wash-times{display:flex;gap:10px}.stand-wash-times>div{flex:1;display:grid;gap:8px;padding:15px;border:1px solid #59705a;border-radius:12px}.stand-wash-times small,.stand-wash-times span{font-size:12px;color:#b9cbb8}.stand-wash-times b{font-size:28px}.stand-wash-times .current{border-color:#c7ee8b;background:#315139}.stand-wash-times .current span{color:#c7ee8b}.stand-store{position:relative;min-height:190px;border-radius:30px;overflow:hidden;border:2px solid #7eaa83;background:#1b3b30}.stand-store>div:last-child{position:relative;display:grid;gap:9px;place-content:center;height:190px;text-align:center}.stand-store span{font-size:11px;letter-spacing:3px}.stand-store strong{font-size:38px}.stand-store small{font-size:14px}.stand-water{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#8eae494f,#c7ee8b20);transform:translateY(12%);transition:transform 1.5s}.stand-water.filling{transform:translateY(50%)}.stand-pattern{width:100%;max-height:135px}.stand-price{padding:25px;border:1px solid #5d7355;border-radius:22px;background:#213e2e}.stand-price>span{color:#c3d2ba;font-size:17px}.stand-price strong{display:flex;align-items:baseline;gap:20px;font-size:78px;color:#f0f4e5}.stand-price small{font-size:19px;color:#baceba}.stand-demand-status{padding:18px 23px;border-radius:12px;background:#2b5038;color:#c7ee8b;font-size:20px}.stand-demand-status.needed{color:#ffd49c;background:#544330}.stand-choice-arrow{text-align:center;font-size:35px;color:#baceba}.stand-circulation{animation:stand-flow 3s linear infinite}.stand-bubble{animation:stand-bubble 3s ease-in-out infinite}@keyframes stand-flow{to{stroke-dashoffset:-104}}@keyframes stand-bubble{50%{transform:translateY(-15px);opacity:.4}}.demo-settings{max-width:960px;margin:0 auto}.demo-settings>p{max-width:760px;line-height:1.6}.demo-settings h2{margin-top:32px}.lang-options{display:flex;gap:12px;margin:16px 0 8px}.lang-options label{display:flex;align-items:center;gap:10px;padding:12px 18px;border:2px solid #d5dfe0;border-radius:12px;cursor:pointer;background:#fff;font-size:16px}.lang-options label.selected{border-color:#267457;box-shadow:0 0 0 3px #26745715}.lang-options input{width:20px;height:20px}.demo-variant-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.demo-variant-options label{position:relative;padding:18px;border:2px solid #d5dfe0;border-radius:14px;cursor:pointer;background:#fff}.demo-variant-options label.selected{border-color:#267457;box-shadow:0 0 0 3px #26745715}.demo-variant-options input{position:absolute;top:24px;right:24px;width:22px;height:22px}.demo-variant-preview{height:175px;display:flex;align-items:center;justify-content:space-around;border-radius:9px;margin-bottom:18px}.demo-variant-preview.stand{background:#102b25;color:#c7ee8b;font-size:29px}.demo-variant-preview.stand span{font-size:75px}.demo-variant-preview.classic{background:#edf3f5;color:#436e7a;flex-direction:column}.demo-variant-preview.classic span{font-size:50px}.demo-variant-options strong{font-size:21px}.demo-variant-options p{line-height:1.5;color:#60757d}.demo-settings>button{min-height:48px;padding:12px 24px}@media(max-height:760px){.stand-copy h1{font-size:40px}.stand-output{padding:13px 18px}.stand-store,.stand-store>div:last-child{min-height:140px;height:140px}.stand-pattern{max-height:85px}.stand-bottom{padding-top:12px}.stand-price strong{font-size:60px}}@media(max-width:700px){.demo-variant-options{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.stand-tour *,.stand-tour *:before,.stand-tour *:after{animation:none!important;transition:none!important}}.hybrid-scene{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding-top:20px}.hybrid-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.hybrid-heading p,.hybrid-label{font-size:11px;color:#c7ee8b;letter-spacing:1.4px;margin:0 0 10px}.hybrid-heading h1{font-size:clamp(28px,3vw,43px);letter-spacing:-1px;margin:0 0 8px;color:#eff4e6}.hybrid-heading span{color:#bccfbe;font-size:16px}.hybrid-sample{display:flex;align-items:center;gap:9px;white-space:nowrap;padding:10px 14px;border:1px solid #4b6953;border-radius:30px;font-size:12px;color:#c7ee8b}.hybrid-sample i{width:8px;height:8px;background:#c7ee8b;border-radius:50%}.hybrid-overview{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}.hybrid-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hybrid-kpis article{display:grid;gap:10px;padding:19px;background:#1e4033;border:1px solid #4b6650;border-top:3px solid #c7ee8b;border-radius:13px}.hybrid-kpis article:nth-child(2){border-top-color:#c6b4e8}.hybrid-kpis article:nth-child(3){border-top-color:#e5bd7b}.hybrid-kpis article:nth-child(4){border-top-color:#8fc5d7}.hybrid-kpis span{color:#c4d4c4;font-size:13px}.hybrid-kpis strong{color:#f0f5e5;font-size:29px;white-space:nowrap}.hybrid-kpis small{color:#9db49f;font-size:10px}.hybrid-overview-panels,.hybrid-process-layout,.hybrid-planning{min-height:0;display:grid;grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr);gap:16px}.hybrid-panel{min-height:0;min-width:0;background:#1b3b30;border:1px solid #45614b;border-radius:14px;padding:20px}.hybrid-panel h2{font-size:19px;color:#eff3e3;margin:0 0 18px}.hybrid-panel p,.hybrid-panel li{font-size:15px;color:#bccfbe;line-height:1.55}.hybrid-panel ol{padding-left:20px}.hybrid-panel li{margin:12px 0}.hybrid-panel-title{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:650;margin-bottom:12px}.hybrid-panel-title span{color:#acc7b2;font-size:13px}.hybrid-mini-process{display:flex;flex-direction:column;padding:12px;background:#fcfdfd;color:#264a3a}.hybrid-mini-process .hybrid-panel-title{padding:0 7px}.hybrid-mini-process .process-svg{height:100%;min-height:0;flex:1}.hybrid-side{display:flex;flex-direction:column;gap:14px;min-height:0}.hybrid-status{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #3a5742;font-size:13px}.hybrid-status span{color:#bfd0be}.hybrid-status b{color:#c7ee8b;font-weight:550}.hybrid-status:last-child{border:0}.hybrid-event{display:grid;gap:2px;margin:10px 0;font-size:13px!important}.hybrid-event b{color:#87a68c;font-size:10px}.hybrid-process{padding:0;background:#fcfdfd;overflow:hidden}.hybrid-process .process-svg{height:100%;width:100%}.hybrid-big-value{color:#c7ee8b;font-size:clamp(26px,3.1vw,42px);margin:16px 0;letter-spacing:-.8px}.hybrid-big-value small{font-size:16px}.hybrid-callout{color:#abc4ae;border-left:3px solid #c7ee8b;padding:6px 14px;font-size:13px;line-height:1.5}.hybrid-chart{display:flex;flex-direction:column;justify-content:space-between}.hybrid-chart svg{width:100%;min-height:0;flex:1}.hybrid-chart-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#bfcfbb;padding:10px 0 20px}.hybrid-chart-legend span:first-child{color:#c7ee8b}.hybrid-chart-legend span:last-child{color:#efbc7b}.hybrid-demand-steps{display:flex;gap:16px;border-top:1px solid #44614a;padding-top:18px}.hybrid-demand-steps span{flex:1;display:grid;gap:8px;color:#b0c7b2;font-size:12px}.hybrid-demand-steps b{color:#e8f1df;font-size:15px}.hybrid-dispatch{display:flex;flex-direction:column;justify-content:center}.hybrid-decision-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hybrid-decision-inputs>div{border:1px solid #5c7458;border-radius:12px;padding:18px;background:#294634}.hybrid-decision-inputs span{color:#c4d4bf;font-size:13px}.hybrid-decision-inputs strong{display:block;font-size:30px;margin:14px 0}.hybrid-decision-inputs small{font-size:14px}.hybrid-decision-inputs p{font-size:12px;margin:0}.hybrid-arrow{text-align:center;font-size:32px;padding:10px;color:#b8d09c}.hybrid-decision-result{background:#c7ee8b;color:#163023;border-radius:16px;padding:25px}.hybrid-decision-result.chp{background:#dbd0ff}.hybrid-decision-result span{font-size:11px;letter-spacing:2px}.hybrid-decision-result strong{display:block;font-size:28px;margin:12px 0}.hybrid-decision-result p{color:#294532;margin:0}.hybrid-footer-note{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;color:#a5bfa6}.hybrid-footer-note b{font-size:14px;color:#d7efbc;white-space:nowrap}.demo-variant-preview.hybrid{background:#1b3b30;color:#c7ee8b;flex-direction:column}.demo-variant-preview.hybrid span{font-size:50px}.hybrid-overview-panels .hybrid-side{gap:10px}.hybrid-live-trends{display:flex;flex-direction:column;gap:10px}.hybrid-live-trends .hybrid-panel-title{margin-bottom:0}.hybrid-trend{display:flex;flex-direction:column;flex:1;min-height:0}.hybrid-trend>div{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.hybrid-trend strong{font-size:17px;font-weight:550}.hybrid-trend svg{width:100%;min-height:0;flex:1}.hybrid-overview-panels .hybrid-side .hybrid-panel{padding:12px 16px}.hybrid-overview-panels .hybrid-side h2{font-size:16px;margin-bottom:8px}.hybrid-overview-panels .hybrid-status{padding:7px 0;font-size:12px}.hybrid-overview-panels .hybrid-event{margin:6px 0;font-size:11px!important;line-height:1.3}@media(max-height:780px){.hybrid-heading h1{font-size:28px}.hybrid-scene{gap:12px;padding-top:12px}.hybrid-panel{padding:13px}.hybrid-panel p,.hybrid-panel li{font-size:13px}.hybrid-kpis article{padding:12px;gap:6px}.hybrid-status{padding:8px 0}.hybrid-big-value{margin:10px 0}.hybrid-panel h2{margin-bottom:10px}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f6f7f8;--panel: #ffffff;--panel-alt: #fafbfc;--line: #e3e6ea;--line-soft: #eef0f3;--fg: #1b1f24;--fg-muted: #5c6773;--fg-faint: #8a939f;--warn: #b45309;--warn-bg: #fef6ec;--alarm: #b42318;--alarm-bg: #fef3f2;--ok: #067647;--ok-bg: #f0fdf4;--accent: #1f6feb;--accent-bg: #eff6ff;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-lg: 1rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-stat: 2rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--radius: 8px;--header-h: 64px;font-family:Inter Variable,system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:light}*,*:before,*:after{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--fg);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}.num,.tile-value,.grid td,.u-legend{font-variant-numeric:tabular-nums}code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.92em}.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.small{font-size:var(--fs-sm)}header{display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-5);height:var(--header-h);background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:9px;font-weight:650;font-size:var(--fs-lg);letter-spacing:-.01em;white-space:nowrap}.brand img{width:30px;height:30px;border-radius:7px;flex:none}.brand span{color:var(--fg);font-weight:650}header nav{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}header nav::-webkit-scrollbar{display:none}header nav a{color:var(--fg-muted);text-decoration:none;padding:9px 14px;border-radius:7px;font-size:var(--fs-base);font-weight:500;white-space:nowrap}header nav a.secondary{color:var(--fg-faint);font-weight:450}header nav a:hover{background:var(--panel-alt);color:var(--fg)}header nav a.on{background:var(--accent-bg);color:var(--accent);font-weight:600}header nav a.nav-gas.on{background:#f8f0dc;color:#8a5d12}header nav a.nav-biomass.on{background:#e9f4ed;color:#26704e}header nav a.nav-water.on{background:#e8f3f8;color:#246d8d}header nav a.nav-energy.on{background:#f1edf8;color:#684e91}.nav-rule{width:1px;align-self:stretch;margin:12px var(--sp-2);background:var(--line);flex:none}.header-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--fg-muted);white-space:nowrap}.updated{font-variant-numeric:tabular-nums;white-space:nowrap}.menu-btn{display:none}button,.btn{font:inherit;font-size:var(--fs-base);font-weight:500;background:var(--panel);color:var(--fg);border:1px solid var(--line);padding:8px 14px;min-height:36px;border-radius:7px;cursor:pointer}button:hover{border-color:var(--fg-faint)}button.on,button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--alarm);border-color:var(--line)}button.link{border:0;background:none;color:var(--fg-muted);padding:0;min-height:0;font-weight:400;text-decoration:underline}button:disabled{opacity:.5;cursor:default}.segmented{display:inline-flex}.segmented button{border-radius:0;margin-left:-1px}.segmented button:first-child{border-radius:7px 0 0 7px;margin-left:0}.segmented button:last-child{border-radius:0 7px 7px 0}.segmented button.on{position:relative;z-index:1}select,input[type=search],input[type=text],input[type=email],input[type=password]{font:inherit;font-size:var(--fs-base);background:var(--panel);color:var(--fg);border:1px solid var(--line);padding:8px 11px;min-height:36px;border-radius:7px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}main{padding:var(--sp-5);max-width:1600px;margin:0 auto}.page-head{margin-bottom:var(--sp-4)}.page-head h1{font-size:var(--fs-2xl);font-weight:650;letter-spacing:-.02em;margin:0}.page-head p{margin:var(--sp-1) 0 0;font-size:var(--fs-base)}.toolbar{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap}.overview-edit-footer{display:flex;justify-content:flex-end;margin-top:var(--sp-3)}.toolbar .spacer{margin-left:auto}.add-card{display:inline-flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4) var(--sp-4);margin-bottom:var(--sp-4)}.panel h2{font-size:var(--fs-lg);font-weight:600;margin:0 0 var(--sp-2)}.panel-body{display:flex;flex-direction:column;height:240px}.panel-body.tall{height:300px}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4)}.tile-label{font-size:var(--fs-sm);color:var(--fg-muted);margin-bottom:var(--sp-1)}.tile-value{font-size:var(--fs-xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tile.state-warn{border-color:#f0c088;background:var(--warn-bg)}.tile.state-alarm{border-color:#f0a6a0;background:var(--alarm-bg)}.domain-page{--domain-accent: #607b85;--domain-tint: #f2f6f7}.domain-gas{--domain-accent: #a47625;--domain-tint: #faf4e7}.domain-biomass{--domain-accent: #347a57;--domain-tint: #edf6f1}.domain-water{--domain-accent: #347f9f;--domain-tint: #edf6fa}.domain-energy{--domain-accent: #71589a;--domain-tint: #f4f0f9}.domain-page .page-head{padding:16px 20px;border-left:5px solid var(--domain-accent);border-radius:var(--radius);background:var(--domain-tint)}.domain-page .tile{border-top:3px solid var(--domain-accent)}.domain-page .tile.state-warn{border-top-color:#c2701d}.domain-page .tile.state-alarm{border-top-color:#bd3e35}.domain-page .panel{border-top:3px solid var(--domain-accent)}.domain-page .asset-group>h2{color:var(--domain-accent)}.card{--card-accent: #69828a;--card-tint: #f6f8f9;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--card-accent);border-radius:var(--radius);height:100%;display:flex;flex-direction:column;overflow:hidden}.card-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line-soft);font-size:var(--fs-sm);color:var(--fg-muted);min-height:34px;background:var(--card-tint)}.card.type-stat{--card-accent: #2d8065;--card-tint: #f0f7f4}.card.type-timeline{--card-accent: #337d9a;--card-tint: #eff6f8}.card.type-bars{--card-accent: #bd702e;--card-tint: #fbf4ed}.card.type-delta{--card-accent: #725b9d;--card-tint: #f5f2f9}.card.type-alarms{--card-accent: #536e78;--card-tint: #f2f5f6}.card-title{font-weight:550;color:var(--fg)}.card-sub{margin-left:auto;font-size:var(--fs-xs);color:var(--fg-faint)}.card-body{flex:1;padding:var(--sp-3);min-height:0;display:flex;flex-direction:column;justify-content:center}.card.state-warn{--card-accent: #c2701d;--card-tint: var(--warn-bg);border-color:#f0c088;border-top-color:var(--card-accent);background:var(--warn-bg)}.card.state-alarm{--card-accent: #bd3e35;--card-tint: var(--alarm-bg);border-color:#f0a6a0;border-top-color:var(--card-accent);background:var(--alarm-bg)}.card.state-warn .card-head,.card.state-alarm .card-head{border-bottom-color:#0000000f}.stat-value{font-size:var(--fs-stat);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.stat-unit{font-size:var(--fs-base);font-weight:400;color:var(--fg-muted);margin-left:6px}.stat-spark{margin-top:var(--sp-2);height:40px}.stat-foot{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--fg-faint)}.stat-foot.stale{color:var(--warn)}.chart{width:100%;flex:1;min-height:0}.empty{color:var(--fg-faint);text-align:center;padding:var(--sp-5) var(--sp-3);font-size:var(--fs-sm)}.empty.big{padding:64px var(--sp-4);line-height:1.8}.error-box{border:1px solid #f0a6a0;background:var(--alarm-bg);color:var(--alarm);border-radius:var(--radius);padding:var(--sp-3);font-size:var(--fs-sm)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);-webkit-overflow-scrolling:touch}table.grid{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.grid th,.grid td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--line-soft);white-space:nowrap}.grid th{color:var(--fg-muted);font-weight:550;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;background:var(--panel-alt)}.grid tr:last-child td{border-bottom:0}.grid td.wrap{white-space:normal;min-width:220px}.pill{padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:550;white-space:nowrap}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.off{background:#f1f3f5;color:var(--fg-muted)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.alarm{background:var(--alarm-bg);color:var(--alarm)}.edit-bar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--accent-bg);border:1px solid #bcd8fb;border-radius:var(--radius);margin-bottom:var(--sp-4);font-size:var(--fs-sm);flex-wrap:wrap}.editing .card{border-style:dashed}.drag-handle{cursor:grab;color:var(--fg-faint);padding:0 2px;-webkit-user-select:none;user-select:none;touch-action:none}.drag-handle:active{cursor:grabbing}.card-remove{margin-left:auto;color:var(--fg-faint);border:0;background:none;padding:0 6px;min-height:0;font-size:var(--fs-base);cursor:pointer}.card-remove:hover{color:var(--alarm)}.card-title-edit{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:550;min-height:28px;padding:3px 6px;border-color:transparent;background:transparent}.card-title-edit:hover{border-color:var(--line);background:var(--panel)}.card-title-edit:focus{border-color:var(--accent);background:var(--panel)}.card-title-edit::placeholder{color:var(--fg-muted);font-weight:550}.react-grid-item.react-grid-placeholder{background:var(--accent);opacity:.12;border-radius:var(--radius)}.react-resizable-handle{z-index:3}.asset-group{margin-bottom:var(--sp-5)}.asset-group h2{font-size:var(--fs-lg);font-weight:600;margin:0 0 var(--sp-2)}.metric-rows{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.metric-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--sp-3);align-items:center;width:100%;text-align:left;font:inherit;font-size:var(--fs-base);background:none;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;padding:var(--sp-3);cursor:pointer}.metric-row:last-child{border-bottom:0}.metric-row:hover{background:var(--panel-alt);border-color:var(--line-soft)}.metric-main{display:flex;flex-direction:column;gap:2px;min-width:0}.metric-row .label{font-weight:550;color:var(--fg)}.metric-row .desc{color:var(--fg-muted);font-size:var(--fs-sm);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.metric-row .tag{font-size:var(--fs-xs);color:var(--fg-faint)}.metric-row .value{font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-lg);white-space:nowrap}.metric-row .chev{font-size:var(--fs-sm)}.metric-expand{display:flex;flex-direction:column;gap:var(--sp-2);height:280px;padding:var(--sp-3);border-bottom:1px solid var(--line-soft);background:var(--panel-alt)}.metric-expand .note{flex:none;font-size:var(--fs-sm);color:var(--warn);background:var(--warn-bg);border:1px solid #f0c088;border-radius:6px;padding:6px 10px}.login{display:grid;place-items:center;min-height:100vh;padding:var(--sp-4)}.login form{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:var(--sp-6);width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--sp-3)}.login h1{font-size:var(--fs-xl);margin:0 0 var(--sp-2);font-weight:650}.login label{display:flex;flex-direction:column;gap:6px;color:var(--fg-muted);font-size:var(--fs-sm)}.login input{font-size:var(--fs-base);padding:9px 11px}.login button[type=submit]{padding:10px;font-weight:600;font-size:var(--fs-base)}.boot{display:grid;place-items:center;min-height:100vh;color:var(--fg-faint)}@media(max-width:1200px){.header-right .updated{display:none}}@media(max-width:1023px){header{padding:0 var(--sp-4);gap:var(--sp-3)}main{padding:var(--sp-4)}.nav-rule{margin:12px var(--sp-1)}header nav a{padding:9px 11px;font-size:var(--fs-sm)}}@media(max-width:699px){main{padding:var(--sp-3)}header{gap:var(--sp-2);padding:0 var(--sp-3)}.menu-btn{display:inline-flex}header nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;overflow:visible;background:var(--panel);border-bottom:1px solid var(--line);padding:var(--sp-2);gap:2px;max-height:calc(100vh - var(--header-h));overflow-y:auto}header nav.open{display:flex}header nav a{padding:12px;font-size:var(--fs-base)}.nav-rule{width:auto;height:1px;align-self:stretch;margin:var(--sp-1) 0}.header-right .who{display:none}.page-head h1{font-size:var(--fs-xl)}.stat-value{font-size:1.6rem}.stat-strip{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-2)}.panel{padding:var(--sp-3)}.panel-body,.panel-body.tall{height:220px}.metric-row{grid-template-columns:1fr auto;padding:var(--sp-3) var(--sp-2)}.metric-row .tag,.metric-row .chev{display:none}.metric-expand{height:240px;padding:var(--sp-2)}}.warn-text{color:var(--warn);font-weight:550}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--sp-2)}.status-grid.wide{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.status-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}.status-id{font-size:var(--fs-xs);color:var(--fg-muted);font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-label{font-size:var(--fs-base);font-weight:550;margin-top:2px}.tone-neutral{color:var(--fg)}.tone-good{color:var(--ok)}.tone-warn{color:var(--warn)}.tone-alarm{color:var(--alarm);font-weight:650}.status-tile.tone-alarm{border-color:#f0a6a0;background:var(--alarm-bg)}.status-tile.tone-good{border-color:#bfe3cd}.value.bool{font-weight:600;white-space:nowrap}.tile-value.bool{font-variant-numeric:normal}.admin-nav{display:flex;gap:var(--sp-2);flex-wrap:wrap;background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2);margin-bottom:var(--sp-4)}.admin-nav a{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius);color:var(--fg-muted);text-decoration:none;font-size:var(--fs-sm)}.admin-nav a:hover{color:var(--fg);background:var(--panel)}.admin-nav a.active{color:var(--fg);background:var(--panel);font-weight:600}.admin-page{display:flex;flex-direction:column;gap:var(--sp-4)}.note-box{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel-alt);border-radius:var(--radius);padding:var(--sp-3);font-size:var(--fs-sm);color:var(--fg)}tr.row-off td{color:var(--fg-faint)}tr.row-hint td{background:var(--warn-bg);color:var(--fg-muted);border-top:none}tr.row-detail td{background:var(--panel-alt)}.admin-detail{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-3) 0}.admin-detail h3{margin:0 0 var(--sp-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted)}.field-group{border-left:2px solid var(--line);padding-left:var(--sp-3)}.form-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:var(--sp-3)}.field{display:flex;flex-direction:column;gap:4px}.field>span{font-size:var(--fs-xs);color:var(--fg-muted)}.field-inline{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);margin-bottom:var(--sp-2)}.form-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-2)}.form-row input,.form-row select,.field input,.field select{padding:6px var(--sp-2);font:inherit;font-size:var(--fs-sm);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--fg);min-width:0}.form-row input:focus,.field input:focus,.form-row select:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px}button.danger,.link.danger{color:var(--alarm);border-color:var(--alarm)}button.danger:hover:not(:disabled){background:var(--alarm-bg)}.grant-list{list-style:none;margin:0 0 var(--sp-2);padding:0}.grant-list li{display:flex;align-items:center;gap:var(--sp-2);padding:4px 0;font-size:var(--fs-sm)}nav a.admin-link{border-left:1px solid var(--line);margin-left:var(--sp-2)}.cmd{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-xs);background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:2px var(--sp-2);white-space:nowrap;color:var(--fg);-webkit-user-select:all;user-select:all}td .cmd{max-width:100%;overflow-x:auto}.kv{display:grid;grid-template-columns:auto 1fr;gap:2px var(--sp-3);margin:0}.kv dt{color:var(--fg-muted)}.kv dd{margin:0}.sys-row{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:var(--sp-3)}.sys-tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-alt);padding:var(--sp-3)}.sys-tile.state-warn{border-color:#f0c088;background:var(--warn-bg)}.sys-label{font-size:var(--fs-xs);color:var(--fg-muted)}.sys-value{font-size:var(--fs-lg);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.3}.sys-note{margin-top:2px}.row-actions{display:flex;gap:var(--sp-3);align-items:center;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{background:var(--panel-alt);border:1px solid var(--line);border-radius:var(--radius);padding:1px 6px;font-size:var(--fs-xs);color:var(--fg-muted)}.confirm-input{padding:4px var(--sp-2);font:inherit;font-size:var(--fs-xs);border:1px solid var(--alarm);border-radius:var(--radius);background:var(--panel);color:var(--fg);width:12ch}
