/**
 * Multicines PWA — mcp-2029-cuenta.css
 *
 * v0.34.3 (Rediseño 2029, Fase 2): Perfil y Mis boletos (y la base para Ingresar, Registro,
 * Recuperar y Mis datos). Solo presentación sobre el marcado de siempre; lo nuevo que aparece
 * (Mis boletos del teléfono, ingreso dentro del perfil) lo arma mcp-2029.js.
 */

/* ── Sin sesión: encabezado de cine y el ingreso ahí mismo ─────────────────────────────────── */
.mcp-2029 .mcp-pantalla-cuenta .mcp-estado {
	position: relative;
	gap: 10px;
	margin: 0 calc(-1 * var(--mcp-gutter));
	padding: 26px var(--mcp-gutter) 8px;
}
.mcp-2029 .mcp-pantalla-cuenta .mcp-estado::before { /* tira de película de fondo, muy sutil */
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 150px;
	background:
		radial-gradient(circle, var(--mcp-borde) 0 3px, transparent 3.5px) 0 8px / 18px 150px repeat-x,
		radial-gradient(circle, var(--mcp-borde) 0 3px, transparent 3.5px) 9px 136px / 18px 150px repeat-x,
		linear-gradient(180deg, var(--mcp-2029-acento-suave), transparent);
	opacity: .9;
	pointer-events: none;
	z-index: -1;
}
.mcp-2029 .mcp-pantalla-cuenta .mcp-estado-icono {
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	border-radius: 28px;
	background: linear-gradient(150deg, var(--mcp-2029-marca-2), var(--mcp-primario));
	color: #FFFFFF;
	box-shadow: 0 18px 34px -16px var(--mcp-primario);
}
.mcp-2029 .mcp-pantalla-cuenta .mcp-estado-icono svg { width: 44px; height: 44px; }
.mcp-2029 .mcp-pantalla-cuenta .mcp-estado-titulo { margin: 6px 0 0; font-family: var(--mcp-2029-display); font-size: 1.625rem; font-weight: 800; }
.mcp-2029 .mcp-pantalla-cuenta .mcp-estado-texto { margin: 0; color: var(--mcp-texto-secundario); }
.mcp-2029 .mcp-pantalla-cuenta .mcp-estado-acciones[hidden] { display: none; }
.mcp-2029-ingreso-perfil {
	width: 100%;
	margin-top: 8px;
	padding: 18px 16px 12px;
	border: 1px solid var(--mcp-borde);
	border-radius: 24px;
	background: var(--mcp-superficie);
	box-shadow: var(--mcp-2029-sombra);
	text-align: left;
}
.mcp-2029-ingreso-perfil > * + * { margin-top: 12px; }
.mcp-2029-ingreso-perfil .mcp-form { margin-bottom: 0; }
.mcp-2029-ingreso-perfil .mcp-ingresar-olvido { margin: -6px 0 14px; text-align: right; }
.mcp-2029-ingreso-perfil .mcp-ingresar-olvido a { font-size: .875rem; font-weight: var(--mcp-peso-semi); color: var(--mcp-primario-texto); }
.mcp-2029-ingreso-perfil .mcp-ingresar-registro { margin: 4px 0 0; text-align: center; font-size: .9375rem; }

