@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#233b35;background:#f5f7f3;font-size:14px;--green:#153f36;--mint:#bff3aa;--muted:#78827e;--border:#e4e9e2;--orange:#c88939;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}button,input,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a0c99e;outline-offset:3px}input:focus,select:focus{outline:2px solid #8bbb8b;outline-offset:1px}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{opacity:.45}input{min-width:0}button{border:0}button svg{width:16px}.topbar{height:85px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1456px)/2));gap:20px}.brand{display:flex;align-items:center;gap:9px;font:800 25px 'Manrope',system-ui,sans-serif;letter-spacing:-1px}.brand-icon{background:var(--green);color:var(--mint);width:31px;height:37px;border-radius:8px;display:inline-grid;place-content:center;font-size:29px;font-weight:700}.brand-divider{height:23px;width:1px;background:var(--border);margin:0 12px}.brand-sub{font-size:13px;font-weight:500;letter-spacing:0;color:#78857f}.topbar nav{display:flex;gap:30px;height:100%;align-items:center;font-size:13px;font-weight:600;color:#7c8782}.topbar nav a{height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}.topbar nav a.active{color:var(--green);border-color:var(--green)}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--border);border-radius:9px;background:white;padding:11px 16px;font-weight:600;font-size:13px;transition:background .15s,transform .15s}.button:hover{background:#eef3ec}.button:active{transform:translateY(1px)}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover{background:#23584a}.button.ghost{background:transparent}.button.subtle{background:#f4f7f1;border-color:#e3e9dd;color:var(--green)}.full{width:100%}.icon-button{width:30px;height:30px;border-radius:6px;background:transparent;color:#74837a;font-size:23px;display:grid;place-content:center}.icon-button:hover{background:#eef2eb;color:var(--green)}main{max-width:1456px;margin:0 auto;padding:39px 32px 0}.intro{display:flex;justify-content:space-between;align-items:center;padding:0 0 29px;gap:24px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:#6f8779;display:flex;align-items:center;gap:7px}.live-dot{background:#82ad77;width:6px;height:6px;border-radius:50%}h1{font:650 clamp(34px,3.2vw,48px)/1.2 'Manrope',system-ui,sans-serif;letter-spacing:-2px;margin:13px 0 13px}h1 em{font-style:normal;color:#739876}p{line-height:1.65;margin:0;color:#7a857e}.intro p{font-size:14px}.mobile-br{display:none}.intro-note{display:flex;align-items:center;gap:12px;border-left:1px solid #dbe4d8;padding-left:25px;margin-top:18px}.intro-note strong{display:block;font-weight:600;font-size:12px}.intro-note span:not(.tiny-icon){display:block;font-size:11px;color:#929d94;margin-top:5px}.tiny-icon{font-size:26px;color:#87a37c}.source-strip{border:1px solid #dfe8d8;background:#edf3e8;border-radius:11px;display:flex;align-items:center;gap:12px;padding:12px 17px;margin-bottom:22px}.source-icon{font-size:24px;color:#7b9671}.source-strip strong{font-size:12px;font-weight:650}.source-strip div>span{font-size:11px;margin-left:15px;color:#7e8e77}.tag{font-size:10px;white-space:nowrap;border:1px solid #d9e4d0;padding:5px 8px;border-radius:5px;color:#6e8764;background:#f5f8f2;font-weight:600}.strip-link{margin-left:auto;font-size:11px;color:#537348;font-weight:600}.strip-link span{padding-left:6px}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.panel{background:var(--paper);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 2px #21402002}h2{font:700 16px 'Manrope',system-ui,sans-serif;letter-spacing:-.4px;margin:0}h3{font-size:13px;font-weight:650;margin:0 0 13px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.config{padding:20px;position:sticky;top:20px}.config-tabs{display:flex;border-bottom:1px solid var(--border);margin:18px -1px 23px;gap:17px}.config-tabs button{padding:0 0 12px;background:none;color:#879189;font-size:11px;border-bottom:2px solid transparent;font-weight:500}.config-tabs button[aria-selected=true]{border-color:var(--green);color:var(--green);font-weight:700}.tab-content{min-height:408px}.control{margin-bottom:21px}.control label{font-size:11px;font-weight:650;color:#586e60;display:block;margin-bottom:9px}.control label span{font-size:10px;font-weight:400;color:#9aa49b;margin-left:4px}.number-row,.small-number{display:flex;align-items:center;gap:8px}.number-row{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#fafbf9}.number-row input{font:650 28px 'Manrope',sans-serif;letter-spacing:-.7px;border:0;width:100%;background:none;color:var(--green);padding:0}.number-row span{font-size:12px;color:#899988}.small-number{padding:9px 10px;border:1px solid var(--border);border-radius:7px;background:#fafbf9}.small-number input{font-weight:600;color:#354f3e;border:0;padding:0;width:100%;background:none;line-height:1.5}.small-number span{font-size:10px;white-space:nowrap;color:#8c9b88}.control input[type=range]{appearance:none;width:100%;height:4px;border-radius:2px;background:#dfe9d9;margin:20px 0 8px;cursor:pointer;accent-color:var(--green)}.control input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--green)}.range-labels{display:flex;justify-content:space-between;color:#a0a89b;font-size:9px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-fields .control label{font-size:10px;white-space:nowrap}.capacity-note{display:flex;align-items:center;gap:12px;padding:13px 10px;border-radius:8px;background:#f2f6ee;margin-top:8px}.capacity-note>span{font-size:24px;color:#9aaa87}.capacity-note strong{display:block;font-size:11px;font-weight:600}.capacity-note div>span{display:block;font-size:10px;color:#91a082;margin-top:4px}.config-footer{border-top:1px solid var(--border);margin-top:19px;padding-top:18px}.autosave{display:block;text-align:center;font-size:9px;color:#a0aa9b;margin-top:12px}.field-note{font-size:10px;line-height:1.6;margin-top:9px;color:#8d998d}.formula{background:#eef3e9;border-radius:7px;padding:10px;font-size:10px;line-height:1.7;color:#607855;margin-bottom:20px}.results{min-width:0}.metrics{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;margin-bottom:20px}.metric{padding:21px 20px;border:1px solid var(--border);background:#fff;border-radius:11px;min-height:178px}.metric.saving{background:var(--green);border-color:var(--green);color:#fff;position:relative;overflow:hidden}.metric.saving:after{content:'';position:absolute;width:110px;height:110px;border-radius:50%;border:1px solid #507e5544;right:-36px;bottom:-60px;box-shadow:0 0 0 20px #507e5512,0 0 0 40px #507e550b}.metric-label{font-size:11px;font-weight:500;color:#7a8b7b;display:flex;justify-content:space-between}.saving .metric-label{color:#cfddd0}.metric-value{font:650 36px 'Manrope',sans-serif;letter-spacing:-1px;margin:13px 0 6px;white-space:nowrap}.metric-value small{font:500 16px 'DM Sans',sans-serif;letter-spacing:0;margin-left:8px;color:#8d9f8b}.saving .metric-value small{color:#bad0b9}.metric p{font-size:10px;color:#97a290}.saving p{color:#a6bda7}.metric-pill{display:inline-block;background:#c8eebb22;color:#c4eead;border:1px solid #c8eebb28;border-radius:5px;font-size:9px;padding:4px 7px;margin-top:10px}.price-comparison{display:flex;align-items:center;gap:10px;margin:18px 0 9px;font:600 26px 'Manrope',sans-serif;letter-spacing:-1px}.price-comparison>span:first-child{color:#9ca897;text-decoration:line-through;text-decoration-thickness:1px}.price-comparison .price-arrow{color:#b0bba8;font-size:17px}.price-comparison strong{font-weight:650;color:#325d38}.metric-foot{display:flex;justify-content:space-between;color:#97a68f;font-size:8px;margin-top:18px}.mini-progress{height:5px;background:#eff3e9;border-radius:4px;margin-top:22px}.mini-progress>span{display:block;height:100%;background:#a2be8e;border-radius:4px;max-width:100%}.chart-panel{padding:23px 24px 0;margin-bottom:20px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.small{font-size:9px;letter-spacing:1.5px}.chart-head h2{margin-top:7px}.chart-controls{display:flex;align-items:center;gap:4px}.chart-controls input{border:1px solid var(--border);border-radius:6px;color:#698060;background:#fbfcf9;font-size:10px;padding:6px;width:124px}.chart-legend{display:flex;gap:18px;margin-top:22px;font-size:9px;color:#8c9c84;align-items:center}.chart-legend>span{display:flex;gap:5px;align-items:center}.line-key{display:inline-block;width:15px;height:2px}.price-key{background:var(--orange)}.soc-key{background:#8eb87c}.block-key{display:inline-block;width:7px;height:7px;border-radius:2px}.charge-key{background:#cce8bc}.discharge-key{background:#ead9be}.chart-wrap{position:relative;margin-top:16px;min-height:240px}#chart{display:block;width:100%;height:auto;overflow:visible}.chart-tooltip{position:absolute;pointer-events:none;background:#153f36f5;color:#fff;border-radius:7px;box-shadow:0 8px 20px #16371d22;padding:10px 12px;font-size:10px;line-height:1.7;z-index:2;min-width:160px}.chart-tooltip strong{color:#c9e9b9}.chart-insight{border-top:1px solid #eef2e9;margin:0 -24px;padding:13px 23px;display:flex;gap:10px;align-items:center;background:#fbfcf8;border-radius:0 0 12px 12px}.insight-icon{background:#eef3e8;width:23px;height:23px;display:grid;place-content:center;border-radius:6px;color:#a3b692;font-size:17px;flex-shrink:0}.chart-insight p{font-size:10px;color:#849475}.detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-bottom:20px}.detail-panel{padding:20px 22px}.detail-panel h2{font-size:13px}.muted-icon{color:#a5b49a;font-size:17px}.stat-list{font-size:11px;margin:19px 0 0}.stat-list>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #f0f3ec}.stat-list>div:last-child{border:0}.stat-list dt{color:#8c9b85}.stat-list dd{margin:0;font-weight:600;color:#537048;text-align:right;font-variant-numeric:tabular-nums}.payback{margin:20px 0 8px;display:flex;align-items:baseline;gap:12px}.payback strong{font:650 28px 'Manrope',sans-serif;letter-spacing:-1px;color:#436c38}.payback span{font-size:10px;color:#8da17e}.economics p{font-size:10px}.caution{font-size:9px;line-height:1.65;background:#f7f5ef;border-radius:6px;padding:9px 10px;color:#a09880;margin-top:14px}.compare-panel{padding:20px 22px;margin-bottom:0}.compare-panel h2{font-size:14px}.compare-panel .panel-heading p{font-size:10px;margin-top:4px}.comparison-input{margin-top:17px;display:flex;gap:12px;align-items:center}.comparison-input label{font-size:10px;color:#8a9a81}.comparison-input input{border:1px solid var(--border);border-radius:6px;padding:8px 10px;background:#fafcf7;max-width:260px;color:#667f5a;font-size:11px;flex:1}table{border-collapse:collapse;width:100%;font-size:11px;margin-top:18px;text-align:right}th,td{padding:10px 9px;border-bottom:1px solid #e9eee5}th{font-weight:500;color:#97a58e;font-size:9px}th:first-child,td:first-child{text-align:left}tr.selected{background:#f0f6e8}.comparison-bar{display:inline-block;height:5px;background:#a7c791;border-radius:3px;margin-right:10px;vertical-align:middle}.data-panel{margin-top:30px;padding:28px 30px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{font-size:22px;margin:8px 0 6px}.section-title p{font-size:12px}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:27px}.date-fields{display:flex;gap:14px}.date-fields label{font-size:10px;font-weight:500;color:#90a183;display:block;flex:1}.date-fields input{display:block;width:100%;margin-top:6px;border:1px solid var(--border);padding:10px;border-radius:7px;color:#6d865f;background:#fafcf7;font-size:11px}.data-actions{display:flex;gap:10px;margin-top:14px}.data-actions .button{font-size:10px}.data-grid .field-note{font-size:10px;margin-top:14px;max-width:550px}.upload-section{border-left:1px solid var(--border);padding-left:30px}.csv-kind{display:flex;align-items:center;gap:15px;color:#8a9b7d;font-size:10px;margin-bottom:10px}.csv-kind select{padding:5px 6px;border:1px solid var(--border);border-radius:5px;font-size:10px;color:#667f59;background:#fff}.upload-box{border:1px dashed #cfdcc4;border-radius:8px;display:flex;align-items:center;flex-direction:column;padding:13px 12px;background:#fbfcf8;cursor:pointer;text-align:center}.upload-box:hover{background:#eff5e7}.upload-icon{color:#a9be9b;font-size:23px;line-height:1}.upload-box strong{font-size:11px;font-weight:550;margin:7px 0 4px}.upload-box span:last-of-type{font-size:9px;color:#97a88a}.upload-box input{position:absolute;opacity:0;width:1px;height:1px}.text-button{background:none;color:#718d61;font-size:10px;text-decoration:underline;text-underline-offset:3px;margin-top:10px;padding:0}.source-credit{border-top:1px solid var(--border);margin-top:25px;padding-top:14px;font-size:9px;color:#9da895;line-height:1.7}.source-credit a{text-decoration:underline;text-underline-offset:2px}.method{padding:40px 6px 32px}.method h2{font-size:24px;margin-top:8px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:27px}.method-grid article>span{font:500 12px 'Manrope',sans-serif;color:#a6b99a}.method-grid h3{font-size:12px;margin:9px 0}.method-grid p{font-size:10px;color:#95a189}.method details{margin-top:27px;border-top:1px solid #dde5d6;border-bottom:1px solid #dde5d6;padding:15px 0;font-size:11px;color:#718367}.method summary{cursor:pointer;font-weight:600}.method details p{font-size:10px;max-width:1080px;margin-top:12px}.cost-breakdown{font-size:10px;line-height:1.8;margin-top:10px}.status{border:1px solid #dfe5c6;background:#f3f5e8;color:#718155;padding:11px 15px;border-radius:8px;margin-bottom:14px;font-size:12px;line-height:1.6}.status.error{border-color:#e6ccc0;background:#faf0e9;color:#a76b4e}footer{border-top:1px solid #dce5d5;display:flex;justify-content:space-between;align-items:center;padding:25px 0 30px;gap:20px}footer .brand{font-size:20px}footer .brand-icon{width:24px;height:29px;font-size:22px;border-radius:6px}footer>span{font-size:10px;color:#9eab92}dialog{border:1px solid var(--border);border-radius:16px;padding:28px;max-width:800px;width:calc(100% - 36px);box-shadow:0 16px 90px #17391d30;color:#426239;background:#fff}dialog::backdrop{background:#1e3b2a70;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-heading h2{font-size:22px;margin-top:6px}dialog p{font-size:11px}dialog h3{margin-top:24px}.profile-inputs{display:grid;gap:9px}.profile-inputs.hours{grid-template-columns:repeat(8,1fr)}.profile-inputs.months{grid-template-columns:repeat(6,1fr)}.profile-inputs label{font-size:9px;color:#95a087}.profile-inputs input{display:block;width:100%;margin-top:5px;border:1px solid #e0e7d9;border-radius:5px;padding:8px;color:#637e54;background:#f8fbf3;font-size:11px}.dialog-footer{display:flex;justify-content:space-between;gap:15px;margin-top:26px}[hidden]{display:none!important}
@media(min-width:1600px){main{padding-top:48px}.workspace{grid-template-columns:310px minmax(0,1fr)}}
@media(max-width:1150px){.brand-sub,.brand-divider{display:none}.workspace{grid-template-columns:265px minmax(0,1fr);gap:17px}.config{padding:17px}.metrics{gap:10px;grid-template-columns:1fr 1.1fr 1fr}.metric{padding:18px 15px}.metric-value{font-size:30px}.price-comparison{font-size:22px;gap:6px}.metric-foot{font-size:7px}.topbar{padding:0 25px}.intro-note{display:none}.detail-grid{gap:13px}.detail-panel{padding:19px 17px}.payback{flex-direction:column;gap:3px}.data-grid{gap:35px}.data-actions{flex-wrap:wrap}}
@media(max-width:900px){main{padding:28px 22px 0}.topbar nav{gap:20px}.topbar{height:72px}.workspace{grid-template-columns:240px minmax(0,1fr);gap:15px}.metrics{grid-template-columns:1fr 1fr}.metric:last-child{grid-column:1/-1;min-height:100px;display:grid;grid-template-columns:1fr 1fr}.metric:last-child .metric-value{grid-row:1/3;grid-column:2;text-align:right;margin:0}.metric:last-child .mini-progress{grid-column:1/-1;margin-top:10px}.metric{min-height:160px}.chart-head{align-items:start;flex-direction:column;gap:12px}.chart-legend{gap:11px;font-size:8px}.chart-wrap{min-height:140px}.chart-panel{padding:20px 17px 0}.chart-insight{margin:0 -17px;padding:12px 17px}.detail-grid{grid-template-columns:1fr}.detail-panel h2{font-size:14px}.payback{flex-direction:row}.config-tabs{gap:13px}.two-fields{gap:8px}.two-fields .control label{font-size:9px}.source-strip div>span{margin-left:7px;font-size:9px}.data-panel{padding:24px}.data-grid{gap:24px}.upload-section{padding-left:24px}.method-grid{gap:25px}.section-title .tag{display:none}}
@media(max-width:650px){.topbar{padding:0 17px;height:64px}.brand{font-size:22px}.topbar nav{display:none}.topbar .button{padding:8px 11px;font-size:11px}main{padding:27px 16px 0}.intro{padding-bottom:22px}.eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:34px;letter-spacing:-1.7px}.intro p{font-size:12px}.mobile-br{display:block}.source-strip{padding:11px 12px;gap:8px;flex-wrap:wrap}.source-strip>div{flex:1}.source-strip strong{font-size:11px}.source-strip div>span{display:block;margin:4px 0 0;font-size:9px}.source-strip .tag{font-size:8px}.source-strip .strip-link{font-size:9px;margin:0 0 0 31px;width:100%}.workspace{display:flex;flex-direction:column;gap:20px}.config{position:static;width:100%;padding:18px}.config-tabs{gap:0;justify-content:space-around;margin-bottom:17px}.config-tabs button{font-size:12px}.tab-content{min-height:0}.two-fields .control label{font-size:11px}.control{margin-bottom:17px}.control input[type=range]{margin-top:15px}.capacity-note{margin-top:0}.config-footer{margin-top:17px;padding-top:17px}.autosave{margin-top:9px}.results{width:100%}.metrics{gap:10px}.metric{padding:18px 14px;min-height:160px}.metric-value{font-size:32px}.metric-label{font-size:10px}.price-comparison{font-size:24px;gap:8px;margin-top:21px}.metric-foot{font-size:6px}.metric:last-child{min-height:96px}.chart-head{flex-direction:row;align-items:center;gap:10px}.chart-head h2{font-size:14px}.chart-head .eyebrow{display:none}.chart-controls{gap:0}.chart-controls input{width:110px;padding:5px;font-size:9px}.chart-controls .icon-button{width:22px}.chart-legend{gap:12px;margin-top:18px;font-size:8px}.chart-wrap{margin-top:12px}.chart-panel{padding:19px 14px 0}.chart-insight{margin:0 -14px;padding:12px 14px}.chart-insight p{font-size:9px}.detail-grid{gap:12px}.detail-panel{padding:19px}.detail-grid{grid-template-columns:1fr}.payback{margin-top:17px}.compare-panel{padding:19px}.compare-panel .panel-heading{align-items:start}.compare-panel .button{font-size:10px;padding:9px}.compare-panel h2{font-size:13px}.compare-panel p{font-size:9px!important}.comparison-input label{font-size:9px}.data-panel{margin-top:24px;padding:23px 19px}.section-title h2{font-size:20px}.section-title p{font-size:10px}.data-grid{grid-template-columns:1fr;gap:27px}.upload-section{border-left:0;border-top:1px solid var(--border);padding:23px 0 0}.data-actions .button{font-size:11px}.method{padding:32px 3px 24px}.method h2{font-size:23px}.method-grid{grid-template-columns:1fr;gap:20px;margin-top:22px}.method-grid article{position:relative;padding-left:29px}.method-grid article>span{position:absolute;left:0;top:10px}.method-grid h3{font-size:12px}.method-grid p{font-size:11px}.method details p{font-size:11px}footer{gap:15px;flex-wrap:wrap;padding:20px 0}footer>span:last-child{width:100%;font-size:9px}.profile-inputs.hours{grid-template-columns:repeat(4,1fr)}.profile-inputs.months{grid-template-columns:repeat(4,1fr)}dialog{padding:22px}.dialog-footer .button{font-size:10px;padding:10px}table{font-size:10px}th,td{padding:10px 5px}}

