.toast-box{position:fixed;right:18px;bottom:18px;z-index:99999;display:flex;flex-direction:column;gap:10px}
.toast-item{min-width:280px;max-width:380px;background:#111827;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 18px 45px rgba(0,0,0,.22);border-left:6px solid #6b7280;font-family:Arial,sans-serif;animation:toastIn .25s ease}
.toast-item strong{display:block;font-size:11px;letter-spacing:.08em;margin-bottom:4px}
.toast-item span{font-size:13px}.toast-success{border-left-color:#16a34a}.toast-warning{border-left-color:#f59e0b}.toast-danger{border-left-color:#dc2626}.toast-info{border-left-color:#2563eb}.toast-hide{opacity:0;transform:translateY(8px)}
@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.global-loader{display:none;position:fixed;inset:0;z-index:99998;background:rgba(255,255,255,.78);align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:14px;color:#111827}.global-loader:before{content:"";width:28px;height:28px;border-radius:50%;border:4px solid #ddd;border-top-color:#1d4ed8;margin-right:10px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.password-wrap{display:flex;gap:6px;align-items:center}.password-wrap input{flex:1}.btn-eye{height:25px;font-size:11px;cursor:pointer}.auth-link{font-size:12px}


/* Auth visual polish V2.8 */
.auth-page{
    min-height:100vh;
    background:#e5e5e5;
    font-family:Arial, Helvetica, sans-serif;
}
.auth-topbar{
    height:10px;
    background:#b40000;
    border-bottom:4px solid #111;
}
.auth-shell{
    width:100%;
    max-width:720px;
    margin:70px auto 0 auto;
    padding:0 18px;
}
.auth-card{
    background:#fff;
    border-radius:18px;
    box-shadow:0 22px 55px rgba(0,0,0,.18);
    border:1px solid rgba(0,0,0,.08);
    overflow:hidden;
}
.auth-card-header{
    background:linear-gradient(135deg,#e91d2b,#b90000);
    color:#fff;
    padding:22px 28px;
}
.auth-card-kicker{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.12em;
    opacity:.85;
    margin-bottom:6px;
}
.auth-card-title{
    font-size:22px;
    font-weight:bold;
    margin:0;
}
.auth-card-subtitle{
    margin:6px 0 0 0;
    font-size:13px;
    line-height:1.45;
    opacity:.95;
}
.auth-card-body{
    padding:26px 28px 28px 28px;
}
.auth-field{
    margin-bottom:16px;
}
.auth-field label{
    display:block;
    font-weight:bold;
    font-size:13px;
    color:#222;
    margin-bottom:7px;
}
.auth-input{
    width:100%;
    height:38px;
    border:1px solid #cfcfcf;
    border-radius:9px;
    padding:0 12px;
    box-sizing:border-box;
    font-size:14px;
    outline:none;
    background:#fff;
}
.auth-input:focus{
    border-color:#d71920;
    box-shadow:0 0 0 3px rgba(215,25,32,.12);
}
.auth-input[readonly]{
    background:#f4f4f4;
    color:#333;
}
.auth-password-wrap{
    display:flex;
    gap:8px;
    align-items:center;
}
.auth-password-wrap .auth-input{
    flex:1;
}
.auth-eye{
    height:38px;
    min-width:74px;
    border:1px solid #cfcfcf;
    border-radius:9px;
    background:#fff;
    color:#333;
    font-size:12px;
    cursor:pointer;
}
.auth-eye:hover{
    background:#f6f6f6;
}
.auth-help{
    background:#f7f7f7;
    border-left:5px solid #d71920;
    border-radius:12px;
    padding:12px 14px;
    margin:4px 0 18px 0;
    font-size:12px;
    color:#333;
    line-height:1.45;
}
.auth-actions{
    display:flex;
    gap:10px;
    align-items:center;
    margin-top:18px;
}
.auth-primary{
    border:0;
    border-radius:10px;
    background:#e91d2b;
    color:#fff;
    height:40px;
    padding:0 18px;
    font-weight:bold;
    cursor:pointer;
    box-shadow:0 10px 20px rgba(233,29,43,.25);
}
.auth-primary:hover{
    background:#c91420;
}
.auth-secondary{
    border:1px solid #cfcfcf;
    border-radius:10px;
    background:#fff;
    color:#333;
    height:40px;
    padding:0 18px;
    font-weight:bold;
    cursor:pointer;
}
.auth-footer-note{
    text-align:center;
    margin-top:16px;
    font-size:12px;
    color:#555;
}
@media(max-width:760px){
    .auth-shell{
        margin:28px auto 0 auto;
        padding:0 14px;
    }
    .auth-card-header{
        padding:20px 20px;
    }
    .auth-card-body{
        padding:22px 20px;
    }
    .auth-password-wrap{
        align-items:stretch;
    }
    .auth-eye{
        min-width:68px;
    }
}


/* 2FA visual V2.9 */
.otp-box{
    display:flex;
    align-items:center;
    gap:10px;
}
.otp-input{
    width:180px;
    height:46px;
    border:1px solid #cfcfcf;
    border-radius:12px;
    padding:0 14px;
    font-size:22px;
    letter-spacing:7px;
    text-align:center;
    font-weight:bold;
    box-sizing:border-box;
    outline:none;
}
.otp-input:focus{
    border-color:#d71920;
    box-shadow:0 0 0 3px rgba(215,25,32,.12);
}
.auth-step{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.35);
    color:#fff;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:bold;
    margin-top:12px;
}
.auth-step-dot{
    width:8px;
    height:8px;
    background:#fff;
    border-radius:50%;
}
.auth-muted{
    font-size:12px;
    color:#666;
    line-height:1.45;
    margin-top:10px;
}
.auth-resend-link{
    border:0;
    background:transparent;
    color:#b90000;
    font-weight:bold;
    cursor:pointer;
    text-decoration:underline;
    padding:0;
}
.auth-status-row{
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:16px;
}
.auth-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    background:#f6f6f6;
    border:1px solid #ddd;
    font-size:12px;
    color:#333;
}
.auth-chip:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#16a34a;
}


/* Password eye icon */
.auth-eye{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:46px !important;
    width:46px;
    padding:0 !important;
    overflow:hidden;
}
.auth-eye svg{
    width:18px;
    height:18px;
    stroke:#444;
    stroke-width:2;
    fill:none;
}
.auth-eye.active svg{
    stroke:#d71920;
}
.auth-card-body .auth-field{
    max-width:100%;
}
.auth-card{
    animation:authFade .28s ease;
}
@keyframes authFade{
    from{opacity:0;transform:translateY(8px);}
    to{opacity:1;transform:none;}
}

/* V3.3 Login UX Premium */
.login-premium-page{min-height:100vh;margin:0;background:#e5e5e5;font-family:Arial,Helvetica,sans-serif;color:#1f2937}
.login-premium-topbar{height:44px;background:linear-gradient(180deg,#e91d2b,#c80010);border-bottom:4px solid #111;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.login-premium-shell{width:100%;max-width:760px;margin:28px auto 0;padding:0 18px 28px;box-sizing:border-box}
.login-premium-card{border-radius:15px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.14)}
.login-premium-header{display:flex;align-items:center;gap:10px;background:#ed1c2a;color:#fff;padding:10px 15px;border-radius:10px 10px 0 0}
.login-premium-title-icon{width:25px;height:25px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.login-premium-title-icon svg{width:20px;height:20px;stroke:#ed1c2a;fill:none;stroke-width:2}.login-premium-title-icon svg circle{fill:#fff}.login-premium-title-icon svg path{fill:#ed1c2a;stroke:#ed1c2a}
.login-premium-header h1{margin:0;font-size:18px;line-height:1.1;text-shadow:0 1px 0 rgba(0,0,0,.25)}.login-premium-header p{margin:2px 0 0;font-size:11px;opacity:.9}
.login-premium-body{background:linear-gradient(90deg,#f4f4f4 0%,#e8e8e8 49%,#f7f7f7 100%);border:1px solid #c8c8c8;border-top:0;border-radius:0 0 10px 10px;min-height:218px}
.login-premium-form{display:grid;grid-template-columns:1fr 260px;gap:20px;padding:22px 20px;align-items:center}
.login-field{margin-bottom:10px}.login-field label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:bold;color:#171717;margin-bottom:6px}
.login-field label svg{width:16px;height:16px;stroke:#c80010;fill:none;stroke-width:2}
.login-input{width:100%;height:34px;border:1px solid #c7c7c7;border-radius:9px;background:#fff;padding:0 11px;box-sizing:border-box;outline:none;font-size:13px;color:#111827;transition:border-color .15s ease,box-shadow .15s ease}
.login-input:focus{border-color:#e91d2b;box-shadow:0 0 0 3px rgba(233,29,43,.13)}
.login-password-wrap{display:flex;gap:7px;align-items:center}.login-password-wrap .login-input{flex:1}
.login-eye-btn{width:38px;height:34px;border:1px solid #c7c7c7;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease}
.login-eye-btn:hover{background:#f5f5f5;border-color:#e91d2b}.login-eye-btn svg{width:18px;height:18px;stroke:#444;fill:none;stroke-width:2}.login-eye-btn.active svg{stroke:#e91d2b}
.login-captcha-row{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:end;margin-top:4px}.login-captcha-img{height:38px;border:1px solid #d0d0d0;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.login-captcha-img img{max-width:100%;height:auto;display:block}.login-captcha-field{margin-bottom:0}
.login-actions{display:flex;gap:7px;margin-top:12px}.login-btn-primary,.login-btn-secondary{border:0;border-radius:9px;min-height:34px;padding:0 12px;font-size:12px;font-weight:bold;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.login-btn-primary{background:#ed1c2a;color:#fff;box-shadow:0 8px 16px rgba(237,28,42,.24)}.login-btn-primary:hover{background:#c80010;transform:translateY(-1px)}.login-btn-secondary{background:#333;color:#fff}.login-btn-secondary:hover{background:#111;transform:translateY(-1px)}
.login-btn-primary svg,.login-btn-secondary svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.login-recovery-link{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:#b8000e;background:#fff;border:1px solid rgba(200,0,16,.22);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:bold;text-decoration:none}.login-recovery-link:hover{background:#fff5f5;text-decoration:none}.login-recovery-link svg{width:15px;height:15px;stroke:#b8000e;fill:none;stroke-width:2}
.login-brand-panel{min-height:170px;border-left:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.login-iusa-mark{width:92px;height:98px;display:flex;align-items:center;justify-content:center}.login-iusa-mark img{max-width:92px;max-height:98px}.login-iusa-fallback{display:none}.login-iusa-mark.no-img .login-iusa-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;width:82px;height:82px;border:4px solid #222;transform:rotate(45deg);background:#fff}.login-iusa-mark.no-img .login-iusa-fallback strong,.login-iusa-mark.no-img .login-iusa-fallback span{transform:rotate(-45deg)}.login-iusa-mark.no-img .login-iusa-fallback strong{color:#d71920;font-size:25px;letter-spacing:2px}.login-iusa-mark.no-img .login-iusa-fallback span{color:#222;font-weight:bold;font-size:12px}
.login-brand-copy{margin-top:8px;color:#686868}.login-brand-copy strong{display:block;font-size:26px;line-height:1.05;font-weight:normal}.login-brand-copy span{display:block;font-size:25px;line-height:1.05}
.login-manual-card{text-align:center;margin-top:28px}.login-manual-badge{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#003c9e;border:1px solid rgba(0,60,158,.2);border-radius:999px;padding:10px 16px;box-shadow:0 10px 24px rgba(0,0,0,.08);font-size:14px;font-weight:bold;text-decoration:none}.login-manual-badge:hover{background:#f7fbff;text-decoration:none}.login-manual-badge svg{width:19px;height:19px;stroke:#003c9e;fill:none;stroke-width:2}
.login-premium-footer{text-align:center;color:#111;font-size:12px;margin-top:15px;line-height:1.45}.login-premium-footer p{margin:2px 0}
@media(max-width:760px){.login-premium-shell{margin-top:18px;padding:0 12px 24px}.login-premium-form{grid-template-columns:1fr;padding:18px}.login-brand-panel{border-left:0;border-top:1px solid rgba(0,0,0,.08);padding-top:18px}.login-captcha-row{grid-template-columns:1fr}.login-actions{flex-direction:column}.login-btn-primary,.login-btn-secondary{width:100%}}


/* V3.3.2 Brand Polish */
.login-premium-card{
    animation:loginCardIn .32s ease both;
}
@keyframes loginCardIn{
    from{opacity:0;transform:translateY(10px);}
    to{opacity:1;transform:translateY(0);}
}
.login-brand-panel{
    background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.05));
    border-radius:0 0 10px 0;
    padding:8px 0;
}
.login-iusa-mark{
    width:132px;
    height:132px;
    margin-bottom:4px;
}
.login-iusa-mark img{
    max-width:122px;
    max-height:122px;
    object-fit:contain;
    filter:drop-shadow(0 8px 14px rgba(0,0,0,.16));
    animation:loginLogoIn .42s ease both;
}
@keyframes loginLogoIn{
    from{opacity:0;transform:scale(.96);}
    to{opacity:1;transform:scale(1);}
}
.login-brand-copy{
    margin-top:6px;
    color:#4f4f4f;
    letter-spacing:-.02em;
}
.login-brand-copy strong{
    font-size:27px;
    font-weight:600;
    color:#555;
}
.login-brand-copy span{
    font-size:24px;
    color:#6b6b6b;
}
.login-premium-header{
    box-shadow:inset 0 -1px 0 rgba(255,255,255,.18);
}
.login-premium-header h1{
    letter-spacing:-.01em;
}
.login-premium-header p{
    letter-spacing:.01em;
}
.login-manual-badge{
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.login-manual-badge:hover{
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(0,0,0,.11);
}
.login-premium-footer{
    color:#2d2d2d;
}
@media(max-width:760px){
    .login-brand-panel{
        border-radius:0 0 10px 10px;
    }
    .login-iusa-mark{
        width:118px;
        height:118px;
    }
    .login-iusa-mark img{
        max-width:108px;
        max-height:108px;
    }
    .login-brand-copy strong{
        font-size:24px;
    }
    .login-brand-copy span{
        font-size:22px;
    }
}

.login-actions{display:block}
.login-btn-primary{width:100%;justify-content:center}
.login-help-links{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.login-new-provider,.login-manual-inline,.login-recovery-link{
display:block;text-decoration:none;border:1px solid #ddd;border-radius:10px;
padding:10px 12px;background:#fff;color:#333}
.login-new-provider:hover,.login-manual-inline:hover,.login-recovery-link:hover{
border-color:#d71920;background:#fff7f7}
.login-new-provider strong{color:#d71920}
.login-new-provider span{font-size:12px;color:#666}

/* V3.4.1 Restore Logo Side Panel */
.login-premium-form{
    grid-template-columns: 1fr 280px !important;
    align-items: stretch !important;
}
.login-premium-fields{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.login-brand-panel{
    grid-column:auto !important;
    grid-row:auto !important;
    min-height:100% !important;
    border-left:1px solid rgba(0,0,0,.08) !important;
    border-top:0 !important;
    background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(255,255,255,.15));
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:18px 12px !important;
}
.login-iusa-mark{
    width:130px !important;
    height:130px !important;
}
.login-iusa-mark img{
    max-width:118px !important;
    max-height:118px !important;
}
.login-help-links{
    margin-top:14px;
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
}
.login-new-provider,
.login-recovery-link{
    display:flex !important;
    align-items:center;
    gap:10px;
    text-decoration:none;
    border:1px solid #ddd;
    border-radius:10px;
    padding:10px 12px;
    background:#fff;
    color:#333;
    box-sizing:border-box;
}
.login-new-provider svg,
.login-recovery-link svg{
    width:17px;
    height:17px;
    stroke:#d71920;
    fill:none;
    stroke-width:2;
    flex-shrink:0;
}
.login-new-provider{
    flex-wrap:wrap;
}
.login-new-provider strong{
    color:#d71920;
    line-height:1.1;
}
.login-new-provider span{
    width:100%;
    padding-left:27px;
    font-size:12px;
    color:#666;
}
.login-new-provider:hover,
.login-recovery-link:hover{
    border-color:#d71920;
    background:#fff7f7;
}
.login-actions{
    display:block !important;
}
.login-btn-primary{
    width:100%;
}
.login-manual-inline{
    display:none !important;
}
@media(max-width:760px){
    .login-premium-form{
        grid-template-columns:1fr !important;
    }
    .login-brand-panel{
        border-left:0 !important;
        border-top:1px solid rgba(0,0,0,.08) !important;
        min-height:auto !important;
    }
}

/* V3.5.5 - IUSA Identity Enrollment: top limpio, logo visible y salida segura */
.email-required-backdrop{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(15,23,42,.74);
    backdrop-filter:blur(16px) saturate(120%);
}
.email-required-card{
    position:relative;
    width:min(620px,100%);
    border-radius:24px;
    overflow:hidden;
    padding:0;
    background:#fff;
    border:1px solid rgba(255,255,255,.88);
    box-shadow:0 34px 90px rgba(15,23,42,.34);
    text-align:center;
    font-family:Arial,Helvetica,sans-serif;
    animation:emailModalIn .25s ease-out both;
}
.email-required-exit-form{
    position:absolute;
    z-index:12;
    top:16px;
    right:16px;
    margin:0;
}
.email-required-exit{
    border:1px solid rgba(255,255,255,.62);
    border-radius:999px;
    padding:8px 13px;
    background:rgba(255,255,255,.18);
    color:#fff;
    font-size:12px;
    font-weight:900;
    display:inline-flex;
    align-items:center;
    gap:7px;
    cursor:pointer;
    backdrop-filter:blur(8px);
    box-shadow:0 10px 24px rgba(0,0,0,.14);
}
.email-required-exit:hover{background:rgba(255,255,255,.28)}
.email-required-exit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@keyframes emailModalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.email-required-brand-hero{
    position:relative;
    min-height:178px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    background:linear-gradient(135deg,#c90013 0%,#ed1b24 58%,#ff2432 100%);
    overflow:visible;
}
.email-required-brand-hero:before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.24),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.10),transparent 58%);
    pointer-events:none;
}
.email-required-brand-hero:after{
    content:"";
    position:absolute;
    z-index:2;
    left:-6%;
    right:-6%;
    bottom:-1px;
    height:64px;
    background:#fff;
    clip-path:ellipse(63% 56% at 50% 100%);
    box-shadow:0 -12px 36px rgba(0,0,0,.045);
}
.email-required-red-glow{display:none}
.email-required-logo-wrap{
    position:relative;
    z-index:5;
    width:132px;
    height:132px;
    margin-top:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(255,255,255,.95);
    border-radius:28px;
    box-shadow:0 18px 34px rgba(0,0,0,.20);
}
.email-required-logo-wrap img{
    max-width:108px;
    max-height:108px;
    display:block;
    object-fit:contain;
}
.email-required-logo-fallback{display:none;color:#ed1b24;background:#fff;border:4px solid #1f2937;border-radius:18px;padding:12px 14px;transform:rotate(45deg);line-height:1}
.email-required-logo-fallback strong{display:block;font-size:24px;letter-spacing:.04em;transform:rotate(-45deg)}
.email-required-logo-fallback span{display:block;font-size:12px;color:#111827;font-weight:900;transform:rotate(-45deg)}
.email-required-logo-wrap.no-img .email-required-logo-fallback{display:block}

.email-required-content{
    position:relative;
    z-index:4;
    padding:34px 42px 30px;
    background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);
}
.email-required-kicker{
    display:inline-flex;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(237,27,36,.08);
    color:#e30613;
    font-size:12px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:12px;
}
.email-required-card h2{margin:0 0 10px;color:#111827;font-size:28px;line-height:1.16;font-weight:900;letter-spacing:-.02em}
.email-required-card p{margin:0 auto 24px;max-width:450px;color:#475569;font-size:16px;line-height:1.55}
.email-required-form{display:flex;flex-direction:column;gap:12px;text-align:left;margin-top:8px}
.email-required-form label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:900;color:#273449}
.email-label-icon{width:23px;height:23px;color:#ed1b24;display:inline-flex;align-items:center;justify-content:center}
.email-label-icon svg,.email-btn-icon svg,.email-required-note svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.email-required-input{
    width:100%;
    box-sizing:border-box;
    border:1px solid #d6dbe4;
    background:#fff;
    border-radius:14px;
    padding:16px 17px;
    outline:none;
    color:#111827;
    font-size:16px;
    box-shadow:0 10px 24px rgba(15,23,42,.05);
    transition:border-color .18s ease, box-shadow .18s ease;
}
.email-required-input:focus{border-color:#ed1b24;box-shadow:0 0 0 4px rgba(237,27,36,.13),0 10px 24px rgba(15,23,42,.05)}
.email-required-input.otp{text-align:center;letter-spacing:8px;font-size:24px;font-weight:900}
.email-required-primary{
    border:0;
    border-radius:14px;
    padding:16px 18px;
    margin-top:8px;
    color:#fff;
    background:linear-gradient(135deg,#d90016,#ed1b24 58%,#ff2636);
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 16px 34px rgba(237,27,36,.26);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    transition:transform .16s ease, box-shadow .16s ease;
}
.email-required-primary:hover{transform:translateY(-1px);box-shadow:0 20px 40px rgba(237,27,36,.32)}
.email-btn-icon{width:22px;height:22px;color:#fff;display:inline-flex}
.email-required-chip{border-radius:14px;padding:13px 14px;background:rgba(237,27,36,.06);border:1px solid rgba(237,27,36,.16);color:#991b1b;text-align:center;font-size:13px;font-weight:700}
.email-required-resend{margin:13px 0 0;text-align:center}
.email-required-resend button{border:0;background:transparent;color:#e30613;font-weight:900;text-decoration:underline;cursor:pointer}
.email-required-note{
    margin-top:26px;
    display:flex;
    align-items:center;
    gap:14px;
    text-align:left;
    border-radius:16px;
    padding:16px 18px;
    background:linear-gradient(135deg,rgba(237,27,36,.06),rgba(237,27,36,.015));
    color:#475569;
    font-size:14px;
    line-height:1.45;
    font-weight:800;
}
.email-required-note span{width:42px;height:42px;min-width:42px;color:#e30613;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:640px){
    .email-required-backdrop{padding:14px;align-items:flex-start;overflow:auto}
    .email-required-card{margin:22px 0;border-radius:22px}
    .email-required-brand-hero{min-height:154px}
    .email-required-logo-wrap{width:108px;height:108px;margin-top:24px;border-radius:23px}.email-required-logo-wrap img{max-width:88px;max-height:88px}
    .email-required-exit span{display:none}.email-required-exit{padding:8px}
    .email-required-content{padding:28px 22px 24px}
    .email-required-card h2{font-size:23px}
    .email-required-card p{font-size:14px}
}

/* V3.5.9 - Publicacion 2FA IUSA */
.twofa-intro-backdrop{
    position:fixed;
    inset:0;
    z-index:9998;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    background:rgba(15,23,42,.72);
    backdrop-filter:blur(12px);
}
.twofa-intro-card{
    width:min(1080px,96vw);
    max-height:94vh;
    overflow:hidden;
    background:#fff;
    border-radius:24px;
    box-shadow:0 34px 90px rgba(0,0,0,.35);
    border:1px solid rgba(255,255,255,.65);
    animation:emailModalIn .22s ease both;
}
.twofa-intro-image{
    background:#fff;
    max-height:calc(94vh - 92px);
    overflow:auto;
}
.twofa-intro-image img{
    display:block;
    width:100%;
    height:auto;
}
.twofa-intro-actions{
    display:flex;
    justify-content:flex-end;
    gap:12px;
    padding:18px 22px;
    background:linear-gradient(180deg,#ffffff,#f8fafc);
    border-top:1px solid #e5e7eb;
}
.twofa-intro-actions form{margin:0}
.twofa-intro-cancel,.twofa-intro-accept{
    border:0;
    border-radius:999px;
    padding:13px 28px;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
}
.twofa-intro-cancel{background:#f1f5f9;color:#334155;border:1px solid #d7dde7}
.twofa-intro-accept{background:linear-gradient(135deg,#d90016,#ed1b24 58%,#ff2636);color:#fff;box-shadow:0 14px 30px rgba(237,27,36,.26)}
@media(max-width:720px){
    .twofa-intro-backdrop{padding:12px;align-items:flex-start;overflow:auto}
    .twofa-intro-card{border-radius:18px;margin:18px 0;max-height:none}
    .twofa-intro-image{max-height:none}
    .twofa-intro-actions{position:sticky;bottom:0;justify-content:center;flex-wrap:wrap;padding:14px}
    .twofa-intro-cancel,.twofa-intro-accept{padding:12px 24px}
}
