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

.ahl{
  --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(--soft) !important;
  color:var(--text) !important;
  width:100% !important;
  display:block !important;
  position:relative !important;
  box-sizing:border-box !important;
  line-height:1.7 !important;
  font-size:14px !important;
}

.ahl *,.ahl *::before,.ahl *::after{
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 !important;
  -webkit-tap-highlight-color:transparent !important;
  font-family:inherit !important;
}
.ahl a{text-decoration:none !important;color:inherit !important;cursor:pointer !important;background:transparent !important;border:none !important;}
.ahl img{max-width:100% !important;height:auto !important;display:block !important;}
.ahl input,.ahl select,.ahl button{font-family:inherit !important;}
.ahl button:hover,.ahl a:hover,.ahl input:hover,.ahl select:hover{background-image:none !important;}

.ahl .ahl-tab:hover{background:var(--cream) !important;color:var(--navy) !important;-webkit-text-fill-color:var(--navy) !important;}
.ahl .ahl-tab.on,.ahl .ahl-tab.on:hover{background:var(--navy) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;}
.ahl .ahl-btn:hover{background:var(--cream) !important;color:var(--navy) !important;-webkit-text-fill-color:var(--navy) !important;border:1px solid var(--gold) !important;opacity:1 !important;}
.ahl .ahl-btn.gold:hover{background:var(--navy) !important;color:var(--gold-l) !important;-webkit-text-fill-color:var(--gold-l) !important;border:none !important;}
.ahl .ahl-link:hover,.ahl .ahl-foot a:hover,.ahl .ahl-terms a:hover{color:#A87F2C !important;-webkit-text-fill-color:#A87F2C !important;background:transparent !important;}
.ahl .ahl-social a:hover{background:var(--cream) !important;color:var(--navy) !important;-webkit-text-fill-color:var(--navy) !important;border-color:var(--gold) !important;}
.ahl .ahl-eye:hover,.ahl .ahl-cap-ref:hover{color:var(--navy) !important;background:transparent !important;}

/* ═══ پنل برند ═══ */
.ahl .ahl-shell{display:flex !important;min-height:100vh !important;}
.ahl .ahl-brand{
  flex:1 !important;
  background:var(--deep) !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:70px 40px !important;
}
.ahl .ahl-brand::before{
  content:"" !important;
  position:absolute !important;
  inset:14px !important;
  border:1px solid rgba(201,162,77,.3) !important;
  border-radius:22px !important;
  pointer-events:none !important;
}
.ahl .ahl-brand .ahl-st{
  position:absolute !important;
  color:var(--gold-l) !important;
  opacity:.4 !important;
  font-size:14px !important;
  pointer-events:none !important;
}
.ahl-ring1,.ahl-ring2{
  position:absolute !important;
  border-radius:50% !important;
  border:1px solid rgba(201,162,77,.22) !important;
  pointer-events:none !important;
}
.ahl-ring1{
  width:520px !important;
  height:520px !important;
  top:-160px !important;
  left:-160px !important;
  border-style:dashed !important;
  animation:ahlSpin 40s linear infinite !important;
}
.ahl-ring2{
  width:420px !important;
  height:420px !important;
  bottom:-140px !important;
  right:-140px !important;
  animation:ahlSpin 30s linear infinite reverse !important;
}
@keyframes ahlSpin{to{transform:rotate(360deg)}}

.ahl .ahl-brand-in{
  max-width:480px !important;
  text-align:center !important;
  position:relative !important;
}
.ahl .ahl-logo{
  width:96px !important;
  height:96px !important;
  margin:0 auto 22px !important;
  border-radius:50% !important;
  background:var(--card) !important;
  border:2px solid var(--gold) !important;
  overflow:hidden !important;
  box-shadow:0 0 0 8px rgba(201,162,77,.12) !important;
  display:block !important;
}
.ahl .ahl-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:50% !important;
  display:block !important;
}
.ahl .ahl-brand-in h1{
  color:#fff !important;
  font-size:34px !important;
  font-weight:900 !important;
  line-height:1.4 !important;
}
.ahl .ahl-brand-in h1 em{font-style:normal !important;color:var(--gold-l) !important;}
.ahl .ahl-brand-in>p{
  color:#9FB0CA !important;
  font-size:14px !important;
  line-height:2.1 !important;
  margin:16px 0 26px !important;
}
.ahl .ahl-feats{
  display:flex !important;
  justify-content:center !important;
  gap:18px !important;
  flex-wrap:wrap !important;
  margin-bottom:26px !important;
}
.ahl .ahl-feats span{
  color:#D5E0F2 !important;
  font-size:12.5px !important;
  font-weight:700 !important;
}
.ahl .ahl-feats span::before{content:"★" !important;color:var(--gold-l) !important;margin-left:6px !important;}
.ahl .ahl-stats-row{
  display:flex !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-bottom:26px !important;
}
.ahl .ahl-schip{
  background:var(--card) !important;
  border:1px solid rgba(201,162,77,.45) !important;
  color:#E9D9AC !important;
  font-size:12px !important;
  font-weight:800 !important;
  padding:10px 18px !important;
  border-radius:50px !important;
}
.ahl .ahl-off-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  background:var(--cream) !important;
  border:1px solid var(--gold) !important;
  color:var(--navy) !important;
  font-size:12.5px !important;
  font-weight:900 !important;
  padding:12px 24px !important;
  border-radius:50px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.3) !important;
}

