/* Customer portal readability pass. Loaded last to preserve established layouts. */
.portal-body{font-size:16px}
.portal-body .language-control select{font-size:14px}.portal-body .account-copy strong{font-size:14px}.portal-body .account-copy small,.portal-body .customer-card small{font-size:12px}.portal-body .customer-card strong{font-size:15px}
.portal-body .nav-item,.portal-body .logout-button{min-height:52px;font-size:15px}.portal-body .nav-item i{min-width:24px;height:24px;font-size:12px}
.portal-body .eyebrow{font-size:11px;line-height:1.35}.portal-body .page-heading h1{font-size:clamp(31px,3vw,42px)}.portal-body .page-heading p,.portal-body .surface-heading p{font-size:15px;line-height:1.55}
.portal-body .button{min-height:48px;padding-inline:20px;font-size:14px}.portal-body [data-application-modal]{min-height:54px;padding-inline:24px;font-size:17px;white-space:nowrap}.portal-body [data-application-modal] svg{width:20px;height:20px}.portal-body .text-button,.portal-body .row-button{font-size:14px}
.portal-body .hero-title-row{font-size:13px}.portal-body .hero-label{font-size:13px}.portal-body .loan-hero-main>small,.portal-body .loan-due-card small,.portal-body .loan-due-card span{font-size:12px}.portal-body .loan-due-card strong{font-size:17px}
.portal-body .metric-grid strong{font-size:24px}.portal-body .metric-grid small{font-size:13px;line-height:1.35}.portal-body .surface-heading h2{font-size:20px}
.portal-body .activity-primary strong{font-size:15px}.portal-body .activity-primary small,.portal-body .activity-meta small{font-size:12px;line-height:1.4}.portal-body .activity-meta{min-width:175px}.portal-body .status{min-height:28px;padding-inline:10px;font-size:11px}
.portal-body .filter-control select{min-height:44px;font-size:13px}.portal-body .responsive-table th{font-size:11px}.portal-body .responsive-table td{font-size:14px;line-height:1.45}.portal-body .responsive-table td small{font-size:11px}
.portal-body .loan-focus-card h2{font-size:23px}.portal-body .loan-focus-card header p{font-size:13px}.portal-body .loan-amount-grid small,.portal-body .lock-note,.portal-body .due-copy{font-size:12px}.portal-body .loan-amount-grid strong{font-size:19px}.portal-body .loan-amount-grid .highlight strong{font-size:27px}
.portal-body .empty-compact strong{font-size:15px}.portal-body .empty-compact small,.portal-body .history-loan-row small{font-size:12px;line-height:1.4}.portal-body .history-loan-row strong{font-size:15px}
.portal-body .profile-card h2,.portal-body .security-settings h2{font-size:20px}.portal-body .profile-card header p,.portal-body .security-settings header p,.portal-body .profile-card dt{font-size:12px}.portal-body .profile-card dd{font-size:15px}.portal-body .verified-chip{font-size:11px}.portal-body .setting-row strong{font-size:15px}.portal-body .setting-row small{font-size:12px;line-height:1.4}
.portal-body .application-record-heading h2{font-size:22px}.portal-body .application-detail dt{font-size:13px}.portal-body .application-detail dd{font-size:16px}.portal-body .dialog-body{font-size:15px}.portal-body .detail-dialog h2,.portal-body .application-modal h2{font-size:23px}.portal-body .application-frame-loading{font-size:15px}
.portal-body .active-loan-hero{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}
.portal-body .loan-due-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;align-items:stretch;gap:12px}
.portal-body .loan-due-card>div{min-width:0;padding:2px 4px}.portal-body .loan-due-card strong,.portal-body .loan-due-card span{overflow-wrap:anywhere}
.portal-body .loan-due-card .calendar-action,.portal-body .loan-due-card .repayment-cta{width:100%;min-width:0;margin:0}
@media(max-width:1050px){.portal-body .active-loan-hero{grid-template-columns:minmax(0,1fr) minmax(270px,.8fr)}}

/* Keep the logo, language selector and login/register action on one line at
   narrow phone widths and browser zoom. */
