input.svelte-18vlx7z{width:100%;max-width:none;padding:.25rem .38rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.2;border-radius:6px;border:1px solid #e2e8f0;background:#fff;box-sizing:border-box;font-variant-numeric:tabular-nums;color:#1e293b;transition:border-color .15s ease,box-shadow .15s ease}input.svelte-18vlx7z:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 2px #818cf81f}input[readonly].svelte-18vlx7z{background:#f8fafc;color:#334155}.workspace.svelte-5jttbu{display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:1rem;align-items:start;font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:1024px){.workspace.svelte-5jttbu{grid-template-columns:1fr}}.left-panel.svelte-5jttbu,.right-panel.svelte-5jttbu{min-width:0}.left-panel.svelte-5jttbu{position:sticky;top:.5rem;max-height:calc(100vh - 1rem);overflow:auto;padding-right:.2rem;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}@media(max-width:1024px){.left-panel.svelte-5jttbu{position:static;max-height:none;overflow:visible;padding-right:0}}.page-header.svelte-5jttbu{margin:0 0 .45rem}.page-header.svelte-5jttbu h2:where(.svelte-5jttbu){font-size:1.45rem;font-weight:700;margin:0;margin-bottom:.1rem;letter-spacing:-.03em;line-height:1.2;background:linear-gradient(135deg,#0f766e,#0ea5a4 45%,#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card.svelte-5jttbu{border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:.55rem .7rem;background:#ffffffd1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 2px #00000008,0 3px 12px #0000000a;margin-bottom:.45rem;transition:box-shadow .2s ease,border-color .2s ease}.card.svelte-5jttbu:hover{box-shadow:0 2px 4px #0000000a,0 6px 20px #0000000f;border-color:#0000001a}.card.svelte-5jttbu h3:where(.svelte-5jttbu){font-size:.7rem;font-weight:700;color:#64748b;margin:0 0 .3rem;letter-spacing:.06em;text-transform:uppercase}.card.svelte-5jttbu h3.input-card-title:where(.svelte-5jttbu){font-size:.72rem;font-weight:700;color:#0f766e;letter-spacing:.015em;line-height:1.3;text-transform:none}.form-grid.svelte-5jttbu{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:.25rem .3rem}.demand-mode-toggle.svelte-5jttbu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem;margin:.18rem 0 .35rem}.demand-mode-toggle.svelte-5jttbu button:where(.svelte-5jttbu){padding:.26rem .35rem;min-height:auto;border-radius:6px;border:1px solid #cbd5e1;background:#ffffffe6;color:#475569;box-shadow:none;font-size:.68rem;font-weight:700;line-height:1.15;letter-spacing:.01em}.demand-mode-toggle.svelte-5jttbu button:where(.svelte-5jttbu):hover:not(:disabled){transform:none;box-shadow:none;filter:none;border-color:#94a3b8}.demand-mode-toggle.svelte-5jttbu button.active:where(.svelte-5jttbu){background:#e6fffb;border-color:#14b8a6;color:#0f766e}label.svelte-5jttbu{font-size:.66rem;color:#64748b;display:flex;flex-direction:column;gap:.04rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}select.svelte-5jttbu{width:100%;max-width:none;padding:.25rem .38rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;line-height:1.2;border-radius:6px;border:1px solid #e2e8f0;background:#fff;box-sizing:border-box;font-variant-numeric:tabular-nums;color:#1e293b;transition:border-color .15s ease,box-shadow .15s ease}select.svelte-5jttbu:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 2px #818cf81f}.hint.svelte-5jttbu{font-size:.62rem;color:#94a3b8;margin-top:.04rem;line-height:1.2;text-transform:none;font-weight:500;letter-spacing:normal;font-style:italic}button.svelte-5jttbu{padding:.38rem .8rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:7px;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:.78rem;font-weight:600;line-height:1.2;letter-spacing:.01em;transition:all .15s ease;box-shadow:0 1px 3px #1d4ed833}button.svelte-5jttbu:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 10px #1d4ed840;filter:brightness(1.05)}button.svelte-5jttbu:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.status-banner.svelte-5jttbu{width:100%;margin-bottom:.55rem}.status-row.svelte-5jttbu{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.status-controls.svelte-5jttbu{display:flex;align-items:end;gap:.45rem;flex-wrap:wrap}.status-controls.svelte-5jttbu label:where(.svelte-5jttbu){min-width:160px}.status-run-btn.svelte-5jttbu{min-height:2.25rem;white-space:nowrap}.error.svelte-5jttbu{color:#dc2626;font-size:.76rem;margin-top:.25rem;font-weight:500;background:#fef2f2;padding:.28rem .45rem;border-radius:5px;border:1px solid #fecaca}.note.svelte-5jttbu{font-size:.72rem;color:#94a3b8;margin:.12rem 0;line-height:1.3}.summary-grid.svelte-5jttbu{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:.5rem;margin-top:0}.summary-grid.svelte-5jttbu .card:where(.svelte-5jttbu){margin-bottom:0;position:relative;overflow:hidden}.summary-grid.svelte-5jttbu .card:where(.svelte-5jttbu):before{content:"";position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,#0f766e,#0ea5a4,#22c55e);opacity:.9;border-radius:12px 12px 0 0}.summary-grid.svelte-5jttbu .card:where(.svelte-5jttbu) strong:where(.svelte-5jttbu){font-size:.72rem;font-weight:700;color:#0f766e;letter-spacing:.015em;line-height:1.3}.card-title-row.svelte-5jttbu{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-bottom:.08rem}.horizon-toggle.svelte-5jttbu{display:inline-flex;gap:.18rem}.horizon-toggle.svelte-5jttbu button:where(.svelte-5jttbu){padding:.12rem .36rem;min-height:auto;border-radius:5px;border:1px solid #cbd5e1;background:#ffffffd1;color:#475569;box-shadow:none;font-size:.62rem;font-weight:600;line-height:1.1}.horizon-toggle.svelte-5jttbu button:where(.svelte-5jttbu):hover:not(:disabled){transform:none;box-shadow:none;filter:none;border-color:#94a3b8}.horizon-toggle.svelte-5jttbu button.active:where(.svelte-5jttbu){background:#e0e7ff;border-color:#818cf8;color:#3730a3}.horizon-toggle.svelte-5jttbu button:where(.svelte-5jttbu):disabled{opacity:.45;cursor:not-allowed;background:#f8fafc;color:#94a3b8}.results-kpi.svelte-5jttbu{font-size:1.15rem;line-height:1.1;font-weight:700;font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.15rem 0 .08rem;color:#1e293b}.mono-value.svelte-5jttbu{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.mono-align.svelte-5jttbu{white-space:pre}.chart.svelte-5jttbu{height:405px}.chart-wrap.svelte-5jttbu{position:relative}.custom-chart-tooltip.svelte-5jttbu{position:absolute;z-index:6;pointer-events:none;background:#ffffffbd;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 6px 20px #0f172a1a;color:#1e293b;font-size:.78rem;line-height:1.2;padding:.42rem .5rem;max-width:min(92%,330px);white-space:normal}.charts-grid.svelte-5jttbu{display:grid;grid-template-columns:1fr;gap:.32rem;margin-top:.28rem}@media(min-width:1360px){.charts-grid.svelte-5jttbu{grid-template-columns:repeat(2,minmax(0,1fr))}}.chart-card.svelte-5jttbu{margin-top:0;padding:.3rem .42rem;margin-bottom:0}.amount-positive.svelte-5jttbu{color:#16a34a}.amount-negative.svelte-5jttbu{color:#dc2626}.metric-row.svelte-5jttbu{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem;margin:0}.metric-label.svelte-5jttbu{align-self:flex-start;line-height:1.1;color:#0f766e;font-weight:700}.metric-stack.svelte-5jttbu{display:grid;row-gap:0;margin:.12rem 0}.note-spacer.svelte-5jttbu{visibility:hidden}.metric-value.svelte-5jttbu{align-self:flex-start;margin:0;text-align:right;font-size:1.05rem}.demand-summary.svelte-5jttbu{margin-top:.35rem;padding-top:.28rem;border-top:1px solid #f1f5f9}.demand-summary-grid.svelte-5jttbu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.demand-summary-item.svelte-5jttbu{border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.35rem .45rem}.province-input-row.svelte-5jttbu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.35rem;margin-top:.18rem}.province-field.svelte-5jttbu{grid-column:span 2}.province-input-row.svelte-5jttbu select:where(.svelte-5jttbu){min-width:0}.hint-inline.svelte-5jttbu{font-size:.62rem;color:#94a3b8;text-transform:none;letter-spacing:normal;font-style:italic;font-weight:500;line-height:1.2;text-align:left;border:1px solid #e2e8f0;border-radius:6px;background:#fff;padding:.25rem .38rem;display:flex;align-items:center;min-height:2rem}@media(max-width:640px){.province-field.svelte-5jttbu{grid-column:span 1}.province-input-row.svelte-5jttbu{grid-template-columns:1fr}}.energy-assumptions-table-wrap.svelte-5jttbu{margin-bottom:.35rem;overflow-x:auto}.energy-assumptions-table.svelte-5jttbu{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.72rem}.energy-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu),.energy-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu){border-bottom:1px solid #f1f5f9;padding:.24rem .18rem;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.energy-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu){font-size:.62rem;font-weight:700;color:#94a3b8;letter-spacing:.05em;text-transform:uppercase;text-align:center}.energy-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu):first-child{font-weight:600;color:#475569}.energy-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu) input{max-width:none;width:100%}.system-assumptions-table-wrap.svelte-5jttbu{margin-bottom:.35rem;overflow-x:auto}.system-assumptions-table.svelte-5jttbu{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.72rem}.system-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu),.system-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu){border-bottom:1px solid #f1f5f9;padding:.24rem .18rem;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.system-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu){font-size:.62rem;font-weight:700;color:#94a3b8;letter-spacing:.05em;text-transform:uppercase;text-align:center}.system-assumptions-table.capex-table.svelte-5jttbu td:where(.svelte-5jttbu):first-child{font-weight:600;color:#475569;width:24%}.system-assumptions-table.capex-table.svelte-5jttbu th:where(.svelte-5jttbu):first-child{width:24%}.system-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu) input{max-width:none;width:100%}.efficiency-table.svelte-5jttbu thead:where(.svelte-5jttbu) tr:where(.svelte-5jttbu):first-child th:where(.svelte-5jttbu){text-align:center;font-size:.6rem;color:#64748b;letter-spacing:.06em}.efficiency-table.svelte-5jttbu .boiler-separator:where(.svelte-5jttbu){border-left:1px solid #e2e8f0}.solar-assumptions-table-wrap.svelte-5jttbu{margin-bottom:.35rem;overflow-x:auto}.solar-assumptions-table.svelte-5jttbu{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.72rem}.solar-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu),.solar-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu){border-bottom:1px solid #f1f5f9;padding:.24rem .18rem;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.solar-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu){font-size:.62rem;font-weight:700;color:#94a3b8;letter-spacing:.05em;text-transform:uppercase;text-align:center}.solar-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu):first-child{font-weight:600;color:#475569}.energy-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu):first-child,.energy-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu):first-child,.system-assumptions-table.capex-table.svelte-5jttbu th:where(.svelte-5jttbu):first-child,.system-assumptions-table.capex-table.svelte-5jttbu td:where(.svelte-5jttbu):first-child,.solar-assumptions-table.svelte-5jttbu th:where(.svelte-5jttbu):first-child,.solar-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu):first-child{width:24%}.solar-assumptions-table.svelte-5jttbu td:where(.svelte-5jttbu) input{max-width:none;width:100%}html,body{min-height:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:linear-gradient(135deg,#f8fafc,#eef2ff,#f0fdf4);background-attachment:fixed;background-repeat:no-repeat}
