* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
    background-color: #f5f5f5;
    color: white;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    touch-action: manipulation;
}

.screen {
    display: none;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    position: relative;
}

.screen.active {
    display: block;
}

/* ===== LANDING ===== */
#screen-landing {
    background-color: #000000;
}

#screen-landing.active {
    display: flex;
    flex-direction: column;
}

.language-selector {
    position: absolute;
    top: 45px;
    right: 25px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    z-index: 10;
    padding: 8px 12px;
}

.language-selector .globe-icon {
    width: 22px;
    height: 22px;
    fill: white;
}

.language-selector span {
    font-size: 16px;
    font-weight: 500;
}

.language-selector .arrow {
    font-size: 10px;
    margin-left: 2px;
}

.main-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 26px 20px 20px 20px;
    width: 100%;
}

.logo-container {
    text-align: center;
    margin-bottom: 20px;
}

.logo-image {
    width: 63px;
    height: auto;
    object-fit: contain;
    display: block;
}

.login-button {
    background: #FFFFFF;
    color: #000000;
    border: none;
    width: 90%;
    max-width: 340px;
    padding: 12px 40px;
    font-size: 17px;
    border-radius: 12px;
    cursor: pointer;
    font-weight: 600;
    text-transform: lowercase;
    -webkit-appearance: none;
    appearance: none;
}

.login-button:active {
    background: #E0E0E0;
    transform: scale(0.98);
}

/* Loading OVERLAY (encima de landing) */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(50, 50, 50, 0.85);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.loading-overlay.active {
    display: flex;
}

.loading-spinner {
    width: 50px;
    height: 50px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top: 4px solid #FFFFFF;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ===== FIFA ID LOGIN ===== */
#screen-fifa-login {
    background: white;
}

#screen-fifa-login.active {
    display: block;
}

.fifa-id-container {
    background: white;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

.fifa-id-header {
    padding: 26px 20px 20px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    
}

.fifa-id-logo {
    color: #0a1f3d;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -1px;
}

.step-indicator {
    display: flex;
    gap: 8px;
}

.step-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #d0d0d0;
}

.step-dot.active {
    background: #0a1f3d;
}

.fifa-id-content {
    flex: 1;
    padding: 40px 24px 30px;
    overflow-y: auto;
}

.fifa-id-content h2 {
    color: #0a1f3d;
    font-size: 22px;
    margin-bottom: 20px;
}

.fifa-id-content h3 {
    color: #0a1f3d;
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: 600;
}

.form-group {
    margin-bottom: 20px;
    position: relative;
}

.form-group label {
    display: block;
    color: #0a1f3d;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 3px;
}

.form-input {
    width: 100%;
    padding: 12px 0;
    border: none;
    border-bottom: 1px solid #d0d0d0;
    font-size: 16px;
    background: transparent;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.form-input:focus {
    border-bottom: 2px solid #0066b2;
}

.eye-icon {
    position: absolute;
    right: 0;
    bottom: 12px;
    cursor: pointer;
    font-size: 20px;
}

.input-hint {
    font-size: 12px;
    color: #666;
    margin-bottom: 3px;
}

.forgot-password {
    display: block;
    text-align: right;
    color: #0066b2;
    font-size: 12px;
    margin-bottom: 30px;
    text-decoration: none;
}

.btn-primary {
    width: 100%;
    padding: 11px 16px;
    background: #0066b2;
    color: white;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 20px;
    -webkit-appearance: none;
    appearance: none;
}

.btn-primary:active {
    background: #005090;
}

.register-link {
    text-align: center;
    color: #666;
    font-size: 12px;
    margin-bottom: 30px;
}

.register-link a {
    color: #0a1f3d;
    font-weight: 700;
    text-decoration: underline;
}

.divider {
    display: flex;
    align-items: center;
    margin: 23px 0;
}

.divider::before,
.divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #d0d0d0;
}

.divider span {
    padding: 0 15px;
    color: #999;
    font-size: 12px;
}

.btn-social {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #d0d0d0;
    border-radius: 25px;
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: white;
    -webkit-appearance: none;
    appearance: none;
}

.btn-google {
    color: #333;
}

.btn-apple {
    background: #000;
    color: white;
    border-color: #000;
}

.social-icon {
    font-size: 18px;
}

.footer-links {
    text-align: center;
    margin-top: 30px;
    font-size: 13px;
    color: #666;
}

.footer-links a {
    color: #666;
    text-decoration: none;
}

.login-link-text {
    font-size: 12px;
    color: #666;
    margin-bottom: 20px;
}

.login-link-text a {
    color: #0066b2;
    text-decoration: none;
}

.step-text {
    color: #666;
    font-size: 12px;
    margin-bottom: 5px;
}

.checkbox-group {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
}

.form-checkbox {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    cursor: pointer;
}

.checkbox-group label {
    font-size: 12px;
    color: #333;
    cursor: pointer;
}

.form-select {
    width: 100%;
    padding: 12px 0;
    border: none;
    border-bottom: 1px solid #d0d0d0;
    font-size: 16px;
    background: transparent;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

/* Modal Cookies */
.cookies-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: none;
    justify-content: center;
    align-items: flex-end;
    z-index: 9999;
}

.cookies-modal.active {
    display: flex;
}

.cookies-content {
    background: #1B223D;
    width: 100%;
    padding: 40px 24px 30px;
    border-radius: 0;
    max-height: 80vh;
    overflow-y: auto;
}

.cookies-content h2 {
    color: white;
    font-size: 28px;
    margin-bottom: 15px;
}

.cookies-content p {
    color: #d0d0d0;
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 20px;
}

.cookies-content a {
    color: #6ba3d6;
    text-decoration: underline;
}

.cookies-btn {
    width: 100%;
    padding: 11px 16px;
    border: none;
    border-radius: 0;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 6px;
    -webkit-appearance: none;
    appearance: none;
}

.cookies-btn-config {
    background: white;
    color: #1a2b4a;
}

.cookies-btn-reject {
    background: #2d4a7c;
    color: white;
}

.cookies-btn-accept {
    background: #2d4a7c;
    color: white;
}

/* ===== REGISTRO ===== */
#screen-register {
    background: white;
}

#screen-register.active {
    display: block;
}

/* Ajuste del logo FIFA ID */
.fifa-id-logo svg {
    height: 19px;
    width: auto;
}

.fifa-id-logo { margin-top: 15px; }

/* Tipografía más delgada para "Iniciar sesión" */
#screen-fifa-login .fifa-id-content h2 {
    font-weight: 300;
}

/* Separar etiquetas de "Iniciar sesión" y pegarlas a las líneas */
#screen-fifa-login .form-group label {
    margin-top: 15px;
    margin-bottom: 3px;
}

/* Quitar color azul al enfocar inputs - mantener gris */
#screen-fifa-login .form-input:focus {
    border-bottom: 1px solid #d0d0d0;
}

/* Estilo de error para inputs */


/* Mensaje de error */




/* Icono de ojo para contraseña */
.eye-icon {
    position: absolute;
    right: 0;
    bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    color: #333;
    user-select: none;
}

/* Espacio debajo de "Iniciar sesión" */
#screen-fifa-login .fifa-id-content h2 {
    margin-bottom: 48px;
}

/* Pegar etiquetas a los inputs */
#screen-fifa-login .form-group label {
    margin-bottom: 0 !important;
}

#screen-fifa-login .form-group {
    margin-bottom: 20px;
}

#screen-fifa-login .form-input {
    margin-top: 0 !important;
}

/* Forzar etiquetas pegadas a las casillas */
#screen-fifa-login .form-group label {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#screen-fifa-login .form-input {
    padding-top: 4px !important;
    margin-top: 0 !important;
}

/* Tipografía delgada y gris para etiquetas */
#screen-fifa-login .form-group label {
    font-weight: 300 !important;
    color: #666 !important;
}

/* Color negro grisáceo y tipografía delgada */
#screen-fifa-login .fifa-id-content h2,
#screen-fifa-login .form-group label {
    color: #333333 !important;
    font-weight: 300 !important;
}

/* Reducir tamaño de "REGISTRARSE" un 10% */
#screen-fifa-login .register-link a {
    font-size: 12.6px;
}

/* Reducir tamaño de "REGISTRARSE" un 20% */
#screen-fifa-login .register-link a {
    font-size: 13px !important;
}

/* Logo de Google en botón */
.social-icon-svg {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
}

/* Separar más los botones sociales del divisor */
#screen-fifa-login .btn-social {
    margin-top: 23px;
}

/* Bajar botón de Google hacia el de Apple */
#screen-fifa-login .btn-social.btn-google {
    margin-bottom: 4px !important;
}

/* Juntar botón de Google con el de Apple */
#screen-fifa-login .btn-google {
    margin-bottom: 5px !important;
}

/* Bajar botón de Google hacia Apple */
#screen-fifa-login .btn-social.btn-google {
    margin-bottom: -5px !important;
}

/* Subir botón de Apple hacia Google */
#screen-fifa-login .btn-social.btn-apple {
    margin-top: -5px !important;
}

/* Espacio correcto entre Google y Apple (cerca pero sin pegarse) */
#screen-fifa-login .btn-social.btn-google {
    margin-bottom: 6px !important;
}

#screen-fifa-login .btn-social.btn-apple {
    margin-top: 0 !important;
}

/* Separar un poco más los botones */
#screen-fifa-login .btn-social.btn-google {
    margin-bottom: 10px !important;
}

/* Separar Términos y Privacidad hacia los extremos */
#screen-fifa-login .footer-links a {
    padding: 0 15px;
}

/* Reducir tamaño de Términos y Privacidad un 15% */
#screen-fifa-login .footer-links a {
    font-size: 11px !important;
}

