.lhc-wrap,
.lhc-portal {
    max-width: 760px;
    margin: 24px auto;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #12202f
}

.lhc-form,
.lhc-op {
    background: #fff;
    border: 1px solid #e8edf3;
    border-radius: 24px;
    box-shadow: 0 12px 36px rgba(16, 24, 40, .08);
    padding: 24px
}

.lhc-hero{
    background: linear-gradient(135deg, #1f4d15 0%, #4C9532 45%, #7bc65f 100%);
    color:#fff;
    border-radius:20px;
    padding:24px;
    margin-bottom:18px
}

.lhc-hero h2{
    margin:0 0 8px;
    font-size:28px;
    line-height:1.1;
    color:#ffffff;
}

.lhc-hero p{
    margin:0;
    color:rgba(255,255,255,.88);
}

.lhc-choice {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 18px
}

.lhc-choice button {
    border: 1px solid #d9e2ec;
    background: #f7f9fb;
    border-radius: 14px;
    padding: 14px;
    font-weight: 700;
    cursor: pointer
}

.lhc-choice button.active {
    background: #0b1f38;
    color: #fff;
    border-color: #0b1f38
}

.lhc-block,
.lhc-subflow,
.lhc-step {
    display: none
}

.lhc-block.active,
.lhc-subflow.active,
.lhc-step.active {
    display: block
}

.lhc-progress {
    margin: 12px 0 18px
}

.lhc-progress span {
    display: block;
    color: #607086;
    font-size: 13px
}

.lhc-progress strong {
    display: block;
    font-size: 20px;
    margin: 4px 0 10px
}

.lhc-bar {
    height: 8px;
    background: #edf2f7;
    border-radius: 99px;
    overflow: hidden
}

.lhc-bar i {
    display: block;
    height: 100%;
    background: #1d72f3;
    border-radius: 99px;
    transition: .2s
}

.lhc-field {
    margin-bottom: 16px
}

.lhc-field label {
    display: block;
    font-weight: 800;
    margin-bottom: 7px
}

.lhc-field input,
.lhc-field select,
.lhc-field textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #d7e0ea;
    border-radius: 14px;
    padding: 14px 13px;
    font-size: 16px;
    background: #fff
}

.lhc-field textarea {
    min-height: 110px
}

.lhc-field small {
    display: block;
    margin-top: 6px;
    color: #667085;
    line-height: 1.35
}

.lhc-actions {
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-top: 16px
}

.lhc-actions button,
.lhc-submit {
    border: 0;
    border-radius: 14px;
    padding: 14px 18px;
    font-weight: 800;
    cursor: pointer
}

.lhc-prev {
    background: #eef2f6;
    color: #162234
}

.lhc-next,
.lhc-submit {
    background: #1d72f3;
    color: #fff
}

.lhc-submit.full {
    width: 100%;
    font-size: 17px;
    display: block
}

.lhc-actions .lhc-submit {
    display: none
}

.lhc-step:last-of-type~.lhc-actions .lhc-submit {
    display: inline-block
}

.lhc-alert {
    padding: 14px 16px;
    border-radius: 14px;
    margin: 12px 0;
    background: #fff4e5;
    border: 1px solid #ffd59b
}

.lhc-success {
    background: #ecfdf3;
    border-color: #abefc6;
    color: #067647
}

.lhc-intro {
    background: #f8fafc;
    border: 1px solid #e8edf3;
    border-radius: 14px;
    padding: 14px;
    color: #475467
}

.lhc-section-title {
    margin: 24px 0 12px
}

.lhc-portal {
    max-width: 980px
}

.lhc-op {
    margin-bottom: 18px
}

.lhc-op-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    border-bottom: 1px solid #eef2f6;
    padding-bottom: 12px;
    margin-bottom: 12px
}

.lhc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px
}

.lhc-grid p {
    margin: 0 0 8px
}

.lhc-offer {
    margin-top: 14px;
    border-top: 1px solid #eef2f6;
    padding-top: 14px
}

