.photovoltaic-page{--solar-gold:#ffc94a;--solar-coral:#ff7764;--solar-violet:#9b8cff;--solar-line:rgba(183,168,255,.2);background:#090812;color:#f7f5ff}
.photovoltaic-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 80% 0,rgba(255,196,73,.11),transparent 28%),radial-gradient(circle at 30% 100%,rgba(126,98,255,.12),transparent 35%)}
.photovoltaic-page .ambient-one{background:#7d62ff;opacity:.14}.photovoltaic-page .ambient-two{background:#ffbd43;opacity:.09}
.photovoltaic-page .sidebar{background:linear-gradient(180deg,#100e20 0%,#0a0913 70%,#111022 100%);border-right-color:rgba(176,159,255,.17)}
.photovoltaic-page .brand-mark{color:#171023;background:linear-gradient(145deg,#ffe783,#ffb93f);box-shadow:0 0 26px rgba(255,201,74,.2)}
.photovoltaic-page .brand b,.photovoltaic-page header h1{color:#f9f7ff}.photovoltaic-page .brand small,.photovoltaic-page .eyebrow,.photovoltaic-page .section-label{color:var(--solar-gold)}
.photovoltaic-page .sidebar nav a{color:#a9a3bc}.photovoltaic-page .sidebar nav a span{color:#b4a6ff}.photovoltaic-page .sidebar nav a:hover,.photovoltaic-page .sidebar nav a.active{color:#fff;background:linear-gradient(90deg,rgba(139,113,255,.2),rgba(255,201,74,.035));box-shadow:inset 3px 0 0 var(--solar-gold)}.photovoltaic-page .sidebar nav a.active span{color:var(--solar-gold)}
.photovoltaic-page .source-legend,.photovoltaic-page .system-card{border-color:rgba(176,159,255,.15)}.photovoltaic-page .source-real,.photovoltaic-page .status-dot{background:var(--solar-gold);box-shadow:0 0 11px rgba(255,201,74,.55)}
.photovoltaic-page main{min-width:0;background:linear-gradient(145deg,rgba(25,20,48,.4),transparent 50%)}.photovoltaic-page header{border-bottom-color:rgba(176,159,255,.13)}.photovoltaic-page .subtitle,.photovoltaic-page .clock small{color:#aaa4ba}
.photovoltaic-page .demo-pill,.photovoltaic-page .source-tag.real{color:#ffe291;border-color:rgba(255,201,74,.32);background:rgba(255,201,74,.07)}.photovoltaic-page .demo-pill i{background:var(--solar-gold);box-shadow:0 0 10px var(--solar-gold)}.photovoltaic-page .clock{border-color:rgba(176,159,255,.17);background:rgba(18,15,35,.72)}
.photovoltaic-page .panel{border-color:rgba(174,155,255,.2);background:linear-gradient(150deg,rgba(24,20,47,.92),rgba(12,11,25,.95));box-shadow:0 22px 60px rgba(0,0,0,.28)}
.photovoltaic-page .pv-scada-hero{margin-bottom:18px;padding:22px;overflow:hidden}
.pv-hero-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.pv-hero-heading h2{font-family:"Space Grotesk",sans-serif;font-size:clamp(1.15rem,2vw,1.65rem);margin:5px 0 0;color:#fff}.pv-live{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(112,240,212,.26);border-radius:999px;background:rgba(112,240,212,.07);color:#a7f8e6;font-size:.64rem;font-weight:700;letter-spacing:.08em;white-space:nowrap}.pv-live i{width:7px;height:7px;border-radius:50%;background:#70f0d4;box-shadow:0 0 10px #70f0d4}
.pv-landscape{position:relative;overflow:hidden;border:1px solid rgba(116,202,255,.24);border-radius:16px;background:#0b1029;box-shadow:inset 0 0 55px rgba(79,88,220,.12)}.pv-landscape svg{display:block;width:100%;height:auto;min-height:360px;object-fit:cover}.pv-array-svg text{fill:#c8f1ff;font:700 17px "Space Grotesk",sans-serif;letter-spacing:.1em}.pv-edge-box text{font-family:"Space Grotesk",sans-serif}.pv-edge-box .edge-title{fill:#9cf5e2;font-size:13px;font-weight:700;letter-spacing:.08em}.pv-edge-box .edge-main{fill:#fff3b0;font-size:14px;font-weight:700}.pv-edge-box .edge-sub{fill:#aaa8d1;font-size:10px;letter-spacing:.08em}.pv-data-flow{fill:none;stroke:#ffdb65;stroke-width:3;stroke-linecap:round;stroke-dasharray:8 10;filter:drop-shadow(0 0 5px rgba(255,216,88,.8));animation:pvDash 1.4s linear infinite}@keyframes pvDash{to{stroke-dashoffset:-36}}
.pv-scada-weather{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.pv-weather-icon{display:block;width:118px;height:118px;filter:drop-shadow(0 0 18px rgba(255,211,78,.5))}.pv-weather-icon svg{display:block;width:100%;height:100%;min-height:0;transform:none}.pv-scada-weather strong{max-width:165px;padding:4px 8px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(8,11,31,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"Space Grotesk",sans-serif;font-size:9px;letter-spacing:.05em;color:#fff;backdrop-filter:blur(5px)}.pv-scada-weather[data-kind="hotspot"] .pv-weather-icon{filter:drop-shadow(0 0 20px rgba(255,72,55,.7))}.pv-scada-weather[data-kind="night"] .pv-weather-icon{filter:drop-shadow(0 0 22px rgba(173,203,255,.48))}
.pv-scada-tag{position:absolute;z-index:2;display:grid;gap:2px;min-width:150px;padding:10px 13px;border:1px solid rgba(129,220,255,.36);border-radius:10px;background:rgba(7,10,28,.82);box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 0 18px rgba(78,159,255,.06);backdrop-filter:blur(8px)}.pv-scada-tag small{font-size:.57rem;letter-spacing:.13em;color:#7fdcf8}.pv-scada-tag strong{font-family:"Space Grotesk",sans-serif;font-size:1rem;color:#fff}.pv-scada-tag span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;color:#b3aec9}.tag-p1{left:2.5%;bottom:5%}.tag-p2{right:2.5%;bottom:5%}.tag-system{right:2.5%;top:4%;border-color:rgba(255,215,94,.38)}.tag-system small{color:#ffd75e}
.photovoltaic-page .solar-twin{margin-top:0;min-height:560px}.photovoltaic-page .solar-twin:before{background:radial-gradient(circle at 84% -5%,rgba(255,204,79,.15),transparent 34%),linear-gradient(135deg,rgba(137,108,255,.08),transparent 58%)}
.photovoltaic-page .solar-summary{margin-top:26px}.photovoltaic-page .solar-summary>div,.photovoltaic-page .solar-readings>div,.photovoltaic-page .ai-readings>div{background:rgba(11,10,24,.64);border-color:rgba(169,148,255,.15)}
.photovoltaic-page .solar-summary span,.photovoltaic-page .solar-readings span,.photovoltaic-page .ai-readings span{color:#9690aa}.photovoltaic-page .solar-summary strong,.photovoltaic-page .solar-readings strong,.photovoltaic-page .ai-readings strong{color:#faf8ff}.photovoltaic-page .solar-summary em,.photovoltaic-page .solar-readings em,.photovoltaic-page .ai-readings em{color:#b2a9c7}
.photovoltaic-page .solar-string{min-height:330px;background:linear-gradient(145deg,rgba(29,25,57,.9),rgba(13,12,28,.96));border-color:rgba(174,155,255,.24)}.photovoltaic-page .solar-string:hover{border-color:rgba(255,204,88,.48);box-shadow:0 16px 42px rgba(111,84,255,.09)}.photovoltaic-page .solar-string[data-health="alert"]{border-color:rgba(255,106,94,.52);box-shadow:inset 0 0 34px rgba(255,73,65,.05)}
.photovoltaic-page .solar-string-head span:first-child{color:#b7aaff}.photovoltaic-page .solar-string-head h3{color:#fff}
.photovoltaic-page .panel-array i{background:linear-gradient(145deg,#24557d,#132d56 58%,#101a38);border-color:#4b86b7;box-shadow:inset 0 0 0 2px rgba(5,10,28,.76),0 7px 16px rgba(0,0,0,.22)}.photovoltaic-page .panel-array i:after{background:repeating-linear-gradient(90deg,transparent 0 28%,rgba(171,220,255,.2) 29% 31%)}.photovoltaic-page .panel-array b{color:#a9ddff}
.photovoltaic-page .diagnostic-state{background:rgba(10,9,22,.72)}.photovoltaic-page .diagnostic-icon{filter:drop-shadow(0 0 9px rgba(255,201,74,.22))}.photovoltaic-page footer{margin-top:18px;border-top-color:rgba(174,155,255,.13);color:#9690a8}
.rf-history-panel{margin-top:14px;padding:14px;border:1px solid rgba(174,155,255,.18);border-radius:13px;background:rgba(7,8,22,.58)}.rf-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.rf-history-head div{display:grid;gap:3px}.rf-history-head span{font-size:.58rem;font-weight:700;letter-spacing:.12em;color:#b7aaff}.rf-history-head strong{font-size:.78rem;color:#f7f5ff}.rf-history-head b{padding:4px 7px;border:1px solid rgba(255,201,74,.25);border-radius:999px;color:#ffe08a;font-size:.55rem;letter-spacing:.08em}.rf-history-chart{min-height:270px;overflow:hidden}.rf-history-chart svg{display:block;width:100%;height:auto}.rf-grid-line{stroke:rgba(177,203,255,.13);stroke-width:1}.rf-axis-line{stroke:rgba(210,224,255,.38);stroke-width:1.2}.rf-axis-label{fill:#9994ad;font:10px Inter,sans-serif}.rf-class-label{fill:#b8b3cc;font:10px Inter,sans-serif}.rf-step-line{fill:none;stroke:#ffd35f;stroke-width:3;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,205,79,.38))}.rf-point{stroke:#101225;stroke-width:2}.rf-empty{display:grid;place-items:center;min-height:250px;color:#8e899f;font-size:.72rem}.rf-axis-title{fill:#cec8e1;font:700 10px "Space Grotesk",sans-serif;letter-spacing:.08em}
.telemetry-history-grid{display:grid;gap:14px;margin-top:14px}.telemetry-history-panel{padding:14px;border:1px solid rgba(174,155,255,.18);border-radius:13px;background:rgba(7,8,22,.58)}.telemetry-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.telemetry-history-head div{display:grid;gap:3px}.telemetry-history-head span{font-size:.58rem;font-weight:700;letter-spacing:.12em;color:#b7aaff}.telemetry-history-head strong{font-size:.78rem;color:#f7f5ff}.telemetry-history-head b{min-width:28px;padding:4px 7px;border:1px solid rgba(255,201,74,.25);border-radius:999px;color:#ffe08a;font-size:.58rem;text-align:center}.telemetry-history-chart{min-height:220px;overflow:hidden}.telemetry-history-chart svg{display:block;width:100%;height:auto}.telemetry-grid-line{stroke:rgba(177,203,255,.13);stroke-width:1}.telemetry-axis-line{stroke:rgba(210,224,255,.38);stroke-width:1.2}.telemetry-axis-label{fill:#9994ad;font:10px Inter,sans-serif}.telemetry-axis-title{fill:#cec8e1;font:700 10px "Space Grotesk",sans-serif;letter-spacing:.08em}.telemetry-area{stroke:none}.telemetry-line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.telemetry-line.power{stroke:#ffd35f;filter:drop-shadow(0 0 4px rgba(255,211,95,.32))}.telemetry-line.current{stroke:#8fdcff;filter:drop-shadow(0 0 4px rgba(143,220,255,.3))}.telemetry-last-point{stroke:#101225;stroke-width:2}.telemetry-last-point.power{fill:#ffd35f}.telemetry-last-point.current{fill:#8fdcff}
@media(max-width:760px){.photovoltaic-page .solar-twin{padding:17px}.photovoltaic-page .solar-string{min-height:0}.photovoltaic-page .pv-scada-hero{padding:15px}.pv-hero-heading{align-items:flex-start;flex-direction:column}.pv-landscape svg{width:155%;max-width:none;transform:translateX(-18%);min-height:330px}.pv-weather-icon{width:100px;height:100px}.pv-scada-tag{min-width:120px;padding:8px 9px}.pv-scada-tag strong{font-size:.82rem}.pv-scada-tag span{max-width:120px}.tag-system{display:none}.tag-p1{left:2%;bottom:3%}.tag-p2{right:2%;bottom:3%}}
