:root{
  --navy:#032E7C;
  --red:#CD1433;
  --dark:#46494F;
  --muted:#6B7280;
  --bg:#F5F7FA;
  --white:#FFFFFF;
  --border:#D9E0E8;
  --green:#0E7A3E;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--dark)}
.topbar{height:84px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:12px 28px;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:20px}
.brand img{width:210px;height:56px;object-fit:contain;object-position:left center}
.product{font-size:12px;font-weight:900;color:var(--navy);letter-spacing:1.3px}
.subtitle{font-size:14px;color:var(--muted);margin-top:4px}
.refresh{border:1px solid var(--border);background:var(--white);color:var(--navy);border-radius:10px;padding:10px 16px;font-weight:800;cursor:pointer}
.tabs{display:flex;gap:5px;padding:12px 28px;background:var(--white);border-bottom:1px solid var(--border);overflow:auto;position:sticky;top:84px;z-index:19}
.tabs button{border:0;background:transparent;border-radius:8px;padding:9px 13px;color:var(--muted);font-weight:800;cursor:pointer;white-space:nowrap}
.tabs button.active{background:#EAF0FA;color:var(--navy)}
main{padding:28px;max-width:1500px;margin:auto}
.tab-panel{display:none}
.tab-panel.active{display:block}
.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}
h1{font-size:30px;margin:0 0 5px;color:var(--dark)}
.page-title p{margin:0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px}
.card .label{font-size:11px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}
.card .value{font-size:28px;font-weight:900;color:var(--navy);margin-top:8px}
.card .small{font-size:12px;color:var(--muted);margin-top:5px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.panel{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:18px}
.panel h2{font-size:17px;margin:0 0 13px}
.summary-list{display:grid;gap:10px}
.summary-row{display:flex;justify-content:space-between;border-bottom:1px solid #EEF1F4;padding-bottom:9px}
.summary-row:last-child{border-bottom:0;padding-bottom:0}
.summary-row span:first-child{color:var(--muted)}
.summary-row strong{color:var(--dark)}
.table-wrap{background:var(--white);border:1px solid var(--border);border-radius:16px;overflow:auto}
table{width:100%;border-collapse:collapse;min-width:900px}
th{background:#F0F4F9;color:var(--navy);font-size:11px;text-transform:uppercase;letter-spacing:.5px;text-align:left;padding:12px;border-bottom:1px solid var(--border)}
td{padding:12px;border-bottom:1px solid #EDF0F3;font-size:13px;vertical-align:middle}
tr:last-child td{border-bottom:0}
.muted{color:var(--muted)}
.money{font-weight:800;white-space:nowrap}
.code{font-family:Consolas,monospace;font-weight:700;color:var(--navy)}
.status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}
.status-pendiente{background:#FFF3D8;color:#8A5A00}
.status-en-análisis{background:#E7F0FF;color:#235DA9}
.status-aprobado{background:#E7F6ED;color:#0E7A3E}
.status-rechazado{background:#FDEBED;color:#A52837}
select{border:1px solid var(--border);border-radius:8px;padding:7px 8px;background:#fff;color:var(--dark)}
.save-btn{border:0;border-radius:8px;background:var(--navy);color:#fff;font-weight:800;padding:8px 10px;cursor:pointer}
.empty{padding:34px;text-align:center;color:var(--muted)}
.toast{position:fixed;right:24px;bottom:24px;background:var(--dark);color:#fff;border-radius:10px;padding:12px 16px;display:none;z-index:100}
.toast.show{display:block}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.brand img{width:170px}}
@media(max-width:620px){main{padding:16px}.topbar{padding:10px 16px}.tabs{padding:10px 16px}.cards{grid-template-columns:1fr}.brand div{display:none}.brand img{width:180px}}


/* v0.14 - Control de cobranza */
.status-vencida{background:#FDEBED;color:#A52837}
.status-pagada{background:#E7F6ED;color:#0E7A3E}
.status-finalizado{background:#E7F6ED;color:#0E7A3E}
.status-desembolsado{background:#E7F0FF;color:#235DA9}
.loan-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.disbursement-box{display:grid;gap:6px;margin-top:8px;min-width:170px}
.disbursement-box label{font-size:10px;text-transform:uppercase;font-weight:900;color:var(--muted)}
.disbursement-box input{border:1px solid var(--border);border-radius:8px;padding:7px;background:#fff}
.installments-container-row td{background:#F8FAFC;padding:12px 18px 18px}
.installments-box{border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px}
.installments-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--navy)}
.installments-title span{font-size:12px;color:var(--muted)}
.installments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.installment-card{border:1px solid var(--border);border-radius:10px;padding:12px;display:grid;gap:8px}
.installment-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.installment-card>div:not(.installment-top){display:flex;justify-content:space-between;gap:10px;font-size:12px}
.installment-card>div span{color:var(--muted)}
.installment-pay-btn{width:100%;margin-top:3px}
@media(max-width:900px){.installments-grid{grid-template-columns:1fr}}


/* v0.16 - Empresas y empleados */
.benefits-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;min-width:230px}
.benefit-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--dark);white-space:nowrap}
.benefit-check input{accent-color:var(--navy)}
.employee-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:230px}
.secondary-btn{border:1px solid var(--border);background:#fff;color:var(--navy);font-weight:800;border-radius:8px;padding:8px 10px;cursor:pointer}


/* v0.17 - Seguridad del Panel Central */
.hidden{display:none!important}
.auth-gate{min-height:100vh;background:#F5F7FA;display:flex;align-items:center;justify-content:center;padding:24px}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;padding:30px;box-shadow:0 12px 40px rgba(3,46,124,.08)}
.auth-logo{width:220px;height:64px;object-fit:contain;object-position:left center;margin-bottom:22px}
.auth-box h1{font-size:25px;margin:5px 0 7px;color:var(--dark)}
.auth-box p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 20px}
.auth-eyebrow{font-size:11px;font-weight:900;color:var(--navy);letter-spacing:1px}
.auth-box label{display:block;font-size:11px;font-weight:900;color:var(--dark);margin:13px 0 5px}
.auth-box input{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 13px;font-size:14px;outline:none}
.auth-box input:focus{border-color:var(--navy)}
.auth-primary{width:100%;border:0;border-radius:10px;background:var(--navy);color:#fff;padding:12px 16px;font-weight:900;cursor:pointer;margin-top:14px}
.auth-error{min-height:18px;color:var(--red);font-size:12px;margin-top:9px}
.top-actions{display:flex;align-items:center;gap:8px}
.logout-admin{border:1px solid var(--border);background:#fff;color:var(--red);border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}


/* v0.19.1 - Prueba de email discreta */
.email-test-mini{
  border:1px solid var(--border);
  background:#fff;
  color:var(--muted);
  border-radius:8px;
  padding:7px 9px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.email-test-mini:hover{
  color:var(--navy);
  border-color:#BFC9D7;
}
