:root{color:#172033;background:#f4f6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,.button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:.75rem;align-items:center;gap:.4rem;padding:.7rem 1rem;font-weight:650;text-decoration:none;display:inline-flex}button.small{padding:.45rem .7rem}button.active,.side-nav button.active{background:#0d9488}button.danger{background:#b91c1c}button:disabled{opacity:.6;cursor:wait}input,select{background:#fff;border:1px solid #d5dbea;border-radius:.75rem;width:100%;margin-top:.35rem;padding:.72rem .85rem;display:block}label{color:#34405a;font-size:.92rem;font-weight:650}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e7ebf5;padding:.7rem .6rem}th{color:#5c6680;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}code{background:#edf1f8;border-radius:.3rem;padding:.1rem .25rem}.login-page{place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{background:#fff;border-radius:1.5rem;gap:1rem;width:min(420px,100%);padding:2rem;display:grid;box-shadow:0 20px 80px #1720331f}.brand{color:#0d9488;align-items:center;gap:.55rem;font-size:1.08rem;font-weight:850;display:flex}.hint{color:#68728a;font-size:.9rem}.error,.info{border-radius:.9rem;padding:.85rem 1rem}.error{color:#991b1b;background:#fee2e2}.info{color:#075e54;background:#dff7ef}.app-shell{grid-template-columns:280px 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell.menu-closed{grid-template-columns:0 1fr}.side-nav{color:#fff;background:#111827;flex-direction:column;gap:.65rem;min-width:0;padding:1.3rem;transition:padding .18s,opacity .18s;display:flex;overflow:hidden}.app-shell.menu-closed .side-nav{opacity:0;pointer-events:none;padding-left:0;padding-right:0}.side-nav .brand{color:#fff;margin-bottom:.25rem}.side-nav button{color:#d1d5db;white-space:nowrap;background:0 0;justify-content:flex-start}.side-nav button:hover{background:#ffffff14}.side-head{justify-content:space-between;align-items:flex-start;gap:.75rem;min-width:240px;margin-bottom:1rem;display:flex}.icon-button{border-radius:.8rem;flex:none;justify-content:center;width:2.7rem;height:2.7rem;padding:0}.menu-toggle{color:#172033;z-index:40;background:#fff;border:1px solid #d5dbea;position:relative;box-shadow:0 6px 24px #17203314}.menu-toggle:hover{background:#f8fafc}.menu-backdrop{display:none}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.header-title{align-items:center;gap:.9rem;min-width:0;display:flex}.content{padding:2rem;overflow:auto}header{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}header h1{margin:0;font-size:2rem}header p{color:#68728a;margin:.2rem 0 0}.grid{display:grid}.gap{gap:1rem}.gap-small{gap:.45rem}.row{align-items:center;display:flex}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.metric,.panel{background:#fff;border-radius:1.25rem;padding:1.2rem;overflow:hidden;box-shadow:0 8px 30px #1720330f}.metric p{color:#65708a;margin:0}.metric strong{margin:.4rem 0;font-size:1.7rem;display:block}.metric small{color:#7a849a}.daily-balance-metric{grid-column:span 1}.daily-balance-list{grid-template-columns:1fr;gap:.45rem;margin-top:.7rem;display:grid}.daily-balance-list div{justify-content:space-between;align-items:baseline;gap:.9rem;min-width:0;padding:.15rem 0;display:flex}.daily-balance-list span{color:#65708a;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:750;overflow:hidden}.daily-balance-list strong{white-space:nowrap;margin:0;font-size:1.08rem}.daily-balance-total-row{border-bottom:1px solid #e8edf5;margin-bottom:.1rem;padding-bottom:.45rem!important}.daily-balance-total-row span,.daily-balance-total-row strong{color:#172033}.daily-balance-total-row strong{font-size:1.18rem}.panel h2{margin:0 0 1rem}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.panel-head h2{margin:0}.tall{min-height:540px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.check{align-items:center;gap:.5rem;display:flex}.check input{width:auto;margin:0}.badge{color:#374151;background:#e5e7eb;border-radius:999px;padding:.18rem .55rem;font-size:.78rem;font-weight:750;display:inline-block}.badge.ok{color:#166534;background:#dcfce7}.actions{gap:.45rem;display:flex}.actions button{padding:.45rem .65rem}.error-cell{color:#991b1b;max-width:300px}.account{max-width:620px}.twofa-box{justify-items:start;gap:1rem;margin-top:1rem;display:grid}@media (width<=980px){.app-shell,.app-shell.menu-open,.app-shell.menu-closed{grid-template-columns:1fr}.side-nav{z-index:30;width:min(84vw,320px);position:fixed;inset:0 auto 0 0;transform:translate(0);box-shadow:20px 0 70px #11182747}.app-shell.menu-closed .side-nav{display:none}.menu-backdrop{z-index:20;background:#0f172a5c;border-radius:0;padding:0;display:block;position:fixed;inset:0}.cards,.form-grid{grid-template-columns:1fr}.daily-balance-metric{grid-column:span 1}.content{padding:.85rem}header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f6fbeb;align-items:flex-start;margin:-.85rem -.85rem 1rem;padding:.85rem;position:sticky;top:0}header h1{font-size:1.45rem}.header-title{align-items:flex-start}.panel,.metric{border-radius:1rem;padding:1rem}.panel-head{flex-direction:column;align-items:flex-start}table{min-width:760px}.tall{min-height:390px}.actions,.button-row{width:100%}.actions button,.button-row button{flex:auto;justify-content:center}}@media (width>=981px) and (width<=1280px){.cards,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.login-page{padding:1rem}.login-card{border-radius:1rem;padding:1.25rem}.metric strong{font-size:1.35rem}.brand-subtitle{font-size:.78rem}button,.button{padding:.65rem .85rem}}.credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0;display:grid}.credential-card{border:1px solid #e7ebf5;border-radius:1rem;gap:.85rem;padding:1rem;display:grid}.credential-card h3{margin:0}.credential-card small{color:#68728a}.compact-table{margin-top:1rem}.panel-head h2{align-items:center;gap:.5rem;display:flex}@media (width<=980px){.credentials-grid{grid-template-columns:1fr}}.recovery-box{background:#f8fafc;border:1px solid #d5dbea;border-radius:1rem;margin-top:1rem;padding:1rem}.recovery-box ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.recovery-box code{letter-spacing:.04em;font-weight:800}@media (width<=980px){.recovery-box ul{grid-template-columns:1fr}}.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.finance-summary .metric{box-shadow:none;border:1px solid #e7ebf5}.finance-form{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=980px){.finance-summary,.finance-form{grid-template-columns:1fr}}.brand-subtitle{color:#68728a;margin-top:.25rem;font-size:.85rem;font-weight:650}.brand-subtitle.dark{color:#9ca3af;margin:.15rem 0 0 .25rem}.edit-row input,.edit-row select{min-width:130px}.edit-actions{flex-direction:column;min-width:260px}.edit-actions label{width:100%}.edit-actions small{color:#68728a}.check.compact{font-size:.82rem;font-weight:650}.button-row{flex-wrap:wrap;gap:.45rem;display:flex}button.secondary{color:#172033;background:#e5e7eb}@media (width<=980px){.edit-actions{min-width:0}}.grid-share-panel{overflow:visible}.grid-share-content{grid-template-columns:260px 1fr;align-items:center;gap:1.4rem;display:grid}.share-gauge{--grid-share:50%;aspect-ratio:1;background:conic-gradient(#2563eb 0 var(--grid-share), #0d9488 var(--grid-share) 100%);border-radius:50%;place-items:center;width:min(240px,100%);margin:0 auto;display:grid;box-shadow:inset 0 0 0 1px #17203314,0 12px 34px #1720331a}.share-gauge-inner{aspect-ratio:1;text-align:center;background:#fff;border-radius:50%;align-content:center;place-items:center;width:64%;padding:1rem;display:grid}.share-gauge-inner strong{color:#0d9488;font-size:2rem;line-height:1}.share-gauge-inner span{color:#65708a;margin-top:.35rem;font-weight:750}.share-gauge-details{gap:.85rem;display:grid}.share-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.share-legend-item{background:#f8fafc;border:1px solid #e7ebf5;border-radius:1rem;align-items:flex-start;gap:.75rem;padding:.9rem;display:flex}.share-legend-item>span{border-radius:50%;flex:none;width:.9rem;height:.9rem;margin-top:.18rem}.share-legend-item.grid-import>span{background:#2563eb}.share-legend-item.solar>span{background:#0d9488}.share-legend-item strong{color:#172033;display:block}.share-legend-item small{color:#65708a}.share-total{color:#34405a;font-size:.95rem}.compact-info{padding:.65rem .8rem}@media (width<=980px){.grid-share-content{grid-template-columns:1fr}.share-gauge{width:min(220px,72vw)}.share-legend{grid-template-columns:1fr}}@media (width<=560px){.share-gauge-inner strong{font-size:1.55rem}}.metric-grid-power{overflow:visible}.grid-power-top{justify-content:space-between;align-items:center;gap:.9rem;display:flex}.share-gauge-mini{width:92px;min-width:92px;box-shadow:inset 0 0 0 1px #17203314,0 6px 18px #17203314}.share-gauge-mini .share-gauge-inner{width:68%;padding:.35rem}.share-gauge-mini .share-gauge-inner strong{margin:0;font-size:.95rem}.share-gauge-mini .share-gauge-inner span{margin-top:.15rem;font-size:.62rem}.mini-share-row{color:#65708a;flex-wrap:wrap;gap:.35rem .65rem;margin-top:.55rem;font-size:.78rem;font-weight:700;line-height:1.25;display:flex}.mini-share-item{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.mini-share-item i{border-radius:50%;width:.55rem;height:.55rem;display:inline-block}.mini-share-item.grid-import i{background:#2563eb}.mini-share-item.solar i{background:#0d9488}@media (width<=560px){.grid-power-top{align-items:flex-start}.share-gauge-mini{width:82px;min-width:82px}.mini-share-row{font-size:.74rem}}.grid-power-values{flex:1;min-width:0}.grid-power-value-list{grid-template-columns:max-content max-content;align-items:baseline;gap:.28rem .42rem;margin-top:.48rem;display:grid}.grid-power-value-row{color:#65708a;font-size:.98rem;font-weight:750;display:contents}.grid-power-value-row span{color:#65708a;white-space:nowrap;font-size:.98rem;font-weight:750}.grid-power-value-row span:after{content:":"}.grid-power-value-row strong{color:#111827;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.98rem;font-weight:800}.grid-power-value-row.solar strong{color:#0d9488}.amortization-metric{grid-column:span 1}.progress-line{background:#e7ebf5;border-radius:999px;width:100%;height:.65rem;margin:.8rem 0 .35rem;overflow:hidden}.progress-line span{border-radius:inherit;background:#0d9488;min-width:.25rem;height:100%;display:block}@media (width<=560px){.grid-power-value-row,.grid-power-value-row span,.grid-power-value-row strong{font-size:.9rem}}.header-brand{gap:.1rem;min-width:220px;display:grid}.header-brand .brand{font-size:1.05rem}.header-meta{border-left:1px solid #d5dbea;min-width:0;padding-left:.85rem}.side-nav{padding-top:1.6rem}.side-head{display:none}@media (width<=980px){.header-title{flex-wrap:wrap;align-items:center;gap:.75rem}.header-brand{flex:180px;min-width:0}.header-meta{border-left:0;flex-basis:100%;margin-left:3.45rem;padding-left:0}}@media (width<=560px){.header-brand .brand{font-size:.98rem}.header-brand .brand-subtitle{font-size:.72rem;line-height:1.2}.header-meta{margin-left:0}}header{gap:1rem}.header-title{flex:auto}.header-brand{text-align:right;justify-items:end;margin-left:auto}.header-brand .brand{justify-content:flex-end}.header-meta{border-left:0;padding-left:0}@media (width<=980px){header{align-items:center}.header-title{flex-wrap:nowrap;flex:auto;min-width:0}.header-brand{flex:0 auto;min-width:0;max-width:45vw}.header-meta{flex-basis:auto;margin-left:0}}@media (width<=560px){.header-brand{max-width:42vw}.header-brand .brand{white-space:nowrap}.header-brand .brand-subtitle{display:none}}.login-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.header-actions{justify-content:flex-end;align-items:center;gap:.75rem;min-width:0;margin-left:auto;display:flex}.theme-toggle{color:#172033;background:#fff;border:1px solid #d5dbea;box-shadow:0 6px 24px #17203314}.theme-toggle:hover{background:#f8fafc}html[data-theme=dark]{color:#e5e7eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b1120}html[data-theme=dark] body{color:#e5e7eb;background:#0b1120}html[data-theme=dark] .login-page,html[data-theme=dark] .content{background:#0b1120}html[data-theme=dark] .login-card,html[data-theme=dark] .metric,html[data-theme=dark] .panel,html[data-theme=dark] .credential-card,html[data-theme=dark] .recovery-box,html[data-theme=dark] .share-gauge-inner,html[data-theme=dark] .share-legend-item,html[data-theme=dark] .finance-summary .metric{color:#e5e7eb;background:#111827;border-color:#253149;box-shadow:0 10px 34px #00000052}html[data-theme=dark] input,html[data-theme=dark] select{color:#e5e7eb;background:#0f172a;border-color:#334155}html[data-theme=dark] input::placeholder{color:#94a3b8}html[data-theme=dark] label,html[data-theme=dark] header h1,html[data-theme=dark] .share-legend-item strong,html[data-theme=dark] .daily-balance-list strong,html[data-theme=dark] .grid-power-value-row strong{color:#e5e7eb}html[data-theme=dark] .daily-balance-total-row{border-bottom-color:#334155}html[data-theme=dark] .daily-balance-total-row span,html[data-theme=dark] .daily-balance-total-row strong{color:#f8fafc}html[data-theme=dark] header p,html[data-theme=dark] .hint,html[data-theme=dark] .metric p,html[data-theme=dark] .metric small,html[data-theme=dark] .daily-balance-list span,html[data-theme=dark] .brand-subtitle,html[data-theme=dark] .share-legend-item small,html[data-theme=dark] .share-total,html[data-theme=dark] .mini-share-row,html[data-theme=dark] .grid-power-value-row,html[data-theme=dark] .edit-actions small,html[data-theme=dark] .credential-card small{color:#94a3b8}html[data-theme=dark] th{color:#a5b4fc}html[data-theme=dark] th,html[data-theme=dark] td,html[data-theme=dark] .credential-card,html[data-theme=dark] .recovery-box,html[data-theme=dark] .progress-line,html[data-theme=dark] .share-legend-item{border-color:#253149}html[data-theme=dark] code{color:#c4b5fd;background:#0f172a}html[data-theme=dark] .menu-toggle,html[data-theme=dark] .theme-toggle{color:#e5e7eb;background:#111827;border-color:#334155;box-shadow:0 6px 24px #00000052}html[data-theme=dark] .menu-toggle:hover,html[data-theme=dark] .theme-toggle:hover{background:#1f2937}html[data-theme=dark] .badge{color:#cbd5e1;background:#253149}html[data-theme=dark] .badge.ok{color:#bbf7d0;background:#064e3b}html[data-theme=dark] .error{color:#fecaca;background:#451a1a}html[data-theme=dark] .info{color:#99f6e4;background:#052e2b}html[data-theme=dark] .progress-line{background:#253149}html[data-theme=dark] .side-nav{background:#020617}html[data-theme=dark] .app-shell{background:#0b1120}@media (width<=980px){html[data-theme=dark] header{background:#0b1120eb}.header-actions{gap:.55rem}}@media (width<=560px){.header-actions{gap:.45rem}.theme-toggle{width:2.45rem;height:2.45rem}}.dashboard-device-measurements{min-width:0}.compact-dashboard-table{font-size:.88rem}.compact-dashboard-table th,.compact-dashboard-table td{padding:.58rem .5rem}.compact-table-wrap{overflow-x:auto}@media (width<=980px){.compact-dashboard-table{min-width:0}}@media (width<=560px){.compact-dashboard-table{font-size:.8rem}.compact-dashboard-table th,.compact-dashboard-table td{padding:.48rem .38rem}}.app-shell,.app-shell.menu-open,.app-shell.menu-closed{grid-template-columns:1fr!important}.content{width:100%;min-width:0}.side-nav{opacity:0;pointer-events:none;transform:translate(-105%);z-index:35!important;width:min(82vw,300px)!important;padding:1.3rem!important;transition:transform .18s,opacity .18s!important;position:fixed!important;inset:0 auto 0 0!important;box-shadow:20px 0 70px #11182747!important}.app-shell.menu-open .side-nav{opacity:1;pointer-events:auto;transform:translate(0);display:flex!important}.app-shell.menu-closed .side-nav{opacity:0;pointer-events:none;transform:translate(-105%);padding:1.3rem!important;display:flex!important}.menu-backdrop{z-index:25;background:#0f172a5c;border-radius:0;padding:0;position:fixed;inset:0;display:block!important}.app-shell.menu-open .menu-toggle{visibility:hidden;pointer-events:none}.air-header-widget{color:#34405a;background:#fff;border:1px solid #d5dbea;border-radius:.85rem;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;max-width:min(620px,46vw);padding:.55rem .75rem;font-size:.9rem;font-weight:800;display:flex;box-shadow:0 6px 24px #1720330f}.air-header-widget.offline{opacity:.64}.air-header-item{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}html[data-theme=dark] .air-header-widget{color:#e5e7eb;background:#111827;border-color:#334155;box-shadow:0 6px 24px #00000052}@media (width<=1180px){.air-header-widget{max-width:42vw;font-size:.82rem}}@media (width<=980px){.air-header-widget{flex-basis:100%;order:3;justify-content:flex-end;max-width:100%}}@media (width<=560px){.air-header-widget{justify-content:flex-start;padding:.45rem .55rem;font-size:.78rem}.air-header-item{white-space:normal}}@media (width<=720px){header{grid-template-columns:auto 1fr auto;grid-template-areas:"menu title theme""air air air";align-items:center;gap:.65rem .7rem;padding:.75rem .85rem;display:grid}.header-title{display:contents}.menu-toggle{grid-area:menu}.header-meta{border:0;grid-area:title;min-width:0;margin:0;padding:0}.header-meta h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.55rem;line-height:1.05;overflow:hidden}.header-meta p{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;line-height:1.2;overflow:hidden}.header-actions{margin-left:0;display:contents}.theme-toggle{grid-area:theme;justify-self:end}.header-brand{display:none}.air-header-widget{border-radius:.95rem;grid-area:air;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:space-between;gap:.45rem .75rem;width:100%;max-width:none;padding:.65rem .75rem;font-size:.88rem;display:grid}.air-header-item{white-space:nowrap;min-width:0}}@media (width<=390px){.air-header-widget{gap:.4rem .55rem;padding:.55rem .65rem;font-size:.82rem}.air-header-item svg{width:15px;height:15px}.header-meta h1{font-size:1.38rem}}.kindle-settings-panel{border:1px solid #0d948847}.button-row .secondary,button.secondary{color:#172033;background:#e7ebf5}.kindle-preview{justify-items:start;gap:.65rem;margin-top:1rem;display:grid}.kindle-preview img{aspect-ratio:3/4;background:#fff;border:1px solid #d5dbea;border-radius:1rem;width:min(100%,300px);box-shadow:0 8px 30px #17203314}.api-preview{margin-top:1rem}.api-preview pre{color:#e5e7eb;background:#0f172a;border-radius:1rem;max-height:420px;padding:1rem;font-size:.82rem;line-height:1.45;overflow:auto}html[data-theme=dark] button.secondary{color:#e5e7eb;background:#253149}html[data-theme=dark] .kindle-preview img{background:#f8fafc;border-color:#334155}.github-repository-panel .button{width:fit-content}.strong-hint{font-weight:800}.actions-cell{flex-wrap:wrap;gap:.45rem;display:flex}button.danger{color:#fff;background:#dc2626}html[data-theme=dark] button.danger{color:#fff;background:#991b1b}.simulation-banner{color:#172033;letter-spacing:.01em;text-align:center;background:linear-gradient(135deg,#0d94882e,#f59e0b2e);border:1px solid #0d948852;border-radius:1rem;margin:-.2rem 0 1rem;padding:.75rem 1rem;font-weight:900;box-shadow:0 10px 30px #17203314}.danger-panel{border:1px solid #dc262647}html[data-theme=dark] .simulation-banner{color:#e5e7eb;background:linear-gradient(135deg,#14b8a638,#f59e0b2e);border-color:#14b8a661}.language-switch{min-width:2.75rem;height:2.35rem;color:var(--text);letter-spacing:.03em;cursor:pointer;background:#ffffffc7;border:1px solid #64748b47;border-radius:999px;padding:0 .65rem;font-weight:900;box-shadow:0 8px 22px #0f172a14}.language-switch:hover{border-color:#0d948880;transform:translateY(-1px)}html[data-theme=dark] .language-switch{color:#e5e7eb;background:#0f172ab8;border-color:#94a3b83d}.metric .home-import-value.negative,html[data-theme=dark] .metric .home-import-value.negative{color:#dc2626!important}.metric .home-import-value.zero,html[data-theme=dark] .metric .home-import-value.zero{color:#16a34a!important}.metric .home-import-value.positive,html[data-theme=dark] .metric .home-import-value.positive{color:#2563eb!important}.public-dashboard-page{background:var(--bg);min-height:100vh;color:var(--text);padding:1.25rem}.public-dashboard-header{justify-content:space-between;align-items:center;gap:1rem;max-width:1180px;margin:0 auto 1rem;display:flex}.public-dashboard-header h1{margin:0;font-size:clamp(1.35rem,3vw,2.1rem)}.public-dashboard-header p{color:var(--muted);margin:.15rem 0 0;font-weight:800}.public-dashboard-content{max-width:1180px;margin:0 auto}.public-air-sensor{max-width:1180px}.public-air-sensor.offline{opacity:.72}.public-air-grid{flex-wrap:wrap;align-items:center;gap:.7rem 1rem;font-weight:850;display:flex}.public-air-grid span{white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.app-version,.side-nav-version{color:var(--muted);letter-spacing:.03em;font-size:.76rem;font-weight:850}.side-nav-version{opacity:.72;margin-top:auto;padding:.9rem .65rem .15rem}.achievement-header-widget{cursor:help;background:linear-gradient(135deg,#facc1538,#22c55e29);border:1px solid #eab30857;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:.35rem;display:inline-flex;box-shadow:0 8px 24px #0f172a17}html[data-theme=dark] .achievement-header-widget{background:linear-gradient(135deg,#eab30833,#22c55e24);border-color:#facc1547}@media (width<=980px){.achievement-header-widget{order:4}}.achievement-header-widget img{border-radius:999px;flex:none;width:2rem;height:2rem}@media (width<=560px){.achievement-header-widget{width:2.4rem;height:2.4rem}.achievement-header-widget img{width:1.65rem;height:1.65rem}}.help-panel{max-width:1120px;margin:0 auto}.help-document{color:#263149;gap:.75rem;line-height:1.62;display:grid}.help-document h2,.help-document h3,.help-document h4,.help-document h5{color:#172033;margin:1.1rem 0 .15rem;line-height:1.25}.help-document h2{border-bottom:1px solid #e7ebf5;padding-bottom:.45rem;font-size:1.65rem}.help-document h3{font-size:1.28rem}.help-document h4,.help-document h5{font-size:1.08rem}.help-document p{margin:0}.help-document ul,.help-document ol{margin:0;padding-left:1.35rem}.help-document li{margin:.2rem 0}.help-document pre{color:#e5e7eb;background:#111827;border-radius:.9rem;margin:0;padding:1rem;overflow-x:auto}.help-document pre code{color:inherit;background:0 0;padding:0}.help-document code{font-size:.9em}.help-document a{color:#0d9488;font-weight:750}.help-document figure{margin:.5rem 0 1rem}.help-document figure img{background:#fff;border:1px solid #e7ebf5;border-radius:1rem;max-width:100%;height:auto;display:block;box-shadow:0 8px 30px #1720330f}.help-document blockquote{background:#f0fdfa;border-left:4px solid #0d9488;border-radius:.75rem;margin:0;padding:.8rem 1rem}.help-document hr{border:0;border-top:1px solid #e7ebf5;width:100%;margin:.75rem 0}.help-document .table-wrap{margin:.25rem 0 .75rem}.help-document table{min-width:0}html[data-theme=dark] .help-document{color:#dbe4f0}html[data-theme=dark] .help-document h2,html[data-theme=dark] .help-document h3,html[data-theme=dark] .help-document h4,html[data-theme=dark] .help-document h5{color:#f8fafc}html[data-theme=dark] .help-document h2,html[data-theme=dark] .help-document hr,html[data-theme=dark] .help-document figure img{border-color:#334155}html[data-theme=dark] .help-document a{color:#5eead4}html[data-theme=dark] .help-document blockquote{color:#d1fae5;background:#0f2f2e;border-left-color:#2dd4bf}html[data-theme=dark] .help-document figure img{background:#f8fafc;box-shadow:0 8px 30px #00000052}html[data-theme=dark] .help-document .table-wrap{border-color:#253149}html[data-theme=dark] .help-document table,html[data-theme=dark] .help-document td,html[data-theme=dark] .help-document th{color:#dbe4f0}.battery-analysis{border-top:1px solid #e8edf5;margin-top:1.35rem;padding-top:1.2rem}.battery-analysis>p{margin-bottom:.55rem}.battery-analysis-status{margin-bottom:.75rem;display:block}.battery-analysis-toggle{color:#047857;width:auto;font:inherit;text-align:left;cursor:pointer;text-underline-offset:.18em;background:0 0;border:0;padding:0;font-size:.82rem;font-weight:800;text-decoration:underline}.battery-analysis-toggle:hover,.battery-analysis-toggle:focus-visible{color:#065f46}.embedded-copy-box{background:#f8fafc;border:1px solid #d5dbea;border-radius:.95rem;margin-top:.8rem;padding:.85rem}.embedded-copy-head{color:#172033;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;font-size:.82rem;font-weight:800;display:flex}.embedded-copy-head button{width:auto;padding:.35rem .55rem;font-size:.75rem}.battery-detail-box .daily-balance-list{margin-top:0}.battery-detail-box small{margin-top:.65rem;line-height:1.35;display:block}html[data-theme=dark] .battery-analysis{border-top-color:#334155}html[data-theme=dark] .embedded-copy-box{background:#0f172a;border-color:#334155}html[data-theme=dark] .battery-analysis-toggle{color:#6ee7b7}html[data-theme=dark] .battery-analysis-toggle:hover,html[data-theme=dark] .battery-analysis-toggle:focus-visible{color:#a7f3d0}html[data-theme=dark] .embedded-copy-head{color:#e5e7eb}.public-meter-shell{place-items:center;padding:.5rem 0 .25rem;display:grid}.public-meter{width:min(520px,100%);box-shadow:none;color:#1f2933;background:#d9dee3;border:1px solid #1f293724;border-radius:24px;padding:1.6rem}.public-meter-brand-row{letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.86rem;font-weight:900;display:flex}.public-meter-brand{align-items:center;gap:.55rem;display:inline-flex}.public-meter-logo{background:#ffffff6b;border-radius:.55rem;width:2rem;height:2rem;box-shadow:inset 0 1px 2px #ffffffa6,0 1px 3px #00000029}.public-meter-seal{color:#4b5563;background:#ffffff47;border:1px solid #11182773;border-radius:999px;place-items:center;width:2.7rem;height:2.7rem;font-size:.76rem;display:grid}.public-meter-display{color:#182516;background:#b8c9a4;border:8px solid #2f3338;border-radius:12px;padding:1.05rem;font-family:Courier New,ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:inset 0 4px 10px #00000059,inset 0 -2px 4px #ffffff40}.public-meter-status{opacity:.85;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;font-size:.76rem;font-weight:750;display:flex}.public-meter-obis{margin-bottom:.25rem;font-size:1.2rem;font-weight:900}.public-meter-current-label{opacity:.78;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.78rem;font-weight:850}.public-meter-main-value{letter-spacing:.04em;text-align:right;text-shadow:0 1px 1px #ffffff59;white-space:nowrap;font-size:clamp(2rem,8vw,3.25rem);font-weight:900;line-height:1.05}.public-meter-unit{margin-left:.45rem;font-size:clamp(.95rem,3vw,1.35rem)}.public-meter-sub-grid{border-top:1px solid #00000047;grid-template-columns:minmax(9.5rem,1fr) minmax(0,auto);align-items:baseline;gap:.38rem .9rem;margin-top:1rem;padding-top:.75rem;font-size:.88rem;display:grid}.public-meter-label{opacity:.78;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.25;overflow:visible}.public-meter-value{text-align:right;white-space:nowrap;min-width:0;font-weight:900}.public-meter-obis-value{white-space:normal;overflow-wrap:anywhere;line-height:1.25}.public-meter-bottom-row{justify-content:space-between;align-items:center;gap:1rem;margin-top:1.1rem;display:flex}.public-meter-led-wrap{color:#333b46;align-items:center;gap:.55rem;font-size:.76rem;font-weight:850;display:flex}.public-meter-led{background:#16a34a;border-radius:999px;width:.78rem;height:.78rem;animation:1.6s infinite public-meter-pulse;box-shadow:0 0 12px #22c55ee6}.public-meter-led.importing{background:#facc15;box-shadow:0 0 12px #facc15f2}.public-meter-led.neutral{background:#16a34a;box-shadow:0 0 12px #22c55ee6}.public-meter-led.exporting{background:#dc2626;box-shadow:0 0 12px #ef4444e6}@keyframes public-meter-pulse{0%,70%,to{opacity:.35;transform:scale(.95)}10%{opacity:1;transform:scale(1)}}.public-meter-button{background:linear-gradient(#556070,#1f2937);border-radius:999px;justify-content:center;width:3.15rem;height:3.15rem;padding:0;font-size:.72rem;box-shadow:inset 0 2px 2px #ffffff40,0 3px 5px #00000057}.public-meter-serial{color:#4b5563;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1rem;margin-top:1rem;font-size:.76rem;font-weight:750;display:flex}.public-meter-barcode{opacity:.68;background:repeating-linear-gradient(90deg,#111 0 2px,#0000 2px 5px,#111 5px 6px,#0000 6px 10px);height:2.25rem;margin-top:.65rem}.public-dashboard-cards{opacity:.98}html[data-theme=dark] .public-meter{color:#e5e7eb;box-shadow:none;background:#334155;border-color:#e2e8f029}html[data-theme=dark] .public-meter-seal{color:#e5e7eb;background:#0f172a38;border-color:#e2e8f06b}html[data-theme=dark] .public-meter-led-wrap,html[data-theme=dark] .public-meter-serial{color:#d1d5db}@media (width<=640px){.public-dashboard-page{padding:.85rem}.public-meter{border-radius:18px;padding:1rem}.public-meter-display{border-width:6px;padding:.85rem}.public-meter-status,.public-meter-serial{font-size:.66rem}.public-meter-sub-grid{grid-template-columns:minmax(7.9rem,1fr) minmax(0,auto);gap:.32rem .55rem;font-size:.76rem}.public-meter-bottom-row{align-items:flex-start}}.public-dashboard-page-meter-only{background-image:none;place-items:center;min-height:100vh;display:grid}.public-dashboard-meter-only{width:100%;max-width:620px;margin:0 auto}.public-meter-brand{color:#0d9488;font-size:1.02rem}.public-meter-version{color:inherit;white-space:nowrap;font-weight:900}.public-meter-language-button{letter-spacing:.04em;text-transform:uppercase;cursor:pointer;flex:none;padding:0;font-weight:900}.public-meter-language-button:hover,.public-meter-language-button:focus-visible{color:#0d9488;border-color:#0d9488;outline:none;box-shadow:0 0 0 3px #0d94882e}html[data-theme=dark] .public-meter-brand{color:#2dd4bf}html[data-theme=dark] .public-meter-language-button:hover,html[data-theme=dark] .public-meter-language-button:focus-visible{color:#5eead4;border-color:#2dd4bf;box-shadow:0 0 0 3px #2dd4bf33}