/* ===== ESTILOS PANTALLA REGISTRO (igual que login) ===== */
#screen-register .fifa-id-content h2 {
    color: #333333 !important;
    font-weight: 300 !important;
    font-size: 22px !important;
    margin-bottom: 20px;
}

#screen-register .fifa-id-content h3 {
    color: #333333 !important;
    font-weight: 300 !important;
    font-size: 13px !important;
}

#screen-register .form-group label {
    color: #333333 !important;
    font-weight: 300 !important;
    font-size: 12px !important;
    margin-bottom: 0 !important;
}

#screen-register .form-input {
    margin-top: 0 !important;
}

#screen-register .form-input:focus {
    border-bottom: 1px solid #d0d0d0;
}

#screen-register .login-link-text a {
    color: #0066b2;
    text-decoration: none;
}

#screen-register .step-text {
    color: #666;
    font-size: 12px;
}

#screen-register .checkbox-group label {
    color: #333333;
    font-weight: 300;
    font-size: 12px;
}

/* Aumentar tamaño de "¿Ya dispones de una cuenta?" un 15% */
#screen-register .login-link-text {
    font-size: 13px !important;
}

/* Subir "¿Ya dispones de una cuenta?" un 10% */
#screen-register .login-link-text {
    margin-top: -12px !important;
}

/* Reducir tamaño un 5% */
#screen-register .login-link-text {
    font-size: 15.2px !important;
}

/* Separar "Registrarse" del texto superior */
#screen-register .fifa-id-content h2 {
    margin-top: 25px !important;
}

/* Ajustar "Paso 1 de 2" */
#screen-register .step-text {
    font-size: 13px !important;
    color: #666666 !important;
    font-weight: 400 !important;
    margin-bottom: 4px !important;
}

/* Ajustar "Datos personales" */
#screen-register .fifa-id-content h3 {
    font-size: 13px !important;
    color: #333333 !important;
    font-weight: 400 !important;
    margin-bottom: 25px !important;
}

/* Acercar "Registrarse" al paso y datos personales */
#screen-register .fifa-id-content h2 {
    margin-bottom: 15px !important;
}

/* Reducir "Datos personales" un 20% */
#screen-register .fifa-id-content h3 {
    font-size: 13px !important;
}

/* Bajar más el bloque de registro */
#screen-register .fifa-id-content h2 {
    margin-top: 35px !important;
}

/* Bajar más el bloque de registro */
#screen-register .fifa-id-content h2 {
    margin-top: 42px !important;
}

/* Unir más "Registrarse" al paso y datos */
#screen-register .fifa-id-content h2 {
    margin-bottom: 11px !important;
}

/* Unir más "Registrarse" al paso y datos */
#screen-register .fifa-id-content h2 {
    margin-bottom: 8px !important;
}

/* Pegar etiquetas a las casillas en el registro */
#screen-register .form-group label {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#screen-register .form-input {
    margin-top: 0 !important;
    padding-top: 4px !important;
}

/* Separar "Datos personales" del primer input (Nombre) un 40% más */
#screen-register .fifa-id-content h3 {
    margin-bottom: 35px !important;
}

/* Separar más "Datos personales" del primer input (50% más) */
#screen-register .fifa-id-content h3 {
    margin-bottom: 53px !important;
}

/* Reducir tamaño de "Este será tu FIFA ID." un 50% */
#screen-register .form-group .helper-text,
#screen-register .form-group small,
#screen-register .form-group .sub-label {
    font-size: 13px !important;
}

/* Reducir tamaño de "Este será tu FIFA ID." un 40% */
#screen-register .form-group p,
#screen-register .form-group .helper-text,
#screen-register .form-group .input-hint,
#screen-register .form-group small {
    font-size: 9px !important;
    color: #666666 !important;
    margin-top: 2px !important;
}

/* Alinear checkbox y texto "Confirmo que tengo al menos 16 años" */
#screen-register .checkbox-group,
#screen-register .form-check,
#screen-register .form-group:has(input[type="checkbox"]) {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
    margin-top: 10px;
}

#screen-register input[type="checkbox"] {
    margin: 0 !important;
    width: 18px;
    height: 18px;
}

#screen-register .checkbox-group label,
#screen-register .form-check label {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 1.2;
}

/* Ajuste fino de alineación checkbox y texto */
#screen-register input[type="checkbox"] {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    vertical-align: middle;
}

#screen-register .checkbox-group label,
#screen-register .form-check label {
    margin-top: 0 !important;
    padding-top: 0 !important;
    line-height: 1;
}

/* Alinear checkbox y texto perfectamente */
#screen-register .checkbox-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px;
}

#screen-register .checkbox-group input[type="checkbox"] {
    margin: 0 !important;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

#screen-register .checkbox-group label {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2;
}

/* Alineación horizontal perfecta checkbox + texto */
#screen-register .checkbox-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px;
    margin-top: 15px;
}

#screen-register .checkbox-group input[type="checkbox"] {
    margin: 0 !important;
    padding: 0 !important;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transform: translateY(0);
    vertical-align: middle;
}

#screen-register .checkbox-group label {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1;
    display: inline-block;
    vertical-align: middle;
}

/* Checkbox personalizado: palomita negra delgada sin fondo azul */
#screen-register .form-checkbox {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border: 1.5px solid #333 !important;
    border-radius: 3px !important;
    background-color: #fff !important;
    background-image: none !important;
    cursor: pointer;
    position: relative;
    outline: none;
}

#screen-register .form-checkbox:checked {
    background-color: #fff !important;
    border-color: #000 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-size: 14px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Reducir tamaño del checkbox un 10% */
#screen-register .form-checkbox {
    width: 16px !important;
    height: 16px !important;
}

#screen-register .form-checkbox:checked {
    background-size: 12px !important;
}

/* Reducir tamaño y hacer delgado el texto de "Elegir idioma" */
#screen-register .form-select {
    font-size: 13px !important;
    font-weight: 300 !important;
    color: #666666 !important;
}

/* Aumentar tamaño de "Elegir idioma" un 20% (de 10px a 12px) */
#screen-register .form-select {
    font-size: 12px !important;
}

/* Cambiar color a negro grisáceo */
#screen-register .form-select {
    color: #333333 !important;
}

/* Hacer el color más oscuro (negro grisáceo muy oscuro) */
#screen-register .form-select {
    color: #111111 !important;
}

/* Hacer "Elegir idioma" negro puro */
#screen-register .form-select {
    color: #000000 !important;
}

/* Igualar ancho y estilo de Términos y Privacidad al login */
#screen-register .footer-links {
    padding: 0 15px !important;
}

#screen-register .footer-links a {
    padding: 0 15px !important;
    font-size: 11px !important;
}

/* Subir Términos y Privacidad en el registro */
#screen-register .footer-links {
    margin-top: -20px !important;
}

/* Ajustar distancia de Términos y Privacidad en registro para igualar al login */
#screen-register .footer-links {
    margin-top: 0 !important;
}

/* Igualar grosor del botón Continuar al de Iniciar Sesión */
#screen-register .btn-primary,
#screen-register button[type="submit"] {
    padding: 11px 16px !important;
}



/* Borde rojo para el checkbox de 16 años si hay error */
#screen-register .form-checkbox.error {
    border-color: #e91e63 !important;
}

/* ===== PANTALLA MIS BOLETOS ===== */


.tickets-header {
    background: #fff;
    padding: 20px;
    padding-bottom: 0;
}

.tickets-header h1 {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    margin-bottom: 6px;

    margin-top: 26px;}

.tab-content {
    display: none;
    padding: 20px;
}

.tab-content.active {
    display: block;
}

.app-banner {
    background: #fff;
    border-radius: 6px;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0 auto 8px auto;
    max-width: 95%;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    overflow: hidden;
}

.app-banner-text strong {
    display: block;
    font-size: 16px;
    margin-bottom: 5px;
}

.app-banner-text p {
    font-size: 12px;
    color: #666;
    margin: 0;
}

.empty-state {
    text-align: center;
    padding: 40px 20px;
}

.empty-icon {
    margin-bottom: 20px;
}

.empty-title {
    font-size: 16px;
    font-weight: 500;
    color: #333;
    margin-bottom: 20px;
}

.empty-text {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 30px;
}

.empty-info {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    text-align: left;
    font-size: 13px;
    color: #666;
    line-height: 1.5;
}

.faq-button {
    width: 100%;
    padding: 15px;
    background: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    cursor: pointer;
    margin-top: 30px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}











/* ===== ESTILOS DE ERROR ACTUALIZADOS ===== */
.form-input.error {
    background: #ffe0e6 !important;
    border-bottom: 1px solid #d0d0d0 !important;
}

.error-message {
    background: #DE0C49 !important;
    color: white !important;
    padding: 6px 15px 6px 32px !important;
    font-size: 9px !important;
    border-radius: 0 !important;
    display: none !important;
    position: relative !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
}

.error-message.show {
    display: block !important;
}

.error-message::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 13.5px;
    height: 13.5px;
    background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22Capa_1%22%20data-name%3D%22Capa%201%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2050.18%2050.18%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20stroke-width%3A%200px%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C/style%3E%0A%20%20%3C/defs%3E%0A%20%20%3Cg%3E%0A%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M25.09%2C50.18C11.26%2C50.18%2C0%2C38.92%2C0%2C25.09S11.26%2C0%2C25.09%2C0s25.09%2C11.25%2C25.09%2C25.09-11.26%2C25.09-25.09%2C25.09ZM25.09%2C3C12.91%2C3%2C3%2C12.91%2C3%2C25.09s9.91%2C22.09%2C22.09%2C22.09%2C22.09-9.91%2C22.09-22.09S37.27%2C3%2C25.09%2C3Z%22/%3E%0A%20%20%20%20%3Cellipse%20class%3D%22cls-1%22%20cx%3D%2224.87%22%20cy%3D%2238.12%22%20rx%3D%222.35%22%20ry%3D%222.62%22/%3E%0A%20%20%3C/g%3E%0A%20%20%3Crect%20class%3D%22cls-1%22%20x%3D%2223.01%22%20y%3D%228.84%22%20width%3D%223.73%22%20height%3D%2223.97%22%20rx%3D%221.87%22%20ry%3D%221.87%22/%3E%0A%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}




