:root{--primary:#2563eb;--on-primary:#fff;--secondary:#f59e0b;--on-secondary:#111827;--accent:#1d4ed8;--bg:#f4f5f8;--surface:#fff;--text:#111827;--muted:#5b6472;--borde:#e3e6ec;--ok:#0f7b4b;--error:#b42318;--radio:18px;--sombra:0 1px 2px #1018280f, 0 4px 16px #1018280f;--nav-alto:64px;color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*,:before,:after{box-sizing:border-box}body{background:var(--bg);-webkit-tap-highlight-color:transparent;min-height:100dvh;margin:0;line-height:1.5}h1,h2,p{margin:0}h1{letter-spacing:-.01em;font-size:1.5rem;line-height:1.2}h2{font-size:1.1rem;line-height:1.3}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.btn{border:2px solid var(--primary);background:var(--primary);min-height:46px;color:var(--on-primary);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-weight:650;text-decoration:none;transition:transform 80ms,filter .15s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.6;cursor:default}.btn-grande{width:100%;min-height:52px;font-size:1.05rem}.btn-pequeno{min-height:36px;padding:0 16px;font-size:.9rem}.btn-secundario{color:var(--accent);border-color:var(--accent);background:0 0}.btn-texto{color:var(--accent);background:0 0;border-color:#0000;font-weight:600}.btn-icono{width:44px;height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;font-size:1.5rem;display:inline-grid}.btn-icono:disabled{opacity:.6}.app{min-height:100dvh;padding-bottom:calc(var(--nav-alto) + env(safe-area-inset-bottom))}.encabezado{z-index:10;padding:10px 12px 10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--primary);color:var(--on-primary);align-items:center;gap:12px;display:flex;position:sticky;top:0}.encabezado .btn-icono{margin-left:-10px}.encabezado-nombre{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:1.1rem;font-weight:700;overflow:hidden}.encabezado-acciones{display:flex}.logo{object-fit:cover;background:color-mix(in srgb, var(--on-primary) 16%, transparent);border-radius:12px;flex:none}.logo-inicial{color:var(--on-primary);place-items:center;font-weight:800;display:inline-grid}.logo-marca{border-radius:20px}.contenido{flex-direction:column;gap:16px;width:min(100%,640px);margin:0 auto;padding:16px 16px 24px;display:flex}.titulo-seccion{font-size:1.35rem}.banda-offline,.banda-actualizacion{text-align:center;padding:8px 16px;font-size:.9rem}.banda-offline{color:#6b4400;background:#fef3c7}.banda-actualizacion{left:12px;right:12px;bottom:calc(var(--nav-alto) + 12px + env(safe-area-inset-bottom));z-index:30;color:#fff;max-width:616px;box-shadow:var(--sombra);text-align:left;background:#111827;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex;position:fixed}.banda-actualizacion .btn{color:#111827;background:#fff;border-color:#fff}.nav-inferior{z-index:20;height:calc(var(--nav-alto) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--borde);display:flex;position:fixed;inset:auto 0 0}.nav-inferior a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.78rem;font-weight:600;text-decoration:none;display:flex}.nav-inferior a.activo{color:var(--accent)}.card{background:var(--surface);border-radius:var(--radio);box-shadow:var(--sombra);flex-direction:column;gap:12px;padding:18px;display:flex}.lista{flex-direction:column;gap:16px;display:flex}.promo{padding:0;overflow:hidden}.promo-enlace{color:inherit;flex-direction:column;text-decoration:none;display:flex}.promo-img{aspect-ratio:8/5;background:#e9ebf0;position:relative;overflow:hidden}.promo-img img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s;display:block}.promo-img img.cargada{opacity:1}.promo-cuerpo{flex-direction:column;gap:8px;padding:16px 18px 18px;display:flex}.promo-cuerpo h1,.promo-cuerpo h2{font-size:1.2rem}.promo-texto{color:#374151;white-space:pre-line;overflow-wrap:anywhere}.recortado{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.promo-acciones{padding:0 18px 18px}.promo-acciones .btn{width:100%}.etiqueta{background:color-mix(in srgb, var(--secondary) 22%, white);color:#3b2f00;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.78rem;font-weight:650}.esqueleto{background:linear-gradient(90deg,#e9ebf0 25%,#f3f4f7 45%,#e9ebf0 65%) 0 0/200% 100%;animation:1.4s ease-in-out infinite brillo}.linea{border-radius:7px;height:14px}@keyframes brillo{0%{background-position:100% 0}to{background-position:-100% 0}}.centro,.pantalla-simple{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.centro{justify-content:center;min-height:60dvh}.pantalla-simple{width:min(100%,520px);margin:0 auto;padding:18vh 24px 24px}.spinner{border:4px solid #d9dde5;border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite giro}.girando{animation:.8s linear infinite giro;display:inline-flex}@keyframes giro{to{transform:rotate(360deg)}}.vacio{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 12px;display:flex}.vacio-emoji{font-size:3rem}.aviso{border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:.95rem;display:flex}.aviso-ok{color:#0b5d39;background:#e6f6ee}.aviso-error{color:var(--error);background:#fdecea;flex-direction:column;align-items:flex-start}.aviso-ok .btn-icono{width:32px;height:32px;color:inherit}.pull{text-align:center;color:var(--muted);font-size:.9rem}.mas{justify-content:center;display:flex}.bienvenida{background:var(--primary);flex-direction:column;min-height:100dvh;display:flex}.bienvenida-hero{padding:calc(36px + env(safe-area-inset-top)) 24px 56px;color:var(--on-primary);text-align:center;background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--on-primary) 14%, transparent), transparent 70%);flex-direction:column;align-items:center;gap:10px;display:flex}.bienvenida-hero p{opacity:.92;max-width:34ch}.bienvenida-hero .logo{box-shadow:0 6px 24px #0000002e}.bienvenida-form{width:min(100%,560px);padding:24px 20px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;flex:1;gap:6px;margin:-32px auto 0}.aviso-legal{color:var(--muted);text-align:center;margin-top:6px;font-size:.8rem}.form{flex-direction:column;gap:14px;display:flex}.campo{flex-direction:column;gap:5px;display:flex}.campo label{font-size:.95rem;font-weight:650}.opcional{color:var(--muted);font-weight:400}.campo input{border:1.5px solid var(--borde);min-height:48px;color:var(--text);font:inherit;background:#fff;border-radius:12px;padding:0 14px;font-size:1rem}.campo input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.campo input[aria-invalid=true]{border-color:var(--error)}.campo .solo-lectura{color:var(--muted);background:#f2f4f7}.ayuda-texto{color:var(--muted);font-size:.82rem}.error-texto{color:var(--error);font-size:.85rem}.tarjeta-aviso{border:1.5px solid color-mix(in srgb, var(--accent) 30%, white);background:color-mix(in srgb, var(--primary) 6%, white)}.tarjeta-aviso-icono{background:var(--primary);width:40px;height:40px;color:var(--on-primary);border-radius:12px;place-items:center;display:grid}.acciones{flex-wrap:wrap;gap:8px;display:flex}.fila-titulo{align-items:center;gap:10px;display:flex}.estado-punto{background:#b8bec9;border-radius:50%;width:10px;height:10px}.estado-punto.on{background:var(--ok);box-shadow:0 0 0 4px #d6f0e2}.ayuda{color:#523b00;background:#fff7e0;border-radius:12px;flex-direction:column;gap:8px;padding:12px 14px;font-size:.92rem;display:flex}.pasos{flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:.92rem;display:flex}.chip-icono{vertical-align:middle;border:1px solid var(--borde);color:#0a84ff;background:#fff;border-radius:8px;place-items:center;width:28px;height:28px;display:inline-grid}.salir{color:var(--muted);align-self:center}.lista-simple{text-align:left;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.interruptor{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.interruptor input{width:22px;height:22px;accent-color:var(--primary);flex:none;margin-top:2px}.campo-aviso{background:color-mix(in srgb, var(--primary) 6%, white);border-radius:12px;padding:12px 14px}.enlace-privacidad{text-align:center;font-size:.9rem}.aviso-texto{gap:10px}.aviso-texto h2{margin-top:6px;font-size:1rem}.aviso-titulo{font-size:1.1rem}.aviso-texto p{white-space:pre-line;overflow-wrap:anywhere}.app-privacidad{padding-bottom:0}.mis-tarjetas{width:100%}.mis-tarjetas h2{margin:8px 0 10px;font-size:1.05rem}.mini-tarjeta{border-radius:var(--radio);min-height:64px;box-shadow:var(--sombra);border:2px solid #0000;align-items:center;gap:12px;padding:10px 14px;font-weight:700;text-decoration:none;display:flex}.mini-tarjeta-nombre{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bloque-contacto{border:1px dashed var(--borde);border-radius:var(--radio);flex-direction:column;align-items:center;gap:8px;width:100%;padding:14px;font-size:.95rem;display:flex}.bloque-contacto p{margin:0}.pie-landing{margin-top:12px;font-size:.85rem}.pie-landing a{color:var(--muted)}