.lhc-offer summary {
    cursor: pointer;
    font-weight: 800;
    color: #1d72f3
}

@media(max-width:640px) {

    .lhc-wrap,
    .lhc-portal {
        margin: 12px
    }

    .lhc-form,
    .lhc-op {
        padding: 16px;
        border-radius: 18px
    }

    .lhc-choice {
        grid-template-columns: 1fr
    }

    .lhc-hero {
        padding: 18px
    }

    .lhc-hero h2 {
        font-size: 23px
    }

    .lhc-actions {
        position: sticky;
        bottom: 0;
        background: #fff;
        padding-top: 10px
    }

    .lhc-actions button {
        flex: 1
    }

    .lhc-grid {
        grid-template-columns: 1fr
    }

    .lhc-op-head {
        display: block
    }

    .lhc-field input,
    .lhc-field select,
    .lhc-field textarea {
        font-size: 16px
    }
}

.lhc-docs-form .lhc-buyer-block {
    border: 1px solid #e8edf3;
    background: #fbfcfe;
    border-radius: 18px;
    padding: 18px;
    margin: 18px 0
}

.lhc-docs-form .lhc-buyer-block h3 {
    margin: 0 0 12px;
    font-size: 20px
}

.lhc-docs-form .lhc-buyer-block h4 {
    font-size: 15px;
    color: #475467;
    margin: 18px 0 10px
}

.lhc-buyers-wrap {
    margin-bottom: 18px
}

.lhc-checkbox-field {
    background: #f8fafc;
    border: 1px solid #e8edf3;
    border-radius: 14px;
    padding: 13px 14px
}

.lhc-checkbox-field label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    font-weight: 700;
    line-height: 1.35
}

.lhc-checkbox-field input[type=checkbox] {
    width: auto;
    min-width: 18px;
    margin-top: 2px
}

.lhc-checkbox-field small {
    margin-left: 28px
}