/* Alerta checkbox 16 años: debajo como los demás campos */
#age-error {
    display: none !important;
    width: 100% !important;
    flex-basis: 100% !important;
    margin-top: 4px !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}
#age-error.show {
    display: block !important;
}

/* Asegurar que el contenedor del checkbox permita wrap */
.checkbox-group {
    flex-wrap: wrap !important;
}


    100% { transform: rotate(360deg); }
}

/* PANTALLA DE CARGA DECORATIVA */
#screen-loading {
    background: #000000 !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100vh;
    position: relative;
}

.lang-selector {
    position: absolute;
    top: 40px;
    right: 30px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
}

.loading-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.fifa-logo-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fifa-logo-text {
    text-align: center;
    color: #fff;
    z-index: 2;
}

.logo-number {
    font-size: 80px;
    font-weight: 900;
    line-height: 0.9;
    font-family: Arial Black, sans-serif;
}

.logo-fifa {
    font-size: 28px;
    font-weight: 900;
    margin-top: 5px;
    font-family: Arial Black, sans-serif;
}

.logo-worldcup {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
}

.logo-year {
    font-size: 28px;
    font-weight: 900;
    font-family: Arial Black, sans-serif;
}

.loading-spinner-ring {
    position: absolute;
    width: 120px;
    height: 120px;
    border: 3px solid rgba(255,255,255,0.2);
    border-top: 3px solid #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.login-btn-decorative {
    background: #e0e0e0;
    color: #000;
    border: none;
    padding: 15px 80px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 0;
    cursor: default;
}

/* PANTALLA DE CARGA INTERMEDIA - Mismo estilo que landing */
#screen-loading.active {
    display: flex !important;
    display: flex;
    flex-direction: column;
}

/* Fondo para las demás opciones del menú principal */


.app-banner img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 6px;
}

/* Ocultar barra de navegación en login, registro y carga */
/* Mostrar barra solo en pantallas del menú principal */


/* ===== MENÚ PRINCIPAL ===== */
#screen-main-menu.active {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #EEF2F3;
}

.main-header {
    background: #fff;
    padding: 10px 20px 0 20px;
    border-radius: 0 0 15px 15px;
    position: sticky;
    top: 0;
    z-index: 50;
}

.main-header h1 {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    margin: 0;
    margin-bottom: 15px;
    transform: translateY(20px);
}

.main-content {
    flex: 1;
    padding: 0 20px;
    padding-bottom: 80px; /* Espacio para el nav fijo */
}

.main-section { display: none; }
.main-section.active { display: block; }

.tickets-tabs {
    display: flex;
    gap: 40px;
    border-bottom: 1px solid #e0e0e0;
    margin: 0;
    padding: 0;
}

.tab-btn {
    background: none;
    border: none;
    padding: 15px 0;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    position: relative;
    font-weight: 400;
}

.tab-btn.active {
    color: #000;
    font-weight: 600;
}

.tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #000;
}

.tab-content { display: none; }
.tab-content.active { display: block; }

.tickets-container { min-height: 200px; padding: 16px 0; }

.section-placeholder { text-align: center; color: #666; padding: 150px 20px; }

/* NAV INFERIOR - Fijo pero contenido dentro de la pantalla activa */
.bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    display: none;
    justify-content: space-around;
    padding: 10px 0;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
    z-index: 100;
}









/* Estado vacío de boletos */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    text-align: center;
    margin-top: 15px;
}

.empty-svg {
    width: 100%;
    max-width: 330px;
    height: auto;
    display: block;
    margin-bottom: 30px;
}

.faq-button {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 16px 24px;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    cursor: pointer;
    width: 100%;
    max-width: 330px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    transition: background 0.2s;
}

.faq-button:hover {
    background: #f5f5f5;
}

/* Ocultar estado vacío cuando hay boletas */
.empty-state.hidden {
    display: none;
}

/* Eventos pasados - centrado independiente */
.empty-state-past {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
    padding: 20px 0;
}

.empty-state-past img {
    width: 100%;
    max-width: 330px;
    height: auto;
    display: block;
}

/* Pestañas en el header blanco */
.header-tabs {
    display: flex;
    gap: 40px;
    border-bottom: 1px solid #e0e0e0;
    margin: 0 -20px;
    padding: 0 20px;
    margin-top: 15px;
}

.header-tabs .tab-btn {
    background: none;
    border: none;
    padding: 15px 0;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    position: relative;
    font-weight: 400;
}

.header-tabs .tab-btn.active {
    color: #000;
    font-weight: 600;
}

.header-tabs .tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #000;
}


/* Tamaño para los nuevos iconos SVG en el menú */


/* Círculo de fondo cuando el botón del menú está seleccionado */


.nav-btn.active::before {
    content: '';
    position: absolute;
    top: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 31px;
    height: 31px;
    background-color: #CFCECE;
    border-radius: 50%;
    z-index: -1;
}

/* Menú inferior: Iconos como botones, textos separados */
.bottom-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    display: none;
    justify-content: space-around;
    padding: 6px 0 8px 0;
    border-top: 1px solid #eee;
    border-radius: 15px 15px 0 0;
    z-index: 100;
}

.nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.nav-icon-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.nav-icon-btn .nav-icon {
    width: 13.5px;
    height: 13.5px;
    object-fit: contain;
}

.nav-icon-btn svg {
    width: 31px;
    height: 31px;
}

/* Círculo SOLO detrás del ícono cuando está seleccionado */
.nav-icon-btn.active::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 38.4px;
    height: 38.4px;
    background-color: #CFCECE;
    border-radius: 50%;
    z-index: -1;
}

/* Texto estático debajo del ícono */
.nav-label {
    font-size: 11px;
    color: #666;
    margin: 0;
}

/* Icono de Transacciones 10% más grande (solo este) */
.nav-icon-btn[data-section="transactions"] .nav-icon {
    width: 16.34px;
    height: 16.34px;
}

/* ===== PANTALLA MÁS: MENÚ PRINCIPAL ===== */
.more-header {
    padding: 30px 0 20px 0;
    background: transparent;
    overflow: hidden;
}

.email-marquee-container {
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    width: 100%;
}

.email-marquee {
    display: inline-flex;
    white-space: nowrap;
    animation: marquee 23.33s linear infinite;
    will-change: transform;
}

.email-text {
    font-size: 26px;
    font-weight: 800;
    color: #000;
    margin-right: 80px;
    display: inline-block;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
    100% { transform: translateX(-50%); }
}

.more-menu {
    padding: 0 15px 20px 15px;
}

.more-option {
    display: flex;
    align-items: center;
    padding: 13px 16px;
    cursor: pointer;
    transition: background 0.2s;
}


.more-option:active {
    background: #f5f5f5;
}

.more-option-full {
    flex-direction: row;
}

.more-option:active {
    background: #f0f0f0;
}

.more-icon {
    width: 21.6px;
    height: 21.6px;
    margin-right: 15px;
    object-fit: contain;
}

.more-text {
    flex: 1;
    font-size: 13.5px;
    color: #000;
    font-weight: 500;
    line-height: 1.3;
}

.more-arrow {
    color: #999;
    flex-shrink: 0;
}

/* Estilo especial para la opción de Mercado de Reventa (texto largo) */
.more-text-block {
    flex: 1;
    margin-right: 10px;
}

.more-title {
    display: block;
    font-size: 13.5px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #000;
}

.more-description {
    font-size: 12px;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* ===== SUBPANTALLAS (Overlays) ===== */
.subscreen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f4f6f9;
    z-index: 50;
    display: none;
    flex-direction: column;
    overflow-y: auto;
    padding-bottom: 80px; /* Espacio para el nav inferior */
}

.subscreen.active {
    display: flex;
}

.subscreen-header {
    display: flex;
    align-items: center;
    padding: 15px;
    background: #fff;
    border-bottom: 1px solid #eee;
    position: sticky;
    top: 0;
    z-index: 10;
}

.back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.subscreen-title {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.subscreen-content {
    flex: 1;
    padding: 20px 15px;
}

/* Grupo de opciones (marco blanco unificado) */
.more-group {
    background: #fff;
    border-radius: 12px;
    margin-bottom: 9px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    overflow: hidden;
}

/* Ocultar header global en la sección "Más" */
#section-more.active ~ .main-header,
#section-more.active .main-header,
body:has(#section-more.active) .main-header {
    display: none !important;
}

/* Ícono de Más información más pequeño */
.more-icon-small {
    width: 17.3px !important;
    height: 17.3px !important;
}

/* ===== PERFIL DE USUARIO ===== */
.profile-black-header {
    background: #000;
    padding: 9px 15px 12px 15px;
    display: flex;
    align-items: center;
    position: relative;
}

.profile-back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-header-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    margin: 0;
}

.profile-content {
    padding: 20px 20px 40px 20px;
    background: #fff;
}

.profile-main-title {
    font-size: 28px;
    font-weight: 500;
    color: #000;
    margin: 0 0 10px 0;
}

