.storage-planner .section:first-child { padding-top: 2rem; }
.planner-intro { max-width: 48rem; margin-bottom: 2rem; }
.planner-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; align-items: start; }
.planner-inputs, .planner-results { min-width: 0; }
.planner-inputs label { display: block; margin-bottom: 1rem; font-size: 1rem; }
.planner-primary { font-weight: 600; }
.planner-primary span { float: right; font-weight: 400; }
.planner-inputs input { display: block; width: 100%; min-height: 48px; margin-top: .5rem; padding: .6rem .8rem; border: 1px solid var(--control-line); border-radius: var(--radius); color: var(--ink); background: var(--white); }
.planner-inputs input[aria-invalid="true"] { border: 2px solid var(--accent); }
.planner-inputs fieldset { min-width: 0; margin: 1.5rem 0; padding: 1.25rem 0 0; border: 0; border-top: 1px solid var(--line); }
.planner-inputs legend { padding-right: 1rem; font-weight: 600; }
.planner-help { color: var(--muted); font-size: .875rem; line-height: 1.85; }
.planner-results { padding: 1.75rem; background: var(--white); border-top: 3px solid var(--accent); }
.planner-results h2 { font-size: 1.25rem; }
.planner-result-row { margin: 0; padding: 1.15rem 0; border-bottom: 1px solid var(--line); }
.planner-result-row strong { display: block; margin: .3rem 0; font-size: 1.75rem; font-variant-numeric: tabular-nums; }
.planner-result-row p { margin: 0; font-size: .875rem; color: var(--muted); }
.planner-reading { max-width: var(--reading); }
.planner-reading h3 { margin-top: 2rem; }
@media (max-width: 700px) { .planner-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; } .planner-results { padding: 1.25rem; } .planner-inputs .button { width: 100%; } }
