:root{
  --navy:#17385f; --blue:#1f5d93; --blue2:#2d78b4; --cyan:#1f9fb5; --teal:#238a80;
  --green:#2d7b57; --amber:#d79229; --red:#c64b4b; --red2:#9d2e2e;
  --ink:#18242f; --muted:#6b7885; --paper:#eef3f7; --panel:#ffffff; --line:#d9e2ea;
  --soft:#f6f9fb; --shadow:0 10px 30px rgba(29,53,76,.13); --header:82px;
}
*{box-sizing:border-box} html,body{margin:0;height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper)}
body{overflow:hidden}.app{height:100vh;display:grid;grid-template-rows:var(--header) 1fr}
.topbar{display:grid;grid-template-columns:205px minmax(0,1fr) auto;align-items:center;gap:18px;padding:8px 18px;background:linear-gradient(90deg,#15345a 0%,#1b4974 60%,#1d5d80 100%);color:#fff;border-bottom:3px solid #68a9cf;z-index:20}
.brandbox{height:58px;background:#fff;border-radius:6px;padding:4px 7px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px rgba(0,0,0,.13)}
.brandbox img{max-width:100%;max-height:100%;object-fit:contain}.title h1{font-size:19px;line-height:1.15;margin:0 0 3px;font-weight:750;letter-spacing:.1px}.title p{font-size:10.5px;margin:0;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;align-items:center;gap:7px}.top-btn{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.09);color:#fff;border-radius:7px;padding:8px 10px;font-size:11px;cursor:pointer}.top-btn:hover{background:rgba(255,255,255,.16)}
.workspace{min-height:0;display:grid;grid-template-columns:294px minmax(520px,1fr) 405px}.sidebar,.inspector{background:var(--panel);min-height:0;overflow:auto}.sidebar{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}
.section{padding:13px 14px;border-bottom:1px solid #e9eef2}.section h3{margin:0 0 10px;color:var(--navy);font-size:10.5px;text-transform:uppercase;letter-spacing:.7px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric{background:#f7fafc;border:1px solid var(--line);border-radius:8px;padding:9px}.metric b{display:block;font-size:19px;color:var(--navy)}.metric span{font-size:9px;color:var(--muted)}
.system-list{display:grid;gap:5px}.system-btn{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;width:100%;border:1px solid transparent;background:#fff;border-radius:8px;padding:8px 9px;cursor:pointer;text-align:left}.system-btn:hover{background:#f1f6fa}.system-btn.active{background:#eaf3f9;border-color:#cce0ee;box-shadow:inset 3px 0 0 var(--blue)}.system-icon{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#eef4f8;color:var(--navy);font-size:14px;font-weight:800}.system-name{font-size:11px;font-weight:650;color:#2c3c49}.system-count{font-size:9px;color:#687784;background:#edf2f6;border-radius:12px;padding:2px 6px}
.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:#fff;border-radius:18px;padding:5px 8px;font-size:9px;cursor:pointer;color:#43515c}.chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.toggle{display:flex;align-items:center;gap:8px;font-size:10px;margin:7px 0;color:#42515d}.toggle input{accent-color:var(--blue)}
.asset-list{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px}.asset-row{width:100%;display:grid;grid-template-columns:11px 1fr auto;align-items:center;gap:8px;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:8px;cursor:pointer;text-align:left}.asset-row:last-child{border-bottom:0}.asset-row:hover,.asset-row.active{background:#eef6fb}.asset-dot{width:9px;height:9px;border-radius:50%}.asset-title{font-size:10.5px;font-weight:650;color:#2b3d4b;line-height:1.2}.asset-sub{font-size:8.5px;color:#7a8792;margin-top:2px}.badge{font-size:8px;border-radius:12px;padding:2px 6px;border:1px solid #d5dee5;background:#f7f9fa;color:#63717c}.badge.high,.badge.very-high{border-color:#efc1c1;background:#fff1f1;color:#9f3131}.badge.moderate{border-color:#f0d49e;background:#fff8e8;color:#8a5a00}.badge.low{border-color:#badfd1;background:#eefaf6;color:#25705a}
.mapwrap{position:relative;overflow:hidden;background:#e9eef1}.mapbg{position:absolute;inset:0;background:radial-gradient(circle at 35% 35%,#f9fbfc,#e8eef2 60%,#dfe8ed)}#map{width:100%;height:100%;position:relative;z-index:2;display:block;cursor:grab;user-select:none}#map.dragging{cursor:grabbing}
.maphead{position:absolute;left:12px;right:12px;top:10px;z-index:7;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none}.statsbar{display:flex;gap:7px;flex-wrap:wrap}.stat{pointer-events:auto;background:rgba(255,255,255,.95);border:1px solid #d8e1e7;border-radius:8px;padding:7px 9px;box-shadow:0 4px 14px rgba(32,55,73,.10);min-width:104px}.stat strong{display:block;font-size:14px;color:var(--navy);white-space:nowrap}.stat span{display:block;margin-top:2px;font-size:8px;color:#6c7a84}.stat.risk strong{color:var(--red2)}.stat.action strong{font-size:10px;white-space:normal;max-width:180px}.basemap-pill{pointer-events:auto;background:rgba(255,255,255,.96);border:1px solid #d5dfe5;border-radius:8px;padding:7px 9px;font-size:9px;color:#44535e;box-shadow:0 3px 12px rgba(0,0,0,.08)}
.mapcontrols{position:absolute;right:12px;top:82px;z-index:8;display:grid;gap:5px}.mapcontrol{width:34px;height:34px;border:1px solid #cad7df;background:#fff;border-radius:7px;box-shadow:0 3px 12px rgba(0,0,0,.08);font-size:17px;color:var(--navy);cursor:pointer}.mapnote,.coord{position:absolute;bottom:12px;z-index:7;background:rgba(255,255,255,.93);border:1px solid #d3dde4;padding:6px 8px;border-radius:6px;font-size:9px;color:#52616d}.mapnote{left:12px}.coord{right:12px;font-variant-numeric:tabular-nums}
.municipality{fill:#f9fcfd;stroke:#708897;stroke-width:1.5;vector-effect:non-scaling-stroke}.road{fill:none;stroke:#c1cbd1;stroke-width:1;opacity:.8;vector-effect:non-scaling-stroke;pointer-events:none}.submain{fill:none;stroke:#8bb2c5;stroke-width:1.2;stroke-dasharray:4 3;opacity:.8;vector-effect:non-scaling-stroke}.proposed-water{fill:none;stroke:#1e99b5;stroke-width:2.3;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.line-feature{fill:none;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;filter:drop-shadow(0 0 1px rgba(255,255,255,.85))}.line-feature.selected{stroke-width:7;filter:drop-shadow(0 0 2px #fff)}.surge{fill:none;stroke:#d94141;stroke-width:7;stroke-linecap:round;opacity:.45;vector-effect:non-scaling-stroke;pointer-events:none}.asset-point{cursor:pointer;vector-effect:non-scaling-stroke}.pump-symbol{fill:#17385f;stroke:#fff;stroke-width:1.5}.tank-symbol{fill:#238a80;stroke:#fff;stroke-width:1.3}.mahalah-symbol{fill:#f5b33c;stroke:#fff;stroke-width:1.2}.mahalah-symbol.high{fill:#dc774a}.mahalah-symbol.very-high{fill:#bf3d44}.tcrs-symbol{fill:#7c5bb5;stroke:#fff;stroke-width:1.6}.app-symbol{fill:#fff;stroke:#1f6d9d;stroke-width:1.2}.map-label{font-size:9px;font-weight:700;fill:#263743;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.line-label{font-size:9px;font-weight:800;fill:#17385f;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
.inspect-head{padding:15px;background:#f6f9fb;border-bottom:1px solid var(--line)}.inspect-head .eyebrow{font-size:9px;color:#778691;text-transform:uppercase;letter-spacing:.7px}.inspect-head h2{margin:4px 0 4px;color:var(--navy);font-size:18px;line-height:1.2}.inspect-head p{margin:0;font-size:10px;color:#6d7a85;line-height:1.4}.tabs{display:flex;position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:5;overflow-x:auto}.tab{flex:1;min-width:64px;border:0;background:#fff;padding:10px 4px;font-size:9px;color:#657580;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--navy);font-weight:750;border-bottom-color:var(--blue)}.tabpane{display:none;padding:13px}.tabpane.active{display:block}
.callout{border-left:3px solid var(--blue);background:#edf6fb;padding:10px;border-radius:0 7px 7px 0;font-size:10.5px;line-height:1.5;color:#304550}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.info{border:1px solid #e0e7ec;border-radius:7px;background:#fafcfd;padding:8px;min-width:0}.info .lab{font-size:8px;text-transform:uppercase;letter-spacing:.35px;color:#778590}.info .val{font-size:10.5px;font-weight:600;margin-top:3px;word-break:break-word;color:#2f414d}.full{grid-column:1/-1}.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.risk-card{border:1px solid #e0e7ec;border-radius:8px;padding:9px;background:#fff}.risk-card .rlabel{font-size:8px;color:#788690;text-transform:uppercase}.risk-card .rvalue{margin-top:4px;font-size:11px;font-weight:750}.risk-card.red{border-left:4px solid var(--red)}.risk-card.amber{border-left:4px solid var(--amber)}.risk-card.green{border-left:4px solid var(--green)}.risk-card.blue{border-left:4px solid var(--blue)}
.section-title{font-size:10px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;margin:13px 0 7px}.profile-card{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px}.profile-svg{width:100%;height:210px;display:block}.profile-grid{stroke:#dce5ea;stroke-width:1}.profile-path{fill:none;stroke:#1f5d93;stroke-width:2}.profile-area{fill:rgba(31,93,147,.09)}.profile-label{font-size:8px;fill:#667782}.profile-point{fill:#d34545;stroke:#fff;stroke-width:1}.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.profile-summary .pitem{background:#f6f9fb;border-radius:6px;padding:6px;text-align:center}.profile-summary b{display:block;font-size:10px;color:#234b6d}.profile-summary span{font-size:7.5px;color:#7a8790}
.resource{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:8px;padding:9px;margin:7px 0;background:#fff}.resource .rtitle{font-size:10px;font-weight:700;color:#2b4150}.resource .rsub{font-size:8px;color:#7b8992;margin-top:2px;line-height:1.35}.resource a{border:1px solid var(--navy);background:var(--navy);color:#fff;text-decoration:none;border-radius:5px;padding:6px 8px;font-size:8.5px;white-space:nowrap}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fig{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer}.fig img{width:100%;height:118px;object-fit:cover;display:block}.fig div{padding:6px;font-size:9px;font-weight:600;color:#354956}.empty{padding:18px 8px;color:#7c8992;font-size:10px;text-align:center;border:1px dashed #d6dfe5;border-radius:8px}.qa-item{border:1px solid #ecd6d6;background:#fff8f8;border-radius:8px;padding:9px;margin-bottom:7px}.qa-item .sev{font-size:8px;text-transform:uppercase;font-weight:800;color:#a43a3a}.qa-item .issue{font-size:10px;font-weight:650;margin-top:4px;color:#47373a}.qa-item .action{font-size:8.5px;color:#796466;margin-top:4px;line-height:1.4}.phase-row{display:grid;grid-template-columns:50px 1fr;gap:8px;border-bottom:1px solid #edf1f4;padding:8px 0}.phase-row:last-child{border-bottom:0}.phase-num{background:#eaf3f9;color:var(--navy);width:40px;height:40px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:12px}.phase-title{font-size:10px;font-weight:700;color:#304654}.phase-sub{font-size:8.5px;color:#778690;margin-top:2px;line-height:1.4}
.lightbox{position:fixed;inset:0;background:rgba(9,22,32,.83);z-index:50;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain;background:#fff;box-shadow:0 10px 40px rgba(0,0,0,.3)}.lightbox button{position:absolute;right:24px;top:20px;border:0;background:#fff;color:#17385f;border-radius:50%;width:34px;height:34px;font-size:18px;cursor:pointer}
@media(max-width:1120px){.workspace{grid-template-columns:250px minmax(420px,1fr) 350px}.title h1{font-size:16px}}
@media print{body{overflow:visible}.app{height:auto}.topbar{position:static}.workspace{display:block}.sidebar,.mapwrap{display:none}.inspector{border:0;overflow:visible}.tabs{display:none}.tabpane{display:block!important}.lightbox{display:none!important}}

/* v2 map refinements: Google Hybrid backdrop, flat 2D view, selected-feature label */
.google-tiles{position:absolute;inset:0;z-index:1;overflow:hidden;background:#d9dde0;pointer-events:none}
.google-tiles img{position:absolute;display:block;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
#map{z-index:2}
.mapbg{z-index:0}
.municipality{fill:rgba(249,252,253,.025);stroke:rgba(255,255,255,.92);stroke-width:1.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px rgba(0,0,0,.35))}
.line-feature{filter:drop-shadow(0 0 1.5px rgba(255,255,255,.95)) drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.line-feature.selected{stroke-width:7.5;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.map-label,.line-label{stroke-width:3.5px}
.selected-label{font-size:11px;font-weight:800;fill:#102f50;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.feature-popup{position:absolute;z-index:9;display:none;min-width:190px;max-width:310px;background:rgba(255,255,255,.97);border:1px solid #cdd9e1;border-left:4px solid var(--blue);border-radius:8px;padding:8px 10px;box-shadow:0 6px 20px rgba(19,42,61,.20);pointer-events:none;color:#283f4f}
.feature-popup.open{display:block}
.feature-popup .fp-title{font-size:10.5px;font-weight:800;color:var(--navy);line-height:1.25}
.feature-popup .fp-sub{font-size:8.5px;color:#637581;margin-top:4px;line-height:1.35}
.attr-details{margin-top:12px;border:1px solid #dce5ea;border-radius:8px;background:#fff;overflow:hidden}
.attr-details summary{cursor:pointer;padding:9px 10px;font-size:9px;font-weight:800;color:var(--navy);background:#f4f8fa;list-style:none}
.attr-details summary::-webkit-details-marker{display:none}
.attr-table{width:100%;border-collapse:collapse;font-size:8.5px}
.attr-table td{padding:6px 8px;border-top:1px solid #edf1f4;vertical-align:top;word-break:break-word}
.attr-table td:first-child{width:42%;color:#667782;font-weight:700;background:#fafcfd}
.attr-table td:last-child{color:#2b3f4d}

/* v3 requested header + static 2D interaction */
:root{--header:110px}
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.topbar{grid-template-columns:82px minmax(0,1fr) 220px;gap:18px;padding:7px 16px;background:linear-gradient(90deg,#143657 0%,#184c76 62%,#1b6280 100%)}
.partner-logo{height:92px;background:#fff;border-radius:7px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(0,0,0,.14);overflow:hidden}
.partner-logo-left{padding:5px 9px}.partner-logo-left img{max-height:82px;max-width:56px;width:auto;object-fit:contain}
.partner-logo-right{padding:8px 10px}.partner-logo-right img{max-width:198px;max-height:72px;width:auto;height:auto;object-fit:contain}
.title{min-width:0;text-align:left}.title h1{font-size:17px;line-height:1.13;margin:0 0 3px;font-weight:800;letter-spacing:.05px}.title h2{font-size:15px;line-height:1.12;margin:0 0 4px;font-weight:700;opacity:.98}.title p{font-size:9.6px;line-height:1.25;margin:0;opacity:.88;white-space:normal;overflow:visible;text-overflow:clip}
#map{cursor:default;touch-action:none}.mapcontrol{cursor:pointer}.basemap-pill{font-weight:700;color:#2b475a}
.municipality,.submain,.proposed-water,.surge{cursor:pointer}
.municipality.selected{stroke:#ffd447;stroke-width:3.2;fill:rgba(255,212,71,.035)}
.submain.selected{stroke:#ffe063;stroke-width:4;stroke-dasharray:none;opacity:1}
.proposed-water.selected{stroke:#ffe063;stroke-width:5;stroke-dasharray:none}
.surge{pointer-events:stroke;cursor:pointer}.surge.selected{stroke:#ffea56;stroke-width:10;opacity:.88}
.app-symbol{cursor:pointer}.app-symbol.selected{fill:#ffe063;stroke:#17385f;stroke-width:2}
.selected-label{font-size:12px;font-weight:850;fill:#0c2f52;paint-order:stroke;stroke:#fff;stroke-width:4.5px;stroke-linejoin:round;pointer-events:none}
.google-tiles img{image-rendering:auto}
@media(max-width:1120px){:root{--header:104px}.topbar{grid-template-columns:70px minmax(0,1fr) 180px;gap:10px;padding:6px 10px}.partner-logo{height:86px}.partner-logo-left img{max-height:76px}.partner-logo-right img{max-width:165px}.title h1{font-size:14px}.title h2{font-size:13px}.title p{font-size:8.5px}.workspace{grid-template-columns:250px minmax(420px,1fr) 350px}}

/* v4: true flat interactive 2D slippy map */
#map{cursor:grab!important;touch-action:none!important}
#map.dragging{cursor:grabbing!important}
.google-tiles img{width:256px!important;height:256px!important;object-fit:fill!important}
.mapwrap{background:#cfd7dc}
.mapnote{font-weight:650}
.selected-label{font-size:12px}
/* v5 municipality-constrained overview refinements */
.mahalah-reference-label{font-size:9px;font-weight:700;fill:#34454f;paint-order:stroke;stroke:rgba(255,255,255,.96);stroke-width:3.2px;stroke-linejoin:round;pointer-events:none;opacity:.92}
.layer-note{margin-top:7px;padding:7px 8px;border-radius:6px;background:#f3f7fa;color:#667986;font-size:8.5px;line-height:1.35;border:1px solid #e2e9ee}
.master-badge{display:inline-block;margin-left:9px;padding:3px 7px;border-radius:999px;background:#e8f1f8;color:#0e4d78;font-size:10px;font-weight:800;letter-spacing:.09em;vertical-align:middle;border:1px solid rgba(255,255,255,.55)}
.master-plan-list{display:grid;gap:7px;margin-top:8px}.mp-row{border-left:3px solid #1f658f;background:#f5f9fc;border-radius:7px;padding:8px 9px}.mp-row b{display:block;color:#143a59;font-size:12px}.mp-row span{display:block;color:#5c6f7f;font-size:11px;margin-top:2px;line-height:1.35}


/* v10 transmission engineering tree and component symbology */
.trans-tree{margin:2px 0 6px 20px;padding-left:8px;border-left:1px solid #ccdae4;display:grid;gap:2px}
.tree-line,.tree-group,.tree-leaf{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;color:#334b5b;display:grid;align-items:center;gap:7px;border-radius:6px}
.tree-line{grid-template-columns:8px 1fr auto;padding:6px 6px}.tree-line:hover,.tree-line.active{background:#eef6fb}.tree-line.active{box-shadow:inset 2px 0 0 var(--blue)}
.tree-line-swatch{width:8px;height:25px;border-radius:4px}.tree-line-text{min-width:0}.tree-line-text b{display:block;font-size:9.5px;color:#17385f}.tree-line-text small{display:block;font-size:7.5px;color:#71818d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.tree-count{font-size:7.5px;color:#70808c;background:#edf2f5;border-radius:10px;padding:1px 5px;justify-self:end}
.tree-branch{margin:0 0 4px 12px;padding:2px 0 3px 7px;border-left:1px dashed #cbd8e1;display:grid;gap:1px}
.tree-group,.tree-leaf{grid-template-columns:15px 1fr auto;padding:4px 5px;font-size:8.5px}.tree-leaf{padding-left:14px}.tree-group:hover,.tree-leaf:hover,.tree-group.active,.tree-leaf.active{background:#f0f6fa;color:#123f62}.tree-group.active,.tree-leaf.active{font-weight:800}
.tree-glyph{font-size:10px;text-align:center;font-style:normal}.tree-glyph.av{color:#14845b}.tree-glyph.wo{color:#c026d3}.tree-glyph.surge-glyph{color:#e31b23}.tree-glyph.fittings{color:#366b8e}.tree-glyph.evidence{color:#6a5ba6}
.app-symbol{cursor:pointer;vector-effect:non-scaling-stroke;stroke-width:1.4}.app-symbol.air-valve{fill:#16845b;stroke:#fff}.app-symbol.washout{fill:#c026d3;stroke:#fff}.app-symbol.selected{stroke:#ffe66b!important;stroke-width:3!important;filter:drop-shadow(0 0 2px rgba(0,0,0,.55))}
.fitting-label,.surge-label{font-size:9px;font-weight:850;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;pointer-events:none}.fitting-label.av-label{fill:#0d6546}.fitting-label.wo-label{fill:#8e169f}.surge-label{fill:#b3141a}
.surge{fill:none;stroke:#e31b23;stroke-width:5.5;stroke-linecap:round;opacity:.5;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}.surge:hover{opacity:.78}.surge.selected{stroke:#e31b23;stroke-width:8;opacity:.9;filter:drop-shadow(0 0 2px #fff)}
.surge-star{fill:#e31b23;stroke:#fff;stroke-width:1.3;vector-effect:non-scaling-stroke;cursor:pointer}.surge-star.selected{stroke:#ffe66b;stroke-width:2.7;filter:drop-shadow(0 0 2px rgba(0,0,0,.55))}
.engineering-legend{position:absolute;z-index:8;right:54px;top:64px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.95);border:1px solid #d4dfe6;border-radius:7px;padding:6px 8px;box-shadow:0 2px 8px rgba(19,42,61,.12);font-size:8px;color:#536875;pointer-events:none}.engineering-legend b{color:#17385f;font-size:8.5px}.engineering-legend span{white-space:nowrap}.engineering-legend i{font-style:normal;font-size:11px;margin-right:2px}.legend-av{color:#16845b}.legend-wo{color:#c026d3}.legend-sc{color:#e31b23}
@media(max-width:1350px){.engineering-legend{right:50px;top:62px;gap:5px;padding:5px 6px}.engineering-legend b{display:none}}

.tree-assets{display:grid;gap:1px;margin:1px 0 3px 15px;padding-left:6px;border-left:1px dotted #d5dfe6}.tree-asset{width:100%;border:0;background:transparent;cursor:pointer;display:grid;grid-template-columns:13px 1fr auto;gap:5px;align-items:center;padding:3px 4px;border-radius:5px;text-align:left;font-size:7.8px;color:#536875}.tree-asset:hover,.tree-asset.active{background:#eaf4fa;color:#17385f}.tree-asset small{font-size:6.8px;color:#87949d}.tree-mini{font-size:8px;text-align:center}.tree-mini.av{color:#16845b}.tree-mini.wo{color:#c026d3}.tree-mini.sc{color:#e31b23}

/* v11 data-aware inspector tabs: unavailable sections are removed instead of showing empty panes. */
.tab[hidden]{display:none!important}.tab:disabled{cursor:default}

/* v13 Transmission Master Plan status architecture */
.status-strip{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px}
.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:7.5px;font-weight:850;letter-spacing:.045em;border:1px solid #ccd8e0;background:#f5f8fa;color:#49606f}
.status-pill.existing{background:#eef7f3;border-color:#b8d9ca;color:#23634d}
.status-pill.construction{background:#fff7e7;border-color:#ead3a4;color:#855806}
.status-pill.proposed{background:#f1effa;border-color:#cfc5ec;color:#594498}
.status-pill.design{background:#edf5fa;border-color:#bdd6e5;color:#225c7c}
.status-pill.verify,.status-pill.risk{background:#fff1f1;border-color:#efc2c2;color:#9a3030}
.status-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin:6px 0 10px;font-size:8px;color:#536875}
.status-legend span{display:flex;align-items:center;gap:4px}
.line-key{display:inline-block;width:26px;height:0;border-top:3px solid #235f8d}
.line-key.construction{border-top-style:dashed}
.line-key.proposed{border-top:2px dashed #7656a7}
.symbol-key{font-style:normal;font-weight:900;font-size:13px;line-height:1}.symbol-key.av{color:#16845b}.symbol-key.wo{color:#c026d3}.symbol-key.risk{color:#e31b23}
.tree-overview,.tree-tcrs{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;border-radius:6px;color:#334b5b}
.tree-overview{padding:6px 6px;display:grid;gap:1px}.tree-overview:hover,.tree-overview.active{background:#eef6fb;box-shadow:inset 2px 0 0 var(--blue)}.tree-overview span{font-size:8.8px;font-weight:800;color:#17385f}.tree-overview small{font-size:7px;color:#7a8993}
.tree-section-label{margin:6px 3px 2px;padding:3px 4px;border-top:1px solid #e2e9ee;color:#7a8993;font-size:6.8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.tree-tcrs{display:grid;grid-template-columns:15px 1fr auto;gap:7px;align-items:center;padding:6px}.tree-tcrs:hover,.tree-tcrs.active{background:#f1effa;box-shadow:inset 2px 0 0 #7656a7}.tree-tcrs b{display:block;font-size:8.8px;color:#513c86}.tree-tcrs small{display:block;font-size:6.9px;color:#7a6f91;margin-top:1px}.tree-glyph.tcrs{color:#7656a7}.tree-glyph.controls{color:#a66b14}.tree-glyph.corridor{color:#235f8d}
.tree-line-swatch.proposed{background:repeating-linear-gradient(to bottom,var(--line-color) 0 5px,transparent 5px 9px)!important;border:1px solid var(--line-color)}
.tree-line-swatch.construction{background:repeating-linear-gradient(to bottom,var(--line-color) 0 9px,transparent 9px 12px,var(--line-color) 12px 14px,transparent 14px 18px)!important;border:1px solid var(--line-color)}
.app-symbol.air-valve{fill:#fff!important;stroke:#16845b!important;stroke-width:2!important}.app-symbol.washout{fill:#fff!important;stroke:#c026d3!important;stroke-width:2!important}
.app-symbol.selected{fill:#fff7b8!important;stroke:#17385f!important;stroke-width:3!important}
.surge{stroke:#e31b23;stroke-width:7;opacity:.30}.surge:hover{opacity:.55}.surge.selected{stroke-width:9;opacity:.72}
.surge-star{fill:#fff!important;stroke:#e31b23!important;stroke-width:2!important}.surge-star.selected{fill:#fff7b8!important;stroke:#a90f15!important}
.tcrs-symbol{fill:#fff!important;stroke:#7656a7!important;stroke-width:2!important;stroke-dasharray:3 2}
.line-feature.proposed-corridor{stroke-width:4;opacity:.9}.line-feature.construction-corridor{stroke-width:4.2}
