/* Only sign-in and verification gates: the approved workspace is unchanged. */
body.bf-portal-page .bf-auth-stage,
body.bf-portal-page .bf-auth-stage * { box-sizing:border-box; }
body.bf-portal-page .bf-auth-stage {
    display:flex; align-items:center; justify-content:center;
    min-height:100vh; min-height:100svh; width:100%; max-width:none!important; margin:0!important;
    padding:24px 16px; background:#f5f6f8;
    font:400 14px/1.65 Montserrat,Arial,sans-serif;
}
body.bf-portal-page .bf-auth-stage :is(.bf-login-layout,.bf-account-gate) {
    display:grid; grid-template-columns:minmax(0,1fr); width:100%; max-width:1000px;
    min-height:0; margin:0; border:1px solid #353940; border-radius:18px;
    overflow:hidden; background:#191c21; color:#f7f8fa;
    box-shadow:0 16px 48px #23262b12;
}
body.bf-portal-page .bf-auth-stage :is(.bf-login-art,.bf-account-welcome) {
    position:relative; isolation:isolate; overflow:hidden; min-width:0; min-height:0;
    display:flex; flex-direction:column; justify-content:flex-end;
    gap:22px; padding:26px; background:#d61f26; color:#fff;
}
body.bf-portal-page .bf-auth-stage .bf-account-welcome::before {
    content:""; position:absolute; z-index:-1; width:650px; height:420px;
    top:25%; left:-75%; border:1px solid #ffffff40; border-radius:50%;
    transform:rotate(-32deg); box-shadow:0 0 0 25px #d61f26,0 0 0 26px #ffffff26,0 0 0 58px #d61f26,0 0 0 59px #ffffff26;
}
body.bf-portal-page .bf-auth-stage :is(.bf-login-art,.bf-account-welcome) h1 {
    font:600 24px/1.3 Poppins,Arial,sans-serif; letter-spacing:-.02em;
    margin:10px 0; max-width:360px; color:#fff;
}
body.bf-portal-page .bf-auth-stage :is(.bf-login-art,.bf-account-welcome) p {
    color:#fff; font-size:13px; line-height:1.65; margin:0; max-width:350px;
}
body.bf-portal-page .bf-auth-stage .bf-account-welcome>img { width:196px; height:auto; }
body.bf-portal-page .bf-auth-stage .bf-account-welcome svg { width:26px; height:26px; color:#fff; }
body.bf-portal-page .bf-auth-stage .bf-account-welcome a { color:#fff; font-size:13px; }
body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content) {
    align-self:center; width:100%; max-width:540px; margin:0 auto;
    padding:28px 24px; background:#191c21; border:0; border-radius:0;
    box-shadow:none; color:#f7f8fa; min-width:0;
}
body.bf-portal-page .bf-auth-stage .bf-portal-login { display:block; }
body.bf-portal-page .bf-auth-stage .bf-portal-login-mark { display:block; width:188px; max-width:100%; margin:0 auto 24px; }
body.bf-portal-page .bf-auth-stage .bf-portal-login-mark img { display:block; width:100%; height:auto; }
body.bf-portal-page .bf-auth-stage h2 { color:#fff!important; font:600 23px/1.4 Poppins,Arial,sans-serif!important; margin:0 0 10px; }
body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content)>h2,
body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content)>h2+p { text-align:center; }
body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content)>p {
    font-size:14px; line-height:1.65; color:#c7cbd2; margin:0 0 18px;
}
body.bf-portal-page .bf-auth-stage form { margin:22px 0 0; }
body.bf-portal-page .bf-auth-stage #loginform p { margin:0 0 16px; }
body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content) label { display:block; font:500 13px/1.5 Montserrat,Arial,sans-serif; color:#e3e6eb; margin:0 0 7px; }
body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content) input:not([type=hidden]):not([type=checkbox]):not([type=submit]) {
    box-sizing:border-box; width:100%; min-width:0; min-height:48px;
    padding:11px 13px; border:1px solid #646b76!important; border-radius:7px;
    background:#272b32!important; color:#fff!important; font:400 16px/1.5 Montserrat,Arial,sans-serif;
}
body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content) :is(.bf-button,input[type=submit]) {
    display:inline-flex; align-items:center; justify-content:center; width:100%;
    min-height:48px; padding:12px 16px; margin:8px 0 0; border:1px solid #d61f26;
    border-radius:7px; background:#d61f26; color:#fff; cursor:pointer;
    font:600 14px/1.5 Montserrat,Arial,sans-serif; text-align:center; white-space:normal;
}
body.bf-portal-page .bf-auth-stage .bf-account-form { gap:8px; }
body.bf-portal-page .bf-auth-stage .bf-account-form label { margin:8px 0 0; }
body.bf-portal-page .bf-auth-stage .bf-account-gate-content .bf-account-check { display:flex; align-items:center; gap:10px; min-height:44px; font-weight:400; }
body.bf-portal-page .bf-auth-stage .bf-account-check input { margin:0; width:20px; height:20px; flex:0 0 20px; }
body.bf-portal-page .bf-auth-stage .bf-text-link { color:#fff; font-size:13px; min-height:44px; display:inline-flex; align-items:center; }
body.bf-portal-page .bf-auth-stage .bf-auth-signout { margin-top:16px; }
body.bf-portal-page .bf-auth-stage .bf-login-help { font-size:12px!important; color:#bfc5ce!important; margin:8px 0 0!important; padding-top:16px; border-top:1px solid #424750; }
body.bf-portal-page .bf-auth-stage .bf-account-gate-content>.bf-account-hint { color:#d5dae2; background:#2b3038; padding:12px 14px; margin:16px 0 0; font-size:13px; }
body.bf-portal-page .bf-auth-stage .bf-account-qr { width:200px; height:auto; aspect-ratio:1; margin:14px auto; }
body.bf-portal-page .bf-auth-stage .bf-account-gate-content:has(.bf-account-qr) .bf-account-form { margin-top:10px; }
body.bf-portal-page .bf-auth-stage .bf-account-gate-content:has(.bf-account-qr) .bf-auth-signout { margin-top:8px; }
body.bf-portal-page .bf-auth-stage .bf-account-steps { font-size:14px; margin:16px 0; }
body.bf-portal-page .bf-auth-stage .bf-account-key code { background:#fff; color:#2f3136; }
body.bf-portal-page .bf-auth-stage .bf-account-key summary { color:#fff; }
body.bf-portal-page .bf-auth-stage .bf-portal-notice { overflow-wrap:anywhere; }
body.bf-portal-page .bf-auth-stage :focus-visible { outline:3px solid #f78d91!important; outline-offset:3px; }
@media(min-width:768px) {
    body.bf-portal-page .bf-auth-stage { padding:32px; }
    body.bf-portal-page .bf-auth-stage :is(.bf-login-layout,.bf-account-gate) { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); min-height:560px; }
    body.bf-portal-page .bf-auth-stage :is(.bf-login-art,.bf-account-welcome) { padding:38px; }
    body.bf-portal-page .bf-auth-stage :is(.bf-login-art,.bf-account-welcome) h1 { font-size:30px; }
    body.bf-portal-page .bf-auth-stage :is(.bf-portal-login,.bf-account-gate-content) { padding:38px; }
    body.bf-portal-page .bf-auth-stage .bf-account-gate-content:has(.bf-account-qr) { padding:26px 38px; }
}
@media(max-width:767px) {
    body.bf-portal-page .bf-auth-stage .bf-login-art { padding:22px 24px; gap:12px; }
    body.bf-portal-page .bf-auth-stage .bf-login-art>div>p:first-child { display:none; }
    body.bf-portal-page .bf-auth-stage .bf-login-art h1 { font-size:22px; margin:6px 0 10px; }
    body.bf-portal-page .bf-auth-stage .bf-portal-login { padding:24px; }
    body.bf-portal-page .bf-auth-stage .bf-account-welcome { gap:14px; }
    body.bf-portal-page .bf-auth-stage .bf-account-welcome>div>svg,
    body.bf-portal-page .bf-auth-stage .bf-account-welcome .bf-eyebrow { display:none; }
    body.bf-portal-page .bf-auth-stage .bf-account-welcome h1 { font-size:22px; }
    body.bf-portal-page .bf-auth-stage .bf-account-welcome a { min-height:44px; margin:-4px 0 -10px; }
}