.lhc-bank-docs-group{display:grid;gap:14px;margin-top:10px}
.lhc-bank-docs-title{font-size:18px;font-weight:900;color:#0b1f38;margin:14px 0 2px}
.lhc-bank-buyer-card{background:#f8fafc;border:1px solid #e8edf3;border-radius:18px;padding:16px;margin:8px 0}
.lhc-bank-buyer-card h4{margin:0 0 12px;color:#0b1f38;font-size:16px}
.lhc-bank-table{display:grid;gap:8px}
.lhc-bank-row{display:grid;grid-template-columns:minmax(130px,.8fr) 1.2fr;gap:12px;align-items:start;border-bottom:1px solid #eef2f6;padding:7px 0}
.lhc-bank-row:last-child{border-bottom:0}
.lhc-bank-row span{color:#667085;font-weight:700}
.lhc-bank-row strong{color:#0b1f38;font-weight:800;word-break:break-word}
@media(max-width:640px){.lhc-bank-row{grid-template-columns:1fr;gap:4px}}

/* Portal bancos v2 */
.lhc-bank-dashboard,.lhc-bank-detail{max-width:1180px}
.lhc-bank-hero,.lhc-bank-detail-hero{background:linear-gradient(135deg,#0b1f38,#163d6a);color:#fff;border-radius:26px;padding:28px;margin-bottom:18px;display:flex;justify-content:space-between;gap:20px;align-items:center;box-shadow:0 18px 42px rgba(11,31,56,.16)}
.lhc-bank-hero span,.lhc-bank-detail-hero span{display:block;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:8px}
.lhc-bank-hero h2,.lhc-bank-detail-hero h2{margin:0;color:#fff;font-size:34px;line-height:1.15}
.lhc-bank-hero p,.lhc-bank-detail-hero p{margin:8px 0 0;color:rgba(255,255,255,.85)}
.lhc-bank-hero-count{width:96px;height:96px;border-radius:24px;background:rgba(255,255,255,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:34px;font-weight:900}
.lhc-bank-hero-count small{font-size:13px;font-weight:700;color:rgba(255,255,255,.75)}
.lhc-bank-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.lhc-bank-stats div{background:#fff;border:1px solid #e8edf3;border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(16,24,40,.06)}
.lhc-bank-stats strong{display:block;color:#0b1f38;font-size:30px;line-height:1}
.lhc-bank-stats span{display:block;color:#667085;font-size:13px;font-weight:800;margin-top:8px}
.lhc-bank-table-wrap{background:#fff;border:1px solid #e8edf3;border-radius:24px;box-shadow:0 12px 36px rgba(16,24,40,.08);overflow:hidden}
.lhc-bank-ops-table{width:100%;border-collapse:collapse}
.lhc-bank-ops-table th{background:#f8fafc;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#667085;padding:14px 16px;border-bottom:1px solid #e8edf3}
.lhc-bank-ops-table td{padding:16px;border-bottom:1px solid #eef2f6;vertical-align:middle;color:#12202f}
.lhc-bank-ops-table tr:last-child td{border-bottom:0}
.lhc-bank-ops-table td small{display:block;color:#667085;margin-top:4px}
.lhc-bank-open{display:inline-block;background:#1d72f3;color:#fff!important;text-decoration:none;border-radius:999px;padding:10px 16px;font-weight:900;font-size:13px;white-space:nowrap}
.lhc-bank-mini-ok,.lhc-bank-mini-pending{display:inline-block;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px}
.lhc-bank-mini-ok{background:#ecfdf3;color:#067647}.lhc-bank-mini-pending{background:#fff4e5;color:#b54708}
.lhc-assignment-badge{display:inline-block;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900;white-space:nowrap;background:#eef2f6;color:#344054}
.lhc-assignment-enviada{background:#fff4e5;color:#b54708}.lhc-assignment-recibida{background:#eef6ff;color:#155eef}.lhc-assignment-aceptada{background:#ecfdf3;color:#067647}.lhc-assignment-desestimada{background:#f2f4f7;color:#475467}
.lhc-bank-back{display:inline-block;margin-bottom:4px;color:#155eef;text-decoration:none;font-weight:900}
.lhc-bank-section{background:#fff;border:1px solid #e8edf3;border-radius:24px;box-shadow:0 12px 36px rgba(16,24,40,.06);padding:24px;margin:18px 0}
.lhc-bank-section h3{margin:0 0 18px;color:#0b1f38;font-size:22px}
.lhc-bank-muted{color:#667085;margin-top:0}.lhc-bank-offer-form{margin-top:12px}.lhc-bank-final-state{margin-top:16px;padding:14px;border-radius:14px;background:#f8fafc;border:1px solid #e8edf3}
@media(max-width:760px){.lhc-bank-hero,.lhc-bank-detail-hero{display:block}.lhc-bank-hero-count{margin-top:18px}.lhc-bank-stats{grid-template-columns:1fr 1fr}.lhc-bank-table-wrap{overflow-x:auto}.lhc-bank-ops-table{min-width:760px}.lhc-bank-hero h2,.lhc-bank-detail-hero h2{font-size:28px}}

/* Indicadores financieros para portal bancos */
.lhc-bank-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.lhc-bank-kpi{background:#fff;border:1px solid #e5edf4;border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(15,45,74,.05)}.lhc-bank-kpi span{display:block;color:#6b7c8f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.lhc-bank-kpi strong{display:block;color:#0f2d4a;font-size:22px;line-height:1.1}.lhc-bank-kpi-good{border-color:#abefc6;background:#f0fdf4}.lhc-bank-kpi-warn{border-color:#fedf89;background:#fffbeb}.lhc-bank-kpi-risk{border-color:#fecaca;background:#fff1f2}@media(max-width:760px){.lhc-bank-kpi-grid{grid-template-columns:1fr}}


.lhc-submit.lhc-sending,
.lhc-form-submitting .lhc-submit{
    opacity:.75;
    cursor:wait;
    position:relative;
}
.lhc-form-submitting{
    pointer-events:none;
}
