*{box-sizing:border-box} :root{--bg:#f4f7fb;--surface:#fff;--text:#172033;--muted:#718096;--border:#e6eaf0;--primary:#2447f9;--success:#15996f;--warning:#e59a15;--danger:#d95c5c;--sidebar:#10182c;--shadow:0 16px 40px rgba(24,38,75,.08)} html{scroll-behavior:smooth} body{margin:0;min-width:320px;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--bg)} button,input,select{font:inherit} button{cursor:pointer}.hidden{display:none!important}.onboarding-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);background:#fff}.onboarding-panel{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(28px,7vw,100px)}.onboarding-brand,.brand{display:flex;align-items:center;gap:12px}.onboarding-brand{position:absolute;top:32px}.onboarding-brand strong,.onboarding-brand span{display:block}.onboarding-brand span{margin-top:4px;color:var(--muted);font-size:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;font-weight:800;background:linear-gradient(135deg,#4968ff,#7e5cff)}.step-indicator{display:flex;align-items:center;margin-bottom:32px}.step-indicator i{width:52px;height:2px;background:#dce2eb}.step{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:#8a95a8;font-weight:700;background:#e9edf4}.step.active{color:#fff;background:var(--primary)}.form-step{display:none}.form-step.active{display:block}.form-step h1{margin:7px 0 8px;font-size:clamp(30px,5vw,48px)}.form-copy,.page-heading p{color:var(--muted);line-height:1.6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.form-grid label{display:grid;gap:8px;color:#4c576b;font-size:13px;font-weight:700}.form-grid .full{grid-column:1/-1}input,select{width:100%;height:48px;padding:0 14px;border:1px solid var(--border);border-radius:12px;background:#fff;outline:none}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(36,71,249,.1)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.form-actions.left{justify-content:flex-start}.button{min-height:44px;padding:0 18px;border:0;border-radius:12px;font-weight:700}.button.primary{color:#fff;background:var(--primary)}.button.secondary{color:var(--primary);background:#e9edff}.onboarding-visual{display:grid;place-items:center;padding:40px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 25%),linear-gradient(135deg,#2447f9,#633fe6)}.visual-card{max-width:420px;padding:36px;border:1px solid rgba(255,255,255,.18);border-radius:26px;color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(16px)}#visualSavings{display:block;margin:14px 0 12px;font-size:clamp(38px,5vw,50px)}.visual-card p{color:rgba(255,255,255,.82);line-height:1.7}.visual-badge{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.15);font-size:12px;font-weight:700}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 20px;color:#fff;background:var(--sidebar)}.brand{margin:0 8px 34px;color:#fff;text-decoration:none}.brand strong,.brand small{display:block}.brand small{margin-top:3px;color:#8f9bb5;font-size:12px}.main-nav{display:grid;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border:0;border-radius:12px;color:#aab3c8;background:transparent;text-align:left}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.08)}.nav-item b{margin-left:auto;padding:3px 8px;border-radius:999px;background:#ef5b6b;font-size:11px}.sidebar-bottom{margin-top:auto}.property-card{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.05)}.property-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.09)}.property-card small,.property-card strong,.property-card span{display:block}.property-card small,.property-card span{color:#96a0b7;font-size:11px}.property-card strong{margin:3px 0;font-size:14px}.danger-nav{color:#ef8f98}.main-content{min-width:0;padding:30px}.topbar,.section-header,.card-heading,.service-top,.bill-item,.page-heading{display:flex;align-items:center;justify-content:space-between}.topbar{margin-bottom:28px}.topbar h1,.section-header h2,.card-heading h2,.page-heading h2{margin:4px 0 0}.topbar h1{font-size:clamp(24px,3vw,34px)}.eyebrow{margin:0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.eyebrow.light{color:rgba(255,255,255,.72)}.topbar-actions{display:flex;gap:12px}.icon-button,.avatar,.mobile-menu{border:0}.icon-button,.avatar{width:42px;height:42px;border-radius:50%}.icon-button{background:#fff;box-shadow:var(--shadow)}.avatar{color:#fff;font-weight:800;background:var(--primary)}.mobile-menu{display:none;background:transparent;font-size:24px}.view{display:none}.active-view{display:block}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr);gap:20px}.savings-card,.summary-card,.panel,.service-card{border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.savings-card,.summary-card{min-height:245px;padding:28px}.savings-card{color:#fff;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,#2447f9,#633fe6)}.card-heading h2{font-size:clamp(30px,5vw,46px)}.trend-pill,.status{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.trend-pill{background:rgba(255,255,255,.15)}.status.neutral{color:#56627a;background:#edf1f7}.savings-copy{max-width:520px;margin:18px 0 28px;color:rgba(255,255,255,.82);line-height:1.6}.progress-label{display:flex;justify-content:space-between;margin-bottom:9px;font-size:12px;color:rgba(255,255,255,.76)}.progress-track{height:8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.16)}.progress-track span{display:block;height:100%;border-radius:inherit;background:#fff}.light-button{margin-top:24px;color:var(--primary);background:#fff}.mini-stats{display:grid;gap:18px;margin-top:34px}.mini-stats div{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border)}.mini-stats span{color:var(--muted);font-size:13px}.negative{color:var(--danger)}.section{margin-top:34px}.section-header{margin-bottom:18px}.section-header.compact{margin-bottom:14px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.service-card{min-height:230px;padding:20px;border:1px solid var(--border)}.service-icon,.opportunity-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:20px;color:var(--primary);background:#edf0ff}.service-card>p{margin:22px 0 8px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.service-card h3{min-height:44px;margin:0;font-size:16px;line-height:1.4}.service-price{margin-top:22px}.service-price strong{font-size:24px}.service-price span{color:var(--muted);font-size:13px}.service-alert{margin-top:14px;color:var(--success);font-size:12px;font-weight:700}.empty-card{grid-column:1/-1;padding:36px;border:2px dashed var(--border);border-radius:20px;text-align:center;color:var(--muted);background:#fff}.content-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.75fr);gap:20px;margin-top:28px}.panel{padding:24px}.opportunity-list,.bill-list{display:grid;gap:12px}.opportunity-item{display:grid;grid-template-columns:46px minmax(0,1fr) 38px;gap:14px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:16px}.opportunity-item p{margin:5px 0;color:var(--muted);font-size:13px}.opportunity-item span{color:var(--success);font-size:12px;font-weight:700}.opportunity-item button{width:36px;height:36px;border:0;border-radius:10px;color:var(--primary);background:#edf0ff}.bill-item{gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.date-box{display:grid;place-items:center;width:44px;height:50px;border-radius:12px;color:var(--primary);background:#edf0ff}.date-box small{font-size:9px}.bill-item div{flex:1}.bill-item div strong,.bill-item div small{display:block}.bill-item div small{margin-top:3px;color:var(--muted)}.page-heading{align-items:flex-end;margin-bottom:22px}.table-panel{overflow:auto}.service-table{width:100%;border-collapse:collapse}.service-table th,.service-table td{padding:15px;border-bottom:1px solid var(--border);text-align:left}.service-table th{color:var(--muted);font-size:12px;text-transform:uppercase}.delete-btn{border:0;color:var(--danger);background:transparent}.opportunity-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.opportunity-detail span{color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase}.opportunity-detail h3{font-size:21px}.opportunity-detail p{min-height:72px;color:var(--muted);line-height:1.6}.opportunity-detail strong{display:block;margin:18px 0;color:var(--success)}.property-form{max-width:850px}.geo-info{max-width:850px;margin-bottom:18px;display:grid;gap:6px}.geo-info strong{font-size:14px}.geo-info p{margin:0;color:var(--text);font-size:14px}.geo-info span{color:var(--muted);font-size:13px}.geo-info.pending span{color:var(--warning)}.geo-info.error span{color:var(--danger)}.geo-map{height:300px;margin-top:10px;border-radius:14px;overflow:hidden;z-index:0}.leaflet-container{font:inherit}.map-pin{border-radius:50%;background:var(--primary);border:3px solid #fff;box-shadow:0 2px 10px rgba(8,15,32,.4)}
.welcome{max-width:540px;animation:fadeUp .5s ease}.welcome h1{margin:8px 0 14px;font-size:clamp(30px,5vw,46px)}.welcome-list{list-style:none;margin:26px 0 34px;padding:0;display:grid;gap:14px}.welcome-list li{display:flex;align-items:center;gap:12px;color:#4c576b;font-weight:600}.welcome-list li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;color:#fff;background:var(--success);font-size:13px}#formWizard{animation:fadeUp .45s ease}
select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232447f9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}
.form-step.from-right{animation:slideFromRight .42s cubic-bezier(.22,.61,.36,1)}.form-step.from-left{animation:slideFromLeft .42s cubic-bezier(.22,.61,.36,1)}
@keyframes slideFromRight{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:translateX(0)}}@keyframes slideFromLeft{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.demo-chrome{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.demo-dots{display:flex;gap:7px}.demo-dots i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.35)}.demo-tag{padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px;font-weight:800;letter-spacing:.06em}.demo-caption{margin:0 0 16px;color:rgba(255,255,255,.75);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.demo-head{display:flex;align-items:center;justify-content:space-between}.visual-trend{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:700}.visual-progress{height:7px;margin:16px 0 8px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.16)}.visual-progress span{display:block;height:100%;width:69%;border-radius:inherit;background:#fff;animation:demoFill 1.1s ease .2s both}.visual-progress-label{display:flex;justify-content:space-between;color:rgba(255,255,255,.8);font-size:12px;font-weight:600}
.visual-services{display:grid;gap:10px;margin:22px 0 16px}.visual-service{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.1);opacity:0;animation:demoReveal .55s ease both}.visual-service:nth-child(1){animation-delay:.15s}.visual-service:nth-child(2){animation-delay:.3s}.visual-service:nth-child(3){animation-delay:.45s}.visual-service .vs-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.15);font-size:16px}.visual-service .vs-body{flex:1;min-width:0}.visual-service strong{display:block;font-size:14px}.visual-service small{display:block;color:rgba(255,255,255,.72);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-service b{font-size:14px}
.visual-opp{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);opacity:0;animation:demoReveal .55s ease .6s both}.visual-opp .vo-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.16);font-size:16px}.visual-opp .vo-body{flex:1}.visual-opp strong{display:block;font-size:14px}.visual-opp small{color:#c9f5e4;font-size:12px;font-weight:600}
@keyframes demoReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes demoFill{from{width:0}to{width:69%}}
@media(prefers-reduced-motion:reduce){.visual-service,.visual-opp,.visual-progress span,.demo-live b,.form-step.from-right,.form-step.from-left,.welcome,#formWizard{animation:none!important;opacity:1!important}}.link-button{border:0;color:var(--primary);background:transparent;font-weight:700}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(8,15,32,.62)}.modal-card{position:relative;z-index:1;width:min(680px,100%);padding:26px;border-radius:22px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.2)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between}.modal-header h2{margin:4px 0 0}.modal-header button{border:0;background:transparent;font-size:30px}.toast{position:fixed;right:24px;top:24px;z-index:50;transform:translateY(-20px);opacity:0;padding:14px 18px;border-radius:12px;color:#fff;background:#172033;box-shadow:var(--shadow);transition:.25s}.toast.show{transform:translateY(0);opacity:1}@media(max-width:1180px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opportunity-cards{grid-template-columns:1fr}}@media(max-width:900px){.onboarding-screen{grid-template-columns:1fr}.onboarding-visual{display:none}.app-shell{display:block}.sidebar{display:none}.sidebar.mobile-open{display:flex;position:fixed;z-index:20;width:260px}.main-content{padding:22px}.mobile-menu{display:block}.topbar{gap:12px}.topbar>div:nth-child(2){flex:1}.hero-grid,.content-grid{grid-template-columns:1fr}}@media(max-width:620px){.onboarding-panel{padding:100px 20px 30px}.form-grid,.service-grid{grid-template-columns:1fr}.main-content{padding:16px}.topbar-actions .icon-button{display:none}.savings-card,.summary-card,.panel{padding:20px;border-radius:18px}.section-header,.page-heading{align-items:flex-start;gap:14px}.page-heading{flex-direction:column}.progress-label{display:grid;gap:5px}.opportunity-item{grid-template-columns:42px minmax(0,1fr)}.opportunity-item button{display:none}}