/* Progressive, private credit-preparation planner. Scoped to this section. */
.credit-plan{position:relative;isolation:isolate;border-block:1px solid var(--line);background:radial-gradient(ellipse at 100% 0,#bfa46c14,transparent 50%),linear-gradient(130deg,var(--soft),var(--card));scroll-margin-top:calc(var(--header-height,120px) + 24px)}
.credit-plan [hidden]{display:none!important}
.credit-plan-heading{max-width:760px;margin-bottom:32px}
:root body main .credit-plan-heading h2{color:var(--ink);font-size:clamp(1.9rem,3.2vw,2.7rem);line-height:1.18;letter-spacing:-.025em;margin:12px 0 20px;text-wrap:balance}
.credit-plan-heading>p{font-size:1.0625rem;color:var(--muted);line-height:1.8;max-width:66ch}
.credit-plan-heading .credit-plan-privacy{font-size:.9375rem;line-height:1.75;padding-left:18px;border-left:2px solid #af8d4e}
.credit-plan-workspace{border:1px solid var(--line);border-top:3px solid #b99d63;border-radius:5px 5px 24px 5px;background:var(--card);box-shadow:0 20px 50px #1123400c;overflow:hidden}
.credit-plan-fields{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);gap:32px;padding:clamp(22px,3vw,38px)}
.credit-plan fieldset{border:0;min-width:0;padding:0;margin:0}
.credit-plan legend{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:1.125rem;font-weight:750;line-height:1.5;padding:0;margin:0 0 10px}
.credit-plan legend>span{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--line);border-radius:50%;height:34px;width:34px;color:var(--muted);font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;background:var(--soft)}
.credit-plan fieldset>p{margin:0 0 20px;color:var(--muted);font-size:.9375rem;line-height:1.7}
.credit-plan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.credit-plan-choice,.credit-plan-time{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer;min-width:0;color:var(--ink)}
.credit-plan-choice{min-height:108px}
.credit-plan-choice input,.credit-plan-time input{appearance:auto;width:20px;height:20px;min-width:20px;margin:3px 0 0;flex-shrink:0;accent-color:var(--blue);cursor:pointer}
.credit-plan-choice strong{display:block;font-size:1rem;font-weight:700;line-height:1.5;color:var(--ink)}
.credit-plan-choice small{display:block;font-size:.9375rem;line-height:1.6;color:var(--muted);margin-top:5px}
.credit-plan-choice:has(input:checked),.credit-plan-time:has(input:checked){border-color:var(--blue);background:var(--soft);box-shadow:inset 0 0 0 1px var(--blue)}
.credit-plan-choice:has(input:focus-visible),.credit-plan-time:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:4px}
.credit-plan-times>div{display:grid;gap:12px}
.credit-plan-time{align-items:center;min-height:56px;font-size:1rem;font-weight:600;line-height:1.6}
.credit-plan-time input{margin:0}
.credit-plan fieldset>.credit-plan-timing-note{margin:20px 0 0;font-size:.9375rem;line-height:1.75}
.credit-plan-actions{display:flex;align-items:center;gap:18px 28px;padding:0 clamp(22px,3vw,38px);flex-wrap:wrap}
.credit-plan .btn{min-height:48px;font-size:1rem;line-height:1.5;padding:13px 20px;white-space:normal;text-align:center}
.credit-plan-reset{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);background:none;border:0;padding:9px 0;font:inherit;font-size:.9375rem;font-weight:650;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.credit-plan-status{color:var(--muted);font-size:.9375rem;line-height:1.7;margin:14px clamp(22px,3vw,38px) 26px;min-height:1.7em}
.credit-plan-result{border-top:1px solid var(--line);padding:clamp(22px,4vw,44px);background:linear-gradient(135deg,var(--soft),var(--card));scroll-margin-top:calc(var(--header-height,120px) + 24px)}
.credit-plan-result-heading{max-width:760px}
.credit-plan-eyebrow{display:block;color:var(--muted);font-weight:700;font-size:.8125rem;line-height:1.7;letter-spacing:.04em;margin-bottom:12px}
:root body main .credit-plan-result h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.3;letter-spacing:-.02em;color:var(--ink);margin:0 0 12px}
.credit-plan-result h3:focus-visible{outline:3px solid var(--blue);outline-offset:7px}
.credit-plan-result-heading>p{font-size:1rem;color:var(--muted);line-height:1.7;margin:0 0 27px}
.credit-plan-tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 34px;list-style:none;counter-reset:credit-plan-task;padding:0;margin:0}
.credit-plan-tasks>li{position:relative;counter-increment:credit-plan-task;padding:0 0 0 46px;min-width:0}
.credit-plan-tasks>li::before{content:counter(credit-plan-task,decimal-leading-zero);position:absolute;left:0;top:0;display:grid;place-items:center;width:31px;height:31px;font-size:.75rem;font-weight:700;border-radius:50%;background:#173c69;color:#fff;font-variant-numeric:tabular-nums}
.credit-plan-tasks h4{font-size:1.0625rem;font-weight:700;line-height:1.55;color:var(--ink);margin:2px 0 10px}
.credit-plan-tasks p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}
.credit-plan-result-note{font-size:.9375rem;line-height:1.8;color:var(--ink);padding:17px 20px;border-left:2px solid #b99d63;background:var(--card);margin:30px 0 22px}
.credit-plan-result-sources{border-top:1px solid var(--line);padding-top:18px}
.credit-plan-result-sources h4{font-size:1rem;color:var(--ink);line-height:1.6;margin:0 0 6px}
.credit-plan-result-sources ul{list-style:none;padding:0;margin:0}
.credit-plan-result-sources li{margin:0;line-height:1.7}
.credit-plan-result-sources a{display:inline-block;color:var(--blue);font-size:.9375rem;text-decoration:underline;text-underline-offset:4px;padding:9px 0;min-height:44px;overflow-wrap:anywhere}
.credit-plan-export{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px;align-items:center}
.credit-plan-export>p{width:100%;color:var(--muted);font-size:.875rem;line-height:1.75;margin:3px 0 0}
.credit-plan-guides{margin-top:36px}
.credit-plan-guides>h3{color:var(--ink);font-size:1.3rem;line-height:1.5;margin:0 0 9px}
.credit-plan-guides>p{font-size:1rem;color:var(--muted);line-height:1.75;max-width:70ch;margin:0 0 22px}
.credit-plan-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 22px}
.credit-plan-guide{margin:0;border:1px solid var(--line);border-radius:8px;background:var(--card);min-width:0;overflow:hidden}
.credit-plan-guide summary{display:block;position:relative;padding:20px 48px 20px 22px;font-size:1rem;font-weight:700;line-height:1.6;color:var(--ink);cursor:pointer;list-style:none;min-height:64px}
.credit-plan-guide summary::-webkit-details-marker{display:none}
.credit-plan-guide summary::after{content:'+';position:absolute;right:22px;top:19px;font-size:1.3rem;font-weight:500;line-height:1.3;color:var(--blue)}
.credit-plan-guide[open] summary::after{content:'−'}
.credit-plan-guide[open] summary{border-bottom:1px solid var(--line);background:var(--soft)}
.credit-plan-guide>div{padding:6px 22px 20px}
.credit-plan-guide p,.credit-plan-guide li{font-size:1rem;line-height:1.8;color:var(--muted)}
.credit-plan-guide strong{color:var(--ink)}
.credit-plan-guide ol{padding-left:21px;margin:18px 0}
.credit-plan-guide li{padding-left:4px;margin-bottom:14px}
.credit-plan-guide .credit-plan-guide-source{font-size:.9375rem;line-height:1.8;margin-bottom:0;padding-top:14px;border-top:1px solid var(--line)}
.credit-plan-guide a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.credit-plan :is(a,button,summary):focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.credit-plan-guide summary:focus-visible{outline-offset:-4px}
[data-theme=dark] .credit-plan-workspace{box-shadow:0 20px 50px #0003;border-top-color:#ceb57b}
[data-theme=dark] .credit-plan-tasks>li::before{background:#bdd5f7;color:#112340}
@media(max-width:900px){.credit-plan-fields{grid-template-columns:1fr;gap:28px}.credit-plan-times>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.credit-plan-time{padding:15px 12px;gap:9px}.credit-plan fieldset>.credit-plan-timing-note{max-width:64ch}.credit-plan-guide-grid{grid-template-columns:1fr}}
@media(max-width:600px){.credit-plan-heading>p{font-size:1rem}.credit-plan-fields{padding:24px 20px}.credit-plan legend{font-size:1.0625rem;gap:10px}.credit-plan-options,.credit-plan-times>div,.credit-plan-tasks{grid-template-columns:1fr}.credit-plan-choice{min-height:88px}.credit-plan-time{padding:16px;gap:12px}.credit-plan-actions{padding-inline:20px;align-items:stretch;flex-direction:column;gap:7px}.credit-plan-actions .btn{width:100%}.credit-plan-reset{align-self:center}.credit-plan-status{margin-inline:20px}.credit-plan-result{padding:26px 20px}.credit-plan-tasks{gap:23px}.credit-plan-tasks>li{padding-left:42px}.credit-plan-result-note{padding:16px}.credit-plan-export{align-items:stretch;flex-direction:column}.credit-plan-guide summary{padding-left:18px;padding-right:46px}.credit-plan-guide>div{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.credit-plan *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.credit-plan-controls,.credit-plan-export{display:none!important}.credit-plan,.credit-plan-workspace,.credit-plan-result{color:#112340!important;background:#fff!important;box-shadow:none;border-color:#aaa}.credit-plan-result :is(h3,h4,p,li,a,span){color:#112340!important}.credit-plan-tasks{display:block}.credit-plan-tasks>li{break-inside:avoid;margin-bottom:20px}.credit-plan-result-note{background:#fff}.credit-plan-guide>div{display:block!important}html.credit-plan-printing body>*:not(main),html.credit-plan-printing main>*:not(.credit-plan),html.credit-plan-printing .credit-plan>.container>*:not(.credit-plan-workspace){display:none!important}html.credit-plan-printing .credit-plan{padding:0;border:0}html.credit-plan-printing .credit-plan>.container{width:100%;max-width:none;padding:0;margin:0}html.credit-plan-printing .credit-plan-workspace{border:0}html.credit-plan-printing .credit-plan-result{display:block!important;border:0;padding:0}html.credit-plan-printing .credit-plan-result a::after{content:' (' attr(href) ')';font-size:.8rem;overflow-wrap:anywhere}}
