/* Auth modal — native <dialog> top layer so landing art cannot paint over the card */
.auth-modal{
  position:fixed;inset:0;
  width:100%;height:100%;max-width:none;max-height:none;
  margin:0;border:0;padding:max(24px,4vh) 16px;
  background:transparent;
  z-index:2147483000;
  direction:rtl;
  font-family:"Vazirmatn",Tahoma,sans-serif;
  color:#2d3436;
  overflow:visible;
}
.auth-modal[open]{
  display:flex;align-items:center;justify-content:center;
}
.auth-modal::backdrop{
  background:rgba(12,18,24,.58);
  backdrop-filter:blur(8px) saturate(1.05);
  -webkit-backdrop-filter:blur(8px) saturate(1.05);
}
.auth-modal__backdrop{
  position:absolute;inset:0;
  background:transparent;
  cursor:pointer;
}
.auth-modal__dialog{
  position:relative;z-index:1;
  width:min(440px,100%);
  max-height:min(92vh,720px);
  overflow:visible;
  transform:translateY(18px) scale(.96);
  opacity:0;
  transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .32s ease;
}
.auth-modal.is-open .auth-modal__dialog{
  transform:translateY(0) scale(1);
  opacity:1;
}
.auth-modal__close{
  position:absolute;top:-14px;left:-10px;z-index:5;
  width:42px;height:42px;border-radius:50%;
  border:0;background:#fff;color:#2d3436;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  display:grid;place-items:center;cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s;
}
.auth-modal__close:hover{transform:scale(1.06);background:#00b894;color:#fff}
.auth-modal__eyebrow{
  position:absolute;top:-42px;right:8px;left:8px;
  margin:0;text-align:center;
  color:#fff;font-weight:700;font-size:14px;letter-spacing:.02em;
  text-shadow:0 2px 16px rgba(0,0,0,.35);
  pointer-events:none;
}

/* Scope auth-combo cards inside modal — no green body bg */
.auth-modal [data-auth-combo]{
  width:100%;max-width:420px;margin:0 auto;position:relative;overflow:visible;
}
.auth-modal .auth-flash{
  position:relative;z-index:5;width:100%;margin:0 0 12px;
  padding:10px 14px;border-radius:12px;font-size:12.5px;line-height:1.7;
  text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.auth-modal .auth-flash.err{background:#fff1f0;color:#c0392b;border:1px solid #f5c6c2}
.auth-modal .auth-flash.ok{background:#e8fff8;color:#0b6b54;border:1px solid #b7ebd9}
.auth-modal .auth-flash-warn{background:#fff8e6!important;color:#8a6d1d!important;border:1px solid #f0e0a0!important}

.auth-modal .wrapper{
  position:relative;width:100%;max-width:420px;height:560px;margin:0 auto;
}
.auth-modal .form-wrapper{
  position:absolute;top:0;right:0;
  display:flex;justify-content:center;align-items:center;
  width:100%;height:100%;
  background:#fff;
  box-shadow:0 22px 60px rgba(0,0,0,.28);
  border-radius:18px;
  opacity:1;
}
.auth-modal .wrapper .form-wrapper.sign-up{transform:rotate(-7deg)}
.auth-modal .wrapper.animate-signUp .form-wrapper.sign-in{
  transform:rotate(-7deg);
  animation:authModalRotate .7s ease-in-out forwards;
  animation-delay:.3s;
}
.auth-modal .wrapper.animate-signIn .form-wrapper.sign-in{
  animation:authModalSignIn 1.5s ease-in-out forwards;
}
.auth-modal .wrapper.animate-signIn .form-wrapper.sign-up{
  animation:authModalRotate .7s ease-in-out forwards;
  animation-delay:.3s;
}
.auth-modal .wrapper.animate-signUp .form-wrapper.sign-up{
  animation:authModalSignUp 1.5s ease-in-out forwards;
}
@keyframes authModalSignIn{
  0%{transform:translateX(0)}
  50%{transform:translateX(min(42vw,420px))}
  100%{transform:translateX(0) rotate(-7deg)}
}
@keyframes authModalRotate{
  0%{transform:rotate(-7deg)}
  100%{transform:rotate(0);z-index:1}
}
@keyframes authModalSignUp{
  0%{transform:translateX(0);z-index:1}
  50%{transform:translateX(calc(-1 * min(42vw,420px)))}
  100%{transform:translateX(0) rotate(-7deg)}
}
.auth-modal .form-wrapper form,
.auth-modal .form-panel{width:100%;padding:36px 36px 28px;box-sizing:border-box}
.auth-modal .form-wrapper h2{
  font-family:inherit;
  font-size:1.35rem;
  color:#2f6f62;
  text-align:center;
  font-weight:700;
  letter-spacing:0;
  line-height:1.5;
  margin:0 0 6px;
}
.auth-modal .form-lead{text-align:center;color:#7b8790;font-size:12.5px;line-height:1.75;margin:0 0 10px}
.auth-modal .input-group{position:relative;width:100%;margin:22px 0}
.auth-modal .input-group label{
  position:absolute;top:50%;right:12px;transform:translateY(-50%);
  font-size:14px;color:#636e72;padding:0 8px;pointer-events:none;transition:.35s;background:#fff;
}
.auth-modal .input-group input{
  width:100%;height:46px;font-size:15px;color:#2d3436;padding:0 16px;
  background:transparent;border:2px solid #ddd;outline:none;border-radius:8px;transition:.3s;
  text-align:right;font-family:inherit;box-sizing:border-box;
}
.auth-modal .input-group input[dir=ltr]{text-align:left;direction:ltr}
.auth-modal .input-group input:focus{border-color:#00b894;box-shadow:0 0 0 3px rgba(0,184,148,.12)}
.auth-modal .input-group input:focus~label,
.auth-modal .input-group input:not(:placeholder-shown)~label,
.auth-modal .input-group input:valid~label{
  top:0;font-size:12px;background:#fff;color:#00b894;font-weight:600;
}
.auth-modal .btn{
  position:relative;width:100%;height:46px;
  background:linear-gradient(135deg,#00b894 0%,#00a085 100%);
  box-shadow:0 4px 15px rgba(0,184,148,.35);
  font-size:15px;color:#fff;font-weight:700;cursor:pointer;border-radius:8px;border:none;
  transition:all .3s;overflow:hidden;font-family:inherit;z-index:0;
}
.auth-modal .btn::before{
  content:'';position:absolute;top:0;right:-100%;width:100%;height:100%;
  background:linear-gradient(135deg,#00a085 0%,#00b894 100%);transition:.4s;z-index:-1;
}
.auth-modal .btn:hover::before{right:0}
.auth-modal .btn:hover{transform:translateY(-2px)}
.auth-modal .sign-link{font-size:13px;text-align:center;margin:18px 0 0;color:#636e72}
.auth-modal .sign-link a{color:#00b894;text-decoration:none;font-weight:700}
.auth-modal .sign-link a:hover{text-decoration:underline}
.auth-modal .mode-tabs{display:flex;gap:8px;margin:8px 0 4px;background:#f4f6f7;border-radius:10px;padding:4px}
.auth-modal .mode-tabs button{
  flex:1;border:0;background:transparent;border-radius:8px;height:34px;
  font:600 13px "Vazirmatn",Tahoma,sans-serif;color:#636e72;cursor:pointer;
}
.auth-modal .mode-tabs button.active{background:#fff;color:#00b894;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.auth-modal .subpane[hidden],.auth-modal [data-pane][hidden]{display:none!important}
.auth-modal .email-note{font-size:12px;color:#636e72;text-align:center;margin-top:10px;line-height:1.7}
.auth-modal .captcha-row{display:flex;align-items:center;gap:10px;margin:8px 0 4px}
.auth-modal .captcha-img{
  display:block;width:180px;height:56px;border-radius:10px;border:1px solid #d7e8e2;background:#e8f8f3;
}
.auth-modal .captcha-refresh{
  width:40px;height:40px;border-radius:10px;border:2px solid #ddd;background:#fff;
  color:#00b894;font-size:20px;line-height:1;cursor:pointer;
}

body.auth-modal-open{overflow:hidden}

@media (max-width:520px){
  .auth-modal{padding:16px 12px;align-items:flex-end}
  .auth-modal__dialog{width:100%;max-height:88vh}
  .auth-modal .wrapper{height:min(560px,78vh)}
  .auth-modal .form-wrapper form,
  .auth-modal .form-panel{padding:28px 22px 22px}
  .auth-modal__close{top:8px;left:8px}
  .auth-modal__eyebrow{top:-36px}
  @keyframes authModalSignIn{
    0%{transform:translateX(0)}
    50%{transform:translateX(110%)}
    100%{transform:translateX(0) rotate(-7deg)}
  }
  @keyframes authModalSignUp{
    0%{transform:translateX(0);z-index:1}
    50%{transform:translateX(-110%)}
    100%{transform:translateX(0) rotate(-7deg)}
  }
}

@media (prefers-reduced-motion:reduce){
  .auth-modal__backdrop,.auth-modal__dialog{transition:none}
  .auth-modal .wrapper .form-wrapper{animation:none!important}
}
