#generationOverviewPage { --go-bg:#111827; --go-surface:#1f2533; --go-surface-hi:#252d3b; --go-input:#151b26; --go-line:rgba(255,255,255,.10); --go-text:#f1f4f3; --go-muted:#9aa7b5; --go-accent:#00d4aa; --go-power:#56a6ff; background:var(--go-bg); color:var(--go-text); font-size:21px; }
/* 电站列表在可视窗口内铺满，纵向浏览仅发生在表格容器 / Keep station scrolling inside the table. */
@media(min-width:721px){.go-management-view[data-generation-view-panel="stations"]{display:flex;flex-direction:column;height:calc(100vh - 62px);min-height:0;box-sizing:border-box;overflow:hidden;}.go-management-view[data-generation-view-panel="stations"] .go-management-head{flex:0 0 auto;}.go-management-view[data-generation-view-panel="stations"] .go-management-host,.go-management-view[data-generation-view-panel="stations"] .generation-tool-module,.go-management-view[data-generation-view-panel="stations"] .generation-station-list{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;}.go-management-view[data-generation-view-panel="stations"] .generation-station-list-head{flex:0 0 auto;}.go-management-view[data-generation-view-panel="stations"] .generation-station-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-color:#24756c #172126;scrollbar-width:thin;}.go-management-view[data-generation-view-panel="stations"] .generation-station-table-wrap::-webkit-scrollbar{width:10px;height:10px;}.go-management-view[data-generation-view-panel="stations"] .generation-station-table-wrap::-webkit-scrollbar-track{background:#172126;}.go-management-view[data-generation-view-panel="stations"] .generation-station-table-wrap::-webkit-scrollbar-thumb{background:#24756c;border:2px solid #172126;border-radius:5px;}.go-management-view[data-generation-view-panel="stations"] .generation-station-table-wrap::-webkit-scrollbar-thumb:hover{background:#32a291;}.go-management-view[data-generation-view-panel="stations"] .generation-station-table-wrap thead th{position:sticky;top:0;z-index:3;background:#13283f;box-shadow:0 1px 0 #25496b,0 5px 8px rgba(5,12,20,.38);}}
.generation-environment-card { display:grid; gap:16px; max-width:920px; padding:18px; border:1px solid var(--go-line); border-radius:6px; background:rgba(19,31,35,.55); }.generation-environment-head strong,.generation-environment-head span { display:block; }.generation-environment-head strong { color:#dffbf6; font-size:20px; }.generation-environment-head span { margin-top:4px; color:#77d9ca; font-size:16px; }.generation-environment-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }.generation-environment-card dl div { min-width:0; padding:11px; border:1px solid rgba(92,120,125,.45); background:rgba(0,0,0,.11); }.generation-environment-card dt { color:#93a2a6; font-size:15px; }.generation-environment-card dd { margin:5px 0 0; overflow:hidden; color:#e4f0ee; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }.generation-environment-actions { display:flex; gap:9px; align-items:center; }.generation-environment-card p { margin:0; color:#9aa5a9; font-size:16px; line-height:1.65; }.generation-allowlist-editor { display:flex; align-items:end; gap:12px; padding:12px; border:1px solid var(--go-line); background:rgba(255,255,255,.025); }.generation-allowlist-editor label { flex:1; display:grid; gap:6px; color:#b7c2c2; font-size:16px; }.generation-allowlist-editor textarea { min-height:66px; resize:vertical; padding:8px 10px; color:#e7eeee; border:1px solid #596467; border-radius:3px; background:#252b2d; font:16px Consolas,monospace; }.generation-environment-guide { padding:14px 15px; border-left:3px solid #16c7ae; background:rgba(22,199,174,.055); }.generation-environment-guide h3 { margin:0 0 8px; color:#dffff9; font-size:18px; }.generation-environment-guide ol { display:grid; gap:7px; margin:0; padding-left:20px; color:#aebabb; font-size:16px; line-height:1.6; }.generation-environment-guide b { color:#e5f0ee; }.generation-environment-guide p { margin-top:10px; color:#77d9ca; }@media(max-width:720px){.generation-environment-card dl{grid-template-columns:1fr}.generation-environment-actions,.generation-allowlist-editor{display:grid}.generation-environment-actions .generation-tool-subtle,.generation-environment-actions .generation-file-label{width:100%;}}
.go-station-help { position:relative; flex:0 0 auto; align-self:center; }.go-station-help-button { display:grid; place-items:center; width:28px; height:28px; padding:0; color:#88a7a3; border:1px solid #4d6664; border-radius:50%; background:#283437; font-size:20px; font-weight:700; line-height:1; cursor:pointer; }.go-station-help-button:hover,.go-station-help-button:focus-visible,.go-station-help.is-open .go-station-help-button { color:#dffff9; border-color:#16c7ae; background:#17443f; outline:0; }.go-station-help-popover { position:absolute; z-index:8; top:calc(100% + 8px); right:0; display:none; width:min(420px,calc(100vw - 56px)); padding:12px 14px; color:#aebabb; border:1px solid #426661; border-left:3px solid #16c7ae; border-radius:4px; background:#1e292b; box-shadow:0 12px 28px rgba(0,0,0,.34); font-size:16px; line-height:1.6; }.go-station-help-popover strong,.go-station-help-popover span { display:block; }.go-station-help-popover strong { margin-bottom:5px; color:#58dec8; font-size:17px; }.go-station-help-popover span + span { margin-top:5px; }.go-station-help:hover .go-station-help-popover,.go-station-help:focus-within .go-station-help-popover,.go-station-help.is-open .go-station-help-popover { display:block; }
.go-settings-layout { display:grid; grid-template-columns:176px minmax(0,1fr); min-height:calc(100vh - 190px); gap:0; border-top:1px solid var(--go-line); }.go-settings-tabs { display:flex; flex-direction:column; gap:4px; margin:0; padding:14px 10px; border-right:1px solid var(--go-line); border-bottom:0; background:rgba(18,22,25,.28); }.go-settings-tabs button { min-height:42px; padding:0 12px; color:#98a4a7; background:transparent; border:1px solid transparent; border-left:2px solid transparent; border-bottom:0; border-radius:4px; font-size:17px; font-weight:600; text-align:left; cursor:pointer; }.go-settings-tabs button:hover { color:#dce8e6; background:rgba(255,255,255,.04); }.go-settings-tabs button.is-active { color:#dffff9; border-color:rgba(22,199,174,.34); border-left-color:#16c7ae; background:rgba(22,199,174,.1); }.go-settings-content { min-width:0; padding:2px 0 0 24px; }
.go-app-shell { display:grid; grid-template-columns:224px minmax(0,1fr); min-height:calc(100vh - 62px); background:#202326; }.go-side-nav { display:flex; flex-direction:column; gap:5px; padding:18px 10px; background:#25292d; border-right:1px solid var(--go-line); }.go-side-brand { display:flex; align-items:center; gap:9px; min-height:42px; margin:0 7px 14px; padding-bottom:14px; color:#dffbf6; border-bottom:1px solid var(--go-line); font-size:18px; }.go-side-brand span { display:grid; place-items:center; width:28px; height:28px; color:#16c7ae; background:#193d39; border:1px solid #2a6b63; border-radius:4px; }.go-side-brand svg,.go-side-tab svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.go-side-tab { display:grid; grid-template-columns:28px minmax(0,1fr); grid-template-areas:'icon title' 'icon note'; column-gap:8px; align-items:center; min-height:58px; padding:8px 10px; color:#9ea9aa; background:transparent; border:1px solid transparent; border-radius:4px; text-align:left; cursor:pointer; }.go-side-tab > span { grid-area:icon; display:grid; place-items:center; width:28px; height:28px; color:#86a09d; }.go-side-tab b { grid-area:title; font-size:17px; font-weight:600; }.go-side-tab small { grid-area:note; overflow:hidden; color:#778286; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }.go-side-tab:hover { color:#dce8e6; background:#303438; border-color:#474e52; }.go-side-tab.is-active { color:#dffff9; background:rgba(22,199,174,.13); border-color:rgba(22,199,174,.43); }.go-side-tab.is-active > span { color:#3fe0c8; }.go-side-tab.is-active small { color:#9fcfc7; }.go-main-panels { min-width:0; }.go-view-panel[hidden] { display:none!important; }.go-management-view { min-height:100%; padding:24px 28px 36px; background:linear-gradient(145deg,#24282b 0%,#202326 70%); }.go-management-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--go-line); }.go-management-head p { margin:0 0 3px; color:var(--go-accent); font-size:14px; font-weight:700; letter-spacing:1.5px; }.go-management-head h2 { margin:0; color:#f1f4f3; font-size:27px; line-height:1.35; }.go-management-head span { display:block; margin-top:3px; color:var(--go-muted); font-size:16px; }.go-management-host { min-width:0; }.go-management-view .generation-tool-module { width:100%; margin:0; padding:0; border:0; }.go-management-view .generation-tool-module-head { margin:0 0 14px; padding:0 0 12px; border-bottom:1px solid rgba(71,103,134,.45); }.go-management-view .generation-tool-module-head strong { color:#e6edf3; font-size:20px; }.go-management-view .generation-tool-module-head span { color:#9aa5a9; font-size:16px; }.go-management-view .generation-station-list { margin:0; padding:0; border:0; }.go-management-view .generation-station-list-head { margin-bottom:12px; }.go-management-view .generation-history-stack { display:grid; gap:22px; }.go-management-view .generation-history-stack .generation-tool-module + .generation-tool-module { padding-top:20px; border-top:1px solid #28425b; }.go-settings-tabs { display:flex; gap:3px; margin:-5px 0 20px; border-bottom:1px solid var(--go-line); }.go-settings-tabs button { min-height:36px; padding:0 15px; color:#98a4a7; background:transparent; border:0; border-bottom:2px solid transparent; font-size:17px; font-weight:600; cursor:pointer; }.go-settings-tabs button:hover { color:#dce8e6; background:rgba(255,255,255,.04); }.go-settings-tabs button.is-active { color:#dffff9; border-bottom-color:#16c7ae; background:rgba(22,199,174,.1); }
.go-bar .go-bar-value { fill:#d8efea; font-size:14px; font-weight:700; }.go-bar .go-weather-temperature { fill:#aab8b8; font-size:12px; text-anchor:start; }.go-weather-icon { fill:none; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }.go-weather-icon.is-sun { stroke:#e7bd55; }.go-weather-icon.is-cloud { stroke:#a8b5bc; }.go-weather-icon.is-cloud > g:first-child { stroke:#e7bd55; }.go-weather-icon.is-rain { stroke:#9abed2; }
.go-runtime-interactive { position:relative; width:100%; height:100%; }.go-runtime-svg { touch-action:none; cursor:grab; }.go-runtime-svg.is-dragging { cursor:grabbing; }.go-axis-title { font-size:14px; font-weight:600; }.go-axis-power { fill:#83b9ff; }.go-axis-energy { fill:#55dbc4; }.go-runtime-tooltip { position:absolute; z-index:4; display:grid; gap:4px; min-width:148px; padding:8px 10px; color:#e8f3f2; border:1px solid #5a6668; border-radius:4px; background:rgba(23,27,30,.96); box-shadow:0 5px 18px rgba(0,0,0,.32); font-size:15px; line-height:1.3; pointer-events:none; }.go-runtime-tooltip[hidden] { display:none; }.go-runtime-tooltip strong { color:#f1f7f6; font-family:Consolas,monospace; font-size:16px; }.go-runtime-tooltip span { display:flex; align-items:center; gap:5px; white-space:nowrap; }.go-runtime-tooltip i { width:7px; height:7px; border-radius:50%; }.go-runtime-tooltip i.power { background:#5ca9ff; }.go-runtime-tooltip i.energy { background:#39d2b5; }
.go-template-entry { margin:0 0 12px; padding:7px 12px; border:1px solid #16c7ae; border-radius:4px; background:#0d4c48; color:#d8fffa; font-size:16px; cursor:pointer; }.go-template-entry:hover { background:#12655e; }.go-history-period { display:flex; border:1px solid #50565a; border-radius:4px; overflow:hidden; }.go-history-period button { min-width:32px; padding:4px 8px; color:#a8b1b2; background:#292d30; border:0; border-right:1px solid #50565a; font-size:15px; cursor:pointer; }.go-history-period button:last-child { border-right:0; }.go-history-period button.is-active { color:#082c28; background:var(--go-accent); font-weight:700; }.go-runtime-refresh { width:30px; height:30px; display:grid; place-items:center; padding:0; color:#b8c1c2; background:#353a3e; border:1px solid #50565a; border-radius:4px; cursor:pointer; }.go-runtime-refresh svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; }
.go-defs { position:absolute; width:0; height:0; overflow:hidden; }.go-workspace { min-height:calc(100vh - 70px); padding:22px 26px 34px; background:linear-gradient(145deg,#24282b 0%,#202326 70%); }.go-page-head { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-bottom:20px; border-bottom:1px solid var(--go-line); }.go-eyebrow { color:var(--go-accent); font-size:14px; font-weight:700; letter-spacing:1.5px; }.go-page-head h2 { margin:2px 0; font-size:29px; line-height:1.35; }.go-page-head > div > span { color:var(--go-muted); font-size:16px; }.go-search { display:flex; align-items:center; gap:8px; }.go-search label { color:var(--go-muted); font-size:16px; white-space:nowrap; }.go-search input { width:226px; height:34px; padding:0 10px; color:var(--go-text); background:#1d2023; border:1px solid #50565a; border-radius:4px; font:14px Consolas,monospace; }.go-search #generationDate { width:126px; font-family:inherit; }.go-search button { height:34px; display:flex; align-items:center; gap:6px; padding:0 11px; color:#062d29; background:var(--go-accent); border:1px solid var(--go-accent); border-radius:4px; font-weight:700; cursor:pointer; }.go-search button:hover { filter:brightness(1.08); }.go-search svg,.go-flow-node svg,.go-station-mark svg,.go-device-icon svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.go-search .go-icon-button { width:34px; justify-content:center; padding:0; color:#b8c1c2; background:#353a3e; border-color:#50565a; }.go-notice { margin:14px 0; padding:8px 11px; color:#edcf82; border-left:3px solid #d7a844; background:#382f1f; font-size:16px; }.go-context { display:grid; grid-template-columns:minmax(230px,1.55fr) repeat(3,minmax(135px,.82fr)) minmax(140px,.8fr); margin:18px 0; border:1px solid var(--go-line); background:var(--go-surface); }.go-station-title,.go-context-metric,.go-context-status { min-height:82px; padding:14px 17px; border-right:1px solid var(--go-line); }.go-station-title { display:flex; align-items:center; gap:11px; }.go-station-mark { display:grid; place-items:center; width:38px; height:38px; color:var(--go-accent); background:#173c38; border-radius:5px; }.go-station-title strong,.go-station-title span { display:block; }.go-station-title strong { font-size:20px; }.go-station-title span,.go-context-metric span,.go-context-status span { color:var(--go-muted); font-size:15px; }.go-station-title b { color:#c8d2d2; font-family:Consolas,monospace; font-weight:400; }.go-context-metric strong { display:block; margin-top:2px; font-size:27px; letter-spacing:0; }.go-context-metric small { margin-left:3px; color:var(--go-muted); font-size:15px; font-weight:500; }.go-context-metric.power strong { color:#83b9ff; }.go-context-metric.energy strong { color:#42d2ba; }.go-context-status { border:0; }.go-context-status strong { display:block; line-height:1.1; font-size:29px; }.go-context-status i { color:#687174; font-size:21px; font-style:normal; }.go-context-status b { color:#8a9698; font-size:15px; font-weight:500; }.go-context-status b.is-ok { color:#43c9a8; }.go-analysis-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.go-lower-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(340px,.8fr); gap:14px; margin-top:14px; }.go-section { min-width:0; background:var(--go-surface); border:1px solid var(--go-line); }.go-section > header { min-height:61px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 15px; border-bottom:1px solid var(--go-line); }.go-section header p { color:var(--go-muted); font-size:14px; line-height:1.2; text-transform:uppercase; }.go-section h3 { font-size:19px; line-height:1.55; }.go-section-total { text-align:right; }.go-section-total strong { display:block; color:#42d2ba; font-size:23px; line-height:1.1; }.go-section-total span,.go-legend,.go-muted { color:var(--go-muted); font-size:15px; }.go-chart-area { height:238px; padding:12px 15px 3px; }.go-svg-chart { width:100%; height:100%; overflow:visible; }.go-axis { stroke:#5a6266; stroke-width:1; }.go-axis-label { fill:#879195; font-size:14px; }.go-grid { stroke:#444b4f; stroke-width:1; stroke-dasharray:4 5; }.go-bar rect { fill:#3fcbb1; transition:height .22s ease,y .22s ease; }.go-bar:nth-of-type(2n) rect { fill:#58a8f5; }.go-bar text { fill:#879195; font-size:13px; text-anchor:middle; }.go-power-line,.go-energy-line { fill:none; stroke-width:2.3; stroke-linecap:round; stroke-linejoin:round; }.go-power-line { stroke:#5ca9ff; }.go-energy-line { stroke:#39d2b5; }.go-legend { display:flex; gap:12px; white-space:nowrap; }.go-dot { display:inline-block; width:7px; height:7px; margin-right:4px; border-radius:50%; }.go-dot.power { background:#5ca9ff; }.go-dot.energy { background:#39d2b5; }.go-section > footer { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 15px; color:var(--go-muted); border-top:1px solid var(--go-line); font-size:15px; }.go-section footer svg { width:13px; vertical-align:-2px; margin-right:3px; }.go-section footer button { color:#83dcd0; background:transparent; border:0; font-size:15px; cursor:pointer; }.go-section footer button:hover { color:#d4fff7; }.go-empty { height:100%; display:grid; place-items:center; color:#778185; font-size:16px; text-align:center; }.go-flow-switch { display:flex; border:1px solid #50565a; border-radius:4px; overflow:hidden; }.go-flow-switch button { padding:4px 9px; color:#a8b1b2; background:#292d30; border:0; border-right:1px solid #50565a; font-size:15px; cursor:pointer; }.go-flow-switch button:last-child { border:0; }.go-flow-switch button.is-active { color:#082c28; background:var(--go-accent); font-weight:700; }.go-flow-canvas { position:relative; min-height:230px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:center; padding:40px 28px 28px; overflow:hidden; background:linear-gradient(180deg,rgba(25,60,60,.22),transparent 65%); }.go-flow-canvas.is-night { background:linear-gradient(180deg,rgba(22,31,46,.8),transparent 65%); }.go-flow-sun { position:absolute; top:16px; left:18px; display:flex; gap:6px; align-items:center; color:#d2c15f; font-size:15px; }.go-flow-sun svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }.go-flow-canvas.is-night .go-flow-sun { color:#7e8ba5; }.go-flow-track { position:absolute; top:51%; height:2px; background:#525b5d; z-index:0; }.go-flow-track.t1 { left:19%; width:20%; }.go-flow-track.t2 { left:42%; width:20%; }.go-flow-canvas.is-running .go-flow-track { background:linear-gradient(90deg,#2fbdad 0 25%,#536463 25% 50%,#2fbdad 50% 75%,#536463 75%); background-size:42px 100%; animation:go-flow 1.9s linear infinite; box-shadow:0 0 8px rgba(50,201,178,.3); }@keyframes go-flow { to { background-position:42px 0; } }.go-flow-node { position:relative; z-index:1; display:grid; justify-items:center; gap:6px; color:#c9d4d2; text-align:center; }.go-flow-node svg { width:36px; height:36px; padding:8px; color:#4bddc6; border:1px solid #4bddc6; border-radius:5px; background:#25423f; }.go-flow-node strong { font-size:16px; }.go-flow-node span { color:#8ea0a0; font-size:14px; }.go-flow-node.is-disabled { color:#7a8284; }.go-flow-node.is-disabled svg { color:#697174; background:#303437; border-color:#697174; }.go-flow-canvas.is-night .solar svg { color:#73849a; background:#2c3542; border-color:#73849a; }.go-device-list { min-height:230px; }.go-device-row { display:grid; grid-template-columns:28px minmax(0,1fr) 77px 53px; align-items:center; gap:8px; min-height:45px; padding:7px 13px; border-bottom:1px solid #41474b; }.go-device-row:last-child { border:0; }.go-device-icon { display:grid; place-items:center; width:26px; height:26px; color:#58d4c0; background:#263d3b; border-radius:3px; }.go-device-icon svg { width:15px; height:15px; }.go-device-row strong,.go-device-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.go-device-row strong { font-size:16px; }.go-device-row small { color:#909a9c; font:12px Consolas,monospace; }.go-device-power { color:#add8ff; font-size:15px; text-align:right; }.go-state { font-size:14px; font-weight:600; text-align:right; }.go-state.is-ok { color:#4cd2ad; }.go-state.is-offline { color:#8a9395; }.go-state.is-failed { color:#f27777; }.go-state.is-pending_template { color:#d7b663; }.go-table-section { margin-top:14px; }.go-table-scroll { overflow:auto; }.go-table-section table { width:100%; min-width:780px; border-collapse:collapse; font-size:16px; }.go-table-section th,.go-table-section td { padding:10px 15px; border-bottom:1px solid #41474b; text-align:left; white-space:nowrap; }.go-table-section th { color:#9ea9aa; background:#313539; font-size:15px; font-weight:500; }.go-table-section tr:last-child td { border:0; }.go-table-empty { padding:26px!important; color:#899396; text-align:center!important; }.go-mono { font-family:Consolas,monospace; }
@media(max-width:1100px) { .go-app-shell { grid-template-columns:184px minmax(0,1fr); }.go-station-list-head { align-items:flex-start; flex-direction:column; }.go-station-list-tips { width:100%; }.go-settings-layout { grid-template-columns:156px minmax(0,1fr); }.go-settings-content { padding-left:18px; }.go-page-head { align-items:start; flex-direction:column; }.go-context { grid-template-columns:repeat(3,1fr); }.go-station-title { grid-column:span 3; }.go-context-status { border-right:1px solid var(--go-line); }.go-lower-grid { grid-template-columns:1fr; } }.go-date-label{margin-left:3px}@media(max-width:720px) { .go-app-shell { display:block; }.go-side-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; padding:7px 8px; border-right:0; border-bottom:1px solid var(--go-line); }.go-side-brand { display:none; }.go-side-tab { grid-template-columns:1fr; grid-template-areas:'icon' 'title'; justify-items:center; min-height:52px; padding:6px 4px; text-align:center; }.go-side-tab > span { width:22px; height:22px; }.go-side-tab b { font-size:16px; }.go-side-tab small { display:none; }.go-workspace { min-height:0; padding:14px 10px 24px; }.go-management-view { padding:16px 11px 26px; }.go-management-head { align-items:start; margin-bottom:16px; padding-bottom:13px; }.go-management-head h2 { font-size:23px; }.go-management-head span { font-size:15px; }.go-station-list-tips { grid-template-columns:1fr; width:100%; padding:8px 10px; }.go-station-list-tips strong { grid-row:auto; }.go-settings-layout { display:block; min-height:0; border-top:0; }.go-settings-tabs { flex-direction:row; gap:3px; margin:0 0 14px; padding:0; overflow-x:auto; border-right:0; border-bottom:1px solid var(--go-line); background:transparent; }.go-settings-tabs button { flex:0 0 auto; min-height:36px; padding:0 13px; border:0; border-bottom:2px solid transparent; border-radius:0; }.go-settings-tabs button.is-active { border:0; border-bottom:2px solid #16c7ae; }.go-settings-content { padding:0; }.go-search { width:100%; flex-wrap:wrap; }.go-search input { width:calc(100% - 54px); }.go-search #generationDate { width:calc(100% - 38px); }.go-context,.go-analysis-grid { grid-template-columns:1fr; }.go-station-title { grid-column:auto; }.go-station-title,.go-context-metric,.go-context-status { border-right:0; border-bottom:1px solid var(--go-line); }.go-context-status { border-bottom:0; }.go-analysis-grid { gap:12px; }.go-chart-area { height:205px; }.go-flow-canvas { grid-template-columns:repeat(2,1fr); min-height:320px; gap:25px; padding-top:55px; }.go-flow-track { display:none; }.go-section > header { padding:10px 12px; }.go-section > footer { padding:7px 12px; }.go-legend { gap:6px; font-size:14px; } }

/* Desktop generation overview: compact aligned navigation and an edge-to-edge workspace. */
@media (min-width:721px) {
  .go-workspace { padding:0; }
  .go-app-shell { width:100%; min-height:calc(100vh - 62px); }
  .go-management-view,
  .go-view-panel[data-generation-view-panel="detail"] { padding-left:0; padding-right:0; }
  .go-view-panel[data-generation-view-panel="detail"] { min-height:100%; padding-top:24px; padding-bottom:36px; background:linear-gradient(145deg,#24282b 0%,#202326 70%); }
  .go-view-panel[data-generation-view-panel="detail"] .go-page-head { margin:0 0 20px; padding:7px 0 18px; }
  .go-management-head { margin-bottom:20px; padding:7px 0 18px; }
  .go-settings-content { padding-left:0; }
  .go-side-nav { align-items:flex-start; padding:14px 10px; }
  .go-side-tab {
    display:flex;
    align-items:center;
    gap:8px;
    width:auto;
    min-height:36px;
    padding:6px 8px;
  }
  .go-side-tab > span { flex:0 0 20px; width:20px; height:20px; }
  .go-side-tab b { font-size:17px; line-height:20px; }
  .go-side-tab.is-active { padding:6px 8px; }
}

/* Keep this final so the compact desktop sidebar cannot be overridden by the base layout. */
@media (min-width:1101px) {
  .go-app-shell { grid-template-columns:140px minmax(0,1fr); }
  .go-side-nav { padding-left:8px; padding-right:8px; }
  .go-side-tab { padding-left:6px; padding-right:6px; }
  .go-settings-layout { grid-template-columns:148px minmax(0,1fr); }
  .go-settings-tabs { padding-left:8px; padding-right:8px; }
  .go-settings-tabs button { padding-left:8px; padding-right:8px; }
}

/* The dashboard body has a global gutter; generation overview uses the full available workspace. */
@media (min-width:721px) {
  #generationOverviewPage.active { width:calc(100% + 40px); margin:0 -20px -20px; }
}

/* Align generation overview with the product/anomaly deep-blue workspace. */
#generationOverviewPage .go-app-shell,
#generationOverviewPage .go-workspace,
#generationOverviewPage .go-management-view,
#generationOverviewPage .go-view-panel[data-generation-view-panel="detail"] {
  background: var(--go-bg);
}
#generationOverviewPage .go-side-nav {
  background: var(--go-surface);
  border-right-color: var(--go-line);
}
#generationOverviewPage .go-context,
#generationOverviewPage .go-section {
  background: var(--go-surface);
  border-color: var(--go-line);
}
#generationOverviewPage .go-energy-section,
#generationOverviewPage .go-runtime-section {
  border-radius: 6px;
  overflow: hidden;
}
#generationOverviewPage .go-section th,
#generationOverviewPage .go-table-section th {
  background: var(--go-surface-hi);
}
#generationOverviewPage .go-search input,
#generationOverviewPage .go-runtime-refresh,
#generationOverviewPage .go-flow-switch button,
#generationOverviewPage .go-history-period button {
  background: var(--go-input);
  border-color: var(--go-line);
}
#generationOverviewPage .go-sn-hint { color:#8f9dab; font-size:14px; white-space:nowrap; }
@media(max-width:1100px) { #generationOverviewPage .go-sn-hint { width:100%; } }
#generationOverviewPage .go-view-panel[data-generation-view-panel="detail"] { padding-top:0; }
@media(min-width:721px) {
  #generationOverviewPage .go-view-panel[data-generation-view-panel="detail"] { padding-right:8px; padding-left:8px; box-sizing:border-box; }
}
#generationOverviewPage .go-context { grid-template-columns:minmax(320px,1.35fr) minmax(190px,.9fr) repeat(3,minmax(140px,.75fr)) minmax(240px,1.1fr); margin-top:0; }
#generationOverviewPage .go-station-title { min-width:0; align-items:flex-start; flex-wrap:nowrap; }
#generationOverviewPage .go-station-mark { flex:0 0 38px; margin-top:1px; }
#generationOverviewPage .go-station-copy { min-width:0; flex:1 1 150px; }
#generationOverviewPage .go-station-copy > strong { overflow:hidden; font-size:28px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
#generationOverviewPage .go-station-summary { display:grid; gap:2px; margin:8px 0 0; }
#generationOverviewPage .go-station-summary > div { display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px; align-items:start; }
#generationOverviewPage .go-station-summary dt,
#generationOverviewPage .go-station-summary dd { margin:0; font-size:12px; line-height:1.35; }
#generationOverviewPage .go-station-summary dt { color:#8293a6; white-space:nowrap; }
#generationOverviewPage .go-station-summary dd { min-width:0; color:#cbd7e4; overflow-wrap:anywhere; }
#generationOverviewPage .go-realtime-weather { position:relative; min-height:116px; min-width:0; padding:14px 132px 14px 22px; overflow:hidden; color:#dceeff; border-right:1px solid var(--go-line); background:linear-gradient(135deg,rgba(29,44,61,.62),rgba(24,32,45,.38)); }
#generationOverviewPage .go-weather-main { position:relative; z-index:1; min-width:0; }
#generationOverviewPage .go-weather-city { display:block; max-width:240px; overflow:hidden; color:#dbe8ef; font-size:19px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
#generationOverviewPage .go-weather-temp { display:flex; flex-wrap:wrap; align-items:baseline; margin-top:10px; color:#f2f6f9; font-size:30px; font-weight:500; line-height:.9; letter-spacing:1px; white-space:nowrap; }
#generationOverviewPage .go-weather-temp small { margin-left:6px; color:#9caab4; font-size:14px; font-weight:500; }
#generationOverviewPage .go-weather-range { flex:0 0 100%; margin:5px 0 0; color:#c3ced7; font-size:13px; font-style:normal; font-weight:500; line-height:1; letter-spacing:0; white-space:nowrap; }
#generationOverviewPage .go-weather-range span { margin-right:5px; color:#8797a6; }
#generationOverviewPage .go-weather-meta { display:flex; flex-wrap:wrap; gap:5px 14px; margin-top:8px; color:#c1ccd4; font-size:16px; line-height:1.15; }
#generationOverviewPage .go-weather-humidity::before,
#generationOverviewPage .go-weather-meta span + span::before { content:'♧'; display:inline-block; margin-right:6px; color:#99a6ae; font-size:18px; transform:rotate(180deg); }
#generationOverviewPage .go-weather-time { position:absolute; top:80px; right:16px; z-index:1; width:144px; color:#a8b5bd; text-align:center; line-height:1.05; }
#generationOverviewPage .go-weather-time span,
#generationOverviewPage .go-weather-time b { display:block; max-width:144px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#generationOverviewPage .go-weather-time span { font-size:16px; font-weight:400; }
#generationOverviewPage .go-weather-time b { margin-top:3px; color:#d9e2e8; font-size:11px; font-weight:500; }
#generationOverviewPage .go-beijing-clock { position:absolute; right:14px; bottom:7px; z-index:2; display:flex; flex-direction:column; align-items:flex-end; gap:4px; min-width:112px; padding:3px 8px; color:#aebdca; line-height:1; text-align:right; white-space:nowrap; }
#generationOverviewPage .go-beijing-clock b { color:#f1f6fa; font:600 20px/1 Consolas,monospace; }
#generationOverviewPage .go-beijing-clock em { font-size:18px; font-style:normal; font-weight:400; letter-spacing:0; }
#generationOverviewPage .go-weather-scene { --go-weather-scene-scale:.8; position:absolute; top:20px; right:28px; width:112px; height:76px; z-index:0; transform:scale(var(--go-weather-scene-scale)); transform-origin:top right; will-change:top; }
#generationOverviewPage .go-weather-scene::before,
#generationOverviewPage .go-weather-scene::after { content:''; position:absolute; z-index:3; display:none; height:3px; border-radius:999px; background:linear-gradient(90deg,transparent,rgba(218,236,248,.92) 34%,rgba(218,236,248,.2)); opacity:0; pointer-events:none; }
#generationOverviewPage .go-weather-scene::before { top:18px; width:42px; }
#generationOverviewPage .go-weather-scene::after { top:32px; width:30px; animation-delay:-2.6s!important; }
#generationOverviewPage .go-weather-scene i { position:absolute; display:block; }
#generationOverviewPage .go-weather-scene .sun { width:50px; height:50px; left:6px; top:3px; border-radius:50%; background:radial-gradient(circle at 35% 35%,#fff7a8 0 18%,#ffe95f 42%,#ffc938 100%); box-shadow:0 0 18px rgba(255,224,80,.35); }
#generationOverviewPage .go-weather-scene .cloud { border-radius:999px; background:linear-gradient(180deg,#edf2f7,#b8c2ce); box-shadow:inset 0 -6px 12px rgba(127,143,158,.28); }
#generationOverviewPage .go-weather-scene .c1 { width:78px; height:38px; right:0; bottom:12px; }
#generationOverviewPage .go-weather-scene .c1::before,
#generationOverviewPage .go-weather-scene .c1::after,
#generationOverviewPage .go-weather-scene .c2::before { content:''; position:absolute; display:block; border-radius:50%; background:inherit; }
#generationOverviewPage .go-weather-scene .c1::before { width:40px; height:40px; left:10px; top:-18px; }
#generationOverviewPage .go-weather-scene .c1::after { width:50px; height:50px; right:6px; top:-27px; }
#generationOverviewPage .go-weather-scene .c2 { width:62px; height:30px; right:28px; bottom:10px; opacity:.78; }
#generationOverviewPage .go-weather-scene .c2::before { width:32px; height:32px; left:8px; top:-16px; }
#generationOverviewPage .go-weather-scene .rain { width:4px; height:20px; bottom:-8px; border-radius:4px; background:#73c8ff; opacity:0; transform:rotate(18deg); }
#generationOverviewPage .go-weather-scene .r1 { right:48px; }
#generationOverviewPage .go-weather-scene .r2 { right:74px; }
#generationOverviewPage .go-weather-scene .bolt { width:24px; height:42px; right:58px; bottom:-2px; opacity:0; background:#ffd34d; clip-path:polygon(44% 0,100% 0,64% 42%,100% 42%,28% 100%,48% 52%,12% 52%); }
#generationOverviewPage .go-realtime-weather.is-sunny .go-weather-scene,
#generationOverviewPage .go-realtime-weather.is-cloudy .go-weather-scene,
#generationOverviewPage .go-realtime-weather.is-rain .go-weather-scene,
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene { animation:go-weather-scene-bob 5.6s ease-in-out infinite; }
#generationOverviewPage .go-realtime-weather.is-sunny .go-weather-scene .sun,
#generationOverviewPage .go-realtime-weather.is-cloudy .go-weather-scene .sun { animation:go-weather-sun 6.8s ease-in-out infinite; }
#generationOverviewPage .go-realtime-weather.is-cloudy .go-weather-scene .c1,
#generationOverviewPage .go-realtime-weather.is-rain .go-weather-scene .c1,
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .c1 { animation:go-weather-cloud-primary 6.2s ease-in-out infinite; will-change:right,bottom; }
#generationOverviewPage .go-realtime-weather.is-cloudy .go-weather-scene .c2,
#generationOverviewPage .go-realtime-weather.is-rain .go-weather-scene .c2,
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .c2 { animation:go-weather-cloud-secondary 7.4s ease-in-out infinite; will-change:right,bottom; }
#generationOverviewPage .go-realtime-weather.is-cloudy .go-weather-scene::before,
#generationOverviewPage .go-realtime-weather.is-cloudy .go-weather-scene::after { display:block; animation:go-weather-wind 5.2s linear infinite; }
#generationOverviewPage .go-realtime-weather.is-rain .go-weather-scene .rain,
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .rain { animation:go-weather-rain 1.8s linear infinite; }
#generationOverviewPage .go-realtime-weather.is-rain .go-weather-scene .r2,
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .r2 { animation-delay:-.42s; }
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .bolt { animation:go-weather-bolt 4.8s steps(1,end) infinite; }
#generationOverviewPage .go-realtime-weather.is-sunny .go-weather-scene .cloud { opacity:.28; }
#generationOverviewPage .go-realtime-weather.is-cloudy .go-weather-scene .sun { opacity:.82; }
#generationOverviewPage .go-realtime-weather.is-rain .go-weather-scene .sun,
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .sun { opacity:.25; }
#generationOverviewPage .go-realtime-weather.is-rain .go-weather-scene .rain,
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .rain { opacity:1; }
#generationOverviewPage .go-realtime-weather.is-thunder .go-weather-scene .bolt { opacity:1; }
#generationOverviewPage .go-realtime-weather.is-loading .go-weather-scene { animation:go-weather-breathe 2.8s ease-in-out infinite; }
#generationOverviewPage .go-realtime-weather.is-unavailable,
#generationOverviewPage .go-realtime-weather.is-stale { filter:saturate(.72); }
@keyframes go-weather-breathe { 50% { opacity:.38; transform:translateY(-1px); } }
@keyframes go-weather-scene-bob { 0%,100% { top:20px; } 50% { top:12px; } }
@keyframes go-weather-sun { 0%,100% { transform:scale(1) rotate(0deg); filter:brightness(1); box-shadow:0 0 18px rgba(255,224,80,.35); } 50% { transform:scale(1.12) rotate(12deg); filter:brightness(1.18); box-shadow:0 0 30px rgba(255,224,80,.72); } }
@keyframes go-weather-cloud-primary { 0%,100% { right:0; bottom:12px; } 50% { right:14px; bottom:16px; } }
@keyframes go-weather-cloud-secondary { 0%,100% { right:28px; bottom:10px; opacity:.68; } 50% { right:12px; bottom:6px; opacity:.94; } }
@keyframes go-weather-wind { 0% { left:-28px; opacity:0; } 18% { opacity:.9; } 72% { opacity:.55; } 100% { left:98px; opacity:0; } }
@keyframes go-weather-rain { 0% { transform:translateY(-8px) rotate(18deg); opacity:0; } 18% { opacity:1; } 100% { transform:translateY(18px) rotate(18deg); opacity:0; } }
@keyframes go-weather-bolt { 0%,72%,100% { opacity:0; filter:drop-shadow(0 0 0 rgba(255,211,77,0)); } 73%,78% { opacity:1; filter:drop-shadow(0 0 8px rgba(255,211,77,.85)); } 82%,86% { opacity:.35; } 87%,90% { opacity:1; filter:drop-shadow(0 0 12px rgba(255,211,77,.95)); } }
#generationOverviewPage .go-power-bubble-card { position:relative; display:grid; grid-template-columns:126px minmax(72px,1fr); grid-template-rows:auto auto auto; align-items:center; column-gap:12px; padding-top:8px; padding-bottom:8px; overflow:hidden; }
#generationOverviewPage .go-power-bubble-card > .go-power-card-title { z-index:2; grid-column:1; grid-row:1; align-self:start; margin-top:6px; padding-left:0; color:var(--go-muted); font-size:19px; }
#generationOverviewPage .go-power-bubble-card > .go-rated-power-label { grid-column:2; grid-row:2; align-self:end; color:#7f91a5; font-size:14px; }
#generationOverviewPage .go-power-bubble-card > b { grid-column:2; grid-row:3; align-self:start; color:#9ab0c4; font-size:14px; font-weight:500; }
#generationOverviewPage .go-power-bubble-shell { position:relative; isolation:isolate; grid-column:1; grid-row:2 / span 2; display:grid; place-items:center; width:116px; height:116px; }
#generationOverviewPage .go-power-orbit { position:absolute; z-index:3; inset:-3.4px; width:calc(100% + 6.8px); height:calc(100% + 6.8px); overflow:visible; opacity:0; filter:drop-shadow(0 0 3px rgba(45,216,255,.95)) drop-shadow(0 0 7px rgba(37,157,255,.58)); pointer-events:none; transform-origin:center; transition:opacity .25s ease; will-change:transform; }
#generationOverviewPage .go-power-orbit-trail { fill:none; stroke:#38ddff; stroke-width:3.2; stroke-linecap:round; stroke-dasharray:58 269; transform:rotate(-90deg); transform-origin:55px 55px; }
#generationOverviewPage .go-power-orbit-head { fill:#f5feff; stroke:#65e9ff; stroke-width:1; }
#generationOverviewPage .go-power-bubble-shell.is-active .go-power-orbit { opacity:1; animation:go-power-orbit var(--go-power-orbit-duration,2.2s) linear infinite; }
#generationOverviewPage .go-power-bubble { position:relative; z-index:1; width:100%; height:100%; overflow:hidden; border:1px solid rgba(122,217,255,.68); border-radius:50%; background:radial-gradient(circle at 34% 20%,rgba(222,252,255,.38) 0 4%,rgba(71,213,255,.12) 10%,transparent 22%),radial-gradient(circle at 50% 42%,#0b4d91 0%,#072d66 62%,#041a3e 100%); box-shadow:inset 0 0 16px rgba(58,213,255,.14),inset 0 -14px 24px rgba(0,34,92,.48),0 0 18px rgba(36,184,255,.3); }
#generationOverviewPage .go-power-bubble::after { content:""; position:absolute; z-index:1; inset:0; border-radius:50%; background:radial-gradient(circle at 32% 18%,rgba(229,253,255,.2) 0 5%,rgba(95,221,255,.08) 12%,transparent 25%),linear-gradient(120deg,rgba(255,255,255,.055),transparent 32% 70%,rgba(0,183,255,.05)); pointer-events:none; }
#generationOverviewPage .go-power-water { position:absolute; left:0; bottom:0; width:100%; height:var(--go-power-level,0%); min-height:0; background:linear-gradient(180deg,rgba(0,159,232,.76) 0%,rgba(0,132,230,.84) 48%,rgba(0,102,220,.88) 100%); box-shadow:inset 0 5px 10px rgba(167,245,255,.06); transition:height 1s cubic-bezier(.22,.61,.36,1); }
#generationOverviewPage .go-power-water::before { content:""; position:absolute; z-index:1; top:-4px; left:0; width:100%; height:9px; background:linear-gradient(180deg,rgba(43,218,255,0),rgba(43,218,255,.16) 50%,rgba(43,218,255,0)); filter:blur(2px); pointer-events:none; }
#generationOverviewPage .go-power-waves { position:absolute; z-index:2; left:-100%; top:-12px; width:300%; height:24px; overflow:visible; pointer-events:none; }
#generationOverviewPage .go-power-wave-main { fill:rgba(0,159,232,.74); stroke:#b8fbff; stroke-width:1.5; stroke-linejoin:round; vector-effect:non-scaling-stroke; filter:drop-shadow(0 1px 2px rgba(105,236,255,.72)) drop-shadow(0 0 5px rgba(35,211,255,.42)); }
#generationOverviewPage .go-power-wave-secondary { fill:none; stroke:rgba(103,229,255,.3); stroke-width:1.1; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 3px rgba(35,211,255,.22)); }
#generationOverviewPage .go-power-bubble-text { position:absolute; inset:0; z-index:2; display:grid; place-content:center; justify-items:center; color:white; text-align:center; text-shadow:0 1px 3px rgba(4,23,74,.5),0 0 8px rgba(29,199,255,.18); }
#generationOverviewPage .go-power-bubble-text strong { margin-top:1px; color:#fff; font-size:var(--go-power-font-size,38px); line-height:1; letter-spacing:0; }
#generationOverviewPage .go-power-bubble-text em { margin-top:4px; color:rgba(239,252,255,.94); font-size:13px; font-style:normal; font-weight:700; }
@keyframes go-power-orbit { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { #generationOverviewPage .go-power-bubble-shell.is-active .go-power-orbit { animation-duration:4s!important; } }
@media(max-width:1400px) {
  #generationOverviewPage .go-power-bubble-card { grid-template-columns:107.2px minmax(0,1fr); column-gap:6px; padding-right:10px; padding-left:10px; }
  #generationOverviewPage .go-power-bubble-shell { width:103.2px; height:103.2px; }
}
#generationOverviewPage .go-context-status { border-right:0; }
@media(max-width:1400px) {
  #generationOverviewPage .go-context { grid-template-columns:minmax(290px,1.25fr) minmax(180px,.9fr) repeat(3,minmax(125px,.7fr)) minmax(230px,1.02fr); }
  #generationOverviewPage .go-realtime-weather { padding-right:130px; }
  #generationOverviewPage .go-weather-scene { --go-weather-scene-scale:.688; right:22px; }
  #generationOverviewPage .go-weather-time { right:12px; }
}
@media(max-width:1100px) {
  #generationOverviewPage .go-context { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #generationOverviewPage .go-station-title,
  #generationOverviewPage .go-realtime-weather { grid-column:span 2; }
  #generationOverviewPage .go-realtime-weather { border-right:0; border-bottom:1px solid var(--go-line); }
}
@media(max-width:720px) {
  #generationOverviewPage .go-context { grid-template-columns:1fr; }
  #generationOverviewPage .go-station-title,
  #generationOverviewPage .go-realtime-weather { grid-column:auto; }
  #generationOverviewPage .go-realtime-weather { min-height:150px; padding:14px 16px; }
  #generationOverviewPage .go-weather-main { padding-right:92px; }
  #generationOverviewPage .go-weather-temp { font-size:30px; }
  #generationOverviewPage .go-weather-meta { gap:5px 10px; font-size:15px; }
  #generationOverviewPage .go-weather-time { top:74px; right:12px; width:144px; margin:0; text-align:center; }
  #generationOverviewPage .go-weather-scene { --go-weather-scene-scale:.576; right:18px; top:20px; }
}
@media(max-width:720px) { #generationOverviewPage .go-power-bubble-card { grid-template-columns:92px minmax(0,1fr); } #generationOverviewPage .go-power-bubble-shell { width:84px; height:84px; } #generationOverviewPage .go-power-bubble-text strong { font-size:min(var(--go-power-font-size,38px),26px); } #generationOverviewPage .go-power-bubble-text em { font-size:11px; } }

/* Give the six station summary cards the same dimensional material treatment. */
#generationOverviewPage .go-context {
  gap:8px;
  border:0;
  background:transparent;
}
#generationOverviewPage .go-context > .go-station-title,
#generationOverviewPage .go-context > .go-realtime-weather,
#generationOverviewPage .go-context > .go-context-metric,
#generationOverviewPage .go-context > .go-context-status {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:8px;
  background-color:#303640;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.11) 0%,rgba(255,255,255,.035) 18%,rgba(255,255,255,0) 48%,rgba(0,0,0,.14) 100%),
    linear-gradient(105deg,#292e36 0%,#3d444e 58%,#343a43 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 1px 0 0 rgba(255,255,255,.045),
    inset 0 -1px 0 rgba(0,0,0,.48),
    inset -1px 0 0 rgba(0,0,0,.26),
    0 2px 4px rgba(0,0,0,.38),
    0 7px 14px rgba(0,0,0,.24);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
#generationOverviewPage .go-context > .go-realtime-weather {
  background-color:#293643;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 18%,rgba(255,255,255,0) 48%,rgba(0,0,0,.16) 100%),
    linear-gradient(105deg,#222d38 0%,#394a5b 58%,#2c3a47 100%);
}
@media(hover:hover) {
  #generationOverviewPage .go-context > .go-station-title:hover,
  #generationOverviewPage .go-context > .go-realtime-weather:hover,
  #generationOverviewPage .go-context > .go-context-metric:hover,
  #generationOverviewPage .go-context > .go-context-status:hover {
    z-index:2;
    border-color:rgba(255,255,255,.2);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.2),
      inset 1px 0 0 rgba(255,255,255,.06),
      inset 0 -1px 0 rgba(0,0,0,.52),
      inset -1px 0 0 rgba(0,0,0,.3),
      0 4px 7px rgba(0,0,0,.42),
      0 11px 20px rgba(0,0,0,.3);
    transform:translateY(-2px);
  }
}

/* Scene-style energy flow, replacing the plain line diagram. */
#generationOverviewPage .go-flow-scene { position:relative; display:block; min-height:360px; padding:0; isolation:isolate; overflow:hidden; background:#efe1c8; }
#generationOverviewPage .go-flow-scene::before { content:""; position:absolute; inset:0; z-index:-3; background:radial-gradient(circle at 13% 17%,rgba(255,255,255,.9) 0 5%,rgba(255,242,142,.82) 6%,rgba(255,205,120,.35) 16%,transparent 28%),radial-gradient(circle at 44% 80%,rgba(255,255,255,.28),transparent 38%),linear-gradient(180deg,#fff4dd 0%,#f3d8b8 50%,#dfbd91 100%); }
#generationOverviewPage .go-flow-scene::after { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 20% 110%,rgba(119,80,41,.18),transparent 26%),repeating-radial-gradient(ellipse at 52% 72%,rgba(117,78,39,.16) 0 1px,transparent 1px 9px); opacity:.62; }
#generationOverviewPage .go-flow-scene.is-night::before { background:radial-gradient(circle at 12% 17%,rgba(255,255,255,.96) 0 6%,rgba(210,226,255,.55) 7%,transparent 14%),radial-gradient(circle at 70% 100%,rgba(255,255,255,.22),transparent 38%),linear-gradient(180deg,#051946 0%,#103a76 54%,#dac39e 100%); }
#generationOverviewPage .go-flow-scene.is-night::after { opacity:.35; background:radial-gradient(circle at 32% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 76% 14%,#fff 0 1px,transparent 2px),radial-gradient(circle at 88% 31%,#fff 0 1px,transparent 2px),radial-gradient(circle at 55% 8%,#fff 0 1px,transparent 2px),linear-gradient(180deg,transparent 0%,rgba(242,217,180,.58) 74%); }
#generationOverviewPage .go-flow-sky { position:absolute; inset:0; pointer-events:none; }
#generationOverviewPage .go-flow-orb { position:absolute; left:54px; top:34px; width:76px; height:76px; border-radius:50%; background:#fffde5; box-shadow:0 0 34px 18px rgba(255,238,93,.58),0 0 86px rgba(255,180,71,.44); }
#generationOverviewPage .go-flow-scene.is-night .go-flow-orb { background:radial-gradient(circle at 35% 32%,#fff 0 22%,#dfe8fb 38%,#aebbd3 72%); box-shadow:0 0 24px rgba(215,229,255,.65); }
#generationOverviewPage .go-flow-sky i { position:absolute; left:180px; top:83px; width:54px; height:6px; border-radius:999px; background:#efff1f; transform:rotate(18deg); box-shadow:72px 24px #efff1f,118px 51px #efff1f; }
#generationOverviewPage .go-flow-scene.is-night .go-flow-sky i { display:none; }
#generationOverviewPage .go-flow-lines { position:absolute; inset:0; z-index:1; width:100%; height:100%; }
#generationOverviewPage .go-flow-lines path { fill:none; stroke-linecap:round; stroke-linejoin:round; filter:url(#go-flow-glow); opacity:.95; }
#generationOverviewPage .go-flow-lines .dc { stroke:#087cf2; stroke-width:10; }
#generationOverviewPage .go-flow-lines .ac { stroke:#ffd22a; stroke-width:9; }
#generationOverviewPage .go-flow-movers .m { opacity:0; filter:url(#go-flow-glow); }
#generationOverviewPage .go-flow-scene.is-running .go-flow-movers .m { opacity:1; animation:go-flow-dot 2.8s linear infinite; }
#generationOverviewPage .go-flow-movers .pv { fill:#78e8ff; offset-path:path("M278 126 C392 144 464 158 538 182"); }
#generationOverviewPage .go-flow-movers .load { fill:#fff36a; offset-path:path("M520 202 C398 226 320 254 190 286"); animation-delay:-.6s; }
#generationOverviewPage .go-flow-movers .battery { fill:#54d5ff; offset-path:path("M546 224 C594 274 694 292 806 304"); animation-delay:-1.1s; }
#generationOverviewPage .go-flow-movers .grid { fill:#fff36a; offset-path:path("M588 190 C720 180 816 172 924 146"); animation-delay:-1.7s; }
@keyframes go-flow-dot { to { offset-distance:100%; } }
#generationOverviewPage .go-flow-object { position:absolute; z-index:2; color:#233044; text-align:center; text-shadow:0 1px 0 rgba(255,255,255,.55); }
#generationOverviewPage .go-flow-object b,#generationOverviewPage .go-flow-object span { display:block; }
#generationOverviewPage .go-flow-object b { margin-top:5px; color:#121c2d; font-size:17px; font-weight:800; }
#generationOverviewPage .go-flow-object span { color:#33465b; font-size:13px; }
#generationOverviewPage .go-flow-pv { left:165px; top:72px; width:160px; }
#generationOverviewPage .go-flow-pv .roof { display:grid; grid-template-columns:repeat(3,1fr); gap:3px; height:82px; padding:8px; transform:skewX(-16deg) rotate(5deg); border:4px solid #dcd5c8; border-bottom-color:#1278e8; background:#101923; box-shadow:16px 18px 12px rgba(75,53,33,.24); }
#generationOverviewPage .go-flow-pv .roof i { background:linear-gradient(135deg,#10151e,#05080f 45%,#1c456a); border:1px solid rgba(255,255,255,.42); box-shadow:inset 0 0 12px rgba(0,127,255,.22); }
#generationOverviewPage .go-flow-house { left:78px; top:210px; width:150px; }
#generationOverviewPage .go-flow-house .house-roof { width:126px; height:34px; margin:auto; clip-path:polygon(50% 0,100% 100%,0 100%); background:#8fa8c7; }
#generationOverviewPage .go-flow-house .house-body { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; width:120px; height:62px; margin:-1px auto 0; padding:13px 12px; background:#fff6ec; border:3px solid #d6c3af; box-shadow:10px 14px 12px rgba(66,46,27,.18); }
#generationOverviewPage .go-flow-house .house-body i { background:#27456e; border:2px solid #a9c3d9; }
#generationOverviewPage .go-flow-inverter { left:430px; top:105px; width:142px; }
#generationOverviewPage .go-flow-inverter .cabinet { position:relative; width:118px; height:130px; margin:auto; border-radius:10px; background:linear-gradient(90deg,#fdf9ee 0 72%,#cae5f5 73% 100%); box-shadow:18px 22px 16px rgba(65,47,32,.2); }
#generationOverviewPage .go-flow-inverter .cabinet i { position:absolute; left:35px; top:40px; width:30px; height:30px; border-radius:50%; background:radial-gradient(circle at 38% 32%,#62c9ff,#09235a 62%); box-shadow:0 0 0 4px rgba(8,33,77,.16); }
#generationOverviewPage .go-flow-battery { right:80px; bottom:22px; width:142px; }
#generationOverviewPage .go-flow-battery .battery-pack { display:grid; grid-template-columns:1fr 18px; gap:0; width:118px; height:96px; margin:auto; border-radius:11px; overflow:hidden; background:#f8fbf7; box-shadow:16px 20px 14px rgba(59,45,31,.2); }
#generationOverviewPage .go-flow-battery .battery-pack i { grid-column:2; background:#6ddb65; border-bottom:3px solid rgba(255,255,255,.6); }
#generationOverviewPage .go-flow-grid { right:52px; top:72px; width:154px; }
#generationOverviewPage .go-flow-grid .tower { position:relative; width:124px; height:142px; margin:auto; clip-path:polygon(38% 0,62% 0,94% 100%,6% 100%); border:8px solid #d8d2dc; background:linear-gradient(35deg,transparent 43%,#b8b4c1 44% 48%,transparent 49%),linear-gradient(-35deg,transparent 43%,#b8b4c1 44% 48%,transparent 49%); opacity:.88; }
#generationOverviewPage .go-flow-label { position:absolute; z-index:3; padding:3px 8px; color:#1a2130; border:1px solid rgba(40,36,40,.42); border-radius:4px; background:rgba(255,246,229,.85); font-style:normal; font-size:14px; font-weight:700; }
#generationOverviewPage .go-flow-label.pv { left:392px; top:154px; }
#generationOverviewPage .go-flow-label.load { left:205px; top:282px; }
#generationOverviewPage .go-flow-label.battery { right:260px; bottom:42px; }
#generationOverviewPage .go-flow-label.grid { right:236px; top:168px; }
#generationOverviewPage .go-flow-scene.is-night .go-flow-object { text-shadow:0 1px 3px rgba(255,255,255,.32); }
@media(max-width:1100px) { #generationOverviewPage .go-flow-scene { min-height:330px; } #generationOverviewPage .go-flow-pv { left:110px; } #generationOverviewPage .go-flow-grid { right:30px; } #generationOverviewPage .go-flow-battery { right:44px; } }
@media(max-width:720px) { #generationOverviewPage .go-flow-scene { min-height:420px; } #generationOverviewPage .go-flow-lines { display:none; } #generationOverviewPage .go-flow-object { transform:scale(.86); transform-origin:center; } #generationOverviewPage .go-flow-pv { left:24px; top:72px; } #generationOverviewPage .go-flow-inverter { left:50%; top:132px; margin-left:-71px; } #generationOverviewPage .go-flow-grid { right:10px; top:76px; } #generationOverviewPage .go-flow-house { left:16px; top:270px; } #generationOverviewPage .go-flow-battery { right:12px; bottom:18px; } #generationOverviewPage .go-flow-label { display:none; } }

/* Minimal four-node energy flow matching the mobile monitoring style. */
#generationOverviewPage .go-flow-section > header,
#generationOverviewPage .go-flow-section > footer { display:none; }
#generationOverviewPage .go-flow-section { justify-self:stretch; align-self:stretch; display:grid; grid-template-rows:1fr; padding:14px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(17,24,39,.38); box-sizing:border-box; overflow:hidden; }
#generationOverviewPage .go-device-section { background:#202635; }
#generationOverviewPage .go-device-section > header { display:none; }
#generationOverviewPage .go-device-section > footer { display:none; }
#generationOverviewPage .go-device-list { min-height:312px; display:contents; }
#generationOverviewPage .go-panel-resizer { position:relative; z-index:4; min-width:14px; align-self:stretch; cursor:col-resize; touch-action:none; outline:0; }
#generationOverviewPage .go-panel-resizer::before { content:""; position:absolute; top:12px; bottom:12px; left:50%; width:2px; border-radius:2px; opacity:0; background:rgba(124,145,164,.28); transform:translateX(-50%); transition:opacity .16s ease,width .16s ease,background .16s ease,box-shadow .16s ease; }
#generationOverviewPage .go-panel-resizer:hover::before,
#generationOverviewPage .go-panel-resizer:focus-visible::before,
#generationOverviewPage .go-panel-resizer.is-active::before { width:4px; opacity:1; background:#42d2ba; box-shadow:0 0 10px rgba(66,210,186,.5); }
#generationOverviewPage.is-panel-resizing,
#generationOverviewPage.is-panel-resizing * { cursor:col-resize!important; user-select:none!important; }
#generationOverviewPage .go-context-width-resizer { display:none; position:relative; z-index:18; min-width:10px; align-self:stretch; cursor:col-resize; touch-action:none; outline:0; }
#generationOverviewPage .go-context-width-resizer::before { content:""; position:absolute; top:12px; bottom:12px; left:50%; width:2px; border-radius:2px; opacity:0; background:rgba(124,145,164,.3); transform:translateX(-50%); transition:opacity .16s ease,width .16s ease,background .16s ease,box-shadow .16s ease; }
#generationOverviewPage .go-context-width-resizer:hover::before,
#generationOverviewPage .go-context-width-resizer:focus-visible::before,
#generationOverviewPage .go-context-width-resizer.is-active::before { width:4px; opacity:1; background:#42d2ba; box-shadow:0 0 10px rgba(66,210,186,.5); }
#generationOverviewPage.is-context-width-resizing,
#generationOverviewPage.is-context-width-resizing * { cursor:col-resize!important; user-select:none!important; }
#generationOverviewPage .go-row-height-resizer { display:none; position:absolute; z-index:20; right:0; bottom:0; left:0; height:14px; cursor:row-resize; touch-action:none; outline:0; }
#generationOverviewPage .go-row-height-resizer::before { content:""; position:absolute; right:18px; bottom:3px; left:18px; height:2px; border-radius:2px; opacity:0; background:rgba(124,145,164,.3); transition:opacity .16s ease,height .16s ease,background .16s ease,box-shadow .16s ease; }
#generationOverviewPage .go-row-height-resizer:hover::before,
#generationOverviewPage .go-row-height-resizer:focus-visible::before,
#generationOverviewPage .go-row-height-resizer.is-active::before { height:4px; opacity:1; background:#42d2ba; box-shadow:0 0 10px rgba(66,210,186,.5); }
#generationOverviewPage.is-row-height-resizing,
#generationOverviewPage.is-row-height-resizing * { cursor:row-resize!important; user-select:none!important; }
#generationOverviewPage:not(.is-layout-admin) .go-panel-resizer,
#generationOverviewPage:not(.is-layout-admin) .go-context-width-resizer,
#generationOverviewPage:not(.is-layout-admin) .go-row-height-resizer { cursor:default!important; pointer-events:none!important; }
#generationOverviewPage:not(.is-layout-admin) .go-panel-resizer::before,
#generationOverviewPage:not(.is-layout-admin) .go-context-width-resizer::before,
#generationOverviewPage:not(.is-layout-admin) .go-row-height-resizer::before { display:none!important; opacity:0!important; box-shadow:none!important; }
#generationOverviewPage .go-info-block { min-width:0; padding:12px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(17,24,39,.38); }
#generationOverviewPage .go-info-block h3 { margin:0 0 12px; color:#eef5ff; font-size:20px; line-height:1.2; }
#generationOverviewPage .go-station-info dl,
#generationOverviewPage .go-device-info-card dl { display:grid; gap:9px; margin:0; }
#generationOverviewPage .go-station-info dl div,
#generationOverviewPage .go-device-info-card dl div { display:grid; grid-template-columns:72px minmax(0,1fr); gap:8px; align-items:start; }
#generationOverviewPage .go-station-info dt,
#generationOverviewPage .go-device-info-card dt { color:#93a4b8; font-size:14px; white-space:nowrap; }
#generationOverviewPage .go-station-info dd,
#generationOverviewPage .go-device-info-card dd { min-width:0; margin:0; color:#d9e3ee; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#generationOverviewPage .go-equipment-grid { display:grid; grid-template-columns:1fr; gap:0; }
#generationOverviewPage .go-device-info-card { position:relative; display:grid; grid-template-columns:134px minmax(0,1fr); gap:14px; align-items:center; min-height:150px; padding:5px 6px; }
#generationOverviewPage .go-device-info-card + .go-device-info-card { border-top:0; }
#generationOverviewPage .go-device-info-card.is-inverter { order:1; }
#generationOverviewPage .go-device-info-card.is-gateway { order:2; border-top:1px solid rgba(147,164,184,.16); }
#generationOverviewPage .go-device-visual { position:relative; display:grid; place-items:center; width:134px; height:134px; }
#generationOverviewPage .go-device-visual img { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:contain; background:transparent; filter:drop-shadow(0 12px 10px rgba(0,0,0,.34)); transition:transform .2s ease,filter .2s ease; }
#generationOverviewPage .go-device-info-card.is-gateway .go-device-visual img { width:58px; height:134px; filter:drop-shadow(0 0 1px rgba(221,235,241,.48)) drop-shadow(0 12px 10px rgba(0,0,0,.44)); }
#generationOverviewPage .go-device-info-card.is-inverter .go-device-visual img { width:130px; height:110px; }
#generationOverviewPage .go-device-info-card:hover .go-device-visual img { transform:translateY(-2px) scale(1.025); filter:drop-shadow(0 15px 12px rgba(0,0,0,.42)); }
#generationOverviewPage .go-device-info-card.is-gateway:hover .go-device-visual img { filter:drop-shadow(0 0 1px rgba(221,235,241,.58)) drop-shadow(0 15px 12px rgba(0,0,0,.5)); }
#generationOverviewPage .go-device-info-card strong { display:block; margin-bottom:7px; color:#f2f7ff; font-size:16px; }
#generationOverviewPage .go-device-title { display:flex; align-items:center; gap:12px; margin-bottom:7px; }
#generationOverviewPage .go-device-title strong { margin:0; }
#generationOverviewPage .go-device-action-group { position:absolute; z-index:8; top:8px; right:6px; display:grid; gap:8px; }
#generationOverviewPage .go-device-history-btn,
#generationOverviewPage .go-device-detail-btn,
#generationOverviewPage .go-device-topology-btn { position:absolute; z-index:8; top:8px; right:6px; display:grid; place-items:center; width:28px; height:28px; padding:0; color:#92a9c2; border:1px solid rgba(146,169,194,.22); border-radius:8px; background:rgba(255,255,255,.04); cursor:pointer; pointer-events:auto; transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease; }
#generationOverviewPage .go-device-action-group .go-device-history-btn,
#generationOverviewPage .go-device-action-group .go-device-detail-btn,
#generationOverviewPage .go-device-action-group .go-device-topology-btn { position:static; }
#generationOverviewPage .go-inverter-action-group { display:flex; align-items:center; }
#generationOverviewPage .go-device-topology-btn { display:flex; width:auto; min-width:62px; padding:0 9px; gap:5px; color:#9fd4ca; }
#generationOverviewPage .go-device-topology-btn span { font-size:12px; font-weight:700; white-space:nowrap; }
#generationOverviewPage .go-device-history-btn:hover,
#generationOverviewPage .go-device-detail-btn:hover,
#generationOverviewPage .go-device-topology-btn:hover { color:#5be1c9; border-color:rgba(91,225,201,.46); background:rgba(91,225,201,.10); transform:translateY(-1px); }
#generationOverviewPage .go-device-history-btn:focus-visible,
#generationOverviewPage .go-device-detail-btn:focus-visible,
#generationOverviewPage .go-device-topology-btn:focus-visible { outline:2px solid #5be1c9; outline-offset:2px; }
#generationOverviewPage .go-device-history-btn svg,
#generationOverviewPage .go-device-detail-btn svg,
#generationOverviewPage .go-device-topology-btn svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:768px) {
  #generationOverviewPage .go-device-info-card.is-inverter { box-sizing:border-box; padding-top:54px; }
  #generationOverviewPage .go-device-history-btn,
  #generationOverviewPage .go-device-detail-btn { box-sizing:border-box; width:44px; height:44px; min-height:44px; padding:0!important; }
  #generationOverviewPage .go-device-topology-btn { box-sizing:border-box; min-width:72px; height:44px; min-height:44px; }
}
#generationOverviewPage .go-inverter-lights { display:inline-flex; align-items:center; gap:6px; color:#8f9dae; font-size:12px; }
#generationOverviewPage .go-inverter-lights span { width:10px; height:10px; border-radius:50%; background:#26303d; opacity:.42; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 2px rgba(0,0,0,.55); }
#generationOverviewPage .go-inverter-lights .red,
#generationOverviewPage .go-inverter-lights .yellow,
#generationOverviewPage .go-inverter-lights .green { background:#26303d; }
#generationOverviewPage .go-inverter-lights.is-fault .red,
#generationOverviewPage .go-inverter-lights.is-alarm .yellow,
#generationOverviewPage .go-inverter-lights.is-normal .green { opacity:1; box-shadow:0 0 0 2px rgba(255,255,255,.18),0 0 10px currentColor,0 0 18px currentColor,inset 0 1px 2px rgba(255,255,255,.42); }
#generationOverviewPage .go-inverter-lights.is-fault .red { background:#ff3b4f; color:#ff3b4f; }
#generationOverviewPage .go-inverter-lights.is-alarm .yellow { background:#ffc83d; color:#ffc83d; }
#generationOverviewPage .go-inverter-lights.is-normal .green { background:#20f09a; color:#20f09a; }
#generationOverviewPage .go-device-online-status { display:inline-grid; grid-template-columns:auto auto; grid-template-areas:'label value'; align-items:center; column-gap:8px; margin-left:4px; padding:5px 8px; border:1px solid rgba(91,225,201,.22); border-radius:8px; background:rgba(91,225,201,.07); }
#generationOverviewPage .go-device-online-status span { grid-area:label; color:#9fb0c3; font-size:12px; line-height:1; }
#generationOverviewPage .go-device-online-status strong { grid-area:value; margin:0; color:#f2f7ff; font-size:18px; line-height:1; letter-spacing:.2px; }
#generationOverviewPage .go-device-online-status i { color:#7f8da0; font-style:normal; }
#generationOverviewPage .go-daily-energy-card,
#generationOverviewPage .go-week-energy-card { position:relative; overflow:hidden; }
#generationOverviewPage .go-week-energy-card strong { color:#42d2ba; }
#generationOverviewPage .go-context-metric.energy > span,
#generationOverviewPage .go-context-metric.total > span,
#generationOverviewPage .go-week-energy-card > span,
#generationOverviewPage .go-power-bubble-card > .go-power-card-title,
#generationOverviewPage .go-weather-city { display:block; margin-bottom:0; font-size:19px; line-height:1.2; }
#generationOverviewPage .go-context-metric.energy > strong,
#generationOverviewPage .go-context-metric.total > strong,
#generationOverviewPage .go-week-energy-card > strong { font-size:45px; }
#generationOverviewPage .go-daily-energy-card dl,
#generationOverviewPage .go-week-energy-card dl { display:grid; gap:2px; margin:6px 0 0; }
#generationOverviewPage .go-daily-energy-card dl div,
#generationOverviewPage .go-week-energy-card dl div { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; }
#generationOverviewPage .go-daily-energy-card dt,
#generationOverviewPage .go-week-energy-card dt { color:#8e9bae; font-size:12px; white-space:nowrap; }
#generationOverviewPage .go-daily-energy-card dd,
#generationOverviewPage .go-week-energy-card dd { margin:0; color:#c8d2de; font-size:12px; font-weight:600; white-space:nowrap; }
#generationOverviewPage .go-daily-energy-card dd.is-up,
#generationOverviewPage .go-week-energy-card dd.is-up { color:#42d2ba; }
#generationOverviewPage .go-daily-energy-card dd.is-down,
#generationOverviewPage .go-week-energy-card dd.is-down { color:#e15361; }
#generationOverviewPage .go-inverter-lights em,
#generationOverviewPage .go-signal-bars em { color:#9fb0c3; font-style:normal; line-height:1; }
#generationOverviewPage .go-signal-bars { display:inline-flex; align-items:flex-end; gap:2px; color:#8f9dae; font-size:12px; }
#generationOverviewPage .go-signal-bars i { width:3.5px; border-radius:2px 2px 1px 1px; background:#354150; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
#generationOverviewPage .go-signal-bars .bar-1 { height:4.9px; }
#generationOverviewPage .go-signal-bars .bar-2 { height:7px; }
#generationOverviewPage .go-signal-bars .bar-3 { height:9.1px; }
#generationOverviewPage .go-signal-bars .bar-4 { height:11.2px; }
#generationOverviewPage .go-signal-bars .bar-5 { height:13.3px; }
#generationOverviewPage .go-signal-bars.is-good i.is-on { background:#18c987; box-shadow:0 0 7px rgba(24,201,135,.42); }
#generationOverviewPage .go-signal-bars.is-medium i.is-on { background:#e8b84f; box-shadow:0 0 7px rgba(232,184,79,.42); }
#generationOverviewPage .go-signal-bars.is-poor i.is-on { background:#e15361; box-shadow:0 0 7px rgba(225,83,97,.42); }
#generationOverviewPage .go-signal-bars.is-unknown i { opacity:.62; }
.go-history-modal { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; padding:28px; background:rgba(5,10,18,.68); backdrop-filter:blur(4px); }
.go-history-modal[hidden] { display:none!important; }
.go-history-dialog { width:min(1534px,calc(100vw - 56px)); max-height:82vh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; color:#eaf2ff; border:1px solid rgba(146,169,194,.22); border-radius:14px; background:linear-gradient(180deg,#131d2d,#0f1725); box-shadow:0 24px 70px rgba(0,0,0,.46); }
.go-history-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-bottom:1px solid rgba(146,169,194,.16); }
.go-history-dialog h3 { margin:0; color:#f2f7ff; font-size:20px; line-height:1.2; }
.go-history-dialog header span { display:block; margin-top:5px; color:#93a4b8; font-size:13px; }
.go-history-dialog header button { display:grid; place-items:center; width:32px; height:32px; color:#aeb8c5; border:1px solid rgba(146,169,194,.22); border-radius:9px; background:rgba(255,255,255,.04); font-size:24px; line-height:1; cursor:pointer; }
.go-history-dialog header button:hover { color:#fff; background:rgba(225,83,97,.16); border-color:rgba(225,83,97,.44); }
.go-history-table-wrap { overflow:auto; }
.go-history-table-wrap table { width:100%; min-width:1380px; border-collapse:collapse; font-size:13px; }
.go-history-table-wrap th,.go-history-table-wrap td { padding:11px 12px; border-bottom:1px solid rgba(146,169,194,.12); text-align:left; white-space:nowrap; }
.go-history-table-wrap th { position:sticky; top:0; z-index:1; color:#9fb0c3; background:#182235; font-weight:600; }
.go-history-table-wrap td { color:#dce7f5; }
.go-history-empty { padding:38px 12px!important; color:#93a4b8!important; text-align:center!important; }
.go-topology-dialog { width:min(1280px,calc(100vw - 56px)); }
.go-topology-table-wrap table { min-width:1120px; }
.go-topology-table-wrap th,.go-topology-table-wrap td { padding:12px 14px; }
.go-topology-sort-button { display:inline-flex; align-items:center; gap:5px; padding:0; color:inherit; background:transparent; border:0; border-radius:0; font:inherit; font-weight:inherit; line-height:inherit; white-space:nowrap; cursor:pointer; }
.go-topology-sort-button:hover { color:#5be1c9; }
.go-topology-sort-button:focus-visible { outline:2px solid #5be1c9; outline-offset:3px; }
.go-topology-sort-button em { color:#42d2ba; font-size:12px; font-style:normal; font-weight:900; line-height:1; }
.go-topology-status { display:inline-flex; min-width:48px; justify-content:center; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:700; }
.go-topology-status.is-online { color:#bff4df; background:rgba(24,201,135,.14); }
.go-topology-status.is-offline { color:#c0cad6; background:rgba(125,141,160,.16); }
.go-history-type,.go-history-status { display:inline-flex; align-items:center; min-width:48px; justify-content:center; padding:3px 8px; border-radius:999px; font-size:12px; }
.go-history-type.is-fault { color:#ffdce1; background:rgba(225,83,97,.18); }
.go-history-type.is-alarm { color:#ffe9b6; background:rgba(232,184,79,.18); }
.go-history-status.is-active { color:#ffdce1; background:rgba(225,83,97,.16); }
.go-history-status.is-recovered { color:#bff4df; background:rgba(24,201,135,.14); }
.go-history-pagination { display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:10px 20px; border-top:1px solid rgba(146,169,194,.16); color:#9fb0c3; font-size:13px; }
.go-history-pagination[hidden] { display:none!important; }
.go-history-pagination button { min-width:64px; height:28px; color:#dce7f5; border:1px solid rgba(146,169,194,.24); border-radius:8px; background:rgba(255,255,255,.04); cursor:pointer; }
.go-history-pagination button:hover:not(:disabled) { color:#5be1c9; border-color:rgba(91,225,201,.44); background:rgba(91,225,201,.10); }
.go-history-pagination button:disabled { opacity:.45; cursor:not-allowed; }
#generationSignalHistoryModal .go-signal-bars-inline { display:inline-flex; align-items:flex-end; gap:3px; min-width:62px; color:#9fb0c3; }
#generationSignalHistoryModal .go-signal-bars-inline i { width:5px; border-radius:2px 2px 1px 1px; background:#354150; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
#generationSignalHistoryModal .go-signal-bars-inline .bar-1 { height:7px; }
#generationSignalHistoryModal .go-signal-bars-inline .bar-2 { height:10px; }
#generationSignalHistoryModal .go-signal-bars-inline .bar-3 { height:13px; }
#generationSignalHistoryModal .go-signal-bars-inline .bar-4 { height:16px; }
#generationSignalHistoryModal .go-signal-bars-inline .bar-5 { height:19px; }
#generationSignalHistoryModal .go-signal-bars-inline.is-good i.is-on { background:#18c987; box-shadow:0 0 7px rgba(24,201,135,.42); }
#generationSignalHistoryModal .go-signal-bars-inline.is-medium i.is-on { background:#e8b84f; box-shadow:0 0 7px rgba(232,184,79,.42); }
#generationSignalHistoryModal .go-signal-bars-inline.is-poor i.is-on { background:#e15361; box-shadow:0 0 7px rgba(225,83,97,.42); }
#generationSignalHistoryModal .go-signal-bars-inline em { margin-left:5px; color:#9fb0c3; font-style:normal; line-height:1; }
.go-signal-level-chip { display:inline-flex; min-width:48px; justify-content:center; padding:3px 8px; border-radius:999px; font-size:12px; }
.go-signal-level-chip.is-good { color:#bff4df; background:rgba(24,201,135,.14); }
.go-signal-level-chip.is-medium { color:#ffe9b6; background:rgba(232,184,79,.18); }
.go-signal-level-chip.is-poor { color:#ffdce1; background:rgba(225,83,97,.16); }
.go-signal-level-chip.is-unknown { color:#aeb8c5; background:rgba(146,169,194,.12); }
.go-signal-history-dialog { width:min(1480px,calc(100vw - 48px)); max-height:92vh; border-radius:8px; }
.go-signal-history-scroll { min-height:0; overflow-x:hidden; overflow-y:auto; padding:0 20px 20px; scrollbar-color:#405667 transparent; scrollbar-width:thin; }
.go-signal-history-status { display:grid; min-height:260px; place-items:center; color:#93a4b8; font-size:14px; }
.go-signal-history-status[hidden] { display:none!important; }
.go-signal-history-status.is-error { color:#ffacb7; }
.go-signal-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 -20px; border-bottom:1px solid rgba(146,169,194,.16); background:#111b2a; }
.go-signal-summary article { min-width:0; padding:17px 20px 15px; border-right:1px solid rgba(146,169,194,.13); }
.go-signal-summary article:last-child { border-right:0; }
.go-signal-summary span,.go-signal-summary em { display:block; overflow:hidden; color:#8fa1b6; font-size:12px; font-style:normal; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.go-signal-summary strong { display:block; margin:7px 0 5px; color:#eef6ff; font:600 24px/1 Consolas,"SFMono-Regular",monospace; font-variant-numeric:tabular-nums; letter-spacing:0; }
.go-signal-summary strong.is-alert { color:#fb7185; }
.go-signal-trend-section,.go-signal-daily-section { padding-top:18px; }
.go-signal-daily-section { padding-bottom:18px; border-top:1px solid rgba(146,169,194,.13); }
.go-signal-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:11px; }
.go-signal-section-head h4 { margin:0; color:#eaf2ff; font-size:15px; font-weight:600; letter-spacing:0; }
.go-signal-section-head span { display:block; margin-top:4px; color:#8293a8; font-size:12px; }
.go-signal-range-switch { display:inline-flex; align-items:center; padding:2px; border:1px solid rgba(146,169,194,.22); border-radius:6px; background:#0e1724; }
.go-signal-range-switch button { min-width:64px; height:28px; padding:0 11px; color:#8fa1b6; border:0; border-radius:4px; background:transparent; font-size:12px; cursor:pointer; }
.go-signal-range-switch button:hover { color:#dce8f7; }
.go-signal-range-switch button.is-active { color:#dffcf5; background:#176759; box-shadow:inset 0 0 0 1px rgba(91,225,201,.22); }
.go-signal-level-legend { display:flex; flex-wrap:wrap; align-items:center; gap:15px; margin:-2px 0 10px; color:#93a4b8; font-size:12px; }
.go-signal-level-legend span { display:inline-flex; align-items:center; gap:5px; }
.go-signal-level-legend i { width:8px; height:8px; border-radius:50%; }
.go-signal-trend-chart { position:relative; overflow-x:auto; min-height:286px; border:1px solid rgba(146,169,194,.15); border-radius:6px; background:#0d1623; scrollbar-color:#405667 transparent; scrollbar-width:thin; }
.go-signal-chart-inner { position:relative; min-width:720px; }
.go-signal-chart-inner svg { display:block; width:100%; height:auto; min-height:286px; font-family:inherit; }
.go-signal-chart-grid { stroke:rgba(155,174,196,.24); stroke-width:1; }
.go-signal-chart-tick { stroke:rgba(155,174,196,.10); stroke-width:1; stroke-dasharray:3 6; }
.go-signal-chart-axis { fill:#8496aa; font-size:11px; font-variant-numeric:tabular-nums; }
.go-signal-chart-range { stroke-width:3; stroke-linecap:round; opacity:.34; }
.go-signal-chart-line { fill:none; stroke:#c8f8ed; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; filter:drop-shadow(0 0 4px rgba(91,225,201,.24)); }
.go-signal-chart-dot { stroke:#0d1623; stroke-width:1.2; }
.go-signal-chart-hit { fill:transparent; cursor:crosshair; outline:none; }
.go-signal-chart-hit:focus + circle,.go-signal-chart-hit:hover { stroke:rgba(255,255,255,.18); }
.go-signal-chart-empty { fill:#8192a5; font-size:13px; }
.go-signal-chart-tooltip { position:absolute; z-index:4; display:grid; gap:4px; min-width:184px; padding:9px 11px; color:#dce8f7; border:1px solid #506174; border-radius:5px; background:rgba(11,18,29,.97); box-shadow:0 9px 24px rgba(0,0,0,.34); font-size:12px; pointer-events:none; transform:translate(-50%,-100%); }
.go-signal-chart-tooltip[hidden] { display:none; }
.go-signal-chart-tooltip strong { color:#f2f7ff; font-size:12px; font-weight:600; }
.go-signal-chart-tooltip span { display:flex; align-items:center; gap:6px; color:#dce8f7; }
.go-signal-chart-tooltip span i { width:7px; height:7px; border-radius:50%; background:#5be1c9; }
.go-signal-chart-tooltip small { color:#8799ad; font-size:11px; }
.go-signal-daily { display:grid; grid-auto-columns:minmax(126px,1fr); grid-auto-flow:column; overflow-x:auto; border:1px solid rgba(146,169,194,.14); border-radius:6px; background:#101a28; scrollbar-color:#405667 transparent; scrollbar-width:thin; }
.go-signal-daily article { min-width:126px; padding:11px 12px 10px; border-right:1px solid rgba(146,169,194,.12); }
.go-signal-daily article:last-child { border-right:0; }
.go-signal-daily time { color:#8799ad; font-size:11px; }
.go-signal-daily strong { display:block; margin:7px 0 4px; color:#eaf2ff; font:600 16px/1 Consolas,"SFMono-Regular",monospace; font-variant-numeric:tabular-nums; }
.go-signal-daily article>span { color:#7f91a5; font-size:10px; white-space:nowrap; }
.go-signal-daily footer { display:flex; align-items:center; gap:5px; margin-top:9px; }
.go-signal-daily footer i { flex:0 0 auto; width:7px; height:7px; border-radius:50%; }
.go-signal-daily footer em { color:#aebdce; font-size:11px; font-style:normal; }
.go-signal-daily footer b { margin-left:auto; color:#9aabbf; font-size:11px; font-weight:600; }
.go-signal-daily article.is-stable footer b { color:#62d9c5; }
.go-signal-daily article.is-wave footer b { color:#facc15; }
.go-signal-daily article.is-poor footer b { color:#fb7185; }
.go-signal-daily article.is-empty { opacity:.65; }
.go-signal-raw-section { overflow:hidden; margin:0 -20px -20px; border-top:1px solid rgba(146,169,194,.16); }
.go-signal-raw-toggle { display:grid; grid-template-columns:auto auto 1fr; align-items:center; width:100%; min-height:44px; padding:0 20px; color:#dce8f7; border:0; background:#111b2a; text-align:left; cursor:pointer; transition:background-color .15s ease; }
.go-signal-raw-toggle:hover { background:#152132; }
.go-signal-raw-toggle:active { transform:none; }
.go-signal-raw-toggle span { font-size:13px; font-weight:600; }
.go-signal-raw-toggle em { margin-left:8px; color:#8395aa; font-size:12px; font-style:normal; font-weight:400; }
.go-signal-raw-toggle i { justify-self:end; color:#93a4b8; font-size:18px; font-style:normal; transition:transform .18s ease; }
.go-signal-raw-toggle.is-open i { transform:rotate(180deg); }
.go-signal-raw-panel { border-top:1px solid rgba(146,169,194,.12); }
.go-signal-raw-panel[hidden] { display:none!important; }
.go-signal-raw-panel .go-history-table-wrap { max-height:405px; }
.go-signal-raw-panel .go-history-table-wrap table { min-width:1180px; }
.go-signal-level-chip.is-very_strong { color:#d9f99d; background:rgba(101,163,13,.18); }
.go-signal-level-chip.is-strong { color:#99f6e4; background:rgba(20,184,166,.17); }
.go-signal-level-chip.is-medium { color:#fef08a; background:rgba(234,179,8,.18); }
.go-signal-level-chip.is-weak { color:#fed7aa; background:rgba(249,115,22,.18); }
.go-signal-level-chip.is-very_weak { color:#fecdd3; background:rgba(225,29,72,.18); }
#generationSignalHistoryModal .go-signal-bars-inline.is-very_strong i.is-on { background:#65a30d; box-shadow:0 0 7px rgba(101,163,13,.42); }
#generationSignalHistoryModal .go-signal-bars-inline.is-strong i.is-on { background:#14b8a6; box-shadow:0 0 7px rgba(20,184,166,.42); }
#generationSignalHistoryModal .go-signal-bars-inline.is-medium i.is-on { background:#eab308; box-shadow:0 0 7px rgba(234,179,8,.42); }
#generationSignalHistoryModal .go-signal-bars-inline.is-weak i.is-on { background:#f97316; box-shadow:0 0 7px rgba(249,115,22,.42); }
#generationSignalHistoryModal .go-signal-bars-inline.is-very_weak i.is-on { background:#e11d48; box-shadow:0 0 7px rgba(225,29,72,.42); }
@media(max-width:768px) {
  .go-history-modal { padding:8px; }
  .go-signal-history-dialog { width:calc(100vw - 16px); max-height:calc(100vh - 16px); }
  .go-signal-history-dialog header { padding:14px 12px; }
  .go-signal-history-scroll { padding:0 12px 12px; }
  .go-signal-summary { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 -12px; }
  .go-signal-summary article { padding:14px 12px; }
  .go-signal-summary article:nth-child(2) { border-right:0; }
  .go-signal-summary article:nth-child(-n+2) { border-bottom:1px solid rgba(146,169,194,.13); }
  .go-signal-summary strong { font-size:20px; }
  .go-signal-section-head { align-items:flex-start; flex-direction:column; }
  .go-signal-range-switch { width:100%; }
  .go-signal-range-switch button { flex:1; min-width:0; }
  .go-signal-raw-section { margin:0 -12px -12px; }
  .go-signal-raw-toggle { padding:0 12px; }
}
#generationOverviewPage .go-social-info { container-type:inline-size; padding:12px 16px 12px 12px; border-color:rgba(104,134,163,.24); background:#131e2d; color:#eaf2ff; box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
#generationOverviewPage .go-social-info h3 { color:#f0f6ff; }
#generationOverviewPage .go-contribution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
#generationOverviewPage .go-income-title { margin-top:10px!important; }
#generationOverviewPage .go-income-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#generationOverviewPage .go-contribution-card { position:relative; display:grid; align-content:center; justify-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.07); text-align:center; box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
#generationOverviewPage .go-contribution-card strong { position:relative; z-index:1; color:#edf6ff; font-weight:400; }
#generationOverviewPage .go-contribution-card small { margin-left:4px; color:#aeb9c7; font-weight:400; }
#generationOverviewPage .go-contribution-card span { position:relative; z-index:1; color:#c5d0de; }
#generationOverviewPage .go-contribution-grid .go-contribution-card { min-height:77px; padding:8px 50px 8px 12px; border-radius:14px; }
#generationOverviewPage .go-contribution-grid .go-contribution-card strong { font-size:25px; line-height:1; }
#generationOverviewPage .go-contribution-grid .go-contribution-card small { font-size:16px; }
#generationOverviewPage .go-contribution-grid .go-contribution-card span { margin-top:6px; font-size:14px; line-height:1.15; white-space:nowrap; }
#generationOverviewPage .go-contribution-grid .go-contribution-card i { position:absolute; right:13px; bottom:10px; width:40px; height:40px; opacity:.36; }
#generationOverviewPage .go-contribution-card.tree { border-color:rgba(76,147,137,.24); background:#17393b; }
#generationOverviewPage .go-contribution-card.coal { border-color:rgba(91,124,166,.24); background:#203248; }
#generationOverviewPage .go-contribution-card.co2 { border-color:rgba(160,126,105,.24); background:#393438; }
#generationOverviewPage .go-contribution-card.income { min-height:58px; padding:8px 6px; border-radius:9px; background:rgba(255,255,255,.052); }
#generationOverviewPage .go-contribution-card.income strong { max-width:100%; font-size:24px; line-height:1; white-space:nowrap; }
#generationOverviewPage .go-contribution-card.income small { margin-left:2px; font-size:11px; }
#generationOverviewPage .go-contribution-card.income span { margin-top:4px; font-size:11px; }
#generationOverviewPage .go-contribution-card.tree i { background:none; }
#generationOverviewPage .go-contribution-card.tree i::before,
#generationOverviewPage .go-contribution-card.tree i::after { content:""; position:absolute; bottom:2px; width:40px; height:50px; background:#7ba09a; clip-path:polygon(50% 0,78% 35%,66% 35%,91% 68%,61% 68%,61% 100%,39% 100%,39% 68%,9% 68%,34% 35%,22% 35%); }
#generationOverviewPage .go-contribution-card.tree i::before { right:0; }
#generationOverviewPage .go-contribution-card.tree i::after { left:0; bottom:-2px; transform:scale(.78); transform-origin:bottom left; }
#generationOverviewPage .go-contribution-card.coal i { background:none; }
#generationOverviewPage .go-contribution-card.coal i::before,
#generationOverviewPage .go-contribution-card.coal i::after { content:""; position:absolute; bottom:5px; background:#8297b9; clip-path:polygon(50% 0,100% 100%,0 100%); }
#generationOverviewPage .go-contribution-card.coal i::before { left:23px; width:36px; height:52px; }
#generationOverviewPage .go-contribution-card.coal i::after { left:0; width:42px; height:36px; }
#generationOverviewPage .go-contribution-card.co2 i { width:76px!important; height:44px!important; right:12px!important; bottom:11px!important; border-radius:24px; background:#8c796f; opacity:.68!important; }
#generationOverviewPage .go-contribution-card.co2 i::after { content:"CO₂"; position:absolute; inset:0; display:grid; place-items:center; color:#aeb6c0; font-size:16px; font-weight:700; }
#generationOverviewPage .go-social-heading { min-height:24px; display:flex; align-items:start; justify-content:space-between; gap:12px; }
#generationOverviewPage .go-social-heading h3 { margin:0; }
#generationOverviewPage .go-social-heading .go-social-price { color:#50e6d0; font-size:17px; line-height:1.2; font-weight:700; white-space:nowrap; }
#generationOverviewPage .go-social-heading .go-social-price.is-missing { color:#ffbd6a; }
#generationOverviewPage .go-social-actions { position:relative; display:flex; align-items:center; justify-content:flex-end; gap:7px; }
#generationOverviewPage .go-contribution-help { display:grid; place-items:center; flex:0 0 auto; width:21px; height:21px; padding:0; color:#b8c7d7; border:1px solid rgba(154,178,203,.42); border-radius:50%; background:rgba(255,255,255,.055); font:700 13px/1 Arial,sans-serif; cursor:pointer; transition:color .15s ease,border-color .15s ease,background .15s ease; }
#generationOverviewPage .go-contribution-help:hover,
#generationOverviewPage .go-contribution-help:focus-visible,
#generationOverviewPage .go-social-actions.is-open .go-contribution-help { color:#50e6d0; border-color:rgba(80,230,208,.72); background:rgba(80,230,208,.12); outline:0; }
#generationOverviewPage .go-contribution-basis { display:grid; gap:3px; margin-top:9px; padding-top:8px; border-top:1px solid rgba(255,255,255,.08); color:#8f9dae; font-size:11px; line-height:1.35; }
#generationOverviewPage .go-contribution-basis strong { color:#d7e3f0; font-size:12px; }
#generationOverviewPage .go-contribution-basis.go-contribution-tooltip { display:none; position:absolute; z-index:30; top:calc(100% + 8px); right:0; width:360px; max-width:calc(100cqw - 28px); margin:0; padding:11px 13px; color:#9fb0c3; border:1px solid rgba(112,142,171,.48); border-radius:7px; background:rgba(10,19,31,.98); box-shadow:0 12px 30px rgba(0,0,0,.38); font-size:11px; line-height:1.45; text-align:left; }
#generationOverviewPage .go-contribution-basis.go-contribution-tooltip::before { content:""; position:absolute; top:-6px; right:5px; width:10px; height:10px; border-top:1px solid rgba(112,142,171,.48); border-left:1px solid rgba(112,142,171,.48); background:#0a131f; transform:rotate(45deg); }
#generationOverviewPage .go-contribution-help:hover + .go-contribution-tooltip,
#generationOverviewPage .go-contribution-help:focus-visible + .go-contribution-tooltip,
#generationOverviewPage .go-social-actions.is-open .go-contribution-tooltip { display:grid; }
@container (max-width:780px) {
  #generationOverviewPage .go-social-info { padding:12px; }
  #generationOverviewPage .go-contribution-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card { min-height:76px; padding:8px 5px; border-radius:10px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card strong { font-size:21px; white-space:nowrap; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card small { margin-left:2px; font-size:11px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card span { margin-top:6px; font-size:11px; line-height:1.15; white-space:normal; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card i { right:4px; bottom:4px; width:42px; height:42px; opacity:.16; transform:scale(.52); transform-origin:bottom right; }
  #generationOverviewPage .go-contribution-card.co2 i { width:54px!important; height:34px!important; right:4px!important; bottom:4px!important; }
  #generationOverviewPage .go-contribution-card.co2 i::after { font-size:12px; }
  #generationOverviewPage .go-social-heading .go-social-price { font-size:15px; }
}
@container (max-width:460px) {
  #generationOverviewPage .go-social-heading { align-items:start; }
  #generationOverviewPage .go-social-actions { gap:4px; }
  #generationOverviewPage .go-social-heading .go-social-price { max-width:calc(100% - 25px); text-align:right; white-space:normal; }
  #generationOverviewPage .go-contribution-grid { gap:4px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card { min-height:68px; padding:7px 3px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card strong { font-size:18px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card small { font-size:10px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card span { margin-top:5px; font-size:10px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card i { display:none; }
}

/* Layered holographic pods matching the carbon-indicator reference. */
#generationOverviewPage .go-contribution-grid {
  position:relative;
  min-height:154px;
  gap:0;
  overflow:hidden;
  isolation:isolate;
  border-radius:3px;
  background:
    linear-gradient(145deg,transparent 0 35%,rgba(19,83,142,.28) 35.2% 35.7%,transparent 35.9% 100%),
    linear-gradient(32deg,transparent 0 65%,rgba(22,87,149,.25) 65.2% 65.7%,transparent 65.9% 100%),
    linear-gradient(154deg,transparent 0 73%,rgba(16,67,119,.2) 73.2% 73.6%,transparent 73.8% 100%),
    #05162a;
}
#generationOverviewPage .go-contribution-grid::before,
#generationOverviewPage .go-contribution-grid::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
#generationOverviewPage .go-contribution-grid::before {
  z-index:0;
  opacity:.5;
  background:
    radial-gradient(circle at 15% 24%,rgba(62,139,195,.22),transparent 18%),
    radial-gradient(circle at 50% 26%,rgba(50,126,188,.15),transparent 19%),
    radial-gradient(circle at 84% 25%,rgba(32,165,190,.15),transparent 19%),
    repeating-linear-gradient(120deg,transparent 0 52px,rgba(35,100,157,.075) 53px,transparent 54px 104px);
  filter:blur(.2px);
}
#generationOverviewPage .go-contribution-grid::after {
  z-index:1;
  background:linear-gradient(90deg,rgba(2,12,26,.22),transparent 10% 90%,rgba(2,12,26,.22));
  box-shadow:inset 0 12px 20px rgba(0,0,0,.1),inset 0 -9px 18px rgba(0,0,0,.14);
}
#generationOverviewPage .go-contribution-grid .go-contribution-card {
  --go-pod-scale:1;
  min-height:154px!important;
  padding:0!important;
  overflow:visible;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
#generationOverviewPage .go-contribution-grid .go-contribution-card strong {
  position:absolute;
  z-index:8;
  top:87px;
  left:0;
  right:0;
  color:#f6f9ff;
  font-family:"Bahnschrift Condensed","Arial Narrow","Segoe UI",sans-serif;
  font-size:26px!important;
  line-height:1!important;
  font-weight:400;
  font-stretch:condensed;
  letter-spacing:0;
  white-space:nowrap!important;
  text-shadow:0 0 4px rgba(177,220,255,.5),0 0 12px rgba(57,137,207,.22);
}
#generationOverviewPage .go-contribution-grid .go-contribution-card small {
  margin-left:1px!important;
  color:#eff5fb;
  font-family:"Microsoft YaHei","Segoe UI",sans-serif;
  font-size:12px!important;
  font-weight:400;
  vertical-align:baseline;
}
#generationOverviewPage .go-contribution-grid .go-contribution-card span {
  position:absolute;
  z-index:8;
  top:66px;
  left:0;
  right:0;
  margin:0!important;
  color:#f0f5fb;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:400;
  letter-spacing:0;
  white-space:nowrap!important;
  text-shadow:0 0 5px rgba(93,180,239,.42),0 1px 1px rgba(0,0,0,.66);
}
#generationOverviewPage .go-contribution-grid .go-contribution-card::before {
  content:"";
  position:absolute;
  z-index:5;
  left:50%;
  bottom:10px;
  width:76px;
  height:14px;
  box-sizing:border-box;
  border:2px solid rgba(216,228,233,.92);
  border-radius:50%;
  background:rgba(30,64,86,.74);
  box-shadow:0 0 7px rgba(120,218,235,.34),inset 0 0 0 2px rgba(82,137,161,.6),inset 0 -3px 5px rgba(0,0,0,.55);
  transform:translateX(-50%);
}
#generationOverviewPage .go-contribution-grid .go-contribution-card::after {
  content:"";
  position:absolute;
  z-index:6;
  left:50%;
  bottom:14px;
  width:51px;
  height:7px;
  border-radius:50%;
  background:rgba(71,220,238,.76);
  box-shadow:0 0 6px rgba(78,227,245,.82),0 0 13px rgba(50,181,218,.5),inset 0 1px 2px rgba(218,252,255,.74);
  transform:translateX(-50%);
  animation:go-contribution-platform 2.8s ease-in-out infinite;
}
#generationOverviewPage .go-contribution-base {
  position:absolute;
  z-index:3;
  left:50%;
  bottom:4px;
  width:80px;
  height:15px;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(184,203,212,.54),rgba(42,61,78,.9) 45%,rgba(12,26,42,.95));
  box-shadow:0 4px 5px rgba(0,0,0,.66),0 0 7px rgba(78,174,213,.22),inset 0 -2px 0 rgba(3,12,24,.8);
  transform:translateX(-50%);
}
#generationOverviewPage .go-contribution-beam {
  position:absolute;
  z-index:3;
  left:50%;
  bottom:13px;
  width:74px;
  height:91px;
  background:
    linear-gradient(90deg,rgba(69,183,225,.08),rgba(100,230,247,.27) 48% 52%,rgba(69,183,225,.08)),
    linear-gradient(0deg,rgba(76,224,243,.3),rgba(42,171,220,.14) 48%,rgba(42,129,190,.05) 78%,transparent 100%);
  clip-path:polygon(37% 100%,63% 100%,100% 0,0 0);
  filter:blur(.7px) drop-shadow(-2px 0 4px rgba(60,176,221,.1)) drop-shadow(2px 0 4px rgba(60,176,221,.1));
  transform:translateX(-50%);
  transform-origin:50% 100%;
  animation:go-contribution-beam 3.1s ease-in-out infinite;
  pointer-events:none;
}
#generationOverviewPage .go-contribution-beam::after {
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  top:-1px;
  width:58px;
  height:13px;
  box-sizing:border-box;
  border:1px solid rgba(130,229,247,.24);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(78,212,237,.06),transparent 64%);
  box-shadow:0 0 8px rgba(73,207,236,.2),inset 0 0 7px rgba(126,230,248,.1);
  filter:blur(.35px);
  transform:translateX(-50%);
  animation:go-contribution-projection-ring 3.1s ease-in-out infinite;
}
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(2) .go-contribution-beam,
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(2) .go-contribution-beam::after { animation-delay:-1.05s; }
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(3) .go-contribution-beam,
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(3) .go-contribution-beam::after { animation-delay:-2.1s; }
#generationOverviewPage .go-contribution-aura {
  position:absolute;
  z-index:2;
  top:0;
  left:50%;
  width:102px;
  height:78px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(94,175,224,.18) 0 20%,rgba(61,124,178,.12) 42%,rgba(31,75,122,.08) 57%,transparent 72%);
  filter:blur(2px);
  transform:translateX(-50%);
  animation:go-contribution-aura 3.2s ease-in-out infinite;
}
#generationOverviewPage .go-contribution-orbit {
  position:absolute;
  z-index:5;
  top:20px;
  left:50%;
  width:86px;
  height:37px;
  box-sizing:border-box;
  border:1px solid rgba(105,153,194,.38);
  border-radius:50%;
  box-shadow:0 0 6px rgba(61,148,213,.14);
  transform:translateX(-50%) rotate(-17deg);
  animation:go-contribution-orbit 7.5s linear infinite;
}
#generationOverviewPage .go-contribution-orbit::before {
  content:"";
  position:absolute;
  inset:-8px 9px;
  border:1px solid rgba(89,132,174,.22);
  border-radius:50%;
  transform:rotate(73deg);
}
#generationOverviewPage .go-contribution-orbit::after {
  content:"";
  position:absolute;
  top:14px;
  left:-2px;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#7bd7f1;
  box-shadow:82px 7px 0 rgba(86,174,221,.72),0 0 5px rgba(98,216,245,.8);
}
#generationOverviewPage .go-contribution-facets {
  position:absolute;
  z-index:5;
  top:8px;
  left:50%;
  width:66px;
  height:62px;
  opacity:.58;
  background:
    linear-gradient(28deg,transparent 0 48%,rgba(156,216,245,.17) 49% 51%,transparent 52%),
    linear-gradient(150deg,transparent 0 49%,rgba(95,174,221,.14) 50% 51%,transparent 52%),
    linear-gradient(90deg,transparent 49%,rgba(159,220,247,.1) 50%,transparent 51%);
  clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);
  transform:translateX(-50%);
  pointer-events:none;
}
#generationOverviewPage .go-contribution-grid .go-contribution-card i,
#generationOverviewPage .go-contribution-grid .go-contribution-card.co2 i {
  display:block!important;
  position:absolute!important;
  z-index:4;
  top:8px!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:66px!important;
  height:62px!important;
  border:0;
  border-radius:0;
  background:linear-gradient(148deg,rgba(202,235,249,.9) 0 4%,rgba(71,143,183,.74) 20%,rgba(18,67,104,.9) 65%,rgba(8,37,67,.94))!important;
  opacity:1!important;
  filter:drop-shadow(0 -2px 4px rgba(230,248,255,.52)) drop-shadow(0 0 10px rgba(57,151,214,.55));
  clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)!important;
  transform:translateX(-50%) scale(var(--go-pod-scale));
  transform-origin:center!important;
  animation:go-contribution-float 3.5s ease-in-out infinite;
  animation-play-state:running;
  will-change:transform;
}
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(2) i { animation-delay:-1.15s; }
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(3) i { animation-delay:-2.3s; }
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(2) .go-contribution-orbit { animation-delay:-2.5s; }
#generationOverviewPage .go-contribution-grid .go-contribution-card:nth-child(3) .go-contribution-orbit { animation-delay:-5s; }
#generationOverviewPage .go-contribution-grid .go-contribution-card i::before {
  content:"";
  position:absolute;
  z-index:1;
  inset:2px;
  background:
    radial-gradient(circle at 50% 47%,rgba(39,137,188,.3),transparent 48%),
    linear-gradient(148deg,rgba(32,91,127,.9),rgba(5,24,43,.96) 68%);
  clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);
  box-shadow:inset 0 0 14px rgba(85,187,232,.3);
}
#generationOverviewPage .go-contribution-card.tree i::before {
  background:radial-gradient(ellipse at 50% 76%,rgba(231,79,57,.72) 0 13%,transparent 15%),radial-gradient(circle at 50% 45%,rgba(28,135,138,.27),transparent 44%),linear-gradient(148deg,rgba(28,82,117,.9),rgba(5,24,43,.96) 68%);
}
#generationOverviewPage .go-contribution-grid .go-contribution-card i::after {
  position:absolute;
  z-index:2;
  transform:none;
}
#generationOverviewPage .go-contribution-grid .go-contribution-card.co2 i::after {
  content:"CO₂";
  top:21px;
  left:16px;
  width:35px;
  height:22px;
  display:grid;
  place-items:center;
  color:#17405d;
  border-radius:48% 52% 47% 50%;
  background:linear-gradient(145deg,#d3f4ff,#83d8ef 72%);
  box-shadow:-8px 4px 0 -4px #85d7ee,8px 4px 0 -4px #9ce3f4,0 0 8px rgba(132,220,251,.82);
  font-size:10px;
  font-weight:800;
}
#generationOverviewPage .go-contribution-grid .go-contribution-card.coal i::after {
  content:"";
  top:20px;
  left:11px;
  width:44px;
  height:26px;
  background:conic-gradient(from 215deg at 52% 58%,#0b80ae,#58effa 15%,#12bbd9 31%,#9af8ff 42%,#088ebd 58%,#34dcea 77%,#086c9c);
  clip-path:polygon(1% 84%,16% 34%,31% 54%,46% 12%,59% 50%,72% 27%,99% 93%,76% 100%,49% 88%,23% 100%);
  filter:drop-shadow(0 0 4px rgba(38,224,248,.82));
}
#generationOverviewPage .go-contribution-grid .go-contribution-card.tree i::after {
  content:"";
  top:10px;
  left:15px;
  width:36px;
  height:43px;
  background:linear-gradient(180deg,#36f5b4 0 72%,#e8553f 73% 100%);
  clip-path:polygon(50% 0,72% 24%,63% 24%,84% 48%,70% 48%,92% 75%,61% 75%,61% 100%,39% 100%,39% 75%,8% 75%,30% 48%,16% 48%,37% 24%,28% 24%);
  filter:drop-shadow(0 0 5px rgba(11,231,152,.82));
}
@keyframes go-contribution-float {
  0%,100% { transform:translateX(-50%) translateY(0) scale(var(--go-pod-scale)); }
  50% { transform:translateX(-50%) translateY(-3px) scale(var(--go-pod-scale)); }
}
@keyframes go-contribution-orbit {
  from { transform:translateX(-50%) rotate(-17deg); }
  to { transform:translateX(-50%) rotate(343deg); }
}
@keyframes go-contribution-aura {
  0%,100% { opacity:.65; transform:translateX(-50%) scale(.94); }
  50% { opacity:1; transform:translateX(-50%) scale(1.06); }
}
@keyframes go-contribution-platform {
  0%,100% { opacity:.68; transform:translateX(-50%) scaleX(.92); }
  50% { opacity:1; transform:translateX(-50%) scaleX(1.05); }
}
@keyframes go-contribution-beam {
  0%,100% { opacity:.52; transform:translateX(-50%) scaleX(.9); }
  50% { opacity:.76; transform:translateX(-50%) scaleX(1.03); }
}
@keyframes go-contribution-projection-ring {
  0%,100% { opacity:.32; transform:translateX(-50%) scale(.88); }
  50% { opacity:.56; transform:translateX(-50%) scale(1.02); }
}
@media (prefers-reduced-motion:reduce) {
  #generationOverviewPage .go-contribution-grid .go-contribution-card i { animation-duration:7s; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card::after { animation-duration:5.6s; }
  #generationOverviewPage .go-contribution-beam,
  #generationOverviewPage .go-contribution-beam::after { animation-duration:6.2s; }
  #generationOverviewPage .go-contribution-aura { animation-duration:6.4s; }
  #generationOverviewPage .go-contribution-orbit { animation-duration:15s; }
}
@container (max-width:520px) {
  #generationOverviewPage .go-contribution-grid { min-height:146px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card { --go-pod-scale:.94; min-height:146px!important; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card strong { top:86px; font-size:24px!important; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card small { font-size:11px!important; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card span { top:65px; font-size:11px!important; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card i,
  #generationOverviewPage .go-contribution-grid .go-contribution-card.co2 i { top:7px!important; }
  #generationOverviewPage .go-contribution-facets { top:7px; transform:translateX(-50%) scale(.94); }
  #generationOverviewPage .go-contribution-orbit { top:18px; transform:translateX(-50%) rotate(-17deg) scale(.94); }
  #generationOverviewPage .go-contribution-aura { width:94px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card::before { bottom:9px; width:72px; }
  #generationOverviewPage .go-contribution-grid .go-contribution-card::after { bottom:13px; width:48px; }
  #generationOverviewPage .go-contribution-base { bottom:3px; width:76px; }
}
#generationOverviewPage .go-flow-minimal { position:relative; display:block; height:100%; min-height:312px; padding:0; overflow:hidden; border:0; border-radius:8px; background:radial-gradient(circle at 50% 36%,rgba(33,51,76,.82),rgba(19,27,41,.96) 62%,#151d2b 100%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics { display:grid; grid-template-columns:minmax(460px,1fr) minmax(250px,30%); gap:16px; padding:0; }
#generationOverviewPage .go-flow-diagram { position:relative; min-width:0; min-height:312px; overflow:visible; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-diagram { margin-left:64px; width:calc(100% - 64px); }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-report { left:-2px; top:-2px; }
#generationOverviewPage .go-flow-side-metrics { position:relative; z-index:4; display:grid; grid-template-columns:1fr; gap:9px; align-content:center; padding:68px 18px 14px 0; transform:translateY(-30px); }
#generationOverviewPage .go-flow-metric-card { width:80%; box-sizing:border-box; min-height:59px; display:grid; align-content:center; gap:5px; padding:11px 16px; border:1px solid rgba(255,255,255,.07); border-radius:13px; background:linear-gradient(105deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.035) 52%,rgba(0,0,0,.12) 100%),rgba(255,255,255,.08); box-shadow:inset 1px 1px 0 rgba(255,255,255,.06),inset -1px -1px 0 rgba(0,0,0,.22),0 4px 10px rgba(0,0,0,.16); }
#generationOverviewPage .go-flow-metric-card strong { color:#edf5ff; font-size:24px; line-height:1; font-weight:500; }
#generationOverviewPage .go-flow-metric-card span { color:#aeb8c5; font-size:15px; line-height:1.25; }
#generationOverviewPage .go-flow-metric-card.is-alert strong,
#generationOverviewPage .go-flow-metric-card.is-warn strong { color:#ffcf4a; text-shadow:0 0 10px rgba(255,207,74,.22); }
#generationOverviewPage .go-flow-metric-card.is-ok strong { color:#20f09a; text-shadow:0 0 10px rgba(32,240,154,.25); }
#generationOverviewPage .go-flow-metric-card.is-fault strong { color:#ff4d5f; text-shadow:0 0 10px rgba(255,77,95,.25); }
#generationOverviewPage .go-flow-minimal::before,
#generationOverviewPage .go-flow-minimal::after { display:none; }
#generationOverviewPage .go-flow-minimal-lines { position:absolute; inset:0; width:100%; height:100%; }
#generationOverviewPage .go-flow-minimal-lines path { fill:none; stroke:rgba(144,165,194,.26); stroke-width:2.2; stroke-linecap:round; stroke-dasharray:7 10; }
#generationOverviewPage .go-flow-minimal-lines path.pv-to-load { stroke:rgba(205,220,235,.22); stroke-width:3; }
#generationOverviewPage .go-flow-minimal.is-running .go-flow-minimal-lines path.pv-to-load { stroke:#f0c500; stroke-dasharray:11 10; animation:go-flow-dash 1.45s linear infinite; filter:drop-shadow(0 0 8px rgba(240,197,0,.55)); }
#generationOverviewPage .go-flow-minimal-lines path.is-disconnected { stroke:rgba(151,169,190,.18); stroke-width:2; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-minimal-lines { display:none; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-diagram::before { content:""; position:absolute; left:calc(15% + 62px); right:calc(15% + 62px); top:calc(50% - 13px); border-top:3px dashed rgba(144,165,194,.18); transform:translateY(-50%); pointer-events:none; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-diagram::after { content:""; position:absolute; left:50%; top:20%; bottom:20%; border-left:3px dashed rgba(144,165,194,.18); transform:translateX(-50%); pointer-events:none; }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running .go-flow-diagram::after { width:5px; border-left:0; border-radius:999px; background:linear-gradient(to bottom,rgba(240,197,0,.08) 0 7%,#f0c500 8% 13%,rgba(240,197,0,.08) 14% 27%,#f0c500 28% 33%,rgba(240,197,0,.08) 34% 47%,#f0c500 48% 53%,rgba(240,197,0,.08) 54% 67%,#f0c500 68% 73%,rgba(240,197,0,.08) 74% 87%,#f0c500 88% 93%,rgba(240,197,0,.08) 94% 100%); background-size:100% 96px; box-shadow:0 0 10px rgba(240,197,0,.42),0 0 20px rgba(240,197,0,.18); animation:go-pv-load-flow 1.15s linear infinite; }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-dots-1 .go-flow-diagram::after { background:linear-gradient(to bottom,rgba(240,197,0,.08) 0 44%,#f0c500 45% 55%,rgba(240,197,0,.08) 56% 100%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-dots-2 .go-flow-diagram::after { background:linear-gradient(to bottom,rgba(240,197,0,.08) 0 23%,#f0c500 24% 31%,rgba(240,197,0,.08) 32% 68%,#f0c500 69% 76%,rgba(240,197,0,.08) 77% 100%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-dots-3 .go-flow-diagram::after { background:linear-gradient(to bottom,rgba(240,197,0,.08) 0 17%,#f0c500 18% 25%,rgba(240,197,0,.08) 26% 45%,#f0c500 46% 53%,rgba(240,197,0,.08) 54% 73%,#f0c500 74% 81%,rgba(240,197,0,.08) 82% 100%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-dots-4 .go-flow-diagram::after { background:linear-gradient(to bottom,rgba(240,197,0,.08) 0 11%,#f0c500 12% 18%,rgba(240,197,0,.08) 19% 36%,#f0c500 37% 43%,rgba(240,197,0,.08) 44% 61%,#f0c500 62% 68%,rgba(240,197,0,.08) 69% 86%,#f0c500 87% 93%,rgba(240,197,0,.08) 94% 100%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-dots-5 .go-flow-diagram::after { background:linear-gradient(to bottom,rgba(240,197,0,.08) 0 7%,#f0c500 8% 13%,rgba(240,197,0,.08) 14% 27%,#f0c500 28% 33%,rgba(240,197,0,.08) 34% 47%,#f0c500 48% 53%,rgba(240,197,0,.08) 54% 67%,#f0c500 68% 73%,rgba(240,197,0,.08) 74% 87%,#f0c500 88% 93%,rgba(240,197,0,.08) 94% 100%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-speed-1 .go-flow-diagram::after { animation-duration:4.5s; }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-speed-2 .go-flow-diagram::after { animation-duration:3.4s; }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-speed-3 .go-flow-diagram::after { animation-duration:2.5s; }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-speed-4 .go-flow-diagram::after { animation-duration:1.8s; }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running.is-flow-speed-5 .go-flow-diagram::after { animation-duration:1.15s; }
#generationOverviewPage .go-flow-minimal.has-side-metrics.is-running .go-flow-diagram::before { border-top-color:rgba(144,165,194,.16); }
#generationOverviewPage .go-flow-report { position:absolute; left:-2px; top:-2px; z-index:3; display:grid; gap:7px; min-width:310px; padding-bottom:36px; color:#b8c7d9; }
#generationOverviewPage .go-flow-report > div { display:flex; align-items:center; gap:10px; }
#generationOverviewPage .go-flow-report strong { color:#eef5ff; font-size:20px; font-weight:600; line-height:1.2; }
#generationOverviewPage .go-flow-refresh { display:grid; place-items:center; width:36px; height:36px; padding:0; color:#3392ff; background:transparent; border:0; border-radius:50%; overflow:visible; cursor:pointer; }
#generationOverviewPage .go-flow-report > div .go-flow-refresh { position:absolute; left:-2px; top:86px; }
#generationOverviewPage .go-flow-refresh svg { display:block; width:22px; height:22px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; transform-box:view-box; transform-origin:center center; will-change:transform; }
#generationOverviewPage .go-flow-refresh:hover { color:#6eb2ff; background:rgba(51,146,255,.10); }
#generationOverviewPage .go-flow-refresh:disabled { opacity:.72; cursor:default; }
#generationOverviewPage .go-flow-refresh.is-spinning svg { animation:go-refresh-once .72s ease both; }
#generationOverviewPage .go-flow-refresh.is-continuous svg { animation:go-refresh-continuous 1s linear infinite; }
#generationOverviewPage .go-flow-quick-tip { display:inline-grid; grid-template-columns:1fr; align-items:start; gap:3px; min-width:142px; min-height:34px; padding:0; box-sizing:border-box; color:#5be1c9; border:0; border-radius:0; background:transparent; font-size:13px; line-height:1.15; white-space:nowrap; }
#generationOverviewPage .go-flow-report > div .go-flow-quick-tip { position:absolute; left:42px; top:92px; }
#generationOverviewPage .go-flow-quick-tip.is-normal { width:auto; height:auto; padding:0; color:#8f9dae; border:0; border-radius:0; background:transparent; font-size:12px; }
#generationOverviewPage .go-quick-main { display:inline-flex; align-items:center; gap:2px; }
#generationOverviewPage .go-quick-dots { display:inline-flex; width:18px; justify-content:flex-start; text-align:left; }
#generationOverviewPage .go-quick-dots i { width:6px; opacity:.22; font-style:normal; }
#generationOverviewPage .go-quick-dots i.is-on { opacity:1; }
#generationOverviewPage .go-quick-countdown { display:block; color:#d8fff7; font-family:Consolas,monospace; font-variant-numeric:tabular-nums; font-size:12px; line-height:1.15; }
#generationOverviewPage .go-flow-report span,
#generationOverviewPage .go-flow-report b { color:#aab8ca; font-size:15px; font-weight:400; line-height:1.2; }
#generationOverviewPage .go-flow-report b { font-family:Consolas,monospace; color:#d6e0ed; }
#generationOverviewPage .go-flow-mini-node { position:absolute; z-index:2; display:grid; justify-items:center; gap:5px; width:118px; color:#dce8f3; text-align:center; }
#generationOverviewPage .go-flow-mini-node b { color:#f0f5fb; font-size:18px; font-weight:500; line-height:1.2; text-shadow:0 1px 8px rgba(0,0,0,.36); }
#generationOverviewPage .go-flow-mini-circle { display:grid; place-items:center; align-content:center; width:100px; height:100px; border-radius:50%; background:linear-gradient(180deg,#ffffff,#f4f8fb); box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.08); }
#generationOverviewPage .go-flow-photo { display:block; width:42px; height:34px; object-fit:contain; background:transparent; filter:drop-shadow(0 0 5px rgba(0,216,255,.42)) drop-shadow(0 4px 8px rgba(0,54,110,.18)); mix-blend-mode:multiply; }
#generationOverviewPage .go-flow-photo.pv { width:50px; height:34px; }
#generationOverviewPage .go-flow-photo.grid { width:34px; height:42px; object-position:center bottom; }
#generationOverviewPage .go-flow-photo.load { width:72px; height:54px; }
#generationOverviewPage .go-flow-photo.battery { width:30px; height:34px; }
#generationOverviewPage .go-flow-mini-circle strong,
#generationOverviewPage .go-flow-mini-circle em,
#generationOverviewPage .go-flow-mini-circle i { display:block; color:#6f7882; font-family:Consolas,monospace; font-style:normal; line-height:1.25; }
#generationOverviewPage .go-flow-mini-circle strong { margin-top:4px; font-size:18px; font-weight:400; }
#generationOverviewPage .go-flow-mini-circle em { font-size:15px; }
#generationOverviewPage .go-flow-mini-circle i { margin-top:1px; font-size:14px; }
#generationOverviewPage .go-flow-mini-node.pv { left:50%; top:0; transform:translateX(-50%); }
#generationOverviewPage .go-flow-mini-node.battery { left:42px; top:132px; }
#generationOverviewPage .go-flow-mini-node.grid { right:42px; top:132px; }
#generationOverviewPage .go-flow-mini-node.load { left:50%; bottom:0; transform:translateX(-50%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node { transform:translate(-50%,-50%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.pv { left:50%; top:-18px; transform:translateX(-50%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.battery { left:15%; top:50%; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.grid { left:85%; right:auto; top:50%; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.load { left:50%; top:auto; bottom:8px; transform:translateX(-50%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.battery b,
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.grid b { order:2; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.pv b,
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.load b { position:absolute; left:50%; transform:translateX(-50%); }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.pv b { top:-27px; }
#generationOverviewPage .go-flow-minimal.has-side-metrics .go-flow-mini-node.load b { bottom:-27px; }
#generationOverviewPage .go-flow-mini-node.is-unavailable { opacity:.56; }
#generationOverviewPage .go-flow-mini-node.is-unavailable .go-flow-mini-circle { background:linear-gradient(180deg,#eef3f8,#e3e9ef); box-shadow:0 10px 24px rgba(0,0,0,.18); }
#generationOverviewPage .go-flow-mini-node.is-unavailable b { color:#96a8bd; }
#generationOverviewPage .mini-icon { position:relative; display:block; width:30px; height:24px; }
#generationOverviewPage .mini-icon.pv { width:42px; height:26px; transform:skewX(-14deg) rotate(-10deg); background:linear-gradient(135deg,#0b1524,#1b3f63 58%,#77c7ff); border:1px solid #d8e8f5; box-shadow:7px 5px 8px rgba(60,74,90,.25); }
#generationOverviewPage .mini-icon.pv::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 31%,rgba(255,255,255,.55) 32% 36%,transparent 37% 64%,rgba(255,255,255,.55) 65% 69%,transparent 70%),linear-gradient(0deg,transparent 45%,rgba(255,255,255,.55) 46% 51%,transparent 52%); }
#generationOverviewPage .mini-icon.battery { width:34px; height:15px; border:2px solid #e6e9ed; border-radius:2px; background:#fff; }
#generationOverviewPage .mini-icon.battery::after { content:""; position:absolute; right:-5px; top:4px; width:3px; height:7px; border-radius:1px; background:#e6e9ed; }
#generationOverviewPage .mini-icon.grid { width:34px; height:36px; }
#generationOverviewPage .mini-icon.grid::before { content:""; position:absolute; left:50%; top:2px; width:22px; height:31px; transform:translateX(-50%); clip-path:polygon(50% 0,88% 100%,12% 100%); border:2px solid #5e6874; background:linear-gradient(35deg,transparent 42%,#5e6874 43% 49%,transparent 50%),linear-gradient(-35deg,transparent 42%,#5e6874 43% 49%,transparent 50%); }
#generationOverviewPage .mini-icon.load { width:30px; height:24px; }
#generationOverviewPage .mini-icon.load::before { content:""; position:absolute; left:8px; top:7px; width:15px; height:10px; border-radius:0 0 9px 9px; background:linear-gradient(180deg,#ffb648,#c26b17); box-shadow:0 7px 10px rgba(207,117,29,.22); }
#generationOverviewPage .mini-icon.load::after { content:""; position:absolute; left:14px; top:0; width:2px; height:8px; background:#a26a42; box-shadow:-9px 8px 0 -1px #ead7c3,9px 8px 0 -1px #ead7c3; }
@keyframes go-flow-dash { to { stroke-dashoffset:-32; } }
@keyframes go-pv-load-flow { from { background-position:0 -96px; } to { background-position:0 96px; } }
@keyframes go-refresh-once { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
@keyframes go-refresh-continuous { from { transform:rotate(0deg); } to { transform:rotate(360deg); } }
#generationOverviewPage .go-flow-minimal.is-night { background:radial-gradient(circle at 50% 36%,rgba(27,39,61,.86),rgba(17,24,38,.98) 64%,#111827 100%); }
@media(max-width:720px) { #generationOverviewPage .go-flow-minimal { min-height:360px; } #generationOverviewPage .go-flow-report { left:-2px; top:-2px; } #generationOverviewPage .go-flow-report strong { font-size:21px; } #generationOverviewPage .go-flow-mini-node { width:102px; } #generationOverviewPage .go-flow-mini-circle { width:86px; height:86px; } #generationOverviewPage .go-flow-mini-node.battery { left:8px; } #generationOverviewPage .go-flow-mini-node.grid { right:8px; } }

/* Generation comparison and fixed-day runtime chart. */
#generationOverviewPage .go-comparison-scroll { width:100%; height:100%; overflow:hidden; }
#generationOverviewPage .go-comparison-svg { shape-rendering:geometricPrecision; }
#generationOverviewPage .go-compare-bar rect.current { fill:#35c3d6; }
#generationOverviewPage .go-compare-bar rect.previous { fill:#f3c623; opacity:.92; }
#generationOverviewPage .go-compare-bar text { fill:#879195; font-size:12px; text-anchor:middle; }
#generationOverviewPage .go-empty-axis-label { fill:#6f7a86; font-size:12px; text-anchor:middle; }
#generationOverviewPage .go-empty-overlay { fill:#8b96a3; font-size:16px; }
#generationOverviewPage .go-chart-legend text { fill:#aeb8c2; font-size:13px; }
#generationOverviewPage .go-chart-legend .current { fill:#35c3d6; }
#generationOverviewPage .go-chart-legend .previous { fill:#f3c623; }
#generationOverviewPage .go-power-line { stroke:#7b61ff; }
#generationOverviewPage .go-energy-line { stroke:#f3c623; }
#generationOverviewPage .go-dot.power { background:#7b61ff; }
#generationOverviewPage .go-dot.energy { background:#f3c623; }
#generationOverviewPage .go-runtime-tooltip i.power { background:#7b61ff; }
#generationOverviewPage .go-runtime-tooltip i.energy { background:#f3c623; }
#generationOverviewPage .go-latest-point circle.power { fill:#7b61ff; stroke:#172231; stroke-width:1.5; }
#generationOverviewPage .go-latest-point circle.energy { fill:#f3c623; stroke:#172231; stroke-width:1.5; }
#generationOverviewPage .go-latest-point text { fill:#cfe3ff; font-size:13px; font-weight:700; }
#generationOverviewPage .go-runtime-controls { display:flex; align-items:center; justify-content:flex-end; gap:10px; min-width:0; }
#generationOverviewPage .go-runtime-tools { position:relative; display:flex; align-items:center; gap:6px; flex:0 0 auto; }
#generationOverviewPage .go-runtime-tool { display:grid; place-items:center; width:30px; height:30px; padding:0; color:#aeb9c5; border:1px solid #465363; border-radius:4px; background:#151b26; cursor:pointer; }
#generationOverviewPage .go-runtime-tool:hover { color:#5be1c9; border-color:#278f80; background:#18262a; }
#generationOverviewPage .go-runtime-tool:focus-visible { color:#5be1c9; border-color:#5be1c9; outline:2px solid rgba(91,225,201,.24); outline-offset:2px; }
#generationOverviewPage .go-runtime-tool svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#generationOverviewPage .go-runtime-template { color:#5be1c9; border-color:#278f80; background:#17302f; }
#generationOverviewPage .go-runtime-template:hover { color:#d9fff8; border-color:#5be1c9; background:#1c413d; }
#generationOverviewPage .go-runtime-template[hidden] { display:none; }
#generationOverviewPage .go-runtime-selected-date { display:block; margin-top:1px; color:#8998aa; font:12px Consolas,monospace; }
#generationOverviewPage .go-runtime-calendar-button[aria-expanded="true"] { color:#d9fff8; border-color:#5be1c9; background:#1c413d; }
#generationOverviewPage .go-runtime-calendar { position:absolute; z-index:20; top:38px; right:0; width:278px; padding:12px; color:#d9e2ec; border:1px solid #60758d; border-radius:6px; background:#202d3d; box-shadow:0 16px 34px rgba(4,10,18,.5); }
#generationOverviewPage .go-runtime-calendar[hidden] { display:none; }
#generationOverviewPage .go-runtime-calendar-head { display:grid; grid-template-columns:30px 1fr 30px; align-items:center; margin-bottom:9px; }
#generationOverviewPage .go-runtime-calendar-head strong { color:#eef5fb; font-size:14px; text-align:center; }
#generationOverviewPage .go-runtime-calendar-head button { display:grid; place-items:center; width:28px; height:28px; padding:0; color:#aebfd1; border:1px solid transparent; border-radius:4px; background:transparent; font-size:23px; line-height:1; cursor:pointer; }
#generationOverviewPage .go-runtime-calendar-head button:hover:not(:disabled) { color:#5be1c9; border-color:#49657f; background:#2b3d51; }
#generationOverviewPage .go-runtime-calendar-head button:disabled { color:#59697a; cursor:not-allowed; }
#generationOverviewPage .go-runtime-calendar-week,
#generationOverviewPage .go-runtime-calendar-grid { display:grid; grid-template-columns:repeat(7,32px); justify-content:space-between; gap:3px; }
#generationOverviewPage .go-runtime-calendar-week { margin-bottom:4px; color:#7f91a3; font-size:11px; text-align:center; }
#generationOverviewPage .go-runtime-calendar-day,
#generationOverviewPage .go-runtime-calendar-empty { width:32px; height:30px; }
#generationOverviewPage .go-runtime-calendar-day { position:relative; display:grid; place-items:center; padding:0; color:#aeb9c5; border:1px solid transparent; border-radius:4px; background:transparent; font:12px Consolas,monospace; cursor:pointer; }
#generationOverviewPage .go-runtime-calendar-day:hover:not(:disabled) { color:#f4f8fb; border-color:#607b96; background:#30465d; }
#generationOverviewPage .go-runtime-calendar-day.has-data { color:#dcfff8; background:#176052; font-weight:700; }
#generationOverviewPage .go-runtime-calendar-day.has-data:hover { background:#1d7967; }
#generationOverviewPage .go-runtime-calendar-day.is-selected { border-color:#79baff; box-shadow:inset 0 0 0 1px #79baff; }
#generationOverviewPage .go-runtime-calendar-day.is-today::after { content:""; position:absolute; bottom:2px; left:50%; width:3px; height:3px; border-radius:50%; background:#f3c623; transform:translateX(-50%); }
#generationOverviewPage .go-runtime-calendar-day:disabled { color:#536273; cursor:not-allowed; }
#generationOverviewPage .go-runtime-calendar footer { display:flex; align-items:center; justify-content:space-between; min-height:27px; margin-top:9px; padding-top:8px; color:#8fa0b1; border-top:1px solid #3a4c60; font-size:11px; }
#generationOverviewPage .go-runtime-calendar footer span { display:flex; align-items:center; gap:5px; }
#generationOverviewPage .go-runtime-calendar footer i { width:9px; height:9px; border-radius:2px; background:#176052; }
#generationOverviewPage .go-runtime-calendar footer button { padding:3px 6px; color:#73d9c6; border:0; border-radius:3px; background:transparent; font-size:11px; cursor:pointer; }
#generationOverviewPage .go-runtime-calendar footer button:hover { background:#2b3d51; }
#generationOverviewPage .go-runtime-calendar-message { margin:7px -2px -2px; padding:6px 8px; color:#9eb0c1; background:#26374a; font-size:11px; text-align:center; }
#generationOverviewPage .go-runtime-section .go-chart-area { height:372px; padding:10px 12px 4px; background:var(--go-surface); }
#generationOverviewPage .go-runtime-interactive { position:relative; background:var(--go-surface); box-shadow:none; }
#generationOverviewPage .go-runtime-legend-overlay {
  position:absolute;
  z-index:5;
  top:4px;
  bottom:4px;
  display:flex;
  flex-direction:column;
  gap:0;
  box-sizing:border-box;
  padding-left:10px;
  overflow:auto;
  border-left:1px solid rgba(96,112,131,.38);
  pointer-events:auto;
}
#generationOverviewPage .go-runtime-series-group { border-bottom:1px solid rgba(96,112,131,.24); }
#generationOverviewPage .go-runtime-series-group-head { display:grid; grid-template-columns:14px minmax(0,1fr); align-items:center; gap:2px; }
#generationOverviewPage .go-runtime-series-group-select { width:11px; height:11px; margin:0 0 0 2px; accent-color:#5be1c9; cursor:pointer; }
#generationOverviewPage .go-runtime-series-group-toggle { width:100%; height:25px; display:grid; grid-template-columns:minmax(0,1fr) auto 12px; align-items:center; gap:7px; padding:0 4px; color:#c5d0dc; border:0; background:transparent; font-size:11px; text-align:left; cursor:pointer; }
#generationOverviewPage .go-runtime-series-group-toggle:hover { color:#f0f6fb; background:rgba(62,78,96,.22); }
#generationOverviewPage .go-runtime-series-group.has-selected .go-runtime-series-group-toggle { cursor:default; }
#generationOverviewPage .go-runtime-series-group-toggle:focus-visible { outline:1px solid #5be1c9; outline-offset:-1px; }
#generationOverviewPage .go-runtime-series-group-toggle span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
#generationOverviewPage .go-runtime-series-group-toggle em { color:#718196; font:10px Consolas,monospace; font-style:normal; }
#generationOverviewPage .go-runtime-series-group-toggle i { width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translate(-1px,-1px); transition:transform .16s ease; }
#generationOverviewPage .go-runtime-series-group-toggle[aria-expanded="true"] i { transform:rotate(225deg) translate(-1px,-1px); }
#generationOverviewPage .go-runtime-series-group-body { display:grid; gap:1px; padding:1px 2px 3px; }
#generationOverviewPage .go-runtime-series-group-body[hidden] { display:none; }
#generationOverviewPage .go-runtime-series-empty { padding:4px 5px; color:#596779; font-size:11px; }
#generationOverviewPage .go-runtime-series-toggle {
  display:flex;
  align-items:center;
  gap:4px;
  height:16px;
  padding:0 7px 0 5px;
  color:#aeb9c5;
  border:1px solid rgba(96,112,131,.52);
  border-radius:4px;
  background:rgba(21,27,38,.62);
  box-shadow:0 2px 8px rgba(5,10,18,.18);
  font-size:11px;
  line-height:1;
  cursor:pointer;
  user-select:none;
  box-sizing:border-box;
  width:100%;
}
#generationOverviewPage .go-runtime-series-toggle:hover { color:#edf7fb; border-color:#607083; background:rgba(28,38,52,.84); }
#generationOverviewPage .go-runtime-series-toggle input {
  width:11px;
  height:11px;
  margin:0;
  accent-color:#5be1c9;
  cursor:pointer;
}
#generationOverviewPage .go-runtime-series-toggle span { min-width:0; display:flex; align-items:center; gap:4px; white-space:nowrap; }
#generationOverviewPage .go-runtime-series-toggle span b { overflow:hidden; text-overflow:ellipsis; font-weight:400; }
#generationOverviewPage .go-runtime-series-toggle input:not(:checked) + span { opacity:.48; }
#generationOverviewPage .go-runtime-svg { display:block; font-family:inherit; shape-rendering:geometricPrecision; }
#generationOverviewPage .go-runtime-plot-bg { fill:var(--go-surface)!important; stroke:none; }
#generationOverviewPage .go-runtime-svg .go-grid { stroke:#3c4655; stroke-width:1; stroke-dasharray:3 5; opacity:1; }
#generationOverviewPage .go-runtime-axis-line,
#generationOverviewPage .go-runtime-baseline { fill:none; stroke:#667281; stroke-width:1; }
#generationOverviewPage .go-runtime-svg .go-axis-label { fill:#8f9aa8; font-size:11px; }
#generationOverviewPage .go-runtime-svg .go-axis-title { font-size:10px; font-weight:500; }
#generationOverviewPage .go-runtime-axis-title.is-power { fill:#83b9ff; }
#generationOverviewPage .go-runtime-axis-title.is-energy { fill:#55dbc4; }
#generationOverviewPage .go-runtime-axis-title.is-voltage { fill:#b9a6ff; }
#generationOverviewPage .go-runtime-axis-title.is-current { fill:#f2c96d; }
#generationOverviewPage .go-runtime-line { fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
#generationOverviewPage .go-power-line { stroke:#5ca9ff; stroke-width:2.5; }
#generationOverviewPage .go-energy-line { stroke:#39d2b5; stroke-width:2.35; }
#generationOverviewPage .go-voltage-line { stroke:#a78bfa; }
#generationOverviewPage .go-current-line { stroke:#f5bd4f; }
#generationOverviewPage .go-runtime-area.power { fill:url(#goRuntimePowerArea); pointer-events:none; }
#generationOverviewPage .go-runtime-area.energy { fill:url(#goRuntimeEnergyArea); pointer-events:none; }
#generationOverviewPage .go-runtime-sample { stroke:#172231; stroke-width:1; opacity:.88; pointer-events:none; }
#generationOverviewPage .go-runtime-sample.power { fill:#76b8ff; }
#generationOverviewPage .go-runtime-sample.energy { fill:#5be1c9; }
#generationOverviewPage .go-runtime-sample.voltage { fill:#b9a6ff; }
#generationOverviewPage .go-runtime-sample.current { fill:#ffd16b; }
#generationOverviewPage .go-runtime-latest { pointer-events:none; }
#generationOverviewPage .go-runtime-latest-core { stroke:#172231; stroke-width:1.25; }
#generationOverviewPage .go-runtime-latest-ring { fill:none; stroke-width:1.5; transform-box:fill-box; transform-origin:center; animation:go-runtime-latest-pulse 2.2s ease-out infinite; }
#generationOverviewPage .go-runtime-latest-core.power { fill:#76b8ff; }
#generationOverviewPage .go-runtime-latest-ring.power { stroke:#76b8ff; }
#generationOverviewPage .go-runtime-latest-core.energy { fill:#5be1c9; }
#generationOverviewPage .go-runtime-latest-ring.energy { stroke:#5be1c9; }
#generationOverviewPage .go-runtime-latest-core.voltage { fill:#b9a6ff; }
#generationOverviewPage .go-runtime-latest-ring.voltage { stroke:#b9a6ff; }
#generationOverviewPage .go-runtime-latest-core.current { fill:#ffd16b; }
#generationOverviewPage .go-runtime-latest-ring.current { stroke:#ffd16b; }
@keyframes go-runtime-latest-pulse { 0% { opacity:.9; transform:scale(.82); } 72%,100% { opacity:0; transform:scale(1.48); } }
@media(prefers-reduced-motion:reduce) { #generationOverviewPage .go-runtime-latest-ring { animation:none; opacity:.85; } }
#generationOverviewPage .go-runtime-guide { pointer-events:none; }
#generationOverviewPage .go-runtime-guide path { fill:none; stroke:#9fb0c3; stroke-width:1; stroke-dasharray:4 4; opacity:.82; }
#generationOverviewPage .go-runtime-guide circle { stroke:#172231; stroke-width:1.5; }
#generationOverviewPage .go-runtime-guide circle.power { fill:#76b8ff; }
#generationOverviewPage .go-runtime-guide circle.energy { fill:#4bd9c0; }
#generationOverviewPage .go-runtime-guide circle.voltage { fill:#b9a6ff; }
#generationOverviewPage .go-runtime-guide circle.current { fill:#ffd16b; }
#generationOverviewPage .go-dot.power,
#generationOverviewPage .go-runtime-tooltip i.power { background:#5ca9ff; }
#generationOverviewPage .go-dot.energy,
#generationOverviewPage .go-runtime-tooltip i.energy { background:#39d2b5; }
#generationOverviewPage .go-dot.voltage,
#generationOverviewPage .go-runtime-tooltip i.voltage { background:#a78bfa; }
#generationOverviewPage .go-dot.current,
#generationOverviewPage .go-runtime-tooltip i.current { background:#f5bd4f; }
#generationOverviewPage .go-runtime-section .go-legend { flex-wrap:wrap; justify-content:flex-end; row-gap:3px; }
#generationOverviewPage .go-runtime-section .go-legend:empty { display:none; }
#generationOverviewPage .go-runtime-tooltip { min-width:190px; padding:10px 12px; border-color:#607083; background:rgba(18,24,33,.97); }
#generationOverviewPage .go-runtime-time-label { font-family:inherit; }

@media(min-width:1101px) {
  #generationOverviewPage .go-context {
    height:var(--go-row-1-height,auto);
    grid-template-columns:minmax(0,var(--go-context-station,2411fr)) 10px minmax(0,var(--go-context-power,1607fr)) 10px minmax(0,var(--go-context-daily,1339fr)) 10px minmax(0,var(--go-context-total,1339fr)) 10px minmax(0,var(--go-context-week,1339fr)) 10px minmax(0,var(--go-context-weather,1965fr));
    gap:0;
  }
  #generationOverviewPage .go-context > .go-station-title,
  #generationOverviewPage .go-context > .go-realtime-weather,
  #generationOverviewPage .go-context > .go-context-metric,
  #generationOverviewPage .go-context > .go-context-status { min-height:0; height:100%; box-sizing:border-box; overflow:auto; }
  #generationOverviewPage .go-context > .go-power-bubble-card { overflow:hidden; }
  #generationOverviewPage .go-context > .go-realtime-weather { overflow:hidden; }
  #generationOverviewPage .go-lower-grid { height:var(--go-row-2-height,auto); grid-template-columns:minmax(240px,var(--go-panel-flow,3333fr)) 14px minmax(220px,var(--go-panel-equipment,2963fr)) 14px minmax(300px,var(--go-panel-social,3704fr)); gap:0; align-items:stretch; }
  #generationOverviewPage .go-flow-section { grid-column:1; }
  #generationOverviewPage .go-lower-grid > .go-panel-resizer[data-panel-resizer="0"] { grid-column:2; }
  #generationOverviewPage .go-device-section { display:contents; }
  #generationOverviewPage .go-equipment-info { grid-column:3; }
  #generationOverviewPage .go-device-list > .go-panel-resizer[data-panel-resizer="1"] { grid-column:4; }
  #generationOverviewPage .go-social-info { grid-column:5; }
  #generationOverviewPage .go-flow-section,
  #generationOverviewPage .go-equipment-info,
  #generationOverviewPage .go-social-info { min-height:0; height:100%; box-sizing:border-box; }
  #generationOverviewPage .go-equipment-info,
  #generationOverviewPage .go-social-info { overflow:auto; }
  #generationOverviewPage .go-analysis-grid { height:var(--go-row-3-height,auto); align-items:stretch; }
  #generationOverviewPage .go-analysis-grid > .go-section { position:relative; min-height:0; height:100%; display:flex; flex-direction:column; box-sizing:border-box; }
  #generationOverviewPage .go-analysis-grid > .go-section > header { flex:0 0 auto; }
  #generationOverviewPage .go-analysis-grid > .go-section > .go-chart-area { flex:1 1 auto; min-height:0; height:auto; }
  #generationOverviewPage .go-station-title,
  #generationOverviewPage .go-flow-section,
  #generationOverviewPage .go-energy-section { position:relative; }
  #generationOverviewPage .go-context-width-resizer { display:block; }
  #generationOverviewPage .go-row-height-resizer { display:block; }
}
@media(max-width:1100px) {
  #generationOverviewPage .go-device-section { display:block; }
  #generationOverviewPage .go-device-list { display:grid; grid-template-columns:1fr; gap:14px; padding:14px; }
  #generationOverviewPage .go-panel-resizer { display:none; }
}

/* The analysis panels share all available width; the center handle only changes their ratio. */
#generationOverviewPage .go-analysis-grid {
  width:100%;
  margin-top:14px;
  grid-template-columns:minmax(0,var(--go-analysis-energy,5000fr)) 14px minmax(0,var(--go-analysis-runtime,5000fr));
  gap:0;
}
#generationOverviewPage .go-analysis-grid > .go-section { min-width:0; }
#generationOverviewPage .go-analysis-resizer.is-active::before {
  width:4px;
  background:#42d2ba;
  box-shadow:0 0 10px rgba(66,210,186,.5);
}
#generationOverviewPage.is-analysis-resizing,
#generationOverviewPage.is-analysis-resizing * {
  cursor:col-resize!important;
  user-select:none!important;
}
@media(min-width:721px) {
  #generationOverviewPage .go-analysis-resizer.go-panel-resizer { display:block; }
}
@media(max-width:720px) {
  #generationOverviewPage .go-analysis-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  #generationOverviewPage .go-analysis-resizer { display:none!important; }
}

/* Daily generation and weather chart. */
#generationOverviewPage .go-energy-controls { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
#generationOverviewPage .go-history-import { display:grid; place-items:center; width:30px; height:30px; padding:0; color:#aeb9c5; border:1px solid #465363; border-radius:4px; background:#151b26; cursor:pointer; }
#generationOverviewPage .go-history-import:hover { color:#5be1c9; border-color:#278f80; background:#18262a; }
#generationOverviewPage .go-history-import:focus-visible { color:#5be1c9; border-color:#5be1c9; outline:2px solid rgba(91,225,201,.24); outline-offset:2px; }
#generationOverviewPage .go-history-import svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#generationOverviewPage .go-energy-section .go-chart-area { height:372px; padding:10px 12px 4px; }
@media(min-width:721px) {
  #generationOverviewPage .go-energy-section > header,
  #generationOverviewPage .go-runtime-section > header { min-height:68px; padding:11px 15px; }
}
#generationOverviewPage .go-energy-section #generationEnergyTotal { display:none; }
#generationOverviewPage .go-history-interactive { position:relative; width:100%; height:100%; }
#generationOverviewPage .go-history-scroll { width:100%; height:100%; overflow-x:hidden; overflow-y:hidden; scrollbar-color:#405667 transparent; scrollbar-width:thin; }
#generationOverviewPage .go-history-scroll.is-scrollable { overflow-x:auto; }
#generationOverviewPage .go-history-svg { display:block; height:100%; min-width:100%; overflow:visible; font-family:inherit; }
#generationOverviewPage .go-history-scroll.is-scrollable .go-history-svg { height:calc(100% - 10px); }
#generationOverviewPage .go-history-grid { fill:none; stroke:#3c4655; stroke-width:1; stroke-dasharray:3 5; }
#generationOverviewPage .go-history-baseline { fill:none; stroke:#667281; stroke-width:1; }
#generationOverviewPage .go-history-axis { fill:#8f9aa8; font-size:11px; }
#generationOverviewPage .go-history-axis.is-temperature { fill:#d2ad54; }
#generationOverviewPage .go-history-axis-title { fill:#9ba7b5; font-size:12px; font-weight:600; }
#generationOverviewPage .go-history-axis-title.is-temperature { fill:#d8b75d; }
#generationOverviewPage .go-history-bar { fill:url(#go-history-bar-gradient); opacity:.86; transition:opacity .15s ease,filter .15s ease; }
#generationOverviewPage .go-history-item.is-selected:not(.is-generating) .go-history-bar { fill:#56a7ea; opacity:1; }
#generationOverviewPage .go-history-item:hover .go-history-bar { opacity:1; filter:brightness(1.12); }
#generationOverviewPage .go-history-item.is-generating .go-history-bar { fill:url(#go-history-today-bar-gradient); opacity:1; transform-box:fill-box; transform-origin:center bottom; animation:go-history-live-grow 3.8s ease-in-out infinite; animation-play-state:running; filter:drop-shadow(0 0 8px rgba(45,238,204,.62)) drop-shadow(0 0 18px rgba(45,238,204,.22)); will-change:transform,opacity; }
#generationOverviewPage .go-history-live-sheen { fill:url(#go-history-live-gradient); opacity:.78; pointer-events:none; transform-box:fill-box; transform-origin:center; animation:go-history-live-sheen 2.4s linear infinite; animation-play-state:running; filter:drop-shadow(0 0 5px rgba(183,255,244,.7)); will-change:transform,opacity; }
#generationOverviewPage .go-history-live-cap { fill:none; stroke:#cffff7; stroke-width:2; stroke-linecap:round; pointer-events:none; transform-box:fill-box; transform-origin:center; filter:drop-shadow(0 0 6px rgba(120,255,231,.72)); animation:go-history-live-cap 2.2s ease-in-out infinite; animation-play-state:running; will-change:transform,opacity; }
#generationOverviewPage .go-history-live-dot { fill:#f2fffc; stroke:#1fe7c3; stroke-width:1.4; pointer-events:none; transform-box:fill-box; transform-origin:center; filter:drop-shadow(0 0 5px rgba(120,255,231,.62)); animation:go-history-live-dot 2.2s ease-in-out infinite; animation-play-state:running; will-change:transform,opacity; }
@keyframes go-history-live-grow { 0%,100% { transform:scaleY(.97); opacity:.88; } 50% { transform:scaleY(1); opacity:1; } }
@keyframes go-history-live-sheen { 0% { opacity:0; transform:translateY(58%) scaleY(.2); } 18% { opacity:.28; } 52% { opacity:.92; transform:translateY(0) scaleY(.34); } 82% { opacity:.34; } 100% { opacity:0; transform:translateY(-58%) scaleY(.2); } }
@keyframes go-history-live-cap { 0%,100% { stroke-opacity:.45; transform:translateY(2px) scaleX(.88); } 50% { stroke-opacity:1; transform:translateY(-2px) scaleX(1.08); } }
@keyframes go-history-live-dot { 0%,100% { opacity:.55; transform:scale(.78); } 50% { opacity:1; transform:scale(1.28); } }
#generationOverviewPage .go-history-date { fill:#8f9aa8; font-size:11px; text-anchor:middle; }
#generationOverviewPage .go-history-weather { fill:#aebbc6; font-size:10px; font-weight:500; text-anchor:middle; paint-order:stroke; stroke:#202734; stroke-width:1.6px; stroke-linejoin:round; }
#generationOverviewPage .go-history-temperature { fill:#efd071; font-size:12px; font-weight:700; text-anchor:middle; font-variant-numeric:tabular-nums; paint-order:stroke; stroke:#202734; stroke-width:1.8px; stroke-linejoin:round; }
#generationOverviewPage .go-history-temperature-unit { font-size:8px; font-weight:600; baseline-shift:super; }
#generationOverviewPage .go-history-annotation-divider { fill:none; stroke:#4e7b74; stroke-width:1; stroke-linecap:round; opacity:.65; pointer-events:none; }
#generationOverviewPage .go-history-energy-value { fill:#7bd9c7; font-family:Bahnschrift,Consolas,monospace; font-size:10.5px; font-weight:700; text-anchor:middle; font-variant-numeric:tabular-nums; paint-order:stroke; stroke:#202734; stroke-width:1.8px; stroke-linejoin:round; }
#generationOverviewPage .go-history-annotation.is-generating .go-history-energy-value { fill:#a1f4e2; }
#generationOverviewPage .go-history-svg.is-dense-all .go-history-weather { font-size:10px; }
#generationOverviewPage .go-history-svg.is-dense-all .go-history-temperature { font-size:10px; }
#generationOverviewPage .go-history-svg.is-dense-all .go-history-energy-value { font-size:9px; }
#generationOverviewPage .go-history-svg.is-dense-labels .go-history-weather { font-size:8px; stroke-width:1.5px; }
#generationOverviewPage .go-history-svg.is-dense-labels .go-history-temperature { font-size:8px; stroke-width:1.5px; }
#generationOverviewPage .go-history-svg.is-dense-labels .go-history-energy-value { font-size:8px; stroke-width:1.5px; }
#generationOverviewPage .go-temperature-line { fill:none; stroke:#e0b84f; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; opacity:.78; pointer-events:none; }
#generationOverviewPage .go-temperature-point { fill:#e6bd55; stroke:#202734; stroke-width:1.2; pointer-events:none; }
@media (prefers-reduced-motion:reduce) {
  #generationOverviewPage .go-history-item.is-generating .go-history-bar { animation-duration:5.6s; }
  #generationOverviewPage .go-history-live-sheen { animation-duration:3.4s; }
  #generationOverviewPage .go-history-live-cap,
  #generationOverviewPage .go-history-live-dot { animation-duration:3s; }
}
#generationOverviewPage .go-history-annotation .go-weather-icon { fill:none; stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
#generationOverviewPage .go-history-annotation .go-weather-icon-halo { stroke:none; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-sun { stroke:#edc65e; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-sun .go-weather-icon-halo { fill:#e9bd4f; fill-opacity:.13; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-sun > circle:not(.go-weather-icon-halo) { fill:#e9bd4f; fill-opacity:.18; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-cloud { stroke:#b6c3ce; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-cloud .go-weather-icon-halo { fill:#93a8ba; fill-opacity:.12; }
#generationOverviewPage .go-history-annotation .go-weather-icon .go-weather-cloud-body { fill:#9eb2c1; fill-opacity:.1; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-partly-cloudy { stroke:#b6c3ce; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-partly-cloudy .go-weather-icon-halo { fill:#b7a35e; fill-opacity:.11; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-partly-cloudy .go-weather-sun-core { fill:#e9bd4f; fill-opacity:.18; stroke:#edc65e; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-partly-cloudy .go-weather-sun-rays { stroke:#edc65e; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-rain { stroke:#78b8e4; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-rain .go-weather-icon-halo { fill:#65a9d8; fill-opacity:.13; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-snow { stroke:#a8d2eb; }
#generationOverviewPage .go-history-annotation .go-weather-icon.is-snow .go-weather-icon-halo { fill:#9bcbe7; fill-opacity:.13; }
#generationOverviewPage .go-history-tooltip { position:absolute; z-index:5; display:grid; gap:5px; top:16px; min-width:176px; padding:9px 11px; color:#e8f3f2; border:1px solid #556372; border-radius:4px; background:rgba(18,24,33,.97); box-shadow:0 8px 22px rgba(0,0,0,.34); font-size:13px; line-height:1.3; pointer-events:none; }
#generationOverviewPage .go-history-tooltip[hidden] { display:none; }
#generationOverviewPage .go-history-tooltip strong { color:#f1f5f9; font:600 14px Consolas,monospace; }
#generationOverviewPage .go-history-tooltip span { display:flex; align-items:center; gap:6px; white-space:nowrap; }
#generationOverviewPage .go-history-tooltip small { color:#9ca8b5; font-size:12px; }
#generationOverviewPage .go-history-tooltip i { width:7px; height:7px; border-radius:50%; }
#generationOverviewPage .go-history-tooltip i.energy { background:#35c3ad; }
#generationOverviewPage .go-history-tooltip i.temperature { background:#f3c623; }
@media(max-width:720px) {
  #generationOverviewPage .go-runtime-section > header { flex-wrap:wrap; }
  #generationOverviewPage .go-runtime-controls { width:100%; justify-content:space-between; }
  #generationOverviewPage .go-runtime-tools { gap:3px; }
  #generationOverviewPage .go-runtime-tool { width:28px; height:28px; }
  #generationOverviewPage .go-runtime-section .go-chart-area { height:351px; padding-right:6px; padding-left:6px; }
  #generationOverviewPage .go-energy-section .go-chart-area { height:377px; padding:4px 6px 4px; }
  #generationOverviewPage .go-history-svg { height:100%; }
  #generationOverviewPage .go-runtime-calendar { top:36px; right:0; width:min(278px,calc(100vw - 24px)); }
}

/* The generation module is a viewport-bound workspace; only its active child panel scrolls. */
html.generation-workspace-active,
body.generation-workspace-active { height:100vh; height:100dvh; overflow:hidden; }
@media(min-width:769px) {
  body.generation-workspace-active { padding-top:0; }
  body.generation-workspace-active > .top-header { margin-top:0; }
  body.generation-workspace-active #generationOverviewPage.active { padding-top:12px; }
}
body.generation-workspace-active #generationOverviewPage.active {
  height:var(--generation-workspace-height,calc(100dvh - 62px));
  min-height:0;
  overflow:hidden;
}
#generationOverviewPage .go-workspace,
#generationOverviewPage .go-app-shell,
#generationOverviewPage .go-main-panels {
  min-height:0;
  height:100%;
  overflow:hidden;
}
#generationOverviewPage .go-side-nav { min-height:0; overflow-y:auto; }
#generationOverviewPage .go-view-panel {
  min-height:0;
  height:100%;
  overscroll-behavior:contain;
  scrollbar-color:#36546b #151b26;
  scrollbar-width:thin;
}
#generationOverviewPage .go-view-panel[data-generation-view-panel="detail"] { overflow:auto; }
#generationOverviewPage .go-management-view[data-generation-view-panel="stations"] { height:100%; }
#generationOverviewPage .go-management-view[data-generation-view-panel="settings"] {
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#generationOverviewPage .go-settings-view > .go-management-head { flex:0 0 auto; }
#generationOverviewPage .go-settings-layout {
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
#generationOverviewPage .go-settings-content {
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}
#generationOverviewPage .go-view-panel::-webkit-scrollbar,
#generationOverviewPage .go-side-nav::-webkit-scrollbar,
#generationOverviewPage .go-settings-content::-webkit-scrollbar { width:9px; height:9px; }
#generationOverviewPage .go-view-panel::-webkit-scrollbar-track,
#generationOverviewPage .go-side-nav::-webkit-scrollbar-track,
#generationOverviewPage .go-settings-content::-webkit-scrollbar-track { background:#151b26; }
#generationOverviewPage .go-view-panel::-webkit-scrollbar-thumb,
#generationOverviewPage .go-side-nav::-webkit-scrollbar-thumb,
#generationOverviewPage .go-settings-content::-webkit-scrollbar-thumb {
  border:2px solid #151b26;
  border-radius:5px;
  background:#36546b;
}
@media(max-width:720px) {
  #generationOverviewPage .go-app-shell { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
  #generationOverviewPage .go-side-nav { overflow-x:auto; overflow-y:hidden; }
  #generationOverviewPage .go-settings-view { overflow:auto; }
  #generationOverviewPage .go-settings-layout { display:block; overflow:visible; }
  #generationOverviewPage .go-settings-content { overflow:visible; }
}

/* Theme-specific station artwork replaces the generic title glyph. */
#generationOverviewPage .go-station-mark {
  position:relative;
  flex:0 0 auto;
  align-self:stretch;
  width:auto;
  height:auto;
  aspect-ratio:1 / 1;
  margin-top:0;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}
#generationOverviewPage .go-station-mark img {
  position:absolute;
  inset:0;
  display:block;
  width:90%;
  height:90%;
  margin:auto;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.2));
}
#generationOverviewPage .go-station-icon-light { display:none!important; }
body.light #generationOverviewPage .go-station-mark {
  border:0;
  background:transparent;
  box-shadow:none;
}
body.light #generationOverviewPage .go-station-icon-dark { display:none!important; }
body.light #generationOverviewPage .go-station-icon-light { display:block!important; }
@media(min-width:1101px) and (max-width:1400px) {
  #generationOverviewPage .go-station-mark { flex-basis:112px; align-self:flex-start; width:112px; height:112px; }
}
@media(max-width:720px) {
  #generationOverviewPage .go-station-mark { flex-basis:96px; align-self:flex-start; width:96px; height:96px; min-height:96px; }
}

/* On the generation workspace, navigation stays available as compact icon controls. */
body.generation-workspace-active .main-tab > span,
body.generation-workspace-active #generationOverviewPage .go-side-tab b,
body.generation-workspace-active #generationOverviewPage .go-side-tab small {
  display:none;
}
body.generation-workspace-active .main-tab { gap:0; }

@media(min-width:721px) {
  body.generation-workspace-active #generationOverviewPage .go-app-shell {
    grid-template-columns:56px minmax(0,1fr);
  }
  body.generation-workspace-active #generationOverviewPage .go-side-nav {
    align-items:center;
    padding:14px 7px;
  }
  body.generation-workspace-active #generationOverviewPage .go-side-tab,
  body.generation-workspace-active #generationOverviewPage .go-side-tab.is-active {
    display:grid;
    place-items:center;
    width:40px;
    min-height:40px;
    padding:0;
  }
  body.generation-workspace-active #generationOverviewPage .go-side-tab > span {
    flex:none;
    width:24px;
    height:24px;
  }
}

@media(max-width:720px) {
  body.generation-workspace-active #generationOverviewPage .go-side-tab {
    grid-template-areas:'icon';
    min-height:44px;
  }
}

/* Settlement prices are maintained as one operational table, with inheritance visible at a glance. */
#generationOverviewPage .go-price-settings {
  display:flex;
  flex-direction:column;
  width:100%;
  max-width:1240px;
  min-width:0;
  min-height:0;
  box-sizing:border-box;
  color:#e9eef3;
  font-size:15px;
}
#generationOverviewPage .go-price-settings-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:2px 0 14px;
  border-bottom:1px solid var(--go-line);
}
#generationOverviewPage .go-price-settings-head > div { min-width:0; }
#generationOverviewPage .go-price-settings-head h3 {
  margin:0;
  color:#f3f7f7;
  font-size:21px;
  line-height:1.35;
}
#generationOverviewPage .go-price-settings-head p {
  margin:4px 0 0;
  color:#98a5b2;
  font-size:14px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
#generationOverviewPage .go-price-refresh {
  display:grid;
  flex:0 0 34px;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  color:#aebbc7;
  border:1px solid #465363;
  border-radius:4px;
  background:#171e29;
  cursor:pointer;
}
#generationOverviewPage .go-price-refresh:hover,
#generationOverviewPage .go-price-refresh:focus-visible {
  color:#5be1c9;
  border-color:#278f80;
  outline:0;
}
#generationOverviewPage .go-price-refresh svg,
#generationOverviewPage .go-price-toolbar svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#generationOverviewPage .go-price-priority {
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:0 12px;
  color:#9ba8b4;
  border-bottom:1px solid var(--go-line);
  background:rgba(255,255,255,.018);
  font-size:13px;
}
#generationOverviewPage .go-price-priority strong { color:#dce4ea; font-size:13px; }
#generationOverviewPage .go-price-priority span { color:#9eddd3; }
#generationOverviewPage .go-price-priority i { color:#586776; font-style:normal; }
#generationOverviewPage .go-price-overview {
  display:grid;
  grid-template-columns:minmax(320px,1.35fr) minmax(460px,2fr);
  align-items:stretch;
  border-bottom:1px solid var(--go-line);
  background:#1b2230;
}
#generationOverviewPage .go-price-default {
  display:grid;
  grid-template-columns:148px minmax(205px,250px);
  grid-template-areas:'label input' 'note note';
  align-content:center;
  gap:6px 14px;
  min-height:104px;
  padding:15px 18px;
  border-right:1px solid var(--go-line);
}
#generationOverviewPage .go-price-default > span {
  grid-area:label;
  align-self:center;
  color:#dce7e7;
  font-size:15px;
  font-weight:600;
}
#generationOverviewPage .go-price-default > div {
  grid-area:input;
  display:flex;
  align-items:center;
  overflow:hidden;
  border:1px solid #526172;
  border-radius:4px;
  background:#111823;
}
#generationOverviewPage .go-price-default input,
#generationOverviewPage .go-city-price-input input {
  min-width:0;
  height:36px;
  color:#f2f7f8;
  border:0;
  outline:0;
  background:transparent;
  font:600 15px Consolas,monospace;
  letter-spacing:0;
}
#generationOverviewPage .go-price-default input { flex:1; padding:0 10px; }
#generationOverviewPage .go-price-default em,
#generationOverviewPage .go-city-price-input span {
  flex:0 0 auto;
  color:#81909e;
  font-size:12px;
  font-style:normal;
  white-space:nowrap;
}
#generationOverviewPage .go-price-default em { padding:0 10px; border-left:1px solid #3c4856; }
#generationOverviewPage .go-price-default > div:focus-within,
#generationOverviewPage .go-city-price-input:focus-within {
  border-color:#28bda7;
  box-shadow:0 0 0 2px rgba(40,189,167,.13);
}
#generationOverviewPage .go-price-default small {
  grid-area:note;
  color:#83909d;
  font-size:12px;
  line-height:1.45;
}
#generationOverviewPage #generationSettlementPriceSummary {
  display:grid;
  grid-template-columns:repeat(4,minmax(94px,1fr));
  align-items:center;
  margin:0;
  padding:13px 0;
}
#generationOverviewPage #generationSettlementPriceSummary > div {
  min-width:0;
  padding:7px 16px;
  border-left:1px solid var(--go-line);
}
#generationOverviewPage #generationSettlementPriceSummary > div:first-child { border-left:0; }
#generationOverviewPage #generationSettlementPriceSummary dt {
  overflow:hidden;
  color:#8795a2;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#generationOverviewPage #generationSettlementPriceSummary dd {
  margin:4px 0 0;
  color:#e5f6f2;
  font:600 20px Consolas,monospace;
  letter-spacing:0;
}
#generationOverviewPage .go-price-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:52px;
  padding:8px 0;
}
#generationOverviewPage .go-price-toolbar label {
  display:flex;
  align-items:center;
  width:min(320px,100%);
  height:34px;
  padding:0 10px;
  color:#8493a1;
  border:1px solid #465363;
  border-radius:4px;
  background:#151b26;
}
#generationOverviewPage .go-price-toolbar label:focus-within { color:#53d8c2; border-color:#278f80; }
#generationOverviewPage .go-price-toolbar input {
  flex:1;
  min-width:0;
  height:32px;
  padding:0 0 0 8px;
  color:#e7edf2;
  border:0;
  outline:0;
  background:transparent;
  font-size:14px;
}
#generationOverviewPage #generationSettlementPriceStatus {
  overflow:hidden;
  color:#82909d;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#generationOverviewPage .go-price-table-wrap {
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  max-height:min(49vh,540px);
  overflow:auto;
  border:1px solid var(--go-line);
  scrollbar-color:#36546b #151b26;
  scrollbar-width:thin;
}
#generationOverviewPage .go-price-table-wrap table {
  width:100%;
  min-width:850px;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:14px;
}
#generationOverviewPage .go-price-table-wrap th,
#generationOverviewPage .go-price-table-wrap td {
  height:50px;
  box-sizing:border-box;
  padding:7px 13px;
  border-bottom:1px solid rgba(255,255,255,.075);
  text-align:left;
  vertical-align:middle;
}
#generationOverviewPage .go-price-table-wrap th {
  position:sticky;
  z-index:2;
  top:0;
  height:40px;
  color:#9eabb7;
  background:#252d3a;
  box-shadow:0 1px 0 #3a4654;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}
#generationOverviewPage .go-price-table-wrap th:nth-child(1) { width:14%; }
#generationOverviewPage .go-price-table-wrap th:nth-child(2) { width:16%; }
#generationOverviewPage .go-price-table-wrap th:nth-child(3) { width:12%; }
#generationOverviewPage .go-price-table-wrap th:nth-child(4) { width:27%; }
#generationOverviewPage .go-price-table-wrap th:nth-child(5) { width:14%; }
#generationOverviewPage .go-price-table-wrap th:nth-child(6) { width:17%; }
#generationOverviewPage .go-price-table-wrap tbody tr:hover { background:rgba(73,151,166,.055); }
#generationOverviewPage .go-price-table-wrap tbody tr:last-child td { border-bottom:0; }
#generationOverviewPage .go-price-table-wrap td > strong { color:#e4ecee; font-size:14px; }
#generationOverviewPage .go-price-table-wrap td > small { color:#788692; font-size:12px; }
#generationOverviewPage .go-city-price-input {
  display:flex;
  align-items:center;
  width:220px;
  max-width:100%;
  overflow:hidden;
  border:1px solid #465565;
  border-radius:4px;
  background:#121925;
}
#generationOverviewPage .go-city-price-input input { flex:1; padding:0 9px; }
#generationOverviewPage .go-city-price-input span { padding:0 9px; border-left:1px solid #394552; }
#generationOverviewPage .go-city-price-input input:disabled { color:#65727e; cursor:not-allowed; }
#generationOverviewPage .go-price-override {
  color:#a8b4bf;
  font:600 15px Consolas,monospace;
}
#generationOverviewPage .go-price-override.has-override { color:#e9bd62; }
#generationOverviewPage .go-price-row-status span {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border:1px solid transparent;
  border-radius:3px;
  font-size:12px;
  white-space:nowrap;
}
#generationOverviewPage .go-price-row-status .is-city {
  color:#68ddca;
  border-color:rgba(47,190,168,.32);
  background:rgba(47,190,168,.09);
}
#generationOverviewPage .go-price-row-status .is-default {
  color:#9cbbe0;
  border-color:rgba(103,151,205,.3);
  background:rgba(103,151,205,.08);
}
#generationOverviewPage .go-price-row-status .is-missing {
  color:#d9ad67;
  border-color:rgba(207,157,74,.3);
  background:rgba(207,157,74,.08);
}
#generationOverviewPage .go-price-settings > footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:58px;
  color:#8996a2;
  font-size:12px;
}
#generationOverviewPage .go-price-settings > footer .generation-tool-submit {
  flex:0 0 auto;
  min-width:132px;
  min-height:36px;
  margin:0;
  padding:0 16px;
  color:#062d29;
  border:1px solid #37cdb5;
  border-radius:4px;
  background:#37cdb5;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
