:root{color-scheme:light dark;--bg:#f1f5f4;--canvas:#f6faf9;--surface:#ffffff;--ink:#173d45;--muted:#526e72;--border:#cadbd9;--header:#073b45;--header-ink:#edf8f6;--header-muted:#c0d6d8;--accent:#087e76;--accent-ink:#ffffff;--soft:#e7f2ee;--water:#3facb5;--water-unknown:#a8babc;--pipe:#1c8386;--grid:#d7e3e480;--focus:#b18124;--port:#298faf;--status-running:#10816b;--status-fault:#ba4634;--status-warning:#b27620;--status-stopped:#75898b;--status-unknown:#8a969a;--success-bg:#e9f5ed;--success-ink:#275d41;--success-border:#a5cbb9;--warning-bg:#fff9ec;--warning-ink:#705b2c;--warning-border:#cfac7e;--error-bg:#fff0ee;--error-ink:#96291f;--error-border:#e6b4ae;--danger:#a52525;--danger-ink:#ffffff;--shadow-soft:#17414b0c;--dialog-shadow:#052f3860;--backdrop:#0b303b80;--header-soft:#ffffff10;--header-border:#ffffff25}@media(prefers-color-scheme:dark){:root{--bg:#10262b;--canvas:#142c31;--surface:#1c373d;--ink:#e3f1ef;--muted:#a5c0c1;--border:#3c575b;--header:#092129;--header-ink:#edf8f6;--header-muted:#b9d6d4;--accent:#66cfc0;--accent-ink:#102b2c;--soft:#254a4b;--water:#56bac3;--water-unknown:#78969a;--pipe:#69c6c8;--grid:#43636766;--focus:#e6bf65;--port:#7bcff0;--status-running:#66d5b1;--status-fault:#ff9a86;--status-warning:#e6bf65;--status-stopped:#a2b5b6;--status-unknown:#9ab1b6;--success-bg:#163d34;--success-ink:#b5eed5;--success-border:#4d8e77;--warning-bg:#3a3323;--warning-ink:#f1d59a;--warning-border:#9c8052;--error-bg:#462d2b;--error-ink:#ffc3b8;--error-border:#a86e67;--danger:#a7423b;--danger-ink:#fff5f2;--shadow-soft:#00000018;--dialog-shadow:#00000070;--backdrop:#021519b3;--header-soft:#ffffff10;--header-border:#ffffff25}}:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;line-height:1.5}.synoptic-frame{min-width:0;margin:20px 0;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.synoptic-toolbar,.editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px}.synoptic-toolbar{background:var(--soft);border-bottom:1px solid var(--border)}.synoptic-toolbar button{background:var(--surface);color:var(--ink);min-width:44px}.synoptic-toolbar small{font-size:12px;flex-basis:100%}.synoptic-scroll{width:100%;max-height:75vh;overflow:auto;touch-action:none;overscroll-behavior:contain;background:var(--canvas)}.synoptic-canvas{position:absolute;background:var(--canvas)}.synoptic-element,.editor-element{position:absolute}.synoptic-element.kind-pipe{pointer-events:none}.synoptic-element.kind-pipe{z-index:0}.synoptic-element:not(.kind-pipe){z-index:1}.synoptic-equipment{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:5px;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--border);box-shadow:0 3px 8px var(--shadow-soft);border-radius:12px;padding:12px;overflow:auto;font-weight:400}.synoptic-equipment:disabled{opacity:1;color:var(--ink)}.synoptic-equipment strong{font-size:18px;line-height:1.25}.synoptic-equipment small{display:block;font-size:12px;font-weight:400}.synoptic-object-title{display:flex;align-items:center;gap:10px}.equipment-symbol{width:62px;height:60px;flex-shrink:0}.synoptic-reading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 8px;font-size:13px;border-top:1px solid var(--border);padding-top:4px}.synoptic-reading small{flex-basis:100%}.synoptic-reading b{overflow-wrap:anywhere}.unreliable{color:var(--warning-ink)}.synoptic-text{height:100%;padding:10px;font-weight:700;font-size:22px;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}.synoptic-navigation{width:100%;height:100%;background:var(--soft);color:var(--ink);border:1px solid var(--border)}.signal-lamp{display:inline-block;width:24px;height:24px;border-radius:50%;border:2px solid var(--ink);background:var(--status-unknown)}.signal-on{background:var(--status-running)}.calendar-mini{display:flex;flex-wrap:wrap;gap:4px;max-height:85px;overflow:auto}.calendar-mini>span{font-size:11px;padding:2px 5px;border-radius:4px}.cell-on{background:var(--success-bg);color:var(--success-ink);border:1px solid var(--success-border)}.cell-off{background:var(--soft);color:var(--muted);border:1px solid var(--border)}.cell-unknown{background:var(--warning-bg);color:var(--warning-ink);border:1px solid var(--warning-border)}.cell-pending{background:var(--warning-bg);color:var(--warning-ink);border:2px solid var(--warning-border)}.calendar-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:8px;margin:10px 0 20px}.calendar-row button span,.calendar-row button small{display:block;font-size:13px;font-weight:400}.equipment-dialog{max-width:760px;width:calc(100vw - 24px);max-height:90dvh;overflow:auto;color:var(--ink);border:1px solid var(--border);padding:16px;border-radius:14px;box-shadow:0 24px 80px var(--dialog-shadow)}.equipment-dialog::backdrop{background:var(--backdrop)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-16px;background:var(--canvas);padding:12px 0;z-index:2}.dialog-heading h2{font-size:21px}.equipment-dialog .equipment{padding:14px}.page-editor{border-top:2px solid var(--border);margin-top:24px}.management-main:has(.page-editor){max-width:none}.editor-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 220px;gap:12px;align-items:start}.editor-palette,.editor-inspector{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);min-width:0}.editor-palette>button{width:100%;margin-bottom:8px;background:var(--soft);color:var(--ink)}.editor-palette label,.editor-inspector label{font-size:13px}.editor-palette input,.editor-palette select,.editor-inspector input,.editor-inspector select{padding:8px;font-size:13px}.editor-center{min-width:0}.editor-scroll{width:100%;max-height:720px;overflow:auto;border:1px solid var(--border);background:var(--soft)}.editor-canvas{position:relative;background-color:var(--canvas);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px)}.editor-element{touch-action:none;cursor:grab;outline:1px dashed var(--border);-webkit-user-select:none;user-select:none}.editor-element>*{pointer-events:none}.anchored-pipes{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}.synoptic-canvas>.anchored-pipes{width:100%;height:100%}.anchored-pipes .pipe-hit{pointer-events:stroke;cursor:pointer}.bare-object{position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:left;font-weight:400;overflow:hidden}.bare-object:disabled{opacity:1;color:var(--ink)}.bare-object:hover{background:var(--border)}.bare-glyph,.bare-caption{position:absolute;display:block}.bare-caption{bottom:4px;overflow:auto}.bare-glyph .equipment-symbol{display:block;width:100%;height:100%}.bare-caption strong{display:block;font-size:17px;line-height:1.3;overflow-wrap:anywhere;margin-bottom:5px}.bare-caption>b{display:block;font-size:15px}.bare-caption small{display:block;font-size:12px}.bare-desktop .bare-caption{text-align:center}.bare-caption .synoptic-reading{font-size:12px;border:0;padding:0}.bare-caption .synoptic-reading small{display:none}.bare-caption .equipment-state{margin-top:3px}.data-panel{justify-content:flex-start;padding:16px;border-left:4px solid var(--accent)}.data-panel .synoptic-reading{padding:8px 0}.editor-element>.port-handle{position:absolute;pointer-events:auto;width:18px;min-width:18px;height:18px;min-height:18px;border-radius:50%;border:2px solid var(--surface);background:var(--port);padding:0;z-index:3;box-shadow:0 0 0 1px var(--accent);cursor:crosshair}.editor-element>.port-pending{background:var(--focus);box-shadow:0 0 0 4px var(--warning-bg)}.synoptic-lamp{width:22px;height:22px;border-radius:50%;background:var(--status-unknown);border:2px solid var(--ink)}.synoptic-lamp.lamp-on{background:var(--status-running)}.editor-element.element-selected{outline:3px solid var(--focus);outline-offset:2px;z-index:1}.editor-actions label{margin:0;min-width:100px;max-width:240px;font-size:13px}.editor-actions select,.editor-actions input{margin-top:3px}.editor-actions button,.editor-inspector button{color:var(--ink);background:var(--soft)}.editor-actions button.primary{color:var(--surface);background:var(--accent)}.template-upload input{font-size:12px;max-width:100%;padding:4px}.page-restore,.preview-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;margin:16px 0}.page-restore label{max-width:360px}.preview-panel{max-width:100%}@media(max-width:1100px){.editor-layout{grid-template-columns:190px minmax(0,1fr)}.editor-inspector{grid-column:1/-1}}@media(max-width:650px){.editor-layout{grid-template-columns:minmax(0,1fr)}.editor-palette{max-height:380px;overflow:auto}.editor-scroll{max-height:500px}.tabs{flex-wrap:wrap}.tabs button{flex:1 1 40%}.dialog-heading{flex-wrap:wrap}.equipment-dialog .command-edit{min-width:0}}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:46px;border:0;border-radius:8px;padding:10px 16px;font-weight:650}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{color:var(--accent)}.app-header{background:var(--header);color:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:4px solid var(--accent)}.management-header{background:var(--header);border-color:var(--accent)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;letter-spacing:2px;font-weight:750;font-size:14px}.brand small{display:block;font-weight:400;letter-spacing:.3px;color:var(--header-muted);font-size:12px}.brand-icon{display:grid;place-items:center;font-size:42px;line-height:1;width:48px;height:48px;background:var(--header-soft);border:1px solid var(--header-border);border-radius:12px}.header-actions{display:flex;align-items:center;gap:16px}.header-link{color:var(--header-muted);font-size:13px;min-height:44px;display:flex;align-items:center}.ghost{color:var(--surface);background:var(--header-soft);border:1px solid var(--header-border)}.primary{background:var(--accent);color:var(--surface)}form>.primary{width:100%}.secondary{color:var(--ink);background:var(--soft);border:1px solid var(--border)}main{width:100%;max-width:none;margin:0;padding:24px 20px 40px}h1{font-size:clamp(28px,4vw,40px);line-height:1.18;letter-spacing:-1px;margin:10px 0 14px}h2{font-size:19px;line-height:1.3;margin:0}h3{font-size:17px;margin:0 0 4px}.muted{color:var(--muted);margin:8px 0 20px}.eyebrow{display:block;font-size:11px;letter-spacing:1.5px;font-weight:800;color:var(--accent);margin:16px 0 4px;text-transform:uppercase}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin-bottom:26px}.pill{display:inline-block;border:1px solid var(--border);border-radius:5px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:800;padding:5px 8px;letter-spacing:.8px;white-space:nowrap}.demo{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-ink)}.offline{background:var(--soft);color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 16px}.count{display:inline-grid;place-items:center;font-size:12px;min-width:25px;min-height:25px;border-radius:20px;background:var(--soft);margin-left:6px}.text-button{background:transparent;color:var(--accent);padding:8px 0;text-align:left}.back{margin-bottom:8px}.plant-title{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.plant-title .pill{margin-top:24px}.plant-grid,.equipment-grid,.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.plant-card{background:var(--surface);border:1px solid var(--border);padding:22px;text-align:left;color:inherit;box-shadow:0 3px 14px var(--shadow-soft)}.plant-card:hover{border-color:var(--accent)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.water-mark{font-size:38px;color:var(--accent);line-height:1}.plant-card h2{font-size:23px}.plant-card p{color:var(--muted);font-weight:400;margin:9px 0 26px}.card-bottom{border-top:1px solid var(--border);padding-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px}.card-bottom strong{font-size:24px;color:var(--accent)}.dot{display:inline-block;width:7px;height:7px;background:var(--status-unknown);border-radius:50%;margin-right:7px}.notice{font-size:13px;padding:16px 18px;border:1px solid var(--warning-border);border-left:4px solid var(--warning-border);background:var(--warning-bg);color:var(--warning-ink);border-radius:8px;margin:22px 0}.tabs{display:flex;border-bottom:1px solid var(--border);gap:6px;margin:24px 0}.tabs button{flex:1;background:transparent;color:var(--muted);border-radius:0;padding:12px 6px;border-bottom:3px solid transparent}.tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.equipment,.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;min-width:0;margin-bottom:16px}.summary-card .eyebrow{margin-top:0}.summary-reading{padding:16px 0 10px;border-bottom:1px solid var(--soft)}.summary-reading>span{display:block;font-size:12px;color:var(--muted)}.summary-reading strong{display:block;margin:6px 0;font-size:27px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.summary-reading small{display:block;font-size:10px;color:var(--warning-ink)}.summary-card h3{font-size:18px}.summary-card>.text-button{margin-top:16px;font-size:12px}.equipment-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.equipment-heading .eyebrow{margin:0 0 4px;font-size:10px}.object-icon{display:grid;place-items:center;width:46px;height:46px;background:var(--soft);color:var(--accent);border-radius:10px;font-size:28px;flex-shrink:0}.reading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;border-top:1px solid var(--soft);padding:15px 0}.reading span{font-size:13px;min-width:0}.reading small{display:block;font-size:10px;color:var(--warning-ink);margin-top:6px}.reading strong{font-size:20px;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;max-width:60%}.command-placeholder{margin-top:12px}.command-placeholder button{width:100%;background:var(--soft);color:var(--muted)}.command-placeholder small{display:block;text-align:center;color:var(--muted);font-size:11px;margin:6px 0}dl{margin:12px 0 20px}dl>div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--soft);padding:10px 0;font-size:13px}dt{color:var(--muted)}dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:65%}.login-panel{max-width:450px;margin:35px auto}.login-panel form{margin-top:26px}label{display:block;font-size:13px;font-weight:650;margin-bottom:18px;min-width:0}input,select,textarea{display:block;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:6px;padding:11px 12px;width:100%;min-height:46px;margin-top:7px;font-size:16px;min-width:0}textarea{resize:vertical;min-height:90px}.error{background:var(--error-bg);color:var(--error-ink);border:1px solid var(--error-border);padding:14px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:22px;white-space:pre-line;overflow-wrap:anywhere}.error button{background:transparent;color:inherit;font-size:24px;padding:0 10px;flex-shrink:0}.success{border:1px solid var(--success-border);background:var(--success-bg);color:var(--success-ink);font-size:13px;padding:12px 16px;margin:18px 0;border-radius:8px}footer{color:var(--muted);font-size:11px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid var(--border);margin-top:40px;padding-top:18px}.management-main{max-width:none}.management-title h1{font-size:clamp(26px,3.5vw,36px)}.management-nav,.configuration-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border);padding-bottom:12px;margin:24px 0}.management-nav button,.configuration-tabs button{background:transparent;color:var(--muted);border:1px solid transparent}.management-nav button[aria-current=page],.configuration-tabs button[aria-current=page]{background:var(--surface);color:var(--ink);border-color:var(--border);box-shadow:0 1px 3px var(--shadow-soft)}.configuration-tabs{gap:4px;margin:14px 0 22px}.configuration-tabs button{font-size:13px;padding:8px 16px}.work-area{border:0;padding:0;margin:0;min-width:0}.configuration-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}.resource-list{display:flex;flex-direction:column;gap:8px;min-width:0}.resource-list button{display:block;width:100%;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--border);padding:14px;overflow-wrap:anywhere}.resource-list button.secondary{background:var(--soft)}.resource-list button.selected{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.resource-list strong{display:block;font-size:13px}.resource-list small{display:block;font-size:11px;font-weight:400;margin-top:5px;color:var(--muted)}.editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:26px;min-width:0}.editor-panel h2{margin-bottom:22px}.editor-panel>form{max-width:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.field-help,.form-note{display:block;font-size:12px;font-weight:400;color:var(--muted);line-height:1.55}.field-help{margin-top:6px}.form-note{margin:12px 0 20px}fieldset{border:1px solid var(--border);border-radius:8px;padding:16px;margin:10px 0 24px;min-width:0}legend{font-size:13px;font-weight:700;padding:0 8px}.check{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:5px;font-weight:400}.check input{width:20px;height:20px;min-height:0;flex-shrink:0;margin:0;accent-color:var(--accent)}details{border-top:1px solid var(--border);margin:20px 0;padding:12px 0}summary{cursor:pointer;font-size:13px;font-weight:700;padding:10px 0;min-height:44px}details[open]>summary{margin-bottom:16px}.binding-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:end;gap:12px;margin-bottom:12px}.binding-row label{margin:0}.binding-row button{font-size:12px}.scope-note{margin-top:32px}@media(max-width:800px){.configuration-grid{grid-template-columns:minmax(0,1fr);gap:18px}.resource-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.editor-panel{padding:20px}}@media(max-width:500px){.app-header{padding:14px 16px;gap:10px}.brand{font-size:11px;letter-spacing:.6px;gap:8px}.brand-icon{width:36px;height:40px;font-size:34px}.brand small{font-size:10px}.header-actions{gap:10px}.header-link{font-size:11px}.ghost{padding:8px 10px;font-size:12px}main{padding:20px 16px}.topline{font-size:12px;margin-bottom:22px}.equipment,.summary-card{padding:16px}.tabs{gap:0}.tabs button{font-size:11px;letter-spacing:-.1px}.reading{flex-direction:column;gap:8px}.reading strong{max-width:100%;text-align:left}.equipment-grid{gap:0}.summary-reading strong{font-size:25px}.login-panel{margin:22px auto}.form-grid{grid-template-columns:minmax(0,1fr)}.binding-row{grid-template-columns:minmax(0,1fr);padding-bottom:20px;border-bottom:1px solid var(--border)}.editor-panel{padding:18px}.management-nav button{flex:1;font-size:12px;padding:8px}.configuration-tabs button{flex:1;font-size:12px;padding:8px 12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.command-edit,.command-result{padding:1rem 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.command-edit>small{display:block;margin:.3rem 0 .7rem}.command-edit input:not([type=checkbox]),.command-edit select{width:100%;min-height:44px}.command-result dd{overflow-wrap:anywhere}.csv-panel{min-width:0}.csv-downloads{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.csv-changes{max-height:28rem;overflow:auto;margin:1rem 0;display:grid;gap:.5rem}.csv-change{padding:.75rem;border:1px solid var(--border);border-radius:.5rem;overflow-wrap:anywhere}.csv-change small{display:block;margin-top:.3rem}.csv-change pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.csv-steps{padding-left:1.3rem;line-height:1.7}.tank-reading{display:flex;align-items:center;gap:1rem;padding:1rem 0;min-width:0}.tank-reading>div:last-child{min-width:0;overflow-wrap:anywhere}.tank-reading small{display:block;color:var(--muted);font-size:.78rem;margin-top:.4rem}.tank-gauge{height:96px;width:48px;min-width:48px;border:2px solid var(--border);border-radius:5px;position:relative;overflow:hidden;background:var(--canvas)}.tank-gauge>div{position:absolute;bottom:0;left:0;right:0;background:var(--water);max-height:100%;min-height:0}.tank-unreliable>div{background:repeating-linear-gradient(45deg,var(--water-unknown),var(--water-unknown) 6px,var(--water-unknown) 6px,var(--water-unknown) 12px)}.device-settings{margin-top:1.5rem}.device-settings>summary{cursor:pointer;padding:.8rem 0;min-height:44px}.csv-issues{display:grid;gap:.5rem;overflow-wrap:anywhere}.csv-panel input[type=file]{max-width:100%;width:100%;box-sizing:border-box}.csv-panel details{margin-top:1.5rem;overflow-wrap:anywhere}.csv-panel summary,.management-main>details>summary{cursor:pointer;min-height:44px;padding:.75rem 0}.plant-tree{min-width:0}.plant-tree details{border:1px solid var(--border);border-radius:10px;padding:0;margin:12px 0;background:var(--surface);min-width:0}.plant-tree summary{padding:14px 18px;font-size:15px;overflow-wrap:anywhere}.plant-tree details[open]>summary{margin-bottom:0;border-bottom:1px solid var(--border)}.plant-tree .branch-content{padding:0 16px 8px}.plant-tree .municipality-branch{background:var(--canvas)}.branch-kind{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-right:6px}.plant-leaves{list-style:none;padding:8px 16px 12px 26px;margin:0}.plant-leaves>li{padding:4px 0 4px 12px;border-left:2px solid var(--border);min-width:0}.plant-tree-link{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;width:100%;text-align:left;color:var(--ink);background:var(--surface);border:1px solid var(--border);padding:13px 16px}.plant-tree-link:hover{border-color:var(--accent)}.plant-tree-link strong{overflow-wrap:anywhere}.plant-tree-link small{display:block;width:100%;font-size:12px;font-weight:400;color:var(--muted)}.empty-branch{padding:4px 20px 14px;color:var(--muted);font-size:12px}.plant-path{color:var(--muted);font-size:13px;margin:4px 0 20px;overflow-wrap:anywhere}@media(max-width:500px){.plant-tree summary{padding:12px;font-size:14px}.plant-tree .branch-content{padding:0 8px 4px}.plant-leaves{padding:6px 8px 10px 12px}.plant-leaves>li{padding-left:8px}.plant-tree-link{padding:12px}}.archive-fields{border:0;padding:0;margin:0;min-width:0}.retirement{margin:12px 0}.removal-dialog{position:fixed;inset:0;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;border:1px solid var(--border);border-radius:14px;padding:22px;color:var(--ink);background:var(--surface);overflow-wrap:anywhere}.removal-dialog::backdrop{background:var(--backdrop)}.removal-dialog li{margin:12px 0}.removal-dialog li .text-button{display:block}.retirement-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.retirement-actions button{min-height:44px}.danger{background:var(--danger);color:var(--surface);border-color:var(--danger)}.operator-commands[hidden]{display:none}.synoptic-version{display:flex;justify-content:flex-end;margin-bottom:10px}.app-header,.management-header{color:var(--header-ink);background:var(--header);border-color:var(--accent);padding:12px 20px}.brand{gap:10px;font-size:12px}.brand-icon{width:36px;height:36px;font-size:34px}.brand small{font-size:11px}.brand small,.header-link{color:var(--header-muted)}.ghost{color:var(--header-ink)}.primary,.editor-actions button.primary{color:var(--accent-ink);background:var(--accent)}.danger{color:var(--danger-ink)}.reading,dl>div,.synoptic-reading{border-color:var(--border)}.synoptic-frame{background:var(--canvas)}.bare-object:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.synoptic-primary{margin:0;border:0;border-radius:0}.synoptic-primary:not(.synoptic-expanded){background:transparent;overflow:visible}.synoptic-primary:not(.synoptic-expanded) .synoptic-scroll{height:auto;overflow:visible;background:transparent;overscroll-behavior:auto}.synoptic-primary:not(.synoptic-expanded) .synoptic-canvas{background:transparent}.synoptic-primary:not(.synoptic-expanded) .synoptic-toolbar{position:sticky;top:0;z-index:4;background:var(--bg)}.synoptic-toolbar{background:var(--canvas);border-bottom:1px solid var(--border);gap:8px;padding:12px 0}.synoptic-toolbar button{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.synoptic-toolbar button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.synoptic-toolbar button[aria-pressed=true]{background:var(--soft);border-color:var(--accent)}.synoptic-toolbar small{flex-basis:auto;margin-left:auto;color:var(--muted)}.synoptic-zoom{display:flex;align-items:center;gap:8px;font-size:13px;font-variant-numeric:tabular-nums}.synoptic-scroll{max-height:none;background:var(--canvas)}.synoptic-canvas{background:var(--canvas)}.synoptic-expanded-title{display:none;font-weight:650}.synoptic-expanded{position:fixed;inset:0;margin:0;z-index:80;border:0;border-radius:0;padding:0 20px;background:var(--canvas)}.synoptic-expanded .synoptic-toolbar{padding:14px 0}.synoptic-expanded .synoptic-expanded-title{display:block;margin-right:auto}.synoptic-expanded .synoptic-toolbar small{display:none}.operator-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.operator-page-head label{margin-bottom:8px;width:min(380px,100%);font-size:12px}.operator-page-head select{padding:8px 12px;min-height:40px;margin-top:4px}.sr-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.synoptic-toolbar .operator-page-head{flex:0 1 350px;gap:10px}.synoptic-toolbar .operator-page-head label{flex:1;min-width:0;width:auto;margin:0}.synoptic-toolbar .operator-page-head select{margin:0;font-size:14px}.synoptic-expanded .operator-page-head{display:none}.operator-synoptic{padding-top:12px;padding-bottom:16px}.operator-synoptic .topline{display:none}.operator-synoptic .back{min-height:32px;padding:4px 0;margin:0}.operator-synoptic .plant-path{margin:0 0 4px;font-size:12px}.operator-synoptic .plant-title h1{font-size:26px;margin:3px 0 6px;letter-spacing:-.5px}.operator-synoptic .plant-title .eyebrow,.operator-synoptic .plant-title .muted:empty{display:none}.operator-synoptic .plant-title .muted{font-size:12px;margin:0}.operator-synoptic .plant-title .pill{margin-top:5px}.operator-synoptic .operator-source{padding:8px 12px;margin:8px 0;font-size:12px}.operator-synoptic .operator-source br{display:none}.operator-synoptic .operator-source strong{margin-right:8px}.operator-synoptic .tabs{margin:10px 0 12px}.operator-synoptic footer{margin-top:16px}@media(min-width:900px){.operator-synoptic .operator-context{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:6px 16px;align-items:center}.operator-synoptic .back{justify-self:start}.operator-synoptic .plant-path,.operator-synoptic .plant-title{margin:0}.operator-synoptic .plant-title>.pill{display:none}.operator-synoptic .operator-source{margin:0}}@media(max-width:700px){.synoptic-toolbar small{flex-basis:100%;margin:0;font-size:11px}.synoptic-expanded{padding:0 12px}.synoptic-expanded .synoptic-expanded-title{flex-basis:100%}.operator-synoptic .plant-title h1{font-size:24px}.operator-page-head{gap:10px}.operator-page-head .pill{font-size:9px}.synoptic-toolbar .operator-page-head{flex-basis:100%}}.alarm-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:1rem;margin:1rem 0}.alarm-card{overflow-wrap:anywhere}.alarm-active{border-inline-start:4px solid var(--danger,#d14747)}.alarm-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem;margin:1rem 0}.alarm-filters input,.alarm-filters select,.alarm-window input,.alarm-window select{min-width:0;max-width:100%;width:100%;box-sizing:border-box}.alarm-confirm{padding:1rem;border:2px solid var(--accent,#198a80);border-radius:12px;margin:1rem 0}.alarm-window{display:flex;flex-wrap:wrap;gap:.7rem;padding:.7rem 0;align-items:end}.alarm-window label{flex:1 1 130px;min-width:0}.alarm-view .actions,.alarm-management .actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.7rem 0}.alarm-management small,.alarm-list small{overflow-wrap:anywhere}.transport-guide{margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:10px;overflow-wrap:anywhere}.transport-guide li{margin:.7rem 0}.transport-check{margin:1rem 0;overflow-wrap:anywhere}.transport-check small{display:block}.transport-failed{border-inline-start:4px solid var(--danger,#b44)}.association-code{display:block;overflow-wrap:anywhere;white-space:pre-wrap;padding:1rem;background:var(--soft);-webkit-user-select:all;user-select:all}.notification-transports .actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.trends{min-width:0}.trend-heading{margin-bottom:8px}.trend-heading h2{margin-bottom:4px}.trend-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:10px 0}.trend-toolbar label{min-width:160px;flex:1}.trend-toolbar .check{min-width:140px;display:flex;align-items:center;gap:8px}.trend-toolbar .check input{width:auto}.trend-chart-scroll{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:9px 9px 0 0;background:var(--surface);overscroll-behavior-x:contain}.trend-chart{display:block;max-width:none;-webkit-user-select:none;user-select:none;background:var(--surface)}.trend-chart text{font-family:inherit}.trend-interaction{cursor:crosshair}.trend-side-axis text{font-variant-numeric:tabular-nums}.trend-summary-section{width:100%;min-width:0;overflow:visible;margin:12px 0;background:transparent}.trend-summary{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed;font-size:13px}.trend-summary caption{caption-side:top;text-align:center;padding:8px 0;font-weight:600;color:var(--ink);background:transparent}.trend-summary caption button{margin-left:12px}.trend-summary th,.trend-summary td{text-align:left;vertical-align:middle;padding:3px 6px;border:0;border-top:1px solid var(--border);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;position:static;background:transparent;box-shadow:none}.trend-summary thead th{font-size:12px;color:var(--muted)}.trend-summary tr>:first-child{width:5%}.trend-summary tr>:nth-child(2){width:29%}.trend-summary tr>:nth-child(3){width:8%}.trend-summary tr>:nth-child(4){width:24%}.trend-summary tr>:nth-child(5),.trend-summary tr>:nth-child(6){width:17%}.trend-summary-editable tr>:first-child{width:5%}.trend-summary-editable tr>:nth-child(2){width:28%}.trend-summary-editable tr>:nth-child(3){width:7%}.trend-summary-editable tr>:nth-child(4){width:20%}.trend-summary-editable tr>:nth-child(5),.trend-summary-editable tr>:nth-child(6){width:15%}.trend-summary-editable tr>:nth-child(7){width:10%}.trend-summary small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.trend-summary input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer;accent-color:var(--accent)}.trend-summary .trend-value{min-height:28px;max-width:100%;padding:0;text-align:left;border:0;border-bottom:1px dotted currentColor;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;overflow-wrap:anywhere}.trend-pen-hidden th[scope=row] strong{text-decoration:line-through}.trend-summary .trend-pen-detail td{padding:12px 4px}.trend-pen-detail p{margin:8px 0;line-height:1.5}.trend-summary caption .trend-cursor{display:inline}.trend-show-short,.trend-edit-short{display:none}.trend-time-tools{align-items:center}.trend-time-tools label{flex:0}.trend-time-tools button{min-height:40px}.trend-range-label{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:13px}.trend-help{font-size:12px;line-height:1.5}.trend-dates-panel,.trend-archive-status,.trend-originals{margin:12px 0;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface)}.trends details>summary{cursor:pointer;font-weight:600;min-height:24px}.trends details[open]>summary{margin-bottom:14px}.trends details{overflow-wrap:anywhere}.trend-config{padding:16px;border:1px solid var(--border);border-radius:12px;margin:18px 0}.trend-config fieldset{margin:14px 0;min-width:0;scroll-margin-top:25px}.trend-pen-fields,.trend-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;align-items:end}.trend-pen-fields input,.trend-dates input{min-width:0;width:100%}.trend-pen-fields .check{display:flex;align-items:center;gap:8px}.trend-pen-fields .check input{width:auto}.trend-pen-fields input[type=color]{height:44px}.trend-dates button{min-height:44px}.trend-dates-panel details{margin-top:16px}.trend-records{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}.trend-records article{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--border);border-radius:10px;overflow-wrap:anywhere}.trends .muted{overflow-wrap:anywhere}@media(max-width:600px){.trend-summary{font-size:11px;min-width:0}.trend-summary th,.trend-summary td{padding:2px}.trend-summary thead th{font-size:10px}.trend-summary tr>:first-child{width:10%}.trend-summary tr>:nth-child(2){width:30%}.trend-summary tr>:nth-child(3){width:8%}.trend-summary tr>:nth-child(4){width:20%}.trend-summary tr>:nth-child(5),.trend-summary tr>:nth-child(6){width:16%}.trend-summary-editable tr>:first-child{width:10%}.trend-summary-editable tr>:nth-child(2){width:24%}.trend-summary-editable tr>:nth-child(3){width:7%}.trend-summary-editable tr>:nth-child(4){width:17%}.trend-summary-editable tr>:nth-child(5),.trend-summary-editable tr>:nth-child(6){width:14%}.trend-summary-editable tr>:nth-child(7){width:14%}.trend-summary .trend-value{min-height:36px}.trend-summary .trend-show-control{width:100%;max-width:40px;height:40px}.trend-summary td .text-button{min-height:36px;max-width:100%}.trend-show-heading,.trend-edit-heading{display:none}.trend-show-short,.trend-edit-short{display:inline;text-decoration:none}.trend-pen-detail p,.trend-pen-detail strong{max-width:100%}.trend-time-tools{gap:6px}.trend-time-tools button{font-size:12px;padding:8px 11px}.trend-summary caption{text-align:left;font-size:12px}.trend-config{padding:10px}.trend-heading h2{font-size:20px}}.trend-axis-strip{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;background:var(--surface)}.trend-axis-strip svg{display:block;max-width:none}.trend-axis-scroll-hint{position:absolute;text-align:center;font-size:9px;color:var(--muted);pointer-events:none}.trend-summary .trend-show-control{display:grid;place-items:center;width:100%;max-width:28px;height:28px;margin:0;cursor:pointer}.trend-axis-badge{display:inline-block;font-size:9px;font-weight:600;margin-right:6px;vertical-align:middle}.trend-summary td .text-button{min-height:28px;padding:1px 4px;font-size:12px}.trend-summary .trend-retired{display:inline;margin-left:5px;font-size:10px}.trend-summary tbody tr[data-pen]{line-height:1.25}@media(max-width:600px){.trend-summary .trend-show-control{width:100%;max-width:40px;height:40px}.trend-summary td .text-button{min-height:36px}}.vpn-panel{min-width:0;overflow-wrap:anywhere;border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1rem}.vpn-panel .button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.vpn-events{list-style:none;padding:0;max-height:32rem;overflow:auto}.vpn-events li{display:grid;gap:.3rem;padding:.7rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.vpn-events time{font-size:.85rem}.vpn-events [data-level=error] strong{color:#9d3030}.vpn-diagnostics{margin-top:1rem}.vpn-technical-log{white-space:pre-wrap;overflow-wrap:anywhere;max-height:30rem;overflow:auto;font:12px/1.6 ui-monospace,monospace;padding:.75rem;background:#eef3f4;border:1px solid #b8cdd0;border-radius:.4rem}
