/* auth.css — مودال ورود | ثبت‌نام */
.au-modal{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:16px;background:rgba(10,15,30,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.au-modal[hidden]{display:none}
.au-sheet{width:min(430px,100%);max-height:90dvh;overflow-y:auto;padding:24px 22px;position:relative}
.au-x{position:absolute;top:12px;left:12px}
.au-back{position:absolute;top:14px;right:14px;border:0;background:none;cursor:pointer;color:var(--muted);font-family:inherit;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;transition:.2s}
.au-back:hover{color:var(--primary-ink);background:var(--primary-soft)}
.au-back svg{width:18px;height:18px}
.au-sheet h2{margin:6px 0 4px;text-align:center;font-size:1.1rem}
.au-sheet .sub{margin:0 0 16px;text-align:center;color:var(--muted);font-size:.78rem;line-height:2}
.au-seg{display:flex;gap:5px;padding:5px;border-radius:15px;background:var(--surface-2);border:1px solid var(--stroke);margin-bottom:14px}
.au-seg button{flex:1;border:0;background:none;font-family:inherit;font-size:.84rem;font-weight:800;color:var(--muted);padding:11px;border-radius:11px;cursor:pointer}
.au-seg button.on{background:linear-gradient(135deg,#b8942a,var(--primary),#eed27a);color:#231a02;box-shadow:0 6px 16px rgba(212,175,55,.35)}
.au-sheet label.lbl{display:block;font-size:.76rem;color:var(--muted);font-weight:700;margin:0 0 7px}
.au-phone{position:relative;margin-bottom:12px}
.au-phone input{width:100%;padding:13px 15px;border-radius:14px;border:1px solid var(--stroke);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:.9rem;direction:ltr;text-align:right;transition:border-color .25s}
.au-phone input:focus{outline:none;border-color:var(--primary)}
.au-phone .ok{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:#1d7a3a;font-weight:800;display:none}
.au-phone.valid .ok{display:block}
.au-phone.valid input{border-color:#1d7a3a}
.au-full{width:100%;padding:14px}
.au-full:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.au-err{font-size:.74rem;color:#c22;min-height:1.3em;text-align:center;margin-top:8px}
.au-mask{text-align:center;font-size:.8rem;color:var(--muted);margin-bottom:12px}
.au-pass{position:relative;margin-bottom:12px}
.au-pass input{width:100%;padding:13px 45px 13px 15px;border-radius:14px;border:1px solid var(--stroke);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .25s}
.au-pass input:focus{outline:none;border-color:var(--primary)}
.au-pass button{position:absolute;top:50%;left:8px;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:1.05rem;color:var(--muted)}
.au-link{display:block;margin:10px auto 0;border:0;background:none;color:var(--primary-ink);font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.au-boxes{display:flex;gap:9px;justify-content:center;direction:ltr;margin:8px 0 16px}
.au-boxes input{width:50px;height:54px;text-align:center;font-size:1.3rem;font-weight:800;border-radius:14px;border:1.5px solid var(--stroke);background:var(--surface-2);color:var(--text);font-family:inherit;transition:border-color .22s,transform .18s,background .22s,box-shadow .22s;caret-color:var(--primary)}
.au-boxes input:focus{outline:none;border-color:var(--primary);transform:scale(1.07);background:var(--surface-solid)}
.au-boxes input.filled{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.03)}
.au-resend{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.78rem;color:var(--muted);margin-bottom:6px}
.au-resend button{border:1px solid rgba(212,175,55,.5);background:var(--primary-soft);color:var(--primary-ink);font-family:inherit;font-weight:700;font-size:.76rem;padding:7px 16px;border-radius:11px;cursor:pointer}
.au-resend button:disabled{opacity:.45;cursor:not-allowed}
.au-meter{height:7px;border-radius:99px;background:var(--surface-2);border:1px solid var(--stroke);overflow:hidden;margin:4px 0 6px}
.au-meter i{display:block;height:100%;width:0;transition:width .25s;border-radius:99px}
.au-meter-lbl{font-size:.72rem;color:var(--muted);margin-bottom:12px;text-align:left}
.au-info{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}
.au-info div{background:var(--surface-2);border:1px solid var(--stroke);border-radius:12px;padding:9px 12px}
.au-info small{display:block;font-size:.66rem;color:var(--muted)}
.au-info b{font-size:.82rem}
.au-info .good{color:#1d7a3a}
.au-load{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 0 26px;font-size:.84rem;color:var(--muted)}
.au-load .au-rings{position:relative;width:76px;height:76px}
.au-load .au-rings i{position:absolute;inset:0;border-radius:50%;border:3px solid transparent}
.au-load .au-rings i:nth-child(1){border-top-color:var(--primary);animation:auspin .9s linear infinite}
.au-load .au-rings i:nth-child(2){inset:10px;border-bottom-color:var(--primary);opacity:.55;animation:auspin 1.4s linear infinite reverse}
.au-load .au-rings b{position:absolute;inset:0;display:grid;place-items:center;color:var(--primary-ink)}
.au-load .au-rings b svg{width:26px;height:26px}
.au-load .au-bar{width:100%;height:6px;border-radius:99px;background:var(--surface-2);border:1px solid var(--stroke);overflow:hidden}
.au-load .au-bar i{display:block;height:100%;width:30%;border-radius:99px;background:linear-gradient(90deg,#b8942a,var(--primary),#eed27a);animation:auload 1.3s ease-in-out infinite}
@keyframes auload{0%{margin-inline-start:-30%}100%{margin-inline-start:100%}}
.au-spin{width:44px;height:44px;border-radius:50%;border:4px solid var(--surface-2);border-top-color:var(--primary);animation:auspin .8s linear infinite}
@keyframes auspin{to{transform:rotate(360deg)}}
.au-toast{position:fixed;top:16px;inset-inline:16px;margin-inline:auto;max-width:420px;z-index:140;padding:13px 18px;font-size:.84rem;font-weight:700;text-align:center}
.au-toast[hidden]{display:none}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