.profile-section-title {
    font-size: 20px;
    color: #999;
    font-weight: 500;
    margin-bottom: 45px;
    margin-top: 10px;
}

.profile-field {
    margin-bottom: 24px;
}

.profile-label {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #000;
    margin-bottom: 8px;
}

.profile-fifa-id {
    padding: 12px 0;
    font-size: 16px;
    color: #555;
    border-bottom: 1px solid #ccc;
}

.profile-input,
.profile-select {
    width: 100%;
    padding: 12px 0;
    border: none;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    color: #000;
    background: transparent;
    outline: none;
}

.profile-input:focus,
.profile-select:focus {
    border-bottom-color: #0066cc;
}

.profile-input::placeholder {
    color: #999;
}

.profile-select {
    cursor: pointer;
    appearance: none;
    font-size: 14px;
    font-weight: 300;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 20px;
}

.profile-delete-account {
    display: block;
    text-align: center;
    color: #0066cc;
    font-size: 14px;
    text-decoration: none;
    margin: 30px 0;
}

.profile-delete-account:hover {
    text-decoration: underline;
}

.profile-checkbox-group {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
}

.profile-checkbox {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex-shrink: 0;
    cursor: pointer;
}

.profile-checkbox-label {
    font-size: 13px;
    color: #333;
    line-height: 1.5;
    cursor: pointer;
}

.profile-link-blue {
    color: #0066cc;
    text-decoration: underline;
}

.profile-save-btn {
    width: 100%;
    padding: 16px;
    background: #0066cc;
    color: #fff;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 30px;
    margin-bottom: 20px;
}

.profile-save-btn:active {
    background: #0052a3;
}

/* Ocultar header original del perfil */
#subscreen-profile .subscreen-header {
    display: none;
}

/* Ajustar scroll y altura en la pantalla de perfil */
#subscreen-profile {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
#subscreen-profile .subscreen-content {
    min-height: 100%;
    padding: 20px 20px 40px 20px !important;
}
#subscreen-profile .subscreen-content {
    min-height: 100%;
    padding: 20px 20px 40px 20px !important;
}
#subscreen-profile .subscreen-content {
    min-height: 100%;
    padding: 20px 20px 40px 20px !important;
}
#subscreen-profile .subscreen-content {
    min-height: 100%;
    padding: 20px 20px 40px 20px !important;
}
    z-index: 9999 !important;
}
#subscreen-profile {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important;
    padding-bottom: 20px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
}
#subscreen-profile {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important;
    padding-bottom: 20px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
}
#subscreen-profile {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important;
    padding-bottom: 20px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
}
#subscreen-profile {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important;
    padding-bottom: 20px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
}
#subscreen-profile {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important;
    padding-bottom: 20px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 9999 !important;
}

#subscreen-profile .subscreen-content {
    min-height: 100%;
    padding-bottom: 40px;
}

/* ===== PANTALLA DE IDIOMA ===== */
#subscreen-language .subscreen-content {
    background: #fff;
    padding: 0;
}

.language-list {
    padding: 10px 0;
}

.language-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s;
}

.language-item:last-child {
    border-bottom: none;
}

.language-item:active {
    background: #f5f5f5;
}

.language-name {
    font-size: 15px;
    color: #000;
    font-weight: 400;
}

.language-check {
    display: none;
    color: #0066cc;
}

.language-item.active .language-check {
    display: block;
}

.language-item.active .language-name {
    font-weight: 600;
    color: #0066cc;
}

/* ===== MODAL DE IDIOMA (Bottom Sheet) ===== */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    justify-content: center;
    align-items: flex-end;
    animation: fadeIn 0.3s ease;
}

.modal-overlay.active {
    display: flex;
}

.modal-content {
    background: #fff;
    width: 100%;
    max-height: 70vh;
    border-radius: 20px 20px 0 0;
    padding: 0;
    animation: slideUp 0.3s ease;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
    overflow: hidden;
}

.modal-header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.modal-title {
    font-size: 18px;
    font-weight: 600;
    color: #000;
    margin: 0;
    text-align: center;
}

.modal-close {
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #666;
    width: 31px;
    height: 31px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #666;
}

.modal-language-list {
    padding: 20px;
    margin-bottom: 0;
}

.modal-language-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: all 0.2s;
}

.modal-language-item:last-child {
    border-bottom: none;
}

.modal-language-item:active {
    transform: scale(0.98);
    opacity: 0.8;
}

.modal-language-name {
    font-size: 16px;
    color: #333;
}

.modal-language-check {
    display: none;
    color: #000;
}

.modal-language-item.active .modal-language-check {
    display: block;
}

.modal-language-item.active .modal-language-name {
    font-weight: 600;
}

.modal-confirm-btn {
    width: calc(100% - 40px);
    margin: 20px;
    padding: 16px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.modal-confirm-btn:active {
    background: #333;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

/* ===== PANTALLA DE REVENTA/INTERCAMBIO ===== */
.resale-tabs {
    display: flex;
    background: #fff;
    padding: 0 20px;
    border-bottom: 1px solid #e0e0e0;
}

.resale-tab-btn {
    background: none;
    border: none;
    padding: 15px 0;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    position: relative;
    font-weight: 400;
    margin-right: 40px;
}

.resale-tab-btn.active {
    color: #000;
    font-weight: 600;
}

.resale-tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #000;
}

.resale-tab-content {
    display: none;
    padding: 20px;
    min-height: calc(100vh - 200px);
}

.resale-tab-content.active {
    display: block;
}

.resale-empty-state {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
    padding: 20px 0;
}

.resale-empty-svg {
    width: 100%;
    max-width: 380px;
    height: auto;
    display: block;
}


/* ===== HEADER REVENTA/INTERCAMBIO (estilo marquee) ===== */
.resale-header {
    background: #fff;
    padding-bottom: 20px;
}

.resale-back-row {
    padding: 15px 15px 10px 15px;
}

.resale-back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.resale-marquee-row {
    padding: 10px 0 0 0;
}

#subscreen-resale .subscreen-header {
    display: none;
}

#subscreen-resale {
    background: #EEF2F3;
}

/* ===== PANTALLA DE ELIMINADO ===== */
.deleted-header {
    background: #fff;
    padding: 15px 15px 10px 15px;
    position: relative;
}

.deleted-back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.deleted-title {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.deleted-tabs {
    background: #fff;
    padding: 0 20px;
    border-bottom: 1px solid #e0e0e0;
}

.deleted-tab-btn {
    background: none;
    border: none;
    padding: 15px 0;
    font-size: 14px;
    color: #000;
    cursor: pointer;
    position: relative;
    font-weight: 600;
}

.deleted-tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 2px;
    background: #000;
}

.deleted-content {
    background: #EEF2F3;
    min-height: calc(100vh - 150px);
}

.deleted-empty-state {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
    padding: 20px 0;
}

.deleted-empty-svg {
    width: 100%;
    max-width: 274px;
    height: auto;
    display: block;
}

#subscreen-deleted .subscreen-header {
    display: none;
}

#subscreen-deleted {
    background: #EEF2F3;
}

/* ===== PANTALLA DE MÁS INFORMACIÓN ===== */
.moreinfo-header {
    background: #EEF2F3;
    padding: 15px 15px 10px 15px;
}

.moreinfo-back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

.moreinfo-title {
    font-size: 32px;
    font-weight: 700;
    color: #000;
    margin: 0;
}

.moreinfo-content {
    background: #EEF2F3;
    padding: 20px 15px;
}

.moreinfo-white-box {
    background: #fff;
    border-radius: 12px;
    padding: 10px 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.moreinfo-option {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    cursor: pointer;
    transition: background 0.2s;
    border-bottom: 1px solid #f0f0f0;
}

.moreinfo-option:last-child {
    border-bottom: none;
}

.moreinfo-option:active {
    background: #f5f5f5;
}

.moreinfo-link-icon {
    width: 17.3px;
    height: 17.3px;
    margin-right: 15px;
    object-fit: contain;
    flex-shrink: 0;
}

.moreinfo-option-text {
    flex: 1;
    font-size: 15px;
    color: #000;
    font-weight: 400;
}

.moreinfo-arrow {
    color: #999;
    flex-shrink: 0;
}

#subscreen-more-info .subscreen-header {
    display: none;
}

#subscreen-more-info {
    background: #EEF2F3;
}

/* ===== PANTALLA DE INFORMACIÓN DE SOPORTE ===== */
.support-header {
    background: #EEF2F3;
    padding-bottom: 20px;
}

.support-back-row {
    padding: 15px 15px 10px 15px;
}

.support-back-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.support-marquee-row {
    padding: 10px 0 0 0;
}

.support-content {
    background: #EEF2F3;
    padding: 0px 15px;
    min-height: calc(100vh - 150px);
}

