.plan-section{padding-block:0 48px}.plan-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:32px;align-items:stretch}.plan-settings,.plan-results{min-width:0}.plan-form,.plan-panel,.plan-method{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}.plan-form fieldset{border:0;padding:0;margin:0 0 28px}.plan-form legend{font-weight:800;color:var(--green);font-size:1rem;margin-bottom:16px}.plan-form label{display:block;font-size:.85rem;font-weight:750;margin:14px 0 7px}.plan-form label span{display:block;font-size:.75rem;font-weight:450;color:var(--muted)}.plan-form input,.plan-form select,.plan-table-controls select{width:100%;min-width:0;min-height:46px;border:1px solid #b7cfc4;background:#f9fcfa;border-radius:8px;padding:11px 10px;color:var(--ink);font:inherit;font-size:.95rem}.plan-form select{font-size:.84rem;padding-right:24px}.plan-form input:focus,.plan-form select:focus{outline:2px solid var(--green);outline-offset:2px}.plan-input-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-help{font-size:.78rem;line-height:1.6;color:var(--muted);margin-top:9px}.plan-reset{color:var(--green);background:none;border:0;text-decoration:underline;font:inherit;font-size:.85rem;cursor:pointer;padding:6px 0}.plan-offers{position:sticky;top:var(--offer-sticky-top,100px);margin-top:26px}.plan-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.plan-metrics>div{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0}.plan-metrics span,.plan-metrics small{display:block;font-size:.8rem;color:var(--muted);line-height:1.5}.plan-metrics strong{display:block;font-size:1.7rem;line-height:1.3;margin:8px 0;color:var(--ink);overflow-wrap:anywhere}.plan-metrics .plan-key-metric{background:#e4f3eb;border-color:var(--green)}.plan-key-metric strong{color:var(--green)}.plan-assumptions{font-size:.8rem;line-height:1.6;margin:18px 0 24px;color:var(--muted)}.plan-panel{margin-top:24px}.plan-panel h2{font-size:1.4rem;line-height:1.3;margin:0 0 18px}.plan-panel-head{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.plan-toggle{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.plan-toggle button{font:inherit;font-size:.75rem;border:0;background:#f4f9f6;padding:10px;cursor:pointer;color:var(--green)}.plan-toggle [aria-pressed=true]{background:var(--green);color:white}.plan-chart{width:100%;margin-top:12px;cursor:crosshair}.plan-chart svg{width:100%;height:auto;display:block;overflow:visible}.plan-chart text{font-family:inherit;font-size:15px;fill:#476557}.plan-grid-line{stroke:#e0ebe5;stroke-width:1}.plan-balance-line{fill:none;stroke:#0b7a55;stroke-width:4;stroke-linejoin:round}.plan-projection-line{stroke:#278c89;stroke-dasharray:9 7}.plan-binding-line{stroke:#b77a2e;stroke-width:2;stroke-dasharray:5 5}.plan-chart .plan-binding-text{font-size:14px;fill:#8f5817}.plan-cursor{stroke:#2b5042;stroke-width:1.5;opacity:.6}.plan-legend{display:flex;gap:12px 20px;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}.plan-legend span{display:flex;align-items:center;gap:7px}.plan-legend i{width:14px;height:10px;border-radius:2px}.plan-green{background:#0b7a55}.plan-gold{background:#e1b26b}.plan-teal{background:#5aaea3}.plan-legend .plan-dashed{height:0;border-top:2px dashed #278c89}.plan-time-label{display:block;font-size:.8rem;font-weight:700;margin:20px 0 12px}.plan-panel input[type=range]{width:100%;accent-color:var(--green);min-height:30px}.plan-inspect{background:#f0f7f3;padding:14px;border-radius:9px;font-size:.85rem;line-height:1.6;min-height:72px}.plan-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.plan-next-grid>div{border:1px solid var(--line);border-radius:12px;padding:18px}.plan-next-grid h3{font-size:.95rem;margin-bottom:12px}.plan-next-grid strong{font-size:1.5rem;line-height:1.2;color:var(--green);overflow-wrap:anywhere}.plan-next-grid p{font-size:.8rem;margin:12px 0 0;line-height:1.6;color:var(--muted)}.plan-next-grid button{background:none;border:0;padding:0;font:inherit;font-size:.8rem;text-align:left;margin-top:15px;cursor:pointer}.plan-next-grid button:disabled{opacity:.5;cursor:default}.plan-next-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.plan-next-actions .btn{font-size:.85rem;padding:13px 16px}.plan-next-actions .text-link,.plan-direct-offer{font-size:.85rem}.plan-direct-offer{display:inline-block;margin-top:18px}.plan-panel>p{font-size:.9rem;line-height:1.65}.plan-warning,.plan-error{border:1px solid #c08542;background:#fff4e7;color:#713e14;padding:18px;border-radius:12px;line-height:1.6;font-size:.9rem;margin-bottom:18px}.plan-error{border-color:#b35242;background:#fff1ee;color:#7e3629}.plan-table-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.plan-table-controls label{font-size:.75rem;display:flex;align-items:center;gap:8px}.plan-table-controls select{width:auto;min-height:38px;font-size:.8rem;padding:7px}.plan-table-controls button{background:#f0f7f3;border:1px solid var(--line);border-radius:7px;color:var(--green);padding:10px;font:inherit;font-size:.75rem;cursor:pointer}.plan-table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}.plan-table-scroll table{width:100%;border-collapse:collapse;min-width:640px;font-size:.78rem;font-variant-numeric:tabular-nums}.plan-table-scroll caption{text-align:left;padding:16px;line-height:1.5;color:var(--muted)}.plan-table-scroll th,.plan-table-scroll td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.plan-table-scroll th:first-child{text-align:left}.plan-table-scroll thead{background:#edf6f0}.plan-binding-row{background:#e4f3eb;font-weight:700}.plan-binding-row small{display:block;font-weight:400;font-size:.65rem}.plan-target-summary{background:#eaf5ee;padding:16px;border-radius:10px;margin-top:20px}.plan-method{margin-top:24px;font-size:.85rem;line-height:1.7}.plan-method summary{font-weight:750;cursor:pointer}.plan-method p{margin-top:16px}.plan-section [hidden]{display:none!important}html:has(#repayment-form) .hero{padding-bottom:30px}html:has(#repayment-form) .hero-grid{display:block}html:has(#repayment-form) .hero-copy{max-width:880px}html:has(#repayment-form) .hero h1{max-width:22ch}html:has(#repayment-form) .hero-actions{display:none}
@media(max-width:1000px){.plan-layout{grid-template-columns:290px minmax(0,1fr);gap:20px}.plan-form,.plan-panel{padding:20px}.plan-metrics strong{font-size:1.45rem}.plan-next-grid{grid-template-columns:1fr}}
@media(max-width:800px){.plan-layout{grid-template-columns:1fr}.plan-settings{display:contents}.plan-form{order:1}.plan-results{order:2}.plan-offers{order:3;position:static}.plan-form fieldset{margin-bottom:24px}.plan-metrics strong{font-size:1.6rem}.plan-next-grid{grid-template-columns:1fr 1fr}.plan-chart text{font-size:18px}.plan-chart .plan-binding-text{font-size:17px}}
@media(max-width:480px){.plan-form,.plan-panel,.plan-method{padding:18px}.plan-metrics{gap:10px}.plan-metrics>div{padding:16px}.plan-metrics strong{font-size:1.35rem}.plan-metrics span,.plan-metrics small{font-size:.73rem}.plan-next-grid{grid-template-columns:1fr}.plan-next-actions .btn{width:100%}.plan-chart svg{min-height:180px}.plan-panel h2{font-size:1.3rem}.plan-inspect{font-size:.8rem}}
@media print{header,footer,.sticky-cta,.hero-actions,.plan-settings,.plan-offers,.plan-table-controls,.plan-toggle,.plan-next-actions,.plan-direct-offer,.plan-use-target{display:none!important}.wrap{max-width:none;padding:0}.plan-layout{display:block}.plan-panel,.plan-metrics>div{break-inside:avoid;box-shadow:none}.plan-table-scroll{overflow:visible}.plan-table-scroll table{min-width:0;font-size:9pt}.plan-panel:has(#plan-table){break-inside:auto}.plan-table-scroll tr{break-inside:avoid}.plan-chart{max-width:700px}.plan-method{display:none}}
@media(max-width:800px){.plan-chart text{font-size:12px}.plan-chart .plan-binding-text{font-size:11px}}
@media(max-width:480px){.plan-metrics strong{font-size:1.16rem}.plan-chart svg{min-height:0}}
@media(max-width:360px){.plan-metrics{grid-template-columns:1fr}.plan-metrics strong{font-size:1.5rem}}
.plan-action-steps{border-top:1px solid var(--line);margin:24px 0;padding-top:8px}.plan-action-steps>div{padding:16px 0;border-bottom:1px solid var(--line)}.plan-action-steps b{font-size:.85rem;color:var(--green)}.plan-action-steps p{font-size:.84rem;color:var(--muted);line-height:1.65;margin-top:7px}
.plan-show{width:100%;font-size:.9rem}.plan-reset{margin-top:12px}#plan-output,#plan-error{scroll-margin-top:var(--offer-sticky-top,120px)}
