:root{--fondo:#f7f6f1;--panel:#fff;--texto:#1c1c1a;--suave:#6b6558;--borde:#ddd7c9;--primario:#0b5c33;--primario-claro:#e3efe7;--menu:#1c1c1a;--menu-texto:#e5e0d2;--menu-suave:#b4a98c;--menu-borde:#37352e;--menu-hover:#2a2823;--dorado:#c9a233;--dorado-claro:#faf1dc;--error:#b42318;--aviso:#fdf1d6;color:var(--texto);font-family:system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--fondo);margin:0}a{color:var(--primario)}h1{margin:0 0 .25rem;font-size:1.6rem}h2{margin:0 0 .75rem;font-size:1.05rem}.layout{min-height:100vh}.principal{min-width:0}.app-barra{z-index:10;background:var(--menu);color:#fff;align-items:center;gap:.5rem;min-height:56px;padding:.25rem .75rem;display:flex;position:sticky;top:0}.app-titulo{font-size:1.15rem;font-weight:600}.boton-icono{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:inline-grid}.boton-icono:hover{background:#ffffff1a}.contenido{width:100%;max-width:1200px;padding:1.5rem 2rem}.cajon{z-index:30;background:var(--menu);color:#fff;flex-direction:column;width:min(300px,85vw);transition:transform .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.cajon.abierto{transform:none;box-shadow:0 0 24px #0000004d}.cajon-fondo{z-index:20;background:#00000073;position:fixed;inset:0}.cajon-cabecera{border-bottom:1px solid var(--menu-borde);justify-content:space-between;align-items:center;gap:.5rem;padding:1rem .75rem 1rem 1.25rem;display:flex}.cajon-cabecera strong{display:block}.cajon-cabecera small{color:var(--menu-suave)}.cajon nav{flex-direction:column;padding:.5rem 0;display:flex}.cajon nav a,.cajon-salir{min-height:48px;color:var(--menu-texto);align-items:center;gap:.9rem;padding:.6rem 1.25rem;text-decoration:none;display:flex}.cajon nav a:hover,.cajon-salir:hover{background:var(--menu-hover)}.cajon nav a.active{background:var(--primario);color:#fff}.cajon-grupo{text-transform:uppercase;letter-spacing:.05em;color:var(--menu-suave);padding:1rem 1.25rem .35rem;font-size:.75rem}.cajon-salir{border:0;border-top:1px solid var(--menu-borde);width:100%;font:inherit;text-align:left;background:0 0;border-radius:0;margin-top:.5rem}@media (prefers-reduced-motion:reduce){.cajon{transition:none}}@media (width>=1024px){.layout{grid-template-columns:260px 1fr;display:grid}.cajon{width:auto;height:100vh;position:sticky;top:0;transform:none}.cajon.abierto{box-shadow:none}}.encabezado{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.sub{color:var(--suave);margin:0}.panel{background:var(--panel);border:1px solid var(--borde);border-radius:10px;margin-bottom:1rem;padding:1.1rem 1.25rem}fieldset.panel legend{padding:0 .4rem;font-weight:600}.tarjetas{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.tarjeta{background:var(--panel);border:1px solid var(--borde);border-radius:10px;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;display:flex}.tarjeta span{color:var(--suave);font-size:.85rem}.tarjeta strong{font-size:2rem}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--borde);border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--borde);padding:.6rem .8rem;font-size:.92rem}th{background:#f2efe5;font-weight:600}.num{text-align:right}tr.inactivo td{color:var(--suave)}.etiqueta{background:var(--primario-claro);border-radius:999px;padding:.1rem .5rem;font-size:.8rem}.etiqueta.diario{background:var(--dorado-claro)}.filtros{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.filtros input{flex:240px}input,select,button,.boton{font:inherit;border:1px solid var(--borde);background:#fff;border-radius:8px;padding:.5rem .7rem}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--primario);outline-offset:1px}button,.boton{cursor:pointer;color:var(--texto);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}.boton,button.primario{background:var(--primario);border-color:var(--primario);color:#fff}.paginacion{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.paginacion span{color:var(--suave);margin-right:auto;font-size:.9rem}.rejilla{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem 1.1rem;margin:0;display:grid}.campo{flex-direction:column;gap:.25rem;display:flex}.campo.completo{grid-column:1/-1}.campo label,dt{color:var(--suave);font-size:.82rem;font-weight:600}.campo small{color:var(--suave);font-size:.78rem}dd{margin:.15rem 0 0}.error,small.error{color:var(--error)}.aviso{background:var(--aviso);border:1px solid var(--dorado);border-radius:10px;margin-bottom:1rem;padding:.9rem 1.1rem}.vacio{color:var(--suave)}.acciones{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.boton{align-items:center;gap:.4rem;display:inline-flex}.solo-movil{display:none}.bienvenida{margin-bottom:1.25rem}.accesos{grid-template-columns:repeat(2,1fr);gap:1rem;max-width:640px;display:grid}.acceso{text-align:center;min-height:132px;color:var(--texto);background:var(--panel);border:1px solid var(--borde);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1rem;font-weight:600;text-decoration:none;display:flex}.acceso svg{color:var(--primario)}.acceso:hover{border-color:var(--primario)}.acceso:active{transform:scale(.98)}.ficha{gap:.9rem;margin:0;display:grid}.ficha dd{overflow-wrap:anywhere;font-size:1.02rem}.lista{margin:0;padding:0;list-style:none}.lista li{border-bottom:1px solid var(--borde);flex-direction:column;gap:.15rem;padding:.7rem 0;display:flex}.lista li:last-child{border-bottom:0}.pendiente{text-align:center;color:var(--suave);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1.25rem;display:flex}.pendiente h2{color:var(--texto);margin:0}.sincronizacion{flex-direction:column;gap:1rem;display:flex}.boton-grande{letter-spacing:.03em;justify-content:center;align-items:center;gap:.6rem;width:100%;max-width:420px;min-height:56px;font-size:1.05rem;font-weight:700;display:inline-flex}.pasos{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.paso{color:var(--suave)}.paso span{width:1.4rem;font-weight:700;display:inline-block}.paso-en-curso{color:var(--texto)}.paso-ok span{color:var(--primario)}.paso-ok{color:var(--texto)}.paso-error,.paso-error span{color:var(--error)}.resumen-sinc{margin:0 0 .75rem;padding-left:1.2rem}.resultado h3{margin:1rem 0 .25rem;font-size:1rem}.credito h3{margin:0 0 .5rem;font-size:1rem}.proximo-cobro{margin:0 0 .75rem}.resumen-credito{margin-bottom:.75rem}.calendario-pagos,.historial{margin:.75rem 0}.calendario-pagos summary,.historial summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}table.calendario{margin-top:.5rem;display:table}table.calendario th,table.calendario td{padding:.45rem .6rem}.estado-cuota{font-size:.85rem}.estado-atrasada{color:var(--error);font-weight:600}.estado-pagada,.estado-cancelada{color:var(--suave)}.vista-previa,.registrar-pago,.recibo{border:1px solid var(--primario);border-radius:10px;margin:1rem 0;padding:1rem}.registrar-pago h3,.recibo h3{margin:0 0 .75rem;font-size:1.05rem}.selector-cuotas{flex-direction:column;gap:.4rem;margin-bottom:.75rem;display:flex}.selector-cuotas>span{color:var(--suave);font-size:.82rem;font-weight:600}.stepper{align-items:center;gap:1rem;display:flex}.stepper button{width:52px;height:52px;padding:0;font-size:1.5rem}.stepper strong{text-align:center;min-width:2.5rem;font-size:1.5rem}.desglose{gap:.35rem;margin:0 0 .75rem;display:grid}.desglose>div{justify-content:space-between;gap:1rem;display:flex}.desglose dt{color:var(--texto);font-size:.92rem;font-weight:400}.desglose dd{text-align:right;white-space:nowrap;margin:0}.resumen-credito-inicial{margin-top:1rem}.desglose .total{border-top:1px solid var(--borde);padding-top:.5rem;font-size:1.1rem;font-weight:700}.desglose .total dt{font-weight:700}.casilla{align-items:flex-start;gap:.6rem;margin:.5rem 0 .75rem;display:flex}.casilla input{flex:none;margin-top:.2rem}.recibo-importe{margin:0;font-size:2rem;font-weight:700}.lista li.anulado strong{color:var(--suave);text-decoration:line-through}.lista li button{align-self:flex-start;margin-top:.3rem}.boton-icono-claro{place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.boton-icono-claro[aria-pressed=true]{border-color:var(--primario);color:var(--primario)}.fila-entre{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.solo-lectores{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.agenda-semana-nav{text-align:center;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.agenda-dias{grid-template-columns:repeat(7,1fr);gap:.3rem;margin-bottom:.9rem;display:grid}.agenda-dia{flex-direction:column;align-items:center;gap:.1rem;min-height:68px;padding:.45rem 0;display:flex}.agenda-dia span{color:var(--suave);font-size:.75rem}.agenda-dia strong{font-size:1.1rem}.agenda-dia small{color:var(--primario);font-size:.8rem;font-weight:700}.agenda-dia.hoy{border-color:var(--primario)}.agenda-dia.seleccionado{background:var(--primario);border-color:var(--primario);color:#fff}.agenda-dia.seleccionado span,.agenda-dia.seleccionado small{color:#fff}.agenda-lista .tarjeta-cliente{gap:.35rem}.cartera-encabezado{align-items:flex-end}.orden{color:var(--suave);align-items:center;gap:.5rem;font-size:.9rem;display:flex}table.tabla-riesgo{display:table}.tabla-riesgo td,.tabla-riesgo th{vertical-align:middle}.tabla-riesgo tr.abierta td{background:#f2efe5}.tabla-riesgo .flecha svg{transition:transform .15s}.tabla-riesgo .flecha[aria-expanded=true] svg{transform:rotate(180deg)}.detalle-riesgo>td{background:#faf9f4}.detalle{flex-direction:column;gap:.75rem;padding:.25rem 0;display:flex}.abonos{margin:0;padding-left:1.1rem}@media (width<=760px){.tabla-riesgo th,.tabla-riesgo td{padding:.5rem .35rem;font-size:.85rem}.tabla-riesgo .boton-icono-claro{width:40px;height:40px;min-height:40px}}.corte h2{margin-bottom:.9rem}.corte h3{margin:1rem 0 .5rem;font-size:1rem}.esperado{margin:1rem 0 .75rem;font-size:1.1rem}.corte .campo{max-width:420px;margin-bottom:.75rem}textarea{font:inherit;border:1px solid var(--borde);border-radius:8px;width:100%;padding:.5rem .7rem}.historial-cortes{margin-top:1.5rem}.corte-tarjeta .desglose{margin:.25rem 0}.estado-corte{font-size:.85rem;font-weight:600}.estado-enviado{color:var(--primario)}.estado-confirmado{color:var(--suave)}.estado-devuelto{color:var(--error)}@media (width<=760px){textarea{font-size:16px}}.insignia{background:var(--error);color:#fff;text-align:center;border-radius:999px;min-width:1.5rem;margin-left:auto;padding:0 .4rem;font-size:.8rem;font-weight:700;line-height:1.5rem}.con-punto{position:relative}.con-punto .punto{background:var(--error);border:2px solid var(--menu);border-radius:50%;width:10px;height:10px;position:absolute;top:9px;right:8px}.avisos .tarjeta-cliente{border-left-width:4px}.aviso-alta{border-left-color:var(--error)}.aviso-normal{border-left-color:var(--primario)}.aviso-cabecera{align-items:center;gap:.6rem;display:flex}.aviso-alta .aviso-cabecera svg{color:var(--error)}.aviso-normal .aviso-cabecera svg{color:var(--primario)}.avisos .boton{align-self:flex-start}.cambio-contrasena{flex-direction:column;gap:.75rem;max-width:460px;display:flex}.cambio-contrasena h2,.cambio-contrasena h3{margin:0}.cambio-contrasena button{align-self:flex-start}.exito{margin:0;font-weight:600}.datos-laborales{flex-direction:column;gap:1.25rem;padding:1rem 0;display:flex}.datos-laborales .cambio-contrasena{border-top:1px solid var(--borde);padding-top:1rem}.modal-fondo{z-index:40;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border-radius:12px;flex-direction:column;gap:.75rem;width:min(480px,100%);max-height:90vh;padding:1.25rem;display:flex;overflow-y:auto;box-shadow:0 10px 30px #00000040}.modal h2{margin:0}.modal form{flex-direction:column;gap:.75rem;display:flex}.modal ul{margin:0;padding-left:1.2rem}.aviso-peligro{border-color:var(--error);background:#fdecea;margin:0}.boton-peligro{background:var(--error);border-color:var(--error);color:#fff}.boton-peligro-borde{color:var(--error);border-color:var(--error)}.tarjetas-lista{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.tarjeta-cliente{background:var(--panel);border:1px solid var(--borde);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.tarjeta-cliente-titulo{font-size:1.05rem;font-weight:600}@media (width<=760px){.contenido{padding:1rem}table{display:block;overflow-x:auto}.solo-movil{display:flex}input,select,button,.boton{min-height:44px;font-size:16px}input[type=checkbox]{width:22px;height:22px;min-height:0}.encabezado,.paginacion{flex-wrap:wrap}table.apilable{background:0 0;border:0;display:block;overflow:visible}table.apilable thead{display:none}table.apilable tbody{gap:.75rem;display:grid}table.apilable tr{background:var(--panel);border:1px solid var(--borde);border-radius:10px;flex-direction:column;padding:.75rem 1rem;display:flex;position:relative}table.apilable td{text-align:right;border:0;justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}table.apilable td:before{content:attr(data-label);color:var(--suave);text-align:left;font-weight:600}table.apilable td.celda-titulo{text-align:left;order:-1;padding-right:2.5rem;font-size:1.05rem;font-weight:600;display:block}table.apilable td.celda-titulo:before{content:none}table.apilable td.celda-check{padding:0;position:absolute;top:.6rem;right:.8rem}table.apilable td.celda-check:before{content:none}.seleccionar-todos{align-items:center;gap:.6rem;margin-bottom:.6rem}}.splash{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100vh;padding:1.5rem;display:flex}.splash-gif{width:min(320px,70vw);height:auto}.splash-logo{width:min(280px,68vw);height:auto}.login{place-items:center;min-height:100vh;padding:1rem;display:grid}.login form{flex-direction:column;gap:.9rem;width:min(380px,100%);display:flex}.mapa{border:1px solid var(--borde);background:#eeebdf;border-radius:8px;width:100%}.ubicacion .campo input{width:100%}
