.solar-widget{--bg: #ffffff;--fg: #0f172a;--muted: #64748b;--brand: #16a34a;--brand-dark: #15803d;--accent: #f59e0b;--border: #e2e8f0;--radius: 14px;--shadow: 0 10px 30px rgba(15, 23, 42, .08);box-sizing:border-box;max-width:480px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow)}.solar-widget *,.solar-widget *:before,.solar-widget *:after{box-sizing:border-box}body.calc-page{margin:0;min-height:100vh;background:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.calc-back{display:inline-block;padding:14px 18px;color:#64748b;text-decoration:none;font-size:.92rem;font-weight:600}.calc-back:hover{color:#0f172a}.calc-page-main{display:flex;justify-content:center;align-items:flex-start;padding:0 16px 48px}.calc-page-main .solar-widget{width:100%;box-shadow:none}.progress{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.progress .dot{width:32px;height:5px;border-radius:99px;background:var(--border);transition:background .25s}.progress .dot.done{background:var(--brand)}.progress .dot.active{background:var(--brand);opacity:.55}.step{display:flex;flex-direction:column;gap:14px}.step.center{text-align:center;align-items:center;padding:20px 0}.step h2{font-size:1.4rem;line-height:1.25;margin:0}.lead{margin:0;color:var(--muted);font-size:.98rem}.fineprint{font-size:.8rem;color:var(--muted);margin:4px 0 0}.back{align-self:flex-start;background:none;border:none;color:var(--muted);font-size:.9rem;padding:0;cursor:pointer}.field{display:flex;flex-direction:column;gap:6px;position:relative}.field .label{font-size:.88rem;font-weight:600}.input{width:100%;padding:14px 16px;font-size:1rem;border:1.5px solid var(--border);border-radius:12px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--brand)}.err{color:#dc2626;font-size:.82rem;min-height:1em}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.45;color:var(--muted);cursor:pointer;margin-top:4px}.consent input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;accent-color:var(--brand);cursor:pointer}.consent a{color:var(--brand-dark);font-weight:600}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}.ts-widget{margin:4px 0 2px;min-height:0}.ac-list{list-style:none;margin:4px 0 0;padding:4px;position:absolute;top:100%;left:0;right:0;z-index:1000;background:#fff;border:1.5px solid var(--border);border-radius:12px;box-shadow:var(--shadow);max-height:260px;overflow-y:auto;display:none}.ac-list.open{display:block}.ac-item{padding:12px 14px;font-size:.95rem;border-radius:8px;cursor:pointer}.ac-item:hover{background:#f0fdf4}.map{width:100%;height:220px;border-radius:12px;overflow:hidden;background:#e2e8f0}.map.hidden{display:none}.confirm{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1.5px solid var(--brand);background:#f0fdf4;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer}.confirm.hidden{display:none}.confirm input{width:20px;height:20px;accent-color:var(--brand);cursor:pointer}.note{margin:0;font-size:.82rem;color:var(--muted)}.roof-status{display:flex;align-items:center;gap:10px;min-height:24px;font-size:.92rem;color:var(--muted)}.roof-card{display:flex;flex-direction:column;gap:2px}.roof-card .ok{color:var(--brand-dark);font-weight:700}.roof-card small{color:var(--muted)}.error{color:#dc2626}.btn{width:100%;padding:16px;font-size:1.05rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;transition:transform .05s,background .15s}.btn:active{transform:scale(.99)}.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-dark)}.btn.primary:disabled{background:var(--border);color:var(--muted);cursor:not-allowed}.unit-toggle{display:flex;gap:8px}.unit-toggle button{flex:1;padding:10px;border:1.5px solid var(--border);background:#fff;border-radius:10px;font-weight:600;cursor:pointer;font-size:.92rem}.unit-toggle button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.field .suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.9rem;pointer-events:none}.linklike{align-self:center;background:none;border:none;color:var(--muted);text-decoration:underline;font-size:.88rem;cursor:pointer;padding:4px}.choices{display:flex;flex-direction:column;gap:12px}.choices.hidden{display:none}.choice{padding:18px;font-size:1.05rem;font-weight:600;text-align:left;background:#fff;border:1.5px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.choice:hover{border-color:var(--brand)}.choice.selected{border-color:var(--brand);background:#f0fdf4}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1.5px solid var(--border);border-radius:12px;font-size:1.05rem;font-weight:600}.toggle{display:flex;gap:6px}.toggle button{padding:10px 18px;border:1.5px solid var(--border);background:#fff;border-radius:10px;font-weight:600;cursor:pointer}.toggle button.on{background:var(--brand);color:#fff;border-color:var(--brand)}.sub{display:flex;flex-direction:column;gap:8px;padding:12px;margin-top:-4px;background:#f8fafc;border-radius:12px}.sub-title{font-size:.88rem;font-weight:600;color:var(--muted)}.sub-choices{display:flex;flex-direction:column;gap:8px}.sub-choice{padding:12px 14px;font-size:.95rem;font-weight:600;text-align:left;background:#fff;border:1.5px solid var(--border);border-radius:10px;cursor:pointer}.sub-choice:hover{border-color:var(--brand)}.sub-choice.selected{border-color:var(--brand);background:#f0fdf4}.report{gap:22px}#dyn{display:flex;flex-direction:column;gap:22px}.report-head{display:flex;flex-direction:column;gap:4px}.badge{align-self:flex-start;font-size:.72rem;font-weight:700;color:var(--brand-dark);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:99px;padding:4px 10px}.report-head .addr{margin:0;color:var(--muted);font-size:.9rem}.card.current{background:#fffbeb;border-color:#fde68a}.segs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.seg{display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px;border:1.5px solid var(--border);border-radius:12px;background:#f8fafc;cursor:pointer}.seg.on{border-color:var(--brand);background:#f0fdf4}.seg-dir{font-weight:700;font-size:.95rem}.seg-prod{font-size:.9rem;color:var(--brand-dark);font-weight:600}.seg.on .seg-prod{color:var(--brand-dark)}.seg:not(.on) .seg-prod{color:var(--muted)}.seg-meta{font-size:.74rem;color:var(--muted)}.bat-switch{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 14px;border:1.5px solid var(--border);border-radius:12px}.bat-switch>span{font-weight:600;font-size:.9rem}.bat-switch .toggle button{padding:8px 14px;font-size:.85rem}.hero{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border-radius:16px;padding:22px 18px;display:flex;flex-direction:column;gap:16px}.hero-main{display:flex;flex-direction:column}.hero-value{font-size:2.4rem;font-weight:900;line-height:1}.hero-key{font-size:.95rem;opacity:.9;margin-top:4px}.hero-sub{display:flex;gap:12px}.hero-sub div{flex:1;background:#ffffff26;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}.hero-sub strong{font-size:1.15rem;font-weight:800}.hero-sub span{font-size:.78rem;opacity:.9}.card{border:1.5px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px}.card h3{margin:0;font-size:1.05rem}details.card.fold{gap:0}details.card.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between}details.card.fold>summary::-webkit-details-marker{display:none}details.card.fold>summary h3{margin:0}details.card.fold>summary:after{content:"▾";color:var(--muted);font-size:.9rem;transition:transform .2s}details.card.fold[open]>summary:after{transform:rotate(180deg)}details.card.fold[open]>summary{margin-bottom:16px}.card-note{margin:0;font-size:.85rem;color:var(--muted);line-height:1.45}.card-note strong{color:var(--fg)}.chart{width:100%;height:auto;display:block}.chart-ax{fill:var(--muted);font-size:9px}.chart-cost{fill:#64748b;font-size:9px;font-weight:600}.chart-end{fill:var(--brand-dark);font-size:11px;font-weight:800}.cov{position:relative;height:34px;background:var(--border);border-radius:8px;overflow:hidden}.cov-fill{height:100%;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-dark) 100%);border-radius:8px;transition:width .6s ease}.cov-label{position:absolute;top:50%;right:10px;transform:translateY(-50%);font-weight:800;font-size:.95rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.spec-grid,.green-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.spec-grid div,.green-grid div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:10px;background:#f8fafc;text-align:center}.spec-v{font-size:1.25rem;font-weight:800;line-height:1.1}.spec-k{font-size:.76rem;color:var(--muted)}.card.green .green-grid div{background:#f0fdf4}.split{display:flex;flex-direction:column;gap:8px}.split-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.92rem}.split-row small{color:var(--muted);font-size:.78rem}.split-row strong{white-space:nowrap}.split-row.total{border-top:1.5px solid var(--border);padding-top:8px;margin-top:2px;font-weight:700}.split-row.total strong{color:var(--brand-dark);font-size:1.05rem}.card.battery .bat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bat-col{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:#f8fafc;text-align:center}.bat-col.hl{background:#f0fdf4;border:1.5px solid var(--brand)}.bat-h{font-size:.82rem;font-weight:700;color:var(--muted)}.bat-col div{display:flex;flex-direction:column}.bat-col strong{font-size:1.1rem;font-weight:800}.bat-col span{font-size:.74rem;color:var(--muted)}.card.price{background:#f0fdf4;border-color:var(--brand);align-items:flex-start}.price-range{font-size:1.5rem;font-weight:900;color:var(--brand-dark)}.assumptions{border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:.85rem}.assumptions summary{cursor:pointer;font-weight:700;color:var(--fg)}.assumptions ul{margin:10px 0 6px;padding-left:18px;color:var(--muted)}.assumptions li{margin-bottom:5px;line-height:1.4}.assumptions p{margin:6px 0 0;color:var(--muted);font-size:.8rem}.reassure{margin:0;text-align:center;font-size:.82rem;color:var(--muted)}.disclaimer{margin:18px 0 0;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;font-size:.76rem;line-height:1.5;color:var(--muted)}.cta-big{font-size:1.12rem}.trust-line{margin:-8px 0 0;text-align:center;font-size:.86rem;color:var(--muted);line-height:1.45}.trust-line strong{color:var(--fg)}.card.recap{background:#f0fdf4;border-color:var(--brand);gap:8px}.recap-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.95rem}.recap-row strong{white-space:nowrap}.recap-row.hl strong{color:var(--brand-dark);font-size:1.2rem;font-weight:800}.card.proof{background:#f0fdf4;border-color:#bbf7d0}.proof-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}.proof-list li{font-size:.92rem;line-height:1.4;padding-left:16px;position:relative}.proof-list li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--brand)}.proof-list strong{color:var(--brand-dark)}.cta-bar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:480px;padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:#ffffffed;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);box-shadow:0 -6px 20px #0f172a1f;z-index:1500}.cta-bar .btn{font-size:1.05rem}.report{padding-bottom:84px}.spinner{width:18px;height:18px;border:2.5px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.checkmark{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;font-size:2rem;display:grid;place-items:center}@media (max-width: 360px){.spec-grid,.green-grid{grid-template-columns:1fr 1fr}.hero-value{font-size:2rem}}
