:root{
  --auth-bg:#f5f7f7;
  --auth-surface:#ffffff;
  --auth-ink:#17211f;
  --auth-muted:#66736f;
  --auth-line:#e3e9e7;
  --auth-brand:#0f766e;
  --auth-brand-2:#0d9488;
  --auth-soft:#ecfdf8;
  --auth-danger:#b42318;
}
*{box-sizing:border-box}
body.auth-page{
  font-family:'Vazirmatn FD',Tahoma,Arial,sans-serif;
  color:var(--auth-ink);
  background:
    radial-gradient(55rem 34rem at 100% -10%,rgba(13,148,136,.12),transparent 58%),
    radial-gradient(45rem 30rem at -10% 110%,rgba(15,118,110,.08),transparent 60%),
    var(--auth-bg);
  min-height:100dvh;
  display:flex;
  align-items:center;
  padding:22px 0;
}
.auth-page .container{max-width:920px}
.auth-card{
  max-width:460px;
  margin:auto;
  overflow:hidden;
  border:1px solid var(--auth-line)!important;
  border-radius:20px;
  background:var(--auth-surface);
  box-shadow:0 18px 55px rgba(22,40,35,.09)!important;
}
.auth-card.auth-card-wide{max-width:760px}
.auth-head{
  position:relative;
  overflow:hidden;
  padding:24px 26px 21px;
  color:var(--auth-ink);
  text-align:right;
  background:linear-gradient(135deg,#f4fffb 0%,#ffffff 68%);
  border-bottom:1px solid var(--auth-line);
}
.auth-head::after{
  content:"";
  position:absolute;
  width:120px;height:120px;
  left:-48px;top:-54px;
  border-radius:50%;
  background:rgba(13,148,136,.08);
}
.auth-head .fs-3{
  width:44px;height:44px;
  display:inline-grid;place-items:center;
  margin-bottom:12px;
  color:#fff;
  border-radius:14px;
  background:linear-gradient(145deg,var(--auth-brand-2),var(--auth-brand));
  box-shadow:0 10px 22px rgba(15,118,110,.18);
}
.auth-head h4{font-weight:800;font-size:1.16rem}
.auth-head .small{color:var(--auth-muted)!important;opacity:1!important}
.auth-body{padding:24px 26px 26px;background:#fff}
.auth-page .form-label{font-size:.84rem;font-weight:700;color:#32413d;margin-bottom:.42rem}
.auth-page .form-control,
.auth-page .input-group-text{
  min-height:47px;
  border-color:var(--auth-line);
  background:#fff;
  border-radius:11px;
}
.auth-page .input-group-text{color:#6c7975;background:#f8faf9}
.auth-page .input-group>.form-control{border-radius:11px 0 0 11px}
.auth-page[dir="rtl"] .input-group>.form-control{border-radius:11px 0 0 11px}
.auth-page .form-control:focus{
  border-color:rgba(13,148,136,.7);
  box-shadow:0 0 0 .22rem rgba(13,148,136,.11);
}
.auth-page .btn{border-radius:11px;font-weight:750;min-height:44px}
.auth-page .btn-primary{
  border-color:var(--auth-brand);
  background:linear-gradient(135deg,var(--auth-brand-2),var(--auth-brand));
  box-shadow:0 8px 18px rgba(15,118,110,.16);
}
.auth-page .btn-primary:hover{border-color:#0b675f;background:#0f766e}
.auth-page .btn-outline-secondary{color:#52605c;border-color:#d9e1de}
.auth-tabs{background:#f2f5f4;border:1px solid #edf1ef;border-radius:12px;padding:4px;display:flex;gap:4px}
.auth-tabs a{flex:1;text-decoration:none;text-align:center;padding:9px;border-radius:9px;color:#60706b;font-size:.88rem}
.auth-tabs a.active{background:#fff;color:var(--auth-brand);box-shadow:0 2px 9px rgba(29,54,47,.08);font-weight:800}
.otp-input{font-size:1.35rem;letter-spacing:.42rem;text-align:center;direction:ltr}
.muted-box{background:#f7faf9;border:1px solid var(--auth-line);border-radius:12px;padding:13px}
.auth-page .alert{border:0;border-radius:12px;font-size:.88rem}
.auth-page .alert-danger{color:#912018;background:#fff1f0}
.auth-page .alert-success{color:#0a685d;background:#eafaf5}
.auth-page .form-text{color:#83908c;font-size:.75rem}
.auth-page a{color:var(--auth-brand);font-weight:700;text-decoration:none}
.auth-page a:hover{text-decoration:underline}
@media(max-width:575px){
  body.auth-page{padding:10px}
  .auth-body{padding:19px}
  .auth-head{padding:20px}
  .auth-card,.auth-card.auth-card-wide{border-radius:15px}
}
