*,:before,:after{box-sizing:border-box}:root{--text:#5c7482;--text-h:#142c38;--bg:#fff;--border:#dbe4e9;--code-bg:#f0f4f7;--accent:#f3b344;--accent-bg:#f3b34426;--accent-border:#f3b34480;--social-bg:#f4f7f9;--input-bg:#fff;--shadow-sm:0 1px 3px #142c380d, 0 1px 2px #142c381a;--shadow:0 4px 6px -1px #142c381a, 0 2px 4px -1px #142c380f;--shadow-lg:0 10px 15px -3px #142c381a, 0 4px 6px -2px #142c380d;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.2px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--code-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9eb5c2;--text-h:#fff;--bg:#142c38;--border:#264a5c;--code-bg:#0d1e26;--accent:#f3b344;--accent-bg:#f3b34426;--accent-border:#f3b34480;--social-bg:#1a3745;--input-bg:#1a3745;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow:0 4px 6px -1px #0006, 0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -2px #0000004d}#social .button-icon{filter:invert()brightness(2)}}body{background-color:var(--code-bg);margin:0}#root{text-align:center;flex-direction:column;width:100%;max-width:1126px;min-height:100svh;margin:0 auto;display:flex}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);margin:0;font-weight:600}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--social-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.app-container{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}.brand-header{background-color:var(--code-bg);z-index:110;border-bottom:1px solid var(--border);height:64px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.brand-logo-top{object-fit:contain;height:44px}.app-main{box-sizing:border-box;flex-direction:column;flex-grow:1;justify-content:flex-start;align-items:center;width:100%;padding:16px;display:flex}.card{background:var(--bg);border:1px solid var(--border);width:100%;max-width:800px;box-shadow:var(--shadow-lg);text-align:left;border-radius:12px;margin:0;padding:24px}@media (width<=600px){.card{padding:16px}}.subtitle{color:var(--text);margin-bottom:24px;font-size:16px;line-height:1.4}.address{color:var(--text);margin-top:8px;font-size:15px}.loading-container{text-align:center;background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:90%;max-width:480px;margin:auto;padding:40px;display:flex}.logo-badge.animated{animation:2s ease-in-out infinite pulse-ring}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.8;transform:scale(.95)}}.spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin-top:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{font-family:var(--heading);color:#142c38;background:var(--accent);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:6px;align-self:flex-start;padding:12px 24px;font-size:16px;font-weight:700;transition:opacity .3s,transform .1s,box-shadow .2s}.btn-primary:hover{opacity:.9;box-shadow:var(--shadow);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{font-family:var(--heading);color:var(--text-h);background:var(--social-bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:12px 24px;font-size:16px;font-weight:500;transition:background .3s}.btn-secondary:hover{background:var(--border)}.full-width-mobile{width:auto}@media (width<=600px){.full-width-mobile{text-align:center;width:100%}}.solutions-designer-card{max-width:850px;margin-top:80px!important;padding-bottom:110px!important}.designer-hero-section{text-align:center;margin-bottom:24px}.designer-hero-img{border-radius:16px;width:100%;max-width:320px;height:auto}.tier-toggle-bar{background:var(--social-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:24px;display:flex;overflow:hidden}.tier-toggle-btn{font-family:var(--sans);color:var(--text);cursor:pointer;background:0 0;border:none;flex:1;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.tier-toggle-btn.active{background:var(--accent);color:#142c38;font-weight:700}.total-estimate-display{text-align:center;margin-bottom:24px}.total-estimate-display .label{letter-spacing:1px;color:var(--text);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.total-estimate-display h2{color:var(--accent);white-space:nowrap;margin:0;font-size:36px;font-weight:800}.total-estimate-display .vat-label{color:var(--text);font-size:12px}.core-hardware-list{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.hardware-card{border:1px solid var(--border);background:var(--bg);border-radius:16px;padding:20px}.hardware-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.hardware-card-header h4{letter-spacing:.5px;color:var(--text-h);margin:0;font-size:13px}.hardware-card-header .price{color:var(--text-h);white-space:nowrap;font-size:15px;font-weight:700}.brand-logo-badge{aspect-ratio:3;object-fit:contain;border:1px solid var(--border);vertical-align:middle;background-color:#fff;border-radius:4px;width:84px;height:28px;padding:2px 6px;display:inline-block}.hardware-controls-grid{flex-wrap:wrap;gap:16px;display:flex}.hardware-controls-grid select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-family:var(--sans);border-radius:8px;width:100%;padding:10px;font-size:14px}.qty-stepper-group{min-width:120px}.qty-stepper{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.qty-stepper button{background:var(--social-bg);cursor:pointer;width:36px;height:38px;color:var(--text-h);border:none;font-size:18px;font-weight:600}.qty-stepper button:disabled{opacity:.4;cursor:not-allowed}.qty-stepper span{background:var(--bg);color:var(--text-h);flex:1;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.system-performance-card{background:var(--social-bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;margin-bottom:24px;padding:24px;display:flex}.performance-item{justify-content:space-between;align-items:center;gap:16px;display:flex}.performance-item .icon{background:var(--bg);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.performance-item .meta{flex-grow:1}.performance-item .meta strong{color:var(--text-h);font-size:15px;display:block}.performance-item .meta p{color:var(--text);margin:4px 0 0;font-size:12px}.performance-item .value{color:var(--accent);white-space:nowrap;text-align:right;font-size:15px;font-weight:700}.performance-item .value.reliance{color:#fb923c}.performance-item .value.co2{color:#4ade80}.technical-components-card{border:1px solid var(--border);background:var(--bg);border-radius:16px;flex-direction:column;gap:14px;margin-bottom:24px;padding:24px;display:flex}.tech-item{color:var(--text);justify-content:space-between;align-items:center;font-size:14px;display:flex}.tech-item.highlight-green{color:#10b981}.tech-item strong{color:var(--text-h);white-space:nowrap}.tech-total-row{color:var(--text);justify-content:space-between;align-items:center;font-size:14px;display:flex}.tech-total-row.final{color:var(--text-h);border-top:1px solid var(--border);padding-top:14px;font-size:16px;font-weight:700}.tech-total-row.final strong{color:var(--accent);white-space:nowrap;font-size:20px}.financing-simulator-card{background:var(--social-bg);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:20px;margin-bottom:24px;padding:24px;display:flex}.finance-controls{gap:16px;display:flex}.finance-controls select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-family:var(--sans);border-radius:8px;width:100%;padding:10px;font-size:14px}.finance-payment-display{background:var(--bg);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;padding:16px;display:flex}.finance-payment-display .meta strong{color:var(--text-h);font-size:15px;display:block}.finance-payment-display .meta p{color:var(--text);margin:4px 0 0;font-size:12px}.finance-payment-display .value{color:var(--accent);white-space:nowrap;font-size:22px;font-weight:800}.finance-payment-display .value .term{color:var(--text);font-size:14px;font-weight:400}.action-green{color:#fff!important;background:#10b981!important}.margin-top-lg{margin-top:32px}.onboarding-wrapper{flex-direction:column;align-items:center;width:100%;max-width:700px;margin:0 auto;display:flex}.fixed-top-illustration{z-index:100;background-color:var(--code-bg);border-bottom:1px solid var(--border);height:210px;box-shadow:var(--shadow);justify-content:center;align-items:center;padding:12px 0;display:flex;position:fixed;top:64px;left:0;right:0}.fixed-top-illustration .step-illustration{object-fit:contain;height:100%;max-height:180px}.onboarding-card{flex-direction:column;gap:20px;width:100%;display:flex;margin-top:290px!important}.progress-container{background:var(--social-bg);border-radius:10px;width:100%;height:6px;overflow:hidden}.progress-bar{background:var(--accent);border-radius:10px;height:100%;transition:width .4s}.step-content{margin:0}.step-0-modern{flex-direction:column;gap:24px;display:flex}.bill-input-wrapper{justify-content:center;align-items:center;gap:6px;display:flex}.bill-currency,.bill-unit{color:var(--text);font-size:24px;font-weight:600}.bill-large-input{width:auto;max-width:180px;color:var(--text-h);text-align:center;font-size:48px;font-weight:800;font-family:var(--sans);border:none;border-bottom:2px dashed var(--border);background:0 0;outline:none;margin:0;padding:0;transition:border-bottom-color .2s,color .2s}.bill-large-input:focus{border-bottom-style:solid;border-bottom-color:var(--accent);color:var(--accent);box-shadow:none}.bill-large-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bill-large-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.slider-container{flex-direction:column;gap:12px;display:flex}.custom-range{-webkit-appearance:none;background:var(--border);border-radius:5px;outline:none;width:100%;height:6px}.custom-range::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;width:24px;height:24px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .1s,box-shadow .2s}.custom-range::-webkit-slider-thumb:hover{box-shadow:var(--shadow);transform:scale(1.1)}.slider-labels{color:var(--text);justify-content:space-between;font-size:13px;font-weight:500;display:flex}.modern-controls{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=600px){.modern-controls{grid-template-columns:1fr}}.control-box{flex-direction:column;gap:8px;display:flex}.control-box label{color:var(--text);font-size:13px;font-weight:600}.mode-toggle{background:var(--social-bg);border:1px solid var(--border);border-radius:8px;padding:4px;display:flex}.mode-toggle button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 0;font-size:14px;font-weight:600;transition:all .2s}.mode-toggle button.active{background:var(--bg);color:var(--text-h);box-shadow:var(--shadow-sm)}.tariff-input{width:100%;color:var(--text-h);background:var(--input-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;outline:none;padding:10px;font-size:15px;font-weight:600;transition:border-color .2s}.tariff-input:focus{border-color:var(--accent)}.selectable-cards-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.selectable-card{border:2px solid var(--border);text-align:center;cursor:pointer;background:var(--input-bg);box-shadow:var(--shadow-sm);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:20px;transition:all .2s;display:flex}.selectable-card.selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:none}.selectable-card.small{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:16px}.phase-indicator{gap:4px;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot.red{background:#ef4444}.dot.black{background:#111827}.dot.yellow{background:#fbbf24}.dot.blue{background:#3b82f6}.card-title{color:var(--text-h);font-size:16px;font-weight:600}.check-icon{color:var(--text);font-size:18px}.selectable-card.selected .check-icon{color:var(--accent)}.roofing-inputs h4{color:var(--text-h);text-align:left;margin:12px 0 8px;font-size:16px;font-weight:600}.roof-types-wrap{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.roof-type-btn{border:1px solid var(--border);background:var(--input-bg);box-shadow:var(--shadow-sm);cursor:pointer;min-width:90px;font-family:var(--sans);color:var(--text);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.roof-type-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--text-h);box-shadow:none;font-weight:700}.roof-types-row-four{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px;display:grid}.compact-roof-btn{min-width:unset!important;padding:8px 4px!important}.compact-roof-btn .roof-type-thumbnail{width:40px;height:40px;margin-bottom:4px}.compact-roof-btn .roof-btn-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.roof-type-btn-other{border:1px solid var(--border);background:var(--input-bg);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;font-family:var(--sans);color:var(--text);border-radius:12px;outline:none;justify-content:center;align-items:center;margin-bottom:12px;padding:12px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.roof-type-btn-other:hover{border-color:var(--accent-border)}.roof-type-btn-other.active{border-color:var(--accent);background:var(--accent-bg);color:var(--text-h)}.other-input-group{background:var(--social-bg);border:1px solid var(--border);text-align:left;border-radius:12px;margin-bottom:16px;padding:16px}.other-input-group label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.other-input-group input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);border-radius:8px;outline:none;padding:12px;font-size:14px;font-weight:500;transition:border-color .2s}.other-input-group input:focus{border-color:var(--accent)}.roof-type-thumbnail{object-fit:cover;background-color:#fff;border-radius:6px;width:48px;height:48px;margin-bottom:2px}.emoji-icon{justify-content:center;align-items:center;height:48px;margin-bottom:2px;font-size:24px;display:flex}.margin-top-sm{margin-top:12px}.distance-slider-box{background:var(--social-bg);border:1px solid var(--border);text-align:center;border-radius:16px;padding:24px}.distance-display{margin-bottom:16px}.distance-display .val{color:var(--text-h);font-size:40px;font-weight:700}.distance-display .unit{color:var(--text);margin-left:4px;font-size:20px}.geysers-section{text-align:center}.geyser-intro-card{background:var(--social-bg);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;gap:12px;padding:24px;display:flex}.geyser-intro-card h3{color:var(--text-h);margin:0;font-size:18px}.geyser-intro-card p{color:var(--text);margin-bottom:16px;font-size:14px}.geyser-intro-actions{gap:16px;display:flex}.geyser-manager{text-align:left;flex-direction:column;gap:12px;display:flex}.geysers-list{flex-direction:column;gap:12px;max-height:160px;display:flex;overflow-y:auto}.geyser-item{background:var(--bg);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.geyser-info{align-items:center;gap:12px;display:flex}.geyser-icon{font-size:20px}.geyser-text{color:var(--text-h);font-size:15px}.btn-delete{cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;font-size:18px;transition:opacity .2s}.btn-delete:hover{opacity:1}.no-geysers-msg{color:var(--text);margin:0;font-size:14px;font-style:italic}.btn-add-dashed{border:2px dashed var(--border);text-align:center;color:var(--accent);cursor:pointer;background:0 0;border-radius:12px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:background-color .2s,border-color .2s}.btn-add-dashed:hover{background:var(--accent-bg);border-color:var(--accent-border)}.btn-text{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.btn-text:hover{color:var(--text-h)}.geyser-skip-box{background:var(--social-bg);border:1px solid var(--border);border-radius:16px;padding:24px}.onboarding-nav{justify-content:space-between;align-items:center;margin-top:16px;display:flex}.spacer-btn{width:80px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#142c3899;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg);border:1px solid var(--border);width:90%;max-width:440px;box-shadow:var(--shadow-lg);text-align:left;border-radius:16px;padding:24px}.modal-box h3{color:var(--text-h);margin:0 0 20px;font-size:18px}.modal-body{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.section-label{color:var(--text-h);font-size:14px;font-weight:600}.sizes-toggle-row{gap:12px;display:flex}.size-btn{border:1px solid var(--border);background:var(--input-bg);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:600;transition:all .2s}.size-btn.active{background:var(--accent);border-color:var(--accent);color:#142c38;box-shadow:none}.timer-switch-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:16px;display:flex}.timer-labels strong{color:var(--text-h);font-size:15px;display:block}.timer-labels p{color:var(--text);margin:4px 0 0;font-size:12px}.toggle-switch{width:50px;height:28px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--border);border-radius:34px;transition:all .4s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:4px;left:4px;box-shadow:0 1px 2px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.test-fb-btn{cursor:pointer;width:100%;font-size:14px;font-weight:700;font-family:var(--heading);border-radius:8px;margin-top:12px;transition:background-color .2s,transform .1s;border:2px dashed var(--accent)!important;color:var(--accent)!important;background:0 0!important;padding:12px!important}.test-fb-btn:hover{transform:translateY(-1px);background-color:var(--accent-bg)!important}.test-fb-btn:active{transform:scale(.99)}.test-fb-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.selectable-cards-grid-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row-card{height:48px;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:12px!important}.premium-modal{border:1px solid var(--border);background:var(--bg);max-width:500px;box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;display:flex;position:relative;overflow:hidden;padding:0!important}.modal-header-accent{background:var(--accent);width:100%;height:6px}.modal-title-block{border-bottom:1px solid var(--border);text-align:center;padding:24px 24px 16px}.modal-icon-badge{margin-bottom:12px;font-size:32px;display:block}.modal-title-block h3{color:var(--text-h);margin-bottom:8px;font-size:20px;font-weight:700}.modal-title-block .subtitle{color:var(--text);margin:0;font-size:13px;line-height:1.4}.premium-body{flex-direction:column;gap:16px;margin:0;padding:24px;display:flex}.form-group-modern{text-align:left;flex-direction:column;gap:6px;display:flex}.form-group-modern label{color:var(--text);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--text);pointer-events:none;justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;left:14px}.input-with-icon input{border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text-h);box-shadow:var(--shadow-sm);border-radius:12px;outline:none;padding:14px 14px 14px 44px;font-size:15px;font-weight:500;transition:border-color .2s,box-shadow .2s}.input-with-icon input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.premium-actions{border-top:1px solid var(--border);background:var(--social-bg);justify-content:flex-end;gap:12px;margin:0;padding:16px 24px 24px;display:flex}.premium-actions button{margin:0}.onboarding-nav-sticky{background:var(--bg);border-top:1px solid var(--border);z-index:105;box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:850px;margin-top:0;padding:16px 24px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 10px #142c3814}@media print{body{color:#1f2937!important;background:#fff!important}.no-print,.brand-header,.proposal-actions-bar,.onboarding-nav-sticky{display:none!important}.proposal-container{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.proposal-sheet{box-shadow:none!important;color:#1f2937!important;background-color:#fff!important;border:none!important;padding:0!important}.app-main{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}}
