:root{--texto:#1a1a1a;--texto-suave:#5a5a5a;--fondo:#fff;--borde:#d8d8d8;--error:#b3261e;--acento:#1f5f4b;color:var(--texto);background:var(--fondo);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}.pantalla{max-width:34rem;margin:0 auto;padding:2rem 1.25rem 4rem}h1{margin:0 0 .5rem;font-size:1.5rem}p{margin:0 0 1rem}form{flex-direction:column;gap:.75rem;max-width:16rem;display:flex}input{border:1px solid var(--borde);letter-spacing:.3em;text-align:center;border-radius:6px;padding:.75rem;font-size:1.25rem}button{background:var(--acento);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:.75rem 1rem;font-size:1rem}button:disabled{background:var(--borde);cursor:not-allowed}.error{color:var(--error)}.lista-viajes{margin:0;padding:0;list-style:none}.lista-viajes li{border-bottom:1px solid var(--borde);padding:.875rem 0}.meta{color:var(--texto-suave);font-size:.875rem;display:block}h2{margin:2rem 0 .75rem;font-size:1.15rem}h3{margin:0;font-size:1rem}a{color:var(--acento)}.formulario{border:1px solid var(--borde);border-radius:8px;flex-direction:column;gap:1rem;max-width:100%;margin:1.25rem 0;padding:1rem;display:flex}.formulario label{color:var(--texto-suave);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.formulario input,.formulario select{letter-spacing:normal;text-align:left;border:1px solid var(--borde);color:var(--texto);background:var(--fondo);border-radius:6px;padding:.65rem;font-size:1rem}.formulario small{color:var(--texto-suave);font-size:.8rem}.opcional{opacity:.7;font-weight:400}.acciones{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.acciones a{text-decoration:none}button.secundario{color:var(--acento);border:1px solid var(--acento);background:0 0}.categoria{border-bottom:1px solid var(--borde);padding:1rem 0}.categoria__cabecera{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.filas{margin:.75rem 0 0;padding:0;list-style:none}.filas li{border-top:1px solid var(--borde);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.filas__nombre{flex:8rem}.filas__monto{font-variant-numeric:tabular-nums;color:var(--texto-suave);font-size:.9rem}.insignia{white-space:nowrap;border:1px solid;border-radius:999px;padding:.15rem .5rem;font-size:.78rem}.insignia--al_dia{color:#14532d;background:#dcfce7;border-color:#86efac}.insignia--parcial{color:#713f12;background:#fef9c3;border-color:#fde047}.insignia--pendiente{color:#374151;background:#f3f4f6;border-color:#d1d5db}.insignia--vencido{color:#7f1d1d;background:#fee2e2;border-color:#fca5a5}.aviso{border:2px solid var(--acento);background:#f0f7f4;border-radius:8px;margin:1.25rem 0;padding:1rem}.aviso h2{margin-top:0}.aviso--suave{border:1px solid var(--borde);background:#f9fafb;border-radius:8px}.link{background:var(--fondo);border:1px solid var(--borde);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:6px;margin:.75rem 0;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;display:block}button.pequeno{padding:.35rem .6rem;font-size:.8rem}.confirmacion{background:#fef2f2;border-radius:6px;flex-wrap:wrap;flex:100%;align-items:center;gap:.5rem;padding:.6rem;display:flex}.filas .meta{display:block}.formulario--linea{flex:100%;margin:0}.acciones-fila{gap:.4rem;display:flex}.cuotas{border:1px solid var(--borde);border-radius:6px;margin:0;padding:.75rem}.cuotas legend{color:var(--texto-suave);padding:0 .35rem;font-size:.9rem}.cuotas__fila{justify-content:space-between;align-items:center;gap:.75rem;padding:.35rem 0;flex-direction:row!important}.cuotas__fila input{text-align:right;max-width:9rem}button.peligro{background:var(--error);color:#fff}button.peligro:disabled{background:var(--borde);color:var(--texto-suave)}.zona-peligro{border:2px solid var(--error);background:#fef2f2;border-radius:8px;margin:2.5rem 0 1rem;padding:1rem}.zona-peligro h2{color:var(--error);margin-top:0}.navegacion{border-bottom:1px solid var(--borde);flex-wrap:wrap;gap:1rem;margin:1rem 0 1.5rem;padding-bottom:.75rem;display:flex}.par{gap:.5rem;display:flex}.par input[type=number]{flex:auto;min-width:0}.par input[type=text]{text-transform:uppercase;text-align:center;flex:0 0 5rem}.peso{flex-direction:column;gap:.15rem;display:flex}.peso input{border:1px solid var(--borde);text-align:center;letter-spacing:normal;border-radius:6px;width:5rem;padding:.35rem;font-size:.95rem}
