/* Styles owned only by login. */
/* Keep the established desktop composition; reflow only when space is constrained. */
body.auth-login .hello{display:block!important;height:auto!important;min-height:1.5em;line-height:1.5}
@media(max-width:760px){
html:has(body.auth-login),html:has(body.auth-login) body{height:auto;min-height:100%;overflow:auto;overscroll-behavior:auto;scroll-padding-top:88px}
body.auth-login{display:block;padding-bottom:0;min-height:100dvh}
body.auth-login header{position:sticky;inset:0 0 auto;z-index:10;background:#080a10;height:80px;min-height:80px;padding:16px 5vw}
body.auth-login header .brand{position:absolute;top:16px;left:5vw;transform:none}
body.auth-login .welcome-center{position:static;inset:auto;padding:24px 5vw 0;margin:0 auto;max-width:1280px;text-align:center}
body.auth-login .welcome-center h1{font-size:clamp(30px,3.7vw,48px);line-height:1.2;letter-spacing:-1.2px;overflow-wrap:break-word}
body.auth-login .hello{display:block!important;height:auto!important;min-height:1.5em;line-height:1.5;font-size:23px;margin:0 0 12px;overflow:visible}
body.auth-login .hello-word{transform:none;line-height:inherit}
body.auth-login .layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);width:100%;max-width:1280px;height:auto!important;min-height:calc(100dvh - 240px);margin:0 auto;padding:36px 5vw 52px;gap:clamp(28px,5vw,72px);align-items:center}
body.auth-login .visual{width:100%!important;height:auto!important;min-height:0;max-height:none;margin:0;overflow:visible;min-width:0}
body.auth-login .form-shell{width:100%;height:auto!important;min-height:0;max-height:none;margin:0 auto;align-self:center;min-width:0}
body.auth-login .visual{display:flex;justify-content:center;padding:16px 0}
body.auth-login .visual img.vae.team{display:block;width:100%;max-width:650px;height:auto;max-height:none;object-fit:contain}
body.auth-login .form-shell{max-width:390px}
body.auth-login .phone-row,body.auth-login .providers{min-width:0}
body.auth-login .phone-row>*,body.auth-login .providers>*{min-width:0}
body.auth-login .email-value{overflow-wrap:anywhere}
}
@media(max-width:640px){
 body.auth-login header{padding-inline:24px}
 body.auth-login header .brand{left:24px}
 body.auth-login .welcome-center{padding:20px 24px 0}
 body.auth-login .welcome-center h1{font-size:clamp(26px,6vw,34px)}
 body.auth-login .hello{font-size:20px;margin-bottom:10px}
 body.auth-login .layout{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;max-width:520px;min-height:0;padding:24px 24px 40px;gap:28px}
 body.auth-login .visual{flex:none;max-width:370px}
 body.auth-login .form-shell{flex:none}
}
@media(max-width:360px){
 body.auth-login header .brand{font-size:21px;gap:6px}
 body.auth-login header .brand img{width:35px;height:35px;flex-basis:35px}
}

/* The outer document owns scrolling at high zoom, including its help footer. */
body.auth-login:where(.auth-document-flow){min-height:0}
body.auth-login:where(.auth-document-flow) header{position:relative}
body.auth-login:where(.auth-document-flow) .layout{min-height:0!important}
/* Give the registration illustration and form distinct space on desktop. */
@media(min-width:761px){
}

/* Short desktop viewports retain the established scene, with less empty space. */
@media(min-width:761px){
 html:has(body.auth-login.auth-document-flow),html:has(body.auth-login.auth-document-flow) body{height:auto;min-height:0;overflow:auto}
 body.auth-login.auth-document-flow{display:block;padding-bottom:0;min-height:0}
 body.auth-login.auth-document-flow header .brand{position:absolute;top:16px;left:5vw;transform:none}
 body.auth-login.auth-document-flow header{position:absolute;inset:0 0 auto;height:72px;padding:16px 5vw}
 body.auth-login.auth-document-flow .welcome-center{position:absolute;inset:72px 5vw auto;padding:0;margin:0;max-width:none}
 body.auth-login.auth-document-flow .welcome-center h1{font-size:clamp(30px,3.7vw,40px);line-height:1.12}
 body.auth-login.auth-document-flow .hello{font-size:16px;min-height:24px;margin-bottom:8px}
 body.auth-login.auth-document-flow .hello-word{transform:none}
 body.auth-login.auth-document-flow .layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);height:max(450px,calc(var(--auth-screen-height,650px) - 48px))!important;min-height:0!important;padding:170px 5vw 24px;gap:clamp(45px,6vw,95px)}
 body.auth-login.auth-document-flow .visual{display:grid;height:100%;min-height:0;max-height:620px;padding:0;margin:0}
 body.auth-login.auth-document-flow .visual img.vae.team{width:88%;height:auto;max-width:760px;max-height:84%}
 body.auth-login.auth-document-flow .form-shell{width:min(370px,100%);height:auto;max-height:none;margin:0 auto}
}

