/* COBROPOS · Ajustes SOLO para celular (≤ 640px). En PC no se aplica nada de este archivo. */
@media screen and (max-width:640px){
 main{padding:0 var(--sp-3) 28px}
 /* barra superior compacta */
 .top{padding:var(--sp-3) 0;gap:var(--sp-2);flex-wrap:nowrap}
 .top .hm{min-width:44px;min-height:44px}
 .negocio-chip{padding:var(--sp-1) var(--sp-3);min-width:0;flex:1}
 .negocio-chip b{font-size:var(--text-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
 .negocio-chip small{font-size:var(--text-xs)}
 .negocio-chip{overflow:hidden}.negocio-chip>div{min-width:0}.top>.sp{display:none}   /* v1.7.11: el cuadro del negocio usa el ancho libre y el nombre largo se corta con «…» dentro del cuadro */
 .userbox{gap:0}.userbox>div:not(.avatar){display:none}
 /* encabezado de página: título arriba, botones en una fila ancha */
 .page-h{margin:0 0 var(--sp-3);gap:var(--sp-2)}.page-h h1{font-size:var(--text-xl)}.page-h p{font-size:var(--text-sm)}
 .page-h .sp{display:none}
 .page-h>.btn,.page-h>div:last-child .btn,.page-h .acc .btn{flex:1 1 0}
 /* botones: área táctil cómoda y alineada */
 .btn{min-height:44px;padding:var(--sp-3) var(--sp-4)}
 .btn.sm{min-height:40px;padding:var(--sp-2) var(--sp-3)}
 .btn.ico{width:44px;min-height:44px}
 select,input,textarea{min-height:44px;font-size:var(--text-l)}
 /* tarjetas de números: 2 por fila y más bajas */
 .stats{grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-bottom:var(--sp-3)}
 .card{padding:var(--sp-3)}
 .card.stat{padding:var(--sp-3) var(--sp-3)}
 .stat small{font-size:var(--text-s)}.stat b{font-size:var(--text-lg)}.stat .sub{font-size:var(--text-xs)}
 .stat .ic{width:34px;height:34px;font-size:var(--text-l)}
 /* tablas convertidas en tarjetas: rejilla de 2 columnas, etiqueta pequeña arriba del dato */
 table.rt tr{display:grid;grid-template-columns:1fr 1fr;gap:2px var(--sp-3);margin:0 0 var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-m)}
 table.rt td{display:block;padding:2px 0;font-size:var(--text-m);text-align:left!important;min-width:0;overflow-wrap:anywhere}
 table.rt td::before{display:block;font-size:var(--text-xs);color:var(--mut);margin-bottom:0}
 table.rt td{order:4}
 table.rt td[data-l="Código"],table.rt td[data-l="Préstamo"]{order:1;font-weight:700;font-size:var(--text-sm);color:var(--mut)}
 table.rt td[data-l="Estado"]{order:2;justify-self:end;text-align:right!important}
 table.rt td[data-l="Código"]::before,table.rt td[data-l="Préstamo"]::before,table.rt td[data-l="Estado"]::before,table.rt td[data-l="Nombre"]::before,table.rt td[data-l="Cliente"]::before{display:none}
 table.rt td[data-l="Nombre"],table.rt td[data-l="Cliente"]{order:3;grid-column:1/-1;font-size:var(--text-l);font-weight:700}
 table.rt td:last-child{order:9;grid-column:1/-1;display:flex;gap:var(--sp-2);justify-content:stretch;padding-top:var(--sp-2)}
 table.rt td:last-child::before{display:none}
 table.rt td:last-child .btn{flex:1 1 0}table.rt td:last-child .btn.ico{flex:none}
 table.rt td.num{text-align:left!important}
 /* filtros: dos por fila sin cortar textos */
 .card select{padding:var(--sp-2) var(--sp-3);font-size:var(--text-m);text-overflow:ellipsis}
 label{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--text-s)}
 /* Ruta de cobros */
 .rt-dias{gap:var(--sp-2);margin-bottom:var(--sp-2)}.rt-dias button{flex:1 0 54px;min-height:48px}
 .rt-f{padding:var(--sp-3)}
 .rt-f .btn{min-height:40px}
 .rt-res{grid-template-columns:1fr 1fr;gap:var(--sp-2) var(--sp-3)}.rt-big{font-size:var(--text-lg)}.rt-tot{font-size:var(--text-l)}
 .rt-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);align-items:stretch}.rt-bar .sp{display:none}
 .rt-bar .seg2{grid-column:1/-1;min-width:0;width:100%}.rt-bar .btn{width:100%;padding:var(--sp-2);font-size:var(--text-s);line-height:1.15;min-height:44px;text-align:center}
 .rt-fil{margin-bottom:var(--sp-2)}

 /* Ruta de cobros: tarjeta compacta; el monto va arriba a la derecha y los botones cubren todo el ancho */
 .rt-ul{gap:var(--sp-3)}
 .rt-f{grid-template-columns:30px minmax(0,1fr) auto;gap:2px var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-3);align-items:start}
 .rt-m{grid-column:3;grid-row:1;text-align:right}.rt-m b{font-size:var(--text-l);display:block}.rt-m small{font-size:var(--text-xs)}
 .rt-b b{font-size:var(--text-l)}
 .rt-b .badge{margin:2px 0 2px 0}
 .rt-a{grid-column:1/-1;display:flex;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:nowrap}
 .rt-a .btn{flex:1 1 0;min-width:0;padding:var(--sp-2) var(--sp-2);font-size:var(--text-m);line-height:1.15;text-align:center}
 .rt-a .btn:first-child{flex:.85 1 0}.rt-a .btn:nth-child(2){flex:1.35 1 0}.rt-a .btn{font-size:var(--text-sm)}
 .rt-a .btn.ico{flex:0 0 52px}
 /* Fichas de Clientes y Préstamos: cerradas = una línea compacta; al tocar se despliega todo */
 table.rt tr.cp-acc{position:relative;grid-template-columns:minmax(0,1fr) auto;padding:var(--sp-3) 38px var(--sp-3) var(--sp-3);gap:1px var(--sp-3);cursor:pointer;-webkit-tap-highlight-color:transparent}
 table.rt tr.cp-acc::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg);transition:transform .2s}
 table.rt tr.cp-acc.abierto::after{transform:rotate(-135deg);margin-top:-2px}
 table.rt tr.cp-acc:not(.abierto)>td{display:none}
 table.rt tr.cp-acc:not(.abierto)>td[data-l="Nombre"],table.rt tr.cp-acc:not(.abierto)>td[data-l="Cliente"]{display:block;order:1;grid-column:1;font-size:var(--text-md)}
 table.rt tr.cp-acc:not(.abierto)>td[data-l^="Saldo"]{display:block;order:2;grid-column:2;text-align:right!important;font-weight:700;font-size:var(--text-m)}
 table.rt tr.cp-acc:not(.abierto)>td[data-l="Código"],table.rt tr.cp-acc:not(.abierto)>td[data-l="Préstamo"]{display:block;order:3;grid-column:1;font-size:var(--text-s)}
 table.rt tr.cp-acc:not(.abierto)>td[data-l="Estado"]{display:block;order:4;grid-column:2;justify-self:end}
 table.rt tr.cp-acc:not(.abierto)>td[data-l^="Saldo"]::before{display:none}
 table.rt tr.cp-acc.abierto{box-shadow:0 0 0 1.5px var(--cy)}
 table.rt tr.cp-acc.abierto>td[data-l="Estado"]{margin-right:0}
 table.rt tr.cp-acc:not(.abierto){padding-top:var(--sp-2);padding-bottom:var(--sp-2)}
 table.rt tr.cp-acc:not(.abierto) .badge{font-size:var(--text-xs);padding:1px var(--sp-2);min-height:0;line-height:1.5}
 table.rt tr.cp-acc:not(.abierto)>td{padding:0}

 /* ---- Encabezados de página: título a todo el ancho y botones debajo, repartidos parejo ---- */
 .page-h{align-items:stretch}
 .page-h>div:first-child{flex:1 1 100%}
 .page-h>.btn,.page-h>button.btn,.page-h>a.btn{flex:1 1 150px}
 /* ---- Botones principales dentro de tarjetas: ancho completo ---- */
 .card>.btn:not(.sm):not(.ico):not(.sec):not(.dng),.card>form>.btn:not(.sm):not(.ico):not(.sec):not(.dng){width:100%}
 /* ---- Listas de datos (Licencia, fichas): etiqueta y dato en una sola línea ---- */
 .kv{grid-template-columns:minmax(96px,38%) 1fr;gap:var(--sp-2) var(--sp-3)}.kv dt,.kv dd{font-size:var(--text-m)}
 .kv dt{align-self:center}
 /* ---- Pestañas: una sola fila con desplazamiento, sin partirse ---- */
 .tabs{flex-wrap:nowrap;overflow-x:auto;gap:0;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-left:-2px}
 .tabs::-webkit-scrollbar{display:none}
 .tabs a,.tabs .tabb{white-space:nowrap;padding:var(--sp-3) var(--sp-3);min-height:44px;display:inline-flex;align-items:center}
 /* ---- Cuentas por cobrar ---- */
 .cr-res{grid-template-columns:1fr 1fr}
 .cr-res .card:last-child:nth-child(odd){grid-column:1/-1}
 .cr{grid-template-columns:62px minmax(0,1fr);gap:2px var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-2)}
 .cr-d b{font-size:var(--text-xl)}.cr-d b .i{width:22px;height:22px}.cr-d small{font-size:var(--text-xs);margin-top:2px}
 .cr-m b{font-size:var(--text-l)}
 /* ---- Configuración ---- */
 input[type=file]{min-height:0;padding:var(--sp-2);font-size:var(--text-m)}
 .chk{min-height:40px}
 /* ---- Ventanas emergentes: casi a pantalla completa, botones abajo siempre a la vista ---- */

 .ov{padding:var(--sp-2);align-items:end;place-items:end center}
 .modal,.modal.wide,.modal.sx{width:100%;max-height:94vh;max-height:94dvh;border-radius:var(--r-l) var(--r-l) var(--r-m) var(--r-m);padding:var(--sp-4) var(--sp-4) 0}
 .modal header{margin-bottom:2px}.modal header h2{font-size:var(--text-lg)}
 .modal .grid2{grid-template-columns:1fr 1fr;gap:0 var(--sp-3);align-items:end}
 .modal .grid2 input,.modal .grid2 select{font-size:var(--text-l);padding-left:var(--sp-3);padding-right:var(--sp-2)}
 .modal label{margin:var(--sp-2) 0 var(--sp-1)}
 .modal footer,.modal.wide footer{position:sticky;bottom:0;z-index:2;margin:var(--sp-3) calc(-1*var(--sp-4)) 0;padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line2);flex-wrap:nowrap;gap:var(--sp-2);justify-content:stretch}
 .modal footer .btn{flex:1 1 0;min-width:0}
}

@media(max-width:700px){.rt-bar .btn.pri{grid-column:1/-1}.rt-go{grid-template-columns:1fr}}

/* Modales en pantallas muy chicas (≤ 360 px): una columna para que cada campo tenga ancho útil (GUIA_DISENO: breakpoint 360). */
@media screen and (max-width:360px){
 .modal .grid2{grid-template-columns:1fr;gap:0}
}