.auth-body .public-header{flex-wrap:nowrap!important;min-width:0}.auth-body .public-header .portal-brand,.auth-body .public-header .header-actions,.auth-body .public-header .outline-link{white-space:nowrap}.auth-body .public-header .portal-brand{min-width:0;flex-shrink:1}.auth-body .public-header .header-actions{min-width:max-content;flex:0 0 auto}

@media(max-width:767px){.portal-body .page-heading{align-items:stretch!important}.portal-body .page-heading h1{font-size:clamp(29px,8vw,36px)}.portal-body .page-heading p{font-size:15px}.portal-body .surface-heading{align-items:flex-start}.portal-body .activity-row{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}.portal-body .activity-meta{grid-column:2/-1;min-width:0}.portal-body .responsive-table td::before{font-size:11px}.portal-body .loan-amount-grid strong{font-size:18px}.portal-body .application-modal>header h2{font-size:19px}}
@media(max-width:420px){.auth-body .public-header{height:68px!important;min-height:68px!important;padding:8px 12px!important;gap:8px!important}.auth-body .public-header .portal-brand{gap:5px}.auth-body .public-header .portal-brand .brand-mark{width:27px;height:27px;flex-basis:27px}.auth-body .public-header .portal-brand .brand-name{font-size:21px}.auth-body .public-header .header-actions{gap:6px}.auth-body .public-header .language-control select{min-height:42px;padding:7px 24px 7px 8px;font-size:13px}.auth-body .public-header .outline-link{min-height:42px;padding:9px 11px;display:inline-flex;align-items:center;font-size:13px}.portal-body .metric-grid article{min-width:0}.portal-body .metric-grid small{overflow-wrap:anywhere}}
@media(max-width:420px){.auth-body:has(.register-layout) .public-header .language-control select,.auth-body:has(.register-layout) .public-header .outline-link{min-height:44px}}
@media(max-width:340px){.auth-body .public-header .portal-brand .brand-name{font-size:19px}.auth-body .public-header .portal-brand .brand-mark{width:24px;height:24px;flex-basis:24px}.auth-body .public-header .outline-link{padding-inline:8px;font-size:12px}.auth-body .public-header .language-control select{padding-left:6px;font-size:12px}}
@media(max-width:767px){.portal-body .active-loan-hero{grid-template-columns:1fr}}

/* Authoritative repayment due-date countdown. */
.portal-body .due-date-display{display:grid;justify-items:start;gap:5px;min-width:0;margin-top:5px}
.portal-body .due-date-absolute{font-size:18px;font-weight:850;line-height:1.2;color:inherit}
.portal-body .due-date-relative{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:13px!important;font-weight:800;line-height:1.25;background:#dff5ef;color:#076c60}
.portal-body .due-date-display.is-soon .due-date-relative,.portal-body .due-date-display.is-today .due-date-relative{background:#fff0c7;color:#835300}
.portal-body .due-date-display.is-overdue .due-date-relative{background:#ffe3e0;color:#a32722}
.portal-body .due-date-display.is-settled .due-date-relative,.portal-body .due-date-display.is-unavailable .due-date-relative{background:#edf2f4;color:#526675}
.portal-body .loan-card-due{display:grid;gap:4px;margin-top:10px}.portal-body .loan-card-due>small{font-size:12px;color:#60788a}
.portal-body .due-date-display.is-compact{gap:3px}.portal-body .due-date-display.is-compact .due-date-absolute{font-size:14px}.portal-body .due-date-display.is-compact .due-date-relative{min-height:25px;padding:4px 8px;font-size:12px!important}
.portal-body .loan-due-card .due-date-relative{width:max-content;max-width:100%}
.portal-body .loan-activity-row{cursor:pointer}.portal-body .due-activity-meta{align-items:flex-start}.portal-body .due-activity-meta .due-date-display{margin-top:2px}
@media(max-width:767px){.portal-body .due-date-display{width:100%;justify-items:start}.portal-body .due-date-absolute{font-size:17px}.portal-body .due-date-relative{max-width:100%;white-space:normal}.portal-body .due-activity-meta{grid-column:2/-1;width:100%;align-items:flex-start}}
@media(max-width:360px){.portal-body .due-date-relative{font-size:12px!important}.portal-body .loan-due-card>div{padding-inline:0}}