/* Final approved access dimensions: scale content naturally, never stretch the form. */
body.auth-login .form-shell{width:100%;max-width:370px;min-width:0}
body.auth-login .layout>*{min-width:0}
body.auth-login .otp-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
body.auth-login .otp-fields input{min-width:0;width:100%}
@media(min-width:761px){
 body.auth-login.auth-document-flow .layout{height:auto!important;min-height:max(470px,calc(var(--auth-screen-height,650px) - 48px))!important;padding-bottom:32px}
 body.auth-login.auth-document-flow .visual{min-height:220px;height:auto}
}
@media(max-width:640px){
 body.auth-login .welcome-center{position:static!important;inset:auto!important;padding-top:24px}
 body.auth-login .layout{height:auto!important;padding-top:24px}
 body.auth-login .visual img.vae.team{max-width:350px}
 body.auth-login .form-shell{max-width:370px}
}

/* Scale the greeting's letters, not a full-width transformed box. */
body.auth-login .hello-word{transform:none;width:fit-content;max-width:100%;margin-inline:auto;overflow-wrap:anywhere}
@media(min-width:761px){body.auth-login:not(.auth-document-flow) .hello{font-size:26px}}

/* The public shell owns scrolling; the scene keeps a stable viewport reference. */
html:has(body.auth-login.auth-window-scroll){height:auto!important;overflow:hidden!important}
html body.auth-login.auth-window-scroll{height:var(--auth-screen-height)!important;overflow:visible!important;min-height:0!important}

/* One bounded scene: iframe growth must never push the access content down. */
@media(min-width:761px){
 body.auth-login.auth-window-scroll .layout{height:var(--auth-screen-height)!important;min-height:0!important;padding:160px 5vw 32px;align-items:center}
 body.auth-login.auth-window-scroll .visual{height:100%;min-height:0;max-height:none;padding:0}
 body.auth-login.auth-window-scroll .visual img.vae.team{width:88%;height:auto;max-height:100%;object-fit:contain}
 body.auth-login.auth-window-scroll .welcome-center{top:72px}
 body.auth-login.auth-window-scroll .welcome-center h1{font-size:40px;line-height:1.15}
 body.auth-login.auth-window-scroll .hello{font-size:18px;min-height:27px;margin-bottom:8px}
 body.auth-login.auth-document-flow .form-shell{max-height:none}
 body.auth-login.auth-document-flow input,body.auth-login.auth-document-flow .continue{height:48px}
 body.auth-login.auth-document-flow .continue{margin-top:12px}
 body.auth-login.auth-document-flow .divider{margin:18px 0 10px}
 body.auth-login.auth-document-flow .providers button{height:34px}
 body.auth-login.auth-document-flow .bottom{font-size:12px;line-height:1.5;margin-top:16px}
 body.auth-login.auth-document-flow .helper:empty{display:none}
}
@media(min-width:761px){
 body.auth-login.auth-window-scroll .visual img.vae.team{min-height:0;max-height:max(120px,calc(var(--auth-screen-height) - 192px))}
}
@media(min-width:761px){
 body.auth-login.auth-document-flow .form-shell:has(.code-step:not(.hide)) .access-back{margin:0 0 8px;padding:0;font-size:12px;line-height:18px}
 body.auth-login.auth-document-flow .code-instruction{font-size:13px;line-height:1.4;margin:0 0 4px}
 body.auth-login.auth-document-flow .email-preview{margin:0 0 12px}
 body.auth-login.auth-document-flow .email-value{font-size:16px}
 body.auth-login.auth-document-flow .form-shell:has(.code-step:not(.hide)) .continue{height:40px}
 body.auth-login.auth-document-flow .resend-wrap{margin-top:12px}
 body.auth-login.auth-document-flow .resend{font-size:12px}
 body.auth-login.auth-document-flow .helper{font-size:11px;line-height:1.4;margin:8px 0 0}
}