.support-qr-container {
    background: #fff;
    border-radius: 4px;
    width: 176px;
    height: 176px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 15px auto;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.support-qr {
    width: 160px;
    height: 160px;
    object-fit: contain;
}

.support-card {
    background: #fff;
    border-radius: 12px;
    padding: 16px 20px;
    margin-bottom: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.support-card-label {
    font-size: 13px;
    color: #666;
    font-weight: 400;
    margin-bottom: 6px;
}

.support-card-value {
    font-size: 16px;
    color: #000;
    font-weight: 200;
    display: flex;
    align-items: center;
    gap: 8px;
}

.support-dot {
    width: 10px;
    height: 10px;
    background: #4CAF50;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

#subscreen-support .subscreen-header {
    display: none;
}

#subscreen-support {
    background: #EEF2F3;
}

/* Mercado de Reventa - reorganizado */
.more-option-centered {
    justify-content: flex-start;
    text-align: left;
    padding: 16px 20px;
}

.more-option-centered .more-text-block {
    margin-right: 0;
    width: 100%;
}

.more-option-centered .more-title {
    font-size: 13.5px;
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 1.3;
    color: #000;
}

.more-option-centered .more-description {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    color: #666;
    margin: 0;
}

/* ===== PANTALLA DE CERRAR SESIÓN ===== */
.logout-screen {
    background: #000;
}

.logout-content {
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

.logout-title {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 15px 0;
    width: 85%;
    text-align: left;
}

.logout-question {
    font-size: 16px;
    color: #fff;
    margin: 0 0 30px 0;
    line-height: 1.4;
    width: 85%;
    text-align: left;
}

.logout-btn {
    width: 85%;
    padding: 16px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin: 0 auto 8px auto;
    transition: all 0.2s;
}

.logout-btn-confirm {
    background: #fff;
    color: #000;
    border: none;
}

.logout-btn-confirm:active {
    background: #e0e0e0;
}

.logout-btn-cancel {
    background: #000;
    color: #fff;
    border: 2px solid #fff;
}

.logout-btn-cancel:active {
    background: #222;
}

/* Reducir SVG de la pestaña Completado en Reventa */
.resale-completed-svg {
    transform: scale(0.69);
    transform-origin: center center;
}

/* FIX: Ocultar empty-state cuando hay boletos */
#empty-tickets[style*="display: none"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Asegurar que tickets-list ocupe el espacio correcto */
#tickets-list {
    width: 100%;
    max-width: 95%;
    margin: 15px auto 0 auto;
    padding: 0;
}

/* Boletos con el mismo ancho que el banner */
#tickets-list .ticket-card {
    width: 100%;
    max-width: 100%;
    margin-bottom: 15px;
}

#tickets-list .ticket-card svg {
    width: 100%;
    max-width: 100%;
    height: auto;
}

#empty-tickets.hidden { display: none !important; }

/* ==========================================
   FUENTES PERSONALIZADAS
   ========================================== */
