/* Dark SCADA theme matching the supplied Wind World video. */
.investor-comparison-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.investor-bar-panel{min-width:0;overflow:hidden}.investor-bar-panel svg{display:block;width:100%;height:auto;padding:12px 8px 0;box-sizing:border-box}.investor-bar-panel svg text{fill:#91abc1;font-size:11px;font-family:inherit}.investor-bar-panel svg .bar-value{fill:#edf5ff;font-size:13px;font-weight:700}.bar-grid{stroke:#294156;stroke-width:1}.bar-efficiency{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-top:1px solid #243b51;color:#9bb3c9;font-size:12px}.bar-efficiency strong{font-size:23px;color:#edf5ff}.bar-note{font-size:10px;line-height:1.6;color:#91abc1;margin:0;padding:0 22px 18px}@media(max-width:800px){.investor-comparison-charts{grid-template-columns:1fr}.investor-bar-panel svg{max-height:310px}}
.comparison-day{font-size:10px;color:#8faac1;line-height:1.8;margin:10px 0 0;white-space:normal}.comparison-day b{display:inline;background:none;color:#d6e9f5}
.investor-red{color:#ff656f!important}.investor-heading{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px;gap:15px}.investor-heading>span,.investor-count{font-size:11px;color:#91abc1}.investor-table{font-size:11px}.investor-table small{color:#8faac1;line-height:1.8}.plant-bars{min-width:245px;max-width:310px}.plant-bars>div{display:flex;align-items:center;gap:8px;margin:7px 0}.plant-bars span{width:47px;font-size:10px;color:#9ab5ca}.plant-bars i{display:block;flex:1;height:9px;background:#071725;border-radius:4px;overflow:hidden}.plant-bars b{display:block;height:100%;background:linear-gradient(90deg,#158ea5,#3cdae2);border-radius:4px}.plant-bars .expected b{background:linear-gradient(90deg,#8974dd,#baa4ff)}.plant-bars small{width:83px;text-align:right}.plant-insight td{white-space:normal;background:#0b1b2a;padding-top:13px;padding-bottom:17px}.insight-top{display:flex;gap:12px;align-items:flex-start;line-height:1.8;color:#b7cddc}.insight-top .status{flex-shrink:0}.plant-insight details{margin-top:12px}.plant-insight summary,.investor-method summary{cursor:pointer;color:#6ed2df;font-size:11px}.evidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:14px}.evidence-grid>div{border-left:2px solid #29485e;padding-left:12px}.evidence-grid span,.evidence-grid small{display:block;font-size:10px;color:#8faac1;line-height:1.7}.evidence-grid strong{display:block;font-size:13px;margin:7px 0;color:#e2eff8}.investor-method{padding:18px 22px;border:1px solid #243b51;border-radius:10px;background:#0d1c2b;margin-bottom:24px}.investor-method p{font-size:11px;line-height:1.9;color:#9ab5ca}.investor-empty{padding:18px 22px;font-size:12px;color:#92adc1}@media(max-width:800px){.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.investor-heading{align-items:flex-start;flex-direction:column}.insight-top{flex-direction:column}.investor-table td{max-width:400px}.plant-insight td{min-width:650px}}
.forecast-scroll{overflow-x:auto}.forecast-wrap{height:360px;min-width:760px;position:relative;margin:10px 14px 0}#forecast-chart{width:100%;height:100%;cursor:crosshair}#forecast-tooltip{position:absolute;pointer-events:none;background:#071523f5;border:1px solid #32c7d5;color:#e4f7ff;box-shadow:0 7px 24px #00000055;padding:10px 13px;font-size:11px;border-radius:5px;line-height:1.8;z-index:2}.forecast-method{font-size:11px;line-height:1.8;color:#94aec2;margin:0 2px 24px;max-width:1050px}
.summary-row .communication-alert strong{color:#ffffff}
.summary-row .communication-alert strong.has-failures{color:#ff656f}
td.latency-alert{color:#ff656f;font-weight:800}
:root{color-scheme:dark;--bg:#07121e;--ink:#edf5ff;--muted:#8ba7c0;--line:#22394e;--green:#39dca1;--solar:#f4b544;--wind:#32c7d5}
body{background:radial-gradient(ellipse at 76% 1%,#14324d99 0,transparent 45%),linear-gradient(180deg,#081522,#050d17);min-height:100vh}
header{background:#091725dc;border-bottom-color:#22394e;padding:23px 4vw}.mark{background:linear-gradient(135deg,#34d0d9,#2474f0);box-shadow:0 0 28px #24bde830;border-radius:13px;font-weight:800;font-size:26px}h1{text-transform:uppercase;letter-spacing:1.5px;font-size:26px;font-weight:800}.brand p{font-size:12px;letter-spacing:.4px;color:#92aec6}.live span{border:1px solid #294257;border-radius:30px;padding:8px 13px;background:#0d1c2b;color:#dce8f3;font-size:11px}.live time{font-size:11px;color:#8aa8bf}
main{max-width:1280px;padding:30px 32px}.intro{margin-bottom:23px}h2{font-size:29px;letter-spacing:-.6px}.intro p:not(.eyebrow){font-size:12px;color:#8ca9be}.eyebrow{color:#63cddb;font-size:9px;letter-spacing:1.6px}.pill{background:#102a2b;border-color:#225048;color:#7be2b3;font-size:11px}nav{border-bottom-color:#20374a;gap:6px;margin-bottom:22px}nav button{font-size:12px;letter-spacing:.2px;padding:13px 17px;border-radius:7px 7px 0 0}nav button:hover{color:#d4effa;background:#112436}nav button.active{background:#11283b;color:#50d6e0;border-bottom-color:#32c7d5}
.filters{gap:14px;margin-bottom:17px}label{color:#90a9c0;font-size:10px;letter-spacing:.5px}select,input{background:#0d1d2c;border-color:#263d52;color:#dbeaf8;min-width:180px;border-radius:7px;padding-top:10px;padding-bottom:10px}.filter-note{font-size:11px;color:#8eabc3}.notice{background:#302a1a;border-color:#5a4828;color:#e9c579;font-size:10px;padding:10px 14px;border-radius:7px;margin-bottom:18px}
.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.card{background:linear-gradient(135deg,#14273c 0,#0d1b2b 100%);border:1px solid #243b51;box-shadow:0 9px 25px #00000018;border-radius:14px;min-height:162px;padding:23px 24px;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:#365973;box-shadow:0 10px 30px #00000028}.card:before{left:21px;top:0;width:83px;height:3px;border-radius:0 0 4px 4px;background:#32c7d5}.card:nth-child(2):before{background:#a783ff}.card:nth-child(3):before{background:#f35c7d}.card:nth-child(4):before,.card:nth-child(5):before{background:#39dca1}.card:nth-child(6):before{background:#f4b544}.card.solar:before{background:#f4b544}.card.wind:before{background:#32c7d5}.card .label{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.2px;color:#9bb3c9;margin-bottom:23px}.card .value{font-size:34px;letter-spacing:-.5px;font-weight:800;color:#eef6ff;font-variant-numeric:tabular-nums}.card .value.small{font-size:25px}.card .unit{font-size:13px;color:#a6bed1}.card .detail{font-size:10px;color:#8ca7be;margin-top:17px}.card.state-running .value{color:#48e19b}.card.state-error .value{color:#ff8393}.card.state-stopped .value{color:#f2c067}
.update-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:16px 22px;border:1px solid #243b51;border-radius:10px;background:#0d1c2b;margin-bottom:20px}.update-strip span{display:block;color:#8faac2;font-size:9px;letter-spacing:.7px;margin-bottom:6px}.update-strip strong{font-size:12px;font-weight:600;color:#e0ecf6;font-variant-numeric:tabular-nums}
.panel{background:linear-gradient(135deg,#122438,#0a1725);border-color:#243b51;border-radius:13px;box-shadow:0 10px 30px #00000016}.panel-title{padding:19px 22px;border-bottom-color:#22384b;position:relative}.panel-title:before{content:'';position:absolute;top:0;left:21px;width:83px;height:3px;border-radius:0 0 4px 4px;background:#32c7d5}h3{font-size:16px}.chart-wrap{height:315px;margin:8px 12px 0}.chart-tools{font-size:11px;gap:15px}.chart-tools button,.pagination button{background:#10263a;border-color:#29445b;color:#b9d7e8}.chart-tools button:hover,.pagination button:hover{background:#183b52}.legend:before{background:#32c7d5}.legend.solar:before{background:#f4b544}.chart-footer{border-top-color:#20364a;color:#88a6bd;font-size:10px;padding:12px 22px}#tooltip{background:#071523f5;border:1px solid #32c7d5;color:#e4f7ff;box-shadow:0 7px 24px #00000055;font-size:11px;border-radius:5px}
th{background:#0b1b2b;color:#8faec5}th,td{border-bottom-color:#21364a}td{color:#caddec}.status{background:#103a2e;color:#61e3a4}.status.bad{background:#3b2030;color:#ff91a3}.status.warn{background:#3b301e;color:#f5cc7a}.status.neutral{background:#213144;color:#afc2d4}.summary-row div{background:#102236;border-color:#294156;color:#9fb9cd}.summary-row strong{color:#ecf6ff}#plant-count,.pagination{color:#91abc1}footer{color:#7894aa;border-top:1px solid #1b3042;padding-top:18px;font-size:9px}footer a{color:#58cbd6}input:focus,select:focus,button:focus-visible,canvas:focus-visible{outline-color:#32c7d5}
@media(min-width:1450px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card .value{font-size:36px}}
@media(max-width:800px){main{padding:24px 18px}header{padding:18px}h1{font-size:21px;letter-spacing:.8px}.brand p{font-size:10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{min-height:150px;padding:20px}.card .value{font-size:28px}.card .value.small{font-size:21px}.card .label{font-size:9px;letter-spacing:.8px}.update-strip{padding:15px;gap:12px}.update-strip strong{font-size:10px}.chart-wrap{height:300px}.panel-title{padding:18px}}
@media(max-width:420px){h1{font-size:17px;letter-spacing:.4px}.brand p{font-size:8px;letter-spacing:0;max-width:210px}.mark{font-size:22px}.live span{font-size:9px;padding:7px 9px}.card{padding:18px 14px;min-height:145px}.card .value{font-size:24px}.card .unit{font-size:11px}.card .value.small{font-size:19px}.card .label{font-size:8px}.card .detail{font-size:9px;line-height:1.5}.update-strip{grid-template-columns:1fr 1fr}.update-strip div:last-child{grid-column:1 / -1}.intro .pill{max-width:110px}.chart-wrap{margin-left:0;margin-right:0}.panel-title:before{left:18px}}

/* Use the available browser width on every dashboard tab. */
main{width:100%;max-width:none;padding:30px 16px}header{padding-left:16px;padding-right:16px}@media(max-width:800px){main{padding:24px 12px}header{padding-left:12px;padding-right:12px}}

.cards.daily-energy-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-energy-cards .detail{line-height:1.6}

.summary-row .communication-alert[role=button]{cursor:pointer}.summary-row .communication-alert[aria-pressed=true]{outline:2px solid #32c7d5;outline-offset:1px}.summary-row .communication-alert[role=button]:focus-visible{outline:2px solid #32c7d5;outline-offset:2px}

.header-controls{display:flex;align-items:center;gap:16px;position:relative}#fullscreen-toggle{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#10263a;border:1px solid #29445b;border-radius:9px;color:#6ed2df}#fullscreen-toggle:hover{background:#183b52}#fullscreen-toggle svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#fullscreen-message{position:absolute;right:0;top:100%;font-size:11px;color:#f5cc7a;background:#0d1c2b;z-index:10;max-width:260px}#fullscreen-message:empty{display:none}:fullscreen{background:#07121e;overflow-y:auto}@media(max-width:420px){.header-controls{gap:6px}#fullscreen-toggle{width:34px;height:34px}.header-controls .live{display:none}}

.report-controls{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;padding:20px 22px}.report-controls button{background:#10263a;color:#dbeaf8;border:1px solid #29445b;border-radius:7px;padding:11px 18px}.report-note{padding:0 22px 16px;color:#94aec2;font-size:11px;line-height:1.8}.report-pass{color:#61e3a4;font-weight:700}#report-count{font-size:11px;color:#94aec2}

main.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.login-box{width:min(100%,440px);padding:32px}.login-box .mark{margin-bottom:28px}.login-box h2{font-size:26px}.login-box p{font-size:12px;color:#94aec2;line-height:1.8}.login-box form{display:grid;gap:20px;margin:26px 0}.login-box input{width:100%;min-width:0}.login-box button{background:#1b9aaa;border:0;color:white;padding:12px;border-radius:7px;font-weight:700}.login-box .login-notice{font-size:10px;border-top:1px solid #243b51;padding-top:16px}#logout-form button{font-size:11px;background:#10263a;color:#bdd3e3;padding:9px;border:1px solid #29445b;border-radius:7px}#usage-rows small{font-size:10px;color:#94aec2}#usage-count{font-size:11px;color:#94aec2}@media(max-width:420px){.brand p{max-width:155px}.brand h1{font-size:14px}.login-box{padding:24px}}
