/* Shared kWhCheck UI. Loaded last on every public page. */
:root{--swiss:#c8322b;--swiss-dark:#a82420;--swiss-soft:#fbefec;--ink:#263c34;--body:#53645c;--muted:#66736c;--cream:#fbfaf6;--line:#d8ded4;--surface:#fff;--surface-muted:#f5f5f1;--radius-control:6px;--radius-panel:10px}
body{color:var(--ink);background:var(--cream);font-size:15px;line-height:1.6}
h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;text-wrap:balance}
button,input,select,textarea{font:inherit;font-variant-numeric:tabular-nums}
button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 17px;border-radius:var(--radius-control);font-size:14px;line-height:1.5;white-space:normal;text-decoration:none}
.primary{background:var(--swiss);border:1px solid var(--swiss);color:#fff}
.primary:hover{background:var(--swiss-dark);border-color:var(--swiss-dark);color:#fff}
.secondary{background:var(--surface);border:1px solid var(--line);color:var(--ink)}
.secondary:hover{border-color:var(--swiss);background:var(--swiss-soft);color:var(--ink)}
:is(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.6}
:is(button,a,summary,input,select,textarea):focus-visible{outline:2px solid var(--swiss);outline-offset:3px}
.text-link,.source-line-link,.source-consultation a,.lesson-sources a,.community-sources a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.text-link:hover,.source-line-link:hover,.source-consultation a:hover,.lesson-sources a:hover,.community-sources a:hover{color:var(--swiss)}
.profile-tabs,.simulator-modes{background:var(--surface-muted)}
.profile-tabs button.active,.simulator-modes button.active{background:#fff;border-color:var(--line);color:var(--swiss);box-shadow:none}
.ui-icon{display:inline-block;width:24px;height:24px;flex:none;vertical-align:middle}
.addon-icon .ui-icon{width:24px;height:24px}
.tutorial-card>.ui-icon{color:var(--swiss);width:28px;height:28px;margin-bottom:10px}
.meter-card h4 .ui-icon{width:17px;height:17px;margin-right:6px}
dialog,.billing-dialog{box-sizing:border-box;width:min(820px,calc(100% - 24px));max-height:92dvh;padding:0;border:1px solid var(--line);border-top:3px solid var(--swiss);border-radius:var(--radius-panel);color:var(--ink);background:var(--cream);box-shadow:0 24px 80px #20272240}
dialog::backdrop,.billing-dialog::backdrop{background:#20272299;backdrop-filter:blur(4px)}
.modal-shell,.billing-panel{padding:32px}
.modal-head{gap:18px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.modal-head h2,.billing-panel h2{font-size:28px;line-height:1.25;letter-spacing:-.7px;font-weight:700}
.modal-head p{font-size:13px;line-height:1.6;color:var(--body)}
.close-modal,.billing-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);font-size:26px;line-height:1}
.close-modal:hover,.billing-close:hover{border-color:var(--swiss);background:var(--swiss-soft);color:var(--swiss)}
.billing-close{right:24px;top:24px}.billing-panel>h2{padding-right:48px}
.modal-notice,.modal-notice.warm,.legal-draft{background:var(--surface-muted);color:var(--body);border:0;border-left:3px solid var(--swiss);border-radius:var(--radius-control);font-size:13px;line-height:1.75;padding:15px 17px}
.badge.warn{background:var(--swiss-soft);color:var(--swiss-dark);border-color:#e9ceca}
.source-card,.tariff-identity,.billing-plan,.solar-quarter-grid article{background:#fff;border:1px solid var(--line);border-radius:var(--radius-panel)}
.source-card{font-size:14px;line-height:1.75}.source-card small,.tariff-identity dt{color:var(--muted);font-size:12px}
.meter-card,.price-dialog .meter-card{background:var(--surface-muted);border:1px solid var(--line);border-left:3px solid var(--swiss);border-radius:var(--radius-control)}
.fixed-summary{background:var(--surface-muted);gap:16px;flex-wrap:wrap;border-radius:var(--radius-control);font-size:13px;line-height:1.65}
.learn-visual,.project-stats>div,.history-item{background:var(--surface-muted);border-color:var(--line)}
.period-key>span,.single-time{border-color:var(--line);background:var(--surface-muted);color:var(--ink)}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.table-wrap table{min-width:480px;font-size:13px}.table-wrap th{font-size:12px;color:var(--body)}
tr.total td,.family-total td{background:var(--swiss-soft);color:var(--ink)}
.source-fingerprint code,.source-technical code,.hash{white-space:normal;overflow-wrap:anywhere}
.report-tabs{gap:6px;scrollbar-width:thin}.report-tabs button{font-size:13px;min-height:44px}
.report-tabs button.active{color:var(--swiss);border-bottom-color:var(--swiss)}
.report-period{flex-wrap:wrap}.report-period label{font-size:13px}
.budget-total{background:var(--swiss);color:#fff;border-radius:var(--radius-panel)}
.budget-total small,.budget-total strong{color:#fff}
.budget-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}
.budget-inputs>div,.solar-scenario,.beta-form label{min-width:0}
.budget-inputs input:not([type=checkbox]):not([type=range]),.consumption-form input:not([type=range]):not([type=checkbox]),.budget-inputs select,.beta-form input,.beta-form textarea,.solar-email-box input[type=email],.solar-access-page input[type=email]{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);font-size:16px;line-height:1.5}
.budget-inputs label,.consumption-form .field label,.beta-form label{font-size:13px;line-height:1.5}
input[type=checkbox],input[type=range]{accent-color:var(--swiss)}
.budget-inputs input[type=range],.known-label input{accent-color:var(--swiss)}
.solar-power-first{grid-template-columns:1fr}.solar-scenario .budget-inputs:has(>div:only-child){grid-template-columns:1fr}
.solar-panel{background:#fff;border:1px solid var(--line);border-top:3px solid var(--swiss);border-radius:var(--radius-panel);gap:20px}
.solar-panel .solar-title p{color:var(--body);line-height:1.7}
.solar-panel .solar-icon{display:grid;place-items:center;width:42px;height:42px;background:var(--surface-muted);color:var(--swiss);border-radius:var(--radius-control)}
.solar-panel .solar-value{padding-left:0}.solar-panel .solar-value strong{color:var(--ink)}
.solar-panel:not(.solar-essential){margin-top:24px}
.solar-numbers>div{border-color:var(--line);background:#fff;border-top:3px solid var(--swiss)}
.solar-numbers small{color:var(--body)}
.post-purchase-option{background:#fff;border:1px solid var(--line);border-radius:var(--radius-panel)}
.post-purchase-option:hover{background:var(--swiss-soft)}
.post-purchase-option small,.offer-feature-detail{font-size:12px}
.solar-email-box{border-color:var(--line);border-top-color:var(--swiss);border-radius:var(--radius-panel);color:var(--ink)}
.solar-email-box p,.solar-email-choice,.solar-email-box label:not(.solar-email-choice){font-size:13px}
.solar-email-box small,.table-note,.guide-note,.fine-print,.report-export-note{font-size:12px;line-height:1.75;color:var(--body)}
.solar-email-choice input,.legal-consent input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--swiss)}
.form-error{color:var(--swiss-dark);font-size:13px;line-height:1.6}
.offers-grid>.pro-offer{grid-column:auto;border-top:0}
.aligned-offer>.offer-description{font-size:14px}.aligned-offer>ul{font-size:13px}
.aligned-offer>.offer-name{padding-right:72px}
.offer .combo-badge,.pro-offer .b2b-badge{background:var(--swiss);min-width:64px}
.country-price-reminder{white-space:normal;flex-wrap:wrap;justify-content:inherit}
.network-motion-control{min-height:44px;line-height:1.5}
.standalone-header{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.standalone-brand{display:inline-flex;align-items:baseline;font-size:28px;text-decoration:none!important;line-height:1.2;white-space:nowrap}
.standalone-brand .brand-wordmark{font-weight:800;letter-spacing:-1.2px}.standalone-brand .brand-light{color:var(--swiss)}.standalone-brand .brand-domain{font-size:.58em;color:var(--body)}
.standalone-back{color:var(--body);font-size:13px;line-height:1.6}
.legal-page,.solar-access-page{max-width:880px;padding:32px 24px 64px;line-height:1.75}
.legal-page h1,.solar-access-page h1{font-size:clamp(28px,5vw,40px);letter-spacing:-1px;line-height:1.2}
.legal-page h2{font-size:21px;line-height:1.4}.legal-page p,.solar-access-page p{font-size:15px}
.legal-page nav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.legal-page nav a{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-control);background:#fff;color:var(--ink);text-decoration:none}
.legal-page nav a[aria-current=page]{color:var(--swiss);border-color:var(--swiss);background:var(--swiss-soft)}
.solar-access-page>footer{padding-top:24px;border-top:1px solid var(--line);color:var(--body)}
.solar-access-page details{margin-top:24px}.solar-access-page summary{cursor:pointer;min-height:44px;padding:10px 0}
.access-message{padding:24px;border:1px solid var(--line);border-top:3px solid var(--swiss);border-radius:var(--radius-panel);background:#fff}
.access-message h1{margin-top:0}.access-message .secondary{margin-top:16px}
@media(max-width:1020px) and (min-width:641px){.offers-grid>.aligned-offer:nth-child(2n){border-right:0}}
@media(max-width:640px){
 .modal-shell,.billing-panel{padding:24px 20px}.modal-head h2,.billing-panel h2{font-size:24px}
 .billing-close{top:18px;right:16px}.billing-panel>h2{padding-right:44px}
 .budget-inputs,.consumption-form,.checkout-options{grid-template-columns:1fr}
 .budget-total{gap:20px;align-items:flex-start;flex-wrap:wrap}.budget-total strong{font-size:28px}
 .offers-grid>.aligned-offer{border-right:0;border-bottom:1px solid var(--line)}.offers-grid>.aligned-offer:last-child{border-bottom:0}
 .aligned-offer>.offer-price{font-size:60px}.aligned-offer>.pro-price{font-size:32px}
 .solar-panel:not(.solar-essential){grid-template-columns:1fr;padding:22px}.solar-panel .solar-title{align-items:flex-start}
 .solar-panel>button{grid-column:auto;width:100%}.solar-panel .solar-value{padding-left:0}
 .legal-page,.solar-access-page{padding:24px 18px 48px}.standalone-header{gap:16px}
 .standalone-brand{font-size:26px}.legal-page p,.solar-access-page p{font-size:14px}
 .modal-actions{flex-wrap:wrap;justify-content:flex-start}.modal-actions>.secondary{flex:1;justify-content:center}
 .footer-bottom{min-width:0}.footer-country{min-width:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
