.fref-form-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px;align-items:start;margin-top:24px}
.fref .frbc-input-card:nth-child(2){grid-row:auto}
.fref-expense-card{grid-row:span 2}
.fref-expense-fields{align-items:start}
.fref-live-total{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:20px;padding:17px 18px;border:1px solid #acd9d3;border-radius:13px;background:#eff9f7}
.fref-live-total span{color:#45625f;font-size:12px;font-weight:800}
.fref-live-total strong{color:var(--teal);font-size:22px}
.fref-duration-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;border-radius:14px;background:#edf2f4}
.fref-duration-switch button{min-width:0;min-height:78px;border:1px solid transparent;border-radius:11px;background:transparent;color:#536472;padding:13px 8px;text-align:center;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,color .2s}
.fref-duration-switch button strong,.fref-duration-switch button span{display:block}
.fref-duration-switch button strong{color:var(--navy);font-size:17px}
.fref-duration-switch button span{margin-top:5px;font-size:9px;line-height:1.35}
.fref-duration-switch button.is-active{border-color:#acd9d3;background:#fff;box-shadow:0 5px 13px rgba(11,35,65,.09)}
.fref-duration-switch button.is-active strong{color:var(--teal)}
.fref-duration-switch button:focus-visible{outline:3px solid rgba(15,143,131,.32);outline-offset:2px}
.fref-target-preview{margin-top:17px;padding:19px;border:1px solid #dce6e9;border-radius:14px;background:linear-gradient(145deg,#fff,#f5faf9)}
.fref-target-preview span,.fref-target-preview small{display:block;color:var(--muted);font-size:11px;font-weight:700}
.fref-target-preview strong{display:block;margin:7px 0;color:var(--navy);font-size:27px}
.fref .frbc-field>span:first-child small{color:var(--muted);font-size:10px;font-weight:600}
.fref-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.fref-summary strong{font-size:21px}
.fref-target-result{border-color:#a7d7d1!important;background:#eff9f7!important}
.fref-target-result strong{color:var(--teal)!important}
.fref-summary [data-fref-gap-card].is-complete{border-color:#b5dec5;background:var(--good-soft)}
.fref-summary [data-fref-gap-card].is-complete strong,.fref-summary [data-fref-gap-card].is-complete small{color:var(--good)}
.fref-progress-card{margin-top:18px;padding:22px;border:1px solid #d9e5e7;border-radius:16px;background:#fff}
.fref-progress-copy{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
.fref-progress-copy>div span{display:block;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.fref-progress-copy>div strong{display:block;margin-top:5px;color:var(--navy);font-size:25px}
.fref-progress-copy p{max-width:570px;margin:0;color:var(--muted);font-size:12px;text-align:right}
.fref-progress-track{height:12px;margin-top:15px;overflow:hidden;border-radius:99px;background:#e4ecef}
.fref-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#49cbbb);transition:width .45s ease}
.fref-levels,.fref-timeline{margin-top:25px;padding:25px;border:1px solid #dce6e9;border-radius:17px;background:#fff}
.fref-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.fref-level-grid article{position:relative;padding:19px 17px;border:1px solid #dfe7ea;border-radius:14px;background:linear-gradient(145deg,#fff,#f6fafb);overflow:hidden}
.fref-level-grid article.is-selected{border:2px solid var(--teal);padding:18px 16px;box-shadow:0 7px 18px rgba(15,143,131,.1)}
.fref-level-grid article.is-complete{background:var(--good-soft)}
.fref-level-grid article>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}
.fref-level-grid article>div:first-child span{display:inline-block;padding:5px 8px;border-radius:99px;background:#e4f4f2;color:var(--teal);font-size:11px;font-weight:900}
.fref-level-grid article>div:first-child small{color:var(--muted);font-size:10px;font-weight:700;text-align:right}
.fref-level-grid article>strong{display:block;margin-top:15px;color:var(--navy);font-size:21px}
.fref-level-grid article>p{min-height:30px;margin:6px 0 13px;color:var(--muted);font-size:11px;line-height:1.45}
.fref-level-meter{height:7px;overflow:hidden;border-radius:99px;background:#e2eaed}
.fref-level-meter span{display:block;height:100%;border-radius:inherit;background:var(--teal)}
.fref-level-grid article.is-complete .fref-level-meter span{background:var(--good)}
.fref-timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.fref-timeline-grid article{padding:19px;border:1px solid #dce6e9;border-radius:13px;background:#f8fbfc}
.fref-timeline-grid article span{display:block;color:var(--muted);font-size:11px;font-weight:800}
.fref-timeline-grid article strong{display:block;margin-top:8px;color:var(--navy);font-size:21px}
.fref-timeline-grid article small{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.4}
.fref-recommendation{margin-top:20px;padding:22px 24px;border:1px solid #d8e4e7;border-left:5px solid var(--teal);border-radius:15px;background:#f4faf9}
.fref-recommendation.is-success{border-left-color:var(--good);background:var(--good-soft)}
.fref-recommendation.is-warning{border-left-color:var(--gold);background:#fff9ec}
.fref-recommendation strong{display:block;color:var(--navy);font-size:19px;line-height:1.4}
.fref-recommendation p{margin:7px 0 0;color:#4c5c6c;font-size:13px;line-height:1.65}
.fref-guidance{grid-template-columns:1fr 1fr;margin-top:22px}

@media(max-width:980px){
    .fref-form-grid{grid-template-columns:1fr}
    .fref-expense-card{grid-row:auto}
    .fref-summary{grid-template-columns:1fr 1fr}
}

@media(max-width:650px){
    .fref-duration-switch,.fref-summary,.fref-level-grid,.fref-timeline-grid,.fref-guidance{grid-template-columns:1fr}
    .fref-duration-switch button{min-height:66px}
    .fref-progress-copy{display:block}
    .fref-progress-copy p{margin-top:10px;text-align:left}
    .fref-levels,.fref-timeline{padding:21px 15px}
    .fref-recommendation{padding:19px}
    .fref-recommendation strong{font-size:17px}
}

@container (max-width:900px){
    .fref .fref-form-grid{grid-template-columns:1fr}
    .fref .fref-expense-card{grid-row:auto}
    .fref .fref-summary{grid-template-columns:1fr 1fr}
}

@container (max-width:560px){
    .fref .fref-duration-switch,.fref .fref-summary,.fref .fref-level-grid,.fref .fref-timeline-grid,.fref .fref-guidance{grid-template-columns:1fr}
    .fref .fref-progress-copy{display:block}
    .fref .fref-progress-copy p{margin-top:10px;text-align:left}
    .fref .fref-levels,.fref .fref-timeline{padding:21px 15px}
}

@media print{
    .fref-form{display:none!important}
    .fref-levels,.fref-timeline,.fref-summary{break-inside:avoid}
    .fref .frbc-next-step{display:none!important}
}