/* ── Con sesión: banda con la inicial ──────────────────────────────────────────────────────── */
.mcp-2029 .mcp-perfil-banda {
	/* Se mete debajo del encabezado (que es redondeado abajo): se leen como una sola pieza. */
	position: relative;
	z-index: 0;
	margin-top: calc(-1 * var(--mcp-esp-4) - 30px);
	padding: 54px var(--mcp-gutter) 30px;
	border: 0;
	border-radius: 0 0 30px 30px;
	background:
		radial-gradient(120% 90% at 100% 0, rgba(242, 138, 30, .28), transparent 60%),
		linear-gradient(160deg, var(--mcp-2029-marca-2), var(--mcp-primario));
	color: #FFFFFF;
	box-shadow: var(--mcp-2029-sombra);
}
.mcp-2029.mcp-tema-oscuro .mcp-perfil-banda { background: radial-gradient(120% 90% at 100% 0, rgba(255, 154, 60, .2), transparent 60%), linear-gradient(160deg, #2A1A45, #1B122B); }
.mcp-2029 .mcp-perfil-avatar {
	width: 64px;
	height: 64px;
	border-radius: 22px;
	background: linear-gradient(145deg, var(--mcp-2029-oro-1), var(--mcp-2029-oro-2) 45%, var(--mcp-2029-oro-3));
	color: #3A1D00;
	box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .6);
}
.mcp-2029-inicial { font-family: var(--mcp-2029-display); font-size: 1.75rem; font-weight: 800; line-height: 1; }
.mcp-2029 .mcp-perfil-saludo { font-size: .8125rem; font-weight: var(--mcp-peso-bold); letter-spacing: 1.2px; text-transform: uppercase; opacity: .85; }
.mcp-2029 .mcp-perfil-nombre { font-family: var(--mcp-2029-display); font-size: 1.625rem; font-weight: 800; }
.mcp-2029 .mcp-perfil-lapiz { border-radius: 14px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .25); }

/* ── Mis boletos (del teléfono) ────────────────────────────────────────────────────────────── */
.mcp-2029-mis-boletos { margin-bottom: 16px; }
.mcp-2029-mis-boletos > * + * { margin-top: 10px; }
.mcp-2029 .mcp-perfil-tarjeta-titulo {
	margin: 0 2px 10px;
	font-family: var(--mcp-2029-display);
	font-size: 1.1875rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
	color: var(--mcp-texto);
}
/* El acceso al historial del servidor se esconde mientras esté vacío (D1). */
.mcp-2029 .mcp-perfil-boletos[hidden] { display: none; }
.mcp-2029-boleto-mini {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 12px;
	width: 100%;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	background: var(--mcp-superficie);
	box-shadow: 0 16px 34px -22px rgba(60, 25, 100, .6), 0 0 0 1px var(--mcp-borde);
	color: var(--mcp-texto);
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: transform .15s;
}
.mcp-2029-boleto-mini:active { transform: scale(.98); }
.mcp-2029-boleto-mini::before { /* franja morada del boleto */
	content: "";
	flex: none;
	width: 8px;
	background: linear-gradient(180deg, var(--mcp-2029-marca-2), var(--mcp-primario));
}
.mcp-2029-boleto-mini-info { flex: 1; min-width: 0; display: grid; gap: 3px; padding: 14px 0; }
.mcp-2029-boleto-mini-info strong { font-family: var(--mcp-2029-display); font-size: 1rem; font-weight: 800; line-height: 1.2; }
.mcp-2029-boleto-mini-info span { font-size: .8125rem; color: var(--mcp-texto-secundario); }
.mcp-2029-boleto-mini-asientos { font-weight: var(--mcp-peso-bold); color: var(--mcp-texto) !important; }
.mcp-2029-boleto-mini-codigo { font-family: var(--mcp-2029-display); font-weight: 800; letter-spacing: .14em; color: var(--mcp-acento-texto) !important; }
.mcp-2029-boleto-mini-qr {
	flex: none;
	align-self: center;
	width: 78px;
	margin: 10px 12px 10px 0;
	padding: 6px;
	border-radius: 12px;
	background: #FFFFFF;
	box-shadow: 0 0 0 1px var(--mcp-borde);
}
.mcp-2029-boleto-mini-qr svg,
.mcp-2029-boleto-grande-qr svg { display: block; width: 100%; height: auto; }
/* El boleto abierto en la hoja: QR grande para la taquilla. */
.mcp-2029-boleto-grande { text-align: center; }
.mcp-2029-boleto-grande h3 { margin: 0; font-size: 1.375rem; }
.mcp-2029-boleto-grande p { margin: 4px 0 0; color: var(--mcp-texto-secundario); }
.mcp-2029-boleto-grande-asientos { font-weight: var(--mcp-peso-bold); color: var(--mcp-texto) !important; }
.mcp-2029-boleto-grande-qr { width: min(240px, 70%); margin: 16px auto 10px; padding: 12px; border-radius: 18px; background: #FFFFFF; box-shadow: 0 0 0 1px var(--mcp-borde), 0 18px 34px -20px rgba(0, 0, 0, .5); }
.mcp-2029-boleto-grande-etiqueta { font-size: .6875rem; font-weight: var(--mcp-peso-bold); letter-spacing: 1.3px; text-transform: uppercase; }
.mcp-2029-boleto-grande-codigo { font-family: var(--mcp-2029-display); font-size: 2rem; font-weight: 800; letter-spacing: .16em; color: var(--mcp-acento-texto) !important; }
/* Sin boletos todavía. */
.mcp-2029-boletos-vacio {
	display: grid;
	justify-items: center;
	gap: 6px;
	padding: 22px 18px 18px;
	border: 1px dashed var(--mcp-borde-control);
	border-radius: 22px;
	background: var(--mcp-superficie);
	text-align: center;
}
.mcp-2029-boletos-vacio-icono { font-size: 2.25rem; line-height: 1; filter: saturate(.8); }
.mcp-2029-boletos-vacio-titulo { margin: 0; font-family: var(--mcp-2029-display); font-size: 1.0625rem; font-weight: 800; }
.mcp-2029-boletos-vacio .mcp-boton { margin-top: 8px; min-height: 50px; border-radius: 16px; }

/* ── Ajustes: datos, apariencia, salir, redes ──────────────────────────────────────────────── */
.mcp-2029 .mcp-perfil-tarjeta,
.mcp-2029 .mcp-perfil-menu {
	padding: 16px;
	border: 1px solid var(--mcp-borde);
	border-radius: 22px;
	background: var(--mcp-superficie);
	margin-bottom: 14px;
}
.mcp-2029 .mcp-perfil-dato dt { font-size: .75rem; }
.mcp-2029 .mcp-perfil-dato dd { font-weight: var(--mcp-peso-semi); }
.mcp-2029-mostrar {
	margin-left: 8px;
	padding: 2px 10px;
	border: 0;
	border-radius: var(--mcp-radio-pill);
	background: var(--mcp-2029-superficie-2);
	color: var(--mcp-primario-texto);
	font: inherit;
	font-size: .75rem;
	font-weight: var(--mcp-peso-bold);
	cursor: pointer;
}
.mcp-2029 .mcp-perfil-fila { min-height: 52px; border-radius: 14px; font-weight: var(--mcp-peso-semi); }
.mcp-2029 .mcp-perfil-fila-icono { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--mcp-2029-superficie-2); color: var(--mcp-primario-texto); }
.mcp-2029 .mcp-perfil-menu .mcp-perfil-fila { color: var(--mcp-error); }
.mcp-2029 .mcp-perfil-menu .mcp-perfil-fila-icono { background: rgba(201, 52, 58, .1); color: var(--mcp-error); }
.mcp-2029 .mcp-perfil-red { border-radius: 14px; }