#generationOverviewPage .go-price-settings > footer .generation-tool-submit:hover { background:#50ddc5; border-color:#50ddc5; }
#generationOverviewPage .go-price-settings > footer .generation-tool-submit:disabled { opacity:.55; cursor:wait; }

@media(max-width:1100px) {
  #generationOverviewPage .go-price-overview { grid-template-columns:1fr; }
  #generationOverviewPage .go-price-default { border-right:0; border-bottom:1px solid var(--go-line); }
}
@media(max-width:720px) {
  #generationOverviewPage .go-price-settings { width:100%; max-width:100%; overflow:hidden; font-size:14px; }
  #generationOverviewPage .go-price-settings-head { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:10px; }
  #generationOverviewPage .go-price-settings-head > div { width:auto; max-width:100%; overflow:hidden; }
  #generationOverviewPage .go-price-settings-head p { max-width:100%; white-space:normal; word-break:break-all; }
  #generationOverviewPage .go-price-settings-head h3 { font-size:19px; }
  #generationOverviewPage .go-price-priority { overflow-x:auto; white-space:nowrap; }
  #generationOverviewPage .go-price-default {
    grid-template-columns:1fr;
    grid-template-areas:'label' 'input' 'note';
    min-height:0;
    padding:13px 0;
  }
  #generationOverviewPage .go-price-default > div { width:100%; }
  #generationOverviewPage #generationSettlementPriceSummary { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 0; }
  #generationOverviewPage #generationSettlementPriceSummary > div:nth-child(3) { border-left:0; }
  #generationOverviewPage .go-price-toolbar { align-items:flex-start; flex-direction:column; gap:7px; }
  #generationOverviewPage .go-price-toolbar label { width:100%; box-sizing:border-box; }
  #generationOverviewPage .go-price-table-wrap { max-height:430px; }
  #generationOverviewPage .go-price-settings > footer { align-items:stretch; flex-direction:column; padding:12px 0 4px; }
  #generationOverviewPage .go-price-settings > footer .generation-tool-submit { width:100%; }
}
