/* Etapa 38: lenguaje visual transversal, sin cambiar lógica ni formularios */
.mod38 {width:100%;max-width:none;min-width:0;display:flex;flex-direction:column;gap:18px;padding-bottom:26px}
.mod38 > * {max-width:none;min-width:0}
.mod38 > .head {display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:1px;padding:4px 0 9px}
.mod38 > .head .crumb {font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#5385b3}
.mod38 > .head h1 {font-size:clamp(25px,2.1vw,34px);line-height:1.15;letter-spacing:-.7px;margin-top:7px}
.mod38 > .head .mu {line-height:1.5}
.mod38 > .head .row {justify-content:flex-end;gap:9px}
.mod38 > .head .btn {min-height:41px;display:inline-flex;align-items:center;justify-content:center}
.mod38 > form.row {background:var(--surf);border:1px solid var(--bd);border-radius:13px;padding:16px 20px;gap:13px;box-shadow:0 3px 14px rgba(19,48,82,.04)}
.mod38 > form.row .l {min-width:120px;flex:1 1 150px}
.mod38 > form.row .fld {min-height:40px;width:100%;max-width:100%}
.mod38 > form.row .btn {min-height:40px}
.mod38 > .card,.mod38 > section.card {border:1px solid var(--bd);border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(19,48,82,.045)}
.mod38 > .cols {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:17px;align-items:start;width:100%}
.mod38 > .cols > * {min-width:0}
.mod38 .card .bar {padding:17px 20px;border-bottom:1px solid var(--bd2)}
.mod38 .card .foot {padding:14px 20px;background:var(--th);border-top:1px solid var(--bd2)}
.mod38 .card table {width:100%;border-collapse:collapse}
.mod38 .card table thead {background:var(--th)}
.mod38 .card table th {font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:var(--mu);font-weight:700;white-space:nowrap;padding:13px 14px}
.mod38 .card table td {padding:13px 14px;vertical-align:middle}
.mod38 .card table tbody tr {transition:background .14s}
.mod38 .card table tbody tr:hover {background:var(--sel)}
.mod38 .card > div:has(> table) {overflow-x:auto;max-width:100%}
.mod38 .card.pad {padding:clamp(18px,1.6vw,26px)}
.mod38 .kpis {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;border:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important}
.mod38 .kpis .kpi {background:var(--surf);border:1px solid var(--bd);border-radius:13px;padding:20px 22px;min-width:0;box-shadow:0 3px 14px rgba(19,48,82,.045)}
.mod38 .kpis .kpi::before {content:'';display:block;background:#2379d6;width:29px;height:4px;border-radius:5px;margin-bottom:12px}
.mod38 .kpis .kpi:nth-child(2)::before {background:#2fae83}
.mod38 .kpis .kpi:nth-child(3)::before {background:#e0a244}
.mod38 .kpis .kpi:nth-child(4)::before {background:#8c7bd5}
.mod38 .kpis .kpi b {font-size:clamp(20px,1.7vw,28px);line-height:1.15;overflow-wrap:anywhere}
.mod38-bancos > .row:has(> .card) {display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:15px;align-items:stretch!important}
.mod38-bancos > .row:has(> .card) > .card {min-width:0!important;display:flex;flex-direction:column;gap:7px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.mod38-bancos > .row:has(> .card) > .card:hover {transform:translateY(-2px);box-shadow:0 7px 20px rgba(19,48,82,.1)}
.mod38 .aviso {border-radius:11px;padding:16px 19px;line-height:1.55}
.mod38 .pill {white-space:nowrap}
.mod38 .cfilt {white-space:nowrap}
.mod38-clientes .bar {display:flex;flex-wrap:wrap;gap:6px}
.mod38-clientes .cols {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important}
.mod38 > .head form.row {flex:1 1 320px;justify-content:flex-end}
.mod38 > .head form.row input.fld {flex:1 1 210px;max-width:460px}
@media(max-width:1100px) {.mod38 .cols,.mod38-clientes .cols {grid-template-columns:1fr!important}.mod38 > .head{align-items:flex-start}.mod38 > .head .row{justify-content:flex-start}}
@media(max-width:650px) {.mod38{gap:13px}.mod38 > .head h1{font-size:25px}.mod38 > .head .row{width:100%}.mod38 > .head .row .btn{flex:1 1 auto}.mod38 > form.row{padding:13px;align-items:stretch!important}.mod38 > form.row .l{flex:1 1 100%}.mod38 .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mod38 .kpis .kpi{padding:14px}.mod38 .kpis .kpi b{font-size:20px}.mod38 .card table th,.mod38 .card table td{padding:11px 12px}}
