:root{--color-bg: #f4f8f1;--color-surface: #ffffff;--color-surface-alt: #eef5ea;--color-text: #17231b;--color-text-muted: #657268;--color-border: #d9e5d8;--color-error: #b3261e;--color-primary: #2f7d32;--color-primary-dark: #1f5f28;--color-primary-tint: #dff0dc;--color-solar: #f6c445;--color-solar-dark: #e49a21;--color-solar-tint: #fff2bf;--color-tech: #1f7a8c;--color-tech-tint: #d9eef2;--color-earth: #8a6f3d;--radius: 12px;--shadow: 0 1px 2px rgba(23, 35, 27, .06), 0 6px 16px rgba(23, 35, 27, .05);--font-heading: "Nunito", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-text-size-adjust:100%;accent-color:var(--color-primary)}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--font-heading);line-height:1.2;margin:0 0 8px}p{margin:0 0 12px;line-height:1.6}.app-shell{min-height:100vh;padding:20px 16px 48px}.app-header{width:min(760px,100%);margin:0 auto 24px;text-align:center}.eyebrow{color:var(--color-primary);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px}.app-header h1{font-size:clamp(1.75rem,5vw,2.75rem)}.app-intro{color:var(--color-text-muted);font-size:1.0625rem;max-width:56ch;margin:0 auto}.app-body{width:min(760px,100%);margin:0 auto;display:flex;flex-direction:column;gap:16px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.section-header h2{font-size:1.25rem}.section-step{display:inline-block;color:var(--color-primary);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.section-description{color:var(--color-text-muted);font-size:.95rem}.section-body{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field-grid{display:grid;grid-template-columns:1fr;gap:18px}@media(min-width:640px){.field-grid{grid-template-columns:1fr 1fr}.field-wide{grid-column:1 / -1}}.field{display:flex;flex-direction:column}.field-label{font-weight:600;font-size:.95rem;margin-bottom:8px}.field-optional{font-weight:400;color:var(--color-text-muted)}.field-hint{margin:6px 0 0;font-size:.85rem;color:var(--color-text-muted)}.field-error{margin:6px 0 0;font-size:.85rem;color:var(--color-error);font-weight:600}input[type=text],input[type=number],input[type=email],input[type=tel],select,textarea{width:100%;min-height:46px;padding:10px 14px;font-size:1rem;font-family:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}textarea{min-height:88px;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--color-tech-tint);outline-offset:1px;border-color:var(--color-tech)}.inline-number{margin-top:10px;max-width:160px}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segmented-option{flex:1 1 120px;min-height:46px;padding:10px 16px;font-size:.95rem;font-weight:600;font-family:var(--font-heading);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;text-align:center;cursor:pointer}.segmented-option.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.checkbox-row{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.95rem;cursor:pointer}.checkbox-row input{width:20px;height:20px;flex-shrink:0}.checkbox-list{display:flex;flex-direction:column;gap:4px}.load-list{margin:0;padding-left:20px}.load-list li{padding:2px 0}.high-load-item{border-bottom:1px solid var(--color-border);padding-bottom:8px}.high-load-item:last-child{border-bottom:none;padding-bottom:0}.high-load-details{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px 30px}.high-load-details input{width:auto;flex:1 1 160px}.essential-load-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.essential-load-row{display:flex;align-items:center;gap:10px}.essential-load-row input{flex:1 1 auto}.essential-load-row .appliance-remove{padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;font-size:1rem;font-weight:700;font-family:var(--font-heading);border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{background:var(--color-primary-tint);color:var(--color-primary-dark);border-color:var(--color-primary-tint)}.btn-ghost{background:transparent;color:var(--color-primary)}.consultation-send-options{grid-column:1 / -1;border-top:1px solid var(--color-border);padding-top:14px;margin-top:4px}.consultation-send-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.consultation-send-buttons .btn{flex:1 1 180px}.appliance-table{display:flex;flex-direction:column;gap:12px}.appliance-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px}.appliance-name{grid-column:1 / -1}.appliance-field{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;color:var(--color-text-muted);gap:4px}.appliance-remove{grid-column:1 / -1;justify-self:start;background:none;border:none;color:var(--color-error);font-weight:600;font-size:.85rem;cursor:pointer;padding:8px 0}.appliance-add{display:flex;flex-wrap:wrap;gap:10px}.appliance-add select{flex:1 1 220px}.appliance-total{font-weight:700;color:var(--color-primary-dark)}@media(min-width:560px){.appliance-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;align-items:end}.appliance-name,.appliance-remove{grid-column:auto}}.assumptions summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none}.assumptions summary::-webkit-details-marker{display:none}.assumptions summary:before{content:"▸ ";color:var(--color-primary)}.assumptions[open] summary:before{content:"▾ "}.assumptions .field-grid{margin-top:14px}.results-hero{display:grid;grid-template-columns:1fr;gap:12px;margin:16px 0}@media(min-width:560px){.results-hero{grid-template-columns:repeat(2,1fr)}}.results-hero-stat{background:var(--color-primary-tint);border-radius:var(--radius);padding:16px;text-align:center}.results-hero-value{display:block;font-size:1.75rem;font-weight:800;color:var(--color-primary-dark)}.results-hero-label{display:block;margin-top:4px;font-size:.85rem;color:var(--color-text-muted)}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:16px 0}.results-grid dt{font-size:.82rem;color:var(--color-text-muted)}.results-grid dd{margin:2px 0 0;font-weight:700;font-size:1.05rem}.results-warnings{margin:12px 0;padding:12px 14px 12px 32px;color:var(--color-earth);background:var(--color-solar-tint);border:1px solid var(--color-border);border-radius:8px;font-size:.9rem;line-height:1.5}.results-warnings li+li{margin-top:6px}.results-cta{margin-top:12px;width:100%}.results-placeholder{text-align:center;color:var(--color-text-muted)}.daily-profile{margin:20px 0}.daily-profile-title{font-size:1rem;margin:0 0 10px}.daily-profile-svg{display:block;width:100%;height:auto}.daily-profile-daylight{fill:var(--color-solar-tint)}.daily-profile-baseline{stroke:var(--color-border);stroke-width:1}.daily-profile-solar-fill{fill:#2f7d322e}.daily-profile-solar-line{stroke:#2f7d322e;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.daily-profile-load-line,.daily-profile-load-bound{stroke:var(--color-primary-dark);stroke-width:2;stroke-linecap:square}.daily-profile-tick{fill:var(--color-text-muted);font-size:11px}.daily-profile-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}.daily-profile-legend-item{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--color-text-muted)}.daily-profile-swatch{display:inline-block;width:14px;height:8px;border-radius:2px;flex-shrink:0}.daily-profile-swatch-solar{background:var(--color-primary)}.daily-profile-swatch-load{background:var(--color-primary-dark);height:2px;align-self:center}.daily-profile-swatch-daylight{background:var(--color-solar-tint);border:1px solid var(--color-border)}.daily-profile-caption{margin-top:10px;font-size:.8rem;color:var(--color-text-muted)}.disclaimer{font-size:.85rem;color:var(--color-text-muted);background:var(--color-solar-tint);border-radius:8px;padding:10px 12px}
