:root{--font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--navy-900: #0c1a32;--navy-800: #112240;--coral-50: #fff5f4;--coral-100: #ffe8e5;--coral-200: #ffc9c2;--coral-300: #ffa99e;--coral-400: #ff8a7a;--coral-500: #ff6b5b;--coral-600: #e85546;--coral-700: #c4443a;--grey-50: #f9fafb;--grey-100: #f3f4f6;--grey-200: #e5e7eb;--grey-300: #d1d5db;--grey-400: #9ca3af;--grey-500: #6b7280;--grey-600: #4b5563;--grey-700: #374151;--grey-800: #1f2937;--green-100: #dcfce7;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--grey-50);color:var(--grey-800);line-height:1.6;min-height:100vh}#root{max-width:960px;margin:0 auto;padding:2rem 1.5rem}h1{font-size:2.2rem;font-weight:800;color:var(--grey-800);margin-bottom:.5rem}h2{font-size:1.5rem;font-weight:700;margin-bottom:.75rem}h3{font-size:1.15rem;font-weight:700;color:var(--grey-800);margin-bottom:.5rem}.subtitle{color:var(--grey-500);margin-bottom:1.5rem}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;background:var(--grey-50);border:1px solid var(--grey-200);border-radius:var(--radius-xl);padding:.6rem 2rem;margin:0 auto 2rem;width:fit-content}.step{display:flex;align-items:center;gap:.5rem}.step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.step.completed .step-circle{background:var(--green-500);color:#fff}.step.active .step-circle{background:var(--coral-500);color:#fff}.step.upcoming .step-circle{background:var(--grey-200);color:var(--grey-500)}.step-label{font-size:.85rem;font-weight:600}.step.completed .step-label{color:var(--green-600)}.step.active .step-label{color:var(--coral-500)}.step.upcoming .step-label{color:var(--grey-400)}.step.clickable{cursor:pointer;transition:opacity .15s ease}.step.clickable:hover{opacity:.7}.step.clickable:hover .step-label{text-decoration:underline}.step-connector{width:40px;height:2px;margin:0 .5rem}.step-connector.done{background:var(--green-500)}.step-connector.pending{background:var(--grey-300)}.primary-btn{background:var(--coral-500);color:#fff;border:none;border-radius:var(--radius-xl);padding:.85rem 2.5rem;font-size:1.05rem;font-weight:700;font-family:var(--font);cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:0 4px 14px #ff6b5b59}.primary-btn:hover:not(:disabled){background:var(--coral-600);box-shadow:0 6px 20px #ff6b5b73}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.secondary-btn{background:var(--grey-100);color:var(--grey-700);border:none;border-radius:var(--radius-sm);padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;font-family:var(--font);cursor:pointer;transition:background .15s}.secondary-btn:hover{background:var(--grey-200)}.reset-btn{background:none;border:1px solid var(--grey-300);border-radius:var(--radius-sm);padding:.4rem 1rem;font-size:.85rem;font-family:var(--font);color:var(--grey-500);cursor:pointer;margin-bottom:1.5rem;transition:background .15s,color .15s}.reset-btn:hover{background:var(--grey-100);color:var(--grey-700)}.hero{text-align:center;padding:2.5rem 0 1.5rem;background:transparent}.hero-icon{width:56px;height:56px;background:var(--coral-500);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.hero-tagline{color:var(--grey-500);font-size:1.1rem;margin-bottom:0}.privacy-label{margin-top:.75rem;display:flex;flex-direction:column;align-items:center}.privacy-badge{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--grey-500);font-size:.85rem;font-family:var(--font);cursor:pointer;padding:.35rem 0;transition:color .15s}.privacy-badge:hover{color:var(--grey-700)}.privacy-icon{flex-shrink:0;color:var(--green-500)}.privacy-more{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.privacy-detail{max-width:480px;margin-top:.5rem;padding:.75rem 1rem;background:var(--green-100);border-radius:var(--radius-sm);font-size:.85rem;color:var(--grey-700);line-height:1.6;text-align:left}.upload-screen{text-align:center}.steps-list{text-align:left;max-width:520px;margin:2rem auto;background:#fff;border:1px solid var(--grey-200);border-radius:var(--radius-md);padding:1.5rem;list-style:none;counter-reset:steps}.steps-list li{position:relative;padding-left:2.5rem;margin-bottom:.75rem;font-size:.95rem;color:var(--grey-700);line-height:1.6;counter-increment:steps}.steps-list li:last-child{margin-bottom:0}.steps-list li:before{content:counter(steps);position:absolute;left:0;top:.15rem;width:24px;height:24px;background:var(--coral-500);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.upload-boxes{display:flex;gap:1.5rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.upload-box{display:flex;flex-direction:column;align-items:center;justify-content:center;width:280px;min-height:170px;border:2px dashed var(--grey-300);border-radius:var(--radius-md);padding:1.5rem;cursor:pointer;transition:border-color .15s,background .15s;position:relative;background:#fff}.upload-box:hover{border-color:var(--coral-500);background:var(--coral-50)}.upload-box.has-file{border-color:var(--green-500);border-style:solid;background:#fff}.upload-box input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-icon{color:var(--grey-400);margin-bottom:.5rem}.upload-box.has-file .upload-icon{color:var(--green-500)}.upload-label{font-weight:700;font-size:1rem;color:var(--grey-800)}.upload-hint{font-size:.8rem;color:var(--grey-400);margin-top:.25rem}.file-name{margin-top:.75rem;font-size:.85rem;color:var(--green-600);font-weight:500;word-break:break-all;display:flex;align-items:center;gap:.35rem}.file-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--green-500);border-radius:50%;flex-shrink:0}.processing-overlay{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.spinner{width:40px;height:40px;border:4px solid var(--grey-200);border-top-color:var(--coral-500);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.processing-text{color:var(--grey-500);font-size:.95rem;font-weight:500}.tariff-review{max-width:560px;margin:0 auto}.tariff-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.form-row{display:flex;flex-direction:column;gap:.25rem}.form-row label{font-size:.85rem;font-weight:500;color:var(--grey-600)}.form-row input{border:1px solid var(--grey-300);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.95rem;font-family:var(--font);color:var(--grey-800);transition:border-color .15s,box-shadow .15s}.form-row input:focus{outline:none;border-color:var(--coral-500);box-shadow:0 0 0 2px #ff6b5b26}.form-row-inline{display:flex;gap:1rem}.form-row-inline>div{flex:1;display:flex;flex-direction:column;gap:.25rem}.form-row-inline label{font-size:.85rem;font-weight:500;color:var(--grey-600)}.form-row-inline input{border:1px solid var(--grey-300);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.95rem;font-family:var(--font);color:var(--grey-800);transition:border-color .15s,box-shadow .15s}.form-row-inline input:focus{outline:none;border-color:var(--coral-500);box-shadow:0 0 0 2px #ff6b5b26}.tou-section{margin-top:.5rem}.tou-section h3{margin-bottom:.25rem}.tou-hint{font-size:.85rem;color:var(--grey-400);margin-bottom:1rem}.tou-entry{border:1px solid var(--grey-200);border-radius:var(--radius-sm);padding:1rem;margin-bottom:.75rem;background:var(--grey-50);display:flex;flex-direction:column;gap:.75rem}.tou-header{display:flex;justify-content:space-between;align-items:center}.tou-label{font-weight:600;font-size:.9rem;color:var(--grey-700)}.tou-remove-btn{background:none;border:1px solid #fca5a5;color:#dc2626;border-radius:var(--radius-sm);padding:.25rem .75rem;font-size:.8rem;font-family:var(--font);cursor:pointer;transition:background .15s}.tou-remove-btn:hover{background:#fef2f2}.tou-days{display:flex;flex-direction:column;gap:.35rem}.tou-days>label{font-size:.85rem;font-weight:500;color:var(--grey-600)}.day-checkboxes{display:flex;gap:.5rem;flex-wrap:wrap}.day-checkbox{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--grey-700);cursor:pointer;-webkit-user-select:none;user-select:none}.day-checkbox input[type=checkbox]{accent-color:var(--coral-500);cursor:pointer}.tou-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--grey-100)}.tou-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--grey-600)}.tou-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;flex-shrink:0}.warning-box{background:var(--coral-50);border:1px solid var(--coral-200);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1.5rem;font-size:.9rem}.warning-box ul{margin:.5rem 0;padding-left:1.25rem}.warning-box li{color:var(--coral-700)}.autofill-overlay{position:fixed;inset:0;background:#0c1a328c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.autofill-modal{background:#fff;border-radius:var(--radius-md);padding:1.75rem;max-width:440px;width:100%;box-shadow:0 20px 50px #0c1a324d}.autofill-modal h3{margin-bottom:.75rem;color:var(--navy-900)}.autofill-modal p{color:var(--grey-700);margin-bottom:.75rem}.autofill-modal ul{margin:0 0 1rem;padding-left:1.25rem}.autofill-modal li{color:var(--grey-700);margin-bottom:.25rem}.csv-preview{margin-top:.75rem;overflow-x:auto}.csv-preview table{font-size:.8rem;border-collapse:collapse}.csv-preview td{padding:.2rem .5rem;border:1px solid var(--grey-200);white-space:nowrap}.dashboard{display:flex;flex-direction:column;gap:2rem}.dash-header{background:var(--navy-800);color:#fff;border-radius:var(--radius-lg);padding:2.5rem 2rem 2rem;text-align:center}.dash-header h2{color:#fff;font-size:1.8rem;font-weight:800;margin-bottom:.5rem}.dash-subtitle{font-size:1.05rem;color:#ffffffbf}.dash-subtitle strong{color:var(--coral-400);font-size:1.3rem;font-weight:800}.dash-header .step-indicator{margin-top:1.5rem;margin-bottom:0;background:#fffffff2}.dash-content{display:flex;flex-direction:column;gap:2rem}.card-coral{background:#fff;border:1px solid var(--grey-200);border-top:3px solid var(--coral-500);border-radius:var(--radius-md);padding:1.5rem}.summary{font-size:1.05rem;color:var(--grey-600)}.summary strong{color:var(--grey-800);font-size:1.1rem}.chart-section{background:#fff;border:1px solid var(--grey-200);border-top:3px solid var(--coral-500);border-radius:var(--radius-md);padding:1.5rem}.chart-desc{font-size:.85rem;color:var(--grey-400);margin-bottom:1rem}.insights-section{background:#fff;border:1px solid var(--grey-200);border-top:3px solid var(--coral-500);border-radius:var(--radius-md);padding:1.5rem}.insights-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.insight{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;line-height:1.5}.insight-baseload{background:var(--coral-50);border-left:3px solid var(--coral-500)}.insight-seasonal{background:#eff6ff;border-left:3px solid #3b82f6}.insight-seasonal_cost{background:#f0fdf4;border-left:3px solid var(--green-500)}.insight-spikes{background:#fef2f2;border-left:3px solid #ef4444}.insight-load_shifting{background:#f0fdf4;border-left:3px solid var(--green-500)}.load-shifting-details{margin-top:.75rem}.load-shifting-details summary{cursor:pointer;font-weight:600;color:var(--green-700, #15803d);-webkit-user-select:none;user-select:none}.load-shifting-details summary:hover{text-decoration:underline}.load-shifting-tips{margin-top:.5rem;padding-left:.25rem}.load-shifting-tips p{margin:0 0 .4rem}.load-shifting-tips ul{margin:0;padding-left:1.25rem}.load-shifting-tips li{margin-bottom:.35rem;line-height:1.45}.insight-solar{background:#eff6ff;border-left:3px solid #3b82f6}.baseload-options{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.08)}.baseload-options-title{font-weight:600;font-size:.85rem;margin-bottom:.5rem;color:#374151}.baseload-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer;padding:.25rem 0}.baseload-checkbox input[type=checkbox]{accent-color:var(--coral-500);width:16px;height:16px}.baseload-resolved{margin-top:.5rem;padding:.5rem .75rem;background:#f0fdf4;border-left:3px solid #22c55e;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:#166534}.baseload-still-high{margin-top:.5rem;padding:.5rem .75rem;background:#fef2f2;border-left:3px solid #ef4444;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:#991b1b}.plans-section,.solar-section{background:#fff;border:1px solid var(--grey-200);border-top:3px solid var(--coral-500);border-radius:var(--radius-md);padding:1.5rem}.solar-customise{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;padding:1rem;background:var(--coral-50);border-radius:var(--radius-sm)}.solar-field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--grey-700)}.solar-field input[type=number]{padding:.4rem .5rem;border:1px solid var(--grey-200);border-radius:var(--radius-sm);font-size:.95rem;width:9rem}.solar-field-label{display:inline-flex;align-items:center;gap:.35rem}.info-tooltip{position:relative;display:inline-flex;cursor:help;outline:none}.info-tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--coral-500);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.info-tooltip-bubble{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);z-index:20;display:none;flex-direction:column;gap:.4rem;width:17rem;padding:.75rem .85rem;background:var(--grey-700, #334155);color:#fff;border-radius:var(--radius-sm);font-size:.78rem;font-weight:400;line-height:1.4;box-shadow:0 6px 18px #00000040}.info-tooltip-bubble strong{font-weight:700}.info-tooltip:hover .info-tooltip-bubble,.info-tooltip:focus .info-tooltip-bubble,.info-tooltip:focus-within .info-tooltip-bubble{display:flex}.solar-field-checkbox{flex-direction:row;align-items:center;gap:.5rem;max-width:22rem;line-height:1.4}.solar-field-checkbox input{flex:none}.solar-stats{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.solar-stat{display:flex;flex-direction:column;gap:.2rem;min-width:140px;padding:.75rem 1rem;background:var(--coral-50);border-radius:var(--radius-sm)}.solar-stat-label{font-size:.8rem;color:var(--grey-400)}.solar-stat-value{font-size:1.1rem;font-weight:600;color:var(--grey-800)}.solar-stat-payback{background:var(--coral-500)}.solar-stat-payback .solar-stat-label{color:var(--coral-100)}.solar-stat-payback .solar-stat-value{color:#fff}.solar-verdict{margin-top:1rem;padding:.85rem 1rem;border-radius:var(--radius-sm);font-size:.95rem;line-height:1.5;border-left:3px solid var(--grey-200);background:var(--grey-100, #f3f4f6)}.verdict-recommend{background:var(--green-100);border-left-color:var(--green-600);color:var(--green-700)}.verdict-consider,.verdict-marginal{background:#fef9c3;border-left-color:#ca8a04;color:#854d0e}.verdict-uneconomic{background:var(--coral-50);border-left-color:var(--coral-500);color:var(--grey-700)}.solar-pairing{margin-top:.75rem}.table-wrapper{overflow-x:auto}.plans-table{width:100%;border-collapse:collapse;font-size:.9rem}.plans-table th{text-align:left;padding:.6rem .75rem;background:var(--grey-50);border-bottom:2px solid var(--grey-200);color:var(--grey-600);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.plans-table td{padding:.6rem .75rem;border-bottom:1px solid var(--grey-100)}.plans-table td.retailer{font-weight:700;color:var(--grey-800)}.plans-table tr.saving td{background:var(--green-100)}.plans-table tr.custom-row td{background:var(--coral-50);font-style:italic}.plans-table td.positive{color:var(--green-600);font-weight:600}.plans-table td.negative{color:var(--grey-500)}.saving-badge{display:inline-block;padding:.15rem .6rem;border-radius:var(--radius-xl);font-weight:700;font-size:.85rem}.saving-badge.save{background:var(--green-100);color:var(--green-700)}.saving-badge.no-save{background:var(--grey-100);color:var(--grey-500)}.expandable-row:hover td{background:var(--grey-50)}.plan-detail-row td{padding:0!important;background:var(--grey-50)}.plan-detail{padding:.75rem 1rem;border-left:3px solid var(--coral-500)}.plan-detail-disclaimer{font-size:.8rem;color:var(--coral-700);background:var(--coral-50);border-radius:var(--radius-sm);padding:.4rem .6rem;margin:0 0 .5rem}.plan-detail-grid{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.plan-detail-item{display:flex;flex-direction:column;min-width:140px}.plan-detail-label{font-size:.75rem;color:var(--grey-500);text-transform:uppercase;letter-spacing:.03em}.plan-detail-value{font-size:.9rem;font-weight:600;color:var(--grey-800)}.site-footer{margin-top:3rem;padding:1rem 1.5rem;background:var(--navy-800);color:#fff;display:flex;align-items:center;gap:1.5rem;font-size:.85rem;font-weight:400;border-radius:0;width:100vw;margin-left:calc(-50vw + 50%)}.site-footer a.footer-link{color:#ffffffb3;text-decoration:none}.site-footer a.footer-link:hover{color:#fff;text-decoration:underline}.site-footer .footer-brand{margin-left:auto;font-size:.75rem;color:#fff9}@media(max-width:640px){#root{padding:1rem}.upload-boxes{flex-direction:column;align-items:center}.upload-box{width:100%;max-width:320px}.form-row-inline{flex-direction:column}.plans-table{font-size:.8rem}.plans-table th,.plans-table td{padding:.4rem .5rem}.dash-header{padding:1.5rem 1rem}.step-indicator{padding:.5rem 1rem}.solar-section{padding:1rem}.solar-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.solar-stat{min-width:0;padding:.5rem .6rem}.solar-stat-label{font-size:.7rem}.solar-stat-value{font-size:.95rem}.solar-stat-payback{grid-column:1 / -1}}
