/* ورود با موبایل — کارت دو مرحله‌ای، سبک و دسترس‌پذیر */
.avr-login { --avr-ink:#172033; --avr-muted:#6f7a90; --avr-rule:#dfe5ef; --avr-surface:#fff; --avr-accent:#4f46e5; --avr-accent-2:#22a6b3; --avr-accent-soft:#eef2ff; --avr-prefix-bg:#f5f7fb; --avr-radius:.8rem; position:relative; isolation:isolate; box-sizing:border-box; width:min(29rem,100%); margin:1.5rem auto; padding:clamp(1.25rem,5vw,2.25rem); overflow:hidden; direction:rtl; text-align:right; border:1px solid #e3e8f1; border-radius:1.5rem; background:rgba(255,255,255,.96); box-shadow:0 24px 70px rgba(29,42,75,.14); color:var(--avr-ink); font-size:1rem; line-height:1.8; backdrop-filter:blur(16px); }
.avr-login::before { content:""; position:absolute; z-index:-1; inset:-8rem auto auto -6rem; width:15rem; height:15rem; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--avr-accent) 14%,transparent),transparent 67%); }
.avr-login::after { content:"عضویت امن انجمن"; display:inline-flex; align-items:center; gap:.4rem; margin-top:1.4rem; padding-top:1rem; width:100%; border-top:1px solid var(--avr-rule); color:var(--avr-muted); font-size:.7rem; font-weight:700; }
.avr-login-shell { margin:0; overflow-x:hidden; background:radial-gradient(circle at 15% 15%,rgba(79,70,229,.12),transparent 28rem),linear-gradient(145deg,#f4f6fb,#eaf0f8); }
.avr-login-page { display:grid; place-items:center; width:100%; min-height:100vh; padding:1rem; box-sizing:border-box; }
.avr-login-home { display:inline-flex; align-items:center; gap:.4rem; width:fit-content; margin-bottom:1rem; padding:.42rem .65rem; border:1px solid #dce3ee; border-radius:.62rem; background:#f8fafc; color:#526078!important; font-size:.7rem; font-weight:800; text-decoration:none!important; transition:transform .18s,border-color .18s,color .18s; }
.avr-login-home:hover { border-color:var(--avr-accent); color:var(--avr-accent)!important; transform:translateY(-1px); }
.avr-login-home svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.avr-login *,.avr-login *::before,.avr-login *::after { box-sizing:border-box; }
.avr-step { display:flex; flex-direction:column; gap:1.15rem; animation:avr-login-in .45s cubic-bezier(.2,.8,.2,1) both; }
.avr-login [hidden] { display:none!important; }
@keyframes avr-login-in { from { opacity:0; transform:translateX(.7rem); } }
.avr-title { display:flex; align-items:center; gap:.75rem; margin:0; font-size:1.55rem; font-weight:900; line-height:1.4; letter-spacing:-.03em; }
.avr-login-title-icon { display:grid; place-items:center; flex:none; width:2.8rem; height:2.8rem; border-radius:.85rem; background:linear-gradient(135deg,var(--avr-accent),#625bf0); box-shadow:0 10px 22px color-mix(in srgb,var(--avr-accent) 28%,transparent); color:#fff; }
.avr-step--code .avr-login-title-icon { background:linear-gradient(135deg,#22a6b3,#0f766e); box-shadow:0 10px 22px rgba(15,118,110,.22); }
.avr-login-title-icon svg { width:1.35rem; height:1.35rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.avr-lede { margin:0; color:var(--avr-muted); font-size:.86rem; line-height:1.75; }
.avr-field { display:flex; flex-direction:column; gap:.45rem; }
.avr-label { color:#47536c; font-size:.78rem; font-weight:800; }
.avr-digits { display:flex; gap:.35rem; direction:ltr; }
.avr-digit { width:100%!important; min-width:0; aspect-ratio:3/4; padding:0!important; margin:0!important; border:1px solid var(--avr-rule)!important; border-radius:.65rem!important; background:var(--avr-surface)!important; color:var(--avr-ink)!important; -webkit-text-fill-color:var(--avr-ink)!important; opacity:1!important; visibility:visible!important; font:inherit!important; font-weight:850!important; text-align:center!important; font-variant-numeric:tabular-nums; box-shadow:none!important; transition:border-color .18s,box-shadow .18s,transform .18s; }
.avr-digit:hover { border-color:color-mix(in srgb,var(--avr-accent) 35%,var(--avr-rule))!important; }
.avr-digit:focus { outline:none!important; border-color:var(--avr-accent)!important; box-shadow:0 0 0 4px color-mix(in srgb,var(--avr-accent) 11%,transparent)!important; transform:translateY(-2px); }
.avr-digits--mobile { flex:1; min-width:0; }
.avr-digits--mobile .avr-digit { font-size:1rem!important; }
.avr-digits--code { justify-content:center; gap:.55rem; margin:.5rem 0; }
.avr-digits--code .avr-digit { width:3.2rem!important; flex:0 0 auto; font-size:1.35rem!important; }
.avr-mobile-row { display:flex; align-items:stretch; gap:.45rem; direction:ltr; }
.avr-prefix { display:flex; align-items:center; padding:0 .75rem; border:1px solid var(--avr-rule); border-radius:.7rem; background:var(--avr-prefix-bg); color:#59647b; font-weight:900; font-variant-numeric:tabular-nums; letter-spacing:.05em; user-select:none; white-space:nowrap; }
.avr-hint { color:var(--avr-muted); font-size:.72rem; }
.avr-button { display:flex; align-items:center; justify-content:center; min-height:3rem; padding:.75rem 1rem; border:0; border-radius:.8rem; background:linear-gradient(135deg,var(--avr-accent),#3730a3); box-shadow:0 10px 22px color-mix(in srgb,var(--avr-accent) 25%,transparent); color:#fff; font:inherit; font-size:.87rem; font-weight:900; cursor:pointer; transition:transform .2s,box-shadow .2s,opacity .2s; }
.avr-button::after { content:"←"; margin-inline-start:.55rem; font-size:1.05rem; }
.avr-button:disabled { opacity:.42; box-shadow:none; cursor:not-allowed; }
.avr-button:not(:disabled):hover { transform:translateY(-2px); box-shadow:0 14px 30px color-mix(in srgb,var(--avr-accent) 32%,transparent); }
.avr-step.is-busy .avr-button { opacity:.65; cursor:progress; }
.avr-step.is-busy .avr-button::after { content:""; width:1rem; height:1rem; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:avr-login-spin .7s linear infinite; }
@keyframes avr-login-spin { to { transform:rotate(360deg); } }
.avr-link { padding:0; border:0; background:none; color:var(--avr-accent); font:inherit; font-size:.78rem; font-weight:750; text-decoration:none; cursor:pointer; }
.avr-link:hover { text-decoration:underline; text-underline-offset:.2em; }
.avr-resend { min-height:1.6rem; margin:0; color:var(--avr-muted); font-size:.78rem; text-align:center; }
.avr-error { position:relative; margin:0; padding:.65rem 2.25rem .65rem .8rem; border:1px solid #fecaca; border-radius:.7rem; background:#fef2f2; color:#b91c1c; font-size:.78rem; }
.avr-error::before { content:"!"; position:absolute; inset:.58rem .72rem auto auto; display:grid; place-items:center; width:1.15rem; height:1.15rem; border-radius:50%; background:#dc2626; color:#fff; font-size:.7rem; font-weight:900; }
.avr-login--done { text-align:center; }
@media (max-width:30rem) { .avr-login { margin:.5rem auto; padding:1.15rem .8rem; border-radius:1rem; } .avr-digits { gap:.2rem; } .avr-digits--code .avr-digit { width:min(2.85rem,15vw); } .avr-prefix { padding-inline:.55rem; } }
@media (prefers-reduced-motion:reduce) { .avr-login * { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
