.homebuyer-widget { color: #173831; max-width: 64rem; margin: 1rem auto; padding: 1rem; background: #f3faf7; border: 1px solid #b7d5c8; border-radius: 1rem; font: 1rem/1.5 system-ui,sans-serif; }
.homebuyer-widget fieldset { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%, 14rem),1fr)); gap: .8rem; margin: .75rem 0; padding: .9rem; border: 1px solid #b7d5c8; border-radius: .7rem; }
.homebuyer-widget legend { font-weight: 700; }
.homebuyer-widget label { display: grid; align-content: end; gap: .25rem; }
.homebuyer-widget .homebuyer-toggle { display: flex; align-items: center; margin: .8rem 0; }
.homebuyer-widget input[type=number] { box-sizing:border-box; min-width:0; width:100%; padding:.5rem; font:inherit; color:#173831; background:white; border:1px solid #647f75; border-radius:.35rem; }
.homebuyer-widget button { font:inherit; font-weight:700; padding:.55rem .85rem; border:0; border-radius:.45rem; color:white; background:#176250; cursor:pointer; }
.homebuyer-widget a { color:#155b4a; }
.homebuyer-widget table { border-collapse:collapse; width:100%; margin-bottom:1rem; font-variant-numeric:tabular-nums; }
.homebuyer-widget th,.homebuyer-widget td { padding:.45rem; text-align:left; border-bottom:1px solid #b7d5c8; }
.homebuyer-widget [hidden] { display:none !important; }
.homebuyer-note { font-size:.9rem; }
@media print {
 body *:not(:has(.homebuyer-widget)):not(.homebuyer-widget):not(.homebuyer-widget *) { display:none !important; }
 body *:has(.homebuyer-widget) { display:block !important; margin:0 !important; padding:0 !important; min-height:0 !important; max-width:none !important; }
 .homebuyer-widget { background:white; color:black; border:0; break-inside:avoid; }
 .homebuyer-widget form,.homebuyer-widget button { display:none !important; }
}
