.plan-shell{border:1px solid var(--color-hairline);background:#fff;border-radius:1rem;margin-top:2rem;padding:clamp(1rem,3vw,2.25rem)}.plan-intro{max-width:48rem;color:var(--color-ink-muted);line-height:1.7}.plan-link{color:var(--color-sage-dark);text-underline-offset:.2em;font-weight:650;text-decoration:underline;display:inline-block}.plan-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-block:1.5rem;display:grid}.plan-total-card{background:var(--color-cream);border:1px solid var(--color-hairline);border-radius:.75rem;min-width:0;padding:clamp(1rem,2vw,1.5rem)}.plan-total-card h3,.plan-total-label{font:650 .85rem/1.4 var(--font-sans);color:var(--color-ink-soft)}.plan-total-value{font:650 clamp(1.6rem, 4vw, 2.25rem)/1.2 var(--font-display);overflow-wrap:anywhere;margin-block:.5rem;display:block}.plan-total-card p{font-size:.85rem;line-height:1.6}.plan-total-card--accent{background:var(--color-sage-light);border-color:#e2c9c4}.plan-status-note{color:var(--color-ink-muted);margin-block:.75rem;font-size:.85rem;line-height:1.6}.plan-budget-group{border:0;min-width:0;margin-top:2rem;padding:0}.plan-budget-group>legend{font:650 clamp(1.3rem, 2vw, 1.65rem)/1.3 var(--font-display);margin-bottom:.5rem}.plan-budget-list{margin-top:1.25rem}.plan-budget-row{border-top:1px solid var(--color-hairline);grid-template-columns:minmax(0,1.4fr) minmax(8.5rem,.7fr) minmax(8rem,.6fr);align-items:start;gap:1rem;padding-block:1.25rem;display:grid}.plan-budget-row h3{font:650 1rem/1.5 var(--font-sans)}.plan-budget-row p{color:var(--color-ink-muted);margin-top:.3rem;font-size:.8rem;line-height:1.6}.plan-budget-row a{font-size:.8rem}.plan-field-label{color:var(--color-ink-soft);margin-bottom:.45rem;font-size:.8rem;font-weight:650;display:block}.plan-input{width:100%;min-height:2.9rem;font:1rem/1.4 var(--font-sans);color:var(--color-ink);background:#fff;border:1px solid #a39a90;border-radius:.4rem;padding:.6rem .7rem}.plan-input:focus-visible,.plan-text-button:focus-visible,.plan-checklist input:focus-visible{outline:3px solid var(--color-sage-dark);outline-offset:3px}.plan-input:disabled{color:#6b655f;background:var(--color-cream);border-color:var(--color-hairline)}.plan-input[aria-invalid=true]{border-color:#a12020}.plan-budget-row .plan-error{color:#922b26;font-weight:550}.plan-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.plan-controls{margin-block:1.5rem}.plan-save-status{border-left:3px solid var(--color-sage);color:var(--color-ink-soft);padding:.6rem 1rem;font-size:.85rem;line-height:1.6}.plan-text-button{min-height:2.75rem;color:var(--color-sage-dark);text-underline-offset:.2em;cursor:pointer;padding:.6rem .5rem;font-size:.9rem;text-decoration:underline}.plan-reset{background:var(--color-sage-light);border:1px solid #d5aaa4;border-radius:.5rem;margin-top:1rem;padding:1rem;font-size:.9rem;line-height:1.7}.plan-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.plan-dashboard-card{border:1px solid var(--color-hairline);background:#fff;border-radius:.75rem;min-width:0;padding:clamp(1.1rem,2.5vw,1.8rem)}.plan-dashboard-card h2{font-size:clamp(1.2rem,2vw,1.6rem)}.plan-dashboard-card p,.plan-dashboard-card li{margin-top:.75rem;font-size:.9rem;line-height:1.7}.plan-dashboard-card progress{width:100%;height:.7rem;accent-color:var(--color-sage-dark);margin-top:1rem}.plan-dashboard-card ul{margin-top:.75rem}.plan-dashboard-card details{margin-top:1rem}.plan-dashboard-card summary{cursor:pointer;color:var(--color-sage-dark);padding-block:.5rem;font-size:.85rem}.plan-checklist{margin-top:1.5rem}.plan-checklist label{align-items:start;min-height:2.75rem;line-height:1.6}.plan-checklist input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--color-sage-dark);flex:none;margin-top:.25rem}.plan-progress-text{margin-block:1rem;font-size:.9rem;font-weight:650}.plan-controls [hidden],.plan-reset[hidden],.plan-error[hidden]{display:none!important}@media (width<=650px){.plan-budget-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem}.plan-budget-description{grid-column:1/-1}.plan-dashboard{grid-template-columns:1fr}.plan-summary{gap:.6rem}.plan-total-card{padding:.9rem}}@media (width<=420px){.plan-summary{grid-template-columns:1fr}.plan-total-card{padding:1.1rem}.plan-total-value{font-size:1.8rem}}@media print{.plan-actions,.plan-reset,.plan-save-status,.plan-no-print{display:none!important}.plan-shell,.plan-dashboard-card,.plan-total-card{box-shadow:none;border-color:#999;padding:.5rem}.plan-budget-row,.plan-dashboard-card,.plan-total-card{break-inside:avoid}.plan-summary,.plan-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-budget-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);gap:.75rem;padding-block:.5rem}.plan-input{border-color:#aaa;min-height:2rem}.plan-budget-description{grid-column:auto}.plan-checklist input{appearance:auto}.plan-total-value{font-size:1.5rem}}
