:root{--ink:#153c2e;--muted:#536a5e;--line:#cfdfd3;--soft:#f1f8f3;--accent:#08783f;--pale:#e7f7eb;--max:1280px}
body{background:#fff}
.header{background:#073f30;border:0;color:white}
.header .brand,.header .nav a,.header .locale{color:#fff}
.header .brand span{color:#76e7a1}
.header .nav a[aria-current=page]{text-decoration-color:#76e7a1}
.header .locale{border-color:#39705a}
.header-inner{min-height:76px}
.button{background:var(--accent);border-color:var(--accent)}
.button:hover{background:#06582f;border-color:#06582f}
.button.secondary{color:var(--ink);background:#fff;border-color:#a7c5af}
.button.secondary:hover{background:#eaf5ed}
.brand span,.country .number{color:var(--accent)}
.country{border-top-color:var(--accent)}
.country-grid .country{background:var(--soft);padding:28px}
footer{background:#073f30;color:#dbf1e4;border:0;padding:30px 0}
footer a,footer nav a{color:#dbf1e4}
.aside{border-top-color:var(--accent)}
.intro:has(+.workspace-switch) h1{font-size:clamp(2rem,3vw,2.85rem)}
.intro:has(+.workspace-switch){padding:28px 0 20px}
.intro:has(+.workspace-switch) .eyebrow{color:var(--accent);margin-bottom:8px}
.intro:has(+.workspace-switch) p:last-child{font-size:1rem;margin-bottom:0}
.visual-calculator{grid-template-columns:370px minmax(0,1fr);gap:44px}
.visual-calculator .result{border-top-color:var(--accent);scroll-margin-top:24px}
.capacity-column.is-selected{background:#e7f7eb}
.capacity-column.is-selected .capacity-fill{background:#08783f}
.capacity-column.is-selected .capacity-fill.negative{background:#536b60}
.capacity-fill{background:#278758}
.capacity-fill.negative{background:#95a79d}
.supply-direct{background:#246875}.supply-stored{background:#08783f}.supply-grid{background:#c9d8ce}
.chart-zero>span{color:#456254}
.parameter-range::-webkit-slider-runnable-track{background:#bfdbc7}
.parameter-range::-webkit-slider-thumb{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.workspace-switch{display:none}
.inputs-panel{position:sticky;top:24px;align-self:start;border:1px solid #a7c5af;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 4px 18px rgba(15,74,43,.045)}
.inputs{border:0}
.wizard-top{padding:19px 20px 14px;background:#eaf7ee;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:5px solid var(--accent)}
.wizard-top p{color:var(--accent);font-size:.75rem;font-weight:700;letter-spacing:.09em;margin:0 0 3px}
.wizard-top h2{font-size:1.6rem;margin:0}
#step-position{font-size:.8125rem;color:var(--accent);white-space:nowrap;font-weight:600}
.step-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0 10px;background:#eaf7ee;border-bottom:1px solid var(--line)}
.step-nav button{padding:11px 2px 12px;background:none;border:0;border-bottom:3px solid transparent;font-size:.8125rem;color:#526d5c;min-height:48px;white-space:nowrap}
.step-nav button span{display:inline-block;margin-right:4px;font-variant-numeric:tabular-nums}
.step-nav button[aria-current=step]{color:#064a29;border-bottom-color:var(--accent);font-weight:700}
.step-nav button:hover{background:#d9efdf}
.step-nav button.has-error{color:#a32514;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:4px}
.quick-jumps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 12px;gap:4px;border-bottom:1px solid var(--line)}
.quick-jumps button{border:0;border-radius:3px;text-align:left;padding:6px 8px;background:#f4f8f5;color:var(--ink);min-width:0}
.quick-jumps button:hover{background:#e0f1e5}
.quick-jumps span{display:block;font-size:.75rem;color:var(--muted)}
.quick-jumps b{display:block;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.wizard-ready .inputs{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;height:690px;max-height:calc(100svh - 48px)}
.wizard-body{padding:20px 20px 12px}
.wizard-ready .wizard-body{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a7c5af transparent}
.wizard-step{padding:0;margin:0;border:0}
.wizard-step legend{float:none;padding:0;width:100%;font-size:1.0625rem;font-weight:650;line-height:1.4;margin-bottom:6px;letter-spacing:0}
.step-tip{font-size:.8125rem;color:var(--muted);line-height:1.5;margin:0 0 17px}
.wizard-step .field-grid{gap:16px 12px}
.wizard-step label{font-weight:500;margin-bottom:5px;font-size:.875rem}
.wizard-step input:not([type=range]),.wizard-step select{min-height:42px;border-color:#acc5b3;padding:8px 10px;border-radius:4px}
.wizard-step .hint{font-size:.75rem;line-height:1.4}
.wizard-step .range-bounds{font-size:.75rem}
.wizard-step details{padding:8px 0;border:0}
.wizard-step details summary{font-size:.875rem;font-weight:500}
.wizard-footer{background:#f7faf7;border-top:1px solid var(--line);padding:14px 20px 12px}
.wizard-direction{display:grid;grid-template-columns:1fr 1.6fr;gap:10px}
.wizard-direction button{padding:10px 8px;min-height:44px;font-size:.875rem}
.wizard-direction button:disabled{cursor:default;opacity:.45}
.wizard-utilities{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:10px;font-size:.75rem;line-height:1.4}
.wizard-utilities span{color:var(--muted);max-width:220px}
.wizard-utilities .link-button{padding:0;font-size:.75rem;white-space:nowrap;min-height:26px}
.wizard-review h3{font-size:1.0625rem;margin-bottom:6px}
.review-row{display:flex;gap:14px;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0}
.review-row h4{font-size:.875rem;margin:0 0 4px;font-weight:650}
.review-row p{font-size:.8125rem;color:var(--muted);margin:0;line-height:1.5}
.review-row .link-button{padding:0;align-self:start;font-size:.8125rem;min-height:36px;flex-shrink:0}
.preparation-note{padding:15px;background:var(--soft);margin-top:18px;font-size:.8125rem}
.preparation-note b{font-size:.875rem}.preparation-note p{margin:5px 0 8px;color:var(--muted)}
.wizard-body .error{font-size:.8125rem;margin-top:12px}
.wizard-body .error:empty{margin:0}
@media(max-width:1100px){.visual-calculator{grid-template-columns:340px minmax(0,1fr);gap:28px}}
@media(max-width:850px) and (min-width:761px){.visual-calculator{grid-template-columns:310px minmax(0,1fr);gap:24px}.wizard-top,.wizard-body,.wizard-footer{padding-left:15px;padding-right:15px}.capacity-value{font-size:.75rem}.supply-legend{grid-template-columns:1fr}.supply-legend>div{display:flex;justify-content:space-between}.supply-legend b{margin:0}}
@media(max-width:760px){
 .header-inner{min-height:0}.header .locale{border:0;padding-left:8px}.nav a{font-size:.875rem}
 .visual-calculator{grid-template-columns:1fr;gap:22px}
 .intro:has(+.workspace-switch){padding:24px 0 18px}.intro:has(+.workspace-switch) h1{font-size:2rem}
 .workspace-switch:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:4px;position:sticky;top:0;background:white;z-index:4;padding:8px 0 12px;margin-bottom:6px}
 .workspace-switch button{border:1px solid #adcbb7;min-height:44px;background:#fff;border-radius:4px;color:var(--ink);font-size:.9375rem}
 .workspace-switch button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
 .inputs-panel{position:static;scroll-margin-top:72px;border:1px solid #a7c5af}
 .wizard-ready .inputs{height:690px;max-height:calc(100svh - 90px);min-height:460px}
 .wizard-top{padding:16px 16px 12px}.wizard-top h2{font-size:1.5rem}
 .wizard-body{padding:18px 16px 12px}.wizard-footer{padding:12px 16px}
 .wizard-step .field-grid{gap:16px 12px}
 .wizard-ready[data-workspace=inputs] .visual-calculator>.result{display:none}
 .wizard-ready[data-workspace=results] .visual-calculator>.inputs-panel{display:none}
 .visual-calculator .result{scroll-margin-top:78px}
 .country-grid .country{padding:24px}
}
@media(max-width:360px){.wizard-top,.wizard-body,.wizard-footer{padding-left:12px;padding-right:12px}.quick-jumps{padding:8px}.quick-jumps button{padding:6px}.step-nav{padding:0 5px}.step-nav button{font-size:.75rem}.wizard-utilities{gap:6px}.wizard-direction{grid-template-columns:1fr 1.4fr}}
@media print{.workspace-switch,.inputs-panel{display:none!important}.wizard-ready[data-workspace=inputs] .visual-calculator>.result{display:block}}
/* Keep the wizard grid ahead of the previous collapsible-form rule. */
.wizard-ready .inputs-panel>.inputs{display:grid}

/* Keep the basic steps visible; extra technical detail opens within the card. */
.wizard-top{padding-top:14px;padding-bottom:10px}
.wizard-top h2{font-size:1.4rem}
.quick-jumps{padding-top:6px;padding-bottom:6px}
.quick-jumps button{padding-top:4px;padding-bottom:4px}
.wizard-footer{padding-top:11px;padding-bottom:9px}
.wizard-utilities{margin-top:6px}
.wizard-step .range-bounds{display:none}
.wizard-step .parameter-range{margin-top:2px;min-height:24px}
.wizard-step .field-grid{gap:12px}
.wizard-step .step-tip{margin-bottom:12px}