/* ── 2.3 Registro en 3 pasos (lo arma mcp-2029.js con los mismos campos) ───────────────────── */
.mcp-2029 .mcp-form-registro {
	display: block;
	padding: 18px 16px;
	border: 1px solid var(--mcp-borde);
	border-radius: 24px;
	background: var(--mcp-superficie);
	box-shadow: var(--mcp-2029-sombra);
}
.mcp-2029-reg-puntos { display: flex; gap: 6px; margin-bottom: 6px; }
.mcp-2029-reg-puntos i { flex: 1; height: 5px; border-radius: 5px; background: var(--mcp-borde); transition: background-color .3s; }
.mcp-2029-reg-puntos i.es-hecho { background: var(--mcp-primario); }
.mcp-2029-reg-puntos i.es-actual { background: linear-gradient(90deg, var(--mcp-2029-oro-2), var(--mcp-acento)); }
.mcp-2029-reg-contador { margin: 0 0 6px; font-size: .75rem; font-weight: var(--mcp-peso-bold); letter-spacing: 1px; text-transform: uppercase; color: var(--mcp-texto-secundario); }
.mcp-2029-reg-paso { margin: 0; padding: 0; border: 0; min-width: 0; }
.mcp-2029-reg-paso[hidden] { display: none; }
.mcp-2029-reg-paso.mcp-2029-entra { animation: mcp-2029-entra-paso .4s var(--mcp-2029-ease); }
@keyframes mcp-2029-entra-paso { from { opacity: 0; transform: translateX(26px); } to { opacity: 1; transform: none; } }
.mcp-2029-reg-titulo { padding: 0; margin: 0 0 16px; font-family: var(--mcp-2029-display); font-size: 1.375rem; font-weight: 800; color: var(--mcp-texto); }
.mcp-2029 .mcp-form-registro .mcp-2029-oculto,
.mcp-2029 .mcp-form-registro [hidden] { display: none !important; }
/* Nombre y apellido en dos columnas desde 340 px. */
@media (min-width: 340px) {
	.mcp-2029-reg-paso:first-of-type { display: grid; grid-template-columns: 1fr 1fr; column-gap: 10px; }
	.mcp-2029-reg-paso:first-of-type[hidden] { display: none; }
	.mcp-2029-reg-paso:first-of-type > legend,
	.mcp-2029-reg-paso:first-of-type > .mcp-campo:first-of-type,
	.mcp-2029-reg-paso:first-of-type > .mcp-campo:last-of-type { grid-column: 1 / -1; }
}
.mcp-2029-reg-mas { margin-top: 4px; border-radius: 16px; background: var(--mcp-2029-superficie-2); padding: 0 14px; }
.mcp-2029-reg-mas > summary { min-height: 48px; display: flex; align-items: center; font-weight: var(--mcp-peso-bold); color: var(--mcp-primario-texto); cursor: pointer; }
.mcp-2029-reg-mas[open] { padding-bottom: 6px; }
.mcp-2029-reg-mas .mcp-control { background: var(--mcp-superficie); }
.mcp-2029-sugerencia {
	align-self: flex-start;
	margin-top: 2px;
	padding: 6px 12px;
	border: 0;
	border-radius: var(--mcp-radio-pill);
	background: var(--mcp-2029-acento-suave);
	color: var(--mcp-acento-texto);
	font: inherit;
	font-size: .8125rem;
	font-weight: var(--mcp-peso-bold);
	cursor: pointer;
}
.mcp-2029-fuerza { height: 6px; border-radius: 6px; background: var(--mcp-borde); overflow: hidden; margin-top: 4px; }
.mcp-2029-fuerza i { display: block; height: 100%; width: 0; border-radius: 6px; background: var(--mcp-borde-control); transition: width .4s var(--mcp-2029-ease), background-color .3s; }
.mcp-2029-fuerza.es-debil i { background: var(--mcp-error); }
.mcp-2029-fuerza.es-media i { background: var(--mcp-acento); }
.mcp-2029-fuerza.es-buena i { background: var(--mcp-exito); }
.mcp-2029-reg-nav { display: flex; gap: 10px; margin-top: 18px; }
.mcp-2029 .mcp-form .mcp-2029-reg-nav .mcp-boton { flex: 1 1 auto; width: auto; min-width: 0; min-height: 48px; border-radius: 16px; white-space: nowrap; }
.mcp-2029 .mcp-form .mcp-2029-reg-nav .mcp-boton--secundario { flex: 0 0 auto; padding: 0 18px; font-size: 1rem; }
.mcp-2029-reg-nav .mcp-boton[hidden] { display: none; }
.mcp-2029 .mcp-pantalla-crear-cuenta .mcp-ingresar-registro { margin-top: 16px; text-align: center; }

