:root{--papel: #fbfaf8;--tarjeta: #ffffff;--tinta: #1a1917;--tinta-suave: #5c574f;--borde: #e2ddd4;--verde: #12683c;--ambar: #8a5a00;--rojo: #b3241a;--azul: #1f5fa8;--verde-fondo: #e8f4ec;--ambar-fondo: #fdf2dc;--rojo-fondo: #fceceb;--radio: 14px;--sombra: 0 1px 2px rgb(26 25 23 / 8%), 0 4px 12px rgb(26 25 23 / 5%)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--papel);color:var(--tinta);font:19px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.monto{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.app{max-width:560px;margin:0 auto;padding:20px 16px 120px}h1{font-size:28px;margin:8px 0 4px;letter-spacing:-.01em}h2{font-size:22px;margin:0}.apagado{color:var(--tinta-suave)}.casa{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);margin:20px 0;overflow:hidden}.casa>header{padding:18px 20px 14px;border-bottom:1px solid var(--borde)}.casa .resumen{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:18px}.pastilla{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;font-size:17px;font-weight:600}.pastilla:before{content:"";width:11px;height:11px;border-radius:50%;background:currentColor;flex:none}.pastilla.pagado{color:var(--verde);background:var(--verde-fondo)}.pastilla.parcial{color:var(--ambar);background:var(--ambar-fondo)}.pastilla.debe{color:var(--rojo);background:var(--rojo-fondo)}.pastilla.espera{color:var(--tinta-suave);background:#f2efe9}.unidad{display:flex;align-items:center;gap:14px;width:100%;min-height:76px;padding:14px 20px;border:0;border-top:1px solid var(--borde);background:var(--tarjeta);color:inherit;font:inherit;text-align:left;cursor:pointer}.casa .unidad:first-of-type{border-top:0}.unidad:active{background:#f4f1ec}.unidad .marca{width:14px;height:44px;border-radius:7px;flex:none}.marca.pagado{background:var(--verde)}.marca.parcial{background:var(--ambar)}.marca.debe{background:var(--rojo)}.marca.espera{background:var(--borde)}.quien{flex:1;min-width:0}.quien strong{display:block;font-size:20px;line-height:1.3}.quien span{display:block;font-size:17px;color:var(--tinta-suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unidad .plata{text-align:right;flex:none}.unidad .plata .monto{font-size:20px}.unidad .plata small{display:block;font-size:16px;color:var(--tinta-suave)}.boton{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;padding:0 20px;border:0;border-radius:var(--radio);background:var(--azul);color:#fff;font:600 20px/1.2 inherit;cursor:pointer}.boton:active{filter:brightness(.92)}.boton.segundo{background:var(--tarjeta);color:var(--azul);border:2px solid var(--azul)}.boton:disabled{opacity:.55;cursor:default}.acciones{position:fixed;left:0;right:0;bottom:0;display:flex;gap:12px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--papel) 72%,transparent)}.acciones>*{flex:1;max-width:272px;margin:0 auto}label{display:block;font-weight:600;margin:18px 0 6px}input{width:100%;min-height:60px;padding:0 16px;border:2px solid var(--borde);border-radius:var(--radio);background:var(--tarjeta);color:inherit;font:20px/1.2 inherit}input:focus-visible,.boton:focus-visible,.unidad:focus-visible{outline:3px solid var(--azul);outline-offset:2px}.aviso{padding:14px 16px;border-radius:var(--radio);background:var(--rojo-fondo);color:var(--rojo);font-weight:600;margin:16px 0}.centrado{max-width:400px;margin:0 auto;padding:40px 20px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.camino{font-size:18px;font-weight:600;color:var(--azul)}.opciones{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.opcion{min-height:68px;padding:10px 12px;border:2px solid var(--borde);border-radius:var(--radio);background:var(--tarjeta);color:inherit;font:600 18px/1.25 inherit;cursor:pointer}.opcion:active{background:#f4f1ec}.opcion:focus-visible{outline:3px solid var(--azul);outline-offset:2px}.quien-soy{display:inline-block;margin:0 0 4px;padding:6px 14px;border-radius:999px;background:#eef3fa;border:1px solid #cfdcee;color:var(--azul);font-size:17px;font-weight:700}.salir{border:0;background:none;color:var(--tinta-suave);font:600 18px inherit;min-height:56px;padding:0 16px;text-decoration:underline;cursor:pointer}.salir:focus-visible{outline:3px solid var(--azul);outline-offset:2px;border-radius:var(--radio)}.dias{display:flex;gap:10px;margin-bottom:10px}.dia{flex:1;min-height:56px;border:2px solid var(--borde);border-radius:var(--radio);background:var(--tarjeta);color:inherit;font:600 18px inherit;cursor:pointer}.dia[aria-pressed=true]{border-color:var(--azul);background:#eef3fa;color:var(--azul)}.dia:focus-visible{outline:3px solid var(--azul);outline-offset:2px}.fecha-clara{margin:8px 0 0;font-size:18px;font-weight:600;color:var(--tinta)}.fecha-partes{display:flex;gap:10px;margin-top:4px}.parte{flex:1;margin:0}.parte span{display:block;font-size:17px;font-weight:600;color:var(--tinta-suave);margin-bottom:4px}.parte select{width:100%;min-height:56px;padding:0 10px;border:2px solid var(--borde);border-radius:var(--radio);background:var(--tarjeta);color:inherit;font:19px/1.2 inherit}.parte select:focus-visible{outline:3px solid var(--azul);outline-offset:2px}.fecha-partes .parte:nth-child(2){flex:1.6}.veredicto{margin:10px 0 0;font-size:20px;font-weight:700}.veredicto.bueno{color:var(--verde)}.veredicto.malo{color:var(--rojo)}.tabla-scroll{overflow-x:auto}.meses{width:100%;border-collapse:collapse;font-size:18px}.meses th,.meses td{padding:12px 10px;text-align:right;white-space:nowrap}.meses thead th{font-size:16px;color:var(--tinta-suave);border-bottom:1px solid var(--borde)}.meses tbody th,.meses tfoot th{text-align:left;font-weight:600}.meses tbody th small{display:block;font-size:15px;font-weight:400;color:var(--tinta-suave)}.meses tbody th small.reserva{color:var(--azul)}.meses tbody tr+tr th,.meses tbody tr+tr td{border-top:1px solid var(--borde)}.meses tfoot th,.meses tfoot td{border-top:2px solid var(--borde);font-weight:700}.neto-bueno{color:var(--verde)}.neto-malo{color:var(--rojo)}.meses thead th:first-child,.meses tbody th,.meses tfoot th{text-align:left}.ficha{margin:24px 0 0}.ficha>div{padding:16px 0;border-top:1px solid var(--borde)}.ficha dt{font-size:17px;color:var(--tinta-suave);font-weight:600}.ficha dd{margin:2px 0 12px;font-size:22px;font-weight:600}.efecto{margin:20px 0 0;padding:16px 18px;border-radius:var(--radio);background:var(--ambar-fondo);border:1px solid #e6d3a8;color:var(--ambar);font-size:19px;font-weight:600}.efecto p{margin:0}label.boton{margin:0;cursor:pointer}label.boton.ocupado{opacity:.55;cursor:default}label.boton:focus-within{outline:3px solid var(--azul);outline-offset:2px}.gasto{background:var(--tarjeta);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra);margin:14px 0;padding:16px 18px}.gasto-fila{display:flex;align-items:center;gap:14px}.gasto-acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.gasto-acciones .boton{width:auto;flex:1;min-width:150px}.gasto-acciones>p{flex-basis:100%}.ver-gastos{border:0;background:none;color:var(--azul);font:inherit;font-weight:600;font-variant-numeric:tabular-nums;text-decoration:underline;min-height:44px;padding:0 4px;cursor:pointer}.ver-gastos:focus-visible{outline:3px solid var(--azul);outline-offset:2px}.linea{list-style:none;margin:12px 0 0;padding:0 0 0 22px;border-left:3px solid var(--borde)}.linea li{position:relative;padding:0 0 22px 4px}.linea li:before{content:"";position:absolute;left:-30px;top:6px;width:13px;height:13px;border-radius:50%;background:var(--borde);border:3px solid var(--papel)}.linea strong{display:block;font-size:20px}.linea .monto{font-size:19px;color:var(--tinta-suave)}.linea small{display:block;font-size:17px;color:var(--tinta-suave);margin-top:2px}.aviso-vencen{display:block;width:100%;text-align:left;margin:16px 0 0;padding:16px 18px;border:2px solid #e6d3a8;border-radius:var(--radio);background:var(--ambar-fondo);color:var(--ambar);font:inherit;cursor:pointer}.aviso-vencen strong{display:block;font-size:20px}.aviso-vencen span{display:block;font-size:17px;margin-top:3px;font-weight:600}.aviso-vencen:focus-visible{outline:3px solid var(--azul);outline-offset:2px}
