/* Utility controls inherit the public SOS shell and typography. */
.recovery-utility{padding:clamp(48px,6vw,80px) 0;min-height:50vh}
.recovery-utility .wrap,.recovery-utility>.section,.recovery-utility>section{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.recovery-utility .narrow{max-width:840px}
.recovery-utility h1{font:850 clamp(38px,5vw,64px)/1.05 var(--display);letter-spacing:-.055em;margin:0 0 24px}
.recovery-utility h1 em{color:var(--teal2);font-style:normal}
.recovery-utility h2{font:800 clamp(26px,3vw,38px)/1.12 var(--display);letter-spacing:-.035em;margin:0 0 20px}
.recovery-utility h3{font-size:23px;font-weight:800;line-height:1.2;margin:0 0 16px}
.recovery-utility p{margin:0 0 20px;line-height:1.7}
.recovery-utility a:not(.button){color:var(--teal2);text-decoration:underline;text-underline-offset:3px}
.recovery-utility .panel{border:1px solid var(--line);background:white;padding:28px;margin:24px 0}
.recovery-utility .two-cards,.recovery-utility .form-grid,.recovery-utility .record-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.recovery-utility label{display:block;font-size:14px;font-weight:750;margin-bottom:20px}
.recovery-utility input:not([type=checkbox],[type=range]),.recovery-utility select,.recovery-utility textarea{display:block;border:1px solid var(--line);width:100%;min-height:48px;padding:12px;color:var(--ink);background:white;font:inherit;margin-top:8px}
.recovery-utility .checkbox{display:flex;gap:12px;font-weight:500;align-items:flex-start}
.recovery-utility .checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:4px}
.recovery-utility .button{display:inline-flex;justify-content:center;align-items:center;background:var(--orange);color:white;border:1px solid var(--orange);min-height:50px;padding:12px 20px;font-size:14px;font-weight:800;text-decoration:none;cursor:pointer}
.recovery-utility .button.secondary{background:white;color:var(--ink);border-color:var(--line)}
.recovery-utility .actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.recovery-utility .fine,.recovery-utility .micro{font-size:14px;color:var(--muted);line-height:1.6}
.recovery-utility .notice{background:var(--cream);border-left:4px solid var(--teal2);padding:20px;margin:24px 0}
.recovery-utility fieldset{border:0;padding:0;margin:24px 0}
.recovery-utility legend{font-size:25px;font-weight:800;margin-bottom:22px}
.recovery-utility .rate-line{display:flex;gap:24px;flex-wrap:wrap;margin:28px 0;padding:20px 0;border-block:1px solid var(--line)}
.recovery-utility .steps{list-style:none;display:flex;gap:20px;padding:0;margin:28px 0;font-size:14px}
.recovery-utility .steps .active{color:var(--teal2);font-weight:800}
.recovery-utility .estimate-total{background:var(--ink);color:white;padding:30px;margin:30px 0}
.recovery-utility .estimate-total h2{font-size:48px}
.recovery-utility .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:28px 0}
.recovery-utility .metrics article,.recovery-utility .lead-record{background:white;padding:24px;border:1px solid var(--line);margin:20px 0}
.recovery-utility .metrics strong{display:block;font-size:36px}
.recovery-utility .lead-record small{display:block;overflow-wrap:anywhere}
.recovery-utility .lead-record details{margin-top:16px}
.recovery-utility .lead-record details p{overflow-wrap:anywhere}
.recovery-utility table{border-collapse:collapse;width:100%;font-size:14px}
.recovery-utility th,.recovery-utility td{border:1px solid var(--line);padding:12px;text-align:left;overflow-wrap:anywhere}
.recovery-utility .error{color:#9c291b}
.recovery-utility #toast{display:none}
#toast{position:fixed;bottom:24px;left:24px;background:var(--ink);color:white;padding:16px;z-index:100;display:none}
#toast.active{display:block}
@media(max-width:650px){.recovery-utility .two-cards,.recovery-utility .form-grid,.recovery-utility .record-summary{grid-template-columns:1fr}.recovery-utility .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-utility .wrap,.recovery-utility>.section,.recovery-utility>section{width:calc(100% - 40px)}.recovery-utility .steps{gap:10px;flex-wrap:wrap}.recovery-utility .panel{padding:20px}}
.recovery-utility .tabs{display:flex;gap:24px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);margin:20px 0}
.recovery-utility .eyebrow{font:800 12px var(--mono);color:var(--teal2);letter-spacing:.1em}
.recovery-utility .status-chip{display:inline-block;padding:6px 12px;background:var(--cream);font-size:14px}
.recovery-utility .training-modules{display:grid;gap:20px;margin-top:30px}
.recovery-utility .training-modules article{padding:24px;border:1px solid var(--line);background:white}
.re-panel form#estimate-form fieldset{padding:0;border:0;margin:0 0 24px}
.re-panel form#estimate-form legend{font-size:22px;font-weight:800;margin-bottom:20px}
.re-panel form#estimate-form label{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;font-size:14px;font-weight:750}
.re-panel form#estimate-form input,.re-panel form#estimate-form select{padding:12px;border:1px solid var(--line);min-height:48px;width:100%;background:white}
.re-panel .notice{padding:16px;border-left:4px solid var(--teal2);background:var(--cream);margin-bottom:24px;font-size:14px}
.re-panel .form-grid,.re-panel .two-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.re-panel .fine{font-size:14px;color:var(--muted);line-height:1.6;margin:18px 0}
.re-panel .estimate-total{background:var(--ink);color:white;padding:24px;margin:24px 0}
.re-panel .estimate-total .fine{color:#fff}
.re-panel .estimate-total h2{font-size:38px;line-height:1.1;margin:16px 0}
.re-panel .actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.re-panel .panel{padding:20px;border:1px solid var(--line);margin:20px 0}
.re-panel .error{color:#9c291b}
@media(max-width:600px){.re-panel .form-grid,.re-panel .two-cards{grid-template-columns:1fr}}
