/* Shared, card-free login and registration layout. */
.auth-page {
  min-height:100vh; min-height:100dvh; box-sizing:border-box;
  padding:88px 24px 128px; align-items:center;
  background:radial-gradient(ellipse at 50% 0,rgba(96,184,255,.08),transparent 55%);
}
.auth-content { width:100%; max-width:420px; margin:auto; position:relative; }
.auth-header { text-align:left; margin-bottom:30px; }
.auth-header .app-brand { justify-content:flex-start!important; margin-bottom:32px; }
.auth-header .app-brand img { width:38px!important; }
.auth-eyebrow { color:var(--primary,#60b8ff); font-size:.68rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; margin:0 0 10px; }
.auth-header h2 { font-size:clamp(1.8rem,6vw,2.25rem)!important; line-height:1.2; letter-spacing:-.04em; margin:0 0 12px; }
.auth-header p.text-sub { line-height:1.6; margin:0; }
.auth-content .form-control { min-height:50px; border-radius:12px; background:var(--bg,#0a0a0f); border:1px solid var(--border); box-sizing:border-box; }
.auth-content .form-control:focus { border-color:var(--primary,#60b8ff); box-shadow:0 0 0 3px rgba(96,184,255,.12); }
.auth-content .btn-google { min-height:50px; background:transparent; border-radius:12px; }
.auth-content .btn-primary { min-height:50px; border-radius:12px; font-weight:700; }
.auth-content .or-divider { margin:24px 0; font-size:.72rem; }
.auth-content .btn-send-otp { height:50px; }
.auth-content .gmail-otp-row .gmail-wrap { min-width:0; }
.auth-content .gmail-otp-row .form-control { width:100%; }
.auth-content .otp-group { gap:clamp(5px,2vw,10px); }
.auth-content .otp-box { min-width:0; width:clamp(34px,10vw,48px); }
.back-btn { top:24px; left:max(24px,env(safe-area-inset-left)); min-height:40px; z-index:2; }
.auth-support { position:fixed; z-index:50; right:max(20px,env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:9px; padding:14px 18px; border-radius:999px; background:#128c4a; color:#fff; font-size:.8rem; font-weight:700; text-decoration:none; box-shadow:0 6px 22px #0004; }
.auth-support svg { width:24px; height:24px; flex-shrink:0; }
.auth-support:hover { background:#0c733c; }
.auth-support:focus-visible, .auth-content button:focus-visible, .back-btn:focus-visible { outline:3px solid var(--primary,#60b8ff); outline-offset:4px; }
@media (min-width:800px) { .auth-page { padding-top:100px; } }
@media (max-width:360px) { .auth-page { padding-left:18px; padding-right:18px; } .auth-support span { display:none; } .auth-support { padding:14px; } }
@media (prefers-reduced-motion:reduce) { .auth-content *, .auth-content { animation:none!important; transition:none!important; } }

.auth-content .auth-signin-link { margin:28px 0 0; line-height:1.7; }
