.plan { margin-block: 0 3.5rem; }
.plan [hidden] { display:none !important; }
.plan-intro { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:clamp(1.25rem,4vw,3rem); align-items:center; margin-bottom:2.4rem; }
.plan h1 { font-size:var(--tool-title); line-height:1.12; letter-spacing:-.035em; margin:.3rem 0 .6rem; }
.plan h2 { font-size:var(--section-title); line-height:1.22; letter-spacing:-.025em; }
.plan h3 { line-height:1.35; }
.plan p { color:var(--secondary); max-width:76ch; }
.plan-intro p { font-size:var(--lead); }
.plan-figure { margin:0; padding:clamp(1rem,2.5vw,1.8rem); border-radius:var(--panel-radius); background:var(--blue-soft); border:1px solid var(--blue-mid); min-width:0; }
.plan-figure figcaption { font-weight:680; }
.plan-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(1rem,2.7vw,2rem); align-items:start; }
.plan-card,.plan-result { min-width:0; background:var(--surface); border:1px solid var(--rule); border-radius:var(--panel-radius); padding:clamp(1rem,2.7vw,2rem); }
.plan-result { border-top:3px solid var(--blue); }
.plan-card > :first-child,.plan-result > :first-child { margin-top:0; }
.plan form fieldset { min-width:0; margin:1.25rem 0; padding:1rem; border:1px solid var(--rule); border-radius:var(--control-radius); }
.plan legend { font-weight:660; padding-inline:.3rem; }
.plan-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.plan label { display:block; font-weight:620; }
.plan input:where(:not([type=checkbox]):not([type=radio]):not([type=hidden])),.plan select { display:block; width:100%; min-width:0; padding:.65rem .8rem; min-height:var(--control-height); color:var(--ink); background:var(--surface); border:1px solid var(--control-border); border-radius:var(--control-radius); font:inherit; }
.plan input[type=checkbox],.plan input[type=radio] { accent-color:var(--blue); }
.plan input[aria-invalid=true],.plan select[aria-invalid=true] { border-color:var(--error); }
.plan small { display:block; color:var(--quiet); line-height:1.45; }
.plan .plan-error { color:var(--error); margin:.25rem 0 0; font-size:.88rem; }
.plan-primary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:.65rem 1.1rem; border:0; border-radius:var(--control-radius); background:var(--blue); color:var(--night-on-action, white); font:inherit; font-weight:650; text-decoration:none; }
.plan-primary:hover { background:var(--blue-hover); color:var(--night-on-action, white); }
.plan-links { display:flex; flex-wrap:wrap; gap:.3rem 1.25rem; align-items:center; }
.plan-links a { display:inline-flex; align-items:center; min-height:44px; }
.plan-guide { max-width:56rem; margin:clamp(2rem,5vw,4rem) auto; }
.plan-guide > section { margin:2rem 0; }
.plan-guide > section + section { padding-top:1rem; border-top:1px solid var(--rule); }
.plan-result dl > div { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.2rem .8rem; border-bottom:1px solid var(--rule); padding:.6rem 0; }
.plan-result dd { margin:0; font-weight:650; color:var(--navy); font-variant-numeric:tabular-nums; }
.plan [data-plan-stale] { border-inline-start:3px solid var(--attention-rule); background:var(--attention-soft); color:var(--attention); padding:.75rem 1rem; }
.plan-table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.plan-table caption { text-align:left; font-weight:650; padding:.5rem 0; }
.plan-table td,.plan-table th { text-align:left; padding:.55rem; border-bottom:1px solid var(--rule); }
.plan-table thead { background:var(--blue-soft); }
.di-chapters { display:grid; gap:.6rem; margin-top:1rem; }
.di-chapters div { padding:.5rem .8rem; color:var(--navy); border-left:4px solid var(--blue); background:var(--surface); }
.di-chapters div:nth-child(2) { border-left-style:double; }
.di-chapters div:nth-child(3) { border-color:var(--chart-secondary); border-left-style:dashed; }
.di-chapters span { display:block; color:var(--secondary); font-size:.89rem; }
.di-timeline {display:grid;grid-template-columns:2fr 3fr 1fr;gap:3px;margin:.85rem 0 .6rem;min-height:14px}
.di-timeline i:first-child {background:repeating-linear-gradient(135deg,var(--night-chart, #637a97) 0 2px,var(--night-track, #d3dfed) 2px 5px);border-radius:5px 0 0 5px}
.di-timeline i:nth-child(2) {background:var(--blue)}
.di-timeline i:last-child {border:2px dashed var(--night-secondary, #526780);border-radius:0 5px 5px 0}
@media(max-width:780px) { .plan-intro,.plan-layout { grid-template-columns:minmax(0,1fr); } .plan-intro {gap:1rem;} }
@media(max-width:530px) { .plan-grid { grid-template-columns:minmax(0,1fr); } .plan-card,.plan-result {padding:1rem;} }
@media print { .plan-intro,.plan-guide,.plan-links,.plan-primary,.plan form {display:none!important;} .plan-layout {display:block;} .plan-result {border:0;padding:0;} .plan-result h2 {font-size:16pt;} .plan [data-plan-output] { break-inside:avoid; } }
