.retirement-ages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.retirement-page .input-group label { min-height:28px; }
.retirement-page .optional-grid { row-gap:18px; }
.retirement-page input[aria-invalid="true"] { box-shadow:inset 0 -2px 0 #a34a3d; }
.retirement-page .target-note { margin-top:14px; }
.retirement-page .results { min-height:0; }
.retirement-page .chart-wrap { min-height:360px; }
.retirement-page .investment-chart { min-height:360px; }
.target-line { stroke:#b48e50; stroke-width:2; stroke-dasharray:6 5; }
.retirement-age-line { stroke:#aaa397; stroke-width:1; stroke-dasharray:3 4; }
.retirement-outcome { display:grid; gap:8px; margin-top:20px; padding-top:18px; border-top:1px solid var(--calc-line); color:var(--calc-muted); font-size:11px; line-height:1.6; }
.retirement-outcome strong { color:var(--calc-ink); font-variant-numeric:tabular-nums; }
@media (max-width:600px) { .retirement-ages { grid-template-columns:1fr; } .retirement-page .input-group label { min-height:0; } .retirement-page .chart-wrap { height:360px; } }