/* Mobile authentication: brand hero, shared real auth form and a quiet download entry. */
#mobileAuthModal { display:block !important; overflow-y:auto; overscroll-behavior:contain; background:#f6f9ff url("/assets/auth/mobile-login-silk-v1.svg") center / 100% 100% no-repeat; }
#mobileAuthModal[hidden],#mobileAuthModal [hidden] { display:none !important; }
#mobileAuthModal .mobile-auth-backdrop { position:fixed; pointer-events:none; background:transparent !important; }
#mobileAuthModal .mobile-auth-sheet { min-height:100% !important; max-height:none !important; overflow:hidden; padding:0 18px calc(28px + env(safe-area-inset-bottom)) !important; justify-content:flex-start !important; background:transparent !important; isolation:isolate; }
#mobileAuthModal .mobile-auth-close { z-index:2; top:max(8px,env(safe-area-inset-top)); right:8px; width:30px; height:30px; font-size:23px; color:#8292aa; background:transparent !important; }
#mobileAuthModal .mobile-auth-hero { position:relative; flex:none; padding:32px 17px 27px; overflow:visible; }
.mobile-auth-logo { display:flex; align-items:center; gap:9px; position:relative; z-index:1; }
.mobile-auth-logo img { width:46px; height:46px; object-fit:contain; }
.mobile-auth-logo b { color:#08152f; font-size:22px; font-weight:750; letter-spacing:-.6px; }
#mobileAuthModal .mobile-auth-hero h2 { position:relative; z-index:1; text-align:left !important; margin:15px 0 8px; font-size:29px !important; line-height:1.42; letter-spacing:.02em !important; color:#071431; font-weight:800; }
.mobile-auth-hero h2 em { font-style:normal; color:#0874f9; }
.mobile-auth-hero p { position:relative; z-index:1; margin:0; color:#6e7e96; font-size:12.6px; white-space:nowrap; }
.mobile-auth-card { flex:none; position:relative; box-sizing:border-box; display:flex; flex-direction:column; min-height:440px; padding:28px 18px 25px; border-radius:19px; background:#ffffffeb; box-shadow:0 12px 40px #a9bad51a; }
.mobile-auth-tabs { display:grid; grid-template-columns:1fr 1fr; margin-bottom:38px; }
.mobile-auth-tabs button { position:relative; justify-self:center; padding:0 4px 12px; border:0; background:transparent; color:#7c8a9e; font-size:17px; font-weight:650; }
.mobile-auth-tabs button[aria-current] { color:#065ae2; }
.mobile-auth-tabs button[aria-current]::after { content:""; position:absolute; height:3px; background:#0669ff; border-radius:3px; left:1px; right:1px; bottom:0; box-shadow:0 2px 4px #0669ff24; }
#mobileAuthModal form { width:100%; margin:0; display:grid; gap:22px; }
#mobileAuthModal .mobile-auth-panel { gap:18px; }
#mobileAuthModal form label.mobile-auth-field { display:flex; position:relative; align-items:center; gap:12px; min-width:0; min-height:54px; padding:0 14px; border:1px solid #eaf0f7; border-radius:12px; background:#f8faffb3; font-weight:400; }
#mobileAuthModal .mobile-auth-field:focus-within { border-color:#9ac5ff; box-shadow:0 0 0 2px #2286ff0b; }
#mobileAuthModal .mobile-auth-field input { flex:1; min-width:0; width:0; padding:0 !important; min-height:52px !important; border:0 !important; border-radius:0 !important; outline:none; box-shadow:none; background:transparent !important; color:#163058; font:inherit; font-size:16px; }
.mobile-auth-field input::placeholder { color:#aeb9c9; }
#mobileAuthModal svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mobile-auth-field>svg { color:#8b9bb0; }
.mobile-auth-field button { display:grid; place-items:center; flex:none; border:0; padding:4px 0 4px 4px; background:transparent; color:#8a9ab0; }
#mobileAuthModal .mobile-sms-code-row { display:flex; grid-template-columns:none; }
#mobileAuthModal .mobile-sms-code-row button { color:#0872f4; font-size:11px; white-space:nowrap; }
#mobileAuthModal .mobile-auth-agreement { display:flex; gap:8px; align-items:flex-start; margin:2px 0; color:#79899f; font-size:12px !important; font-weight:400; line-height:1.7; }
#mobileAuthModal .mobile-auth-agreement input { width:17px; height:17px; margin:1px 0 0; appearance:none; border:1px solid #d7dfeb; border-radius:50%; background:#fff; }
#mobileAuthModal .mobile-auth-agreement input:checked { border-color:#0876ff; background:#0876ff; box-shadow:inset 0 0 0 3px #fff; }
#mobileAuthModal .mobile-auth-agreement a { color:#0876ff; text-decoration:none; white-space:nowrap; }
#mobileAuthModal .mobile-auth-submit { width:100%; min-height:52px !important; margin:2px 0 0 !important; padding:10px; border-radius:12px !important; background:linear-gradient(105deg,#35a9fb 0%,#0877ff 59%,#08bad7 100%); color:white; font-size:17px; font-weight:650; box-shadow:0 4px 9px #1b85ec10; }
.mobile-auth-links { display:flex; justify-content:space-between; gap:8px; margin-top:auto; padding-top:24px; }
.mobile-auth-links button,.mobile-auth-return { border:0; padding:0; background:transparent; color:#72849e; font:inherit; font-size:12px; }
.mobile-auth-register-hint { margin:0; color:#8293aa; font-size:11px; line-height:1.6; }
#mobileAuthModal .mobile-auth-reset { gap:12px; }
.mobile-auth-reset h3 { margin:0; color:#152e56; font-size:19px; }
.mobile-auth-reset>p:not(.mobile-auth-error) { color:#8b9aaf; margin:0 0 4px; font-size:12px; }
.mobile-auth-reset .mobile-auth-return { justify-self:center; margin:4px; }
.mobile-auth-error { line-height:1.6; }
.mobile-auth-download { display:flex; flex:none; align-items:center; gap:16px; position:relative; padding:15px 20px; margin-top:17px; border:1px solid #fff; border-radius:17px; color:#142e58; background:#ffffff80; text-decoration:none; }
#mobileAuthModal .mobile-auth-download>svg:first-child { width:29px; height:35px; color:#4baeff; stroke-width:2.3; }
.mobile-auth-download span { flex:1; display:grid; gap:3px; }
.mobile-auth-download b { color:#0d234d; font-size:15px; font-weight:650; }
.mobile-auth-download small { color:#8b9eb9; font-size:12px; }
#mobileAuthModal .mobile-auth-download>svg:last-child { width:16px; color:#3d6095; }
.mobile-auth-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
#mobileAuthModal button:focus-visible,#mobileAuthModal a:focus-visible,#mobileAuthModal input[type=checkbox]:focus-visible { outline:2px solid #268cff; outline-offset:3px; }
@media (max-width:350px) { #mobileAuthModal .mobile-auth-sheet { padding-left:13px !important; padding-right:13px !important; } #mobileAuthModal .mobile-auth-hero { padding:30px 10px 24px; } .mobile-auth-logo b { font-size:20px; } #mobileAuthModal .mobile-auth-hero h2 { font-size:27px !important; } .mobile-auth-hero p { font-size:11.5px; } .mobile-auth-card { padding:20px 15px; } #mobileAuthModal .mobile-auth-agreement { font-size:10px !important; gap:6px; } }
@media (prefers-reduced-motion:no-preference) { .mobile-auth-tabs button::after { transition:opacity .15s; } }

.mobile-auth-card[data-view=register] .mobile-auth-links { display:none; }

@media (max-height:740px) { .mobile-auth-card { min-height:400px; } .mobile-auth-tabs { margin-bottom:28px; } }