/* ── 2.4 Recuperar contraseña ───────────────────────────────────────────────────────────────── */
.mcp-2029 .mcp-pantalla-recuperar .mcp-main { display: flex; flex-direction: column; }
.mcp-2029 .mcp-pantalla-recuperar .mcp-recuperar-nota {
	position: relative;
	margin: 6px 0 14px;
	padding: 18px 18px 18px 70px;
	border-radius: 22px;
	background: linear-gradient(150deg, var(--mcp-2029-marca-2), var(--mcp-primario));
	color: #FFFFFF;
	font-weight: var(--mcp-peso-semi);
	line-height: 1.45;
	box-shadow: var(--mcp-2029-sombra);
}
.mcp-2029 .mcp-pantalla-recuperar .mcp-recuperar-nota::before { /* llave */
	content: "🔑";
	position: absolute;
	left: 16px;
	top: 18px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .16);
	font-size: 1.25rem;
}
.mcp-2029 .mcp-pantalla-recuperar .mcp-form {
	padding: 18px 16px;
	border: 1px solid var(--mcp-borde);
	border-radius: 24px;
	background: var(--mcp-superficie);
	box-shadow: var(--mcp-2029-sombra);
}
.mcp-2029 .mcp-pantalla-recuperar .mcp-ingresar-registro { margin-top: 16px; text-align: center; }
.mcp-2029 .mcp-pantalla-recuperar .mcp-mensaje--exito { border: 0; border-radius: 18px; background: rgba(23, 138, 85, .1); font-weight: var(--mcp-peso-semi); }