@font-face {
    font-family: 'Bahnschrift';
    src: url('../fonts/bahnschrift.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Myriad Pro';
    src: url('../fonts/Myriad Pro Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Segoe UI Variable';
    src: url('../fonts/SegoeUIVF.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Proteger las fuentes de los SVGs de los boletos */
#tickets-list svg text,
#tickets-list svg tspan {
    font-family: 'Segoe UI Variable', 'Bahnschrift', 'Myriad Pro', sans-serif !important;
}

/* Bajar el empty-state de Próximos Eventos */
#empty-tickets {
    padding-top: 40px !important;
}

/* ==========================================
   BOLETO ABIERTO - NUEVA ESTRUCTURA
   ========================================== */
.boleto-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.boleto-header {
    position: sticky;
    top: 0;
    background: #fff;
    padding: 8px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    z-index: 10;
}

.boleto-header-left {
    display: flex;
    align-items: center;
    gap: 15px;
}


.boleto-back-btn:hover {
    transform: translateX(-3px);
}

.boleto-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.boleto-menu-btn {
    font-size: 24px;
    cursor: pointer;
    background: none;
    border: none;
    color: #333;
    padding: 5px 10px;
    transition: transform 0.2s;
}

.boleto-menu-btn:hover {
    transform: scale(1.1);
}

.boleto-content {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.boleto-svg-container {
    background: #f5f5f5;
    width: 100%;
    max-width: 600px;
    
}

.boleto-svg-container svg {
    width: 100%;
    height: auto;
    display: block;
}

.boleto-buttons-container {
    width: 100%;
    max-width: 600px;
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 15px;
}

.boleto-btn {
    padding: 12px 30px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    background: #000;
    color: #fff;
}

.boleto-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* ==========================================
   BOLETO ABIERTO - PANTALLA COMPLETA
   ========================================== */
.boleto-header-fijo {
    background: #EEF2F3 !important;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #f5f5f5;
    padding: 5px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.boleto-back-btn {
    font-size: 34px !important;
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
    padding: 5px 10px;
    transition: transform 0.2s;
}

.boleto-back-btn:hover {
    transform: translateX(-5px);
}



.boleto-indicadores {
    display: flex;
    gap: 8px;
}

.indicador {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ccc;
    transition: all 0.3s;
}

.indicador.activo {
    background: #000;
    transform: scale(1.2);
}

.boleto-contenido {
    padding: 52px 20px 0px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: calc(100dvh - 45px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.boleto-svg-container {
    background: #f5f5f5;
    width: 100%;
    max-width: 600px;
    
}

.boleto-svg-container svg {
    width: 100%;
    height: auto;
    display: block;
}

.boleto-acciones {
    width: 100%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 15px;
}

.boleto-btn-accion {
    width: 100%;
    padding: 18px 25px;
    border: none;
    border-radius: 12px;
    background: #000;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: all 0.3s;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.boleto-btn-accion:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

.boleto-btn-accion:active {
    transform: translateY(-1px);
}

.btn-icon {
    font-size: 20px;
}

.btn-text {
    letter-spacing: 0.5px;
}

.boleto-header-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.boleto-header-spacer {
    width: 40px;
}

/* OVERRIDE FINAL BOTON ATRAS */

/* Ícono de retroceder en el header */
.btn-retroceder-icon {
    width: 31px;
    height: 31px;
    display: block;
}








/* ===== BOTONES SUPERPUESTOS (RESPONSIVE) ===== */
.boleto-svg-container {
    background: #f5f5f5;
    position: relative !important;
    width: 100%;
    max-width: 600px;
    margin: 0 auto 30px auto;
}

.boleto-svg-container svg {
    width: 100%;
    height: auto;
    display: block;
}

.boleto-btn-overlay {
    position: absolute;
    left: 4.5%;
    right: 4.5%;
    z-index: 10;
}

#btn-enviar-overlay {
    top: 78.55%;
    height: 3.66%;
}

#btn-reventa-overlay {
    top: 94.85%;
    height: 3.66%;
}

.action-btn {
    width: 100%;
    height: 100%;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 17.6px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.action-btn:hover {
    background: #222;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* ===== FORZAR CERO ESPACIO INFERIOR ===== */
.boleto-contenido {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.boleto-svg-container {
    background: #f5f5f5;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.boleto-svg-container svg {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    display: block;
}

/* ===== SOLUCIÓN DEFINITIVA: FLEXBOX Y SIN MÁRGENES ===== */
html, body {
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body {
    display: flex !important;
    flex-direction: column !important;
    height: 100dvh !important;
    overflow: hidden !important;
}

.boleto-header-fijo {
    background: #EEF2F3 !important;
    flex-shrink: 0 !important; /* El header mantiene su tamaño real */
}

.boleto-contenido {
    flex-grow: 1 !important; /* El contenido rellena exactamente el espacio sobrante */
    height: auto !important; /* Anulamos el calc() que dejaba huecos */
    min-height: 0 !important;
    padding-bottom: 0 !important; /* Pegado al fondo */
}

/* ===== BOTÓN DECORATIVO FLOTANTE (TRES PUNTOS) ===== */
.btn-flotante-tres-puntos {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: auto;
    z-index: 1000;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s;
}

.btn-flotante-tres-puntos:hover {
    
}

/* ===== PANTALLA REVENTA / INTERCAMBIO ===== */
.overlay-reventa {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    background-color: #000;
    z-index: 2000;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.overlay-reventa.activo {
    display: flex;
}



.contenido-reventa {
    position: relative;
    width: 100%;
    max-width: 600px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

.svg-reventa {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
}

/* Botón retroceder en pantalla de reventa - POSICIÓN FORZADA */


/* Botón retroceder en pantalla de reventa - POSICIÓN FORZADA */
.btn-retroceder-reventa {
    position: fixed !important;
    top: 25px !important;
    left: 70px !important;
    width: 45px !important;
    height: auto !important;
    cursor: pointer !important;
    z-index: 99999 !important;
}
/* ===== PANTALLA ENVIAR BOLETO ===== */
.btn-retroceder-enviar {
position: fixed;
top: 25px;
left: 26px;
width: 45px;
height: auto;
cursor: pointer;
z-index: 9999;
filter: brightness(0) invert(1); /* Blanco para que se vea sobre fondo negro */
}

.contenido-enviar {
width: 100%;
height: 100dvh;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
box-sizing: border-box;
}

.svg-enviar {
width: 100%;
max-width: 600px;
height: auto;
object-fit: contain;
}

/* ===== PANTALLA ENVIAR BOLETO ===== */
.enviar-header {
position: fixed;
top: 0;
left: 0;
right: 0;
background: #EEF2F3;
padding: 15px 20px;
z-index: 1000;
}
.enviar-back-btn {
background: none;
border: none;
cursor: pointer;
padding: 5px;
}
.enviar-contenido {
padding: 80px 20px 100px 20px;
background: #EEF2F3;
min-height: 100vh;
}
.enviar-titulo {
font-size: 32px;
font-weight: 700;
color: #000;
margin: 0 0 15px 0;
}
.enviar-descripcion {
font-size: 14px;
color: #666;
line-height: 1.5;
margin: 0 0 25px 0;
}
/* Casilla del boleto */
.boleto-info-card {
align-items: flex-start !important;
background: #fff;
border-radius: 12px;
padding: 15px;
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 15px;
box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
.boleto-numero {
font-size: 20px;
font-weight: 700;
color: #000;
min-width: 25px;
}
.boleto-detalles {
flex: 1;
}
.boleto-partido {
font-size: 17px;
font-weight: 700;
color: #000;
margin-bottom: 4px;
}
.boleto-linea-info {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}

.boleto-fecha {
    line-height: 0.9;
font-size: 15px;
color: #333;
font-weight: 400;
}

.boleto-separador {
font-size: 15px;
color: #333;
font-weight: 400;
}
.boleto-dropdown {
cursor: pointer;
}
.seleccionar-mas {
display: block;
font-size: 14px;
color: #0066cc;
text-decoration: none;
margin-bottom: 30px;
}
.paso-titulo {
font-size: 18px;
font-weight: 700;
color: #000;
margin: 0 0 15px 0;
}
.pasos-container {
background: #fff;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
.paso-item {
display: flex;
align-items: center;
padding: 20px 15px;
border-bottom: 1px solid #f0f0f0;
cursor: pointer;
}
.paso-item:last-child {
border-bottom: none;
}
.paso-numero {
font-size: 14px;
color: #ccc;
min-width: 25px;
}
.paso-check {
min-width: 25px;
margin-right: 10px;
}
.paso-contenido {
flex: 1;
}
.paso-label {
font-size: 15px;
font-weight: 600;
color: #000;
margin-bottom: 4px;
}
.paso-sublabel {
font-size: 13px;
color: #666;
}
.paso-flecha {
margin-left: 10px;
}
/* Input desplegable del destinatario */
.destinatario-input-container {
display: none;
margin-top: 10px;
}
.destinatario-input-container.active {
display: block;
}
.destinatario-email {
width: 100%;
padding: 12px;
border: 1px solid #e0e0e0;
border-radius: 8px;
font-size: 14px;
outline: none;
}
.destinatario-email:focus {
border-color: #0066cc;
}
/* Mensaje */
.mensaje-input {
width: 100%;
min-height: 80px;
padding: 12px;
border: 1px solid #e0e0e0;
border-radius: 8px;
font-size: 14px;
resize: none;
outline: none;
font-family: inherit;
margin-top: 5px;
}
.mensaje-input:focus {
border-color: #0066cc;
}
.contador-caracteres {
text-align: right;
font-size: 12px;
color: #999;
margin-top: 5px;
}
/* Botón Enviar final */
.enviar-footer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding: 15px 20px;
background: #fff;
box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
}
.btn-enviar-final {
width: 100%;
padding: 18px;
background: #000;
color: #fff;
border: none;
border-radius: 12px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
}
.btn-enviar-final:active {
background: #222;
}

/* ===== AJUSTAR SOLO TEXTO DE BOTONES ===== */
#btn-enviar-overlay .action-btn .btn-text,
#btn-reventa-overlay .action-btn .btn-text {
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

/* ===== SCROLL INVISIBLE PARA PANTALLA ENVIAR ===== */
.enviar-contenido {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
}

/* Ocultar scrollbar en Chrome/Safari/Edge */
.enviar-contenido::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Ocultar scrollbar en Firefox */
.enviar-contenido {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

/* Asegurar que el body no tenga scroll horizontal */
body {
    overflow-x: hidden !important;
}

/* ===== INTEGRAR BOTÓN ENVIAR EN LA PÁGINA (SIN BANNER) ===== */
.enviar-footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: transparent !important; /* Quita el fondo blanco de banner */
    box-shadow: none !important;        /* Quita la sombra */
    padding: 15px 20px 30px 20px !important; /* Espacio extra abajo para celular */
}

.enviar-contenido {
    padding-bottom: 100px !important; /* Espacio para que el botón no tape el último campo */
}

/* ===== AJUSTAR FONDO DEL TEXTAREA MENSAJE ===== */
.mensaje-input {
    background-color: #EEF2F3 !important;
    border-color: #ddd !important;
}

/* ===== REDUCIR ALTURA SECCIÓN MENSAJE ===== */
.mensaje-input {
    min-height: 50px !important;
    height: 50px !important;
}

/* ===== AJUSTAR ENLACE SELECCIONAR MÁS BOLETOS ===== */
.seleccionar-mas {
    color: #000 !important;
    padding-left: 15px !important;
}

/* ===== APPLE WALLET ===== */






/* ===== CALENDARIO ===== */
.calendario-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    margin: 0 16px 16px 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.calendario-titulo {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    margin: 0 0 20px 0;
}

.calendario-timeline {
    position: relative;
    padding-left: 25px;
}

.calendario-timeline::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: #e0e0e0;
}

.timeline-item {
    position: relative;
    padding-bottom: 20px;
}

.timeline-item:last-child {
    padding-bottom: 0;
}

.timeline-dot {
    position: absolute;
    left: -25px;
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #ccc;
    border: 3px solid #fff;
}

.timeline-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.timeline-label {
    font-size: 12px;
    font-weight: 600;
    color: #999;
    letter-spacing: 0.5px;
}

.timeline-hora {
    font-size: 20px;
    font-weight: 700;
    color: #000;
}

/* ===== APPLE WALLET - BOTÓN NEGRO ===== */






/* ===== IGUALAR ANCHO DE APPLE WALLET CON BOTÓN ENVIAR ===== */




/* ===== APPLE WALLET - REGLA ÚNICA ===== */






/* ===== CARD APPLE WALLET (usa mismo estilo que Enviar/Revender) ===== */
.accion-card {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    margin: 16px 0;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.accion-btn-card {
    width: 100%;
    padding: 16px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

.accion-btn-card:active {
    background: #222;
}

/* SCROLL INVISIBLE EN PRÓXIMOS EVENTOS - Banner fijo arriba */
#tab-upcoming {
    padding-left: 10px !important;
    padding-right: 5px !important;
    max-height: calc(100vh - 180px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

#tab-upcoming::-webkit-scrollbar {
    display: none !important;
}

#tab-upcoming .app-banner {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    background: #f5f5f5 !important;
}

/* Banner scrolleable junto con el contenido */
#tab-upcoming .app-banner {
    position: static !important;
    z-index: auto !important;
}

/* MI PERFIL - Header fijo y scroll invisible */
.subscreen#subscreen-profile {
    overflow-y: hidden !important;
}

.profile-black-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background: #000 !important;
    padding: 15px !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.profile-header-title {
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

.profile-back-btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 5px !important;
}

#subscreen-profile .subscreen-content {
    overflow-y: auto !important;
    flex: 1 !important;
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
}

#subscreen-profile .subscreen-content::-webkit-scrollbar {
    display: none !important;
}

/* REVENTA - Quitar scroll y dejar fija */
#subscreen-resale {
    overflow-y: hidden !important;
}

/* ELIMINADO - Quitar scroll y dejar fija */
#subscreen-deleted {
    overflow-y: hidden !important;
}

/* INFORMACIÓN DE SOPORTE - Quitar scroll y dejar fija */
#subscreen-support {
    overflow-y: hidden !important;
}

/* Subir el banner y todo el contenido en Próximos Eventos */
#tab-upcoming {
    padding-left: 10px !important;
    padding-right: 5px !important;
    padding-top: 13px !important;
}

/* Banner más ancho solo en Próximos Eventos */
#tab-upcoming .app-banner {
    max-width: 100% !important; width: 100% !important;
}
/* Alinear boletos al mismo ancho del banner en Próximos Eventos */
#tab-upcoming #tickets-list {
    max-width: 100% !important;
    width: 100% !important;
    margin: 15px 0 0 0 !important;
    padding: 0 !important;
}

/* Hacer horas del calendario más delgadas y pequeñas */
.timeline-hora {
    font-weight: 400 !important;
    font-size: 13px !important;
}

/* Reducir tamaño vertical de Apple Wallet en 20% */
.accion-card {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
.accion-btn-card {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Reducir grosor horizontal de Apple Wallet en 10% */
.accion-card {
    padding-left: 18px !important;
    padding-right: 18px !important;
}

/* X para cerrar pantalla de reventa */
.btn-cerrar-reventa {
    position: absolute;
    top: 20px;
    left: 20px;
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    z-index: 2001;
    font-weight: 300;
    line-height: 1;
}

/* Icono Apple Wallet */
.wallet-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
}

/* Icono Apple Wallet alineado a la izquierda */
.accion-btn-card {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.wallet-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

/* Fondo completo de boleto abierto */
.boleto-contenido {
    background: #EEF2F3 !important;
}

.boleto-svg-container {
    background: #EEF2F3 !important;
}

/* Casilla de boleto */
.boleto-info-card {
align-items: flex-start !important;
transition: background-color 0.2s;
}

.boleto-hora {
    line-height: 0.9;
font-size: 15px;
color: #333;
font-weight: 400;
}

.boleto-estadio {
    line-height: 0.9;
font-size: 15px;
color: #333;
font-weight: 400;
}

/* Animación de despliegue */
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* Flecha rotada cuando está expandido */


.boleto-dropdown svg {
    transition: transform 0.3s;
}

.boleto-dropdown.expandido svg {
    transform: rotate(90deg);
}

/* Número en círculo */
.numero-circulo {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f0f2f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 500;
    font-family: "Segoe UI Variable", "Bahnschrift", sans-serif;
    color: #000;
}

/* Pantalla Seleccionar Destinatario */
.seleccionar-header {
position: fixed;
top: 0;
left: 0;
right: 0;
background: #fff;
padding: 15px 20px;
z-index: 1000;
}

.seleccionar-back-btn {
background: none;
border: none;
cursor: pointer;
padding: 5px;
}

.seleccionar-contenido {
padding: 80px 20px 100px 20px;
background: #fff;
min-height: 100vh;
}

.seleccionar-titulo {
font-size: 24px;
font-weight: 700;
color: #000;
margin: 0 0 25px 0;
}

.buscar-email-container {
background: #fff;
border-radius: 12px;
padding: 20px;
margin-bottom: 25px;
}

.buscar-label {
display: block;
font-size: 12px;
color: #666;
margin-bottom: 8px;
}

.buscar-email-input {
width: 100%;
border: none;
font-size: 20px;
font-weight: 600;
color: #000;
outline: none;
}

.buscar-email-input::placeholder {
color: #999;
}

.lista-contactos {
background: #fff;
border-radius: 12px;
padding: 20px;
}

.lista-titulo {
font-size: 16px;
font-weight: 600;
color: #000;
margin: 0 0 15px 0;
}

.mensaje-contactos {
font-size: 14px;
color: #333;
line-height: 1.6;
text-align: center;
padding: 20px;
}

.btn-config-contactos {
display: block;
margin: 15px auto 0;
padding: 10px 20px;
background: #000;
color: #fff;
border: none;
border-radius: 8px;
font-size: 14px;
font-weight: 600;
cursor: pointer;
}

.seleccionar-footer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #fff;
padding: 15px 20px;
box-shadow: 0 -2px 8px rgba(0,0,0,0.05);
}

.btn-confirmar-email {
width: 100%;
padding: 16px;
background: #000;
color: #fff;
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
}

.btn-confirmar-email:disabled {
background: #ccc;
cursor: not-allowed;
}

/* Pantalla Envío Exitoso */
.exito-contenido {
min-height: 100vh;
background: #fff;
padding: 150px 20px;
display: flex;
flex-direction: column;
align-items: center;
}

.exito-icono {
width: 96px;
height: 96px;
background: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
}

.exito-titulo {
font-size: 24px;
font-weight: 700;
color: #000;
margin: 0 0 10px 0;
}

.exito-email {
font-size: 28px;
font-weight: 700;
color: #000;
margin-bottom: 10px;
text-align: center;
}

.exito-info {
font-size: 16px;
color: #333;
margin-bottom: 40px;
}

.exito-mensaje {
width: 100%;
max-width: 400px;
}

.check-mensaje {
display: flex;
align-items: center;
gap: 10px;
font-size: 18px;
font-weight: 600;
color: #000;
margin-bottom: 30px;
}

.exito-info-box {
background: #fff;
border-radius: 12px;
padding: 20px;
margin-bottom: 30px;
}

.exito-info-box h3 {
font-size: 16px;
font-weight: 700;
color: #000;
margin: 0 0 15px 0;
}

.exito-info-box p {
font-size: 14px;
color: #666;
line-height: 1.6;
margin: 0 0 10px 0;
}

.exito-info-box p:last-child {
margin-bottom: 0;
}

.exito-footer {
width: 100%;
max-width: 400px;
margin-top: auto;
}

.btn-ir-boletos {
width: 100%;
padding: 16px;
background: #000;
color: #fff;
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
}

/* Botón Filtro */
.btn-filtro {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

/* Tarjetas de pendientes */
.pending-card {
    background: #fff;
    border-radius: 12px;
    padding: 15px;
    margin: 10px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.pending-numero {
    min-width: 40px;
}

.pending-info {
    flex: 1;
}

.pending-label {
    font-size: 12px;
    color: #666;
    margin-bottom: 4px;
}

.pending-email {
    font-size: 14px;
    font-weight: 600;
    color: #000;
}

.pending-fecha {
    font-size: 10px;
    color: #666;
    white-space: nowrap;
    align-self: flex-start;
    margin-top: 2px;
}

.pending-flecha {
    min-width: 20px;
    margin-left: -15px;
    margin-top: 8px;
}


/* Pantalla Aceptar Boleto */
.aceptar-contenido {
    min-height: 100vh;
    background: #EEF2F3;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.aceptar-icono {
    position: relative;
    margin-bottom: 20px;
}

.numero-circulo-grande {
    width: 80px;
    height: 80px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    font-weight: 700;
    color: #000;
}

.icono-descarga {
    position: absolute;
    bottom: -5px;
    right: -5px;
    width: 32px;
    height: 32px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #4CAF50;
}

.aceptar-label {
    font-size: 14px;
    color: #666;
    margin-bottom: 5px;
}

.aceptar-email {
    font-size: 24px;
    font-weight: 700;
    color: #000;
    margin-bottom: 30px;
    text-align: center;
}

.aceptar-botones {
    width: 100%;
    max-width: 400px;
    margin-top: 0;
    display: flex;
    gap: 10px;
    padding: 0 !important;
}

.btn-regresar, .btn-descargar {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 15px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border: 2px solid #000;
    background: #fff;
    color: #000;
}

.btn-descargar {
    background: #000;
    color: #fff;
}

/* Pantalla Procesando */
.procesando-contenido {
    min-height: 100vh;
    background: #fff;
    padding: 150px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.procesando-icono {
    width: 100px;
    height: 100px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}

.procesando-titulo {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin: 0 0 20px 0;
    line-height: 1.4;
}

.procesando-texto {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0 0 15px 0;
}

.btn-ir-inicio {
    width: 100%;
    max-width: 400px;
    padding: 16px;
    background: #fff;
    color: #000;
    border: 2px solid #000;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-top: auto;
}

/* Flecha rotada en aceptar-boleto */
.boleto-dropdown.expandido svg {
    transform: rotate(180deg);
}

/* Bloques de información adicional en aceptar-boleto */
.info-adicional-bloque {
    background: #fff;
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    font-size: 13px;
    line-height: 1.6;
    white-space: pre-line;
    color: #333;
}

.info-adicional-bloque-asiento {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border-radius: 8px;
    padding: 12px 15px;
    margin: 10px 0;
}

.asiento-icono {
    min-width: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.asiento-texto {
    flex: 1;
    font-size: 13px;
    line-height: 1.6;
    white-space: pre-line;
    color: #333;
}

/* Notificaciones al mismo ancho que los boletos */
#tab-pending #pending-list {
    max-width: 100% !important;
    width: 100% !important;
    margin: 15px 0 0 0 !important;
    padding: 0 !important;
}

#tab-pending #filtro-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 3px 0 0 0 !important;
}

#tab-pending .pending-card {
    margin: 10px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Alinear Transacciones-Pendiente al mismo ancho que Próximos Eventos */
#tab-pending {
    padding-left: 10px !important;
    padding-right: 5px !important;
    padding-top: 13px !important;
}

#tab-pending .pending-card {
    margin: 10px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Restaurar color de fondo de las casillas de información */
.info-adicional-bloque {
    background: #f5f7fa !important;
}

.info-adicional-bloque-asiento {
    background: #f5f7fa !important;
}

/* Forzar fondo blanco solo en las casillas de texto de información */
.info-adicional-bloque {
    background: #fff !important;
}

.info-adicional-bloque-asiento {
    background: #fff !important;
}

/* Contenedor blanco para botones inferiores */
.botones-container-blanco {
    background: #fff;
    width: 100%;
    padding: 4px 20px;
    margin-top: 0;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
}

.botones-container-blanco .aceptar-botones {
    max-width: 500px;
    margin: 0 auto;
}

.botones-container-blanco .btn-regresar,
.botones-container-blanco .btn-descargar {
    border: none !important;
    background: transparent !important;
    color: #000 !important;
    padding: 5px 10px;
}

.botones-container-blanco .btn-descargar {
    background: transparent !important;
    color: #000 !important;
}

.botones-container-blanco .btn-regresar img,
.botones-container-blanco .btn-descargar img {
    display: block;
    margin: 0 auto 0 auto;
}

/* Extender el rectángulo blanco de borde a borde */
.botones-container-blanco {
    width: calc(100% + 40px) !important;
    margin-left: -20px !important;
    margin-right: -22px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
}

/* Reducir altura del bloque blanco a la mitad y fijarlo al fondo */
.botones-container-blanco {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: auto !important;
    margin-bottom: 38px !important;
}

/* Eliminar el espacio inferior del contenedor principal para que el bloque toque el borde final */
.aceptar-contenido {
    padding-bottom: 0 !important;
}

/* ===== OVERLAY DE RECARGA ===== */
.reload-overlay {
    display: flex !important;
    visibility: visible !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.reload-overlay.hidden {
    opacity: 0;
    pointer-events: none;
}

.reload-spinner {
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.1); opacity: 0.8; }
}

/* Aumentar tamaño del icono Mis Boletos en 1mm (~4px) */
.nav-icon-btn[data-section="tickets"] .nav-icon {
    width: 17.5px;
    height: 17.5px;
}

/* Eliminar sombras visuales de boleto-abierto sin afectar posicionamiento */
.boleto-header-fijo,
.calendario-card,
.accion-card {
    box-shadow: none !important;
}

/* Compactar pantalla enviar-boleto - solo visual */
.enviar-contenido {
    padding-top: 15px !important;
    padding-bottom: 80px !important;
}

.enviar-titulo {
    margin-bottom: 10px !important;
}

.enviar-descripcion {
    margin-bottom: 15px !important;
}

.boleto-info-card {
    padding: 12px !important;
    margin-bottom: 10px !important;
}

.seleccionar-mas {
    margin-bottom: 20px !important;
}

.paso-titulo {
    margin-bottom: 10px !important;
}

.paso-item {
    padding: 15px 15px !important;
}

.mensaje-input {
    min-height: 60px !important;
}

/* Compactar pantalla enviar-boleto - solo visual */
.enviar-contenido {
    padding-top: 15px !important;
    padding-bottom: 80px !important;
}

.enviar-titulo {
    margin-bottom: 10px !important;
}

.enviar-descripcion {
    margin-bottom: 15px !important;
}

.boleto-info-card {
    padding: 12px !important;
    margin-bottom: 10px !important;
}

.seleccionar-mas {
    margin-bottom: 20px !important;
}

.paso-titulo {
    margin-bottom: 10px !important;
}

.paso-item {
    padding: 15px 15px !important;
}

.mensaje-input {
    min-height: 60px !important;
}

.enviar-titulo {
    font-size: 28px !important;
    margin-bottom: 8px !important;
}

.enviar-descripcion {
    font-size: 13px !important;
    margin-bottom: 12px !important;
    line-height: 1.4 !important;
}

.boleto-info-card {
    padding: 10px !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}

.boleto-partido {
    font-size: 15px !important;
    margin-bottom: 2px !important;
}

.seleccionar-mas {
    margin-bottom: 15px !important;
    font-size: 13px !important;
}

.paso-titulo {
    font-size: 16px !important;
    margin-bottom: 8px !important;
}

.paso-item {
    padding: 12px 15px !important;
}

.paso-label {
    font-size: 14px !important;
    margin-bottom: 2px !important;
}

.paso-sublabel {
    font-size: 12px !important;
}

.mensaje-input {
    min-height: 50px !important;
    padding: 8px !important;
}

/* Asegurar scroll completo en enviar-boleto */
.enviar-contenido {
    padding-bottom: 140px !important;
}

/* Rediseño seleccionar-destinatario - según imagen */
.seleccionar-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}

.seleccionar-header .seleccionar-titulo {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.seleccionar-back-btn {
    position: absolute !important;
    left: 20px !important;
    z-index: 10 !important;
}

.seleccionar-contenido {
    padding: 65px 20px 100px 20px !important;
    background: #EEF2F3 !important;
}

.buscar-email-container {
    background: #fff !important;
    padding: 15px 20px !important;
    margin-bottom: 15px !important;
}

.buscar-label {
    font-size: 11px !important;
    color: #666 !important;
    margin-bottom: 5px !important;
}

.buscar-email-input {
    font-size: 18px !important;
    font-weight: 600 !important;
}

.lista-contactos {
    background: #fff !important;
    padding: 20px !important;
}

.lista-titulo {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #000 !important;
    margin-bottom: 15px !important;
}

.mensaje-contactos {
    font-size: 14px !important;
    color: #000 !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

.btn-config-contactos {
    display: block !important;
    margin: 20px auto 0 auto !important;
    background: #000 !important;
    color: #fff !important;
    border: none !important;
    padding: 12px 24px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.seleccionar-footer {
    background: #fff !important;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.1) !important;
}

/* Ajustes visuales seleccionar-destinatario */
.seleccionar-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

.seleccionar-back-btn {
    position: absolute !important;
    left: 20px !important;
    z-index: 10 !important;
}

.seleccionar-titulo {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.seleccionar-contenido {
    background: #EEF2F3 !important;
}

.lista-titulo {
    margin-bottom: 15px !important;
    font-size: 14px !important;
}

.mensaje-contactos {
    text-align: center !important;
    line-height: 1.6 !important;
}

.config-contactos-texto {
    margin-top: 15px !important;
    font-weight: 600 !important;
    color: #000 !important;
}

.btn-config-contactos {
    display: none !important;
}

/* Igualar header con enviar-boleto */
.seleccionar-header {
    background: #EEF2F3 !important;
    padding: 15px 20px !important;
}


/* Ajustar grosor vertical del header para que sea idéntico a enviar-boleto */
.seleccionar-header {
    padding: 18px 20px !important;
    min-height: 60px !important;
    box-sizing: border-box !important;
}

/* Centrar horizontalmente el título "Selecciona destinatario" */
.seleccionar-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

.seleccionar-titulo {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    width: 100% !important;
}

/* Subir casillas blancas pegadas al header */
.seleccionar-contenido {
    padding-top: 15px !important;
}

/* Eliminar sombra/línea debajo del header */
.seleccionar-header {
    box-shadow: none !important;
}

/* Cambiar color y quitar sombra del footer/botón inferior */
.seleccionar-footer {
    background: #EEF2F3 !important;
    box-shadow: none !important;
}

/* Ajustar título "Lista de contactos" fuera de la tarjeta */
.lista-titulo {
    margin-bottom: 10px !important;
    padding-left: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #000 !important;
}

.lista-contactos {
    padding-top: 15px !important;
}

/* Mover "Lista de contactos" un poco a la derecha */
.lista-titulo {
    padding-left: 10px !important;
}

/* Reducir padding en enviar-boleto y asegurar scroll */
.enviar-contenido {
    padding-top: 70px !important;
    padding-bottom: 100px !important;
}

/* Cambiar fondo de procesando-boleto */
.procesando-contenido {
    background: #EEF2F3 !important;
}

/* Cambiar fondo de envio-exitoso */
.exito-contenido {
    background: #EEF2F3 !important;
}

/* Reducir padding superior de envio-exitoso para subir el contenido */
.exito-contenido {
    padding-top: 40px !important;
}

/* Forzar que el icono sea perfectamente redondo */
.exito-icono {
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
    max-width: 96px !important;
    max-height: 96px !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
}

.exito-icono svg {
    width: 48px !important;
    height: 48px !important;
    flex-shrink: 0 !important;
}

/* Badge flotante de boletos en Próximos eventos */
.badge-boletos {
    position: absolute !important;
    top: 15px !important;
    right: -22px !important;
    background: #000 !important;
    color: #fff !important;
    border-radius: 50% !important;
    min-width: 18px !important;
    height: 18px !important;
    font-size: 11px !important;
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    padding: 0 4px !important;
    line-height: 1 !important;
}

/* Punto negro flotante en menú Transacciones */
.nav-item { position: relative; }
.nav-badge {
    position: absolute;
    top: 31px;
    right: 19px;
    width: 10.56px;
    height: 10.56px;
    background: #000;
    border-radius: 50%;
    display: none; /* Oculto por defecto */
    z-index: 10;
}

/* ===== SEPARACIÓN TOTAL: Subpantallas independientes ===== */
#subscreens-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 9999 !important;
    pointer-events: none !important;
}

#subscreens-container .subscreen {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 10000 !important;
    pointer-events: auto !important;
    display: none !important;
}

#subscreens-container .subscreen.active {
    display: flex !important;
}

/* El header NUNCA se oculta ni se mueve */
.main-header {
    display: block !important;
    visibility: visible !important;
    position: sticky !important;
    top: 0 !important;
}

/* Las secciones principales no se afectan entre sí */
#section-tickets,
#section-transactions,
#section-more {
    position: relative !important;
    z-index: 1 !important;
}

/* ===== ELIMINAR FRANJAS GRISES LATERALES EN MI PERFIL ===== */
#subscreen-profile .subscreen-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#subscreen-profile .profile-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
}

/* ===== MI PERFIL: Paddings laterales para centrar contenido ===== */
#subscreen-profile .profile-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ===== MI PERFIL: Forzar padding lateral ===== */
#subscreen-profile .profile-content,
#subscreen-profile .profile-field,
#subscreen-profile .profile-main-title,
#subscreen-profile .profile-section-title {
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#subscreen-profile .profile-input,
#subscreen-profile .profile-select,
#subscreen-profile .profile-fifa-id {
    width: calc(100% - 40px) !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
}

