
:root{--bg:#f5f6f3;--paper:#fff;--ink:#25362e;--muted:#6a7771;--line:#e0e6df;--green:#25583f;--mint:#edf3e9;--gold:#e2b55e;--blue:#567d99;--red:#9f453c;--radius:18px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 "Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #89af78;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,3vw,38px);line-height:1.25;letter-spacing:-1.1px;font-weight:600}h2{font-size:19px;font-weight:600;letter-spacing:-.3px}h3{font-size:15px;font-weight:600}small{display:block}svg{display:block}button{border:0}input{min-width:0}input:not([type=hidden]),select{border:1px solid #cad5cc;border-radius:9px;background:#fff;padding:10px 12px;color:var(--ink)}.skip{position:absolute;left:20px;top:-60px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}.app-shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:#fcfcfa;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;min-height:690px}.brand{display:flex;align-items:center;gap:11px;font-weight:650;font-size:23px;letter-spacing:-.6px}.brand small{font-size:10px;font-weight:400;letter-spacing:.15px;color:var(--muted);white-space:nowrap}.brand-icon{font-size:39px;line-height:1;color:var(--green)}.nav-label{font-size:10px;letter-spacing:1.7px;color:#87918b;margin:46px 12px 15px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:5px 0;border-radius:10px;font-size:13px;color:#647069}.nav-link span{font-size:22px;line-height:1;width:20px;text-align:center}.nav-link.active{background:#e9efe4;color:#234c36;font-weight:600}.nav-link:hover{background:#eff2eb}.sidebar-note{margin:auto 12px 34px;padding-top:32px}.small-sun{color:#a0ac84;font-size:26px;display:block;margin-bottom:10px}.sidebar-note strong{font-size:16px;font-weight:500;line-height:1.5}.sidebar-note p{font-size:11px;color:var(--muted);margin-top:10px}.account{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:20px}.avatar{background:#e7ecdf;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:13px}.account strong{font-size:12px}.account small{font-size:10px;color:var(--muted)}.account-links{font-size:11px;display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:15px}.account-links a:hover,.text-button:hover{text-decoration:underline}.text-button{background:none;padding:0;color:var(--muted);font-size:11px}.main{padding:26px 42px 20px;max-width:1600px;width:100%;min-width:0}.demo-banner{background:#fff7df;border:1px solid #ebdbac;border-radius:8px;padding:7px 12px;font-size:11px;color:#766037;margin-bottom:24px}.demo-banner strong{margin-right:10px;text-transform:uppercase;font-size:9px;letter-spacing:1px}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:15px 0 34px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#7f8a7c;margin-bottom:9px}.subtitle{color:var(--muted);font-size:13px;margin-top:11px}.refresh-state{font-size:10px;display:flex;gap:7px;align-items:center;color:var(--muted);white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:#8ca975}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.section-heading>span{font-size:10px;color:var(--muted)}.section-heading>h2{font-size:14px}.live-grid{display:grid;grid-template-columns:minmax(260px,1.15fr) 2fr;gap:18px}.hero-card{background:#28573f;color:#fff;border-radius:var(--radius);padding:22px 26px;position:relative;overflow:hidden}.hero-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#e3eddc}.hero-symbol{font-size:27px;line-height:1;color:#c0d5a5}.hero-number{display:flex;align-items:baseline;gap:8px;margin:10px 0 0}.hero-number>span:first-child{font-size:52px;letter-spacing:-2px;font-weight:450;line-height:1.2}.hero-unit{font-size:16px;color:#c6d8c1}.hero-card p{font-size:10px;color:#ccdec7;margin-top:7px;min-height:16px}.hero-rule{height:1px;background:#ffffff26;margin:20px 0 12px}.hero-bottom{display:flex;justify-content:space-between;font-size:10px;color:#c8ddc3}.live-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px 19px;display:flex;flex-direction:column;min-width:0}.metric-icon{font-size:23px;color:#7b9471;margin-bottom:18px}.metric-label{font-size:12px;color:var(--muted)}.metric-number{font-size:29px;letter-spacing:-.8px;font-weight:550;line-height:1.4;margin-top:7px;white-space:nowrap}.metric-number small{display:inline;font-size:12px;font-weight:400;letter-spacing:0;margin-left:5px;color:var(--muted)}.metric-meta{font-size:10px;color:var(--muted);margin-top:auto;padding-top:12px}.status-warning{color:#9a6b27}.chart-heading{margin-top:32px;margin-bottom:17px}.chart-heading .eyebrow{font-size:9px;margin-bottom:4px}.date-control{display:flex;align-items:center;gap:8px;background:white;border:1px solid var(--line);border-radius:8px;padding:3px 7px}.date-control label{font-size:11px;color:var(--muted);padding-left:4px}.date-control input{border:0;padding:5px;font-size:12px}.icon-button{background:#f2f4ef;border-radius:5px;color:var(--green);font-size:19px;width:30px;height:30px;line-height:1}.energy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:18px;overflow:hidden}.energy-card{padding:18px 22px;border-right:1px solid var(--line)}.energy-card:last-child{border:0}.energy-label{font-size:11px;color:var(--muted)}.energy-number{font-size:25px;font-weight:550;letter-spacing:-.8px;margin-top:5px;line-height:1.5}.energy-number span{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:5px}.energy-meta{font-size:9px;color:var(--muted);min-height:15px}.chart-card{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:23px 25px 16px}.chart-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.chart-title h2{font-size:15px}.chart-title p{font-size:10px;color:var(--muted);margin-top:4px}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:2px;background:var(--green)}.color-0{background:#70935c}.color-1{background:#688da8}.color-2{background:#d9ab5b}.color-3{background:#977daa}.chart-container{position:relative;min-height:180px}.chart-container svg{width:100%;height:auto;min-height:180px}.chart-gridline{stroke:#edf0eb;stroke-width:1}.chart-label{fill:#89938c;font-size:11px;font-family:"Segoe UI",Arial,sans-serif}.chart-empty{position:absolute;inset:35% 12%;text-align:center;background:#ffffffed;font-size:13px;color:var(--muted);padding:12px}.chart-note{color:var(--muted);font-size:10px;margin:6px 0}.data-details{font-size:10px;color:var(--muted);margin-top:10px;border-top:1px solid #edf0eb;padding-top:8px}.data-details summary{cursor:pointer}.table-scroll{max-height:280px;overflow:auto;margin-top:10px}table{border-collapse:collapse;width:100%;font-size:11px}th,td{text-align:right;border-bottom:1px solid var(--line);padding:7px}th:first-child,td:first-child{text-align:left}caption{text-align:left;padding:8px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.info-card{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#f8faf5}.info-icon{font-size:22px;color:#819273;line-height:1.2}.info-card h3{font-size:11px}.info-card p{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.7}.notice,.error-banner{border-radius:8px;padding:12px 16px;margin-bottom:16px;background:#fbf0db;color:#725723;font-size:12px}.error-banner{background:#fae9e5;color:#843f35}.notice{margin-top:16px}footer{display:flex;justify-content:space-between;color:#89948a;font-size:9px;margin-top:30px;padding-top:15px;border-top:1px solid var(--line)}.apartment-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.apartment-tabs a{padding:7px 14px;border:1px solid var(--line);border-radius:25px;font-size:12px;background:white}.apartment-tabs a.selected{background:#e7eee0;border-color:#bccdb0;color:var(--green)}.empty-card,.form-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:45px;max-width:650px}.empty-card>span{font-size:45px;color:#8ca279}.empty-card p{margin:16px 0 25px;color:var(--muted)}.button{display:inline-flex;justify-content:center;gap:15px;align-items:center;background:var(--green);color:white;border-radius:8px;padding:12px 20px;font-size:13px;font-weight:600}.button:hover{background:#1f4732}.muted{color:var(--muted);font-size:13px}.auth-body{background:#f4f5f0;min-height:100vh;display:grid;place-items:center;padding:35px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;width:100%;min-height:680px;background:white;border-radius:24px;overflow:hidden;border:1px solid #e0e5db;box-shadow:0 20px 80px #243a2110}.auth-intro{background:#254f3a;color:white;padding:42px;position:relative;overflow:hidden}.brand.light .brand-icon{color:#d1dfad}.brand.light small{color:#c3d1bd}.auth-intro .eyebrow{color:#c9d7b5;font-size:9px;margin-top:15px}.auth-intro h1{font-size:40px;line-height:1.2;font-weight:400}.auth-intro>p:last-child{color:#bdcfb7;font-size:13px;margin-top:20px}.auth-art{height:265px;position:relative;margin:10px -10px}.sun-disc{width:110px;height:110px;border-radius:50%;background:#e1c97a;position:absolute;top:50px;right:40px;box-shadow:0 0 0 20px #d6dcb60b,0 0 0 40px #d6dcb608}.solar-roof{position:absolute;width:280px;height:170px;bottom:10px;left:8px;transform:skewY(-12deg) rotate(-4deg);border:1px solid #89a98a;background:repeating-linear-gradient(90deg,transparent 0,transparent 54px,#89a98a80 55px,#89a98a80 56px),repeating-linear-gradient(0deg,#345e49 0,#345e49 40px,#89a98a80 41px,#89a98a80 42px);box-shadow:14px 20px 0 #143a2929}.auth-panel{padding:65px 50px;display:flex;flex-direction:column;justify-content:center}.auth-panel h2{font-size:29px;letter-spacing:-.8px;margin-bottom:8px}.auth-form{display:flex;flex-direction:column;gap:8px;margin-top:28px}.auth-form label{font-size:12px;font-weight:500;margin-top:7px}.auth-form input{width:100%;min-height:43px}.auth-form .button{margin-top:15px;min-height:44px}.auth-form p{margin-bottom:12px}.auth-form p label{display:block;margin-bottom:7px}.auth-form ul,.auth-form .helptext{font-size:11px;color:var(--muted);display:block}.auth-form .errorlist{color:var(--red)}.subtle-link{font-size:12px;color:var(--green);margin-top:17px;text-decoration:underline}.access-note{font-size:11px;color:var(--muted);margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}.auth-footnote{font-size:9px;color:#9aa396;margin-top:36px}
.energy-grid:has(.energy-card:only-child){grid-template-columns:1fr}
[hidden]{display:none!important}
@media(min-width:1500px){.main{padding:32px 55px}.hero-card{padding:26px 30px}.hero-number>span:first-child{font-size:60px}}
@media(max-width:1150px){.app-shell{grid-template-columns:205px 1fr}.sidebar{padding:26px 15px}.brand{font-size:20px}.brand small{font-size:9px}.main{padding:22px 25px}.live-grid{grid-template-columns:1fr}.hero-card{padding:20px 25px}.hero-rule{margin-top:12px}.hero-number>span:first-child{font-size:44px}.live-secondary{grid-template-columns:repeat(3,1fr)}.metric-card{padding:15px 18px}.metric-icon{margin-bottom:4px}.metric-number{font-size:25px}.metric-meta{padding-top:4px}.energy-card{padding:16px}.energy-number{font-size:22px}.refresh-state{white-space:normal;max-width:120px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{height:auto;min-height:0;position:static;padding:16px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:21px}.brand small{font-size:9px}.brand-icon{font-size:33px}.sidebar .nav-label,.sidebar-note,.account{display:none}.sidebar nav{display:flex;gap:4px;margin-top:18px}.nav-link{font-size:11px;flex:1;justify-content:center;padding:9px 6px;gap:6px}.nav-link span{font-size:18px;width:auto}.account-links{justify-content:flex-end;margin-top:6px;gap:14px}.main{padding:16px}.page-header{align-items:flex-start;margin:12px 0 24px;gap:12px}.page-header h1{font-size:28px}.subtitle{font-size:12px}.refresh-state{font-size:9px;max-width:95px;margin-top:8px}.demo-banner{margin-bottom:20px;font-size:10px}.section-heading>span{font-size:9px;max-width:135px;text-align:right}.live-grid{gap:12px}.live-secondary{gap:8px}.metric-card{padding:13px 10px;border-radius:12px}.metric-number{font-size:22px}.metric-label,.metric-meta{font-size:9px}.metric-number small{font-size:10px}.energy-grid{grid-template-columns:repeat(2,1fr)}.energy-card{border-bottom:1px solid var(--line)}.energy-card:nth-child(2){border-right:0}.energy-card:nth-last-child(-n+2){border-bottom:0}.chart-heading{flex-wrap:wrap;margin-top:24px}.date-control label{display:none}.chart-card{padding:18px 12px}.chart-title{align-items:flex-start;flex-direction:column;gap:10px}.legend{gap:12px}.bottom-grid{grid-template-columns:1fr;gap:12px}.info-card{padding:15px}.chart-note{font-size:9px}.auth-body{padding:16px}.auth-layout{display:block;min-height:0;max-width:470px}.auth-intro{padding:25px}.auth-art{display:none}.auth-intro h1{font-size:28px;margin-top:15px}.auth-intro .eyebrow,.auth-intro>p:last-child{display:none}.auth-panel{padding:30px 25px}.empty-card,.form-card{padding:25px}footer{font-size:8px;gap:20px}.section-heading h2{font-size:17px}.chart-heading h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.allocation-card{margin-bottom:20px}.allocation-select{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px}.allocation-select select{font-size:12px;padding:8px 10px}.allocation-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0 12px}.allocation-total{background:#f0f5ec;border:1px solid #dce6d6;border-radius:12px;padding:16px 20px}.allocation-total.net{background:#eff4f8;border-color:#dce6ee}.allocation-total p:first-child{color:var(--muted);font-size:12px}.allocation-total strong{font-size:30px;font-weight:550;letter-spacing:-.7px}.allocation-total small{display:inline;margin-left:7px;color:var(--muted);font-size:12px}.allocation-total p:last-child{font-size:10px;color:var(--muted)}.allocation-current{font-size:11px;color:var(--muted);margin-bottom:16px}.allocation-legend{display:flex;gap:20px;font-size:11px;color:var(--muted);margin-bottom:8px}.allocation-legend span{display:flex;align-items:center;gap:6px}.allocation-local{background:#70935c}.allocation-grid{background:#688da8}.allocation-explanation{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:14px;line-height:1.7}.allocation-card .notice{margin-top:15px}.allocation-card svg{width:100%;height:auto}@media(max-width:760px){.allocation-summary{gap:8px}.allocation-total{padding:12px}.allocation-total strong{font-size:25px}.allocation-select{width:100%;justify-content:space-between}.allocation-current,.allocation-explanation{font-size:10px}}

.period-links{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 24px;font-size:12px;color:var(--muted)}.period-links a{color:var(--green);border:1px solid var(--line);border-radius:8px;padding:6px 15px;background:#fff}.period-links a:hover{background:var(--mint)}@media(max-width:760px){.sidebar nav{flex-wrap:wrap}.sidebar .nav-link{flex:1 1 40%}.period-links{gap:8px}.period-links span{flex-basis:100%}}
