:root{--bg:#06131d;--bg2:#071822;--surface:#0a1d28;--surface2:#0c2431;--line:#183342;--line2:#214657;--text:#eff7f9;--muted:#7993a0;--green:#34e6a1;--cyan:#32d4e8;--blue:#4aa6ff;--violet:#8c7cff;--red:#ff5a72;--amber:#ffc457;--shadow:0 18px 60px rgba(0,0,0,.28);--radius:15px}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 68% -15%,rgba(50,212,232,.07),transparent 30%),var(--bg);color:var(--text);font-family:Inter,"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:14px;min-height:100vh}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:rgba(5,18,27,.96);border-right:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;z-index:50;backdrop-filter:blur(16px)}.brand{height:68px;display:flex;align-items:center;gap:12px;padding:0 10px;border-bottom:1px solid var(--line);margin-bottom:22px}.brand-mark{width:33px;height:33px;border:1px solid var(--green);border-radius:9px;position:relative;display:grid;place-items:center;box-shadow:0 0 22px rgba(52,230,161,.12)}.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";width:3px;height:16px;background:var(--green);border-radius:4px;transform:skew(-18deg)}.brand-mark:before{position:absolute;left:9px;top:9px}.brand-mark:after{position:absolute;right:9px;top:9px}.brand-mark span{height:9px}.brand strong{display:block;color:var(--green);font-size:13px;letter-spacing:.12em}.brand small{display:block;color:#bfd0d6;font-size:8px;letter-spacing:.16em;margin-top:3px}.nav-list{display:flex;flex-direction:column;gap:7px}.nav-item{width:100%;height:43px;border:1px solid transparent;border-radius:9px;background:transparent;color:#8da6b1;display:flex;align-items:center;gap:12px;padding:0 12px;cursor:pointer;text-align:left;transition:.2s}.nav-item svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.nav-item span{flex:1;font-size:12px;font-weight:600}.nav-item b{font-size:9px;background:#102a37;padding:3px 6px;border-radius:10px;color:#a6c0cb}.nav-item b.danger{color:var(--red);background:rgba(255,90,114,.12)}.nav-item:hover{background:#0b202b;color:#d6e6ea}.nav-item.active{color:var(--green);background:linear-gradient(90deg,rgba(52,230,161,.14),rgba(52,230,161,.04));border-color:rgba(52,230,161,.15)}.sidebar-foot{margin-top:auto;border:1px solid var(--line);background:#081a24;border-radius:10px;padding:12px;display:flex;align-items:center;gap:10px}.sidebar-foot strong,.sidebar-foot small{display:block;font-size:9px}.sidebar-foot small{color:var(--muted);margin-top:3px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(52,230,161,.55);animation:pulse 2.2s infinite;flex:none}@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(52,230,161,0)}100%{box-shadow:0 0 0 0 rgba(52,230,161,0)}}.main{grid-column:2;min-width:0;padding:0 30px}.topbar{height:104px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(6,19,29,.88);backdrop-filter:blur(18px);z-index:40}.eyebrow,.section-label{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;color:var(--green);font-size:9px;letter-spacing:.13em;margin:0 0 7px;text-transform:uppercase}.topbar h1{font-size:20px;margin:0;letter-spacing:-.02em}.top-actions{display:flex;align-items:center;gap:12px}.search-trigger{height:38px;border:1px solid var(--line);border-radius:8px;background:#081b25;color:#78919d;display:flex;align-items:center;gap:9px;padding:0 9px 0 12px;cursor:pointer;min-width:194px}.search-trigger svg,.table-search svg,.command-search svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}.search-trigger span{flex:1;text-align:left;font-size:10px}.search-trigger kbd,.command-search kbd{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;color:#88a0aa;border:1px solid var(--line2);background:#0d2632;border-radius:5px;padding:4px 6px}.sync{height:38px;display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:15px}.sync small,.sync strong{display:block}.sync small{font-size:7px;color:var(--muted);letter-spacing:.1em}.sync strong{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:10px;margin-top:2px}.live-pill{height:30px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(52,230,161,.28);background:rgba(52,230,161,.07);border-radius:99px;color:var(--green);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;letter-spacing:.08em}.live-pill i{width:5px;height:5px;background:var(--green);border-radius:50%;box-shadow:0 0 9px var(--green)}.mobile-menu{display:none}.page{display:none;padding:31px 0 42px;animation:fade .3s ease}.page.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.welcome-row,.page-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:25px}.welcome-row h2,.page-intro h2{font-size:28px;letter-spacing:-.04em;margin:0 0 6px}.welcome-row p:not(.section-label),.page-intro p:not(.section-label){color:var(--muted);margin:0;font-size:12px}.normal-banner{min-width:380px;border:1px solid rgba(52,230,161,.22);background:linear-gradient(100deg,rgba(52,230,161,.1),rgba(52,230,161,.03));border-radius:10px;height:58px;padding:0 16px;display:flex;align-items:center;gap:12px}.normal-banner svg{width:19px;height:19px;fill:none;stroke:var(--green);stroke-width:2}.normal-banner span{flex:1}.normal-banner strong,.normal-banner small{display:block}.normal-banner strong{font-size:11px}.normal-banner small{font-size:8px;color:#7fa596;margin-top:3px}.normal-banner b{color:var(--green);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:14px}.metric-grid{display:grid;gap:12px;margin-bottom:14px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border:1px solid var(--line);background:linear-gradient(145deg,#0a1e29,#081923);border-radius:var(--radius);padding:17px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-60px;top:-60px;background:radial-gradient(circle,rgba(50,212,232,.08),transparent 70%)}.metric-dot{position:absolute;top:17px;right:17px;width:6px;height:6px;border-radius:50%;box-shadow:0 0 10px currentColor}.green{color:var(--green)!important;background-color:var(--green)}.cyan{color:var(--cyan)!important;background-color:var(--cyan)}.blue{color:var(--blue)!important;background-color:var(--blue)}.violet{color:var(--violet)!important;background-color:var(--violet)}.red{color:var(--red)!important;background-color:var(--red)}.amber{color:var(--amber)!important;background-color:var(--amber)}.gray{color:#90a3ab!important;background-color:#90a3ab}.metric small{display:block;color:#78929e;font-size:8px;letter-spacing:.1em}.metric>strong{display:block;font-size:25px;margin-top:13px;letter-spacing:-.04em}.metric strong em{font-size:11px;color:#b9cbd2;font-style:normal;margin-left:4px}.metric footer{border-top:1px solid var(--line);margin-top:14px;padding-top:11px;color:#647f8b;font-size:9px}.metric footer b{color:#b7cad1}.dashboard-grid{display:grid;gap:14px}.overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);grid-template-areas:"energy health" "dispatch value"}.panel{background:linear-gradient(145deg,rgba(11,31,42,.96),rgba(7,25,35,.98));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 32px rgba(0,0,0,.12);padding:19px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.panel-head h3,.panel h3{font-size:14px;margin:0;letter-spacing:-.02em}.text-button{border:0;background:transparent;color:var(--cyan);font-size:9px;cursor:pointer;display:flex;align-items:center;gap:5px}.text-button svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}.energy-panel{grid-area:energy}.health-panel{grid-area:health}.dispatch-panel{grid-area:dispatch}.value-panel{grid-area:value}.flow-map{height:410px;position:relative;background-color:#071a24;background-image:linear-gradient(rgba(28,69,85,.19) 1px,transparent 1px),linear-gradient(90deg,rgba(28,69,85,.19) 1px,transparent 1px);background-size:28px 28px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.flow-map.compact{height:245px}.flow-node{position:absolute;width:142px;height:73px;background:#091d28;border:1px solid var(--line2);border-radius:10px;padding:12px 12px 10px 42px;z-index:2}.flow-node svg{position:absolute;left:12px;top:18px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.flow-node small,.flow-node strong{display:block}.flow-node small{font-size:7px;color:#73909d;letter-spacing:.1em;margin-bottom:5px}.flow-node strong{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:12px}.flow-node.solar{left:7%;top:8%;color:var(--green);border-color:rgba(52,230,161,.4)}.flow-node.load{right:7%;top:8%;color:var(--amber);border-color:rgba(255,196,87,.42)}.flow-node.grid{left:7%;bottom:8%;color:var(--violet);border-color:rgba(140,124,255,.45)}.flow-node.reserve{right:7%;bottom:8%;color:var(--cyan);border-color:rgba(50,212,232,.45)}.soc-orb{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:126px;height:126px;border:1px solid rgba(52,230,161,.58);background:radial-gradient(circle,rgba(52,230,161,.14),#071923 66%);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3;box-shadow:0 0 35px rgba(52,230,161,.1)}.flow-map.compact .soc-orb{width:98px;height:98px}.soc-orb strong{font-size:25px;color:var(--green)}.soc-orb span{font-size:7px;letter-spacing:.12em;color:#95afa9}.soc-orb small{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;margin-top:4px;color:#d3e2e5}.flow-line{position:absolute;height:1px;transform-origin:0 50%;background:linear-gradient(90deg,rgba(52,230,161,.8),rgba(50,212,232,.25));left:20%;top:22%;width:34%;z-index:1}.flow-line:after{content:"";position:absolute;inset:-2px auto auto 0;width:5px;height:5px;background:var(--green);border-radius:50%;animation:flow 2.4s linear infinite}@keyframes flow{to{left:100%}}.l1{transform:rotate(24deg)}.l2{left:53%;transform:rotate(-24deg);background:linear-gradient(90deg,rgba(52,230,161,.25),rgba(255,196,87,.8))}.l3{top:77%;transform:rotate(-24deg);background:linear-gradient(90deg,rgba(140,124,255,.8),rgba(52,230,161,.25))}.l4{top:54%;left:53%;transform:rotate(24deg);background:linear-gradient(90deg,rgba(52,230,161,.25),rgba(50,212,232,.8))}.flow-map.compact .flow-node{width:110px;height:57px;padding:9px 8px 8px 34px}.flow-map.compact .flow-node svg{width:16px;height:16px;top:16px;left:10px}.flow-map.compact .flow-node strong{font-size:10px}.flow-map.compact .flow-node small{font-size:6px}.status{display:inline-flex;align-items:center;justify-content:center;height:20px;border-radius:20px;padding:0 8px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px;font-style:normal;white-space:nowrap}.status.optimal{color:var(--green);border:1px solid rgba(52,230,161,.32);background:rgba(52,230,161,.08)}.status.attention{color:var(--amber);border:1px solid rgba(255,196,87,.35);background:rgba(255,196,87,.09)}.status.critical{color:var(--red);border:1px solid rgba(255,90,114,.4);background:rgba(255,90,114,.09)}.status.info{color:var(--cyan);border:1px solid rgba(50,212,232,.35);background:rgba(50,212,232,.08)}.status.neutral{color:#9aadb5;border:1px solid #324b57;background:#102530}.health-ring{width:170px;height:170px;margin:20px auto 22px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--value)*1%),#15313d 0);display:grid;place-items:center;position:relative}.health-ring:before{content:"";position:absolute;inset:10px;background:#091c27;border-radius:50%;box-shadow:inset 0 0 25px rgba(0,0,0,.35)}.health-ring div{position:relative;text-align:center}.health-ring strong,.health-ring small{display:block}.health-ring strong{font-size:24px;color:var(--green)}.health-ring small{font-size:7px;color:var(--muted);margin-top:4px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:14px}.mini-stats span{text-align:center;border-right:1px solid var(--line)}.mini-stats span:last-child{border:0}.mini-stats small,.mini-stats strong{display:block}.mini-stats small{font-size:6px;color:var(--muted)}.mini-stats strong{font-size:13px;margin-top:5px}.timeline>div{display:grid;grid-template-columns:7px 42px 1fr auto;align-items:center;gap:10px;min-height:47px;border-top:1px solid var(--line)}.timeline>div:first-child{border-top:0}.timeline i{width:6px;height:6px;border-radius:50%}.timeline time{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;color:#718b97}.timeline p{margin:0;font-size:9px;color:#aec1c8}.timeline p strong{display:block;color:#eff7f9;font-size:10px;margin-bottom:2px}.big-value{display:block;font-size:32px;color:var(--green);letter-spacing:-.05em}.value-panel>p{color:var(--muted);font-size:9px;margin:3px 0 10px}.sparkline{height:58px;display:flex;gap:5px;align-items:end;padding:0 3px 9px;border-bottom:1px solid var(--line)}.sparkline span{flex:1;background:linear-gradient(var(--green),#17684f);border-radius:3px 3px 0 0}.value-panel footer{display:flex;justify-content:space-between;padding-top:12px}.value-panel footer small,.value-panel footer strong{display:block}.value-panel footer small{font-size:6px;color:var(--muted)}.value-panel footer strong{font-size:11px;margin-top:4px}.primary-button,.secondary-button{height:37px;border-radius:8px;padding:0 14px;font-size:9px;font-weight:700;letter-spacing:.02em;cursor:pointer}.primary-button{border:1px solid var(--green);background:var(--green);color:#052116;box-shadow:0 6px 18px rgba(52,230,161,.13)}.primary-button:hover{filter:brightness(1.08)}.secondary-button{border:1px solid var(--line2);background:#0c2531;color:#bfd0d6}.secondary-button:hover{border-color:#386070}.full{width:100%}.compact-metrics .metric{padding:14px}.compact-metrics .metric>strong{font-size:21px}.fleet-grid{grid-template-columns:minmax(0,1.7fr) 310px}.table-panel{overflow:hidden}.table-search{height:34px;width:205px;border:1px solid var(--line);border-radius:7px;background:#071923;display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted)}.table-search input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:9px}.data-table{min-width:620px}.tr{display:grid;align-items:center;min-height:55px;border-top:1px solid var(--line);color:#a9bdc5;font-size:9px}.tr.th{min-height:31px;border-top:0;color:#66818d;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px;letter-spacing:.06em}.tr span strong,.tr span small{display:block}.tr span strong{color:#e8f2f4;font-size:10px}.tr span small{color:#67818c;font-size:8px;margin-top:3px}.data-table .tr{grid-template-columns:2.05fr .75fr .45fr .5fr .55fr .65fr}.data-table button.tr{width:100%;background:transparent;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;padding:0;color:#a9bdc5}.data-table button.tr:hover,.data-table button.tr.selected{background:rgba(50,212,232,.035)}.data-table button.tr.selected{box-shadow:inset 2px 0 var(--green)}.positive{color:var(--green)}.negative{color:var(--cyan)}.asset-card>p{font-size:9px;color:var(--muted);margin:-7px 0 10px}.pack-visual{width:112px;height:220px;border:2px solid #34505d;border-radius:18px;margin:18px auto;position:relative;overflow:hidden;background:#06151e;padding:7px;box-shadow:inset 0 0 20px #031016,0 0 25px rgba(52,230,161,.05)}.pack-visual:before{content:"";position:absolute;width:36px;height:7px;background:#34505d;top:-2px;left:50%;transform:translateX(-50%);border-radius:0 0 4px 4px;z-index:3}.pack-fill{position:absolute;left:7px;right:7px;bottom:7px;background:linear-gradient(#34e6a1,#16a974);border-radius:10px;box-shadow:0 0 18px rgba(52,230,161,.28);transition:.35s}.pack-visual>span{position:absolute;inset:0;display:grid;place-items:center;color:#eafff7;font-weight:800;font-size:23px;text-shadow:0 2px 12px #075c40}.asset-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.asset-stats span{border:1px solid var(--line);background:#081a24;border-radius:8px;padding:10px}.asset-stats small,.asset-stats strong{display:block}.asset-stats small{font-size:6px;color:var(--muted)}.asset-stats strong{font-size:11px;margin-top:5px}.pipeline-panel{margin-bottom:14px}.period-pill,.quality-badge{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px;color:#73909b;border:1px solid var(--line);border-radius:99px;padding:6px 9px}.pipeline{display:flex;flex-direction:column;gap:7px}.pipeline div{height:32px;width:var(--w);min-width:40%;background:linear-gradient(90deg,rgba(52,230,161,.2),rgba(52,230,161,.06));border-left:2px solid var(--green);border-radius:0 7px 7px 0;display:flex;align-items:center;padding:0 10px;color:#aac1c8;transition:.3s}.pipeline div span{flex:1;font-size:9px}.pipeline div b{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:9px;color:var(--green)}.consumer-grid{grid-template-columns:minmax(0,1.7fr) 300px}.consumers-table .tr{grid-template-columns:1.5fr .7fr .8fr .7fr .7fr}.consumer-value>strong{font-size:34px;color:var(--green);display:block;margin-top:20px}.consumer-value>p{font-size:9px;color:var(--muted);margin:3px 0 24px}.line-chart{width:100%;height:110px;overflow:visible}.line-chart path:not(.area){fill:none;stroke:var(--cyan);stroke-width:2}.line-chart .area{fill:url(#none);fill:rgba(50,212,232,.06);stroke:none}.value-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:17px;padding-top:14px}.value-row span+span{border-left:1px solid var(--line);padding-left:15px}.value-row small,.value-row b{display:block}.value-row small{font-size:6px;color:var(--muted)}.value-row b{font-size:11px;margin-top:5px}.site-selector{min-width:215px;border:1px solid var(--line);background:#081b25;border-radius:9px;padding:11px 14px}.site-selector small,.site-selector strong,.site-selector span{display:block}.site-selector small{font-size:6px;color:var(--muted)}.site-selector strong{font-size:10px;margin-top:4px}.site-selector span{font-size:8px;color:var(--green);margin-top:3px}.energy-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr)}.quality-badge{color:var(--green);border-color:rgba(52,230,161,.2);background:rgba(52,230,161,.05)}.telemetry-panel h3{margin-bottom:16px}.telemetry-list{display:flex;flex-direction:column;gap:8px}.telemetry-list>div{height:65px;border:1px solid var(--line);border-radius:9px;padding:0 12px;display:grid;grid-template-columns:6px 1fr auto;align-items:center;gap:10px}.telemetry-list i{width:6px;height:6px;border-radius:50%}.telemetry-list small,.telemetry-list strong{display:block}.telemetry-list small{font-size:7px;color:var(--muted)}.telemetry-list strong{font-size:14px;margin-top:3px}.telemetry-list b{font-size:7px;color:#71909a}.policy-list{margin-top:17px;border-top:1px solid var(--line);padding-top:16px}.policy-list label{height:46px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:relative}.policy-list label span strong,.policy-list label small{display:block}.policy-list label span{font-size:9px;color:#bacbd1}.policy-list label small{font-size:7px;color:#607b86;margin-top:2px}.policy-list input{display:none}.policy-list label>i{width:28px;height:15px;border-radius:20px;background:#1d3844;position:relative}.policy-list label>i:after{content:"";position:absolute;width:11px;height:11px;top:2px;left:2px;border-radius:50%;background:#8299a2}.policy-list input:checked+i{background:rgba(52,230,161,.35)}.policy-list input:checked+i:after{left:15px;background:var(--green)}.incidents-panel{padding-bottom:8px}.incident{min-height:74px;border-top:1px solid var(--line);display:grid;grid-template-columns:76px 1fr 78px auto auto;align-items:center;gap:12px}.incident>div strong,.incident>div small{display:block}.incident>div strong{font-size:10px}.incident>div small{color:var(--muted);font-size:8px;margin-top:4px}.incident time{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:9px;color:#7894a0}.incident.is-acknowledged{opacity:.58}.incident.is-ticketed{background:rgba(52,230,161,.025)}.service-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:11px;background:#081b25;margin-bottom:14px}.service-summary span{padding:14px 18px;border-right:1px solid var(--line)}.service-summary span:last-child{border:0}.service-summary small,.service-summary strong{display:block}.service-summary small{font-size:7px;color:var(--muted)}.service-summary strong{font-size:16px;margin-top:5px}.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;overflow:auto}.kanban>section{border:1px solid var(--line);background:#071923;border-radius:12px;padding:10px;min-height:405px}.kanban>section>header{height:36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:#7b949e;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px}.kanban>section>header b{border:1px solid var(--line2);padding:3px 6px;border-radius:20px}.kanban article{border:1px solid var(--line);background:#0a202b;border-radius:10px;padding:12px;margin-top:10px;box-shadow:0 6px 18px rgba(0,0,0,.14)}.kanban article.closed{opacity:.72}.kanban article h3{font-size:10px;margin:10px 0 4px}.kanban article p{font-size:8px;color:var(--muted);margin:0}.kanban article footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:11px;padding-top:9px}.kanban article footer span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#163747;color:var(--cyan);font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px}.kanban article footer time{font-size:7px;color:#68838e}.progress{height:3px;background:#17313c;border-radius:4px;margin-top:10px}.progress i{height:100%;display:block;background:var(--green);border-radius:4px}.billing-grid{grid-template-columns:1fr 1fr;margin-bottom:14px}.performance-bars{display:flex;flex-direction:column;gap:14px;margin-top:24px}.performance-bars div{display:grid;grid-template-columns:130px 1fr 35px;gap:12px;align-items:center}.performance-bars span{font-size:8px;color:#9eb2ba}.performance-bars i{height:5px;background:#17323d;border-radius:4px;overflow:hidden}.performance-bars i b{height:100%;display:block;background:linear-gradient(90deg,var(--green),var(--cyan));border-radius:4px}.performance-bars strong{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;color:#829aa4}.invoice-formula{border:1px solid rgba(52,230,161,.18);background:rgba(52,230,161,.035);border-radius:9px;padding:12px;margin-top:25px}.invoice-formula small{font-size:7px;color:var(--green)}.invoice-formula p{font-size:9px;color:#9db5bd;line-height:1.5;margin:7px 0 0}.revenue-chart .panel-head b{color:var(--green);font-size:11px}.bar-chart{height:215px;display:flex;align-items:flex-end;justify-content:space-around;border-bottom:1px solid var(--line);padding:20px 12px 0;background-image:linear-gradient(rgba(27,59,72,.22) 1px,transparent 1px);background-size:100% 25%}.bar-chart div{height:100%;width:12%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}.bar-chart i{width:100%;background:linear-gradient(#34e6a1,#1b644f);border-radius:5px 5px 0 0}.bar-chart div:last-child i{background:linear-gradient(var(--cyan),#176c76);box-shadow:0 0 20px rgba(50,212,232,.12)}.bar-chart span{font-size:7px;color:var(--muted);margin-bottom:-18px}.billing-table .data-table .tr{grid-template-columns:.8fr 1.4fr .6fr .6fr .5fr}.app-footer{height:56px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#4e6c78;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:7px;letter-spacing:.06em}dialog{border:1px solid var(--line2);border-radius:16px;background:#081c27;color:var(--text);box-shadow:0 32px 90px rgba(0,0,0,.6);padding:0}dialog::backdrop{background:rgba(1,8,12,.72);backdrop-filter:blur(8px)}#action-modal form{width:min(430px,88vw);padding:29px;text-align:center;position:relative}.modal-close{position:absolute;right:14px;top:11px;border:0;background:transparent;color:#78929d;font-size:24px;cursor:pointer}.modal-icon{width:54px;height:54px;border-radius:50%;background:rgba(52,230,161,.1);border:1px solid rgba(52,230,161,.25);display:grid;place-items:center;margin:0 auto 18px}.modal-icon svg{width:23px;height:23px;fill:none;stroke:var(--green);stroke-width:2}.modal-icon+.section-label{margin-bottom:7px}dialog h2{margin:0 0 9px;font-size:21px}dialog form>p:not(.section-label){color:var(--muted);font-size:10px;line-height:1.6}.audit-note{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);background:#071823;border-radius:9px;padding:11px;margin:20px 0}.audit-note p{margin:0!important}.audit-note strong,.audit-note small{display:block}.audit-note strong{font-size:9px}.audit-note small{font-size:7px;color:var(--muted);margin-top:3px}.command-search{height:59px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 17px;color:var(--muted)}.command-search input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:11px}.command-search input::placeholder{color:#607984}#search-modal form{width:min(610px,90vw)}.command-results{padding:13px}.command-results>.section-label{margin:5px 6px 8px}.command-results button{width:100%;height:56px;border:0;background:transparent;border-radius:8px;color:#a8bdc5;display:flex;align-items:center;gap:12px;padding:0 10px;cursor:pointer;text-align:left}.command-results button:hover{background:#0d2632}.command-results button svg{width:18px;height:18px;fill:none;stroke:var(--cyan);stroke-width:1.6}.command-results button span{flex:1}.command-results strong,.command-results small{display:block}.command-results strong{font-size:10px;color:#e5eff2}.command-results small{font-size:8px;color:var(--muted);margin-top:3px}.command-results kbd{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:8px;color:#637d88}.toast{position:fixed;right:25px;bottom:25px;width:260px;height:62px;border:1px solid rgba(52,230,161,.24);border-radius:12px;background:#0b222d;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;padding:0 15px;transform:translateY(100px);opacity:0;transition:.3s;z-index:100}.toast.show{transform:none;opacity:1}.toast svg{width:21px;height:21px;fill:none;stroke:var(--green);stroke-width:2}.toast strong,.toast small{display:block}.toast strong{font-size:10px}.toast small{font-size:8px;color:var(--muted);margin-top:3px}
@media(max-width:1150px){.app-shell{grid-template-columns:200px 1fr}.sidebar{width:200px}.main{padding:0 20px}.normal-banner{min-width:330px}.search-trigger{min-width:150px}.search-trigger span{display:none}.search-trigger{min-width:auto}.overview-grid{grid-template-columns:1.35fr .75fr}.metric>strong{font-size:21px}.kanban{grid-template-columns:repeat(4,245px)}}
@media(max-width:900px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s;width:244px}.sidebar.open{transform:none}.main{grid-column:auto;padding:0 16px}.topbar{height:84px}.mobile-menu{display:inline-block;border:0;background:transparent;color:#b7c9d0;margin-right:7px;cursor:pointer}.topbar h1{font-size:17px}.sync{display:none}.welcome-row,.page-intro{align-items:stretch}.normal-banner{min-width:0}.metric-grid.four{grid-template-columns:1fr 1fr}.overview-grid,.fleet-grid,.consumer-grid,.energy-grid,.billing-grid{grid-template-columns:1fr;grid-template-areas:none}.energy-panel,.health-panel,.dispatch-panel,.value-panel{grid-area:auto}.flow-map.compact{height:300px}.asset-card{display:grid;grid-template-columns:1fr 130px 1fr;align-items:center}.asset-card .panel-head,.asset-card>p,.asset-card>button{grid-column:1/-1}.asset-card .pack-visual{grid-column:2}.asset-stats{grid-column:3}.consumer-value{min-height:320px}.kanban{grid-template-columns:repeat(4,250px)}}
@media(max-width:640px){body{font-size:13px}.main{padding:0 11px}.topbar{height:76px}.topbar .eyebrow{font-size:7px}.topbar h1{font-size:15px}.live-pill{display:none}.search-trigger{width:36px;padding:0;justify-content:center}.welcome-row,.page-intro{display:block}.normal-banner{margin-top:17px}.page{padding-top:23px}.welcome-row h2,.page-intro h2{font-size:23px}.page-intro .primary-button,.page-intro .secondary-button,.page-intro .site-selector{margin-top:15px}.metric-grid.four{grid-template-columns:1fr 1fr}.metric{padding:13px}.metric>strong{font-size:19px}.metric footer{font-size:7px}.panel{padding:14px}.flow-map,.flow-map.compact{height:310px}.flow-node,.flow-map.compact .flow-node{width:100px;height:55px;padding:8px 6px 7px 30px}.flow-node svg,.flow-map.compact .flow-node svg{width:14px;height:14px;left:9px;top:15px}.soc-orb,.flow-map.compact .soc-orb{width:90px;height:90px}.soc-orb strong{font-size:20px}.table-panel{overflow:auto}.asset-card{display:block}.asset-stats{grid-template-columns:1fr 1fr}.incident{grid-template-columns:64px 1fr auto;padding:12px 0}.incident time{display:none}.incident .primary-button,.incident .secondary-button{grid-row:2;width:100%;height:30px}.service-summary{grid-template-columns:1fr 1fr}.service-summary span:nth-child(2){border-right:0}.service-summary span:nth-child(-n+2){border-bottom:1px solid var(--line)}.billing-grid{grid-template-columns:1fr}.app-footer{height:auto;padding:18px 0;gap:8px;flex-wrap:wrap}.toast{right:12px;left:12px;width:auto;bottom:12px}.asset-card .pack-visual{height:190px}.normal-banner{height:auto;padding:12px}.normal-banner b{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Fresh Energy theme - premium, light and operational */
:root{--bg:#eef8f3;--bg2:#f7fbf9;--surface:#ffffff;--surface2:#f1f8f5;--line:#d7e8e0;--line2:#bfd9cd;--text:#123329;--muted:#668278;--green:#12b878;--cyan:#0eabc0;--blue:#287de0;--violet:#7568e8;--red:#e54861;--amber:#e99b19;--shadow:0 18px 50px rgba(34,84,65,.10)}
html{background:var(--bg)}
body{background:radial-gradient(circle at 72% -10%,rgba(31,199,169,.20),transparent 29%),radial-gradient(circle at 18% 20%,rgba(77,166,255,.08),transparent 24%),linear-gradient(180deg,#f8fcfa 0,#edf7f2 100%);color:var(--text)}
.sidebar{background:rgba(249,253,251,.96);border-color:var(--line);box-shadow:8px 0 34px rgba(25,86,62,.06)}
.brand{border-color:var(--line)}
.brand-mark{background:linear-gradient(145deg,#e4faf0,#fff);box-shadow:0 10px 24px rgba(18,184,120,.16)}
.brand strong{color:#0b9e68}.brand small{color:#678277}
.nav-item{color:#6b8179}.nav-item b{background:#e5f1ec;color:#567368}.nav-item b.danger{background:#fdecef;color:var(--red)}
.nav-item:hover{background:#edf7f2;color:#163f32}.nav-item.active{color:#087e55;background:linear-gradient(90deg,rgba(18,184,120,.16),rgba(18,184,120,.05));border-color:rgba(18,184,120,.19);box-shadow:inset 3px 0 #12b878}
.sidebar-foot{background:linear-gradient(135deg,#e8f8f0,#f8fcfa);border-color:#cde6da}.sidebar-foot strong{color:#173d31}.sidebar-foot small{color:#6b8b7d}
.topbar{background:rgba(248,252,250,.88);border-color:var(--line);box-shadow:0 8px 24px rgba(40,92,70,.04)}
.topbar h1,.welcome-row h2,.page-intro h2{color:#102f26}
.search-trigger,.table-search,.site-selector{background:rgba(255,255,255,.82);border-color:#cfe2d9;color:#71897f;box-shadow:0 7px 20px rgba(38,92,70,.05)}
.search-trigger kbd,.command-search kbd{background:#edf6f2;border-color:#cde1d8;color:#688177}
.sync{border-color:var(--line)}.sync strong{color:#21453a}.live-pill{background:#e8f8f0;border-color:#afe0ca;color:#09895b}
.normal-banner{background:linear-gradient(100deg,#e1f8ed,#f6fcf9);border-color:#b7e4cf;box-shadow:0 10px 30px rgba(18,184,120,.07)}
.normal-banner strong{color:#174236}.normal-banner small{color:#658477}
.metric,.panel{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,252,249,.98));border-color:var(--line);box-shadow:0 13px 35px rgba(31,84,63,.07)}
.metric:after{background:radial-gradient(circle,rgba(18,184,120,.11),transparent 70%)}
.metric small,.metric footer{color:#718b80}.metric>strong{color:#173c31}.metric strong em{color:#668278}.metric footer{border-color:#dfebe5}.metric footer b{color:#385f51}
.panel-head h3,.panel h3{color:#15392e}.section-label,.eyebrow{color:#0c9c68}
.flow-map{background-color:#f4faf7;background-image:linear-gradient(rgba(91,148,125,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(91,148,125,.12) 1px,transparent 1px);border-color:#d1e5dc}
.flow-node{background:rgba(255,255,255,.95);border-color:#bcd9cd;box-shadow:0 9px 22px rgba(38,91,69,.08)}
.flow-node small{color:#6f8b7f}.soc-orb{background:radial-gradient(circle,#e5fbf1,#ffffff 68%);border-color:#57cfa3;box-shadow:0 14px 34px rgba(18,184,120,.13)}
.soc-orb span{color:#4e7768}.soc-orb small{color:#31584a}.flow-line{filter:saturate(.9)}
.health-ring{background:conic-gradient(var(--green) calc(var(--value)*1%),#dcebe4 0);box-shadow:0 15px 36px rgba(18,184,120,.10)}.health-ring:before{background:#fbfefc;box-shadow:inset 0 0 20px rgba(39,105,78,.05)}
.mini-stats,.mini-stats span,.timeline>div,.value-panel footer,.sparkline{border-color:#dbe9e2}.timeline p{color:#58786c}.timeline p strong{color:#193d32}.timeline time{color:#789286}
.status.optimal{background:#e3f8ee;border-color:#9bdcbe;color:#078c5c}.status.attention{background:#fff5df;border-color:#efd08d;color:#b97000}.status.critical{background:#fdecef;border-color:#f1a5b1;color:#c72f49}.status.info{background:#e5f7fa;border-color:#9edce5;color:#087e90}.status.neutral{background:#edf3f0;border-color:#c9d8d1;color:#60766d}
.primary-button{background:#12b878;border-color:#12b878;color:#fff;box-shadow:0 9px 22px rgba(18,184,120,.20)}.secondary-button{background:#fff;border-color:#cbded5;color:#385f51;box-shadow:0 6px 16px rgba(40,88,69,.04)}.secondary-button:hover{border-color:#89bba6;background:#f7fcf9}
.data-table .tr,.data-table button.tr,.tr{border-color:#dce9e3;color:#547367}.tr.th{color:#718c80}.tr span strong{color:#183d31}.tr span small{color:#789186}.data-table button.tr:hover,.data-table button.tr.selected{background:#eef9f4}
.asset-card>p{color:#688479}.pack-visual{background:#edf7f2;border-color:#9dbfaf;box-shadow:inset 0 0 18px rgba(38,91,69,.08),0 16px 30px rgba(18,184,120,.08)}.pack-visual:before{background:#9dbfaf}.asset-stats span{background:#f5faf7;border-color:#d6e7df}.asset-stats small{color:#718b80}.asset-stats strong{color:#21463a}
.pipeline div{background:linear-gradient(90deg,rgba(18,184,120,.18),rgba(18,184,120,.05));color:#456c5d}.period-pill,.quality-badge{border-color:#cde1d8;color:#648277;background:#f6fbf8}
.consumer-value>p,.page-intro p:not(.section-label),.welcome-row p:not(.section-label){color:#698479}.value-row,.policy-list,.policy-list label{border-color:#dce9e3}.value-row small{color:#718b80}
.telemetry-list>div{background:#fbfefc;border-color:#d6e7df}.telemetry-list small{color:#6d877c}.telemetry-list b{color:#648277}.policy-list label span{color:#355d4e}.policy-list label small{color:#779086}.policy-list label>i{background:#d7e6df}.policy-list label>i:after{background:#829b90}
.incidents-panel,.incident{border-color:#dce9e3}.incident>div strong{color:#193e32}.incident>div small,.incident time{color:#708a7f}.incident.is-ticketed{background:#effaf5}
.service-summary{background:rgba(255,255,255,.9);border-color:#d4e6dd;box-shadow:0 11px 27px rgba(40,88,69,.05)}.service-summary span{border-color:#dce9e3}.service-summary small{color:#708b7f}.service-summary strong{color:#1b4034}
.kanban>section{background:#eff7f3;border-color:#d4e5dd}.kanban>section>header{border-color:#d3e4dc;color:#668177}.kanban article{background:#fff;border-color:#d5e6de;box-shadow:0 8px 20px rgba(39,88,69,.07)}.kanban article h3{color:#173d31}.kanban article p,.kanban article footer time{color:#718b80}.kanban article footer{border-color:#dce9e3}.kanban article footer span{background:#e5f6ee;color:#07895b}.progress{background:#dceae4}
.performance-bars span{color:#557569}.performance-bars i{background:#dcebe4}.performance-bars strong{color:#6d877c}.invoice-formula{background:#effaf5;border-color:#c0e6d4}.invoice-formula p{color:#4f7063}.bar-chart{border-color:#d7e7df;background-image:linear-gradient(rgba(91,148,125,.12) 1px,transparent 1px)}.bar-chart span{color:#6f897e}
.app-footer{border-color:#d5e5dd;color:#759086}
dialog{background:#fbfefc;color:#173d31;border-color:#cce0d7;box-shadow:0 34px 90px rgba(22,67,49,.24)}dialog::backdrop{background:rgba(28,63,50,.30)}.modal-close{color:#69857a}.audit-note{background:#eff8f4;border-color:#d1e5dc}.audit-note small{color:#6a857a}
.command-search{border-color:#d8e8e1;color:#6c877b}.command-search input{color:#183d31}.command-search input::placeholder{color:#8ca097}.command-results button{color:#4e6e62}.command-results button:hover{background:#eef8f3}.command-results strong{color:#173d31}.command-results small,.command-results kbd{color:#718a80}
.toast{background:#fbfefc;border-color:#b7e4cf;box-shadow:0 22px 60px rgba(33,87,65,.16)}.toast strong{color:#173d31}.toast small{color:#6b877b}
@media(max-width:900px){.sidebar{background:rgba(250,253,251,.98);box-shadow:15px 0 45px rgba(25,75,56,.15)}}