/* ═══ سمت فرم ═══ */
.ahl .ahl-form-side{
  flex:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:50px 24px !important;
}
.ahl .ahl-card{
  width:100% !important;
  max-width:500px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:24px !important;
  padding:38px 36px !important;
  box-shadow:0 24px 70px rgba(19,41,75,.12) !important;
  position:relative !important;
  display:block !important;
}
.ahl .ahl-card::before{
  content:"" !important;
  position:absolute !important;
  inset:9px !important;
  border:1px solid rgba(201,162,77,.3) !important;
  border-radius:17px !important;
  pointer-events:none !important;
}
.ahl .ahl-card-h{
  text-align:center !important;
  margin-bottom:24px !important;
  position:relative !important;
}
.ahl .ahl-card-h h2{
  font-size:22px !important;
  font-weight:900 !important;
  color:var(--navy) !important;
  line-height:1.5 !important;
}
.ahl .ahl-card-h p{
  color:var(--muted) !important;
  font-size:12.5px !important;
  margin-top:8px !important;
}

/* تب‌ها */
.ahl .ahl-tabs{
  display:flex !important;
  background:var(--soft) !important;
  border-radius:14px !important;
  padding:6px !important;
  margin-bottom:26px !important;
  position:relative !important;
}
.ahl .ahl-tab{
  flex:1 !important;
  padding:12px !important;
  border-radius:10px !important;
  font-weight:800 !important;
  font-size:14px !important;
  color:var(--muted) !important;
  cursor:pointer !important;
  text-align:center !important;
  transition:.3s !important;
  font-family:inherit !important;
  border:none !important;
  background:transparent !important;
}

