/* Shared visual language with the compact map utility; no calculation changes. */
.loan-calculator{padding:20px;border-color:#dce6f2;color:#17324d;box-shadow:0 4px 16px #17324d08}
.loan-heading{align-items:center;margin-bottom:16px}
.loan-heading h2{font-size:clamp(22px,3vw,30px)}
.loan-jump{border:1px solid #c7dcef;border-radius:9px;background:#fff;color:#075bc7;min-height:44px;font-size:13px}
#loan-form{padding:16px;border:1px solid #dce6f2;border-radius:12px;background:#fff}
.loan-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.loan-field{min-width:0;gap:7px}
.loan-field label{min-height:2.8em;font-size:13px;line-height:1.4;color:#17324d}
.loan-input-wrap,.loan-field select{height:46px;min-height:46px;border:1px solid #cddfed;border-radius:8px;background:#fff;color:#17324d}
.loan-input-wrap input{height:44px;min-height:44px;padding:8px 10px;color:#17324d;font-size:16px}
.loan-input-wrap span{padding:0 8px;color:#647b91}
.loan-field select{padding:8px 10px;font-size:16px}
.loan-input-wrap:focus-within,.loan-field select:focus-visible{outline:2px solid #4385db;outline-offset:2px}
.loan-error:empty{display:none}
.loan-error{min-height:0}
.loan-actions{gap:10px}
.loan-actions button{min-height:44px;border-radius:9px;padding:9px 16px}
.loan-clear{border-color:#c7dcef!important;background:#fff;color:#075bc7}
.loan-input-note,.loan-method{font-size:13px;color:#647b91}
.loan-summary-cell,.loan-extremes article,.loan-schedule{border-color:#dce6f2;border-radius:10px;background:#f8fbff}
.loan-disclaimer{border-color:#7ca7da;background:#f0f6ff;border-radius:8px}
@media(max-width:899px){.loan-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-heading{gap:12px}.loan-calculator{margin:16px 12px}}
@media(max-width:600px){header{gap:8px}header strong{font-size:14px}.loan-calculator{padding:12px;margin:12px 8px}.loan-heading{align-items:flex-start}.loan-fields{grid-template-columns:minmax(0,1fr);gap:12px}.loan-field label{min-height:0}.loan-intro{font-size:13px}#loan-form{padding:12px}.loan-actions button{flex:1 1 130px}.loan-summary{grid-template-columns:minmax(0,1fr)}.loan-summary-cell{min-height:65px}.loan-extremes{grid-template-columns:minmax(0,1fr)}}
