:root{--azul:#1b3a5c;--azul-claro:#2f6390;--gris-texto:#23303c;--gris-suave:#f4f6f8;--gris-borde:#dde3e9;--verde:#1f7a4d;--rojo:#b3261e;--ambar:#9a6700;--radio:10px;--sombra:0 1px 2px #1b3a5c14, 0 4px 12px #1b3a5c0f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--gris-suave);color:var(--gris-texto);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.55}.contenedor{max-width:960px;margin:0 auto;padding:0 20px 64px}.encabezado{background:var(--azul);color:#fff;padding:20px 0}.encabezado .contenedor{justify-content:space-between;align-items:center;gap:16px;padding-bottom:0;display:flex}.marca{letter-spacing:.02em;font-size:1.05rem;font-weight:600}.marca small{opacity:.75;font-size:.78rem;font-weight:400;display:block}.navegacion{flex-wrap:wrap;gap:18px;display:flex}.navegacion a{color:#fff;opacity:.85;font-size:.9rem;text-decoration:none}.navegacion a:hover{opacity:1;text-decoration:underline}select{border:1px solid var(--gris-borde);background:#fff;border-radius:8px;width:100%;padding:10px 12px;font-size:1rem}.navegacion .separador{opacity:.4}.boton.secundario{border:1px solid var(--azul);color:var(--azul);background:0 0}.boton.secundario:hover:not(:disabled){background:#143c7814}.aviso.exito{color:#14532d;background:#eaf7ee;border-left-color:#1f7a3d}h2{margin:0 0 6px;font-size:1.1rem}.tarjeta{border:1px solid var(--gris-borde);border-radius:var(--radio);box-shadow:var(--sombra);background:#fff;margin-top:28px;padding:28px}.tarjeta h1{margin:0 0 8px;font-size:1.5rem}.tarjeta h2{margin:0 0 16px;font-size:1.05rem}.ayuda{color:#5a6a78;margin:0 0 20px;font-size:.9rem}label{margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}input[type=email],input[type=text]{border:1px solid var(--gris-borde);border-radius:8px;width:100%;padding:11px 13px;font-size:1rem}input:focus{border-color:var(--azul-claro);outline:2px solid #2f63902e}.boton{background:var(--azul);color:#fff;cursor:pointer;border:0;border-radius:8px;margin-top:18px;padding:12px 20px;font-size:1rem;font-weight:600}.boton:hover:not(:disabled){background:var(--azul-claro)}.boton:disabled{cursor:progress;opacity:.65}.boton.secundario{color:#fff;background:0 0;border:1px solid #ffffff80;margin:0;padding:7px 14px;font-size:.85rem}.aviso{border-radius:8px;margin-top:18px;padding:12px 14px;font-size:.92rem}.aviso.informacion{background:#eef4fa;border:1px solid #cfe0f0}.aviso.error{color:var(--rojo);background:#fdecea;border:1px solid #f5c6c2}.aviso.exito{color:var(--verde);background:#eaf6ef;border:1px solid #c6e5d3}.totales{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px;display:grid}.total{background:var(--gris-suave);border:1px solid var(--gris-borde);border-radius:8px;padding:14px 16px}.total .etiqueta{color:#5a6a78;letter-spacing:.03em;text-transform:uppercase;font-size:.78rem}.total .valor{font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.25rem;font-weight:600}.unidad{border-top:1px solid var(--gris-borde);margin-top:28px;padding-top:20px}.unidad:first-of-type{border-top:0;margin-top:8px}.unidad .titulo{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.unidad .titulo strong{font-size:1.05rem}.unidad .meta{color:#5a6a78;font-size:.85rem}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:14px}th,td{border-bottom:1px solid var(--gris-borde);text-align:left;vertical-align:middle;padding:10px 8px}th{color:#5a6a78;letter-spacing:.03em;text-transform:uppercase;font-size:.78rem}td.numerico,th.numerico{text-align:right}.etiqueta-estado{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.etiqueta-estado.pagado{color:var(--verde);background:#eaf6ef}.etiqueta-estado.pendiente{color:var(--ambar);background:#fff5e0}.etiqueta-estado.vencido{color:var(--rojo);background:#fdecea}.enlace-boton{color:var(--azul-claro);cursor:pointer;background:0 0;border:0;padding:0;font-size:.9rem;text-decoration:underline}.pie{color:#7a8896;text-align:center;margin-top:40px;font-size:.82rem}.cargando{color:#5a6a78;padding:28px 0}
