/* Initial geometry is present before scripts load; no delayed layout switch. */
:root{--access-height:100dvh;--auth-screen-height:calc(100dvh - 25px)}
body.auth-login .welcome-center,body.auth-login .form-shell,body.auth-login .visual{animation:none!important}
dialog button:focus-visible{outline:2px solid #b9c3d4;outline-offset:4px}
@media(max-width:760px){
 html:has(body.auth-login){height:100%;overflow:hidden;overscroll-behavior:none}
 body.auth-login{height:var(--access-height);min-height:0;max-height:var(--access-height);overflow:hidden;overscroll-behavior:none;display:grid!important;grid-template-rows:58px auto minmax(0,1fr) 40px;padding:0!important}
 body.auth-login header{height:58px;min-height:58px;position:relative;padding:10px 24px;background:#080a10}
 body.auth-login header .brand{position:absolute;top:11px;left:24px;height:36px;font-size:22px;gap:7px}
 body.auth-login header .brand img{width:36px;height:36px;flex-basis:36px}
 body.auth-login .public-language{top:12px;right:24px}
 body.auth-login .language-trigger{height:34px}
 body.auth-login .welcome-center{position:static;padding:8px 20px 0;margin:0;max-width:none;min-height:0;text-align:center}
 body.auth-login .welcome-center .hello{font-size:18px;line-height:1.3;min-height:24px;margin:0 0 8px}
 body.auth-login .welcome-center h1{font-size:clamp(23px,6vw,29px);letter-spacing:-.8px;line-height:1.15;margin:0}
 body.auth-login main.layout{height:100%!important;min-height:0!important;max-height:100%;width:100%;max-width:450px;padding:8px 24px 4px;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:minmax(0,1fr) auto!important;gap:8px;margin:0 auto;align-items:center;overflow:hidden}
 body.auth-login .visual{height:100%!important;min-height:0!important;width:100%!important;max-width:none;max-height:100%;padding:0;margin:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
 body.auth-login .visual img.vae.team{height:100%!important;width:auto!important;max-height:100%!important;max-width:100%!important;object-fit:contain;animation:none!important;transform:none!important;filter:none!important;will-change:auto}
 body.auth-login .form-shell{height:auto!important;min-height:0;max-height:none;width:100%;max-width:none;margin:0!important;align-self:end;flex:none}
 body.auth-login input,body.auth-login .continue{height:46px;font-size:16px}
 body.auth-login .continue{margin-top:10px;border-radius:10px}
 body.auth-login .helper{font-size:12px;line-height:1.35;margin:7px 0 0}
 body.auth-login .divider{font-size:11px;margin:12px 0 5px}
 body.auth-login .providers{gap:10px}
 body.auth-login .providers button{height:34px;font-size:13px}
 body.auth-login .bottom{font-size:11px;margin:8px 0 0;line-height:1.4}
 body.auth-login .bottom button{font-size:11px}
 body.auth-login .public-statusbar{position:static;inset:auto;height:40px;min-height:40px;padding:9px 14px 10px;margin:0;align-items:center;background:#080a10}
 body.auth-login .public-statusbar .statusbar-support{font-size:9px;gap:5px}
 body.auth-login .public-statusbar .statusbar-support small{font-size:8px}
 body.auth-login.access-keyboard{grid-template-rows:54px minmax(0,1fr)}
 body.auth-login.access-keyboard .welcome-center,body.auth-login.access-keyboard .visual,body.auth-login.access-keyboard .public-statusbar,body.auth-login.access-keyboard .social{display:none!important}
 body.auth-login.access-keyboard main.layout{grid-template-rows:1fr!important;align-items:center;padding:12px 24px}
 body.auth-login.access-keyboard .form-shell{align-self:center}
}

/* Stable message slot and balanced mobile composition. */
body.auth-login .helper,body.auth-login .helper:empty{display:block!important;height:40px;min-height:40px;max-height:40px;margin:8px 0 0;overflow:auto;line-height:1.45}
@media(max-width:760px){
 body.auth-login{grid-template-rows:58px auto minmax(0,1fr) 48px}
 body.auth-login header .brand{transform:none}
 body.auth-login .welcome-center{padding:18px 20px 0}
 body.auth-login main.layout{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:8px 24px 14px}
 body.auth-login .visual{height:clamp(135px,30dvh,250px)!important;max-height:32dvh;flex:0 1 250px;min-height:80px!important}
 body.auth-login .visual img.vae.team{width:100%!important;height:100%!important;max-width:390px!important}
 body.auth-login .form-shell{align-self:center;flex:0 0 auto}
 body.auth-login .helper,body.auth-login .helper:empty{height:36px;min-height:36px;max-height:36px;font-size:12px;margin:7px 0 0}
 body.auth-login .divider{margin:6px 0 5px}
 body.auth-login .bottom{margin:12px 0 0}
 body.auth-login .public-statusbar{height:48px;min-height:48px;padding:12px 14px 16px}
 body.auth-login.access-keyboard main.layout{justify-content:center}
}
@media(max-width:760px){body.auth-login .public-statusbar .statusbar-support{font-size:11px}body.auth-login .public-statusbar .statusbar-support small{font-size:10px}}

body.auth-login .public-statusbar{justify-content:center}
@media(max-width:760px){body.auth-login .public-statusbar .statusbar-support{font-size:10px;gap:5px}body.auth-login .public-statusbar .statusbar-support svg{width:14px;height:14px}}
/* Social access stays flat after touch, hover and focus. */
body.auth-login .providers button,
body.auth-login .providers button:hover,
body.auth-login .providers button:focus,
body.auth-login .providers button:active{background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none}
body.auth-login .providers button:focus-visible{outline:2px solid #a7b4cd;outline-offset:2px}

body.auth-login .public-statusbar .statusbar-support .channel-mark.whatsapp{display:flex;align-items:center;width:15px;height:15px;flex:0 0 15px}.statusbar-support .channel-mark.whatsapp svg{display:block;width:15px;height:15px}

/* Desktop uses distinct rows so browser zoom cannot move the form into the heading. */
@media(min-width:761px){
 html:has(body.auth-login){height:100%;overflow:auto;overscroll-behavior:none}
 body.auth-login{display:grid;grid-template-rows:76px auto minmax(0,1fr) 48px;height:var(--access-height);min-height:560px;overflow:visible}
 body.auth-login header{position:relative;inset:auto;height:76px;padding:16px 5vw}
 body.auth-login header .brand{position:absolute;top:16px;left:5vw}
 body.auth-login .welcome-center{position:static;inset:auto;padding:8px 5vw 12px;margin:0;text-align:center}
 body.auth-login .welcome-center .hello{font-size:20px;line-height:1.4;min-height:28px;margin:0 0 9px}
 body.auth-login .welcome-center h1{font-size:clamp(30px,3.7vw,48px);line-height:1.15;margin:0}
 body.auth-login main.layout{height:100%!important;min-height:0!important;max-height:100%;width:100%;max-width:1440px;padding:12px 5vw 14px;gap:clamp(32px,5vw,72px);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
 body.auth-login .visual{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;max-height:100%;margin:0;padding:0}
 body.auth-login .visual img.vae.team{width:100%;height:100%;max-width:760px;max-height:100%;object-fit:contain}
 body.auth-login .form-shell{max-width:370px;max-height:none;margin:0 auto}
 body.auth-login input,body.auth-login .continue{height:48px;font-size:16px}
 body.auth-login .divider{margin:10px 0 6px}
 body.auth-login .providers button{height:36px}
 body.auth-login .bottom{margin-top:16px;line-height:1.5}
 body.auth-login .public-statusbar{position:static;inset:auto;height:48px;min-height:48px;padding:8px 20px 14px}
}
/* Help and account links use the same type and hover treatment. */
body.auth-login .public-statusbar .statusbar-support{font-family:inherit;font-size:13px;line-height:1.5;gap:8px;color:#737c8d!important;transition:color .2s}
body.auth-login .public-statusbar .statusbar-support b{font-weight:400;color:#abb8d2;transition:color .2s}
body.auth-login .public-statusbar .statusbar-support:hover,
body.auth-login .public-statusbar .statusbar-support:hover b{color:#fff!important}
@media(max-width:760px){body.auth-login .public-statusbar .statusbar-support{font-size:11px}}

body.auth-login .visual{position:relative}.team-badge-overlay{position:absolute;pointer-events:none;overflow:visible}
body.auth-login.public-page .visual img.vae.team{animation:none!important;transform:none!important}

/* Compact language control at the edge of the access header. */
body.auth-page .public-language{top:18px;right:16px}
body.auth-page .language-trigger{width:46px;min-width:46px;height:28px;padding:0 6px;gap:4px;border-radius:6px}
body.auth-page .language-trigger>svg:first-child{display:none}
body.auth-page .language-trigger .public-language-code{font-size:11px;line-height:1;font-weight:400}
body.auth-page .language-trigger .public-language-arrow{width:9px;height:9px;margin:0}
@media(max-width:760px){body.auth-page .public-language{top:14px;right:14px}body.auth-page .language-trigger{height:28px}}

/* Keep identity and content available while the mobile keyboard is open. */
@media(max-width:760px){
 html:has(body.auth-login.access-keyboard){height:auto!important;overflow:auto!important;overscroll-behavior:auto;scroll-padding-top:82px}
 body.auth-login.access-keyboard{display:block!important;height:auto!important;min-height:var(--access-height);max-height:none!important;overflow:visible!important;overscroll-behavior:auto}
 body.auth-login.access-keyboard header{position:sticky;top:0;z-index:20;height:66px;min-height:66px;background:#080a10}
 body.auth-login.access-keyboard .welcome-center{display:block!important;padding:8px 20px 0}
 body.auth-login.access-keyboard .welcome-center .hello{font-size:16px;min-height:22px;margin-bottom:4px}
 body.auth-login.access-keyboard .welcome-center h1{font-size:23px;line-height:1.2}
 body.auth-login.access-keyboard main.layout{display:flex!important;height:auto!important;min-height:0!important;max-height:none;overflow:visible;justify-content:flex-start;gap:10px;padding:10px 24px 16px}
 body.auth-login.access-keyboard .visual{display:flex!important;height:96px!important;min-height:96px!important;max-height:96px;flex:none}
 body.auth-login.access-keyboard .visual img.vae.team{height:96px!important;max-height:96px!important;object-fit:contain}
 body.auth-login.access-keyboard .form-shell{align-self:center;flex:none}
 body.auth-login.access-keyboard .social{display:block!important}
 body.auth-login.access-keyboard .public-statusbar{display:flex!important}
 body.auth-login.access-keyboard input{scroll-margin-top:90px;scroll-margin-bottom:24px}
}

/* Avoid double-tap zoom on the decorative scene, retaining pinch zoom and panning. */
@media(max-width:760px){
 body.auth-login .visual,body.auth-login .visual img.vae.team{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
}

/* Real eight-digit email verification, using the original access scene. */
body.auth-login .otp-fields{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
body.auth-login .otp-fields input{padding:0;text-align:center;font-size:22px;letter-spacing:0;height:48px}
body.auth-login .email-preview{margin:10px 0 16px;text-align:left}
body.auth-login .email-value{display:block;font-size:14px;color:#a6b1c4;overflow-wrap:anywhere}
body.auth-login.auth-code .social,body.auth-login.access-keyboard.auth-code .social{display:none!important}
body.auth-login .resend{background:none;border:0;padding:10px 0;color:#a6b1c4;font-size:13px}
body.auth-login .resend:disabled{opacity:.6;cursor:default}
body.auth-login .access-back{background:none;border:0;color:#a6b1c4;display:inline-flex;align-items:center;gap:7px;padding:0;margin-bottom:14px;font-size:13px}
body.auth-login .access-back svg{width:16px;height:16px}
@media(max-width:760px){body.auth-login .otp-fields input{font-size:20px;height:44px}}