/* ── 2.5 Mis datos ──────────────────────────────────────────────────────────────────────────── */
.mcp-2029 .mcp-editar-nota { color: var(--mcp-texto-secundario); font-size: .875rem; }
.mcp-2029 .mcp-form-editar > .mcp-editar-nota,
.mcp-2029 .mcp-pantalla-cuenta-editar .mcp-main > .mcp-editar-nota { margin: 4px 2px 12px; }
.mcp-2029-grupo {
	min-width: 0;
	margin: 0 0 14px;
	padding: 18px 16px 4px;
	border: 1px solid var(--mcp-borde);
	border-radius: 24px;
	background: var(--mcp-superficie);
	box-shadow: 0 14px 30px -24px rgba(30, 10, 60, .5);
}
.mcp-2029-grupo > legend { float: left; width: 100%; padding: 0; margin: 0 0 14px; }
.mcp-2029-grupo > legend + * { clear: both; }
.mcp-2029 .mcp-campo--bloqueado .mcp-control { background: var(--mcp-fondo); color: var(--mcp-texto-secundario); border-style: dashed; }
.mcp-2029 .mcp-editar-clave-plegable {
	margin: 0 0 14px;
	padding: 0 16px;
	border: 1px solid var(--mcp-borde);
	border-radius: 24px;
	background: var(--mcp-superficie);
}
.mcp-2029 .mcp-editar-clave-resumen { min-height: 58px; display: flex; align-items: center; gap: 10px; font-weight: var(--mcp-peso-bold); color: var(--mcp-primario-texto); cursor: pointer; }
.mcp-2029 .mcp-editar-clave-pista { margin-left: auto; padding: 2px 10px; border-radius: var(--mcp-radio-pill); background: var(--mcp-2029-superficie-2); color: var(--mcp-texto-secundario); font-size: .75rem; }
.mcp-2029 .mcp-editar-clave-plegable[open] { padding-bottom: 6px; }
/* "Guardar cambios" al final, grande (pegado abajo tapaba demasiado junto a las pestañas). */
.mcp-2029 .mcp-editar-pie { margin-top: 6px; }
.mcp-2029 .mcp-editar-pie .mcp-boton { min-height: 48px; border-radius: 16px; }
/* Aire entre un campo y el siguiente dentro de los grupos. */
.mcp-2029-grupo .mcp-campo { margin-bottom: 16px; }
.mcp-2029-grupo .mcp-campo-ayuda { margin: 2px 0 0; font-size: .8125rem; }

