/* Scoped to the Staff challenge; the primary sign-in keeps its existing layout. */
.twofa-active [hidden] { display: none !important; }
.twofa-active #main-wrapper > .container-fluid > .row > .content-width-column { display: none; }
.twofa-active .shadow-form-column { flex: 0 0 45%; max-width:45%; min-height:100vh; position:relative; box-shadow:none; }
.twofa-active .shadow-form-column > .pre-form-container,
.twofa-active .shadow-form-column > .row { display:none; }
.twofa-active .shadow-form-column > .container { padding:100px 32px !important; width:100%; }
.twofa-active .shadow-form-column > .container > .row > div { flex:0 0 100%; max-width:378px; padding:0; }
.twofa-active .logo-form { width:86px; height:auto; margin-bottom:26px; }
#twoFactorForm { color:#071b3c; font-size:13px; }
#twoFactorTitle { font-size:22px; line-height:1.35; margin:20px 0 10px; font-weight:400; }
#twoFactorTitle:focus { outline:none; }
.twofa-intro { color:#64738b; font-size:12px; line-height:1.6; margin-bottom:26px; }
.twofa-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:#eef8ff; color:#008bff; border-radius:50%; font-size:22px; }
#twoFactorForm button { cursor:pointer; }
#twoFactorForm button:disabled { cursor:default; opacity:.6; }
#twoFactorForm button:focus-visible, #twoFactorForm a:focus-visible { outline:2px solid #008bff; outline-offset:4px; }
.twofa-active .twofa-back { position:absolute; top:30px; left:max(24px, calc(50% - 189px)); border:0; background:none; padding:0; color:#0077db; font-size:12px; }
.twofa-input-wrap { position:relative; }
#twoFactorDigits { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
#twoFactorDigits span { display:flex; align-items:center; justify-content:center; height:58px; border:1px solid #9ca8bd; border-radius:4px; font-size:18px; background:white; }
#twoFactorCode { width:100%; min-width:0; height:48px; border:1px solid #9ca8bd; border-radius:4px; text-align:center; letter-spacing:3px; background:white; color:#071b3c; }
.twofa-input-wrap:not(.recovery) #twoFactorCode { position:absolute; inset:0; height:100%; opacity:0; z-index:1; font-size:18px; }
.twofa-input-wrap:focus-within #twoFactorDigits span { border-color:#008bff; box-shadow:0 0 0 1px #008bff; }
.twofa-input-wrap.invalid #twoFactorDigits span, .twofa-input-wrap.invalid #twoFactorCode { border-color:#d93025; }
#twoFactorCodeLabel { font-size:11px; margin-bottom:6px; }
#twoFactorCodeLabel:not(.recovery) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#twoFactorStatus { font-size:11px; text-align:center; line-height:1.5; margin:9px 0 14px; min-height:0; }
#twoFactorStatus:empty { margin:0 0 20px; }
#twoFactorForm .btn-red { background:linear-gradient(110deg,#ef492d,#df3532); border:0; border-radius:3px; min-height:42px; font-size:13px; box-shadow:0 8px 16px #db3e3026; }
#twoFactorForm .twofa-link { display:block; width:100%; border:0; background:none; color:#0077db; text-align:center; padding:0; margin:20px 0; font-size:12px; }
.twofa-small { text-align:center; font-size:10px; color:#64738b; margin-top:12px; }
.twofa-support { border-top:1px solid #dce1e9; margin-top:26px; padding-top:26px; text-align:center; color:#64738b; font-size:10px; }
.twofa-support a { color:#071b3c; text-decoration:underline; }
.twofa-choices { border:1px solid #dce1e9; border-radius:4px; overflow:hidden; }
.twofa-choices button { display:flex; width:100%; align-items:center; gap:12px; padding:14px; background:white; border:0; text-align:left; color:#071b3c; font-size:12px; }
.twofa-choices button + button { border-top:1px solid #dce1e9; }
.twofa-choices button:hover { background:#f5f7fb; }
.twofa-choices .twofa-icon { width:32px; height:32px; border-radius:4px; font-size:18px; flex-shrink:0; }
.twofa-choices .twofa-choice-arrow { margin-left:auto; color:#64738b; }
#twoFactorHero { position:relative; overflow:hidden; flex:0 0 55%; max-width:55%; min-height:100vh; background:linear-gradient(125deg,#385b98 0%,#652c70 55%,#981c4a 100%); color:white; padding:44px 50px; display:flex; align-items:center; }
#twoFactorHero:after { content:''; position:absolute; width:420px; height:420px; bottom:-210px; right:-210px; border:1px solid #ffffff15; border-radius:50%; box-shadow:0 0 0 65px #ffffff04,0 0 0 130px #ffffff04; pointer-events:none; }
.twofa-hero-logo { position:absolute; top:44px; left:50px; width:84px; }
.twofa-hero-copy { max-width:570px; position:relative; z-index:1; }
.twofa-hero-copy h2 { color:white; font-size:clamp(34px,3vw,56px); font-weight:400; line-height:1.1; white-space:pre-line; margin:22px 0; letter-spacing:-1.5px; }
.twofa-hero-copy > p:not(.twofa-eyebrow) { font-size:14px; line-height:1.8; max-width:460px; }
.twofa-eyebrow { font-size:11px; font-weight:600; letter-spacing:1px; }
.twofa-hero-note { display:flex; gap:12px; align-items:center; max-width:405px; padding:16px; margin-top:30px; border:1px solid #ffffff25; border-radius:6px; background:#ffffff0a; font-size:11px; }
.twofa-hero-note > span { background:#ff694d; border-radius:50%; padding:1px 6px; font-size:16px; }
.twofa-hero-note strong { font-size:13px; }
.twofa-partner { position:absolute; left:50px; bottom:32px; width:175px; background:white; padding:8px; border-radius:2px; }
@media(max-width:767px) {
 #twoFactorHero { display:none; }
 .twofa-active .shadow-form-column { flex-basis:100%; max-width:100%; }
 .twofa-active .shadow-form-column > .container { padding:90px 24px 40px !important; }
 #twoFactorDigits { gap:6px; }
 #twoFactorDigits span { height:50px; }
}

.twofa-active .shadow-form-column > .container > .row { margin:0; }