/* فرم‌ها */
.ahl .ahl-form{display:none !important;position:relative !important;}
.ahl .ahl-form.on{display:block !important;animation:ahlFade .4s ease !important;}
@keyframes ahlFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.ahl .ahl-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}
.ahl .ahl-f{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  margin-bottom:14px !important;
}
.ahl .ahl-f.full{grid-column:1/-1 !important;}
.ahl .ahl-f label{
  font-size:12px !important;
  font-weight:800 !important;
  color:var(--navy) !important;
  display:block !important;
}
.ahl .ahl-f input,.ahl .ahl-f select{
  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;
}
.ahl .ahl-f input:focus,.ahl .ahl-f select:focus{
  border-color:var(--gold) !important;
  background:#fff !important;
}
.ahl .ahl-pass{position:relative !important;display:block !important;}
.ahl .ahl-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;
}
.ahl .ahl-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  margin:4px 0 18px !important;
  flex-wrap:wrap !important;
  gap:10px !important;
}
.ahl .ahl-rem{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:12px !important;
  font-weight:700 !important;
  color:var(--muted) !important;
  cursor:pointer !important;
}
.ahl .ahl-rem input{display:none !important;}
.ahl .ahl-rem .ahl-box{
  width:19px !important;
  height:19px !important;
  border-radius:6px !important;
  border:1.5px solid #B9C6DC !important;
  background:#fff !important;
  position:relative !important;
  transition:.25s !important;
  display:inline-block !important;
}
.ahl .ahl-rem input:checked + .ahl-box{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
}
.ahl .ahl-rem input:checked + .ahl-box::after{
  content:"✓" !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--deep) !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.ahl .ahl-link{
  font-size:12px !important;
  font-weight:800 !important;
  color:#A87F2C !important;
  cursor:pointer !important;
}
.ahl .ahl-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;
}
.ahl .ahl-btn.gold{
  background:var(--gold) !important;
  color:var(--deep) !important;
  -webkit-text-fill-color:var(--deep) !important;
}
.ahl .ahl-btn:disabled{opacity:.6 !important;cursor:not-allowed !important;}
.ahl .ahl-div{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin:20px 0 !important;
  color:var(--muted) !important;
  font-size:11.5px !important;
  font-weight:700 !important;
}
.ahl .ahl-div::before,.ahl .ahl-div::after{
  content:"" !important;
  flex:1 !important;
  height:1px !important;
  background:var(--line) !important;
}
.ahl .ahl-social{
  display:flex !important;
  gap:12px !important;
}
.ahl .ahl-social a{
  flex:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  padding:12px !important;
  font-size:12.5px !important;
  font-weight:800 !important;
  color:var(--text) !important;
  transition:.25s !important;
}
.ahl .ahl-terms{
  display:flex !important;
  align-items:flex-start !important;
  gap:8px !important;
  font-size:11.5px !important;
  color:var(--muted) !important;
  font-weight:700 !important;
  line-height:1.9 !important;
  margin-bottom:18px !important;
  cursor:pointer !important;
}
.ahl .ahl-terms input{display:none !important;}
.ahl .ahl-terms .ahl-box{
  width:19px !important;
  height:19px !important;
  min-width:19px !important;
  margin-top:2px !important;
  border-radius:6px !important;
  border:1.5px solid #B9C6DC !important;
  background:#fff !important;
  position:relative !important;
  transition:.25s !important;
  display:inline-block !important;
}
.ahl .ahl-terms input:checked + .ahl-box{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
}
.ahl .ahl-terms input:checked + .ahl-box::after{
  content:"✓" !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:var(--deep) !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.ahl .ahl-terms a{color:#A87F2C !important;}
.ahl .ahl-foot{
  text-align:center !important;
  margin-top:20px !important;
  font-size:12px !important;
  color:var(--muted) !important;
  font-weight:700 !important;
  position:relative !important;
}
.ahl .ahl-foot a{color:#A87F2C !important;font-weight:800 !important;}

/* ═══ کپچای SVG ═══ */
.ahl .ahl-cap{
  background:var(--soft) !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  padding:12px !important;
  margin-bottom:14px !important;
  display:block !important;
}
.ahl .ahl-cap-row{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  margin-bottom:10px !important;
}
.ahl .ahl-cap-img{
  flex:1 !important;
  height:54px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  position:relative !important;
  user-select:none !important;
}
.ahl .ahl-cap-img svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.ahl .ahl-cap-ref{
  width:44px !important;
  height:54px !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  color:var(--navy) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:18px !important;
  cursor:pointer !important;
  font-family:inherit !important;
  transition:.25s !important;
}
.ahl .ahl-cap-ref:hover{
  border-color:var(--gold) !important;
  background:var(--cream) !important;
}
.ahl .ahl-cap-input{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
}
.ahl .ahl-cap-input label{
  font-size:11.5px !important;
  font-weight:800 !important;
  color:var(--navy) !important;
  white-space:nowrap !important;
}
.ahl .ahl-cap-input input{
  flex:1 !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  padding:11px 14px !important;
  font-size:14px !important;
  font-weight:900 !important;
  font-family:inherit !important;
  outline:none !important;
  color:var(--navy) !important;
  text-align:center !important;
  letter-spacing:2px !important;
  direction:ltr !important;
}
.ahl .ahl-cap-input input:focus{border-color:var(--gold) !important;}
.ahl .ahl-cap-err{
  display:none !important;
  background:#FDEEEA !important;
  border:1px solid rgba(229,72,77,.35) !important;
  color:var(--red) !important;
  font-size:11.5px !important;
  font-weight:800 !important;
  padding:9px 14px !important;
  border-radius:10px !important;
  margin-bottom:12px !important;
}
.ahl .ahl-cap-err.show{display:block !important;animation:ahlFade .3s ease !important;}

/* ═══ پنل موفقیت (فراموشی رمز) ═══ */
.ahl .ahl-ok{
  text-align:center !important;
  padding:10px 0 !important;
}
.ahl .ahl-ok .ahl-ok-ico{
  width:72px !important;
  height:72px !important;
  margin:0 auto 16px !important;
  border-radius:50% !important;
  background:var(--cream) !important;
  border:2px solid var(--gold) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:30px !important;
  animation:ahlPop .5s ease !important;
}
@keyframes ahlPop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}
.ahl .ahl-ok h3{
  color:var(--navy) !important;
  font-size:17px !important;
  font-weight:900 !important;
  margin-bottom:10px !important;
}
.ahl .ahl-ok p{
  color:var(--muted) !important;
  font-size:12.5px !important;
  line-height:2 !important;
  margin-bottom:18px !important;
}
.ahl .ahl-ok .ahl-ok-email{
  display:inline-block !important;
  background:var(--cream) !important;
  border:1px solid var(--gold) !important;
  color:var(--navy) !important;
  font-size:12.5px !important;
  font-weight:900 !important;
  padding:8px 18px !important;
  border-radius:10px !important;
  margin-bottom:18px !important;
  direction:ltr !important;
}

/* توست */
.ahl-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;
}
.ahl-toast.show{opacity:1 !important;transform:none !important;}

.ahl-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:ahlSpin2 .8s linear infinite !important;
}
@keyframes ahlSpin2{to{transform:rotate(360deg)}}

@media(max-width:992px){
  .ahl .ahl-shell{flex-direction:column !important;}
  .ahl .ahl-brand{padding:50px 24px !important;}
  .ahl .ahl-brand-in h1{font-size:26px !important;}
  .ahl .ahl-card{padding:30px 22px !important;}
  .ahl .ahl-grid{grid-template-columns:1fr !important;}
}
