:root{--forest:#082a24;--forest-deep:#041c18;--forest-soft:#103f35;--green:#1f6b54;--green-2:#2f8a64;--green-3:#5cc7a0;--lime:#c8f36a;--lime-bright:#d9ff7f;--lime-soft:#eef8d2;--cream:#f6f5eb;--cream-2:#eeeee1;--paper:#fffdf6;--ink:#14231e;--ink-soft:#2a3d35;--muted:#718074;--muted-2:#95a094;--line:#e3e7d9;--line-strong:#d2d9c6;--orange:#e98a3c;--orange-2:#f19a53;--orange-soft:#fdf0e2;--blue:#3b8fbe;--blue-soft:#e8f4fa;--red:#cf5f4b;--radius-xl:30px;--radius-lg:22px;--radius:16px;--radius-sm:11px;--shadow-card:0 22px 48px -34px #072a2373, 0 2px 6px #072a230a;--shadow-float:0 18px 38px -18px #051e1a80;--font-body:"IBM Plex Sans Thai", "Noto Sans Thai", "Segoe UI", system-ui, sans-serif;--font-display:"Sora", "IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(900px 520px at 92% -12%, #dcf0b28c 0%, transparent 62%), radial-gradient(760px 420px at -8% 18%, #d6e9d080 0%, transparent 58%), var(--cream);min-width:320px;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.5}body::-webkit-scrollbar{width:11px}body::-webkit-scrollbar-track{background:var(--cream-2)}body::-webkit-scrollbar-thumb{border:3px solid var(--cream-2);background:#c5cdba;border-radius:999px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.25}p{margin:0}a{color:var(--green)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--green-2);outline-offset:2px}::selection{background:var(--lime);color:var(--forest)}.app-shell{align-items:stretch;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{width:100%;max-width:1480px;margin:0 auto;padding:30px 34px 42px}.app-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 18px;margin-top:auto;padding:4px 34px 30px;font-size:10px;display:flex}.page{flex-direction:column;gap:20px;animation:.4s both fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sidebar{z-index:40;color:#e9f3e8;scrollbar-width:thin;scrollbar-color:#c7f36a38 transparent;background:radial-gradient(340px 260px at 16% 0,#c7f36a21 0%,#0000 70%),linear-gradient(168deg,#0c352c 0%,#072720 54%,#041c18 100%);flex-direction:column;flex:0 0 268px;gap:16px;width:268px;height:100vh;padding:26px 17px 20px;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#c7f36a33;border-radius:99px}.brand{align-items:center;gap:11px;padding:0 6px 4px;display:flex}.brand-symbol{width:42px;height:42px;color:var(--forest);background:linear-gradient(140deg,#ddff8b 0%,#b6ec53 100%);border-radius:14px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 10px 22px -10px #c8f36ab3,inset 0 1px #ffffff8c}.brand-symbol.small{border-radius:10px;width:31px;height:31px}.brand-copy{flex-direction:column;gap:1px;display:flex}.brand-copy strong{font-family:var(--font-display);letter-spacing:.14em;color:#f7ffe9;font-size:17px;font-weight:700}.brand-copy small{font-family:var(--font-display);letter-spacing:.2em;color:#c7f36aad;font-size:7.5px}.sidebar-project{background:#ffffff0b;border:1px solid #c7f36a1f;border-radius:14px;align-items:center;gap:10px;padding:10px 11px;display:flex}.sidebar-project-icon{width:31px;height:31px;color:var(--lime);background:#c7f36a24;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.sidebar-project>div:nth-child(2){min-width:0}.sidebar-project span{color:#e2f0d885;letter-spacing:.04em;font-size:8.5px;display:block}.sidebar-project strong{color:#f2fae7;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;display:block;overflow:hidden}.sidebar-project .muted{color:#e2f0d866;margin-left:auto}.sidebar-nav{flex-direction:column;gap:16px;display:flex}.nav-group{flex-direction:column;gap:3px;display:flex}.nav-group-label{color:#c7f36a85;font-family:var(--font-display);letter-spacing:.17em;text-transform:uppercase;margin-bottom:4px;padding:0 11px;font-size:8.5px;font-weight:600}.nav-item{color:#e8f3e2b3;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;width:100%;padding:9px 11px;font-size:12.5px;transition:background .18s,color .18s,border-color .18s;display:flex}.nav-item:hover{color:#f5ffe9;background:#ffffff0f}.nav-item.active{color:#f6ffe6;background:linear-gradient(90deg,#c7f36a2e,#c7f36a08);border-color:#c7f36a33}.nav-icon{color:#c7f36ab8;border-radius:7px;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.nav-item.active .nav-icon{color:var(--lime)}.nav-active-dot{background:var(--lime);border-radius:50%;width:6px;height:6px;margin-left:auto;box-shadow:0 0 10px #c7f36ae6}.sidebar-spacer{flex:1;min-height:10px}.sidebar-program{background:linear-gradient(145deg,#c7f36a24,#c7f36a08);border:1px solid #c7f36a2e;border-radius:15px;gap:10px;padding:12px;display:flex}.program-leaf{width:30px;height:30px;color:var(--lime);background:#c7f36a29;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.sidebar-program span{color:#e4f4d694;font-size:8.5px;display:block}.sidebar-program strong{color:#ecf8d9;margin-top:1px;font-size:10.5px;font-weight:600;display:block}.sidebar-program a{color:var(--lime);align-items:center;gap:2px;margin-top:5px;font-size:9px;text-decoration:none;display:inline-flex}.sidebar-program a:hover{text-decoration:underline}.sidebar-footer{color:#e0eed873;border-top:1px solid #ffffff14;align-items:center;gap:7px;padding-top:13px;font-size:8.5px;display:flex}.status-dot{background:#7ee0a9;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #7ee0a91f}.sidebar-footer button{color:#e0eed88c;background:0 0;border:0;border-radius:6px;place-items:center;width:24px;height:24px;margin-left:auto;display:grid}.sidebar-footer button:hover{color:var(--lime);background:#ffffff14}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f5ebd1;border-bottom:1px solid #d2d9c6b3;align-items:center;gap:18px;min-height:72px;padding:0 34px;display:flex;position:sticky;top:0}.topbar-mobile-brand{align-items:center;gap:8px;display:none}.topbar-mobile-brand strong{font-family:var(--font-display);letter-spacing:.12em;font-size:13px}.breadcrumb{color:var(--muted);align-items:center;gap:8px;font-size:11.5px;display:flex}.breadcrumb-sep{color:var(--muted-2)}.breadcrumb strong{color:var(--ink);font-weight:600}.topbar-right{align-items:center;gap:12px;margin-left:auto;display:flex}.save-state{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:9.5px;display:flex}.save-state svg{color:var(--green-2)}.price-badge svg{margin-right:1px}.topbar-price{border-left:1px solid var(--line-strong);text-align:right;white-space:nowrap;padding-left:12px}.topbar-price span{color:var(--muted);font-size:8.5px;display:block}.topbar-price strong{color:var(--forest);font-family:var(--font-display);font-size:12.5px;font-weight:600;display:block}.avatar{width:35px;height:35px;color:var(--lime-bright);background:linear-gradient(145deg,#174d40,#082a24);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid;box-shadow:inset 0 0 0 1px #c7f36a38}.mobile-nav{display:none}.btn{white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-size:12px;font-weight:600;line-height:1.1;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{color:#f3ffe4;background:linear-gradient(135deg,#1c6a51,#0a3b30);box-shadow:0 12px 24px -14px #0b3d32cc}.btn-primary:hover{box-shadow:0 16px 28px -14px #0b3d32e6}.btn-secondary{border-color:var(--line-strong);color:var(--ink-soft);background:#fffdf7}.btn-secondary:hover{background:#fbfcf4;border-color:#b9c7ad}.btn-lime{color:#123529;background:linear-gradient(135deg,#d8ff83,#b3e84b);box-shadow:0 12px 24px -14px #96c837b3}.btn-dark{color:#effae4;background:#0b2b26}.btn-dark:hover{background:#103c32}.btn-ghost{border-color:var(--line-strong);color:var(--ink-soft);background:0 0}.btn-ghost:hover{background:#fff9}.btn-ghost-light{color:#eefbe7;background:#ffffff14;border-color:#ffffff2e}.btn-ghost-light:hover{background:#ffffff26}.btn-block{width:100%}.btn-icon{padding:9px 11px}.link-button{color:var(--green);background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:10.5px;font-weight:600;display:inline-flex}.link-button:hover{color:var(--forest);text-decoration:underline}.icon-button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);background:#fff;border-radius:9px;place-items:center;transition:background .16s,border-color .16s;display:grid}.icon-button:hover{border-color:var(--green-2);background:var(--lime-soft)}.card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-card);border:1px solid #e0e5d6f2;padding:23px;position:relative}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;padding:3px 0 1px;display:flex}.page-header-copy{max-width:790px}.eyebrow{color:var(--green-2);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:600;display:inline-block}.page-header h1{letter-spacing:-.03em;font-size:clamp(25px,2.8vw,35px);line-height:1.16}.page-header p{max-width:730px;color:var(--muted);margin-top:7px;font-size:12.5px;line-height:1.6}.page-header-actions{flex-wrap:wrap;gap:9px;display:flex}.section-title{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.section-title-copy{align-items:flex-start;gap:11px;display:flex}.section-icon{background:var(--lime-soft);width:36px;height:36px;color:var(--green);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.section-eyebrow{color:var(--muted);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;margin-bottom:2px;font-size:8px;font-weight:600;display:block}.section-title h2{letter-spacing:-.02em;font-size:15.5px}.section-title p{color:var(--muted);margin-top:3px;font-size:10.5px;line-height:1.5}.section-action{flex-shrink:0;align-self:center}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:9.5px;font-weight:600;line-height:1.2;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:5px;height:5px;box-shadow:0 0 6px}.badge-lime{color:#46661a;background:#f1fad2;border-color:#d8eab2}.badge-green{color:#1f6b54;background:#e9f6e6;border-color:#cbe4c6}.badge-orange{background:var(--orange-soft);color:#a45c1c;border-color:#f1dcc2}.badge-blue{background:var(--blue-soft);color:#2c6d94;border-color:#cfe3f0}.badge-neutral{color:#66736a;background:#f2f3eb;border-color:#e1e5d8}.badge-red{color:#a84a38;background:#fcece8;border-color:#f0d3cc}.badge-dark{color:#d9ff9a;background:#0b2b26;border-color:#c7f36a38}.stats-grid,.equipment-top-stats,.finance-kpi-grid,.reference-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-card);border-radius:19px;padding:17px 17px 15px;position:relative;overflow:hidden}.stat-card:before{content:"";background:radial-gradient(closest-side,#c7f36a2e,#0000 70%);border-radius:50%;width:110px;height:110px;position:absolute;top:-40px;right:-40px}.stat-card-top{align-items:center;gap:8px;display:flex}.stat-icon{width:29px;height:29px;color:var(--green);background:#f1f5e5;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.stat-label{color:var(--muted);font-size:9.5px;line-height:1.3}.stat-value{z-index:1;color:var(--ink);font-family:var(--font-display);letter-spacing:-.03em;margin-top:11px;font-size:clamp(20px,1.9vw,25px);font-weight:600;line-height:1.1;position:relative}.stat-value small{color:var(--muted);font-family:var(--font-body);letter-spacing:0;font-size:9.5px;font-weight:500}.stat-sub{color:var(--muted);margin-top:4px;font-size:9.5px;line-height:1.4}.stat-lime{background:linear-gradient(150deg,#f8fde8 0%,#fffdf6 72%);border-color:#dce8c1}.stat-lime .stat-icon{color:#4d6b1c;background:#e9f8c2}.stat-orange{background:linear-gradient(150deg,#fff9f0 0%,#fffdf6 72%);border-color:#f0e2cf}.stat-orange .stat-icon{color:#a86120;background:#fdeed9}.stat-blue{background:linear-gradient(150deg,#f4faff 0%,#fffdf6 72%);border-color:#d9e6ef}.stat-blue .stat-icon{color:#2f7399;background:#e4f1f9}.stat-dark{color:#f2fbe8;background:linear-gradient(150deg,#0d382e,#082720);border-color:#c7f36a1f}.stat-dark .stat-icon{color:var(--lime);background:#c7f36a24}.stat-dark .stat-label,.stat-dark .stat-sub,.stat-dark .stat-value small{color:#e4f2da94}.stat-dark .stat-value{color:#f4ffe7}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field-label{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:600;display:flex}.field-hint{color:var(--muted);font-size:9.5px;font-weight:400}.field input[type=text],.field input[type=number],.field select{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fbfcf5;border-radius:9px;outline:none;padding:10px 11px;font-size:12px;transition:border-color .16s,box-shadow .16s,background .16s}.field input:focus,.field select:focus{border-color:var(--green-2);background:#fff;box-shadow:0 0 0 3px #2f8a641f}.select-wrap{position:relative}.select-wrap .select-icon{z-index:1;color:var(--green-2);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.select-wrap select{appearance:none;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='%23718074' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-left:34px}.money-input{border:1px solid var(--line-strong);background:#fbfcf5;border-radius:9px;align-items:center;gap:5px;padding:0 11px;transition:border-color .16s,box-shadow .16s;display:flex}.money-input:focus-within{border-color:var(--green-2);background:#fff;box-shadow:0 0 0 3px #2f8a641f}.money-input>span{color:var(--muted);font-size:11px}.money-input input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:9px 0;font-size:12px}.money-input small{color:var(--muted);white-space:nowrap;font-size:9px}.money-input.compact input{padding:7px 0}input[type=range]{background:linear-gradient(to right, var(--green-2) 0%, var(--green-2) var(--range-progress,35%), #e4e8db var(--range-progress,35%), #e4e8db 100%);appearance:none;cursor:pointer;border-radius:999px;outline:none;width:100%;height:5px}input[type=range]::-webkit-slider-thumb{border:4px solid var(--green-2);appearance:none;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #082a243d}input[type=range]::-moz-range-thumb{border:4px solid var(--green-2);background:#fff;border-radius:50%;width:10px;height:10px;box-shadow:0 2px 6px #082a243d}.range-field{border:1px solid var(--line);background:#fafbf4;border-radius:13px;padding:14px}.range-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.range-head .field-label{justify-content:flex-start}.range-hint{color:var(--muted);margin-top:3px;font-size:9.5px;line-height:1.45}.range-value{color:var(--green);font-family:var(--font-display);flex-shrink:0;font-size:19px;font-weight:600;line-height:1}.range-value small{color:var(--muted);font-family:var(--font-body);margin-left:3px;font-size:9px;font-weight:400}.range-wrap{margin:13px 0 4px}.range-ticks{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.range-tick{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:4px 8px;font-size:9px;transition:background .16s,color .16s}.range-tick:hover{background:#eef1e4}.range-tick.active{background:var(--lime-soft);color:var(--green);font-weight:600}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;display:flex}.toggle-row>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.toggle-label{color:var(--ink-soft);font-size:11.5px;font-weight:600;display:block}.toggle-description{color:var(--muted);margin-top:2px;font-size:9.5px;line-height:1.4;display:block}.toggle-control{background:#dde2d4;border-radius:999px;flex-shrink:0;width:40px;height:22px;transition:background .18s;position:relative}.toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #082a2438}.toggle-row input:checked+.toggle-control{background:var(--green-2)}.toggle-row input:checked+.toggle-control .toggle-thumb{transform:translate(18px)}.progress{background:#e9ecdf;border-radius:999px;height:7px;overflow:hidden}.progress-fill{border-radius:inherit;height:100%;transition:width .6s;display:block}.progress-green{background:linear-gradient(90deg,#2f8a64,#52b98b)}.progress-lime{background:linear-gradient(90deg,#b6e84d,#d8ff83)}.progress-orange{background:linear-gradient(90deg,#e98a3c,#f4b26c)}.progress-blue{background:linear-gradient(90deg,#3b8fbe,#6cc7ff)}.info-note{border:1px solid var(--line);color:var(--ink-soft);background:#f6f7ef;border-radius:11px;gap:9px;padding:11px 13px;font-size:10.5px;line-height:1.55;display:flex}.info-note-icon{flex-shrink:0;margin-top:1px}.note-lime{color:#46661a;background:#f4fbe2;border-color:#dcebc0}.note-orange{color:#8c571f;background:#fdf4e8;border-color:#f0dcc2}.note-blue{color:#2f6c8f;background:#eff7fc;border-color:#d6e7f1}.key-value{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:10.5px;display:flex}.key-value span{color:var(--muted)}.key-value strong{color:var(--ink);font-family:var(--font-display);font-size:11px;font-weight:600}.key-value.strong strong{color:var(--green);font-size:13px}.brand-mark{width:34px;height:34px;font-family:var(--font-display);letter-spacing:.02em;border:1px solid #0000;border-radius:10px;flex-shrink:0;place-items:center;font-size:10px;font-weight:700;display:grid}.brand-small{border-radius:8px;width:27px;height:27px;font-size:8.5px}.brand-large{border-radius:13px;width:44px;height:44px;font-size:12px}.text-lime{color:#4f7c1d!important}.text-orange{color:var(--orange)!important}.muted{color:var(--muted)}.flex{align-items:center;gap:4px;display:flex}.right{text-align:right}.bom-table-wrap{border:1px solid var(--line);background:#fffefa;border-radius:13px;overflow-x:auto}.bom-table,.quote-table{border-collapse:collapse;width:100%;font-size:10.5px}.bom-table th,.quote-table th{border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--font-display);letter-spacing:.12em;text-align:left;text-transform:uppercase;padding:9px 11px;font-size:8px;font-weight:600}.bom-table td,.quote-table td{vertical-align:top;border-bottom:1px solid #eef0e6;padding:10px 11px}.bom-table td>strong,.quote-table td>strong{font-weight:600}.bom-table td>span,.quote-table td>span{color:var(--muted);margin-top:2px;font-size:9px;line-height:1.4;display:block}.bom-table .group-row td{color:var(--green);font-family:var(--font-display);letter-spacing:.11em;text-transform:uppercase;background:#f3f6e9;border-bottom:1px solid #e5e9d9;padding:7px 11px;font-size:8px;font-weight:600}.bom-table tfoot td{border-top:1px solid var(--line);color:var(--muted);padding:9px 11px;font-size:10.5px}.bom-table tfoot .grand-total td{border-top:1.5px solid var(--forest);color:var(--ink);font-family:var(--font-display);background:#f6f8ee;font-size:12px;font-weight:600}.bom-table tfoot .incentive-row td{color:var(--green)}.bom-table tfoot .net-total td{color:#eaf7dc;font-family:var(--font-display);background:#0d342c;font-size:12px;font-weight:600}.bom-table tfoot .net-total td.right{color:var(--lime)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.empty-icon{background:var(--lime-soft);width:56px;height:56px;color:var(--green);border-radius:18px;place-items:center;display:grid}.empty-state h3{font-size:15px}.empty-state p{max-width:380px;color:var(--muted);font-size:11px}.chart-card{padding:22px}.chart-area{width:100%;margin-top:4px}.recharts-responsive-container{overflow:visible}.recharts-text{font-family:var(--font-body)}.recharts-cartesian-axis-tick-value{font-size:10px}.chart-legend{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin:4px 0 8px;display:flex}.chart-legend-items{flex-wrap:wrap;gap:6px 14px;display:flex}.chart-legend-item{color:var(--muted);align-items:center;gap:5px;font-size:9.5px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.legend-dot.dashed{border-radius:2px;width:9px;height:2px}.chart-highlight{text-align:right}.chart-highlight span{color:var(--muted);font-size:8.5px;display:block}.chart-highlight strong{color:var(--green);font-family:var(--font-display);font-size:14px;font-weight:600;display:block}.chart-current-time{color:var(--muted);align-items:center;gap:4px;font-size:9px;display:inline-flex}.chart-tooltip{box-shadow:var(--shadow-float);color:#eef8e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#082a24f5;border:1px solid #c7f36a2e;border-radius:11px;padding:9px 11px;font-size:10px}.chart-tooltip-label{color:#f4ffe8;border-bottom:1px solid #ffffff1a;margin-bottom:5px;padding-bottom:5px;font-weight:600}.chart-tooltip-row{align-items:center;gap:6px;padding:1.5px 0;display:flex}.chart-tooltip-row strong{color:var(--lime);font-family:var(--font-display);margin-left:auto;font-size:10px;font-weight:600}.donut-layout{grid-template-columns:minmax(210px,.85fr) minmax(0,1fr);align-items:center;gap:14px;display:grid}.donut-wrap{place-items:center;min-height:250px;display:grid;position:relative}.donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.03em;font-size:25px;font-weight:600;line-height:1}.donut-center span{color:var(--muted);margin-top:3px;font-size:9.5px}.donut-center small{color:var(--muted-2);margin-top:1px;font-size:8.5px}.energy-legend{flex-direction:column;gap:7px;display:flex}.energy-legend-row{border-bottom:1px dashed var(--line);grid-template-columns:11px minmax(0,1fr) auto auto;align-items:center;gap:7px;padding-bottom:6px;font-size:10px;display:grid}.energy-legend-row>span:nth-child(2){color:var(--muted)}.energy-legend-row strong{color:var(--ink);font-family:var(--font-display);font-size:10.5px;font-weight:600}.energy-legend-row small{color:var(--muted-2);text-align:right;font-size:8.5px}.energy-summary{background:#f4f7ea;border-radius:11px;align-items:center;gap:10px;margin-top:5px;padding:10px 12px;display:flex}.energy-summary>div{flex:1}.energy-summary span{color:var(--muted);font-size:8.5px;display:block}.energy-summary strong{color:var(--ink);font-family:var(--font-display);font-size:14px;font-weight:600;display:block}.energy-summary strong small{color:var(--muted);font-family:var(--font-body);margin-left:1px;font-size:8px;font-weight:400}.energy-summary>svg{color:var(--green-2);flex-shrink:0}.export-income{color:#46661a;background:#effad4;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;font-size:9.5px;display:flex}.export-income span{align-items:center;gap:4px;display:flex}.export-income strong{font-family:var(--font-display);font-size:10.5px;font-weight:600}.cashflow-foot{border-top:1px dashed var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-top:10px;padding-top:9px;font-size:9px;display:flex}.cashflow-foot span{align-items:center;gap:4px;display:inline-flex}.cashflow-foot svg{color:var(--green-2)}.overview-hero-grid{grid-template-columns:minmax(0,1.62fr) minmax(300px,.82fr);gap:16px;display:grid}.hero-card{color:#f2f8e9;background:linear-gradient(138deg,#0a3029 0%,#0c392f 46%,#124336 100%);border:0;grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr);min-height:408px;padding:0;display:grid;overflow:hidden;box-shadow:0 28px 60px -34px #052820bf}.hero-card:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#c7f36a33,#0000 70%);border-radius:50%;width:440px;height:440px;position:absolute;top:-140px;right:-60px}.hero-card:after{content:"";pointer-events:none;background:radial-gradient(closest-side at 70% 80%,#5cc7a021,#0000 70%);width:55%;height:60%;position:absolute;bottom:0;right:0}.hero-copy{z-index:2;flex-direction:column;justify-content:center;padding:30px 6px 28px 30px;display:flex;position:relative}.hero-badges{flex-wrap:wrap;gap:6px;display:flex}.hero-kicker{color:#d6efcab3;letter-spacing:.02em;margin-top:17px;font-size:10.5px;display:block}.hero-copy h2{color:#f4ffe8;letter-spacing:-.045em;margin-top:3px;font-size:clamp(31px,3.7vw,46px);line-height:1.08}.hero-copy h2 span{color:var(--lime)}.hero-copy>p{color:#e6f4dfad;max-width:430px;margin-top:9px;font-size:11px;line-height:1.65}.hero-metrics{flex-wrap:wrap;gap:10px 24px;margin-top:20px;display:flex}.hero-metrics>div{min-width:88px}.hero-metrics span{color:#d6efca85;font-size:8.5px;display:block}.hero-metrics strong{color:#f2ffe5;font-family:var(--font-display);letter-spacing:-.02em;margin-top:1px;font-size:16px;font-weight:600;display:block}.hero-metrics strong small{color:#d6efca8c;font-family:var(--font-body);margin-left:2px;font-size:8.5px;font-weight:400}.hero-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.hero-art{place-items:center;min-height:340px;padding:14px 8px 14px 0;display:grid;position:relative}.hero-art-glow{filter:blur(16px);background:radial-gradient(closest-side,#d7ff7a4d,#0000 72%);border-radius:50%;position:absolute;inset:12% 4% 12% 10%}.hero-scene{z-index:1;width:100%;max-width:560px;height:auto;animation:7s ease-in-out infinite sceneFloat;position:relative}@keyframes sceneFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.sun-glow{transform-origin:420px 88px;animation:6s ease-in-out infinite sunBreath}@keyframes sunBreath{0%,to{opacity:.8;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}.sun-orb{transform-origin:420px 88px;animation:60s linear infinite sunTurn}@keyframes sunTurn{to{transform:rotate(360deg)}}.drift{animation:16s ease-in-out infinite alternate cloudDrift}.cloud-two{animation-duration:22s;animation-direction:alternate-reverse}@keyframes cloudDrift{0%{transform:translate(-8px)}to{transform:translate(14px)}}.float-battery{animation:5.5s ease-in-out infinite chipFloat}.float-chip{animation:6.4s ease-in-out .7s infinite chipFloat}.float-leaf{transform-origin:210px 120px;animation:8s ease-in-out infinite leafSway}@keyframes chipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes leafSway{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}.flow-line{animation:3.6s linear infinite flowLine}.flow-line.delay{animation-delay:1.8s}@keyframes flowLine{to{stroke-dashoffset:-20px}}.hero-float-card{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#051e1ac2;border:1px solid #c7f36a33;border-radius:12px;align-items:center;gap:8px;padding:8px 11px;animation:6s ease-in-out infinite chipFloat;display:flex;position:absolute;box-shadow:0 18px 30px -18px #0009}.hero-float-card.float-savings{bottom:48px;left:0}.hero-float-card.float-co2{animation-delay:1.2s;top:32px;right:2px}.float-icon{background:var(--lime);width:28px;height:28px;color:var(--forest);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.float-icon.green{background:#9ff0c5}.hero-float-card small{color:#def0d39e;font-size:7.5px;line-height:1.2;display:block}.hero-float-card strong{color:#f3ffe8;font-family:var(--font-display);font-size:11px;font-weight:600;line-height:1.3;display:block}.status-card{flex-direction:column;gap:13px;padding:22px;display:flex}.status-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.status-card-head h3{font-size:14px}.health-score{color:var(--green);font-family:var(--font-display);letter-spacing:-.04em;font-size:28px;font-weight:600;line-height:1}.health-score small{color:var(--muted);font-size:10px;font-weight:400}.status-list{flex-direction:column;gap:10px;display:flex}.status-row{align-items:flex-start;gap:9px;display:flex}.status-check{border-radius:50%;flex-shrink:0;place-items:center;width:21px;height:21px;font-size:8.5px;font-weight:600;display:grid}.status-row.done .status-check{color:#2b7a56;background:#e7f5e9}.status-row.current .status-check{background:var(--forest);color:var(--lime)}.status-row>div strong{color:var(--ink);font-size:10.5px;font-weight:600;line-height:1.35;display:block}.status-row>div span{color:var(--muted);margin-top:1px;font-size:9px;line-height:1.4;display:block}.size-advice{border:1px solid var(--line);background:#f5f8ec;border-radius:11px;align-items:center;gap:9px;padding:9px 10px;display:flex}.size-advice-icon{width:31px;height:31px;color:var(--green);background:#e8f3d6;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.size-advice>div:nth-child(2){min-width:0}.size-advice span{color:var(--muted);font-size:8px;display:block}.size-advice strong{color:var(--ink);align-items:center;gap:5px;margin-top:1px;font-size:11px;font-weight:600;display:flex}.size-advice>button{width:26px;height:26px;color:var(--green);background:#fff;border:0;border-radius:7px;flex-shrink:0;place-items:center;margin-left:auto;display:grid}.size-advice>button:hover{background:var(--lime-soft)}.status-card .btn-dark{margin-top:auto}.payback-card{flex-direction:column;padding:22px;display:flex}.payback-ring-wrap{place-items:center;padding:8px 0 12px;display:grid}.payback-ring{border-radius:50%;place-items:center;width:168px;height:168px;display:grid;box-shadow:inset 0 0 0 1px #0b2b260a}.payback-ring-inner{background:var(--paper);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:132px;height:132px;display:flex}.payback-ring-inner span{color:var(--muted);font-size:8.5px}.payback-ring-inner strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.05em;font-size:34px;font-weight:600;line-height:1.1}.payback-ring-inner small{color:var(--muted);font-size:9px}.payback-numbers{flex-direction:column;gap:5px;margin-bottom:4px;display:flex}.payback-numbers>div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding:5px 0;font-size:10px;display:flex}.payback-numbers span{color:var(--muted)}.payback-numbers strong{color:var(--ink);font-family:var(--font-display);font-size:11px;font-weight:600}.payback-tag{color:#4d681f;background:#f3f9e3;border:1px solid #e1ecc8;border-radius:9px;align-items:center;gap:6px;margin:10px 0;padding:8px 10px;font-size:9.5px;display:flex}.payback-tag svg{color:#6f9427;flex-shrink:0}.payback-tag strong{font-family:var(--font-display);font-size:10px}.dashboard-grid{gap:16px;display:grid}.dashboard-grid.two-one,.dashboard-grid.chart-equipment{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr)}.equipment-summary{flex-direction:column;padding:22px;display:flex}.equipment-list{flex-direction:column;gap:11px;display:flex}.equipment-row{border-bottom:1px dashed var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding-bottom:10px;display:grid}.equipment-row>div>span{color:var(--muted);font-size:8px;display:block}.equipment-row>div>strong{color:var(--ink);font-size:10.5px;font-weight:600;line-height:1.35;display:block}.equipment-row>div>small{color:var(--muted);margin-top:1px;font-size:8.5px;line-height:1.35;display:block}.equipment-price{color:var(--ink-soft);font-family:var(--font-display);white-space:nowrap;font-size:10px;font-weight:600}.battery-brand{color:var(--green)!important;background:#eef5e7!important;border-color:#dde9cf!important}.equipment-total{background:#f4f7ea;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:11px 13px;display:flex}.equipment-total span{color:var(--muted);font-size:8.5px;display:block}.equipment-total strong{color:var(--forest);font-family:var(--font-display);font-size:15px;font-weight:600;display:block}.equipment-note{color:var(--muted);align-items:flex-start;gap:5px;margin-top:9px;font-size:8.5px;line-height:1.4;display:flex}.equipment-note svg{color:var(--green-2);flex-shrink:0;margin-top:1px}.next-step-banner{color:#edf8e3;background:radial-gradient(400px 200px at 80% 120%,#c7f36a2e,#0000 65%),linear-gradient(120deg,#0c332b,#09241f);border:0;align-items:center;gap:16px;padding:24px 26px;display:flex;overflow:hidden;box-shadow:0 24px 50px -32px #05201ab3}.next-step-icon{width:52px;height:52px;color:var(--forest);background:linear-gradient(140deg,#d8ff83,#b3e84b);border-radius:16px;flex-shrink:0;place-items:center;display:grid;box-shadow:0 10px 24px -12px #c7f36ab3}.next-step-banner>div:nth-child(2){flex:1;min-width:0}.next-step-banner .eyebrow{color:#c7f36aad;margin-bottom:3px}.next-step-banner h3{color:#f2ffe6;letter-spacing:-.02em;font-size:15px}.next-step-banner p{color:#e2f2d9a3;margin-top:4px;font-size:10px;line-height:1.55}.next-step-actions{flex-shrink:0;gap:8px;display:flex}.next-step-banner .btn-secondary{color:#eefbe6;background:#ffffff12;border-color:#ffffff2e}.next-step-banner .btn-secondary:hover{background:#ffffff21}.design-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.design-main{flex-direction:column;gap:16px;min-width:0;display:flex}.design-summary{flex-direction:column;gap:14px;display:flex;position:sticky;top:90px}.form-card{padding:23px}.form-card-head{align-items:center;gap:11px;margin-bottom:20px;display:flex}.form-card-head>div:nth-child(2){min-width:0}.form-card-head h3{font-size:14.5px}.form-card-head p{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.45}.form-card-head>.badge{margin-left:auto}.step-chip{background:var(--forest);width:33px;height:33px;color:var(--lime);font-family:var(--font-display);letter-spacing:.04em;border-radius:10px;flex-shrink:0;place-items:center;font-size:10px;font-weight:600;display:grid}.capacity-editor{border:1px solid var(--line);background:#f6f8ee;border-radius:15px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.capacity-step{border:1px solid var(--line-strong);width:38px;height:38px;color:var(--ink);font-family:var(--font-display);background:#fff;border-radius:11px;flex-shrink:0;place-items:center;font-size:19px;line-height:1;transition:border-color .16s,background .16s;display:grid}.capacity-step:hover{border-color:var(--green-2);background:var(--lime-soft);color:var(--green)}.capacity-input-wrap{align-items:baseline;gap:5px;display:flex}.capacity-input-wrap input{width:116px;color:var(--forest);font-family:var(--font-display);letter-spacing:-.04em;background:0 0;border:0;outline:0;padding:0;font-size:33px;font-weight:600;line-height:1.1}.capacity-input-wrap span{color:var(--muted);font-size:11px}.capacity-note{border-left:1px dashed var(--line-strong);margin-left:auto;padding-left:16px}.capacity-note span{color:var(--muted);font-size:8.5px;display:block}.capacity-note strong{color:var(--green);font-family:var(--font-display);font-size:14px;font-weight:600;display:block}.capacity-note small{color:var(--muted);font-size:8.5px;display:block}.log-slider{margin-top:15px}.log-slider>input{width:100%}.log-slider-labels{justify-content:space-between;margin-top:5px;display:flex}.log-slider-labels button{color:var(--muted);background:0 0;border:0;padding:2px 0;font-size:8.5px}.log-slider-labels button.active{color:var(--green);font-weight:700}.capacity-presets{flex-wrap:wrap;gap:6px;margin-top:13px;display:flex}.preset-chip{border:1px solid var(--line);text-align:left;background:#fbfcf6;border-radius:9px;flex-direction:column;align-items:flex-start;padding:7px 11px;transition:border-color .16s,background .16s;display:flex}.preset-chip span{color:var(--ink);font-size:10px;font-weight:600}.preset-chip small{color:var(--muted);font-size:8px}.preset-chip:hover{border-color:#b8c9a8}.preset-chip.active{background:var(--lime-soft);border-color:#a9cd72}.preset-chip.active span,.preset-chip.active small{color:#426419}.capacity-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:16px;display:grid}.capacity-facts>div{background:#f8f9f1;border-radius:10px;flex-direction:column;gap:2px;padding:9px 11px;display:flex}.capacity-facts svg{color:var(--green-2)}.capacity-facts span{color:var(--muted);font-size:8.5px}.capacity-facts strong{color:var(--ink);font-size:10.5px;font-weight:600}.recommend-inline{color:#46661a;background:#f4fbe4;border:1px solid #dfecc3;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:11px;padding:9px 11px;font-size:9.5px;display:flex}.recommend-inline>div{align-items:center;gap:5px;line-height:1.4;display:flex}.recommend-inline svg{flex-shrink:0}.recommend-inline button{background:var(--forest);color:var(--lime);white-space:nowrap;border:0;border-radius:7px;padding:5px 9px;font-size:9px;font-weight:600}.form-grid{gap:14px;display:grid}.form-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.solar-yield-box{background:linear-gradient(135deg,#f1f9de,#fbfcf3);border:1px solid #dfeac4;border-radius:13px;align-items:center;gap:9px;padding:11px 13px;display:flex}.yield-icon{color:#577d1d;background:#e7f6c8;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.solar-yield-box span{color:var(--muted);font-size:8px;display:block}.solar-yield-box strong{color:var(--forest);font-family:var(--font-display);font-size:12.5px;font-weight:600;display:block}.solar-yield-box small{color:var(--muted);font-size:8.5px;display:block}.system-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px;display:grid}.system-type-card{border:1px solid var(--line);text-align:left;background:#fbfcf6;border-radius:12px;align-items:flex-start;gap:8px;padding:11px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex;position:relative}.system-type-card:hover{border-color:#bacba9}.system-type-card.active{background:#f5fbe6;border-color:#a4c96b;box-shadow:inset 0 0 0 1px #a4c96b4d}.system-type-icon{width:30px;height:30px;color:var(--green);background:#eef3e2;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.system-type-card.active .system-type-icon{color:#4f701c;background:#e4f5c2}.system-type-card>span:nth-child(2){min-width:0}.system-type-card strong{color:var(--ink);font-size:10.5px;font-weight:600;display:block}.system-type-card small{color:var(--muted);margin-top:1px;font-size:8.5px;line-height:1.4;display:block}.select-check{border:1px solid var(--line-strong);color:#0000;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;margin-left:auto;display:grid}.system-type-card.active .select-check,.incentive-card.active .select-check{border-color:var(--green);background:var(--green);color:#fff}.roof-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:2px;display:grid}.roof-card{border:1px solid var(--line);text-align:left;background:#fbfcf6;border-radius:11px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 11px;transition:border-color .16s,background .16s;display:flex}.roof-card svg{color:var(--green-2);margin-bottom:2px}.roof-card strong{color:var(--ink);font-size:10px;font-weight:600}.roof-card small{color:var(--muted);font-size:8.5px;line-height:1.35}.roof-card em{color:var(--green);font-family:var(--font-display);margin-top:2px;font-size:8px;font-style:normal;font-weight:600}.roof-card:hover{border-color:#b9cba8}.roof-card.active{background:#f5fbe6;border-color:#a4c96b}.shading-row{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:15px;display:flex}.shading-row .field-label{justify-content:flex-start}.shading-row p{color:var(--muted);margin-top:2px;font-size:9px}.shading-options{flex-wrap:wrap;gap:5px;display:flex}.shading-options button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:6px 10px;font-size:9.5px}.shading-options button.active{border-color:var(--forest);background:var(--forest);color:var(--lime);font-weight:600}.bill-quick{flex-wrap:wrap;gap:5px;margin:10px 0 18px;display:flex}.bill-quick button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:5px 9px;font-size:9px}.bill-quick button.active{background:var(--lime-soft);color:#426419;border-color:#a9cd72;font-weight:600}.kwh-result{background:linear-gradient(135deg,#f2f9e2,#fbfcf6 72%);border:1px solid #dce8c6;border-radius:14px;grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr);align-items:center;gap:12px;margin:0 0 18px;padding:14px;display:grid}.kwh-main{align-items:center;gap:10px;min-width:0;display:flex}.kwh-main>div{min-width:0}.kwh-main-icon{background:var(--forest);width:38px;height:38px;color:var(--lime);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.kwh-main span{color:var(--muted);font-size:8.5px;display:block}.kwh-main strong{color:var(--forest);font-family:var(--font-display);overflow-wrap:anywhere;margin-top:1px;font-size:21px;line-height:1.15;display:block}.kwh-main strong em,.kwh-metrics strong em{color:var(--muted);font-family:var(--font-body);font-size:9px;font-style:normal;font-weight:500}.kwh-main small{color:var(--muted);margin-top:2px;font-size:8px;line-height:1.4;display:block}.kwh-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.kwh-metrics>div{background:#ffffffb8;border-radius:10px;min-width:0;padding:8px 9px}.kwh-metrics span{color:var(--muted);font-size:8px;display:block}.kwh-metrics strong{color:var(--ink);overflow-wrap:anywhere;margin-top:1px;font-size:10.5px;font-weight:600;display:block}.kwh-compare{color:var(--muted);border-top:1px dashed #d6e4bf;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:7px;padding-top:10px;font-size:9.5px;line-height:1.45;display:flex}.kwh-compare>span{flex:210px;min-width:0}.kwh-compare .badge{margin-left:auto}.usage-estimate{background:#f5f8ec;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px;padding:12px 13px;display:grid}.usage-estimate span{color:var(--muted);font-size:8.5px;display:block}.usage-estimate strong{color:var(--ink);margin-top:1px;font-size:11px;font-weight:600;display:block}.incentive-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px;display:grid}.incentive-card{border:1px solid var(--line);text-align:left;background:#fbfcf6;border-radius:12px;flex-direction:column;align-items:flex-start;gap:5px;padding:11px;transition:border-color .16s,background .16s;display:flex;position:relative}.incentive-card:hover{border-color:#b9cba8}.incentive-card.active{background:#f5fbe6;border-color:#a4c96b}.incentive-card.disabled{opacity:.5;cursor:not-allowed}.incentive-card.disabled:hover{border-color:var(--line)}.incentive-head{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.incentive-icon{width:29px;height:29px;color:var(--green);background:#f0f4e6;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.incentive-card>strong{color:var(--ink);font-size:10.5px;font-weight:600}.incentive-card>small{color:var(--muted);font-size:8.5px;line-height:1.42}.incentive-card>em{color:var(--orange);font-size:8px;font-style:normal;line-height:1.35}.incentive-card .select-check{position:absolute;bottom:9px;right:9px}.export-scheme-note{color:var(--muted);background:#f3f8ec;border-radius:9px;flex-wrap:wrap;align-items:center;gap:7px;margin:14px 0;padding:9px 11px;font-size:9px;line-height:1.45;display:flex}.phase-result>span{flex:190px;min-width:0}.export-scheme-note>span{flex:1}.export-scheme-note>svg{color:var(--green-2);flex-shrink:0}.battery-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:2px;display:grid}.battery-card{border:1px solid var(--line);text-align:center;background:#fbfcf6;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:9px 6px;transition:border-color .16s,background .16s;display:flex}.battery-card svg{color:var(--green-2)}.battery-card strong{color:var(--ink);font-size:9.5px;font-weight:600}.battery-card small{color:var(--muted);font-size:7.5px;line-height:1.3}.battery-card:hover{border-color:#b9cba8}.battery-card.active{background:#f3fae2;border-color:#a4c96b}.battery-card.disabled{opacity:.42}.battery-detail{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:7px;font-size:8.5px;display:flex}.summary-card{padding:20px}.summary-head{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.summary-head .eyebrow{margin-bottom:1px}.summary-head h3{font-size:16px}.summary-head .badge{margin-top:4px}.summary-capacity{border-bottom:1px dashed var(--line);margin:14px 0;padding-bottom:12px}.summary-capacity>span{color:var(--muted);font-size:9px}.summary-capacity>strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.04em;font-size:29px;font-weight:600;line-height:1.15;display:block}.summary-capacity>strong small{color:var(--muted);font-family:var(--font-body);font-size:11px;font-weight:400}.summary-capacity-bar{background:#e9ecdf;border-radius:999px;height:5px;margin-top:6px;overflow:hidden}.summary-capacity-bar span{border-radius:inherit;background:linear-gradient(90deg,#2f8a64,#c8f36a);height:100%;display:block}.summary-capacity>small{color:var(--muted);margin-top:4px;font-size:8.5px;display:block}.summary-list{flex-direction:column;display:flex}.summary-list>div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:9.5px;display:flex}.summary-list span{color:var(--muted)}.summary-list strong{color:var(--ink);font-family:var(--font-display);text-align:right;font-size:10px;font-weight:600}.summary-cost{background:#f5f7ed;border-radius:11px;margin-top:11px;padding:11px}.summary-cost>div{justify-content:space-between;align-items:center;gap:10px;padding:2px 0;font-size:9.5px;display:flex}.summary-cost span{color:var(--muted)}.summary-cost strong{color:var(--ink);font-family:var(--font-display);font-size:10.5px;font-weight:600}.summary-cost .discount strong{color:var(--green)}.summary-cost .net{border-top:1px solid var(--line);margin-top:5px;padding-top:6px}.summary-cost .net strong{color:var(--forest);font-size:15px}.summary-eligibility{border-radius:9px;align-items:flex-start;gap:6px;margin-top:10px;padding:9px 10px;font-size:9px;line-height:1.45;display:flex}.summary-eligibility svg{flex-shrink:0;margin-top:1px}.summary-eligibility.ok{color:#46661c;background:#eef8e2}.summary-eligibility.warn{color:#995a1b;background:#fdf2e6}.tax-estimate{color:#2c6d94;background:#eef5fb;border-radius:8px;align-items:center;gap:5px;margin-top:8px;padding:8px 10px;font-size:9px;display:flex}.tax-estimate strong{font-family:var(--font-display);font-size:9.5px}.summary-actions{flex-direction:column;gap:7px;margin-top:13px;display:flex}.summary-foot{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:4px 10px;margin-top:11px;font-size:8px;display:flex}.summary-foot span{align-items:center;gap:3px;display:inline-flex}.summary-foot svg{color:var(--green-2)}.tip-card{color:#eaf5df;background:linear-gradient(135deg,#0d352c,#09251f);border:0;align-items:flex-start;gap:10px;padding:16px;display:flex}.tip-icon{background:var(--lime);width:34px;height:34px;color:var(--forest);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.tip-card strong{color:#f2ffe6;font-family:var(--font-display);font-size:11px}.tip-card p{color:#e2f2d89e;margin-top:3px;font-size:9px;line-height:1.6}.equipment-section{padding:23px}.filter-tabs{flex-wrap:wrap;gap:5px;margin-bottom:14px;display:flex}.filter-tab{border:1px solid var(--line);color:var(--muted);background:#fbfcf7;border-radius:999px;padding:6px 12px;font-size:10px;transition:background .16s,border-color .16s,color .16s}.filter-tab:hover{border-color:#b9cba8}.filter-tab.active{border-color:var(--forest);background:var(--forest);color:var(--lime);font-weight:600}.panel-grid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:10px;display:grid}.panel-card{border:1px solid var(--line);text-align:left;background:#fffdf7;border-radius:15px;flex-direction:column;gap:9px;padding:14px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}.panel-card:hover{border-color:#b9cba8;transform:translateY(-2px);box-shadow:0 16px 28px -24px #072a2380}.panel-card.active{border-color:#91bd5d;box-shadow:0 0 0 2px #91bd5d2e}.panel-card-head{flex-wrap:wrap;align-items:flex-start;gap:7px;display:flex}.panel-card-head>div:nth-child(2){flex:1;min-width:80px}.panel-card-head>div:nth-child(2) span{color:var(--muted);font-size:8px;display:block}.panel-card-head>div:nth-child(2) strong{color:var(--ink);font-size:10.5px;font-weight:600;line-height:1.3;display:block}.panel-card-head .selected-check,.inverter-card-head .selected-check{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:21px;height:21px;display:grid}.panel-watt{align-items:baseline;gap:7px;display:flex}.panel-watt strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.04em;font-size:27px;font-weight:600;line-height:1}.panel-watt strong small{color:var(--muted);font-family:var(--font-body);margin-left:2px;font-size:9px;font-weight:400}.panel-watt>span{color:var(--muted);font-size:8.5px}.panel-specs{background:#f7f9f0;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:8px 9px;display:grid}.panel-specs span{color:var(--muted);font-size:7.5px;display:block}.panel-specs strong{color:var(--ink-soft);font-size:9px;font-weight:600;display:block}.panel-blurb{color:var(--muted);font-size:8.5px;line-height:1.5}.panel-calc{justify-content:space-between;align-items:center;gap:8px;font-size:8.5px;display:flex}.panel-calc span{color:var(--muted)}.panel-calc strong{color:var(--ink-soft);font-size:9px;font-weight:600}.panel-price{border-top:1px dashed var(--line);justify-content:space-between;align-items:flex-end;gap:8px;padding-top:8px;display:flex}.panel-price>div strong{color:var(--forest);font-family:var(--font-display);font-size:14px;font-weight:600;display:block}.panel-price>div small{color:var(--muted);font-size:8px;display:block}.panel-select-label{color:var(--green);white-space:nowrap;align-items:center;gap:3px;font-size:8.5px;font-weight:600;display:inline-flex}.auto-inverter{text-align:left;background:#f7faee;border:1px dashed #b9c9a8;border-radius:13px;align-items:center;gap:11px;width:100%;margin-bottom:12px;padding:12px 14px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.auto-inverter:hover{border-color:var(--green-2)}.auto-inverter.active{background:#f2fae0;border-style:solid;border-color:#91bd5d;box-shadow:0 0 0 2px #91bd5d24}.auto-inverter-icon{background:var(--forest);width:38px;height:38px;color:var(--lime);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.auto-inverter-copy{flex:1;min-width:0}.auto-inverter-copy .eyebrow{margin-bottom:1px;font-size:7.5px}.auto-inverter-copy strong{color:var(--ink);font-family:var(--font-display);font-size:11.5px;font-weight:600;display:block}.auto-inverter-copy small{color:var(--muted);margin-top:1px;font-size:9px;line-height:1.4;display:block}.auto-inverter-check{border:1px solid var(--line-strong);color:#0000;border-radius:50%;flex-shrink:0;place-items:center;width:23px;height:23px;display:grid}.auto-inverter.active .auto-inverter-check{border-color:var(--green);background:var(--green);color:#fff}.warning-stack{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.inverter-grid{grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:10px;display:grid}.inverter-card{border:1px solid var(--line);text-align:left;background:#fffdf7;border-radius:14px;flex-direction:column;gap:9px;padding:14px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.inverter-card:hover{border-color:#b9cba8;transform:translateY(-2px);box-shadow:0 16px 28px -24px #072a2380}.inverter-card.active{border-color:#91bd5d;box-shadow:0 0 0 2px #91bd5d2e}.inverter-card-head{flex-wrap:wrap;align-items:flex-start;gap:7px;display:flex}.inverter-card-head>div:nth-child(2){flex:1;min-width:80px}.inverter-card-head span{color:var(--muted);font-size:8px;display:block}.inverter-card-head strong{color:var(--ink);font-size:10.5px;font-weight:600;display:block}.inverter-card-head .badge{margin-left:auto}.inverter-specs{background:#f7f9f0;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px;display:grid}.inverter-specs span{color:var(--muted);font-size:7.5px;display:block}.inverter-specs strong{color:var(--ink-soft);font-size:8.5px;font-weight:600;display:block}.inverter-tags{flex-wrap:wrap;gap:4px;display:flex}.inverter-price{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.inverter-price strong{color:var(--forest);font-family:var(--font-display);font-size:13px;font-weight:600}.inverter-price small{color:var(--muted);font-size:8px}.bom-summary{background:#f5f7ed;border-radius:13px;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:15px;padding:14px 16px;display:flex}.bom-summary-main span{color:var(--muted);font-size:8.5px;display:block}.bom-summary-main strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.03em;font-size:21px;font-weight:600;display:block}.bom-summary-main small{color:var(--muted);font-size:8px;display:block}.bom-summary-metrics{flex-wrap:wrap;gap:14px 26px;display:flex}.bom-summary-metrics span{color:var(--muted);font-size:8.5px;display:block}.bom-summary-metrics strong{color:var(--ink);font-family:var(--font-display);font-size:11px;font-weight:600;display:block}.bom-summary>.btn{margin-left:auto}.equipment-bottom-grid{grid-template-columns:1.12fr .88fr;gap:14px;display:grid}.benchmark-card{align-items:flex-start;gap:12px;padding:19px;display:flex}.benchmark-icon{background:var(--lime-soft);width:40px;height:40px;color:var(--green);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.benchmark-card .eyebrow{margin-bottom:2px}.benchmark-card h3{font-size:13px}.benchmark-card p{color:var(--muted);margin-top:3px;font-size:9.5px;line-height:1.5}.benchmark-row{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:9px;padding-top:8px;display:flex}.benchmark-row span{color:var(--muted);font-size:9px}.benchmark-row strong{color:var(--forest);font-family:var(--font-display);font-size:14px;font-weight:600}.benchmark-row .badge{margin-left:auto}.price-note-card{align-items:flex-start;gap:10px;padding:19px;display:flex}.price-note-card>svg{color:var(--orange);flex-shrink:0}.price-note-card h3{font-size:12.5px}.price-note-card p{color:var(--muted);margin-top:3px;font-size:9.5px;line-height:1.55}.simulation-controls{padding:18px 20px}.month-strip{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.control-kicker{color:var(--muted);font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;font-size:8px;font-weight:600}.month-pills{flex-wrap:wrap;gap:3px;display:flex}.month-pills button{min-width:31px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;padding:5px 0;font-size:9px;transition:background .16s,color .16s}.month-pills button:hover{background:#eef1e4}.month-pills button.active{background:var(--forest);color:var(--lime);font-weight:600}.month-badge{margin-left:auto}.time-controller{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:11px 14px;margin-top:13px;padding-top:13px;display:flex}.play-button{width:42px;height:42px;color:var(--lime);background:linear-gradient(145deg,#1c6a51,#0a3b30);border:0;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .16s;display:grid;box-shadow:0 10px 20px -12px #0b3d32cc}.play-button:hover{transform:scale(1.05)}.time-display{min-width:58px}.time-display span{color:var(--muted);font-size:8px;display:block}.time-display strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.02em;font-size:17px;font-weight:600;display:block}.time-slider{flex:1;min-width:160px}.time-slider input{width:100%}.time-scale{color:var(--muted-2);justify-content:space-between;margin-top:2px;font-size:8px;display:flex}.time-status{align-items:center;gap:6px;display:flex}.sun-status{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:6px 9px;font-size:9px;display:inline-flex}.sun-status.day{color:#4f6b1e;background:#f4fadf}.sun-status.night{color:#5f6d68;background:#eef1ef}.simulation-main-grid{grid-template-columns:minmax(0,1.5fr) minmax(290px,.82fr);align-items:start;gap:16px;display:grid}.flow-card{padding:21px}.flow-live{color:var(--green);font-family:var(--font-display);letter-spacing:.1em;white-space:nowrap;align-items:center;gap:5px;font-size:7.5px;font-weight:600;display:flex}.live-dot{background:#4ac47b;border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite livePulse;display:inline-block;box-shadow:0 0 0 3px #4ac47b26}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 0 3px #4ac47b26}50%{opacity:.7;box-shadow:0 0 0 6px #4ac47b0a}}.energy-flow{color:#eff8e8;background:radial-gradient(420px 260px at 50% 42%,#2c7a6052,#0000 72%),radial-gradient(300px 200px at 80% 80%,#c7f36a1a,#0000 70%),linear-gradient(150deg,#0a2e27,#061f1a);border-radius:16px;height:432px;margin-top:3px;position:relative;overflow:hidden}.flow-grid-bg{background-image:linear-gradient(#c7f36a0b 1px,#0000 1px),linear-gradient(90deg,#c7f36a0b 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 82%);mask-image:radial-gradient(circle at 50% 45%,#000 0%,#0000 82%)}.flow-particles{pointer-events:none;position:absolute;inset:0}.flow-particles span{background:var(--lime);border-radius:50%;width:3px;height:3px;animation:5s ease-in-out infinite particleFloat;position:absolute;box-shadow:0 0 8px #c7f36acc}.flow-particles span:nth-child(2){animation-delay:1.4s}.flow-particles span:nth-child(3){animation-delay:2.6s}@keyframes particleFloat{0%,to{opacity:.2;transform:translateY(0)scale(.8)}50%{opacity:.9;transform:translateY(-8px)scale(1.1)}}.flow-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.flow-path{fill:none;stroke-width:.42px;stroke-linecap:round;opacity:.22;transition:opacity .3s}.flow-path.active{opacity:1;stroke-dasharray:1.4 1.6;animation:1.5s linear infinite flowDash}.flow-path.reverse{animation-direction:reverse}@keyframes flowDash{to{stroke-dashoffset:-6px}}.flow-node{z-index:2;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#06221cd1;border:1px solid #8dc8aa2e;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-width:112px;padding:8px 10px;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 14px 24px -18px #000c}.flow-node.disabled{opacity:.48}.node-icon{width:28px;height:28px;color:var(--lime);background:#0f3d32;border:1px solid #ffffff1f;border-radius:9px;place-items:center;margin-top:-20px;display:grid;box-shadow:0 6px 12px -6px #000000b3}.node-icon-solar{color:var(--lime);background:#c7f36a2e}.node-icon-inverter{color:#8fdcb8;background:#8fdcb829}.node-icon-home,.node-icon-battery{color:#85d2ff;background:#6cc7ff29}.node-icon-battery-out{color:var(--lime);background:#c7f36a29}.node-icon-grid{color:#a9c4bb;background:#7ba79b29}.node-icon-export{color:var(--lime);background:#c7f36a2e}.node-icon-import{color:#ffbf80;background:#ffb36b29}.node-kicker{color:#c7f36a9e;font-family:var(--font-display);letter-spacing:.14em;margin-top:1px;font-size:6.5px;font-weight:600}.flow-node strong{color:#f2ffe7;font-family:var(--font-display);font-size:11.5px;font-weight:600;line-height:1.2}.node-sub{color:#dbeed18c;font-size:7.5px;line-height:1.35}.node-sub.text-lime{color:var(--lime)!important}.node-sub.text-orange{color:#ffb36b!important}.battery-mini{background:#ffffff1f;border-radius:99px;width:56px;height:3px;margin:2px 0 1px;overflow:hidden}.battery-mini span{border-radius:inherit;background:linear-gradient(90deg,#6cc7ff,#c8f36a);height:100%;display:block}.flow-status{z-index:3;flex-wrap:wrap;align-items:center;gap:7px;display:flex;position:absolute;bottom:11px;left:12px}.flow-status .badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.flow-status-time{color:#dbeed199;align-items:center;gap:4px;font-size:7.5px;display:inline-flex}.flow-footer{border-top:1px dashed var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:11px;padding-top:9px;font-size:8.5px;display:flex}.flow-footer>span{align-items:center;gap:4px;display:inline-flex}.flow-footer-legend{flex-wrap:wrap;gap:8px;display:flex}.flow-footer-legend span{align-items:center;gap:3px;display:inline-flex}.flow-footer-legend i{border-radius:50%;width:6px;height:6px;display:inline-block}.sim-side{flex-direction:column;gap:14px;min-width:0;display:flex}.live-status-card{padding:19px}.live-status-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.live-status-head h3{font-size:13px}.live-pulse{background:#b5c0b6;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.live-pulse.active{background:#4ac47b;animation:1.6s ease-in-out infinite livePulse;box-shadow:0 0 0 4px #4ac47b24}.live-ring-wrap{place-items:center;padding:11px 0;display:grid}.live-ring{border-radius:50%;place-items:center;width:148px;height:148px;display:grid}.live-ring-inner{background:var(--paper);text-align:center;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:116px;height:116px;display:flex}.live-ring-inner span{color:var(--muted);font-size:7.5px}.live-ring-inner strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.04em;font-size:25px;font-weight:600;line-height:1.1}.live-ring-inner small{color:var(--muted);font-size:8px}.live-metric-list{flex-direction:column;display:flex}.live-metric-list>div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:9.5px;display:flex}.live-metric-list span{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.live-metric-list span svg{color:var(--green-2)}.live-metric-list strong{color:var(--ink);font-family:var(--font-display);text-align:right;font-size:9.5px;font-weight:600}.battery-soc-box{background:#f5f8ec;border-radius:9px;margin-top:9px;padding:10px}.battery-soc-head{justify-content:space-between;align-items:center;gap:8px;font-size:9px;display:flex}.battery-soc-head span{color:var(--muted)}.battery-soc-head strong{color:var(--green);font-family:var(--font-display);font-size:10px}.battery-soc-bar{background:#e4e8d9;border-radius:999px;height:5px;margin:5px 0;overflow:hidden}.battery-soc-bar span{border-radius:inherit;background:linear-gradient(90deg,#2f8a64,#c8f36a);height:100%;display:block}.battery-soc-box small{color:var(--muted);font-size:8px}.no-battery-box{border:1px dashed var(--line-strong);color:var(--muted);background:#fafbf4;border-radius:9px;align-items:center;gap:7px;margin-top:9px;padding:9px 10px;font-size:8.5px;line-height:1.4;display:flex}.no-battery-box svg{color:var(--green-2);flex-shrink:0}.live-savings{background:linear-gradient(135deg,#0e3a30,#08261f);border-radius:11px;margin-top:10px;padding:10px 12px}.live-savings span{color:#dbeed18f;font-size:8px;display:block}.live-savings strong{color:var(--lime);font-family:var(--font-display);letter-spacing:-.03em;font-size:19px;font-weight:600;display:block}.live-savings small{color:#dbeed180;font-size:8px;display:block}.battery-impact-card{background:#fdf8ee;border-color:#f0e3ca;align-items:flex-start;gap:10px;padding:16px;display:flex}.battery-impact-icon{color:#a75d1d;background:#fbe8cf;border-radius:10px;flex-shrink:0;place-items:center;width:35px;height:35px;display:grid}.battery-impact-card .eyebrow{margin-bottom:2px}.battery-impact-card h3{font-size:12px}.battery-impact-card p{color:var(--muted);margin-top:2px;font-size:9px;line-height:1.5}.impact-metrics{flex-wrap:wrap;gap:8px 16px;margin-top:7px;display:flex}.impact-metrics span{color:var(--muted);font-size:8px;display:block}.impact-metrics strong{color:var(--ink);font-family:var(--font-display);font-size:10px;font-weight:600;display:block}.battery-impact-card .link-button{margin-top:7px}.daily-chart-card{padding:22px}.daily-summary{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px 14px;margin-top:7px;padding-top:11px;display:flex}.daily-summary span{color:var(--muted);font-size:8.5px;display:block}.daily-summary strong{color:var(--ink);font-family:var(--font-display);font-size:11px;font-weight:600;display:block}.simulation-bottom-grid{grid-template-columns:minmax(0,1.32fr) minmax(290px,.68fr);align-items:start;gap:16px;display:grid}.monthly-production-card{padding:22px}.monthly-summary{border-top:1px dashed var(--line);flex-wrap:wrap;gap:12px 26px;margin-top:7px;padding-top:11px;display:flex}.monthly-summary span{color:var(--muted);font-size:8.5px;display:block}.monthly-summary strong{color:var(--ink);font-family:var(--font-display);font-size:11px;font-weight:600;display:block}.sim-summary-card{padding:22px}.performance-list{flex-direction:column;gap:12px;display:flex}.performance-row>div:first-child{justify-content:space-between;align-items:center;gap:8px;font-size:9.5px;display:flex}.performance-row>div:first-child span{color:var(--muted)}.performance-row>div:first-child strong{color:var(--ink);font-family:var(--font-display);font-size:10px;font-weight:600}.mini-bar{background:#e9ecdf;border-radius:999px;height:5px;margin:4px 0 3px;overflow:hidden}.mini-bar span{border-radius:inherit;background:linear-gradient(90deg,#2f8a64,#5cc7a0);height:100%;display:block}.mini-bar.orange span{background:linear-gradient(90deg,#e98a3c,#f4b26c)}.mini-bar.blue span{background:linear-gradient(90deg,#3b8fbe,#6cc7ff)}.performance-row small{color:var(--muted);font-size:8px;line-height:1.4}.environment-card{background:#eff8e6;border:1px solid #dcebc9;border-radius:11px;align-items:center;gap:10px;margin-top:13px;padding:11px 12px;display:flex}.environment-icon{width:36px;height:36px;color:var(--green);background:#dff0c4;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.environment-card span{color:var(--muted);font-size:8.5px;display:block}.environment-card strong{color:var(--forest);font-family:var(--font-display);font-size:13px;font-weight:600;display:block}.environment-card small{color:var(--muted);font-size:8px;line-height:1.4;display:block}.sim-summary-card .info-note{margin-top:12px}.finance-hero-grid{grid-template-columns:minmax(0,1.42fr) minmax(300px,.78fr);gap:16px;display:grid}.finance-hero-card{color:#f2f8e9;background:radial-gradient(420px 280px at 88% 10%,#c7f36a2e,#0000 68%),linear-gradient(138deg,#0b3029,#0d3a30 52%,#123f34);border:0;justify-content:space-between;align-items:center;gap:18px;padding:26px 28px;display:flex;position:relative;overflow:hidden}.finance-hero-card:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#5cc7a026,#0000 70%);border-radius:50%;width:300px;height:300px;position:absolute;bottom:-110px;right:-70px}.finance-hero-copy{z-index:1;max-width:500px;position:relative}.finance-hero-copy .eyebrow{color:#c7f36aad}.finance-hero-copy h2{color:#f3ffe7;letter-spacing:-.04em;font-size:clamp(23px,2.8vw,33px)}.finance-hero-copy h2 span{color:var(--lime)}.finance-hero-copy>p{color:#e4f2db9e;max-width:450px;margin-top:6px;font-size:10px;line-height:1.6}.finance-hero-metrics{flex-wrap:wrap;gap:10px 24px;margin-top:16px;display:flex}.finance-hero-metrics span{color:#daf0cf80;font-size:8px;display:block}.finance-hero-metrics strong{color:#f3ffe8;font-family:var(--font-display);margin-top:1px;font-size:14px;font-weight:600;display:block}.finance-hero-badges{flex-wrap:wrap;gap:5px;margin-top:14px;display:flex}.finance-return-visual{z-index:1;flex-direction:column;flex-shrink:0;align-items:center;gap:7px;display:flex;position:relative}.return-ring{border-radius:50%;place-items:center;width:146px;height:146px;display:grid}.return-ring-inner{text-align:center;background:#051e1aeb;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:116px;height:116px;display:flex}.return-ring-inner span{color:#daf0cf8f;font-size:8px}.return-ring-inner strong{color:var(--lime);font-family:var(--font-display);letter-spacing:-.04em;font-size:29px;font-weight:600;line-height:1.1}.return-ring-inner small{color:#daf0cf8f;font-size:8px}.return-labels{gap:10px;display:flex}.return-labels span{color:#daf0cf85;align-items:center;gap:4px;font-size:7.5px;display:inline-flex}.return-labels i{border-radius:50%;width:6px;height:6px;display:inline-block}.capex-card{padding:20px}.capex-donut-wrap{flex-direction:column;gap:6px;display:flex}.capex-donut{min-height:208px;position:relative}.capex-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.capex-center span{color:var(--muted);font-size:8px}.capex-center strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.03em;font-size:16px;font-weight:600}.capex-legend{flex-direction:column;gap:3px;display:flex}.capex-legend>div{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;font-size:8.5px;display:grid}.capex-legend span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;display:inline-flex;overflow:hidden}.capex-legend i{border-radius:2px;flex-shrink:0;width:6px;height:6px;display:inline-block}.capex-legend strong{color:var(--ink);font-family:var(--font-display);font-size:8.5px;font-weight:600}.capex-legend small{color:var(--muted-2);text-align:right;font-size:8px}.capex-net{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;font-size:9px;display:flex}.capex-net span{color:var(--muted)}.capex-net strong{color:var(--forest);font-family:var(--font-display);font-size:12px;font-weight:600}.cashflow-card{padding:22px}.finance-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.loan-card,.assumptions-card{padding:21px}.loan-content{transition:opacity .2s}.loan-content.muted{opacity:.42;pointer-events:none}.loan-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.loan-result{background:#f5f7ed;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:11px;display:grid}.loan-result span{color:var(--muted);font-size:8px;display:block}.loan-result strong{color:var(--ink);font-family:var(--font-display);font-size:13px;font-weight:600;display:block}.loan-result small{color:var(--muted);font-size:7.5px;line-height:1.35;display:block}.loan-cashflow{border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:10px 11px;display:flex}.loan-cashflow svg{flex-shrink:0}.loan-cashflow.positive{color:#46661c;background:#eef8e3}.loan-cashflow.negative{color:#a34c36;background:#fdefe9}.loan-cashflow div span{font-size:8px;display:block}.loan-cashflow div strong{color:inherit;font-family:var(--font-display);font-size:13px;font-weight:600;display:block}.loan-cashflow div small{opacity:.7;font-size:7.5px;display:block}.loan-card .info-note{margin-top:10px}.assumption-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:13px;display:grid}.assumption-grid input[type=range]{margin-top:4px}.assumptions-card .toggle-row{border-top:1px dashed var(--line);padding:9px 0}.assumption-summary{background:#f5f7ed;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px;padding:10px;display:grid}.assumption-summary span{color:var(--muted);font-size:8px;display:block}.assumption-summary strong{color:var(--ink);font-family:var(--font-display);font-size:10.5px;font-weight:600;display:block}.scenario-card{padding:22px}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.scenario-item{border:1px solid var(--line);background:#fbfcf5;border-radius:13px;padding:14px}.scenario-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.scenario-label{color:var(--ink);font-size:10.5px;font-weight:600}.scenario-payback{margin:8px 0 4px}.scenario-payback span{color:var(--muted);font-size:8px;display:block}.scenario-payback strong{color:var(--green);font-family:var(--font-display);letter-spacing:-.04em;font-size:26px;font-weight:600;line-height:1.15;display:block}.scenario-payback strong small{color:var(--muted);font-family:var(--font-body);font-size:9px;font-weight:400}.scenario-item p{min-height:28px;color:var(--muted);font-size:8.5px;line-height:1.5}.scenario-savings{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:7px;padding-top:6px;font-size:8.5px;display:flex}.scenario-savings span{color:var(--muted)}.scenario-savings strong{color:var(--forest);font-family:var(--font-display);font-size:10px;font-weight:600}.scenario-bar{background:#e9ecdf;border-radius:999px;height:4px;margin-top:7px;overflow:hidden}.scenario-bar span{border-radius:inherit;background:linear-gradient(90deg,#2f8a64,#5cc7a0);height:100%;display:block}.scenario-item.scenario-warm{background:#fdf9f0;border-color:#f0dfc7}.scenario-item.scenario-warm .scenario-payback strong{color:#a45c1c}.scenario-item.scenario-warm .scenario-bar span{background:linear-gradient(90deg,#e98a3c,#f4b26c)}.scenario-item.scenario-cool{background:#f5fafd;border-color:#d8e7ef}.scenario-item.scenario-cool .scenario-payback strong{color:#2f7399}.scenario-item.scenario-cool .scenario-bar span{background:linear-gradient(90deg,#3b8fbe,#6cc7ff)}.finance-bottom-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:16px;display:grid}.sensitivity-card,.impact-card{padding:22px}.sensitivity-table{border:1px solid var(--line);border-radius:11px;overflow:hidden}.sensitivity-head,.sensitivity-row{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));display:grid}.sensitivity-head{background:#f1f4e8}.sensitivity-head span{color:var(--muted);text-align:center;padding:8px 10px;font-size:8px;font-weight:600}.sensitivity-head span:first-child{text-align:left}.sensitivity-row{border-top:1px solid var(--line)}.sensitivity-row>span{color:var(--ink-soft);padding:8px 10px;font-size:9.5px;font-weight:500}.sensitivity-row>strong{color:var(--muted);font-family:var(--font-display);justify-content:center;align-items:center;padding:8px 10px;font-size:10px;font-weight:600;display:flex}.sensitivity-row>strong.excellent{color:#3e6a16;background:#e9f8d8}.sensitivity-row>strong.good{color:#5b752b;background:#f3f8e4}.sensitivity-row>strong.slow{color:#9d622d;background:#fdf1e4}.sensitivity-row>strong.bad{color:#a84a38;background:#fcece8}.sensitivity-legend{color:var(--muted);flex-wrap:wrap;gap:6px 13px;margin-top:9px;font-size:8px;display:flex}.sensitivity-legend span{align-items:center;gap:4px;display:inline-flex}.sensitivity-legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.sensitivity-legend i.excellent{background:#d3edb5}.sensitivity-legend i.good{background:#e4eec8}.sensitivity-legend i.slow{background:#f6ddc3}.impact-hero{align-items:center;gap:12px;display:flex}.impact-tree{width:52px;height:52px;color:var(--green);background:#eef8e1;border-radius:15px;flex-shrink:0;place-items:center;display:grid}.impact-hero span{color:var(--muted);font-size:8.5px;display:block}.impact-hero strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.03em;font-size:19px;font-weight:600;display:block}.impact-hero small{color:var(--muted);font-size:8.5px;display:block}.impact-list{flex-direction:column;margin-top:10px;display:flex}.impact-list>div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:9px;display:flex}.impact-list span{color:var(--muted)}.impact-list strong{color:var(--ink);font-family:var(--font-display);font-size:9.5px;font-weight:600}.impact-quote{color:#4d681f;background:#f4f9e9;border-radius:9px;align-items:flex-start;gap:6px;margin-top:9px;padding:9px 10px;font-size:8.5px;line-height:1.45;display:flex}.impact-quote svg{flex-shrink:0;margin-top:1px}.impact-card .btn{margin-top:11px}.quote-layout{grid-template-columns:minmax(0,1fr) 318px;align-items:start;gap:18px;display:grid}.quote-paper{background:#fffdf8;border:1px solid #e7e3d6;border-radius:10px;padding:38px 40px;position:relative;overflow:hidden;box-shadow:0 30px 60px -44px #082a248c}.quote-watermark{color:#1f6b540b;font-family:var(--font-display);letter-spacing:.08em;pointer-events:none;font-size:84px;font-weight:700;position:absolute;top:22px;right:-18px;transform:rotate(-10deg)}.quote-head{border-bottom:2px solid var(--forest);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex;position:relative}.quote-brand{align-items:center;gap:9px;display:flex}.quote-brand-mark{background:var(--forest);width:42px;height:42px;color:var(--lime);border-radius:12px;place-items:center;display:grid}.quote-brand strong{color:var(--forest);font-family:var(--font-display);letter-spacing:.12em;font-size:15px;font-weight:700;display:block}.quote-brand div span{color:var(--muted);font-family:var(--font-display);letter-spacing:.18em;font-size:7px;display:block}.quote-title{text-align:right}.quote-title>span{color:var(--green);font-family:var(--font-display);letter-spacing:.18em;font-size:8px;font-weight:600}.quote-title h2{color:var(--forest);letter-spacing:-.02em;margin-top:1px;font-size:17px}.quote-title small{color:var(--muted);margin-top:2px;font-size:8px;display:block}.quote-meta{text-align:right;flex-shrink:0}.quote-meta>div{margin-bottom:4px}.quote-meta span{color:var(--muted);font-size:7.5px;display:block}.quote-meta strong{color:var(--ink-soft);font-size:9.5px;font-weight:600;display:block}.quote-parties{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:18px;padding:18px 0;display:grid}.quote-section-label{color:var(--green);font-family:var(--font-display);letter-spacing:.15em;margin-bottom:4px;font-size:7.5px;font-weight:600;display:block}.quote-parties h3{color:var(--ink);font-size:12.5px}.quote-parties p{color:var(--muted);align-items:flex-start;gap:4px;margin-top:3px;font-size:9px;line-height:1.45;display:flex}.quote-parties p svg{color:var(--green-2);flex-shrink:0;margin-top:1px}.quote-system-banner{background:#dfe5d7;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:17px 0;display:grid;overflow:hidden}.quote-system-banner>div{background:#f5f8ec;padding:10px 12px}.quote-system-banner span{color:var(--muted);font-size:8px;display:block}.quote-system-banner strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.03em;font-size:16px;font-weight:600;line-height:1.2;display:block}.quote-system-banner strong small{color:var(--muted);font-family:var(--font-body);font-size:8px;font-weight:400}.quote-section{border-bottom:1px solid var(--line);padding:16px 0}.quote-section-head{margin-bottom:11px}.quote-section-head h3{color:var(--ink);font-size:12.5px}.spec-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.spec-item{background:#f8f9f2;border:1px solid #eaeee1;border-radius:9px;padding:10px 11px}.spec-item span{color:var(--muted);font-size:8px;display:block}.spec-item strong{color:var(--ink);margin-top:1px;font-size:10px;font-weight:600;display:block}.spec-item small{color:var(--muted);margin-top:1px;font-size:8px;line-height:1.4;display:block}.quote-table{font-size:9px}.quote-table th{border-bottom:1.5px solid var(--forest);color:var(--muted);padding:7px 8px}.quote-table td{padding:7px 8px}.quote-table td>span{font-size:8px}.quote-totals-section{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:16px 0;display:flex}.quote-incentive-note{background:#f3f9e5;border-radius:9px;align-items:flex-start;gap:8px;max-width:56%;padding:10px 11px;display:flex}.quote-incentive-note>svg{color:var(--green);flex-shrink:0;margin-top:1px}.quote-incentive-note strong{color:#46661a;font-size:9.5px;font-weight:600}.quote-incentive-note p{color:#5f762f;margin-top:2px;font-size:8.5px;line-height:1.5}.quote-totals{flex:0 0 235px}.quote-totals>div{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:3px 0;font-size:9px;display:flex}.quote-totals strong{color:var(--ink);font-family:var(--font-display);font-size:10px;font-weight:600}.quote-totals .discount strong{color:var(--green)}.quote-totals .grand{border-top:1.5px solid var(--forest);margin-top:4px;padding-top:7px}.quote-totals .grand span{color:var(--forest);font-weight:600}.quote-totals .grand strong{color:var(--forest);font-size:15px}.quote-totals>small{color:var(--muted);text-align:right;margin-top:4px;font-size:7.5px;display:block}.quote-return-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.quote-return-grid>div{background:#f6f8ef;border-radius:8px;padding:9px}.quote-return-grid span{color:var(--muted);font-size:8px;display:block}.quote-return-grid strong{color:var(--forest);font-family:var(--font-display);letter-spacing:-.02em;margin-top:1px;font-size:11.5px;font-weight:600;display:block}.quote-return-grid small{color:var(--muted);font-size:7.5px;display:block}.quote-loan-section{background:#f2f7fb;border:1px solid #dbe8f1;border-radius:9px;align-items:flex-start;gap:9px;margin:14px 0;padding:11px;display:flex}.quote-loan-icon{width:32px;height:32px;color:var(--blue);background:#e3f0f8;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.quote-loan-section strong{color:#2f6c8f;font-size:9.5px;font-weight:600}.quote-loan-section p{color:#4e7389;margin-top:2px;font-size:8.5px;line-height:1.5}.quote-terms{margin:0;padding-left:15px}.quote-terms li{color:var(--muted);margin-bottom:4px;font-size:8.5px;line-height:1.55}.quote-signatures{grid-template-columns:1fr 1fr;gap:44px;margin-top:26px;display:grid}.quote-signatures>div>span{color:var(--muted);font-size:8.5px}.signature-line{border-bottom:1px solid #8f978a;height:38px}.quote-signatures small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.quote-footer{border-top:2px solid var(--forest);color:var(--muted);justify-content:space-between;align-items:flex-start;gap:16px;margin-top:22px;padding-top:11px;font-size:8px;line-height:1.5;display:flex}.quote-footer strong{color:var(--forest);font-family:var(--font-display);font-size:9px;display:block}.quote-footer span{display:block}.quote-footer>div:last-child{text-align:right}.quote-sidebar{flex-direction:column;gap:13px;display:flex;position:sticky;top:90px}.quote-action-card,.quote-edit-card,.quote-source-card,.quote-cta-card{padding:18px}.quote-action-card p{color:var(--muted);margin-bottom:10px;font-size:9.5px;line-height:1.55}.quote-action-card .btn+.btn{margin-top:6px}.quote-file-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:9px;font-size:8.5px;display:flex}.quote-file-meta span{align-items:center;gap:4px;display:inline-flex}.quote-edit-card .field{margin-top:9px}.quote-edit-card .field input{font-size:11px}.quote-contact{color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin-top:10px;font-size:8.5px;display:flex}.quote-contact span{align-items:center;gap:4px;display:inline-flex}.source-mini-list{flex-direction:column;display:flex}.source-mini-list a{border-bottom:1px dashed var(--line);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:9px;line-height:1.4;text-decoration:none;display:flex}.source-mini-list a:hover{color:var(--green)}.source-mini-list svg{color:var(--green-2);flex-shrink:0}.quote-source-note{margin-top:8px}.quote-source-note p{color:var(--muted);margin-top:5px;font-size:8.5px;line-height:1.5}.quote-cta-card{color:#edf8e3;background:radial-gradient(220px 150px at 90% 0,#c7f36a33,#0000 70%),linear-gradient(140deg,#0d352c,#08261f);border:0;overflow:hidden}.quote-cta-card>svg{color:var(--lime)}.quote-cta-card h3{color:#f2ffe6;margin-top:6px;font-size:12.5px}.quote-cta-card p{color:#e2f2d99e;margin:3px 0 10px;font-size:9px;line-height:1.55}.references-hero-grid{grid-template-columns:minmax(0,1.42fr) minmax(300px,.78fr);align-items:stretch;gap:16px;display:grid}.program-hero-card{color:#f2f8e9;background:radial-gradient(420px 260px at 88% 8%,#c7f36a2b,#0000 68%),radial-gradient(280px 220px at 10% 110%,#5cc7a024,#0000 70%),linear-gradient(138deg,#0b3029,#0d3a30 55%,#123f34);border:0;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px;display:flex;overflow:hidden}.program-hero-copy{z-index:1;max-width:520px;position:relative}.program-hero-copy h2{color:#f3ffe8;letter-spacing:-.04em;max-width:470px;margin-top:10px;font-size:clamp(21px,2.5vw,29px);line-height:1.2}.program-hero-copy>p{color:#e4f2db9e;max-width:470px;margin-top:7px;font-size:10px;line-height:1.65}.program-points{grid-template-columns:1fr 1fr;gap:5px 14px;margin-top:13px;display:grid}.program-points>span{color:#e8f6decc;align-items:flex-start;gap:5px;font-size:9.5px;line-height:1.4;display:flex}.program-points svg{color:var(--lime);flex-shrink:0;margin-top:1px}.program-actions{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.program-hero-badge{z-index:1;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0e;border:1px solid #c7f36a2e;border-radius:18px;flex-direction:column;flex:0 0 178px;justify-content:center;align-items:center;padding:18px 14px;display:flex;position:relative}.program-big-number{color:var(--lime);font-family:var(--font-display);letter-spacing:-.04em;font-size:34px;font-weight:700;line-height:1.05}.program-hero-badge>span{color:#e8f6dec7;font-size:11px}.program-hero-badge>small{color:#daf0cf80;margin-top:5px;font-size:8px;line-height:1.5}.program-deadline{color:#e8f7d1;background:#c7f36a1a;border-radius:999px;align-items:center;gap:4px;margin-top:10px;padding:5px 8px;font-size:7.5px;display:flex}.program-deadline svg{color:var(--lime);flex-shrink:0}.eligibility-card{padding:21px}.eligibility-list{flex-direction:column;gap:7px;display:flex}.eligibility-list>div{align-items:flex-start;gap:7px;display:flex}.eligibility-list>div>span{background:var(--lime-soft);width:19px;height:19px;color:var(--green);border-radius:50%;flex-shrink:0;place-items:center;font-size:8px;font-weight:600;display:grid}.eligibility-list p{color:var(--muted);font-size:9.5px;line-height:1.45}.eligibility-card .info-note{margin-top:10px}.source-section{padding:22px}.source-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:8px;display:grid}.source-card{border:1px solid var(--line);color:var(--ink);background:#fbfcf6;border-radius:11px;align-items:flex-start;gap:9px;padding:11px;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:flex}.source-card:hover{background:#f8faef;border-color:#b9cba8;transform:translateY(-1px)}.source-index{background:var(--lime-soft);color:var(--green);font-family:var(--font-display);border-radius:5px;flex-shrink:0;padding:2px 5px;font-size:8px;font-weight:600}.source-card>div{flex:1;min-width:0}.source-card strong{color:var(--ink);font-size:10px;font-weight:600;line-height:1.35;display:block}.source-card p{color:var(--muted);margin-top:2px;font-size:8.5px;line-height:1.45}.source-url{color:var(--blue);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:7.5px;display:block;overflow:hidden}.source-card>svg{color:var(--muted-2);flex-shrink:0}.method-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:start;gap:16px;display:grid}.method-card,.assumption-card{padding:22px}.method-steps{flex-direction:column;gap:12px;display:flex}.method-steps>div{align-items:flex-start;gap:9px;display:flex}.method-num{background:var(--lime-soft);width:27px;height:27px;color:var(--green);font-family:var(--font-display);border-radius:8px;flex-shrink:0;place-items:center;font-size:8.5px;font-weight:600;display:grid}.method-steps strong{color:var(--ink);font-size:10.5px;font-weight:600;display:block}.method-steps p{color:var(--muted);margin-top:2px;font-size:9px;line-height:1.55}.assumption-table{flex-direction:column;display:flex}.assumption-table>div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:9px;display:flex}.assumption-table span{color:var(--muted)}.assumption-table strong{color:var(--ink);font-family:var(--font-display);text-align:right;font-size:9px;font-weight:600}.assumption-card .info-note,.assumption-card .btn{margin-top:10px}.reference-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.price-reference-card,.quick-facts-card{padding:22px}.benchmark-list{flex-direction:column;display:flex}.benchmark-list>div{border-bottom:1px dashed var(--line);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 0;display:grid}.benchmark-list span{color:var(--ink-soft);font-size:9.5px}.benchmark-list strong.price-range{color:var(--green);font-family:var(--font-display);text-align:right;white-space:nowrap;font-size:9.5px;font-weight:600}.benchmark-list small{color:var(--muted);grid-column:1/-1;font-size:8px}.price-reference-note{color:var(--muted);margin-top:8px;font-size:8.5px;line-height:1.5}.quick-facts{flex-direction:column;gap:7px;display:flex}.quick-facts>div{color:var(--muted);align-items:flex-start;gap:6px;font-size:9px;line-height:1.45;display:flex}.quick-facts svg{color:var(--green-2);flex-shrink:0;margin-top:1px}.faq-section{padding:22px}.faq-list{flex-direction:column;gap:6px;display:flex}.faq-list details{border:1px solid var(--line);background:#fbfcf6;border-radius:10px;overflow:hidden}.faq-list summary{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:10.5px;font-weight:600;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{color:var(--green);font-family:var(--font-display);flex-shrink:0;font-size:14px;line-height:1;transition:transform .18s}.faq-list details[open] summary{border-bottom:1px solid var(--line)}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);padding:10px 12px;font-size:9.5px;line-height:1.65}@media (width<=1280px){.app-content{padding:26px 24px 38px}.topbar{padding:0 24px}.app-footer{padding:4px 24px 26px}.design-layout{grid-template-columns:minmax(0,1fr) 310px}.save-state{display:none}}@media (width<=1120px){.overview-hero-grid,.finance-hero-grid,.references-hero-grid,.dashboard-grid.two-one,.dashboard-grid.chart-equipment,.finance-two-col,.finance-bottom-grid,.equipment-bottom-grid,.method-grid,.reference-bottom-grid,.simulation-bottom-grid,.design-layout{grid-template-columns:minmax(0,1fr)}.design-summary{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid;position:static}.simulation-main-grid{grid-template-columns:minmax(0,1fr)}.sim-side{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.stats-grid,.equipment-top-stats,.finance-kpi-grid,.reference-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-layout{grid-template-columns:minmax(0,1fr)}.quote-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid;position:static}.quote-cta-card{grid-column:span 2}.program-hero-card{align-items:flex-start}.program-hero-badge{flex:0 0 168px}}@media (width<=900px){.sidebar{display:none}.mobile-nav{z-index:60;padding:7px 4px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none;background:#fffdf6f0;justify-content:flex-start;align-items:stretch;gap:1px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto;box-shadow:0 -10px 30px -22px #082a2480}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav button{min-width:50px;color:var(--muted);background:0 0;border:0;border-radius:9px;flex-direction:column;flex:1 0 50px;align-items:center;gap:3px;padding:4px 2px;font-size:8.5px;transition:color .16s,background .16s;display:flex}.mobile-nav button.active{color:var(--green);background:#f1f8df;font-weight:600}.app-content{padding:20px 18px 96px}.app-footer{padding:0 18px 92px}.topbar{min-height:63px;padding:0 18px}.topbar-mobile-brand{display:flex}.breadcrumb,.topbar-price,.price-badge{display:none}.topbar-right{margin-left:auto}.topbar-quote{padding:8px 10px}.topbar-quote span{display:none}.hero-card{grid-template-columns:minmax(0,1fr);min-height:0}.hero-copy{padding:26px 24px 8px}.hero-art{min-height:245px;padding:0 4px 14px}.hero-scene{max-width:410px}.hero-float-card.float-savings{bottom:20px;left:18px}.hero-float-card.float-co2{top:12px;right:18px}.design-summary,.sim-side,.quote-sidebar{grid-template-columns:minmax(0,1fr)}.quote-cta-card{grid-column:auto}.scenario-grid{grid-template-columns:minmax(0,1fr)}.panel-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}.inverter-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.quote-paper{padding:28px 26px}.quote-system-banner,.quote-return-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-parties{grid-template-columns:minmax(0,1fr)}.program-hero-card{flex-direction:column;align-items:stretch}.program-hero-badge{flex:none;align-self:flex-start;width:178px}.program-hero-copy h2{max-width:none}}@media (width<=640px){.page{gap:13px}.card,.form-card,.chart-card,.equipment-section,.simulation-controls,.flow-card,.live-status-card,.sim-summary-card,.daily-chart-card,.monthly-production-card,.scenario-card,.sensitivity-card,.impact-card,.loan-card,.assumptions-card,.capex-card,.source-section,.method-card,.assumption-card,.price-reference-card,.quick-facts-card,.faq-section,.status-card,.payback-card,.equipment-summary,.quote-action-card,.quote-edit-card,.quote-source-card,.quote-cta-card{padding:17px}.app-content{padding:16px 13px 94px}.page-header h1{font-size:24px}.page-header p{font-size:11.5px}.page-header-actions{width:100%}.page-header-actions .btn{flex:1}.stats-grid,.equipment-top-stats,.finance-kpi-grid,.reference-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.donut-layout{grid-template-columns:minmax(0,1fr);gap:4px}.donut-wrap{min-height:230px}.stat-card{padding:14px 13px 12px}.stat-value{font-size:19px}.stat-sub{font-size:8.5px}.hero-copy{padding:21px 17px 4px}.hero-copy h2{font-size:clamp(27px,8vw,36px)}.hero-copy>p{font-size:10.5px}.hero-metrics{gap:9px 16px;margin-top:14px}.hero-metrics strong{font-size:13.5px}.hero-actions{margin-top:14px}.hero-actions .btn{flex:1}.hero-art{min-height:205px}.hero-float-card{padding:6px 8px}.hero-float-card.float-savings{bottom:10px;left:10px}.hero-float-card.float-co2{top:4px;right:10px}.float-icon{width:24px;height:24px}.float-icon svg{width:13px;height:13px}.float-card strong,.hero-float-card strong{font-size:9.5px}.capacity-editor{gap:8px}.capacity-step{width:33px;height:33px}.capacity-input-wrap{flex:1;justify-content:center}.capacity-input-wrap input{width:84px;font-size:27px}.capacity-note{border-top:1px dashed var(--line-strong);border-left:0;flex-wrap:wrap;align-items:baseline;gap:3px 7px;width:100%;margin-left:0;padding:7px 0 0;display:flex}.capacity-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.form-card-head{flex-wrap:wrap}.form-card-head>.badge{margin-left:0}.form-grid.two,.system-type-grid,.incentive-grid{grid-template-columns:minmax(0,1fr)}.roof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.battery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kwh-result{grid-template-columns:minmax(0,1fr)}.usage-estimate{grid-template-columns:minmax(0,1fr);gap:6px}.incentive-card .select-check{align-self:flex-end;margin-top:2px;position:static}.next-step-banner{flex-direction:column;align-items:flex-start;padding:19px}.next-step-actions{width:100%}.next-step-actions .btn{flex:1}.equipment-row{grid-template-columns:30px minmax(0,1fr)}.equipment-price{grid-column:2;justify-self:start}.panel-grid,.inverter-grid{grid-template-columns:minmax(0,1fr)}.auto-inverter{align-items:flex-start}.auto-inverter-icon{width:33px;height:33px}.bom-summary{gap:10px}.bom-summary-metrics{justify-content:space-between;width:100%}.bom-summary>.btn{width:100%;margin-left:0}.benchmark-row .badge{margin-left:0}.month-strip{align-items:flex-start}.month-pills button{min-width:28px}.month-badge{margin-left:0}.time-controller{align-items:flex-start}.time-slider{flex-basis:calc(100% - 56px)}.time-status{margin-left:auto}.energy-flow{height:386px}.flow-node{border-radius:10px;min-width:82px;padding:5px 6px}.flow-node strong{font-size:9px}.node-icon{border-radius:7px;width:23px;height:23px;margin-top:-16px}.node-icon svg{width:14px;height:14px}.node-kicker{font-size:5.5px}.node-sub{display:none}.battery-mini{width:40px;margin:1px 0 0}.node-solar{left:18%!important}.node-home,.node-grid{left:82%!important}.flow-status{flex-direction:column;align-items:flex-start;gap:4px;bottom:7px;left:8px;right:8px}.flow-footer{font-size:8px}.finance-hero-card,.program-hero-card{flex-direction:column;align-items:flex-start;padding:20px}.finance-return-visual{align-self:center}.return-ring{width:132px;height:132px}.return-ring-inner{width:104px;height:104px}.loan-inputs,.loan-result,.assumption-summary,.assumption-grid{grid-template-columns:minmax(0,1fr)}.sensitivity-head span,.sensitivity-row>span,.sensitivity-row>strong{padding:6px 4px;font-size:7.5px}.sensitivity-head span:first-child,.sensitivity-row>span{font-size:8px}.quote-paper{border-radius:8px;padding:20px 15px}.quote-head{flex-wrap:wrap;gap:10px}.quote-title{text-align:left}.quote-meta{text-align:left;flex-wrap:wrap;gap:5px 14px;width:100%;display:flex}.quote-meta>div{margin-bottom:0}.quote-system-banner,.quote-return-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-grid{grid-template-columns:minmax(0,1fr)}.quote-totals-section{flex-direction:column}.quote-incentive-note{max-width:100%}.quote-totals{flex-basis:auto;width:100%}.quote-signatures{grid-template-columns:minmax(0,1fr);gap:24px}.quote-footer{flex-direction:column}.quote-footer>div:last-child{text-align:left}.program-hero-card{padding:20px}.program-points{grid-template-columns:minmax(0,1fr)}.program-hero-badge{align-self:stretch;width:100%}.source-grid{grid-template-columns:minmax(0,1fr)}.app-footer{padding:0 13px 88px;font-size:9px}.next-step-actions .btn,.summary-actions .btn{min-height:38px}.rotated{transform:rotate(180deg)}}.rotated{transform:rotate(180deg)}@media (width<=400px){.stats-grid,.equipment-top-stats,.finance-kpi-grid,.reference-stats{grid-template-columns:minmax(0,1fr)}.battery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roof-grid,.quote-system-banner,.quote-return-grid{grid-template-columns:minmax(0,1fr)}.mobile-nav button{font-size:8px}.hero-float-card.float-co2{display:none}.month-pills button{min-width:26px;font-size:8.5px}}@page{size:A4;margin:12mm}@media print{html,body{background:#fff!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sidebar,.topbar,.mobile-nav,.app-footer,.page-header-actions,.quote-sidebar{display:none!important}.app-content{max-width:none;padding:0!important}.page{gap:0;animation:none}.quote-page>.page-header{display:none}.quote-layout{display:block}.quote-paper{box-shadow:none;background:#fff;border:0;border-radius:0;padding:0;overflow:visible}.quote-watermark{color:#1f6b540a}.quote-table{font-size:8pt}.quote-table tr,.quote-section,.quote-totals-section,.quote-signatures,.quote-footer{page-break-inside:avoid}.btn{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
