:root{color-scheme:light;--background:#f5f7fa;--surface:#fff;--ink:#142033;--muted:#627188;--line:#dce3eb;--green:#086347;--green-hover:#064d38;--green-light:#eaf6ef;--amber:#825309;--amber-light:#fff7e5;--red:#a02929;--radius:9px}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}main{max-width:1280px;margin:auto;padding:38px 32px 24px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.65rem,3.2vw,2.3rem);line-height:1.18;letter-spacing:-.045em;font-weight:750}h2{font-size:1.45rem;letter-spacing:-.025em;line-height:1.3}h3{font-size:1rem;font-weight:650}.page-header{margin-bottom:25px}.page-header p{margin-top:9px;color:var(--muted)}a{color:var(--green);text-underline-offset:3px}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #438dcb}button,label.button,summary{cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border-radius:7px;border:1px solid transparent;font-weight:650;line-height:1.3;text-decoration:none;min-height:46px;white-space:nowrap;transition:background .15s}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.primary:hover{background:var(--green-hover)}.button.secondary{background:white;color:var(--ink);border-color:#91a0b2}.button.secondary:hover{background:#eef3f6}button:disabled{opacity:.5;cursor:not-allowed}.button svg{width:24px;height:24px;flex-shrink:0}.small{font-size:.875rem}.muted,.hint{color:var(--muted)}.hint{font-size:.8rem;font-weight:400}.centered{text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.upload-area{display:flex;gap:22px;align-items:center;padding:26px;border:1.5px dashed #b7c4d4;border-radius:var(--radius);background:#fbfcfe;transition:background .15s,border-color .15s}.upload-area.drag-over{border-color:var(--green);background:var(--green-light)}.upload-icon{width:46px;height:46px;flex-shrink:0;color:#718095}.upload-copy{flex:1}.upload-copy h2{font-size:1.12rem;letter-spacing:-.015em}.upload-copy p{margin-top:5px;color:var(--muted)}.upload-actions{display:flex;flex-direction:column;align-items:center;gap:7px}.file-notice{display:flex;gap:12px;align-items:center;padding:15px 18px;margin-top:12px;border:1px solid var(--line);background:white;border-radius:var(--radius);font-size:.875rem}.file-notice strong{overflow-wrap:anywhere}.file-notice .muted{font-size:.8rem}.success-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#279361;color:white;flex-shrink:0}.text-button{border:0;background:transparent;color:var(--green);margin-left:auto;white-space:nowrap;padding:4px}.progress{display:flex;align-items:center;gap:12px;padding:22px 4px;color:var(--muted)}.spinner{height:20px;width:20px;border:2px solid #ccd8d2;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:20px}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.badge{display:inline-flex;padding:3px 11px;background:#eef1f5;color:#536379;font-size:.8rem;font-weight:500;border-radius:30px;white-space:nowrap}.badge.success{background:#d9f1e3;color:#096443}.badge.warning{background:#fff0ce;color:var(--amber)}.notice{padding:12px 16px;margin:16px 0;border:1px solid;border-radius:7px;font-size:.875rem}.notice.error{border-color:#f1b9b9;background:#fff1f1;color:var(--red)}.notice.warning{border-color:#eddaaa;background:var(--amber-light);color:var(--amber)}.form-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:16px;margin:22px 0}.form-grid label,.sheet-field{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:600}input:not([type=checkbox]),select{width:100%;min-height:43px;padding:9px 10px;border:1px solid #bac6d4;border-radius:6px;background:#fff;color:var(--ink);font-size:.875rem}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.sheet-field{max-width:400px;margin:18px 0}.checkbox-label{display:flex;align-items:flex-start;gap:10px;margin:22px 0 8px;font-size:.875rem}.checkbox-label input{margin-top:3px}.form-actions{display:flex;align-items:center;gap:16px;margin-top:20px}#points-help{margin:6px 0 12px}.points-table th{font-size:.85rem}.points-table td{vertical-align:top}.point-name{display:block;max-width:440px;overflow-wrap:anywhere;font-size:.875rem}.point-meta{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}.points-table select{min-width:110px}.points-table input[type=text]{min-width:150px}.points-table th:first-child{width:65px}
.consumer{font-size:1.16rem;font-weight:600;margin-top:12px}.consumer+p{font-size:.875rem;margin:3px 0 18px}.summary-grid{display:grid;grid-template-columns:1.12fr 1fr 1fr 1.2fr;gap:13px;margin:18px 0}.summary-cell{border:1px solid var(--line);border-radius:7px;padding:16px 17px;min-width:0}.summary-cell>span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:4px}.summary-cell strong{display:block;font-size:clamp(1rem,1.8vw,1.55rem);font-weight:700;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:nowrap}.grand-total{background:var(--green-light);border-color:#bde3cd}.grand-total>span,.grand-total strong{color:#063c2c}.breakdown{border:1px solid var(--line);border-radius:7px;padding:14px 16px;margin-top:14px}.breakdown summary{font-size:.875rem;font-weight:650}.component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:20px 0 12px}.component{padding-right:12px;border-right:1px solid var(--line)}.component:last-child{border:0}.component .label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:3px}.component strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.component .formula{display:block;font-size:.8rem;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.sources{font-size:.8rem;color:var(--muted);margin-top:14px}.sources summary{padding:4px 0}.sources ul{padding-left:20px;overflow-wrap:anywhere}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:7px;margin-top:13px}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:9px 13px;text-align:left;border-bottom:1px solid var(--line)}th{font-weight:550;background:#f4f6f9;color:#263549}tbody tr:last-child td{border-bottom:0}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.scenarios-table{min-width:720px}.scenarios-table td{padding-top:8px;padding-bottom:8px}.scenarios-table .selected td{background:var(--green-light);color:#0b5039;font-weight:600}.scenarios-table .expand-button{border:0;background:transparent;color:#526e83;width:30px;height:27px;font-size:1.3rem;line-height:1}.scenario-details td{background:#fafcfb;padding:12px 18px}.scenario-details .component-grid{margin:8px 0}.scenario-details p{font-size:.8rem;color:var(--muted)}.download-actions{display:flex;justify-content:center;gap:15px;margin-top:25px}.download-actions+p{margin-top:11px}footer{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:.8rem;color:var(--muted)}#error-box{overflow-wrap:anywhere}
@media(max-width:1000px){.form-grid{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:1fr 1fr}.summary-cell strong{font-size:1.4rem}}
@media(max-width:640px){main{padding:24px 14px}.page-header p{font-size:.875rem}.upload-area{padding:20px 16px;gap:13px;flex-wrap:wrap}.upload-icon{width:34px;height:34px}.upload-copy{min-width:200px}.upload-actions{width:100%;flex-direction:row;justify-content:space-between;margin-top:5px}.upload-actions .button{padding:10px 15px}.panel{padding:18px 14px}.form-grid{grid-template-columns:1fr}.form-actions{align-items:flex-start;flex-direction:column}.form-actions .button{width:100%}.file-notice{flex-wrap:wrap}.file-notice .muted{width:100%;padding-left:37px}.file-notice .text-button{margin-left:37px}.summary-grid{gap:9px}.summary-cell{padding:12px 10px}.summary-cell strong{font-size:1.07rem}.summary-cell>span{font-size:.8rem}.download-actions{flex-direction:column}.download-actions .button{width:100%}.component-grid{grid-template-columns:1fr 1fr}.component{border:0}footer{display:block;text-align:center}footer span{display:block;margin-top:6px}h2{font-size:1.3rem}.badge{font-size:.75rem}}
.optional-section{border-top:1px solid var(--line);padding:15px 0}.optional-section summary{font-weight:600}.optional-section>p{margin-top:12px}.optional-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:15px}.points-table details{margin-top:5px;font-size:.8rem;color:var(--muted)}.points-table details p{overflow-wrap:anywhere}.points-table:has(#include-heading[hidden]){min-width:0}.points-table:has(#include-heading[hidden]) td{width:auto}
@media(max-width:640px){.optional-section .form-grid{grid-template-columns:1fr}}
.billing-summary{margin-top:24px}.billing-summary .section-heading{justify-content:space-between}.billing-summary .table-scroll{margin:12px 0}.billing-table{min-width:1900px;width:100%;border-collapse:collapse}.billing-table th,.billing-table td{border:1px solid #bac6d4;padding:10px;font-size:.8rem}.billing-table th{text-align:center;vertical-align:middle;white-space:normal;min-width:115px}.billing-table th:first-child{min-width:50px}.billing-table td:nth-child(2){min-width:250px}.billing-table td{vertical-align:middle}.billing-table .numeric{white-space:nowrap}.billing-summary #billing-table-notes p{margin-top:7px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
