:root{--bg:#08151d;--panel:#0b1b25;--panel2:#102530;--edge:#1a3845;--edge2:#28505c;--ink:#e2f3f2;--text:#c2d9dd;--muted:#74929d;--mint:#71eadc;--yellow:#f9c06d;--red:#f17b71;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.hidden{display:none!important}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 27px;gap:20px;background:linear-gradient(125deg,#071820,#0c222a 70%,#081920);border-bottom:1px solid var(--edge);position:relative;z-index:5}.identity{display:flex;align-items:center;gap:12px;min-width:315px}.brandmark{height:42px;width:42px}.brand{font-size:17px;font-weight:800;letter-spacing:2.3px;color:#effffd;white-space:nowrap}.brand span{color:var(--mint);font-weight:500}.brand-sub{font-size:9px;letter-spacing:1.65px;margin-top:6px;color:#84a0a9;font-weight:700}.tiny-diamond{color:var(--mint);margin:0 6px}.top-center{display:flex;align-items:center;gap:22px;letter-spacing:1px;font-weight:700;font-size:11px}.pill-live{display:flex;align-items:center;gap:9px;color:var(--mint);font-size:10px;letter-spacing:1.4px}.dot,.status-dot,.status-led{width:7px;height:7px;border-radius:50%;background:var(--mint);display:inline-block;box-shadow:0 0 12px #43e0ce66}.pulse{animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.45}}.divider-vertical{height:21px;border-left:1px solid var(--edge2)}.weather-inline{color:#bfd3d8}.top-actions{display:flex;align-items:center;gap:15px}.text-action{background:none;border:0;color:#a5c1c7;font-weight:700;display:flex;gap:8px;align-items:center}.text-action:hover{color:var(--mint)}.top-button{border:1px solid #4e827c;background:#173b3b;padding:10px 15px;border-radius:6px;color:#c1f4ec;font-weight:700}.top-button:hover{background:#215052}.workspace{display:grid;grid-template-columns:326px minmax(400px,1fr) 316px;height:calc(100% - 111px)}.sidebar{background:var(--panel);min-height:0;border-right:1px solid var(--edge);overflow:hidden}.right-panel{border-left:1px solid var(--edge);border-right:0}.panel-scroll{height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#21414a #0b1b25}.section-head{padding:25px 22px 18px;display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:10px;letter-spacing:1.3px;color:#78959e;font-weight:800}.section-head h2,.asset-title-row h2{font-size:22px;letter-spacing:-.7px;margin:6px 0 0;color:var(--ink);font-weight:750}.small-online{font-size:9px;color:var(--mint);letter-spacing:1px;border:1px solid #29584e;border-radius:4px;padding:5px 8px;white-space:nowrap}.output-hero{margin:0 15px 17px;background:linear-gradient(122deg,#112f38,#10242e);border:1px solid #25505b;border-radius:10px;padding:20px 18px 0;overflow:hidden}.hero-number{font-size:40px;color:#e0fff7;font-weight:760;line-height:1.5;letter-spacing:-1.4px;font-variant-numeric:tabular-nums}.hero-number small{font-size:18px;color:var(--mint);font-weight:600;margin-left:5px}.hero-foot{display:flex;justify-content:space-between;font-size:10px;font-weight:700;color:#98b6b9;letter-spacing:.4px}.hero-foot span:first-child{color:var(--mint)}.sparkline{width:calc(100% + 36px);height:62px;margin:8px -18px 0;display:block}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 15px 18px}.metric{background:#10242e;border:1px solid #1b3944;border-radius:7px;padding:13px 12px}.metric-label{font-size:9px;letter-spacing:1px;font-weight:800;color:#7f9ca7;display:flex;justify-content:space-between}.metric-value{font-size:22px;font-weight:760;color:#e7f6f5;margin-top:7px;letter-spacing:-.5px}.metric-value small{font-size:11px;color:#87aab1;letter-spacing:0}.panel-section{border-top:1px solid var(--edge);padding:19px 20px 20px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.section-line h3{margin:0;color:#dfefee;font-size:12px;font-weight:750;letter-spacing:.2px}.slider-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#bfd1d3;font-weight:600;margin:18px 0 10px}.slider-label output{color:var(--mint);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:4px;appearance:none;background:#254751;border-radius:20px;display:block;margin:0}input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#8debe0;border:2px solid #1d4a4b;box-shadow:0 0 0 3px #245d5c}input[type=range]::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:var(--mint);border:2px solid #1d4a4b}.slider-extents{display:flex;justify-content:space-between;font-size:8px;color:#567b86;letter-spacing:.7px;margin-top:8px}.toggle-line{display:flex;align-items:center;justify-content:space-between;padding-top:18px;font-size:11px}.toggle{appearance:none;width:32px;height:17px;border-radius:20px;border:1px solid #35616a;background:#21333c;position:relative;margin:0;cursor:pointer}.toggle:before{content:'';position:absolute;top:2px;left:2px;width:11px;height:11px;background:#8ca8ac;border-radius:50%;transition:transform .16s}.toggle:checked{background:#207f7a}.toggle:checked:before{background:#b9fff1;transform:translateX(14px)}.substation-row{margin:14px 0 0}.sub-top{display:flex;justify-content:space-between;color:#bacdd2;font-size:11px;margin-bottom:8px}.sub-top b{color:#d8eee8;font-variant-numeric:tabular-nums;font-weight:600}.bar-track{height:5px;border-radius:5px;background:#15333b;overflow:hidden}.bar-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,#21877b,#6bebd8);transition:width .4s}.event{display:grid;grid-template-columns:42px 1fr;gap:11px;padding:12px 0;border-top:1px solid #17323d;font-size:10px;color:#9cb9bd;line-height:1.5}.event:first-child{border:0}.event time{font-family:monospace;color:#638c94}.event b{color:#e0f1e9;font-size:10px}.event.warn b{color:var(--yellow)}.viewport-wrap{position:relative;overflow:hidden;background:#142a37;min-width:0}#scene{width:100%;height:100%;display:block;cursor:grab;outline:none}#scene:active{cursor:grabbing}.viewport-top{position:absolute;top:18px;left:19px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;pointer-events:none}.view-chip{border:1px solid #ffffff2b;background:#061823ac;backdrop-filter:blur(8px);padding:10px 12px;border-radius:5px;letter-spacing:1.2px;font-size:9px;color:#7aa4ad;font-weight:800}.view-chip b{color:#d9e9e6}.view-chip-sep{color:#3f6873;margin:0 8px}.view-chip-sub{color:#79ccbd;background:#0e2939a8;padding:8px 11px}.viewport-bottom{display:flex;position:absolute;bottom:17px;left:16px;right:16px;gap:12px;align-items:center;flex-wrap:wrap;pointer-events:none;font-size:10px;color:#bad3d7}.viewport-bottom>*{pointer-events:auto}.hud-line{color:var(--mint);font-weight:800;letter-spacing:1.3px}.hud-spacer{flex:1}.hud-btn{border:1px solid #ffffff2f;background:#0b2434e7;color:#cbdddf;border-radius:4px;font-size:10px;padding:8px 9px;white-space:nowrap}.hud-btn b{color:#8ae4d4;font-size:9px}.hud-btn:hover,.hud-btn.active{border-color:var(--mint)}.primary-hud{background:#164d4cd9;color:#d1ffef}.right-panel .panel-section{padding:18px 19px}.inspector-top{padding:23px 19px 0}.inspector-icon{font-size:20px;color:#79b3b9}.asset-title-row{display:flex;align-items:center;justify-content:space-between}.asset-title-row h2{margin-top:0}.asset-subtitle{font-size:9px;letter-spacing:1.1px;color:#7399a5;font-weight:700;margin-top:6px}.asset-badge{font-size:9px;padding:6px 8px;background:#164a41;color:var(--mint);border:1px solid #267464;border-radius:4px;font-weight:800;letter-spacing:.6px}.asset-badge.danger{background:#4b2b2d;color:var(--red);border-color:#875154}.asset-badge.warn{background:#4a3928;color:var(--yellow);border-color:#8a633e}.asset-illustration{padding:14px 8px 4px;background:radial-gradient(ellipse at center,#143542 0,#0b1b25 72%);margin-top:14px;border:1px solid #1b3844;border-radius:5px}.asset-illustration svg{display:block;width:100%;height:137px}.illustration-foot{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.8px;color:#6e9ea6;padding:0 4px 7px}.asset-section{padding-top:19px!important}.telemetry-rows>div{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #183540;color:#91afb6;font-size:11px}.telemetry-rows>div b{color:#d8f4ed;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.inspector-buttons{display:flex;gap:7px;margin:21px 0 10px}.outlined-btn{background:#122733;border:1px solid #385561;color:#d2e7e6;padding:9px 8px;border-radius:4px;font-weight:700;font-size:10px;flex:1}.outlined-btn:hover{border-color:#8ad9cf}.accent-btn{border-color:#286c61;color:var(--mint)}.full-width-btn{width:100%;border:1px solid #377d73;background:#1c605b;border-radius:5px;color:#d9fff8;padding:12px 8px;letter-spacing:.4px;font-weight:750;font-size:11px}.full-width-btn:hover{background:#27776e}.mini-text-btn{font-size:10px;border:0;background:transparent;color:#8fc6c5}.mini-text-btn:hover{color:var(--mint)}.minimap{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px;padding:11px;background:#081c26;border:1px solid #22414b;border-radius:5px;aspect-ratio:1}.map-turbine{border:0;border-radius:2px;background:#48baa9;min-height:7px;padding:0;opacity:.82;transition:transform .1s}.map-turbine:hover,.map-turbine.selected{outline:1px solid white;outline-offset:1px;opacity:1;transform:scale(1.2);z-index:1}.map-turbine.maintenance{background:#eb786c}.map-turbine.curtailed{background:#e5bb67}.map-legend{display:flex;gap:12px;font-size:9px;color:#8eafb5;margin-top:11px;white-space:nowrap}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:3px}.mint{background:var(--mint)}.amber{background:var(--yellow)}.red{background:var(--red)}.fleet-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #1a3943;gap:7px}.fleet-row:first-child{border:0}.fleet-row b{font-size:10px;color:#d1eae8}.fleet-row small{display:block;color:#7fa0aa;font-size:9px;margin-top:3px}.fleet-tag{font-size:9px;padding:3px 5px;border-radius:3px;border:1px solid #285863;color:#75c9c7}.statusbar{height:35px;background:#06131a;border-top:1px solid #1b3640;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:9px;color:#74949b;letter-spacing:.65px;font-weight:700;gap:8px}.status-left,.status-right{display:flex;align-items:center;gap:13px}.status-left b{color:#bfdbda}.status-left>b:first-of-type{color:var(--mint)}.status-led{width:6px;height:6px}.status-break{color:#2a5660}.critical{position:absolute;left:13%;right:13%;top:25%;z-index:20;padding:22px;background:#3a1e27e8;color:#ffd6cd;border:1px solid #e16e61;border-radius:10px;font-size:14px;line-height:1.6}.modal{position:fixed;inset:0;z-index:15;background:#020b10c9;display:grid;place-items:center;padding:16px}.modal-box{background:#102630;border:1px solid #2c5962;border-radius:10px;padding:32px;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 28px 70px #0008;position:relative}.modal-box h2{font-size:25px;color:#e1f9f4}.modal-box p{line-height:1.7;color:#9abbbf}.modal-close{position:absolute;right:20px;top:20px;background:none;border:0;color:var(--ink);font-size:17px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.help-grid>div{border:1px solid #244650;padding:12px 15px;border-radius:5px}.help-grid b{color:var(--mint)}.help-grid p{font-size:11px;margin-bottom:0}#scene-labels{position:absolute;inset:0;pointer-events:none}.scene-label{position:absolute;color:#d7fff6;background:#0b2839dc;padding:5px 7px;border:1px solid #6bdccc91;border-radius:3px;font-size:10px;font-weight:800;letter-spacing:.8px;white-space:nowrap;transform:translate(-50%,-135%)}.scene-label:after{content:'';position:absolute;top:100%;left:50%;height:13px;border-left:1px solid #70ded1}.scene-label small{font-size:9px;color:#7dcbc2;margin-left:6px}@media(max-width:1250px){.workspace{grid-template-columns:278px minmax(260px,1fr) 272px}.topbar{padding:0 15px}.identity{min-width:280px}.top-center{gap:9px}.viewport-bottom{gap:6px}.viewport-bottom>span:not(.hud-line){display:none}}@media(max-width:980px){.workspace{grid-template-columns:265px minmax(300px,1fr)}.right-panel{display:none}.top-center{display:none}}@media(max-width:720px){.workspace{display:flex;flex-direction:column-reverse;height:auto}.viewport-wrap{height:55vh;min-height:350px}.left-panel{height:auto;overflow:visible}.panel-scroll{overflow:visible}.topbar{height:67px}.identity{min-width:0}.brand{font-size:12px}.brand-sub{font-size:7px}.text-action span{display:none}.statusbar{display:none}.status-right{display:none}}
