.mobile-login-methods[hidden], .mobile-login-footer[hidden], #mobileOtpProfile[hidden], .mobile-otp-dialog [hidden] { display:none!important; }
.mobile-login-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; padding:4px; margin:20px 0; border:1px solid #465156; border-radius:8px; background:#202a2c; }
.mobile-login-methods button { min-width:0; min-height:44px; padding:8px; border:0; border-radius:5px; background:transparent; color:#bfccc6; font:600 14px/1.4 system-ui; letter-spacing:0; cursor:pointer; }
.mobile-login-methods button[aria-selected="true"] { background:#cef43d; color:#1f2d0d; }
.mobile-login-methods button:focus-visible, .mobile-login-footer :focus-visible { outline:2px solid #cef43d; outline-offset:2px; }
.mobile-login-footer { margin-top:20px; padding-top:14px; border-top:1px solid #35433e; color:#b9c7c0; font:14px/1.5 system-ui; letter-spacing:0; }
.mobile-login-footer p { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:0 6px; margin:0; }
.mobile-login-footer button { min-height:44px; border:0; background:transparent; padding:8px 0; color:#cef43d; font:600 14px/1.4 system-ui; letter-spacing:0; cursor:pointer; }
.mobile-login-help { margin-top:6px; }
.mobile-login-help summary { width:max-content; max-width:100%; margin:auto; padding:12px 0; color:#b9c7c0; cursor:pointer; }
.mobile-login-help > div { display:grid; gap:2px; }
.mobile-login-help .text-action { min-height:44px; margin:0; font-size:13px; color:#b9c7c0; }
.has-native-login #accountLead { display:none; }
.has-native-login .account-dialog h2 { font-size:24px; line-height:1.25; margin:24px 0 20px; letter-spacing:0; }
.has-native-login #loginForm { gap:14px; }
.has-native-login #loginForm label { font-size:13px; font-weight:600; }
.has-native-login #loginForm input { height:48px; font-size:16px; }
.has-native-login #loginForm .primary-action { min-height:48px; font-size:15px; }
.mobile-otp-dialog { box-sizing:border-box; position:fixed; inset:auto 0; top:calc(var(--otp-top,0px) + var(--otp-height,100dvh) * .5); transform:translateY(-50%); width:min(420px,calc(100% - 28px)); max-height:calc(var(--otp-height,100dvh) - 32px); margin:0 auto; padding:22px; border:1px solid #ccd5cf; border-radius:8px; background:#fff; color:#182620; overflow-y:auto; overscroll-behavior:contain; font:15px/1.5 system-ui; letter-spacing:0; }
.mobile-otp-dialog::backdrop { background:#07100bcc; }
.mobile-otp-dialog header { display:flex; align-items:center; gap:10px; min-height:44px; }
.mobile-otp-dialog header>img { border-radius:8px; flex:none; }
.mobile-otp-dialog header strong { flex:1; min-width:0; font-size:15px; }
.mobile-otp-dialog #mobileOtpClose { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:0; background:transparent; }
.mobile-otp-dialog h2 { margin:22px 0; font-size:24px; line-height:1.25; }
.mobile-otp-dialog label { display:block; margin:14px 0 6px; font-weight:600; }
.mobile-otp-dialog input { box-sizing:border-box; width:100%; min-width:0; height:50px; padding:10px 12px; border:1px solid #899b92; border-radius:6px; background:#fff; color:#182620; font:17px system-ui; letter-spacing:0; }
.mobile-otp-phone { display:grid; grid-template-columns:48px minmax(0,1fr); gap:8px; align-items:center; }
.mobile-otp-phone>span { text-align:center; color:#52655a; }
.mobile-otp-dialog #mobileOtpCode { font-size:24px; font-variant-numeric:tabular-nums; }
.mobile-otp-dialog input:read-only { background:#f0f4f1; }
.mobile-otp-dialog button { cursor:pointer; font:600 15px/1.3 system-ui; letter-spacing:0; overflow-wrap:anywhere; }
.mobile-otp-dialog button:disabled { opacity:.6; cursor:default; }
.mobile-otp-dialog :focus-visible { outline:3px solid #197c66; outline-offset:2px; }
.mobile-otp-dialog #mobileOtpSubmit { width:100%; min-height:50px; padding:12px; border:0; border-radius:6px; background:#cef43d; color:#1f2d0d; }
.mobile-otp-dialog #mobileOtpStatus { min-height:44px; margin:14px 0; color:#22614c; overflow-wrap:anywhere; }
.mobile-otp-dialog #mobileOtpStatus[data-error=true] { color:#a42b2b; }
.mobile-otp-secondary { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:10px; }
.mobile-otp-secondary button,.mobile-otp-dialog #mobileOtpEmail { min-height:44px; padding:8px 0; border:0; background:transparent; color:#365c4c; }
.mobile-otp-dialog #mobileOtpEmail { display:block; margin:12px auto 0; text-decoration:underline; }
.mobile-otp-dialog .mobile-login-methods { background:#eef3ef; border-color:#ccd5cf; }
.mobile-otp-dialog .mobile-login-methods button { color:#365c4c; font-size:14px; }
.mobile-otp-dialog .mobile-login-methods button[aria-selected="true"] { color:#1f2d0d; }
.mobile-otp-dialog .mobile-login-footer { border-color:#d6e0d9; color:#52655a; }
.mobile-otp-dialog .mobile-login-footer button { color:#21654b; font-size:14px; }
.mobile-otp-dialog #mobileOtpStatus:empty { min-height:0; margin:20px 0; }
.mobile-otp-dialog.is-login { border-color:#465156; background:#111b19; color:#f5f8f6; }
.mobile-otp-dialog.is-login label { color:#b9c7c0; font-size:13px; }
.mobile-otp-dialog.is-login input { border-color:#465156; background:#202629; color:#f5f8f6; }
.mobile-otp-dialog.is-login input:read-only { background:#293630; }
.mobile-otp-dialog.is-login .mobile-otp-phone > span { color:#b9c7c0; }
.mobile-otp-dialog.is-login .mobile-login-methods { border-color:#465156; background:#202a2c; }
.mobile-otp-dialog.is-login .mobile-login-methods button { color:#bfccc6; }
.mobile-otp-dialog.is-login .mobile-login-methods button[aria-selected="true"] { color:#1f2d0d; }
.mobile-otp-dialog.is-login .mobile-login-footer { border-color:#35433e; color:#b9c7c0; }
.mobile-otp-dialog.is-login .mobile-login-footer button { color:#cef43d; }
.mobile-otp-dialog.is-login #mobileOtpStatus { color:#96dec6; font-size:14px; }
.mobile-otp-dialog.is-login #mobileOtpStatus[data-error=true] { color:#ffaba4; }
.mobile-otp-dialog.is-login #mobileOtpClose { border:1px solid #849498; border-radius:50%; background:#303d42; }
.mobile-otp-dialog.is-login #mobileOtpClose img { filter:invert(1); }
.mobile-otp-dialog.is-login .mobile-otp-secondary button { color:#96dec6; }
@media(max-width:350px) { .mobile-otp-dialog { padding:16px; } .mobile-otp-dialog h2 { font-size:22px; } }
.web-otp-backdrop { position:fixed; inset:0; background:#07100bcc; z-index:10000; }
.web-otp-backdrop[hidden] { display:none; }
.web-otp-dialog { z-index:10001; }
#mobileOtpClaimFields p { color:inherit; font-size:14px; overflow-wrap:anywhere; }
#mobileOtpForgot { border:0; padding:12px 0; background:transparent; color:#96dec6; min-height:44px; }
