/* =========================================================
   نژا — صفحه‌ی ورود / ثبت‌نام (طراحی تک‌کارتی، مستقل از هدر و فوتر سایت)
   ========================================================= */

@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/Vazirmatn-font-face.css');

:root{
  --au-bg:        #eef2fe;
  --au-dot:       #d5dcf3;
  --au-card:      #ffffff;
  --au-ink:       #1a2138;
  --au-sub:       #7d8499;
  --au-line:      #dfe4f2;
  --au-focus:     #3b64f4;
  --au-btn:       #01030f;
  --au-link:      #2459e6;
  --au-icon-bg:   #fff4d1;
}

*,*::before,*::after{ box-sizing:border-box; }

html,body{ margin:0; padding:0; }

body.nz-auth-body{
  min-height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:32px 16px 72px;
  position:relative;
  background-color:var(--au-bg);
  background-image: radial-gradient(var(--au-dot) 1px, transparent 1.4px);
  background-size:22px 22px;
  font-family:'Vazirmatn', Tahoma, sans-serif;
  color:var(--au-ink);
  direction:rtl;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
}

.nz-auth-card{
  width:100%; max-width:512px;
  background:var(--au-card);
  border-radius:28px;
  padding:46px 48px 40px;
  box-shadow: 0 1px 2px rgba(26,33,56,.04), 0 18px 48px -18px rgba(40,60,140,.18);
  text-align:center;
}

.nz-auth-logo{
  width:50px; height:50px; margin:0 auto 14px;
  border-radius:15px; background:var(--au-icon-bg);
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.nz-auth-logo img{ width:100%; height:100%; object-fit:cover; display:block; }

.nz-auth-title{ margin:0 0 8px; font-size:1.65rem; font-weight:800; color:var(--au-ink); line-height:1.5; }
.nz-auth-sub{ margin:0 0 28px; font-size:.95rem; color:var(--au-sub); font-weight:400; }

/* ---------- فیلد با آیکن کنار ---------- */
.nz-field{ display:block; margin:0 0 16px; text-align:right; }
.nz-field-label{ display:block; margin:0 4px 7px; font-size:.86rem; color:var(--au-sub); font-weight:500; }
.nz-input-group{
  display:flex; align-items:stretch; direction:rtl;
  height:58px;
  background:#fff;
  border:1.5px solid var(--au-line);
  border-radius:16px;
  transition:border-color .18s ease, box-shadow .18s ease;
  overflow:hidden;
}
.nz-input-group:focus-within{
  border-color:var(--au-focus);
  box-shadow:0 0 0 4px rgba(59,100,244,.12);
}
.nz-input-group.is-error{ border-color:#e5484d; }
.nz-input-icon{
  flex:none; width:58px;
  display:flex; align-items:center; justify-content:center;
  color:#3b4256;
  border-inline-end:1px solid var(--au-line);
  margin:10px 0;
}
.nz-input-icon svg{ width:24px; height:24px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.nz-input-group input{
  flex:1; min-width:0; border:0; outline:0; background:transparent;
  padding:0 16px; font-family:inherit; font-size:16px; color:var(--au-ink);
  text-align:right;
}
.nz-input-group input::placeholder{ color:#a3a9bb; font-size:.9rem; font-weight:400; opacity:1; }
.nz-input-group input[readonly]{ color:#59607a; background:#f6f8fe; }
.nz-input-group input.is-code{ text-align:center; letter-spacing:.5em; font-size:1.35rem; font-weight:700; padding-inline-start:.5em; }
.nz-input-group input.is-ltr{ direction:ltr; text-align:left; }
.nz-eye{
  flex:none; width:50px; border:0; background:transparent; color:#8b92a7; cursor:pointer;
  display:flex; align-items:center; justify-content:center; padding:0;
}
.nz-eye svg{ width:21px; height:21px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.nz-eye:hover{ color:var(--au-ink); }

/* ---------- دکمه و لینک‌ها ---------- */
.nz-btn{
  display:block; width:100%; height:58px; margin-top:24px;
  border:0; border-radius:16px;
  background:var(--au-btn); color:#fff;
  font-family:inherit; font-size:1.05rem; font-weight:700; cursor:pointer;
  transition:transform .12s ease, opacity .15s ease;
}
.nz-btn:hover{ opacity:.9; }
.nz-btn:active{ transform:translateY(1px); }
.nz-btn[disabled]{ opacity:.55; cursor:default; }

.nz-links{ margin-top:22px; display:flex; flex-direction:column; align-items:center; gap:6px; }
.nz-link{
  display:inline-block; background:none; border:0; padding:4px 6px;
  color:var(--au-link); font-family:inherit; font-size:.95rem; font-weight:500; cursor:pointer;
  text-decoration:none;
}
.nz-link:hover{ text-decoration:underline; }
.nz-link-form{ margin:0; display:inline; }
.nz-terms{ margin:22px 0 0; font-size:.86rem; color:#4b5266; }

/* ---------- جعبه‌های اطلاعات / خطا ---------- */
.nz-note{
  display:flex; align-items:flex-start; gap:12px; text-align:right;
  margin:0 0 6px; padding:14px 16px;
  border-radius:12px; font-size:.86rem; line-height:1.95;
}
.nz-note svg{ flex:none; width:26px; height:26px; margin-top:4px; stroke:currentColor; fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.nz-note.teal{ background:#e6f8fb; border:1px solid #bfe7ee; color:#18505c; }
.nz-note.blue{ background:#ecf0ff; border:1px solid #cbd6fb; color:#27366a; }
.nz-note.blue b{ color:#1b2a66; }
.nz-note.amber{ background:#fff7e0; border:1px dashed #d9a928; color:#7a5800; }
.nz-alert{
  margin:0 0 18px; padding:12px 16px; text-align:right;
  background:#fff0f1; border:1px solid #f6c4c8; color:#a31225;
  border-radius:12px; font-size:.88rem;
}
.nz-alert p{ margin:2px 0; }
.nz-code-hint{ direction:ltr; display:inline-block; font-weight:800; letter-spacing:.2em; font-size:1.05rem; }

/* ---------- نشان شماره (مرحله‌ی رمز/کد) ---------- */
.nz-phone-chip{
  display:inline-flex; align-items:center; gap:8px; margin:0 0 20px;
  padding:6px 14px; border-radius:999px; background:#f2f5ff; color:#34406b; font-weight:600; font-size:.92rem;
}
.nz-captcha{ display:flex; justify-content:center; margin:6px 0 0; }

.nz-auth-foot{
  position:absolute; bottom:22px; left:0; right:0; text-align:center;
  font-size:.78rem; color:#8d94aa;
}
.nz-auth-foot a{ color:inherit; text-decoration:none; }
.nz-auth-foot a:hover{ text-decoration:underline; }
.nz-auth-foot span+span::before{ content:"|"; margin:0 10px; color:#c3c9dc; }

@media (max-width:560px){
  body.nz-auth-body{ justify-content:flex-start; padding-top:40px; }
  .nz-auth-card{ padding:34px 22px 30px; border-radius:24px; }
  .nz-auth-title{ font-size:1.45rem; }
  .nz-input-icon{ width:52px; }
}
