:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e5e7eb;background:#020617}*{box-sizing:border-box}body{margin:0;background:#020617}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid #334155;background:#0f172a;color:#e2e8f0;border-radius:12px;padding:9px 12px;text-decoration:none;font-weight:800}button:hover,.button:hover{border-color:#22d3ee}button.primary,.primary{background:#06b6d4;border-color:#06b6d4;color:#082f49}.appShell{display:grid;grid-template-columns:390px 1fr;min-height:100vh}.sidebar{border-right:1px solid #1e293b;padding:16px;background:linear-gradient(180deg,#0f172a,#020617);display:flex;flex-direction:column;gap:12px}.brandBlock{display:flex;align-items:center;gap:12px}.brandIcon{width:44px;height:44px;border-radius:14px;background:#0891b2;display:flex;align-items:center;justify-content:center;font-weight:950;color:#ecfeff}h1{font-size:19px;margin:0}p{color:#94a3b8;margin:4px 0}.statusCard,.card{background:#0f172af0;border:1px solid #1e293b;border-radius:20px;padding:14px;box-shadow:0 15px 30px #0000002e}.statusCard{display:grid;gap:5px}.muted{color:#64748b}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search,input,select,textarea{background:#020617;color:#e2e8f0;border:1px solid #334155;border-radius:12px;padding:10px 12px;width:100%}textarea{min-height:80px;resize:vertical}.filterRow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.siteList{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding-right:2px}.siteButton{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:10px;text-align:left;border-radius:15px}.siteButton.selected{border-color:#06b6d4;background:#0891b229}.typeDot{width:9px;height:9px;border-radius:50%;background:#64748b}.typeDot.wind{background:#38bdf8}.typeDot.solar{background:#facc15}.typeDot.solar_bess{background:#34d399}.typeDot.gas{background:#fb923c}.siteButtonText{display:flex;flex-direction:column;min-width:0}.siteButtonText small,td small{color:#64748b;display:block;margin-top:2px}.pill{border-radius:999px;padding:4px 8px;font-size:11px;background:#1e293b;color:#cbd5e1;white-space:nowrap}.pill.running{background:#22c55e2e;color:#86efac}.pill.future{background:#a855f72e;color:#d8b4fe}.pill.curtailed,.pill.derated{background:#f59e0b2e;color:#fcd34d}.pill.offline{background:#ef44442e;color:#fca5a5}.mainPanel{padding:18px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}h2{margin:0;font-size:28px}h3{margin:0 0 12px}h4{margin:16px 0 8px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.message{border:1px solid #0891b2;background:#0891b22e;color:#bae6fd;border-radius:14px;padding:10px 12px;margin:8px 0;cursor:pointer}.tabs{display:flex;gap:8px;overflow-x:auto;margin:12px 0;padding-bottom:4px}.tabs button{border-radius:999px;white-space:nowrap}.tabs button.active{background:#06b6d4;border-color:#06b6d4;color:#082f49}.contentGrid{display:grid;gap:14px}.wide{width:100%}.formGrid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.compactGrid{grid-template-columns:repeat(4,minmax(160px,1fr));margin-top:12px}.field{display:grid;gap:6px;color:#cbd5e1;font-size:12px;font-weight:800}.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.8fr);gap:14px;align-items:start}.stack{display:grid;gap:14px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #1e293b;padding:9px 8px;text-align:left;vertical-align:top}th{color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.05em}tr{cursor:default}tbody tr:hover{background:#0f172abf}.selectedRow{background:#0891b238}tr.alarm td{color:#fca5a5}tr.warning td{color:#fde68a}tr.info td{color:#bfdbfe}.bulk{min-height:180px;font-family:ui-monospace,Menlo,Consolas,monospace}.checkbox{display:flex;gap:8px;align-items:center;margin:12px 0;color:#cbd5e1}.checkbox input{width:auto}pre{background:#020617;color:#cbd5e1;border:1px solid #1e293b;border-radius:16px;padding:12px;max-height:420px;overflow:auto}code{background:#020617;border:1px solid #1e293b;border-radius:8px;padding:2px 6px}@media(max-width:1100px){.appShell{grid-template-columns:1fr}.sidebar{max-height:55vh}.split{grid-template-columns:1fr}.formGrid,.compactGrid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.formGrid,.compactGrid{grid-template-columns:1fr}.topbar{flex-direction:column}}.pillStack{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.pill.hidden{background:#64748b38;color:#cbd5e1;border:1px solid rgba(148,163,184,.25)}.pill.weci{background:#06b6d42e;color:#67e8f9;border:1px solid rgba(6,182,212,.35)}.mapVisibleCheckbox{align-self:end;min-height:68px;border:1px solid #334155;border-radius:12px;padding:10px 12px;background:#020617}.mapVisibleCheckbox span{display:flex;flex-direction:column;gap:2px}.mapVisibleCheckbox small{color:#94a3b8;font-weight:600;line-height:1.25}.jsonEditor{width:100%;min-height:420px;background:#020617;color:#dbeafe;border:1px solid #334155;border-radius:14px;padding:12px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.nestedCard{border:1px solid #1e293b;background:#0206178c;border-radius:16px;padding:10px 12px;margin-top:10px}.nestedCard h4{margin-top:0}.siteGroupTitle{color:#e2e8f0;font-weight:900;font-size:12px;text-transform:uppercase;padding:10px 8px 4px;letter-spacing:.04em}.siteChildTitle{color:#22d3ee;font-weight:900;font-size:10px;text-transform:uppercase;padding:7px 8px 4px;opacity:.95}.siteChildGroup{border-top:1px solid rgba(148,163,184,.12)}.groupedSiteList{padding-bottom:18px}.adminSiteGroup{border-top:1px solid rgba(148,163,184,.18);padding-top:.45rem;margin-top:.35rem}.adminSiteGroupTitle{font-size:.72rem;font-weight:900;color:#e2e8f0;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .45rem}.adminSiteSubGroupTitle{font-size:.62rem;font-weight:900;color:#67e8f9;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .55rem;opacity:.88}.adminGroup{border-top:1px solid rgba(148,163,184,.18);padding-top:8px;margin-top:8px}.adminGroupTitle{color:#e2e8f0;font-weight:900;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;margin:6px 0;padding:0 6px}.adminChildGroup{border-top:1px solid rgba(148,163,184,.1);padding-top:4px}.adminChildTitle{color:#22d3ee;font-size:.7rem;font-weight:900;margin:8px 0 4px 8px;text-transform:uppercase;letter-spacing:.04em}.adminChildGroup .siteButton{margin-left:4px;width:calc(100% - 4px)}.adminSiteGroup{border-top:1px solid rgba(148,163,184,.14);padding-top:8px;margin-top:8px}.adminSiteParent{color:#e2e8f0;font-weight:900;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;margin:6px 0}.adminSiteChildTitle{color:#22d3ee;font-size:.7rem;font-weight:900;margin:8px 0 4px 4px}.adminSiteChild .siteButton{margin-left:4px}.adminSiteParent{color:#e2e8f0;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;padding:10px 8px 4px}.adminSiteChild{border-top:1px solid rgba(148,163,184,.12)}.adminSiteChildTitle{color:#22d3ee;font-size:10px;font-weight:900;text-transform:uppercase;padding:7px 8px 4px}.adminSiteGroup{margin-bottom:8px}:root[data-theme=light],.appShell[data-theme=light]{color:#0f172a;background:#f8fafc}:root[data-theme=light] body{background:#f8fafc}.appShell[data-theme=light]{background:#f8fafc;color:#0f172a}.appShell[data-theme=light] .sidebar{background:linear-gradient(180deg,#fff,#e2e8f0);border-right-color:#cbd5e1}.appShell[data-theme=light] .mainPanel{background:#f8fafc;color:#0f172a}.appShell[data-theme=light] .statusCard,.appShell[data-theme=light] .card,.appShell[data-theme=light] .nestedCard{background:#fff;color:#0f172a;border-color:#cbd5e1;box-shadow:0 10px 22px #0f172a14}.appShell[data-theme=light] input,.appShell[data-theme=light] select,.appShell[data-theme=light] textarea,.appShell[data-theme=light] .search,.appShell[data-theme=light] pre,.appShell[data-theme=light] code,.appShell[data-theme=light] .jsonEditor{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.appShell[data-theme=light] button,.appShell[data-theme=light] .button{background:#fff;color:#0f172a;border-color:#cbd5e1}.appShell[data-theme=light] button.primary,.appShell[data-theme=light] .primary,.appShell[data-theme=light] .tabs button.active{background:#06b6d4;border-color:#06b6d4;color:#082f49}.appShell[data-theme=light] p,.appShell[data-theme=light] .muted,.appShell[data-theme=light] small,.appShell[data-theme=light] th,.appShell[data-theme=light] .field,.appShell[data-theme=light] .checkbox{color:#475569}.appShell[data-theme=light] td,.appShell[data-theme=light] h1,.appShell[data-theme=light] h2,.appShell[data-theme=light] h3,.appShell[data-theme=light] h4{color:#0f172a}.appShell[data-theme=light] th,.appShell[data-theme=light] td{border-bottom-color:#e2e8f0}.appShell[data-theme=light] tbody tr:hover{background:#f1f5f9}.appShell[data-theme=light] .siteButton.selected{background:#cffafe}.appShell[data-theme=light] .pill{background:#e2e8f0;color:#0f172a}.appShell[data-theme=light] .adminSiteParent,.appShell[data-theme=light] .adminGroupTitle{color:#0f172a}.tabGroups{display:grid;gap:8px;margin:12px 0}.tabGroup{border:1px solid rgba(148,163,184,.16);border-radius:18px;padding:8px;background:#0f172a6b}.tabGroupLabel{color:#94a3b8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px 4px}.platformTabGroup{background:#0891b214;border-color:#22d3ee38}.tabs.assetTabs,.tabs.platformTabs{margin:0;padding-bottom:0;overflow-x:auto}.tabs.platformTabs{flex-wrap:wrap}.appShell[data-theme=light] .tabGroup{background:#fff;border-color:#cbd5e1}.appShell[data-theme=light] .platformTabGroup{background:#ecfeff;border-color:#bae6fd}.appShell[data-theme=light] .tabGroupLabel{color:#475569}.layerConfigList{display:grid;gap:8px;margin:8px 0 14px}.layerConfigRow{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;align-items:center;border:1px solid rgba(148,163,184,.18);background:#0206176b;border-radius:14px;padding:9px 10px}.layerConfigRow b{display:block;color:#e2e8f0;font-size:13px}.layerConfigRow small{display:block;color:#64748b;margin-top:2px;font-size:10px}.miniCheckbox{display:inline-flex;align-items:center;gap:6px;color:#cbd5e1;font-weight:800;font-size:12px;white-space:nowrap}.appShell[data-theme=light] .layerConfigRow{background:#f8fafc;border-color:#cbd5e1}.appShell[data-theme=light] .layerConfigRow b{color:#0f172a}.appShell[data-theme=light] .miniCheckbox{color:#334155}.collapsibleSection{border:1px solid rgba(148,163,184,.22);border-radius:16px;margin:14px 0;background:#0f172a6b;overflow:hidden}.collapsibleHeader{width:100%;border:0;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#f8fafc;cursor:pointer}.collapsibleHeader span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.collapsibleHeader small{color:#94a3b8;font-size:.72rem;font-weight:800}.chevron{color:#67e8f9;font-weight:900;font-size:1.2rem}.layerConfigRow{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:12px}.miniCheckbox{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#cbd5e1;font-weight:800}.miniCheckbox input{margin:0;flex:0 0 auto}.rawJsonCard{margin-top:4px}