/* ══ v0.34.8 · Historial y Tiquete con el estilo del boleto ══════════════════════════════════ */
.mcp-2029 .mcp-historial-titulo { margin: 18px 2px 10px; font-family: var(--mcp-2029-display); font-size: 1.1875rem; font-weight: 800; }
.mcp-2029 .mcp-historial-lista { display: grid; gap: 10px; }
.mcp-2029 .mcp-historial-enlace {
	position: relative;
	display: grid;
	gap: 4px;
	padding: 14px 16px 14px 24px;
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	background: var(--mcp-superficie);
	box-shadow: 0 16px 34px -22px rgba(60, 25, 100, .6), 0 0 0 1px var(--mcp-borde);
	text-decoration: none;
	color: var(--mcp-texto);
}
.mcp-2029 .mcp-historial-enlace::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: linear-gradient(180deg, var(--mcp-2029-marca-2), var(--mcp-primario)); }
/*
 * v0.38.0: AQUÍ HABÍA `opacity: .75` Y SE QUITÓ.
 *
 * Es el mismo defecto que la auditoría de accesibilidad encontró el 2026-09-30 en la hoja base
 * (ver `mcp-pantallas.css`, `.es-pasada`): atenuar el bloque entero deja el texto secundario por
 * debajo del contraste mínimo (WCAG 1.4.3), y volvió a entrar con el rediseño 2029. No hacía falta
 * para nada: la barra lateral gris de la línea siguiente ya distingue una función pasada, y el
 * grupo lleva su propio rótulo («Funciones pasadas»).
 */
