:root{color-scheme:dark;--bg:#07110f;--surface:#10201c;--surface-2:#152b25;--line:#27483e;--text:#f3f8f5;--muted:#91aaa1;--accent:#62e6a7;--accent-2:#d1ff52;--solar:#ffb547;--net:#80b7ff;--price:#ef9cff;--danger:#ff8e85;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,#143a2d 0,transparent 30rem),var(--bg);color:var(--text)}button,input,select{font:inherit}a{color:var(--accent)}.site-header{height:70px;padding:0 clamp(1rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#07110fe8;backdrop-filter:blur(12px);position:sticky;top:0;z-index:2}.brand{color:var(--text);text-decoration:none;font-weight:800;font-size:1.15rem;letter-spacing:-.02em}.brand span,.brand-mark{color:var(--accent-2)}.shell{width:min(1260px,calc(100% - 2rem));margin:0 auto;padding:3rem 0 5rem}.hero{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}.eyebrow{color:var(--accent);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin:0 0 .5rem}h1{font-size:clamp(2.4rem,6vw,4.8rem);letter-spacing:-.055em;line-height:.94;margin:.2rem 0}h2{font-size:1.35rem;margin:.2rem 0}.lede,.panel-note{color:var(--muted);margin:.8rem 0 0}.panel-note{font-size:.78rem;line-height:1.5}.status{color:var(--muted);font-size:.8rem}.status span{display:inline-block;width:.55rem;height:.55rem;background:var(--accent);border-radius:50%;box-shadow:0 0 14px var(--accent);margin-right:.5rem}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.metric,.panel{background:linear-gradient(145deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:18px;padding:1.35rem;box-shadow:0 16px 40px #0002}.metric.accent{border-color:#5fcf9a80}.metric p{margin:0;color:var(--muted);font-size:.86rem}.metric strong{display:block;font-size:clamp(1.5rem,3vw,2rem);margin:.55rem 0}.metric small{font-size:.8rem;color:var(--muted)}.metric span{color:var(--muted);font-size:.72rem}.panel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.panel.wide{grid-column:1/-1}.panel{min-height:360px}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.chart-wrap{height:310px;margin-top:1rem;position:relative}.chart-wrap.compact{height:260px}.chart-wrap canvas{display:block}.legend{display:flex;gap:1rem;color:var(--muted);font-size:.75rem;margin-top:.8rem}.legend span:before{content:"";display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.35rem}.legend .import:before{background:var(--accent)}.legend .export:before{background:var(--solar)}.legend .net:before{background:var(--net)}.segmented{display:flex;border:1px solid var(--line);border-radius:10px;padding:3px}.segmented button{background:transparent;color:var(--muted);padding:.45rem .65rem;font-size:.72rem}.segmented button.active{background:var(--accent);color:#062018}button{border:0;border-radius:8px;padding:.75rem 1rem;background:var(--accent);color:#062018;font-weight:800;cursor:pointer}.button-secondary{background:transparent;color:var(--muted);border:1px solid var(--line);padding:.5rem .8rem}select{background:#081511;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:.5rem}.auth-page{display:grid;place-items:center;padding:1rem}.login-card{width:min(430px,100%);padding:2.2rem;background:linear-gradient(145deg,var(--surface-2),var(--surface));border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 80px #0006}.login-card h1{font-size:3rem}.muted{color:var(--muted);line-height:1.5}.login-card form{display:grid;gap:1rem;margin-top:1.7rem}.login-card label{display:grid;gap:.45rem;color:var(--muted);font-size:.85rem}.login-card input{width:100%;border:1px solid var(--line);border-radius:10px;background:#081511;color:var(--text);padding:.8rem}.login-card input:focus{outline:2px solid var(--accent);outline-offset:1px}.alert{color:var(--danger);background:#481d1d66;border:1px solid #8e3f3f;padding:.8rem;border-radius:10px;font-size:.85rem}@media(max-width:850px){.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{padding-top:2rem}.hero{align-items:start;flex-direction:column}.metric-grid,.panel-grid{grid-template-columns:1fr}.panel.wide{grid-column:auto}.site-header{height:62px}.login-card{padding:1.5rem}.panel-head{flex-direction:column}.segmented{width:100%}.segmented button{flex:1}.chart-wrap{height:260px}}
