/* ═══════════════ صفحه بازیابی رمز عبور — آهولرن (ایزوله شده) ═══════════════ */
@font-face{font-family:'IRANSans';src:local('IRANSansX'),local('IRANSans'),local('IRANSansWeb'),local('IRANSansXweb');font-display:swap;}

/* ═══ ریشه — تمام استایل‌ها فقط در محدوده .ahp اعمال می‌شوند ═══ */
.ahp{
  --navy:#13294B !important; --deep:#0B1B33 !important; --card:#10233F !important;
  --cream:#FFFBF3 !important; --gold:#C9A24D !important; --gold-l:#E7C877 !important;
  --red:#E5484D !important; --text:#1C2B46 !important; --muted:#6B7A90 !important;
  --soft:#F6F8FB !important; --line:#E5EAF2 !important; --tint:#EEF5FE !important;
  font-family:'IRANSans','Vazirmatn',Tahoma,sans-serif !important;
  background:var(--deep) !important;
  color:var(--text) !important;
  width:100% !important;
  min-height:100vh !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:60px 24px !important;
  box-sizing:border-box !important;
  line-height:1.7 !important;
  font-size:14px !important;
}

/* ═══ ریست کامل — فقط در محدوده .ahp ═══ */
.ahp *,.ahp *::before,.ahp *::after{
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 !important;
  -webkit-tap-highlight-color:transparent !important;
  font-family:inherit !important;
}
.ahp a{text-decoration:none !important;color:inherit !important;cursor:pointer !important;background:transparent !important;border:none !important;}
.ahp img{max-width:100% !important;height:auto !important;display:block !important;}
.ahp input,.ahp button{font-family:inherit !important;}
.ahp button:hover,.ahp a:hover{background-image:none !important;}

/* تزئینات پس‌زمینه */
.ahp::before{
  content:"" !important;
  position:absolute !important;
  inset:14px !important;
  border:1px solid rgba(201,162,77,.3) !important;
  border-radius:24px !important;
  pointer-events:none !important;
}
.ahp .ahp-st{
  position:absolute !important;
  color:var(--gold-l) !important;
  opacity:.4 !important;
  font-size:14px !important;
  pointer-events:none !important;
}
.ahp-ring1,.ahp-ring2{
  position:absolute !important;
  border-radius:50% !important;
  border:1px solid rgba(201,162,77,.2) !important;
  pointer-events:none !important;
}
.ahp-ring1{
  width:560px !important;
  height:560px !important;
  top:-180px !important;
  left:-180px !important;
  border-style:dashed !important;
  animation:ahpSpin 40s linear infinite !important;
}
.ahp-ring2{
  width:440px !important;
  height:440px !important;
  bottom:-160px !important;
  right:-160px !important;
  animation:ahpSpin 30s linear infinite reverse !important;
}
@keyframes ahpSpin{to{transform:rotate(360deg)}}

/* کارت */
.ahp-card{
  width:100% !important;
  max-width:470px !important;
  background:#fff !important;
  border:1px solid var(--gold) !important;
  border-radius:26px !important;
  padding:38px 34px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.45) !important;
  position:relative !important;
  text-align:center !important;
  display:block !important;
}
.ahp-card::before{
  content:"" !important;
  position:absolute !important;
  inset:9px !important;
  border:1px solid rgba(201,162,77,.3) !important;
  border-radius:18px !important;
  pointer-events:none !important;
}
.ahp-logo{
  width:84px !important;
  height:84px !important;
  margin:0 auto 18px !important;
  border-radius:50% !important;
  background:var(--card) !important;
  border:2px solid var(--gold) !important;
  overflow:hidden !important;
  box-shadow:0 0 0 7px rgba(201,162,77,.12) !important;
  display:block !important;
}
.ahp-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
}
.ahp-card h2{
  font-size:21px !important;
  font-weight:900 !important;
  color:var(--navy) !important;
  margin-bottom:8px !important;
  position:relative !important;
  line-height:1.5 !important;
}
.ahp-card .ahp-sub{
  color:var(--muted) !important;
  font-size:12.5px !important;
  line-height:2 !important;
  margin-bottom:24px !important;
  position:relative !important;
  display:block !important;
}
.ahp-card .ahp-sub b{color:var(--navy) !important;}

/* نشانگر مراحل */
.ahp-steps{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:26px !important;
  position:relative !important;
  flex-wrap:wrap !important;
}
.ahp-step{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  font-size:10.5px !important;
  font-weight:800 !important;
  color:var(--muted) !important;
}
.ahp-step .ahp-n{
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  background:var(--soft) !important;
  border:1.5px solid var(--line) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
  font-weight:900 !important;
  color:var(--muted) !important;
  transition:.3s !important;
}
.ahp-step.on{color:var(--navy) !important;}
.ahp-step.on .ahp-n{
  background:var(--navy) !important;
  color:var(--gold-l) !important;
  border-color:var(--gold) !important;
}
.ahp-step.done .ahp-n{
  background:var(--gold) !important;
  color:var(--deep) !important;
  border-color:var(--gold) !important;
}
.ahp-dash{
  width:22px !important;
  height:2px !important;
  background:var(--line) !important;
  border-radius:4px !important;
}

