/* Map + three workspaces, with a full-height insight rail. */
.console-app{--console-rail:clamp(300px,21vw,380px);--console-dock:clamp(200px,23vh,240px)}
.console-app main.console-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--console-rail);grid-template-rows:minmax(280px,1fr) var(--console-dock);grid-template-areas:"map insight" "operations insight";gap:0;min-height:0;margin:8px;border:1px solid #35534f;border-radius:5px;flex:1;overflow:hidden}
.console-app #mapwrap{grid-area:map;min-width:0;min-height:0;height:100%;border-bottom:1px solid #46615e}
.console-app #operationsDock{grid-area:operations;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;min-width:0;overflow:hidden;background:#0e1c23}
.console-app #operationsDock>.desk-tab-panel{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#415b60 #0c1b22;scroll-padding-top:45px;border-right:1px solid #35534f;background:linear-gradient(160deg,#13262d,#0c1b23 72%)}
.console-app #operationsDock>.desk-tab-panel:last-child{border-right:0}
.console-app .workspace-heading{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;min-height:32px;margin:0;padding:5px 11px;background:#152c31f8;border-bottom:1px solid #3e5e59;color:#e2f0ed;font:600 12px/1.5 var(--sans);backdrop-filter:blur(10px)}
.console-app .workspace-heading:focus-visible{outline:2px solid #9ce5ca;outline-offset:-3px}
.console-app .workspace-number{font:10px var(--sans);color:#91c4b3;border:1px solid #42685b;border-radius:3px;padding:2px 4px}
.console-app .workspace-subtitle{margin-left:auto;font-size:9px;font-weight:400;color:#93adb2;text-align:right}
.console-app #side{grid-area:insight;display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;gap:0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:52px;border-left:1px solid #49675f;background:linear-gradient(145deg,#102229,#0b1922 72%)}
.console-app #side>.desk-header{position:sticky;top:0;z-index:6;min-height:43px;flex:none}
.console-app #side .original-desk-title{padding:12px;gap:7px}
.console-app #side .original-desk-title>span{font-size:9px;max-width:125px}
.console-app #side #topbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 7px;min-height:0;margin:0;padding:12px;border:0;border-bottom:1px solid #35514f;background:#11242c;flex:none;align-items:end}
.console-app #side #topbar .scenario-setup-heading{grid-column:1/-1;margin:0;color:#b9d6d0;font-size:10px;font-weight:550;letter-spacing:.05em;text-transform:uppercase}
.console-app #side #topbar .tb-group:not([hidden]){grid-column:1/-1;order:0;min-width:0;width:100%;margin:0;display:flex;flex-direction:column;gap:3px}
.console-app #side #topbar .tb-group label{font-size:10px;margin:0;color:#9fbdbd}
.console-app #side #topbar #chronicInput,.console-app #side #topbar #modelSelect{width:100%;height:32px;min-width:0;max-width:100%;padding:5px 8px;font-size:11px}
.console-app #side #topbar .scenario-coverage{font-size:8px;line-height:1.3;margin:0}
.console-app #side #topbar #startBtn{grid-column:1;order:0;width:100%;min-height:32px;height:auto;margin:0;padding:6px 5px;font-size:11px;align-self:stretch}
.console-app #side #topbar .system-switch{grid-column:2;order:0;display:flex;align-items:center;justify-content:center;align-self:stretch;margin:0;width:100%;min-width:0;padding:6px 4px;font-size:9px;border-radius:4px;text-align:center;white-space:normal}
.console-app #mapwrap>.brand{position:absolute;top:12px;left:14px;z-index:4;min-width:0;width:auto;margin:0;padding:7px 10px;background:#08151be6;border:1px solid #38544c66;border-radius:4px;color:#edf4f6;font-size:18px;font-weight:700;letter-spacing:.06em;line-height:1.25;pointer-events:none}
.console-app #mapwrap>.brand span{display:block;margin:3px 0 0;font-size:9px;font-weight:400;letter-spacing:.02em;color:#94b5b9}
.console-app #side>.compact-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;height:auto;margin:10px 10px 0;padding:0;gap:0;border:1px solid #35514f;border-radius:4px;overflow:hidden;flex:none}
.console-app #side .compact-stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:78px;height:auto;gap:3px;padding:8px 10px;border:0;border-right:1px solid #29423f;border-bottom:1px solid #29423f}
.console-app #side .compact-stat:nth-child(even){border-right:0}.console-app #side .compact-stat:nth-child(n+3){border-bottom:0}
.console-app #side .compact-stat>span{font-size:9px;line-height:1.1;color:#a8c3c5}
.console-app #side .compact-stat>strong{align-self:flex-start;justify-content:flex-start;gap:4px;display:flex;line-height:1.15}
.console-app #side .compact-stat b{font-size:20px;line-height:1.1}.console-app #side .compact-stat small{font-size:8px}
.console-app #side .compact-stat>em{font-size:8px;line-height:1.3;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#95acb6}
.console-app #side{overflow-anchor:none}
.console-app #componentInspector{display:flex;flex-direction:column;box-sizing:border-box;flex:0 0 400px;height:400px;min-height:400px;max-height:400px;min-width:0;overflow:hidden;border-bottom:1px solid #557b70;background:#10252a}
.console-app #componentInspectorTitle{flex:none;display:flex;align-items:center;justify-content:space-between;height:32px;box-sizing:border-box;margin:0;padding:3px 10px;border-bottom:1px solid #35514f;color:#d9e9e6;font-size:11px;line-height:16px;letter-spacing:.02em}
.console-app #inspectClear{width:25px;height:25px;border:0;background:transparent;color:#b9d2cf;font-size:19px;cursor:pointer}.console-app #inspectClear:disabled{opacity:.35;cursor:default}
.console-app #componentInspectorBody{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#415b60 #0c1b22}
.console-app #sharedComponentReadings{padding:8px 9px 5px}
.console-app .inspector-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:20px;gap:0 10px}
.console-app .inspector-field{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;font-size:9px}
.console-app .inspector-field>span{color:#96afb7;white-space:nowrap}.console-app .inspector-field>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbece8;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}
.console-app .inspector-chart{height:122px;box-sizing:border-box;margin-top:8px;padding:5px 6px 2px;border:1px solid #345057;border-radius:4px;background:#07171d}
.console-app .inspector-plot-heading{display:flex;align-items:center;justify-content:space-between;height:16px;font-size:10px;color:#c4dcdb}.console-app .inspector-plot-heading strong{color:#a6f0d1;font-size:12px;font-variant-numeric:tabular-nums}
.console-app .inspector-plot-source{height:17px;display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:8px;color:#8faeb8;margin:0}
.console-app #inspectVoltageBus{height:17px;min-width:0;max-width:105px;padding:0 2px;border:1px solid #38535b;border-radius:2px;background:#10262d;color:#b6d4d3;font-size:8px}
.console-app #inspectVoltageSource{margin-left:auto;overflow:hidden;text-overflow:ellipsis;color:#d6c38e}
.console-app .inspector-graphic{height:80px;min-height:80px;overflow:hidden;color:#9eb8c4}.console-app .inspector-graphic>svg{display:block;width:100%;height:100%;font-family:var(--sans)}
.console-app #componentInspectorTools{margin:0 9px 8px;border-top:1px solid #345057;color:#bad3d2;font-size:10px}
.console-app #componentInspectorTools>summary{height:25px;line-height:25px;cursor:pointer;user-select:none}
.console-app #componentInspectorTools>.panel{position:static!important;inset:auto;width:auto!important;max-width:none;max-height:none;overflow:visible;border:0!important;border-radius:0!important;padding:6px 0!important;margin:0;box-shadow:none;backdrop-filter:none;background:transparent!important}
.console-app #componentInspectorTools #focusPanel>h3,.console-app #componentInspectorTools #subFocusTitle,.console-app #componentInspectorTools #focusHistory,.console-app #componentInspectorTools #subHistory,.console-app #componentInspectorTools #subVoltage{display:none}
.console-app #side>.panel,.console-app #operationsDock .desk-tab-panel>.panel{border:0;border-bottom:1px solid #2f4749;border-radius:0;background:transparent;padding:12px;min-width:0;flex:none}
.console-app #side>.panel>h3,.console-app #operationsDock .panel>h3{font-size:11px;color:#d9e9e6;line-height:1.4;letter-spacing:.02em;margin:0 0 10px;padding-left:8px;border-left:2px solid #7eac9f;display:flex;align-items:center;justify-content:space-between;gap:6px}
.console-app #componentInspectorBody>#focusPanel.is-warning>h3{color:#ffb6c0}
.console-app #subFocusPanel .substation-live-details{margin-top:12px}.console-app #subFocusPanel .substation-live-details>summary{font-size:11px}
.console-app #subFocusPanel .component-history,.console-app #focusPanel .component-history{padding:8px 5px}
.console-app #side #statsPanel canvas{width:100%;height:68px}.console-app #side .cards{max-height:none}
.console-app #deckPanel>h3{display:none!important}.console-app #deckPanel{padding-top:10px}
.console-app #deckPanel .desk-group-label:first-of-type{margin-top:0}
.console-app #deckPanel .deck-row.auto-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;gap:5px}
.console-app #deckPanel .auto-row .btn{min-height:37px;font-size:11px;padding:6px 4px}
.console-app #deckPanel .desk-help{font-size:9px;margin:6px 0 9px}.console-app #deckPanel .desk-manual-actions{gap:5px}
.console-app #deckPanel .desk-manual-actions .btn{min-height:32px;font-size:10px;padding:5px}.console-app #deckPanel #scanBtn{min-height:30px}
.console-app #contPanel .crow{font-size:9px}
.console-app #operationsDock .desk-tab-panel>.panel{padding:8px 11px}
.console-app #deckPanel .desk-group-label{display:none}
.console-app #deckPanel .auto-row .btn{min-height:31px;font-size:11px}
.console-app #deckPanel .desk-help{margin:5px 0 7px;font-size:9px}
.console-app #deckPanel .desk-manual-actions .btn{min-height:28px;padding:4px;font-size:10px}
.console-app #deckPanel #scanBtn{min-height:27px}
.console-app #operationsDock #contPanel{padding-top:7px;padding-bottom:7px}
.console-app #contPanel>h3{margin-bottom:0;font-size:10px}
.console-app #voltagePanel>.voltage-heading{display:none}
.console-app #voltagePanel .voltage-tabs{margin:0 0 10px;gap:0;border:1px solid #415f60;border-radius:3px;overflow:hidden}
.console-app #voltagePanel .voltage-tabs button{border:0;border-radius:0;padding:7px 5px;min-height:32px;font-size:10px;background:#0c2028;color:#9dbabe}
.console-app #voltagePanel .voltage-tabs button[aria-pressed=true]{background:#2a4943;color:#d3f2e4;box-shadow:inset 0 -2px #91cbb0}
.console-app #voltagePanel .voltage-overview{margin:7px 0}.console-app #voltagePanel .voltage-overview strong{font-size:15px}
.console-app #voltagePanel .voltage-field{margin:8px 0}.console-app #voltagePanel .voltage-field select,.console-app #voltagePanel .voltage-field input{height:31px}
.console-app #voltagePanel .voltage-reading{margin:6px 0}.console-app #voltagePanel .voltage-reading strong{font-size:20px}
.console-app #voltagePanel .voltage-actions{margin-top:7px}.console-app #voltagePanel .voltage-actions .btn{min-height:31px}
.console-app #voltagePanel .voltage-note{font-size:9px;margin-top:6px}
@media(min-width:1201px){
 .console-app #voltagePanel .voltage-tabs{margin-bottom:5px}.console-app #voltagePanel .voltage-tabs button{min-height:28px;padding:5px}
 .console-app #voltageLive{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 8px;align-items:end}
 .console-app #voltageLive>.voltage-overview,.console-app #voltageLive>#voltageAlerts,.console-app #voltageLive>.voltage-actions,.console-app #voltageLive>.voltage-note,.console-app #voltageLive>.voltage-details{grid-column:1/-1}
 .console-app #voltageLive>.voltage-overview{margin:0;min-height:20px}.console-app #voltageAlerts:empty{display:none}
 .console-app #voltageLive>.voltage-field{margin:0;gap:3px}.console-app #voltageLive>.voltage-field select{height:28px}
 .console-app #voltageLive>.voltage-reading{margin:0;gap:4px;min-height:28px;align-self:end}.console-app #voltageLive>.voltage-reading strong{font-size:18px}
 .console-app #voltageLive>.voltage-actions{margin-top:2px}.console-app #voltageLive>.voltage-actions .btn{min-height:28px;padding:4px}
 .console-app #voltageLive>.voltage-note{margin:0;font-size:8px;line-height:1.4}
 .console-app #voltageLive>.voltage-details{margin:3px 0 0;padding-top:5px}
}
.console-app #deskActivityPanel #missionPanel{padding-top:10px;padding-bottom:10px;background:#172d252b}
.console-app #missionText{font-size:10px;line-height:1.5}.console-app #deskActivityPanel #logPanel{min-height:110px;display:block}
.console-app #eventLog{font-size:10px;max-height:none;overflow:visible}.console-app #deskActivityPanel .lineslist{font-size:10px}
.console-app .original-map-heading{top:18px;left:220px;right:12px;font-size:11px;max-width:calc(100% - 232px)}
.console-app #mapDisplayControls{top:72px;left:14px;right:12px;gap:4px}
.console-app #mapDisplayControls .map-tool{min-height:28px;padding:5px 7px;font-size:9px}
.console-app #mapDisplayControls label{min-height:28px;padding:5px;font-size:9px}
.console-app #mapLegends{bottom:22px;left:10px;right:10px}.console-app #legend{font-size:8px;gap:3px 8px;padding:4px 6px}
.console-app #originalMapAttribution{font-size:7px;left:12px;bottom:7px}
@media(min-width:801px) and (max-height:780px){.console-app{--console-dock:190px}.console-app main.console-layout{grid-template-rows:minmax(200px,1fr) var(--console-dock)}}
@media(min-width:801px) and (max-width:1200px){.console-app{--console-rail:280px}.console-app .workspace-subtitle{display:none}.console-app .workspace-heading{font-size:12px;padding-inline:9px}.console-app #operationsDock .panel{padding:10px}.console-app #deckPanel .auto-row .btn{font-size:10px}.console-app #deckPanel .deck-row.auto-row{grid-template-columns:1fr 1fr 30px}.console-app #voltagePanel .voltage-overview{flex-wrap:wrap;gap:3px}.console-app #mapDisplayControls{gap:3px}}
@media(max-width:800px){
 html:has(body.console-app),body.console-app{height:auto;min-height:100%}.console-app{display:block!important;overflow:auto!important}
 .console-app main.console-layout{display:flex;flex-direction:column;margin:6px;overflow:visible}
 .console-app #mapwrap{height:520px;flex:none;width:100%}
 .console-app #operationsDock{grid-template-columns:repeat(3,minmax(0,1fr));height:260px;flex:none;border-bottom:1px solid #49675f}
 .console-app .workspace-subtitle{display:none}.console-app .workspace-heading{font-size:11px;gap:6px;padding:9px}
 .console-app #side{overflow:visible;border-left:0;flex:none}.console-app #side>.desk-header{position:static}
 .console-app #side>.compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.console-app #side .compact-stat{border-bottom:0;border-right:1px solid #29423f}.console-app #side .compact-stat:nth-child(2){border-right:1px solid #29423f}
 .console-app #topbar{flex-wrap:wrap}.console-app #startBtn{width:auto;margin-top:0}
}
@media(max-width:600px){
 .console-app #mapwrap{height:540px}.console-app #mapDisplayControls{top:100px}
 .console-app .original-map-heading{top:67px;left:14px;right:12px;max-width:calc(100% - 26px);padding:0 7px}.console-app .original-map-heading span{display:none}
 .console-app #operationsDock{display:flex;flex-direction:column;height:auto;overflow:visible}
 .console-app #operationsDock>.desk-tab-panel{max-height:400px;border-right:0;border-bottom:1px solid #49675f;overflow:auto}.console-app .workspace-subtitle{display:inline}
 .console-app #side>.compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.console-app #side .compact-stat{border-bottom:1px solid #29423f}.console-app #side .compact-stat:nth-child(even){border-right:0}.console-app #side .compact-stat:nth-child(n+3){border-bottom:0}
 .console-app #topbar .tb-group:not([hidden]){min-width:calc(50% - 8px)}.console-app #startBtn{width:100%}
}
