/* Form-control and form-select base rules adapted from Bootstrap 5.3.3 (MIT). See Bootstrap-LICENSE.txt. Lato: see Lato-OFL.txt. */
@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(lato-400-latin.woff) format("woff")}
@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(lato-700-latin.woff) format("woff")}
.card input:not([type="checkbox"]):not([type="radio"]),.card textarea{
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.card select{
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
body{--bs-body-color:var(--navy);--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-color:rgba(20,159,255,.20);--bs-border-radius:.5rem;--bs-secondary-bg:#f4faff;--bs-form-select-bg-img:none;--bs-emphasis-color-rgb:21,50,74;font-family:Lato,Arial,sans-serif;font-size:17px;line-height:1.5}input,select,textarea,button{font-family:inherit}.card h2:after{content:none}.card h2{font-size:21px;font-weight:600;margin-bottom:20px}.card h3,.subcard h3{font-size:17px;font-weight:500}.card label,.card .question label.q,.card .field label{font-size:16px;line-height:1.5;letter-spacing:0;text-transform:none;font-weight:400;margin-bottom:8px}.card .grid{gap:22px 24px}.card input:not([type="checkbox"]):not([type="radio"]),.card select{height:46px;min-height:46px;padding:10px 12px;font-size:16px;line-height:1.5;border-radius:8px;color:var(--navy);background-color:#fff;box-shadow:none}.card select{appearance:auto;background-image:none}.card input:not([type="checkbox"]):not([type="radio"]):focus,.card select:focus,.card textarea:focus{border-color:#80cfff;outline:0;box-shadow:0 0 0 .2rem rgba(20,159,255,.12)}.card{padding:28px;border-radius:16px}.sidebar,.loan-nav{border-radius:16px}.loan-nav strong{font-weight:600}.dashboard-head{font-weight:600}.summary-item strong,.loan-cell strong{font-weight:600}.tab,.loan-nav button{font-size:17px}.card b,.card strong{font-weight:600}@media(max-width:800px){.card{padding:22px 18px}.card .grid{gap:18px}}
.shell{max-width:1600px}.dashboard-head,.loan-row{grid-template-columns:minmax(140px,1fr) minmax(150px,1.2fr) minmax(420px,2.8fr) minmax(100px,.8fr) minmax(120px,1fr) minmax(130px,.9fr) minmax(130px,1fr);gap:12px;min-width:1262px}.dashboard-head{font-size:14px;font-weight:600;padding:10px 12px}.loan-row{padding:12px}.loan-cell strong{font-size:17px}.loan-cell small{font-size:13px}
@media(max-width:800px){.dashboard-head{display:none}.loan-row{grid-template-columns:1fr 1fr;min-width:0}.status-cell{grid-column:1/-1}}
/* Readable typography: light surfaces, clear text hierarchy. */
body{font-size:18px}.card h2{font-size:22px;font-weight:600}.card h3,.subcard h3{font-size:18px;font-weight:600}.card label,.card .question label.q,.card .field label{font-size:17px;font-weight:500}.card input:not([type="checkbox"]):not([type="radio"]),.card select,.card textarea{font-size:18px;line-height:1.5}.tab,.loan-nav button{font-size:18px}.ratio-yellow strong{color:#b58b35}

/* Keep duration units inside the controls so employment rows align. */
.card .time-pair>div{position:relative}.card .time-pair>div>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px;line-height:1;pointer-events:none;margin:0}.card .time-pair input:not([type="checkbox"]):not([type="radio"]){padding-right:72px}

/* Stronger readable text without darkening the surfaces. */
body{font-size:19px}.card label,.card .question label.q,.card .field label{font-size:18px;font-weight:600;color:var(--navy)}.card input:not([type="checkbox"]):not([type="radio"]),.card select,.card textarea{font-size:19px}.tab,.loan-nav button{font-size:19px}.card .time-pair>div>span{color:var(--navy);font-size:15px;font-weight:500}.card input::placeholder,.card textarea::placeholder{color:#526c80;opacity:1}

.dashboard-head{font-size:18px;font-weight:700;line-height:1.4;padding:16px 14px;color:var(--navy);background:#f4faff;border:1px solid rgba(20,159,255,.15);border-radius:12px;margin-bottom:8px}

/* Unified system typography and restrained emphasis across both portals. */
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0}.card label,.card .question label.q,.card .field label{font-weight:500}.card .yesno label{font-weight:400}.card h2,.card h3,.subcard h3{font-weight:600}
.dashboard-head{font-size:16px;font-weight:600;padding:12px 14px}.summary-bar{padding:10px;gap:8px}.summary-item{min-height:90px;padding:12px 16px;gap:7px}.summary-item>strong,.summary-item>.credit-edit{font-size:27px;font-weight:600}.summary-loan>strong{font-size:22px}.summary-item:has(strong):nth-child(3) strong{font-size:24px}.ratio-yellow strong{color:#d1843f}
.card .yesno input[type="radio"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;border:2px solid var(--navy);border-radius:50%;background:#fff;padding:0;margin:0;box-shadow:none;display:inline-grid;place-content:center;accent-color:var(--navy)}.card .yesno input[type="radio"]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--navy);transform:scale(0)}.card .yesno input[type="radio"]:checked::before{transform:scale(1)}.card .yesno input[type="radio"]:focus{box-shadow:none}.card .yesno input[type="radio"]:focus-visible{outline:2px solid var(--navy);outline-offset:3px}

/* Egg-yolk yellow and compact, aligned payment estimates. */
.ratio-yellow strong{color:#f4bf00}.payment-column .card>.grid{align-items:end}.payment-column .card .field label{font-size:16px;line-height:1.4}.payment-column .card input:not([type="checkbox"]):not([type="radio"]),.payment-column .card select{font-size:17px}.payment-column #estimateResults{margin-top:24px;gap:20px 24px;align-items:start}.payment-column .metric{font-size:16px;line-height:1.4}.payment-column .metric strong{font-size:22px;font-weight:600;line-height:1.3;margin-top:8px}

.percent-field{position:relative}.percent-field .input-unit{position:absolute;right:14px;bottom:13px;line-height:20px;font-size:17px;color:var(--navy);pointer-events:none}.card .percent-field input:not([type="checkbox"]):not([type="radio"]){padding-right:40px}