/* پنل‌ها */
.ahp-p{
  display:none !important;
  position:relative !important;
}
.ahp-p.on{
  display:block !important;
  animation:ahpFade .4s ease !important;
}
@keyframes ahpFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* فیلدهای فرم */
.ahp-f{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  margin-bottom:14px !important;
  text-align:right !important;
}
.ahp-f label{
  font-size:12px !important;
  font-weight:800 !important;
  color:var(--navy) !important;
  display:block !important;
}
.ahp-f input{
  background:var(--soft) !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  padding:13px 16px !important;
  font-size:13px !important;
  font-family:inherit !important;
  outline:none !important;
  color:var(--text) !important;
  transition:.2s !important;
  width:100% !important;
  display:block !important;
}
.ahp-f input:focus{
  border-color:var(--gold) !important;
  background:#fff !important;
}
.ahp-pass{
  position:relative !important;
  display:block !important;
}
.ahp-eye{
  position:absolute !important;
  left:12px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  background:none !important;
  border:none !important;
  font-size:15px !important;
  cursor:pointer !important;
  color:var(--muted) !important;
  padding:4px !important;
}
.ahp-eye:hover{
  color:var(--navy) !important;
  background:transparent !important;
}

/* کد ۶ رقمی */
.ahp-otp{
  display:flex !important;
  gap:10px !important;
  justify-content:center !important;
  direction:ltr !important;
  margin:6px 0 18px !important;
}
.ahp-otp input{
  width:48px !important;
  height:56px !important;
  text-align:center !important;
  font-size:20px !important;
  font-weight:900 !important;
  border:1.5px solid var(--line) !important;
  border-radius:12px !important;
  background:var(--soft) !important;
  outline:none !important;
  font-family:inherit !important;
  color:var(--navy) !important;
  transition:.2s !important;
  padding:0 !important;
}
.ahp-otp input:focus{
  border-color:var(--gold) !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(201,162,77,.15) !important;
}
.ahp-resend{
  font-size:11.5px !important;
  font-weight:800 !important;
  color:var(--muted) !important;
  margin-bottom:18px !important;
  display:block !important;
  text-align:center !important;
}
.ahp-resend a{
  color:#A87F2C !important;
  cursor:pointer !important;
}
.ahp-resend a.ahp-dis{
  color:var(--muted) !important;
  pointer-events:none !important;
}

/* دکمه‌ها */
.ahp-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:100% !important;
  background:var(--navy) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:none !important;
  border-radius:12px !important;
  padding:14px !important;
  font-weight:800 !important;
  font-size:14px !important;
  cursor:pointer !important;
  font-family:inherit !important;
  transition:.25s !important;
  min-height:48px !important;
}
.ahp-btn:hover{
  background:var(--cream) !important;
  color:var(--navy) !important;
  -webkit-text-fill-color:var(--navy) !important;
  border:1px solid var(--gold) !important;
}
.ahp-btn.gold{
  background:var(--gold) !important;
  color:var(--deep) !important;
  -webkit-text-fill-color:var(--deep) !important;
}
.ahp-btn.gold:hover{
  background:var(--navy) !important;
  color:var(--gold-l) !important;
  -webkit-text-fill-color:var(--gold-l) !important;
  border:none !important;
}
.ahp-btn:disabled{
  opacity:.6 !important;
  cursor:not-allowed !important;
}

.ahp-foot{
  margin-top:20px !important;
  font-size:12px !important;
  color:var(--muted) !important;
  font-weight:700 !important;
  position:relative !important;
  text-align:center !important;
  display:block !important;
}
.ahp-foot a{
  color:#A87F2C !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

/* موفقیت */
.ahp-ok{
  width:96px !important;
  height:96px !important;
  margin:6px auto 20px !important;
  border-radius:50% !important;
  background:var(--cream) !important;
  border:3px solid var(--gold) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:40px !important;
  animation:ahpPop .5s ease !important;
}
@keyframes ahpPop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}

/* توست */
.ahp-toast{
  position:fixed !important;
  bottom:26px !important;
  left:26px !important;
  background:var(--deep) !important;
  color:#fff !important;
  border:1px solid var(--gold) !important;
  border-radius:14px !important;
  padding:14px 24px !important;
  font-size:13px !important;
  font-weight:800 !important;
  box-shadow:0 16px 40px rgba(0,0,0,.35) !important;
  z-index:99999 !important;
  opacity:0 !important;
  transform:translateY(20px) !important;
  transition:.35s !important;
  pointer-events:none !important;
  font-family:'IRANSans','Vazirmatn',Tahoma,sans-serif !important;
}
.ahp-toast.show{
  opacity:1 !important;
  transform:none !important;
}

/* لودینگ */
.ahp-loading{
  display:inline-block !important;
  width:14px !important;
  height:14px !important;
  border:2px solid rgba(255,255,255,.3) !important;
  border-top-color:#fff !important;
  border-radius:50% !important;
  animation:ahpSpin2 .8s linear infinite !important;
}
@keyframes ahpSpin2{to{transform:rotate(360deg)}}

/* پیام خطا */
.ahp-msg{
  padding:12px 16px !important;
  border-radius:12px !important;
  font-size:12.5px !important;
  font-weight:700 !important;
  line-height:1.8 !important;
  margin-bottom:16px !important;
  display:none !important;
  text-align:right !important;
}
.ahp-msg.show{
  display:block !important;
  animation:ahpFade .3s ease !important;
}
.ahp-msg.err{
  background:#FDEEEA !important;
  border:1px solid var(--red) !important;
  color:var(--red) !important;
}
.ahp-msg.ok{
  background:#E5F6EC !important;
  border:1px solid #1F8A4C !important;
  color:#1F8A4C !important;
}

@media(max-width:520px){
  .ahp-card{padding:30px 20px !important;}
  .ahp-otp input{width:42px !important;height:50px !important;}
  .ahp-steps{gap:4px !important;}
  .ahp-step{font-size:9.5px !important;}
  .ahp-dash{width:14px !important;}
}