#subscreen-profile .profile-save-btn {
    width: calc(100% - 40px) !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
}

/* ===== MI PERFIL: Alinear todos los elementos al mismo nivel ===== */
#subscreen-profile .profile-label,
#subscreen-profile .profile-input,
#subscreen-profile .profile-select,
#subscreen-profile .profile-fifa-id {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* ===== MODAL IDIOMA: Diseño igual a la imagen ===== */

/* Fondo gris del modal */
#language-modal .modal-content {
    background: #f0f2f5 !important;
    border-radius: 20px 20px 0 0 !important;
}

/* Header con fondo gris */
#language-modal .modal-header {
    background: #f0f2f5 !important;
    border-bottom: none !important;
    padding: 20px !important;
}

/* Lista de idiomas en contenedor blanco separado */
#language-modal .modal-language-list {
    background: #fff !important;
    margin: 0 20px 20px 20px !important;
    border-radius: 12px !important;
    padding: 0 !important;
}

/* Cada item de idioma */
#language-modal .modal-language-item {
    padding: 16px 20px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

#language-modal .modal-language-item:last-child {
    border-bottom: none !important;
}

/* Botón Confirmar negro */
#language-modal .modal-confirm-btn {
    background: #000 !important;
    color: #fff !important;
    border-radius: 12px !important;
    margin: 0 20px 20px 20px !important;
    width: calc(100% - 40px) !important;
    font-weight: 600 !important;
}

