:root{color:#183128;font-synthesis:none;--green:#173b2f;--mint:#dcebe1;--orange:#d47b19;--paper:#fbfcf9;--line:#dce4dc;background:#f2f5f0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}.shell{grid-template-columns:238px 1fr;min-height:100vh;display:grid}.shell>aside{color:#fff;background:#102820;flex-direction:column;width:238px;padding:34px 24px;display:flex;position:fixed;inset:0 auto 0 0}.logo{letter-spacing:-.04em;align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.logo svg{color:#f2ad43}.shell nav{gap:7px;margin-top:70px;display:grid}.shell nav button,.logout{color:#b9c9c1;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:13px 14px;display:flex}.shell nav svg,.logout svg{width:19px}.shell nav button.active{color:#fff;background:#25483b}.logout{margin-top:auto}.content{grid-column:2;width:100%;max-width:1500px;padding:48px clamp(28px,5vw,76px)}.section-head{justify-content:space-between;align-items:flex-start;margin-bottom:30px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#648073;margin:0 0 10px;font-size:11px;font-weight:700}.section-head h1,.entry h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,47px);line-height:1.06}.section-head p{color:#708079;margin:8px 0 0}.date-chip,.icon-button{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:12px 16px}.icon-button{cursor:pointer;color:var(--green)}.solar-card{color:#fff;background:linear-gradient(125deg,#285c48,#153a2f);border-radius:24px;grid-template-columns:1fr auto 1fr;align-items:center;padding:30px 34px;display:grid;box-shadow:0 16px 40px #163c2d20}.solar-card strong{font-size:48px}.solar-card strong small{font-size:16px}.solar-card p{color:#bad1c6;margin:3px 0}.eyebrow.light{color:#cde0d6}.sun{color:#f3ae3e;filter:drop-shadow(0 0 22px #e69f3e88);margin:0 24px}.solar-stats{flex-wrap:wrap;justify-content:flex-end;justify-self:end;align-items:flex-start;gap:14px clamp(16px,2vw,36px);display:flex}.solar-stats span{color:#b9cec5;font-size:12px;display:grid}.solar-stats b{color:#fff;margin-bottom:5px;font-size:18px}.solar-stats .solar-production b:nth-of-type(2){margin-top:7px}.kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0;display:grid}.kpis article,.chart-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}.mini-icon{background:var(--mint);color:#2f7457;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.kpis p{color:#718078;margin:18px 0 6px;font-size:12px}.kpis strong{font-size:24px}.kpis strong small{color:#77847e;font-size:12px}.delta{color:#829088;margin-top:9px;font-size:10px;display:block}.chart-card h2{margin:0;font-size:20px}.chart-card>div>p{color:#74837b;margin:4px 0}.empty{text-align:center;color:#7b8a82;place-content:center;height:250px;display:grid}.entry{max-width:1000px}.meter-form{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px}.date-field{gap:8px;max-width:250px;margin-bottom:22px;font-weight:600;display:grid}.date-field input,.meter-input input,.note textarea{background:#fff;border:1px solid #ced8d0;border-radius:11px;outline:none;padding:12px}.date-field input:focus,.meter-input input:focus,.note textarea:focus{border-color:#3d8064;box-shadow:0 0 0 3px #3d80641c}.meter-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.meter-input{border:1px solid var(--line);background:#f8faf6;border-radius:15px;grid-template-columns:auto 1fr 135px;align-items:center;gap:12px;padding:13px;display:grid}.meter-icon{background:var(--mint);color:#2c7557;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.meter-input span:nth-child(2){display:grid}.meter-input small,.photo small{color:#7c8b84;margin-top:3px;font-size:11px}.extras{grid-template-columns:1fr 1fr;gap:15px;margin:20px 0;display:grid}.photo{color:#486157;cursor:pointer;border:1px dashed #9cad9f;border-radius:14px;align-items:center;gap:13px;padding:18px;display:flex;position:relative}.photo input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo span{display:grid}.note{gap:7px;font-weight:600;display:grid}.note textarea{resize:vertical}.save,.login button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;gap:8px;padding:14px 22px;font-weight:700;display:flex}.success{color:#26734f}.error{color:#b73d32}.login{background:radial-gradient(circle at 20% 10%,#d9eadc,#0000 30%),#eff3ed;place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{border:1px solid var(--line);background:#fbfcf9;border-radius:24px;width:min(430px,100%);padding:38px;box-shadow:0 25px 70px #16332816}.brand-mark{background:var(--green);color:#f2ae42;border-radius:15px;place-items:center;width:52px;height:52px;margin-bottom:28px;display:grid}.login h1{letter-spacing:-.04em;margin:0;font-size:38px}.muted{color:#74827b}.login form{gap:13px;margin-top:28px;display:grid}.login label{gap:7px;font-weight:600;display:grid}.login input{border:1px solid #ccd6ce;border-radius:11px;padding:13px}.mobile-head{display:none}.mobile-head-actions{gap:8px;display:flex}@media (width<=900px){.shell{display:block}.shell>aside{display:none}.content{padding:20px}.mobile-head{justify-content:space-between;align-items:center;margin-bottom:34px;display:flex}.mobile-head button{background:var(--green);color:#fff;border:0;border-radius:10px;padding:10px}.solar-card{grid-template-columns:1fr auto}.solar-stats{grid-column:1/-1;justify-self:start;margin-top:20px}.kpis{grid-template-columns:repeat(2,1fr)}.meter-grid,.extras{grid-template-columns:1fr}}@media (width<=560px){.section-head{align-items:flex-start}.date-chip{display:none}.solar-card{padding:24px}.solar-card strong{font-size:38px}.sun{width:48px}.solar-stats{gap:24px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpis article,.meter-form{padding:15px}.meter-input{grid-template-columns:auto 1fr}.meter-input input{grid-column:1/-1}.section-head h1,.entry h1{font-size:34px}}.chart-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.chart-tabs{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.chart-tabs button{border:1px solid var(--line);color:#5c7066;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:5px;padding:8px 10px;font-size:12px;display:inline-flex}.chart-tabs button.active{background:var(--green);color:#fff;border-color:#2d7455}@media (width<=720px){.chart-heading{display:grid}.chart-tabs{justify-content:flex-start}}.year-select{color:#61756a;gap:6px;font-size:12px;font-weight:700;display:grid}.year-select select,.login select{background:#fff;border:1px solid #ccd6ce;border-radius:11px;padding:11px}.bill-summary{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.bill-summary article,.billing-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px}.bill-summary span{color:#6d8076;margin-bottom:8px;font-size:12px;display:block}.bill-summary b{font-size:22px}.bill-summary .due{background:#fffaf1;border-color:#d9b283}.bill-summary .credit{background:#f2fbf4;border-color:#9ac8ab}.pdf-button{background:var(--green);color:#fff;border-radius:11px;margin-bottom:20px;padding:13px 18px;font-weight:700;text-decoration:none;display:inline-block}.billing-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.billing-card h2{margin:0;font-size:20px}.billing-card>p,.billing-note{color:#74837b;font-size:13px;line-height:1.5}.compact-form{grid-template-columns:1fr 1fr;gap:9px;margin:16px 0;display:grid}.compact-form input{border:1px solid #ced8d0;border-radius:9px;min-width:0;padding:10px}.compact-form button{color:#fff;cursor:pointer;background:#285c48;border:0;border-radius:9px;grid-column:1/-1;padding:10px;font-weight:700}.data-list{gap:8px;display:grid}.data-list>div{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding-top:9px;font-size:12px;display:grid}.data-list span{color:#687b71}.data-list button{color:#a4493d;cursor:pointer;background:0 0;border:0;font-size:11px}.billing-note{max-width:850px;margin-top:20px}@media (width<=900px){.billing-grid{grid-template-columns:1fr}.bill-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.bill-summary{grid-template-columns:1fr 1fr}.billing .section-head{gap:12px}.data-list>div{grid-template-columns:1fr auto}.data-list span{grid-area:2/1/auto/-1}.compact-form{grid-template-columns:1fr}}.reading-list{gap:9px;max-width:850px;display:grid}.reading-list article{border:1px solid var(--line);background:var(--paper);border-radius:13px;justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;display:flex}.reading-list article>div{gap:4px;display:grid}.reading-list span{color:#718178;font-size:13px}.reading-list button{color:#285c48;cursor:pointer;background:#fff;border:1px solid #aac4b5;border-radius:9px;padding:8px 11px;font-weight:700}.dialog-backdrop{z-index:10;background:#09211988;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.edit-dialog{background:var(--paper);border-radius:20px;gap:15px;width:min(760px,100%);max-height:90vh;padding:24px;display:grid;overflow:auto}.dialog-head{justify-content:space-between;align-items:flex-start;display:flex}.dialog-head h2{margin:0}.dialog-head button{cursor:pointer;background:0 0;border:0;font-size:30px;line-height:1}.edit-dialog label{gap:5px;font-weight:700;display:grid}.edit-dialog small{color:#718178;font-size:11px}.edit-dialog input,.edit-dialog textarea{font:inherit;border:1px solid #ced8d0;border-radius:9px;padding:10px}.edit-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=560px){.edit-grid{grid-template-columns:1fr}.reading-list article{flex-direction:column;align-items:flex-start}}.meter-description{display:grid}.meter-input>input{grid-column:3}.meter-photo{color:#486157;cursor:pointer;border:1px dashed #9cad9f;border-radius:9px;grid-column:2/-1;align-items:center;gap:7px;padding:9px 10px;font-size:12px;font-weight:600;display:flex;position:relative}.meter-photo input{opacity:0;cursor:pointer;position:absolute;inset:0}.extras .note{grid-column:1/-1}.reading-actions{flex-wrap:wrap;gap:8px;display:flex}.reading-actions button{align-items:center;gap:5px;display:inline-flex}.photo-dialog{background:var(--paper);border-radius:20px;width:min(920px,100%);max-height:90vh;padding:24px;overflow:auto}.photo-gallery{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.photo-gallery figure{border:1px solid var(--line);background:#fff;border-radius:12px;margin:0;overflow:hidden}.photo-gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-gallery figcaption{color:#385247;padding:9px 11px;font-size:13px;font-weight:700}@media (width<=560px){.meter-input{grid-template-columns:auto 1fr}.meter-photo,.meter-input>input{grid-column:1/-1}.photo-gallery{grid-template-columns:1fr}.meter-photo{padding:12px}.reading-actions{width:100%}}.login-layout{gap:18px;width:min(780px,100%);display:grid}.login-layout .login-card{justify-self:center}.public-live{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#102f2688;border:1px solid #ffffff35;border-radius:22px;padding:23px 26px;box-shadow:0 20px 50px #06231938}.energy-blue .public-live{background:#102f4788}.public-live-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.public-live h2{letter-spacing:-.03em;margin:0;font-size:24px}.supply-status{text-align:right;background:#ffffff1c;border:1px solid #fff3;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.public-live-stats{grid-template-columns:repeat(5,1fr);gap:10px;margin-top:19px;display:grid}.public-live-stats span{color:#d3e6dc;gap:3px;font-size:11px;display:grid}.public-live-stats svg{color:#f3ae3e}.public-live-stats b{color:#fff;white-space:nowrap;font-size:17px}.battery-flow{color:#e3f2ea;align-items:center;gap:7px;margin:18px 0 0;font-size:13px;font-weight:600;display:flex}.battery-flow svg{color:#f3ae3e}@media (width<=560px){.login{padding:14px}.login-layout{gap:12px}.public-live{padding:18px}.public-live-head{gap:10px;display:grid}.supply-status{text-align:left;justify-self:start}.public-live-stats{grid-template-columns:repeat(2,1fr);gap:13px}.login-card{padding:28px}.login h1{font-size:34px}}:root{--green:#123b3d;--mint:#d8ecea}.shell>aside{background:#0e2e35}.shell nav button.active{background:#1e4d55}.solar-card{background:linear-gradient(125deg,#205f62,#12383d);box-shadow:0 16px 40px #12383d30}.mini-icon{color:#28747b;background:#d8ecea}.chart-tabs button.active{background:#123b3d;border-color:#28757b}.compact-form button{background:#205f62}.login{background:radial-gradient(circle at 20% 10%,#dcefed,#0000 30%),#f0f6f5}.login.energy-green{background:radial-gradient(circle at 18% 12%,#498d87,#0000 33%),linear-gradient(135deg,#205f62,#12383d)}.login.energy-blue{background:radial-gradient(circle at 18% 12%,#4e90b3,#0000 33%),linear-gradient(135deg,#235877,#12334c)}.login-layout{grid-template-columns:minmax(0,1fr) 290px;align-items:center;gap:24px;width:min(1120px,100%)}.public-live{background:#0d3a3c88;flex-direction:column;justify-content:center;min-height:250px;display:flex;box-shadow:0 20px 50px #08323638}.public-live h2{font-size:32px}.public-live-stats{margin-top:30px}.public-live-stats b{font-size:22px}.login-layout .login-card{width:100%;padding:22px 24px;box-shadow:0 13px 34px #12383d1b}.login-layout .login-card .brand-mark{border-radius:11px;width:36px;height:36px;margin-bottom:14px}.login-layout .login-card .brand-mark svg{width:20px}.login-layout .login-card .eyebrow{margin-bottom:7px;font-size:9px}.login-layout .login-card h1{font-size:24px}.login-layout .login-card .muted{margin:7px 0;font-size:12px}.login-layout .login-card form{gap:8px;margin-top:15px}.login-layout .login-card label{font-size:13px}.login-layout .login-card input,.login-layout .login-card select{padding:8px}.login-layout .login-card button{padding:10px}.visit-count{font-size:12px;color:#5f7b7c!important;margin-top:9px!important}@media (width<=720px){.login-layout{grid-template-columns:1fr;width:min(780px,100%)}.public-live{min-height:0}.public-live h2{font-size:24px}.public-live-stats b{font-size:17px}.login-layout .login-card{width:min(360px,100%);padding:27px 30px}.login-layout .login-card .brand-mark{width:42px;height:42px;margin-bottom:20px}.login-layout .login-card .brand-mark svg{width:28px}.login-layout .login-card h1{font-size:30px}.login-layout .login-card .muted{font-size:14px}.login-layout .login-card form{gap:10px;margin-top:20px}.login-layout .login-card label{font-size:16px}.login-layout .login-card input,.login-layout .login-card select{padding:10px}.login-layout .login-card button{padding:14px}}.public-actions{z-index:3;align-items:center;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.public-login{color:#fff;cursor:pointer;background:#0e2e35;border:1px solid #ffffff38;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:inline-flex;box-shadow:0 10px 28px #071d2240}.public-actions .install-app{background:#0e2e35;border:0;box-shadow:0 10px 28px #071d2240}.public-login-dialog{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09232e99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.public-login-dialog .login-card{background:#fbfcf9;width:min(390px,100%);padding:34px;position:relative}.close-login{color:#44615f;cursor:pointer;background:0 0;border:0;padding:6px;position:absolute;top:15px;right:15px}.public-login-dialog .login-card form{gap:13px;margin-top:28px;display:grid}.public-login-dialog .login-card label{gap:7px;font-weight:600;display:grid}.public-login-dialog .login-card input,.public-login-dialog .login-card select{background:#fff;border:1px solid #ccd6ce;border-radius:11px;padding:12px}.public-login-dialog .login-card .brand-mark{margin-bottom:23px}@media (width<=560px){.public-actions{bottom:12px;right:12px}.public-login-dialog{padding:14px}.public-login-dialog .login-card{padding:28px}.public-login-dialog .login-card h1{font-size:32px}}.login-layout{grid-template-columns:minmax(0,1fr);width:min(900px,100%)}.install-app{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff38;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:flex}.shell>aside>.install-app{margin-top:auto}.shell>aside>.install-app+.logout{margin-top:8px}.login~.install-app{z-index:2;background:#0e2e35;border:0;position:fixed;bottom:18px;right:18px;box-shadow:0 10px 28px #071d2240}.mobile-head .install-app{gap:0;width:auto;padding:10px;font-size:0}.mobile-head .install-app svg{width:18px}@media (display-mode:standalone){.install-app{display:none}}