.mcp-2029 .es-pasada .mcp-historial-enlace::before { background: var(--mcp-borde-control); }
.mcp-2029 .mcp-historial-peli { font-family: var(--mcp-2029-display); font-size: 1rem; font-weight: 800; }
.mcp-2029 .mcp-historial-funcion,
.mcp-2029 .mcp-historial-detalle { font-size: .8125rem; color: var(--mcp-texto-secundario); }
.mcp-2029 .mcp-historial-ver { margin-top: 4px; font-size: .8125rem; font-weight: var(--mcp-peso-bold); color: var(--mcp-acento-texto); }
/* El tiquete: encabezado morado, perforación y QR grande. */
.mcp-2029 .mcp-tiquete {
	overflow: hidden;
	border: 0;
	border-radius: 26px;
	background: var(--mcp-superficie);
	box-shadow: 0 30px 60px -30px rgba(60, 25, 100, .6), 0 0 0 1px var(--mcp-borde);
}
.mcp-2029 .mcp-tiquete-cabecera { padding: 20px; background: linear-gradient(160deg, var(--mcp-2029-marca-2), var(--mcp-primario)); color: #FFFFFF; }
.mcp-2029 .mcp-tiquete-peli { font-family: var(--mcp-2029-display); font-size: 1.375rem; font-weight: 800; color: #FFFFFF; }
.mcp-2029 .mcp-tiquete-cine,
.mcp-2029 .mcp-tiquete-funcion { color: rgba(255, 255, 255, .85); }
.mcp-2029 .mcp-tiquete-codigo { position: relative; padding: 22px 16px 14px; border-top: 2px dashed var(--mcp-borde); }
.mcp-2029 .mcp-tiquete-qr { padding: 12px; border-radius: 18px; background: #FFFFFF; box-shadow: 0 0 0 1px var(--mcp-borde), 0 18px 34px -20px rgba(0, 0, 0, .5); }
.mcp-2029 .mcp-tiquete-datos { padding: 4px 16px 10px; }
.mcp-2029 .mcp-tiquete-fila--total dd { font-family: var(--mcp-2029-display); font-weight: 800; }
.mcp-2029 .mcp-pantalla-tiquete .mcp-main > .mcp-boton { margin-top: 14px; min-height: 48px; border-radius: 16px; }

/* ══ v0.35.0 · Ingresar como el prototipo: "Hola, cinéfilo" en el encabezado y tarjeta blanca ══ */
.mcp-2029 .mcp-2029-ingresar .mcp-header {
	position: relative;
	padding-bottom: 24px;
	background:
		radial-gradient(90% 80% at 100% 0, rgba(242, 138, 30, .22), transparent 60%),
		linear-gradient(160deg, var(--mcp-2029-marca-2), var(--mcp-primario) 60%, #3A1666);
}
.mcp-2029-hola { flex: 0 0 100%; order: 10; padding: 14px 6px 0; color: #FFFFFF; }
.mcp-2029-hola-titulo { margin: 0; font-family: var(--mcp-2029-display); font-size: 1.75rem; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; }
.mcp-2029-hola-texto { margin: 6px 0 0; color: #EADCF7; font-size: .9375rem; line-height: 1.45; }
.mcp-2029 .mcp-2029-ingresar .mcp-ingresar-logo { display: none; }
.mcp-2029-tarjeta-ingreso {
	margin-top: 4px;
	padding: 20px 16px 16px;
	border: 1px solid var(--mcp-borde);
	border-radius: 24px;
	background: var(--mcp-superficie);
	box-shadow: var(--mcp-2029-sombra);
}
.mcp-2029-tarjeta-ingreso .mcp-form { margin-bottom: 0; }
.mcp-2029 :is(.mcp-2029-tarjeta-ingreso, .mcp-2029-ingreso-perfil) .mcp-ingresar-olvido { margin: -6px 0 16px; text-align: right; }
.mcp-2029 :is(.mcp-2029-tarjeta-ingreso, .mcp-2029-ingreso-perfil) .mcp-ingresar-olvido a { font-size: .875rem; font-weight: var(--mcp-peso-bold); color: var(--mcp-acento-texto); text-decoration: none; }
.mcp-2029 :is(.mcp-2029-tarjeta-ingreso, .mcp-2029-ingreso-perfil) .mcp-ingresar-registro { margin: 16px 0 0; text-align: center; font-size: .875rem; color: var(--mcp-texto-secundario); }
.mcp-2029 :is(.mcp-2029-tarjeta-ingreso, .mcp-2029-ingreso-perfil) .mcp-ingresar-registro a { color: var(--mcp-acento-texto); font-weight: var(--mcp-peso-bold); text-decoration: none; }
/* "Ingresar →": la flecha del prototipo, solo decorativa. */
.mcp-2029 :is(.mcp-2029-tarjeta-ingreso, .mcp-2029-ingreso-perfil) .mcp-boton--primario::after { content: "→"; content: "→" / ""; margin-left: 10px; font-weight: 400; }

.mcp-2029.mcp-tema-oscuro .mcp-2029-ingresar .mcp-header {
	background:
		radial-gradient(90% 80% at 100% 0, rgba(255, 154, 60, .16), transparent 60%),
		linear-gradient(160deg, #3A2160, #1B122B);
}

/* v0.35.2 · Los enlaces de ir y volver entre Ingresar, Registro y Recuperar: el mismo naranja en
   todas, y un área táctil de 32 px de alto (antes 17 px). */
.mcp-2029 .mcp-ingresar-registro a,
.mcp-2029 .mcp-ingresar-olvido a { display: inline-block; padding: 7px 2px; color: var(--mcp-acento-texto); font-weight: var(--mcp-peso-bold); text-decoration: none; }
.mcp-2029 .mcp-ingresar-registro { color: var(--mcp-texto-secundario); }

/* ══ v0.38.0 · Historial de pagos y tarjeta guardada, con el acabado 2029 ════════════════════ */
.mcp-2029 .mcp-pagos-lista { display: grid; gap: 10px; }
.mcp-2029 .mcp-pagos-item {
	position: relative;
	padding: 14px 16px 14px 24px;
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	background: var(--mcp-superficie);
	box-shadow: 0 16px 34px -22px rgba(60, 25, 100, .6), 0 0 0 1px var(--mcp-borde);
}
/* La misma cinta de color del boleto, con el color del resultado. */
.mcp-2029 .mcp-pagos-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 8px; background: var(--mcp-borde-control); }
.mcp-2029 .mcp-pagos-item.es-ok::before { background: var(--mcp-exito); }
.mcp-2029 .mcp-pagos-item.es-no::before { background: var(--mcp-error); }
.mcp-2029 .mcp-pagos-item.es-atencion::before { background: var(--mcp-aviso); }
.mcp-2029 .mcp-pagos-monto { font-family: var(--mcp-2029-display); font-size: 1.0625rem; font-weight: 800; }
.mcp-2029 .mcp-pagos-cuando,
.mcp-2029 .mcp-pagos-consejo,
.mcp-2029 .mcp-pagos-ref { font-size: .8125rem; color: var(--mcp-texto-secundario); }
.mcp-2029 .mcp-pagos-nota { font-size: .8125rem; }
.mcp-2029 .mcp-perfil-pago-marca { font-family: var(--mcp-2029-display); font-weight: 800; }
