:root{font-family:Inter,Arial,sans-serif;color:#252a38;background:#f4f5f8;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:1240px;margin:auto;padding:32px 24px}a{color:#3f2b69}nav{display:flex;justify-content:space-between;align-items:center;gap:20px}nav a:first-child{font:600 28px 'Instrument Sans',sans-serif;text-decoration:none;color:#4a5164}header{max-width:840px;margin:56px 0 32px}h1,h2,h3{font-family:'Instrument Sans',sans-serif;font-weight:600}h1{font-size:clamp(32px,5vw,48px);margin:0 0 16px;line-height:1.12}p{line-height:1.7}header p{font-size:18px;color:#555e70}h2{font-size:24px;margin:0 0 24px}h3{font-size:18px;margin:0 0 20px}.panel{background:white;border:1px solid #dce0e8;border-radius:12px;padding:28px;margin:24px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-heading h2{margin:0}button{background:#4a5164;color:white;border:0;border-radius:6px;padding:12px 16px;font:500 14px Inter,Arial;cursor:pointer}.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.inputs{display:grid;gap:12px}.field{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px}.field input{width:130px;max-width:45%;padding:10px 12px;border:1px solid #b7becb;border-radius:6px;font:inherit;text-align:right;color:#252a38;background:white}.field small{display:block;color:#666e7e;margin-top:4px;font-size:13px}.scenario-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.scenario-inputs .field{display:block}.scenario-inputs input{display:block;width:100%;max-width:100%;text-align:left;margin-top:10px}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid #dce0e8}.total-label{font-size:14px;color:#626a7a}.total-value{font:600 28px 'Instrument Sans',sans-serif;margin-top:8px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;text-align:right;min-width:970px}caption{text-align:left;font-size:14px;color:#626a7a;margin:0 0 12px}th{font-weight:500;background:#f3f4f7;padding:12px 10px;line-height:1.5}td{padding:12px 10px;border-bottom:1px solid #e5e8ef;white-space:nowrap}td input{width:76px;border:1px solid #b7becb;border-radius:5px;padding:8px;font:inherit;text-align:right}td.loss{color:#a42636}td.gain{color:#17683f}summary{cursor:pointer;font-weight:500;font-size:16px}details p{font-size:14px;max-width:920px}footer{font-size:14px;color:#626a7a;margin:32px 0}#error:empty{display:none}#error{margin-top:20px;color:#a42636}input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8370bc;outline-offset:3px}input:invalid{border-color:#a42636}@media(max-width:700px){main{padding:20px 14px}header{margin-top:40px}.panel{padding:20px 16px}.cost-grid{grid-template-columns:1fr;gap:32px}.section-heading{align-items:flex-start;flex-direction:column}.scenario-inputs{grid-template-columns:1fr}.totals{grid-template-columns:1fr}nav{font-size:14px}h2{font-size:22px}}
:root .chart-panel{margin:24px 0 30px}.chart-status{font-size:18px;font-weight:500;margin:0 0 16px;color:#3f2b69}.chart-legend{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:14px;color:#555e70}.chart-legend span{display:flex;align-items:center;gap:8px}.chart-legend i{width:22px;height:3px;display:inline-block}.scenario-key{font-size:13px}.leaseback-chart{width:100%;height:auto;display:block;margin:16px 0 8px;touch-action:pan-y}.leaseback-chart text{font-family:Inter,Arial,sans-serif;font-size:14px;fill:#586176}.chart-hour-field{display:flex;align-items:center;gap:20px;font-size:14px}.chart-hour-field input{flex:1;min-width:100px;accent-color:#3f2b69}.chart-readout{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px 24px;padding:16px;margin-top:12px;background:#f3f4f7;border-radius:6px;font-size:14px}.chart-readout strong{font-size:16px}.chart-readout span b{display:block;margin-top:6px;font-size:16px}.chart-readout .loss{color:#a42636}.chart-readout .gain{color:#17683f}@media(max-width:700px){.chart-hour-field{align-items:stretch;flex-direction:column;gap:8px}.chart-hour-field input{width:100%}.chart-readout strong{flex-basis:100%}}

.scenario-details{margin-top:20px;border-top:1px solid #dce0e8;padding-top:16px}.scenario-details summary{font-size:14px;color:#555e70}.scenario-details .table-scroll{margin-top:20px}
@media(max-width:700px){
 .field{font-size:16px}
 .field input,td input{font-size:16px;min-height:48px}
 .field small{font-size:14px}
 button{font-size:16px;min-height:48px}
 nav a{display:inline-flex;align-items:center;min-height:44px}
 summary{padding:10px 0;min-height:44px}
 .chart-hour-field input{min-height:44px}
 .scenario-details summary{font-size:16px}
}