.results.stale .metrics,.results.stale .chart-panel{opacity:.5}.field-note{color:#73816b}.method-grid p{color:#77876d}.source-credit{color:#7a886f}

.export-data-label{display:block;font-size:11px;margin:18px 0 8px;color:#718367}#export-data{width:100%;height:170px;resize:vertical;border:1px solid #dfe7d9;border-radius:8px;padding:12px;font:11px/1.6 monospace;color:#426239;background:#f8fbf5}#export-message{margin-top:15px;color:#567549}

.system-balance{padding:20px 22px;margin-bottom:20px}.system-balance h2{font-size:14px}.balance-values{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:20px}.balance-values span{display:block;font-size:10px;color:#839278}.balance-values strong{display:block;font:650 21px 'Manrope',sans-serif;color:#436c38;margin-top:8px;letter-spacing:-.5px}.system-balance p{font-size:10px;margin-top:17px;color:#849574;line-height:1.8}.demand-key{background:#214e3b}.grid-key{background:#aeb9a6}.device-key{background:#5d95a5}.load-panel{margin-top:20px}.load-panel select{border:1px solid #dfe7d8;border-radius:7px;padding:7px 9px;color:#69805b;background:#fafcf7;font-size:10px;max-width:220px}#load-chart{width:100%;height:auto;display:block}@media(max-width:650px){.balance-values{grid-template-columns:1fr 1fr;gap:20px}.balance-values strong{font-size:22px}.system-balance{padding:20px 17px}.load-panel .chart-head{flex-direction:column;align-items:start}.load-panel select{max-width:100%;width:100%}.load-panel .chart-legend{gap:8px;font-size:8px}}