/* ===== MODAL IDIOMA: X en esquina superior derecha ===== */
#language-modal .modal-close {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* ===== SOPORTE: Reducir QR 20% ===== */
#subscreen-support .support-qr-container {
    width: 141px !important;
    height: 141px !important;
}

#subscreen-support .support-qr {
    width: 128px !important;
    height: 128px !important;
}

/* ===== SOPORTE: Reducir tarjetas blancas 20% ===== */
#subscreen-support .support-card {
    padding: 13px 16px !important;
    margin-bottom: 8px !important;
}

#subscreen-support .support-card-label {
    font-size: 10px !important;
    margin-bottom: 4px !important;
}

#subscreen-support .support-card-value {
    font-size: 13px !important;
    gap: 6px !important;
}

#subscreen-support .support-dot {
    width: 8px !important;
    height: 8px !important;
}

/* ===== PANTALLA REGISTRO: Scroll vertical ===== */
#screen-register {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

#screen-register .fifa-id-content {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}



/* ===== MI PERFIL: Ajuste puntual para que el botón azul sea visible al hacer scroll ===== */
#subscreen-profile .subscreen-content {
    padding-bottom: 100px !important;
}




/* ===== MIS BOLETOS: Padding para que el último boleto se vea completo ===== */
#tab-upcoming {
    padding-bottom: 59px !important;
}
