.loanforge-portal{--lf-primary:#1f4f7a;--lf-primary-dark:#173b5c;--lf-text:#162033;--lf-muted:#667085;--lf-bg:#f3f6fb;--lf-card:#fff;--lf-border:#e5eaf1;max-width:1120px;margin:0 auto;padding:28px;color:var(--lf-text);font-family:inherit}.loanforge-portal-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,var(--lf-primary),var(--lf-primary-dark));color:#fff;border-radius:24px;padding:30px;margin-bottom:22px;box-shadow:0 18px 44px rgba(20,42,70,.18)}.loanforge-portal-hero .loanforge-muted,.loanforge-portal-hero .loanforge-kicker{color:rgba(255,255,255,.8)}.loanforge-kicker{text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:800;color:var(--lf-primary);margin:0 0 6px}.loanforge-portal h2,.loanforge-portal h3,.loanforge-portal h4{margin-top:0}.loanforge-portal h2{font-size:32px;line-height:1.1}.loanforge-logout{display:inline-block;background:#fff;color:var(--lf-primary)!important;text-decoration:none;border-radius:999px;padding:10px 18px;font-weight:800;white-space:nowrap}.loanforge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.loanforge-panel{border:1px solid var(--lf-border);border-radius:20px;padding:22px;background:var(--lf-card);box-shadow:0 10px 26px rgba(18,32,55,.07)}.loanforge-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin:20px 0}.loanforge-bank-grid .loanforge-panel{min-height:130px}.loanforge-balance-card{background:linear-gradient(180deg,#fff,#f8fbff)}.loanforge-big{font-size:30px;font-weight:850;margin:8px 0 4px;letter-spacing:-.03em}.loanforge-muted{color:var(--lf-muted);font-size:14px}.loanforge-panel span{color:var(--lf-muted)}.loanforge-progress{height:10px;background:#e7edf5;border-radius:999px;overflow:hidden;margin-top:12px}.loanforge-progress span{display:block;height:100%;background:var(--lf-primary);border-radius:999px}.loanforge-loan-card{margin:20px 0}.loanforge-loan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.loanforge-status{display:inline-block;padding:7px 12px;border-radius:999px;background:#edf4ff;color:var(--lf-primary);font-size:12px;font-weight:800}.loanforge-loan-progress{margin:16px 0}.loanforge-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:14px;margin-top:16px}.loanforge-detail-grid div{background:#f8fafc;border-radius:14px;padding:14px}.loanforge-detail-grid strong{display:block;font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.loanforge-detail-grid span{display:block;font-size:18px;font-weight:800;margin-top:4px;color:var(--lf-text)}.loanforge-alert{padding:14px 16px;border-radius:14px;margin:0 0 18px;font-weight:700}.loanforge-alert-success{background:#e8f7ee;color:#145c2e}.loanforge-alert-warning{background:#fff4d8;color:#7a5200}.loanforge-payment-form{margin-top:22px;padding:18px;border-radius:18px;background:var(--lf-bg);border:1px solid var(--lf-border)}.loanforge-payment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.loanforge-payment-form label,.loanforge-password-form label{display:block;font-weight:800;font-size:13px;color:#344054}.loanforge-payment-form input,.loanforge-password-form input{width:100%;box-sizing:border-box;margin-top:7px;padding:11px 12px;border:1px solid #d7dce3;border-radius:12px;font-size:16px;background:#fff}.loanforge-payment-form input[readonly]{background:#eef3f9}.loanforge-payment-breakdown{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.loanforge-payment-breakdown span{background:#fff;border:1px solid var(--lf-border);border-radius:999px;padding:8px 12px}.loanforge-payment-breakdown strong{color:var(--lf-text)}.loanforge-button{border:0;border-radius:12px;padding:12px 18px;background:var(--lf-primary);color:#fff;font-weight:850;cursor:pointer}.loanforge-button:disabled{opacity:.65;cursor:not-allowed}.loanforge-payment-message{font-weight:800;color:#8a1f11;margin:8px 0 0}.loanforge-lower-grid{align-items:start;margin-top:20px}.loanforge-timeline{display:grid;gap:12px}.loanforge-timeline-item{display:grid;grid-template-columns:14px 1fr;gap:12px}.loanforge-timeline-item>span{width:10px;height:10px;background:var(--lf-primary);border-radius:999px;margin-top:6px}.loanforge-timeline-item strong{display:block}.loanforge-timeline-item small{display:block;color:var(--lf-muted)}.loanforge-timeline-item em{font-style:normal;font-weight:800}.loanforge-doc-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.loanforge-doc-list li{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--lf-border);border-radius:12px}.loanforge-doc-list a{font-weight:800;text-decoration:none}.loanforge-password-form{display:grid;gap:12px}@media (max-width:720px){.loanforge-portal{padding:16px}.loanforge-portal-hero{display:block}.loanforge-logout{margin-top:16px}.loanforge-portal h2{font-size:26px}.loanforge-detail-grid{grid-template-columns:1fr}}

/* Borrower login */
.loanforge-login-wrap {
    display: flex;
    justify-content: center;
    padding: 40px 16px;
}
.loanforge-login-card {
    width: 100%;
    max-width: 460px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
    padding: 32px;
}
.loanforge-login-card h2 {
    margin-top: 0;
    margin-bottom: 8px;
}
.loanforge-login-form {
    margin-top: 24px;
}
.loanforge-login-form label:not(.loanforge-checkbox) {
    display: block;
    font-weight: 700;
    margin: 16px 0 6px;
}
.loanforge-login-form input[type="text"],
.loanforge-login-form input[type="password"] {
    width: 100%;
    border: 1px solid rgba(15, 23, 42, 0.18);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 16px;
}
.loanforge-checkbox {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 16px 0;
}
.loanforge-login-links {
    margin-bottom: 0;
    text-align: center;
}
.loanforge-alert {
    border-radius: 10px;
    padding: 12px 14px;
    margin: 16px 0;
    font-weight: 600;
}
.loanforge-alert-error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}
.loanforge-alert-success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}
.loanforge-loan-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.loanforge-secondary-button{display:inline-block;border:1px solid var(--lf-primary);color:var(--lf-primary)!important;background:#fff;text-decoration:none;border-radius:12px;padding:10px 15px;font-weight:800}.loanforge-what-if{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(160px,.7fr);gap:18px;align-items:end;margin:20px 0;padding:20px;border:1px solid var(--lf-border);border-radius:18px;background:linear-gradient(135deg,#f8fbff,#fff)}.loanforge-what-if label{font-size:13px;font-weight:800}.loanforge-what-if input{width:100%;box-sizing:border-box;margin-top:7px;padding:11px 12px;border:1px solid #d7dce3;border-radius:12px;font-size:16px;background:#fff}.loanforge-what-if-results{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:12px}.loanforge-what-if-results div{padding:14px;border-radius:14px;background:#fff;border:1px solid var(--lf-border)}.loanforge-what-if-results strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.loanforge-what-if-results span{display:block;margin-top:4px;font-size:20px;font-weight:850;color:var(--lf-text)}.loanforge-amortization{margin-top:20px;border-top:1px solid var(--lf-border);padding-top:18px}.loanforge-amortization summary{cursor:pointer;font-weight:850;color:var(--lf-primary);padding:8px 0}.loanforge-table-wrap{overflow:auto;margin-top:12px}.loanforge-table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.loanforge-table-wrap th,.loanforge-table-wrap td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--lf-border);font-size:13px}.loanforge-table-wrap th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.loanforge-schedule-paid{background:#f0fdf4}.loanforge-schedule-past_due{background:#fff1f2}.loanforge-schedule-partial{background:#fffbeb}.loanforge-row-status{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf4ff;color:var(--lf-primary)!important;font-size:11px;font-weight:800}@media(max-width:720px){.loanforge-what-if{grid-template-columns:1fr}.loanforge-what-if-results{grid-template-columns:1fr}.loanforge-loan-actions a{width:100%;text-align:center;box-sizing:border-box}}


/* LoanForge 2.2.1: polished borrower login */
.loanforge-login-wrap{
    width:100%;
    max-width:none;
    box-sizing:border-box;
    align-items:center;
    min-height:60vh;
}
.loanforge-login-card{
    text-align:left;
}
.loanforge-login-icon{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
    border-radius:18px;
    background:var(--lf-bg);
    color:var(--lf-primary);
    font-size:28px;
    line-height:1;
}
.loanforge-login-card h2{
    text-align:center;
    font-size:34px;
    line-height:1.15;
    margin-bottom:10px;
    letter-spacing:-.025em;
}
.loanforge-login-intro{
    max-width:380px;
    margin:0 auto;
    text-align:center;
    color:var(--lf-muted);
    font-size:16px;
    line-height:1.6;
}
.loanforge-login-form input[type="text"],
.loanforge-login-form input[type="password"]{
    box-sizing:border-box;
    min-height:54px;
    padding:14px 16px;
    font-size:17px;
    line-height:1.25;
}
.loanforge-login-form input[type="text"]:focus,
.loanforge-login-form input[type="password"]:focus{
    outline:none;
    border-color:var(--lf-primary);
    box-shadow:0 0 0 3px rgba(31,79,122,.12);
}
.loanforge-login-submit{
    display:block;
    width:100%;
    min-height:54px;
    border:0;
    border-radius:12px;
    background:var(--lf-primary);
    color:#fff;
    font-size:18px;
    font-weight:850;
    line-height:1.2;
    cursor:pointer;
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.loanforge-login-submit:hover,
.loanforge-login-submit:focus{
    background:var(--lf-primary-dark);
    box-shadow:0 10px 24px rgba(31,79,122,.2);
    transform:translateY(-1px);
}
.loanforge-login-security{
    margin:18px 0 0;
    text-align:center;
    color:var(--lf-muted);
    font-size:13px;
}
@media(max-width:720px){
    .loanforge-login-wrap{
        width:100%;
        padding:18px 8px;
        min-height:auto;
    }
    .loanforge-login-card{
        width:100%;
        max-width:none;
        box-sizing:border-box;
        padding:28px 20px;
        border-radius:18px;
    }
    .loanforge-login-card h2{
        font-size:31px;
    }
    .loanforge-login-intro{
        font-size:17px;
        line-height:1.55;
    }
    .loanforge-login-form{
        margin-top:28px;
    }
    .loanforge-login-form label:not(.loanforge-checkbox){
        font-size:16px;
        margin-top:18px;
        margin-bottom:8px;
    }
    .loanforge-login-form input[type="text"],
    .loanforge-login-form input[type="password"]{
        width:100%;
        min-height:58px;
        border-radius:12px;
        padding:15px 16px;
        font-size:18px;
    }
    .loanforge-checkbox{
        font-size:16px;
        margin:18px 0;
    }
    .loanforge-checkbox input{
        width:20px;
        height:20px;
    }
    .loanforge-login-submit{
        width:100%;
        min-height:58px;
        font-size:19px;
        border-radius:13px;
    }
    .loanforge-login-links{
        margin-top:20px;
        font-size:16px;
    }
    .loanforge-login-security{
        font-size:14px;
        line-height:1.45;
    }
}

/* LoanForge 2.2.2: wider mobile portal login */
@media (max-width:720px){
    .loanforge-login-wrap{
        width:95vw;
        max-width:480px;
        margin-left:50%;
        transform:translateX(-50%);
        padding:14px 0 24px;
        box-sizing:border-box;
    }
    .loanforge-login-card{
        width:100%;
        max-width:100%;
        padding:30px 22px;
        box-sizing:border-box;
    }
    .loanforge-login-links a{
        display:inline-block;
        padding:8px 6px;
        min-height:44px;
        line-height:28px;
    }
}


/* LoanForge 2.3 payment statuses */
.loanforge-payment-history{margin-top:22px}
.loanforge-payment-status{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1}
.loanforge-payment-status-completed{background:#dcfce7;color:#166534}
.loanforge-payment-status-processing,.loanforge-payment-status-pending{background:#fef3c7;color:#92400e}
.loanforge-payment-status-failed,.loanforge-payment-status-returned,.loanforge-payment-status-canceled{background:#fee2e2;color:#991b1b}
@media(max-width:700px){.loanforge-payment-history .loanforge-table-wrap{overflow-x:auto}.loanforge-payment-history table{min-width:680px}}


/* LoanForge 2.9.3: explicit payment choice and password visibility */
.loanforge-password-field{position:relative}
.loanforge-password-field input{padding-right:76px!important}
.loanforge-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:58px;border:0;border-radius:8px;padding:8px 10px;background:#eef3f9;color:var(--lf-primary);font-weight:800;cursor:pointer}
.loanforge-password-toggle:hover,.loanforge-password-toggle:focus{background:#e1eaf5;outline:2px solid rgba(31,79,122,.18);outline-offset:1px}
.loanforge-payment-methods{margin:16px 0}
.loanforge-payment-methods>strong{display:block;margin-bottom:10px;font-size:13px;color:#344054}
.loanforge-payment-method-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.loanforge-payment-method-option{display:flex!important;align-items:flex-start;gap:11px;margin:0!important;padding:14px;border:1px solid var(--lf-border);border-radius:14px;background:#fff;cursor:pointer}
.loanforge-payment-method-option:has(input:checked){border-color:var(--lf-primary);box-shadow:0 0 0 3px rgba(31,79,122,.10);background:#f8fbff}
.loanforge-payment-method-option input{width:18px!important;height:18px;margin:2px 0 0!important;flex:0 0 auto}
.loanforge-payment-method-option span{display:block;color:var(--lf-text)}
.loanforge-payment-method-option b{display:block;font-size:15px}
.loanforge-payment-method-option small{display:block;margin-top:4px;color:var(--lf-muted);font-weight:500;line-height:1.4}
@media(max-width:720px){.loanforge-payment-method-options{grid-template-columns:1fr}.loanforge-password-toggle{min-height:42px}}
