:root{color-scheme:light;--solar-dark:#07111f;--solar-panel-dark:#0d1b2e;--solar-primary:#2563eb;--solar-orange:#f97316;--solar-yellow:#facc15;--solar-green:#16a34a;--solar-red:#dc2626;--solar-blue-panel:#0f4cbd;--solar-blue-panel-light:#93c5fd;--solar-bg:#f8fafc;--solar-card:#ffffff;--solar-border:#e5e7eb;--solar-text:#111827;--solar-muted:#6b7280;--solar-sidebar:#102033;--solar-sidebar-deep:#0b1828;--solar-line:#d7dde6;--shadow-soft:0 8px 22px rgba(15, 23, 42, 0.08);--shadow-card:0 1px 2px rgba(15, 23, 42, 0.08), 0 8px 18px rgba(15, 23, 42, 0.04);--radius:8px;--topbar-h:58px;--sidebar-w:208px;--settings-w:360px}*{box-sizing:border-box}html{height:100%;scroll-padding-bottom:96px;overflow-x:hidden}body.solar-app-page{min-height:100%;margin:0;overflow-x:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef2f6;color:var(--solar-text)}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(37,99,235,.7);outline-offset:2px}.solar-shell{width:100%;min-height:100vh;background:#eef2f6}.solar-topbar{position:sticky;top:0;z-index:40;min-height:var(--topbar-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:0 10px;border-bottom:1px solid rgba(148,163,184,.26);background:linear-gradient(180deg,#101927 0,#0a1320 100%);color:#f8fafc;box-shadow:0 6px 18px rgba(7,17,31,.16)}.solar-topbar-actions,.solar-topbar-center,.solar-topbar-left{display:flex;align-items:center;min-width:0}.solar-topbar-left{gap:14px}.solar-topbar-center{gap:10px;justify-content:flex-end}.solar-topbar-actions{gap:7px}.solar-icon-btn{min-height:34px;border:1px solid rgba(148,163,184,.38);border-radius:5px;background:rgba(15,23,42,.46);color:#e5edf7;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:650;line-height:1;white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform .18s ease}.solar-btn,.solar-pill{padding:7px 12px}.solar-btn,.solar-control-pill,.solar-pill{min-height:34px;border:1px solid rgba(148,163,184,.38);border-radius:5px;background:rgba(15,23,42,.46);color:#e5edf7;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:650;line-height:1;white-space:nowrap;transition:background .18s ease,border-color .18s ease,transform .18s ease}.solar-icon-btn{width:34px;padding:0}.solar-btn:hover,.solar-control-pill:hover,.solar-icon-btn:hover,.solar-pill:hover{border-color:rgba(191,219,254,.76);background:rgba(30,41,59,.75)}.solar-btn-primary{border-color:rgba(249,115,22,.5);background:linear-gradient(180deg,rgba(249,115,22,.22),rgba(249,115,22,.12));color:#ffbd64}.solar-btn-danger{border-color:rgba(220,38,38,.38);color:#fecaca}.solar-btn-blue{color:#bfdbfe}.solar-brand{display:flex;align-items:center;gap:10px;min-width:0;padding-right:12px;border-right:1px solid rgba(148,163,184,.24);color:inherit;text-decoration:none}.solar-brand-mark{width:24px;height:24px;display:inline-grid;place-items:center;border:2px solid #f59e0b;color:#f59e0b;border-radius:4px;font-weight:900;font-size:11px;line-height:1;position:relative}.solar-brand-mark::after,.solar-brand-mark::before{content:"";position:absolute;background:#f59e0b}.solar-brand-mark::before{width:2px;height:18px}.solar-brand-mark::after{width:18px;height:2px}.solar-brand span,.solar-title{font-size:17px;font-weight:800;color:#f8fafc}.solar-brand span{display:inline}.solar-brand span b{color:#f59e0b}.solar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solar-control-pill{padding:0 10px}.solar-control-pill span{color:#cbd5e1}.solar-control-pill input{width:118px;border:0;background:0 0;color:#f8fafc;font-weight:700;color-scheme:dark}.solar-pill{max-width:180px}.solar-pill span{overflow:hidden;text-overflow:ellipsis}.solar-grid-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(620px,1fr) var(--settings-w);min-height:calc(100vh - var(--topbar-h))}.solar-shell.sidebar-collapsed .solar-grid-shell{grid-template-columns:minmax(620px,1fr) var(--settings-w)}.solar-shell.sidebar-collapsed .solar-sidebar{display:none}.solar-sidebar{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;padding:14px 12px;background:linear-gradient(180deg,var(--solar-sidebar) 0%,var(--solar-sidebar-deep) 100%);color:#e5edf7;border-right:1px solid rgba(148,163,184,.18)}.solar-panel-section{display:grid;gap:6px;padding:0 0 14px;margin-bottom:12px;border-bottom:1px solid rgba(148,163,184,.16)}.solar-panel-section h2{margin:6px 8px 8px;color:#a9bdd4;font-size:11px;line-height:1;letter-spacing:.02em;text-transform:uppercase;font-weight:750}.solar-tool-btn{min-height:34px;display:flex;align-items:center;gap:10px;border:0;border-radius:4px;background:0 0;color:#eef5ff;padding:8px 10px;text-align:left;font-size:13px}.solar-tool-btn:hover{background:rgba(148,163,184,.12)}.solar-tool-field{display:grid;gap:5px;padding:8px 10px 10px;color:#dbeafe;font-size:11px;font-weight:750}.solar-tool-field select{min-height:32px;width:100%;border:1px solid rgba(148,163,184,.34);border-radius:4px;background:#0b1828;color:#eef5ff;padding:6px 8px;font-size:12px}.solar-toggle-section{gap:9px;border-bottom:0}.solar-toggle{min-height:34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;color:#e5edf7;font-size:13px;padding:4px 8px}.solar-toggle input{position:absolute;opacity:0;width:0;height:0}.solar-toggle .slider{width:32px;height:18px;border-radius:999px;background:#334155;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);position:relative}.solar-toggle .slider::after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#f8fafc;transition:transform .18s ease}.solar-toggle input:checked+.slider{background:#0d6efd}.solar-toggle input:checked+.slider::after{transform:translateX(14px)}.solar-main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 1fr;gap:6px;padding:8px;background:#eef2f6}.solar-main>*{min-width:0}.solar-canvas-header{width:100%;max-width:100%;min-width:0;min-height:42px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:6px 8px;border:1px solid var(--solar-border);border-radius:7px;background:#fff;box-shadow:var(--shadow-card)}.solar-canvas-controls,.solar-view-tabs{min-width:0;display:flex;align-items:center;gap:6px}.solar-canvas-controls{margin-left:8px}.solar-tab{min-height:30px;border:1px solid #dbe3ee;border-radius:5px;background:#f8fafc;color:#334155;padding:6px 10px;font-size:12px;font-weight:750}.solar-tab.active{border-color:#93c5fd;background:#eff6ff;color:var(--solar-primary)}.solar-canvas-controls .solar-icon-btn{color:#0f172a;border-color:#dbe3ee;background:#f8fafc}.solar-canvas-panel{position:relative;min-height:424px;border:1px solid var(--solar-border);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-card);overflow:hidden}.solar-canvas-panel:fullscreen{width:100vw;height:100vh;min-height:100vh;border:0;border-radius:0;background:#fff}.solar-canvas-panel:fullscreen .solar-canvas-wrapper{width:100%;height:100%;min-height:100vh}.solar-canvas-wrapper{position:relative;height:clamp(420px,46vh,514px);min-height:420px;background:linear-gradient(90deg,rgba(203,213,225,.33) 1px,transparent 1px),linear-gradient(0deg,rgba(203,213,225,.33) 1px,transparent 1px),linear-gradient(90deg,rgba(226,232,240,.46) 1px,transparent 1px),linear-gradient(0deg,rgba(226,232,240,.46) 1px,transparent 1px),#fff;background-size:120px 120px,120px 120px,12px 12px,12px 12px}#solar-canvas-container,.solar-canvas-stage{width:100%;height:100%}.solar-canvas-sidebar{display:none}.solar-canvas-zoom{position:absolute;right:14px;bottom:14px;z-index:4;display:grid;gap:6px}.solar-canvas-zoom .solar-icon-btn{width:32px;height:32px;min-height:32px;color:#0f172a;border-color:#d8e0ea;background:rgba(255,255,255,.9);box-shadow:0 8px 18px rgba(15,23,42,.08)}.solar-3d-overlay{z-index:3;background:#f6f8fb;pointer-events:auto}.solar-3d-overlay.hidden{display:none}.solar-3d-overlay,.solar-3d-stage{position:absolute;inset:0}.solar-3d-stage canvas{width:100%!important;height:100%!important;display:block}.solar-3d-hud{position:absolute;left:14px;top:14px;z-index:2;max-width:min(360px,calc(100% - 28px));display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(148,163,184,.28);border-radius:7px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-card);color:#0f172a;font-size:12px}.solar-3d-hud span{color:#475569;font-size:11px}.solar-3d-card{width:min(420px,94%);display:grid;gap:14px;padding:22px;border:1px solid rgba(148,163,184,.36);border-radius:10px;background:rgba(255,255,255,.86);box-shadow:var(--shadow-soft);text-align:center}.solar-3d-roof{height:180px;position:relative;perspective:760px}.solar-3d-panel-row{position:absolute;left:50%;top:30px;width:260px;height:78px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transform:translateX(-50%) rotateX(54deg) rotateZ(-10deg)}.solar-3d-panel-row.second-row{top:78px}.solar-3d-panel{border-radius:5px;border:1px solid rgba(255,255,255,.34);background:linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(180deg,#1558c8,#073b98);background-size:18px 18px,18px 18px,auto;box-shadow:0 16px 26px rgba(15,23,42,.16)}.solar-3d-shadow{position:absolute;left:50%;bottom:6px;width:310px;height:42px;transform:translateX(-50%);background:radial-gradient(circle,rgba(15,23,42,.18),transparent 68%)}.solar-3d-caption strong{display:block;margin-bottom:5px}.solar-3d-caption p{margin:0;color:var(--solar-muted);font-size:13px;line-height:1.45}.solar-metrics-row{min-width:0;max-width:100%;display:grid;grid-template-columns:repeat(6,minmax(124px,1fr));gap:2px}.solar-metric-card{min-width:0;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:10px;align-content:center;padding:12px 14px;border:1px solid var(--solar-border);border-radius:7px;background:var(--solar-card);box-shadow:var(--shadow-card)}.metric-icon{grid-row:1/4;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--solar-primary);background:#eff6ff}.solar-metric-card:nth-child(1) .metric-icon{color:#16a34a;background:#dcfce7}.solar-metric-card:nth-child(3) .metric-icon{color:#7c3aed;background:#f3e8ff}.solar-metric-card:nth-child(4) .metric-icon{color:#f97316;background:#ffedd5}.solar-metric-card:nth-child(5) .metric-icon{color:#2563eb;background:#dbeafe}.solar-metric-card:nth-child(6) .metric-icon{color:#ef4444;background:#fee2e2}.solar-metric-card span{font-size:11px;color:#334155;font-weight:650}.solar-metric-card strong{margin-top:3px;font-size:22px;line-height:1;color:#0f172a;letter-spacing:0}.solar-metric-card small{margin-top:6px;color:#16a34a;font-size:11px;font-weight:800}.solar-metric-card.loss small{color:#dc2626}.solar-loss-card{min-height:46px;display:grid;grid-template-columns:132px 1fr;align-items:stretch;border:1px solid var(--solar-border);border-radius:7px;overflow:hidden;background:#fff;box-shadow:var(--shadow-card)}.solar-loss-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-right:1px solid var(--solar-border)}.solar-loss-header h3{margin:0;font-size:12px}.solar-loss-header p{margin:2px 0 0;font-size:10px;color:#0f172a}.solar-loss-header>span{font-size:18px;color:#64748b}.solar-loss-bar{display:none}.solar-loss-list{display:grid;grid-template-columns:repeat(8,minmax(80px,1fr))}.solar-loss-list div{display:grid;gap:2px;align-content:center;padding:7px 11px;border-right:1px solid rgba(226,232,240,.8);font-size:11px}.solar-loss-list div:last-child{border-right:0}.solar-loss-list span{color:#334155;font-weight:650}.solar-loss-list strong{color:#0f172a}.solar-loss-list .direction{background:linear-gradient(90deg,rgba(34,197,94,.18),rgba(34,197,94,.05))}.solar-loss-list .tilt{background:linear-gradient(90deg,rgba(37,99,235,.16),rgba(37,99,235,.04))}.solar-loss-list .weather{background:linear-gradient(90deg,rgba(59,130,246,.14),rgba(59,130,246,.04))}.solar-loss-list .dust{background:linear-gradient(90deg,rgba(249,115,22,.2),rgba(249,115,22,.05))}.solar-loss-list .shading{background:linear-gradient(90deg,rgba(251,146,60,.22),rgba(251,146,60,.06))}.solar-loss-list .temperature{background:linear-gradient(90deg,rgba(239,68,68,.16),rgba(239,68,68,.05))}.solar-loss-list .wiring{background:linear-gradient(90deg,rgba(99,102,241,.15),rgba(99,102,241,.04))}.solar-loss-list .inverter{background:linear-gradient(90deg,rgba(147,51,234,.16),rgba(147,51,234,.04))}.solar-bottom-grid{display:grid;grid-template-columns:170px 150px minmax(220px,1.1fr) minmax(250px,1.2fr) minmax(210px,1fr);gap:6px}.solar-card{min-width:0;min-height:146px;display:flex;flex-direction:column;padding:10px;border:1px solid var(--solar-border);border-radius:7px;background:var(--solar-card);box-shadow:var(--shadow-card)}.solar-card.card-analysis,.solar-card.card-degradation,.solar-card.card-monthly{min-height:172px}.solar-card.card-assumptions,.solar-card.card-financial,.solar-card.card-insights,.solar-card.card-quality,.solar-card.card-report,.solar-card.card-shading{min-height:138px}.card-header{min-height:22px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#0f172a;font-size:12px;font-weight:800}.card-header span{display:inline-flex;align-items:center;gap:6px}.card-link{border:0;background:0 0;color:var(--solar-primary);padding:0;font-size:10px;font-weight:800}.template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.template-item{min-height:53px;display:grid;place-items:center;border:1px solid #dbe3ee;border-radius:4px;background:#f8fafc;position:relative;overflow:hidden}.template-item .solar-btn,.template-item h3,.template-item p,.template-item small{display:none}.template-item::before{content:"";width:38px;height:34px;border:1px solid #aeb8c6;background:linear-gradient(90deg,rgba(148,163,184,.28) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.28) 1px,transparent 1px),#e5e7eb;background-size:7px 7px}.template-item:nth-child(2)::before,.template-item:nth-child(7)::before{clip-path:polygon(0 0,100% 0,100% 48%,54% 48%,54% 100%,0 100%)}.template-item:nth-child(4)::before{width:44px;height:24px}.template-item:nth-child(5)::before{width:48px;height:36px}.template-item.active{border-color:#93c5fd;background:#eff6ff}.panel-list{display:grid;gap:8px}.panel-item{display:none}.panel-item.active{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:start}.panel-preview{width:34px;height:74px;padding:3px;border-radius:3px;border:1px solid #172554;background:#0f172a}.panel-image{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(6,1fr);gap:2px}.panel-cell{border-radius:1px;background:linear-gradient(180deg,#144fb0,#082f7d);border:1px solid rgba(147,197,253,.28)}.panel-details{display:grid;gap:4px;min-width:0}.panel-details h3{margin:0;font-size:12px}.panel-details p,.panel-details small{margin:0;font-size:10px;color:#475569;line-height:1.35}.panel-details .solar-btn{min-height:0;justify-content:flex-end;border:0;padding:2px 0 0;background:0 0;color:var(--solar-primary);font-size:10px}.card-block{display:grid;gap:7px;font-size:11px;color:#475569}.card-block strong{font-size:12px;color:#0f172a}.sun-mini{margin-top:auto;height:76px;position:relative;overflow:hidden}.sun-mini::after,.sun-mini::before{content:"";position:absolute;border-radius:50%}.sun-mini::before{left:50%;bottom:-50px;width:110px;height:110px;border:1px dashed #f59e0b;transform:translateX(-50%)}.sun-mini::after{right:22px;top:14px;width:18px;height:18px;background:#fbbf24;box-shadow:0 0 0 7px rgba(251,191,36,.15)}.weather-facts{display:grid;gap:8px;padding-left:18px;margin:0;color:#334155;font-size:11px;line-height:1.25}.weather-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.weather-chip{min-height:30px;border:1px solid #dbe3ee;border-radius:4px;background:#f8fafc;color:#0f172a;font-size:11px;font-weight:700}.weather-chip.active{border-color:#93c5fd;background:#eff6ff;color:var(--solar-primary)}.chart-panel{width:100%;flex:1;min-height:118px}.shading-preview{height:70px;border-radius:5px;background:linear-gradient(90deg,#2563eb 0,#22c55e 26%,#facc15 54%,#f97316 76%,#ef4444 100%);clip-path:polygon(0 62%,18% 35%,34% 48%,48% 18%,64% 38%,81% 12%,100% 31%,100% 100%,0 100%);box-shadow:inset 0 -16px 24px rgba(15,23,42,.14)}.shading-summary{display:flex;align-items:center;justify-content:space-between;margin-top:7px;color:#334155;font-size:11px}.assumption-list,.insight-list,.quality-list{display:grid;gap:7px;color:#334155;font-size:11px}.assumption-list div,.insight-list div,.quality-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:28px;padding:6px 8px;border:1px solid #e2e8f0;border-radius:5px;background:#f8fafc}.insight-list div{grid-template-columns:auto minmax(0,1fr);align-items:start;line-height:1.35}.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}.assumption-list strong,.quality-list strong{color:#0f172a;font-size:11px}.quality-list .warning span,.quality-list .warning strong{color:#b45309}.quality-list .danger span,.quality-list .danger strong{color:#dc2626}.insight-rank{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#eff6ff;color:#2563eb;font-weight:850;font-size:10px}.card-premium-studio{grid-column:1/-1;min-height:0;gap:2px}.card-premium-studio .card-header{margin-bottom:10px}.premium-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.premium-feature{min-width:0;display:grid;gap:8px;align-content:start;padding:10px;border:1px solid #e2e8f0;border-radius:7px;background:linear-gradient(180deg,#fff,#f8fafc)}.premium-feature-wide{grid-column:span 2}.premium-feature-grid>.premium-feature:nth-child(2){grid-column:span 2}.premium-feature-title{display:flex;align-items:center;gap:6px;min-height:20px;color:#0f172a;font-size:12px;font-weight:850}.advisor-row,.heatmap-summary,.premium-actions,.premium-kpi-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.advisor-row .solar-btn,.card-premium-studio .card-header .solar-btn,.premium-actions .solar-btn{min-height:30px;padding:6px 9px;font-size:11px}.premium-actions select,.premium-feature>select{min-height:30px;min-width:0;border:1px solid #dbe3ee;border-radius:6px;background:#fff;color:#0f172a;padding:5px 8px;font-size:11px;font-weight:750}.premium-roof-reference{min-height:58px;display:grid;place-items:center;padding:8px;border:1px dashed #cbd5e1;border-radius:6px;background:linear-gradient(90deg,rgba(148,163,184,.16) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.16) 1px,transparent 1px),#f8fafc;background-size:14px 14px;color:#475569;font-size:11px;font-weight:750;text-align:center;overflow:hidden}.premium-roof-reference.has-image{min-height:86px;background-position:center;background-size:cover;color:#fff;text-shadow:0 1px 5px rgba(15,23,42,.78)}.premium-feature small,.premium-note{color:#475569;font-size:11px;line-height:1.35}.premium-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;min-height:74px;align-items:end}.premium-bar{min-width:0;display:grid;gap:4px;justify-items:center;color:#334155;font-size:9px;font-weight:750}.premium-bar span:first-child{width:100%;min-height:8px;border-radius:4px 4px 2px 2px;background:#22c55e}.premium-bar.low span:first-child{background:#ef4444}.premium-bar.medium span:first-child{background:#f59e0b}.premium-bar.high span:first-child{background:#16a34a}.heatmap-pill,.layout-row,.premium-kpi{border-radius:6px}.confidence-ring,.heatmap-pill,.layout-row,.premium-kpi{border:1px solid #e2e8f0;background:#fff}.heatmap-pill,.premium-kpi{display:grid;gap:2px;min-width:78px;padding:6px 8px;color:#475569;font-size:10px}.heatmap-pill strong,.premium-kpi strong{color:#0f172a;font-size:12px}.layout-compare,.layout-row{display:grid;gap:5px}.layout-row{grid-template-columns:minmax(78px,1fr) minmax(70px,auto) minmax(70px,auto);align-items:center;gap:8px;min-height:28px;padding:5px 7px;color:#334155;font-size:11px}.layout-row.best{border-color:#86efac;background:#f0fdf4}.layout-row strong{color:#0f172a;font-size:11px}.before-after-visual{min-height:54px}.battery-sim-chart,.before-after-visual,.history-timeline,.variant-gallery{display:grid;gap:6px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;padding:7px;overflow:hidden}.history-timeline,.variant-gallery{min-height:54px}.before-after-visual{grid-template-columns:repeat(2,minmax(0,1fr))}.before-after-pane{min-height:48px;display:grid;align-content:end;gap:4px;padding:6px;border-radius:5px;background:linear-gradient(90deg,rgba(148,163,184,.18) 1px,transparent 1px),linear-gradient(0deg,rgba(148,163,184,.14) 1px,transparent 1px),#f8fafc;background-size:12px 12px;color:#334155;font-size:10px;font-weight:750}.before-after-pane strong{color:#0f172a;font-size:12px}.battery-sim-chart{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;min-height:70px}.battery-bar{min-height:8px;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,#22c55e,#15803d)}.battery-bar.grid{background:linear-gradient(180deg,#f97316,#c2410c)}.history-timeline,.variant-gallery{max-height:118px;overflow-y:auto}.financial-grid div,.history-item,.variant-item{display:grid;border:1px solid #e2e8f0;background:#f8fafc}.history-item,.premium-toggle,.variant-item{align-items:center;color:#334155;font-size:11px}.history-item,.variant-item{width:100%;grid-template-columns:minmax(0,1fr) auto;gap:6px;min-height:28px;border-radius:5px;padding:5px 7px;text-align:left}.history-item strong,.variant-item strong{color:#0f172a;font-size:11px}.history-item.current{border-color:#93c5fd;background:#eff6ff}.premium-toggle{display:flex;gap:8px;font-weight:750}.premium-input-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.premium-input-row.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.premium-input-row label,.selected-editor-grid label{display:grid;gap:4px;color:#334155;font-size:10px;font-weight:750}.advisor-row input,.premium-input-row input{min-width:0;width:100%;min-height:30px;border:1px solid #dbe3ee;border-radius:6px;background:#fff;color:#0f172a;padding:6px 8px;font-size:12px}.advisor-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.confidence-ring{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at center,#fff 0 58%,transparent 59%),conic-gradient(#16a34a var(--confidence, 0%),#e2e8f0 0);color:#0f172a;font-size:22px;font-weight:900}.financial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:11px}.card-financial .financial-grid{grid-template-columns:1fr;gap:6px}.financial-grid div{min-width:0;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:2px 7px;padding:7px 8px;border-radius:6px}.financial-grid div>i,.financial-grid div>svg{grid-column:1;grid-row:1/span 2;width:16px;height:16px;margin-top:1px;color:#2563eb}.financial-grid span,.financial-grid strong{grid-column:2;min-width:0;overflow-wrap:anywhere}.financial-grid span{color:#334155;font-size:10px;line-height:1.25}.financial-grid strong{max-width:100%;justify-self:start;line-height:1.2}.report-layout{display:grid;grid-template-columns:134px minmax(0,1fr);gap:10px;align-items:center}.card-report .report-layout{grid-template-columns:1fr;align-items:stretch}.card-report .report-preview{width:100%;height:80px}.card-report .report-tags{min-width:0}.card-report .report-actions{display:grid;grid-template-columns:34px minmax(0,1fr)}.card-report .report-actions .solar-btn{width:100%;min-width:0;justify-content:center;white-space:normal;line-height:1.2}.report-preview{height:104px;border:1px solid #dbe3ee;border-radius:5px;background:linear-gradient(90deg,rgba(37,99,235,.1) 26%,transparent 26%),linear-gradient(180deg,#fff,#f8fafc);padding:10px;position:relative;overflow:hidden}.report-preview::before{content:"Solar Project Report";position:absolute;top:9px;left:9px;font-size:7px;font-weight:800;color:#0f172a}.report-preview::after{content:"";position:absolute;right:12px;top:22px;width:54px;height:38px;border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.28) 1px,transparent 1px),#0f4cbd;background-size:8px 8px;transform:rotate(-8deg)}.report-tags{display:grid;gap:8px}.report-tags span{min-width:0}.financial-grid strong,.report-tags strong{font-size:11px;color:#0f172a}.report-actions{display:flex;gap:6px;align-items:center}.report-actions .solar-icon-btn{width:32px;color:var(--solar-primary);border-color:#dbe3ee;background:#f8fafc}.report-actions .solar-btn{flex:1;min-height:32px;min-width:0;border-color:#0d6efd;background:#0d6efd;color:#fff;white-space:normal;line-height:1.1;padding:5px 8px}.card-mobile-preview{display:none}.solar-settings-panel{position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;background:#fff;border-left:1px solid var(--solar-border);box-shadow:-8px 0 20px rgba(15,23,42,.04)}.settings-tabs{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);height:48px;border-bottom:1px solid var(--solar-border);background:#fff}.settings-tab{border:0;border-bottom:2px solid transparent;background:#fff;color:#64748b;font-size:12px;font-weight:700}.settings-tab.active{color:#0d6efd;border-bottom-color:#0d6efd}.settings-panel-body{padding:14px 14px 24px}.settings-pane{display:none;gap:14px}.settings-pane.active{display:grid}.selected-object-editor{display:grid;gap:10px;padding:12px;border:1px solid #bfdbfe;border-radius:7px;background:#f8fbff}.selected-editor-empty{color:#64748b;font-size:12px;line-height:1.45}.selected-editor-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.selected-editor-header strong{color:#0f172a;font-size:13px}.report-tags span,.selected-editor-header span{color:#64748b;font-size:11px}.selected-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.selected-editor-grid label{gap:5px;font-size:11px}.selected-editor-grid input,.selected-editor-grid select{min-height:31px;width:100%;border:1px solid #dbe3ee;border-radius:4px;background:#fff;color:#0f172a;padding:6px 8px;font-size:12px}.selected-editor-actions{display:flex;gap:7px;flex-wrap:wrap}.selected-editor-actions .solar-btn{min-height:31px;color:#0f172a;border-color:#dbe3ee;background:#fff}.settings-group{display:grid;grid-template-columns:minmax(120px,1fr) minmax(142px,1.2fr);gap:10px;align-items:center}.settings-group.twin{grid-template-columns:minmax(90px,1fr) minmax(90px,1fr)}.range-with-value span,.settings-group label{color:#111827;font-size:12px;font-weight:700}#current-rate,#panel-size,#recommended-tilt,#subsidy-center,#subsidy-value,#system-size,.roof-details-form input,.roof-details-form select,.settings-group input,.settings-group select,.settings-value,.solar-microtext{min-height:30px;width:100%;border:1px solid #dbe3ee;border-radius:4px;background:#fff;color:#0f172a;padding:6px 10px;font-size:12px}.settings-group input[type=range]{padding:0;accent-color:#0d6efd}.range-with-value{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:10px;align-items:center}.range-with-value span{min-height:28px;display:grid;place-items:center;border:1px solid #dbe3ee;border-radius:4px;background:#f8fafc;font-weight:750}.settings-note{grid-column:1/-1;margin-top:-4px;color:#64748b;font-size:10px}.settings-note #recommended-tilt{display:inline;min-height:0;width:auto;border:0;border-radius:0;background:0 0;padding:0;font-size:inherit}.solar-toast-container{position:fixed;right:18px;top:calc(var(--topbar-h) + 14px);z-index:100;display:grid;gap:8px}.solar-toast{max-width:340px;padding:11px 13px;border-radius:7px;background:rgba(15,23,42,.96);color:#f8fafc;box-shadow:var(--shadow-soft);font-size:13px}.solar-modal{position:fixed;inset:0;width:100vw;max-width:100vw;z-index:90;display:grid;place-items:center;visibility:hidden;opacity:0;padding:20px;background:rgba(15,23,42,.58);transition:opacity .18s ease,visibility .18s ease}.solar-modal.open{visibility:visible;opacity:1}.solar-modal-content{width:min(940px,100%);max-height:min(720px,calc(100vh - 40px));overflow-y:auto;padding:18px;border-radius:10px;background:#fff;box-shadow:0 30px 70px rgba(15,23,42,.24)}.modal-header,.template-detail-btn{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.modal-header h3{margin:0}.modal-header p{margin:4px 0 0;color:#64748b}.template-detail-btn{width:100%;min-height:58px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff;color:#0f172a;text-align:left}.template-detail-btn span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:800}.roof-details-form label,.template-detail-btn small{color:#2563eb;font-size:12px;font-weight:750}.roof-details-content{width:min(560px,100%)}.roof-details-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.roof-details-form label{display:grid;gap:6px;color:#334155}.roof-details-form input,.roof-details-form select{min-height:38px;border-radius:6px;padding:8px 10px;font-size:13px}.roof-details-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.solar-mobile-bar,.solar-mobile-sheet{display:none}.solar-seo-content{max-width:1040px;margin:0 auto;padding:32px 18px 52px;color:#111827}.solar-seo-content section{margin-bottom:24px}.solar-seo-content h2,.solar-seo-content h3{margin:0 0 8px}.solar-seo-content p{margin:0;color:#4b5563;line-height:1.7}.solar-disclaimer{padding:18px;border:1px solid var(--solar-border);border-radius:8px;background:#fff}@media (max-width:1700px){:root{--settings-w:332px}.solar-topbar{grid-template-columns:minmax(430px,1fr) auto}.solar-topbar-center{grid-column:1/-1;grid-row:2;justify-content:flex-start;padding-bottom:8px}.solar-topbar{min-height:96px}.solar-settings-panel,.solar-sidebar{top:96px;height:calc(100vh - 96px)}.solar-grid-shell{min-height:calc(100vh - 96px)}}@media (max-width:1600px){.solar-bottom-grid,.solar-metrics-row{grid-template-columns:repeat(3,minmax(0,1fr))}.card-financial .financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1280px){:root{--sidebar-w:190px;--settings-w:308px}.solar-grid-shell{grid-template-columns:var(--sidebar-w) minmax(520px,1fr) var(--settings-w)}.card-financial .financial-grid,.premium-feature-grid,.solar-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-feature-wide{grid-column:span 1}.premium-feature-grid>.premium-feature:nth-child(2){grid-column:span 1}.solar-metrics-row{grid-template-columns:repeat(3,minmax(0,1fr))}.solar-loss-list{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1060px){.solar-grid-shell{grid-template-columns:minmax(0,1fr) 310px}.solar-sidebar{display:none}}@media (max-width:820px){body.solar-app-page{background:#eef2f6}.solar-topbar{min-height:56px;grid-template-columns:auto 1fr auto;padding:0 8px}.solar-brand{border:0;padding:0}.solar-title{font-size:15px}#print-report-btn,.solar-brand span,.solar-topbar-actions .solar-btn span,.solar-topbar-actions .solar-btn-danger,.solar-topbar-actions .solar-btn-primary,.solar-topbar-center{display:none}.solar-topbar-actions .solar-btn{width:36px;padding:0}.solar-grid-shell{display:block;min-height:auto}.solar-main{display:block;padding:0 0 calc(86px + env(safe-area-inset-bottom))}.solar-canvas-panel{border-radius:0;border-left:0;border-right:0}.solar-canvas-wrapper{height:62vh;min-height:430px}.solar-settings-panel,.solar-sidebar{display:none}.solar-metrics-row{position:sticky;z-index:6;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;width:100vw;max-width:100vw;overflow-x:auto;gap:8px;padding:8px;margin-top:-92px;scroll-snap-type:x mandatory;background:linear-gradient(180deg,transparent,rgba(238,242,246,.96) 36%)}.solar-metric-card{flex:0 0 160px;min-height:78px;scroll-snap-align:start}.solar-bottom-grid,.solar-loss-card{margin:8px}.solar-loss-card{grid-template-columns:1fr}.solar-loss-header{border-right:0;border-bottom:1px solid var(--solar-border)}.solar-loss-list{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-feature-grid,.solar-bottom-grid{grid-template-columns:1fr}.layout-row{grid-template-columns:minmax(0,1fr)}.advisor-row,.premium-input-row,.premium-input-row.compact{grid-template-columns:1fr}.solar-mobile-bar{position:fixed;left:0;right:auto;bottom:0;width:100vw;max-width:100vw;z-index:60;min-height:calc(62px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--solar-border);background:rgba(255,255,255,.98);box-shadow:0 -12px 28px rgba(15,23,42,.12)}.mobile-tab{min-height:50px;border:0;border-radius:8px;background:0 0;color:#64748b;display:grid;place-items:center;gap:2px;font-size:10px;font-weight:750}.mobile-tab svg{width:19px;height:19px}.mobile-tab.active{color:var(--solar-primary);background:#eff6ff}.solar-mobile-sheet{position:fixed;left:0;right:auto;bottom:calc(62px + env(safe-area-inset-bottom));width:100vw;max-width:100vw;z-index:55;display:block;max-height:min(72vh,620px);overflow-y:auto;padding:16px;border-top-left-radius:16px;border-top-right-radius:16px;border:1px solid var(--solar-border);border-bottom:0;background:#fff;box-shadow:0 -22px 48px rgba(15,23,42,.18);transform:translateY(110%);transition:transform .24s ease}.solar-mobile-sheet.open{transform:translateY(0)}.mobile-sheet-grid{display:grid;gap:10px}.mobile-sheet-grid strong{font-size:14px}.mobile-sheet-grid .solar-btn,.mobile-sheet-grid .weather-chip{min-height:44px;justify-content:center;border-color:#dbe3ee;background:#f8fafc;color:#0f172a}.template-detail-btn{align-items:flex-start;flex-direction:column}.roof-details-form{grid-template-columns:1fr}.roof-details-actions{justify-content:stretch}.roof-details-actions .solar-btn{flex:1}}@media (max-width:480px){.solar-title{font-size:13px}.solar-canvas-wrapper{min-height:386px}.card-financial .financial-grid,.financial-grid,.report-layout,.solar-loss-list{grid-template-columns:1fr}}@media print{.solar-mobile-bar,.solar-mobile-sheet,.solar-modal,.solar-settings-panel,.solar-sidebar,.solar-toast-container,.solar-topbar{display:none!important}.solar-grid-shell,.solar-main{display:block}.solar-shell,body.solar-app-page{background:#fff}.solar-canvas-panel,.solar-card,.solar-loss-card,.solar-metric-card{box-shadow:none;break-inside:avoid}}