@font-face {
  font-family:Vazirmatn;
  src:url("fonts/vazirmatn-arabic-400-normal.49c0cc018008.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Vazirmatn;
  src:url("fonts/vazirmatn-arabic-600-normal.6da23f69b4f7.woff2") format("woff2");
  font-weight:600;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Vazirmatn;
  src:url("fonts/vazirmatn-arabic-700-normal.51265c214faf.woff2") format("woff2");
  font-weight:700;
  font-style:normal;
  font-display:swap
}
:root {
  color-scheme:light;
  --auth-indigo:#4656a6;
  --auth-navy:#1b2345;
  --auth-muted:#5d6786;
  --auth-line:#d9dff0;
  --auth-surface:#f3f5ff;
  --auth-white:#fff;
  --auth-cut:32px;
  --auth-corners:polygon(var(--auth-cut) 0,100% 0,100% calc(100% - var(--auth-cut)),calc(100% - var(--auth-cut)) 100%,0 100%,0 var(--auth-cut))
}
* {
  box-sizing:border-box
}
.auth-page {
  margin:0;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  background:var(--auth-surface);
  color:var(--auth-navy);
  font:400 16px/1.85 Vazirmatn,Tahoma,sans-serif
}
.auth-page [hidden] {
  display:none!important
}
.auth-page a {
  min-height:44px;
  min-width:44px;
  display:inline-flex;
  align-items:center;
  color:var(--auth-indigo);
  text-underline-offset:5px
}
.auth-page a:hover {
  text-decoration-thickness:2px
}
.auth-page :focus-visible {
  outline:3px solid var(--auth-indigo);
  outline-offset:4px
}
.auth-skip {
  position:fixed;
  inset-block-start:-100px;
  inset-inline-start:16px;
  z-index:20;
  padding:10px 18px;
  background:white
}
.auth-skip:focus {
  inset-block-start:12px
}
.auth-brand {
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:12px;
  padding:25px 20px 6px
}
.auth-brand>a {
  font-size:29px;
  font-weight:700;
  text-decoration:none;
  color:var(--auth-navy)
}
.auth-brand>span {
  color:var(--auth-muted);
  font-size:13px
}
.auth-main {
  position:relative;
  z-index:3;
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:26px 24px 32px
}
.auth-card-frame {
  min-width:0;
  width:min(100%,480px);
  filter:drop-shadow(0 18px 30px #25356414);
  view-transition-name:auth-card
}
.auth-card-edge {
  padding:1px;
  background:#4656a638;
  clip-path:var(--auth-corners)
}
.auth-card {
  overflow-wrap:anywhere;
  padding:30px 34px 28px;
  background:#ffffffed;
  backdrop-filter:blur(18px);
  clip-path:var(--auth-corners)
}
.auth-tabs {
  display:flex;
  gap:6px;
  padding:5px;
  margin:0 0 27px;
  background:#edf0fc;
  border:1px solid #e3e8f8;
  border-radius:9px
}
.auth-tabs>a {
  flex:1;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  text-decoration:none;
  font-size:14px;
  font-weight:600
}
.auth-tabs>a[aria-current=page] {
  background:var(--auth-indigo);
  color:white
}
.auth-heading h1 {
  margin:0 0 10px;
  font-size:25px;
  line-height:1.65;
  font-weight:700
}
/* Announce the heading on navigation without styling it as an input. */
#auth-title[tabindex="-1"]:focus {
  outline:none
}
.auth-notice {
  margin:0 0 22px;
  font-size:13px;
  line-height:1.9;
  color:var(--auth-muted)
}
.auth-form {
  display:flex;
  flex-direction:column;
  gap:17px
}
.auth-field>label {
  display:block;
  font-size:13px;
  font-weight:600;
  margin-block-end:7px
}
.auth-field input,.auth-field select,.auth-field textarea {
  display:block;
  width:100%;
  min-width:0;
  min-height:48px;
  border:1px solid var(--auth-line);
  border-radius:7px;
  padding:10px 13px;
  background:#fbfcff;
  color:var(--auth-navy);
  font:inherit;
  line-height:1.65
}
.auth-field input:focus,.auth-field select:focus {
  background:white;
  border-color:var(--auth-indigo)
}
.auth-field input[name=email],.auth-field input[name=mobile],.auth-field input[name=code] {
  direction:ltr;
  text-align:start
}
.auth-field input[name=code] {
  letter-spacing:.3em;
  font-size:21px
}
.auth-field-invalid input,.auth-field-invalid select {
  border-color:#b24055
}
.auth-password {
  position:relative
}
.auth-password>input {
  padding-inline-end:78px
}
.auth-password-toggle {
  position:absolute;
  inset-inline-end:4px;
  inset-block:2px;
  min-height:44px;
  border:0;
  border-inline-start:1px solid var(--auth-line);
  border-radius:0;
  background:transparent;
  color:var(--auth-indigo);
  padding:0 12px;
  font:600 12px Vazirmatn,Tahoma,sans-serif;
  cursor:pointer;
  min-width:65px
}
.auth-help {
  font-size:12px;
  color:var(--auth-muted);
  margin-block-start:5px
}
.auth-primary,.auth-secondary {
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  width:100%;
  font:600 15px/1.6 Vazirmatn,Tahoma,sans-serif;
  border-radius:7px;
  cursor:pointer;
  text-decoration:none;
  padding:11px 15px
}
.auth-primary {
  border:1px solid var(--auth-indigo);
  background:var(--auth-indigo);
  color:white
}
.auth-primary:hover {
  background:#37468e
}
.auth-secondary {
  border:1px solid var(--auth-line);
  background:white;
  color:var(--auth-indigo)
}
.auth-secondary:hover {
  background:#f3f5ff
}
.auth-form-links {
  display:flex;
  justify-content:flex-end;
  margin-block-start:-5px;
  font-size:12px
}
.auth-account-link,.auth-return {
  text-align:center;
  font-size:13px;
  margin:22px 0 0;
  color:var(--auth-muted)
}
.auth-account-link a {
  font-weight:600;
  margin-inline-start:4px
}
.auth-alternative {
  margin-block-start:24px
}
.auth-alternative>span {
  display:block;
  text-align:center;
  color:var(--auth-muted);
  font-size:12px;
  margin-block-end:12px
}
.auth-errors,.auth-message {
  font-size:13px;
  padding:12px 14px;
  margin:0 0 20px;
  border:1px solid #d8def4;
  border-radius:7px;
  background:#f2f4ff
}
.auth-errors {
  border-color:#edcad1;
  background:#fff6f8;
  color:#922d42
}
.auth-errors p {
  margin:0 0 4px
}
.auth-errors ul,.errorlist {
  padding-inline-start:18px;
  margin:4px 0
}
.auth-errors a {
  color:inherit
}
.auth-field .errorlist {
  list-style:none;
  padding:0;
  font-size:12px;
  color:#922d42
}
.auth-footer {
  padding:0 24px 24px;
  text-align:center;
  font-size:11px;
  color:var(--auth-muted)
}
.auth-backdrop {
  position:fixed;
  inset:0;
  z-index:2;
  background:#26335f14;
  backdrop-filter:blur(8px)
}
.auth-close {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-block-end:15px;
  font-size:12px
}
.auth-page[data-auth-overlay=true] .auth-card-frame {
  max-width:480px
}
.auth-page[data-auth-overlay=true] .auth-card {
  padding-block-start:20px
}
/* Native forms and recovery links must stay interactive without scripting.
   Cross-document snapshot layers are a progressive motion enhancement. */
@view-transition {
  navigation:none
}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference) {
  @view-transition {
    navigation:auto
  }
}
::view-transition-old(root),::view-transition-new(root) {
  animation:none
}
::view-transition-group(auth-card) {
  animation-duration:380ms;
  animation-timing-function:cubic-bezier(.2,.7,.2,1)
}
::view-transition-old(auth-card) {
  animation:auth-leave 210ms ease both
}
::view-transition-new(auth-card) {
  animation:auth-enter 380ms cubic-bezier(.2,.7,.2,1) both
}
@keyframes auth-leave {
  to {
    opacity:0;
    transform:translateX(-20px);
    filter:blur(4px)
  }
}
@keyframes auth-enter {
  from {
    opacity:0;
    transform:translateX(25px);
    filter:blur(4px)
  }
  to {
    opacity:1;
    transform:translateX(0);
    filter:blur(0)
  }
}
@media(max-width:540px) {
  :root {
    --auth-cut:24px
  }
  .auth-brand {
    padding-block-start:18px
  }
  .auth-main {
    padding:18px 16px 25px;
    align-items:flex-start
  }
  .auth-card {
    padding:25px 23px
  }
  .auth-tabs {
    margin-block-end:23px
  }
  .auth-heading h1 {
    font-size:23px
  }
  .auth-notice {
    font-size:12px
  }
  .auth-form {
    gap:15px
  }
  .auth-footer {
    padding-inline:22px
  }
  .auth-page[data-auth-overlay=true] .auth-main {
    align-items:center
  }
  .auth-page[data-auth-overlay=true] .auth-card {
    padding:18px 23px 25px
  }
}
@media(prefers-reduced-motion:reduce) {
  @view-transition {
    navigation:none
  }
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) {
    animation:none!important
  }
  .auth-page * {
    scroll-behavior:auto!important
  }
}
