/**
 * Estilos Face ID / SweetAlert (NO pasa por Vite).
 * Garantiza el anillo de carga aunque el build de Vite esté desactualizado.
 */

.ftp-face-scan {
    text-align: center !important;
    padding: 0.25rem 0 0;
    overflow: hidden !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ftp-face-scan__hint,
.ftp-face-scan__status {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 100% !important;
    overflow-wrap: break-word;
}

.swal2-popup.ftp-swal .swal2-title,
.swal2-popup.ftp-swal .swal2-html-container,
.swal2-popup.ftp-swal .ftp-swal__html {
    text-align: center !important;
}

/* Evita barras de scroll en el modal Face ID */
.swal2-container.swal2-backdrop-show,
.swal2-container {
    overflow: hidden !important;
}

.swal2-popup.ftp-swal,
.swal2-popup.ftp-swal--wide {
    overflow: hidden !important;
    max-width: min(100vw - 1.5rem, 28rem) !important;
}

.swal2-popup.ftp-swal .swal2-html-container,
.swal2-popup.ftp-swal .ftp-swal__html {
    overflow: hidden !important;
    max-width: 100% !important;
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}

.ftp-face-scan__ring-wrap {
    position: relative !important;
    width: min(210px, 58vw) !important;
    height: min(210px, 58vw) !important;
    margin: 0.75rem auto !important;
    padding: 8px !important;
    box-sizing: content-box !important;
    overflow: hidden !important;
}

.ftp-face-scan__spinner {
    position: absolute !important;
    inset: 0 !important;
    border-radius: 50% !important;
    border: 4px solid rgba(255, 255, 255, 0.15) !important;
    border-top-color: #22d3ee !important;
    border-right-color: #a78bfa !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    z-index: 5 !important;
    opacity: 0;
}

.ftp-face-scan__ring-wrap.is-scanning .ftp-face-scan__spinner {
    opacity: 1 !important;
    animation: ftp-face-spin-public 0.8s linear infinite !important;
}

.ftp-face-scan__ring-wrap.is-done .ftp-face-scan__spinner {
    opacity: 1 !important;
    animation: none !important;
    border-color: #34d399 !important;
}

@keyframes ftp-face-spin-public {
    to { transform: rotate(360deg); }
}

.ftp-face-scan__ring {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 3px solid rgba(124, 58, 237, 0.7) !important;
    background: #0c1222;
}

.ftp-face-scan__ring video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.ftp-face-scan__status.is-scanning {
    color: #22d3ee !important;
}

.ftp-face-scan__status.is-done {
    color: #34d399 !important;
}

.landing-btn--login:disabled,
.landing-btn.is-disabled {
    opacity: 0.45 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    transform: none !important;
    box-shadow: none !important;
}
