/* TT24_L1_LOGIN_OTP_UI_V1 — responsive login/OTP presentation only */
.tt24-l1-auth,
.tt24-l1-auth *{box-sizing:border-box}
.tt24-l1-auth{
  --l1-navy:#0f2b4a;
  --l1-navy-2:#1e3a5f;
  --l1-cyan:#0d6b8f;
  --l1-cyan-2:#06a3bf;
  --l1-gold:#d4a017;
  --l1-green:#16a34a;
  --l1-red:#dc2626;
  --l1-text:#263447;
  --l1-muted:#64748b;
  --l1-line:#dbe3ea;
  --l1-page:#f3f6f9;
  min-height:100vh;
  min-height:100dvh;
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,55%) minmax(360px,45%);
  direction:ltr;
  overflow-x:hidden;
  background:#fff;
}
.tt24-l1-auth button,
.tt24-l1-auth input{font-family:inherit}
.tt24-l1-brand{
  direction:rtl;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:100%;
  color:#fff;
  background:linear-gradient(135deg,#0d5f7f 0%,#1185a8 42%,#16a8c8 72%,#16a8c8 86%,#ead7ad 100%);
  padding:46px 48px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.tt24-l1-brand::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.42;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.35) 0 1px,transparent 1.5px) 0 0/28px 28px,
    radial-gradient(circle at 72% 70%,rgba(255,255,255,.18),transparent 33%);
}
.tt24-l1-brand::after{
  content:"۲۴";
  position:absolute;
  z-index:-1;
  left:5%;
  top:18%;
  font-size:clamp(170px,24vw,360px);
  line-height:1;
  font-weight:950;
  color:rgba(255,255,255,.065);
  transform:rotate(-7deg);
}
.tt24-l1-logo{
  width:112px;
  height:112px;
  border-radius:24px;
  padding:5px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,43,74,.25);
  overflow:hidden;
}
.tt24-l1-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:18px}
.tt24-l1-brand-copy{max-width:640px;text-shadow:0 2px 12px rgba(15,43,74,.16)}
.tt24-l1-eyebrow{font-size:14px;font-weight:700;color:rgba(255,255,255,.82);margin:0 0 12px}
.tt24-l1-brand-title{font-size:clamp(28px,3.2vw,48px);line-height:1.35;font-weight:950;margin:0 0 12px;color:#fff}
.tt24-l1-brand-desc{font-size:15px;line-height:2;color:rgba(255,255,255,.88);margin:0;max-width:580px}
.tt24-l1-brand-url{direction:ltr;unicode-bidi:isolate;display:inline-block;margin-top:22px;font-size:12px;color:rgba(255,255,255,.7);text-decoration:none;cursor:pointer}
.tt24-l1-brand-url:hover,.tt24-l1-brand-url:focus-visible{color:rgba(255,255,255,.95);text-decoration:underline}
.tt24-l1-form-panel{
  direction:rtl;
  min-width:0;
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
  background:#fff;
}
.tt24-l1-auth .login-card.tt24-l1-card{
  width:100% !important;
  max-width:430px !important;
  margin:0 !important;
  padding:30px 28px !important;
  border:1px solid #e5ebf1 !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 18px 54px rgba(15,43,74,.10) !important;
  animation:tt24L1Rise .28s ease both;
  overflow:visible !important;
}
@keyframes tt24L1Rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tt24-l1-step-head{text-align:center;margin-bottom:24px}
.tt24-l1-step-title{margin:0 0 8px !important;color:var(--l1-navy) !important;font-size:21px !important;line-height:1.55;font-weight:900 !important}
.tt24-l1-step-desc{margin:0;color:var(--l1-muted);font-size:13px;line-height:1.85}
.tt24-l1-auth label{display:block !important;margin:0 0 8px !important;color:#475569 !important;font-size:13px !important;font-weight:700 !important}
.tt24-l1-auth .tt24-l1-input{
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  padding:0 14px !important;
  border:1.5px solid var(--l1-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--l1-text) !important;
  font-size:16px !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .16s,box-shadow .16s !important;
}
.tt24-l1-auth .tt24-l1-input:focus{border-color:var(--l1-cyan) !important;box-shadow:0 0 0 3px rgba(13,107,143,.11) !important}
.tt24-l1-auth .tt24-l1-phone{direction:ltr;text-align:center;letter-spacing:.9px;unicode-bidi:isolate}
.tt24-l1-auth .btn.tt24-l1-primary,
.tt24-l1-auth .btn.tt24-l1-secondary{
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:11px 15px !important;
  border-radius:12px !important;
  font-size:14px !important;
  font-weight:800 !important;
  cursor:pointer;
  transition:transform .15s,box-shadow .15s,opacity .15s !important;
}
.tt24-l1-auth .btn.tt24-l1-primary{
  border:0 !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--l1-navy-2),var(--l1-cyan)) !important;
  box-shadow:0 8px 18px rgba(13,107,143,.20) !important;
}
.tt24-l1-auth .btn.tt24-l1-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 24px rgba(13,107,143,.27) !important}
.tt24-l1-auth .btn.tt24-l1-secondary{
  border:1.5px solid #d8e1e9 !important;
  color:var(--l1-navy) !important;
  background:#fff !important;
  box-shadow:none !important;
}
.tt24-l1-auth .btn:disabled{opacity:.56 !important;cursor:not-allowed !important;transform:none !important}
.tt24-l1-actions{display:grid;gap:10px;margin-top:18px}
.tt24-l1-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  margin:0 0 18px;
  border:1px solid #e5ebf1;
  border-radius:12px;
  background:#f8fafc;
  color:#475569;
  font-size:12.5px;
}
.tt24-l1-summary-number{direction:ltr;unicode-bidi:isolate;color:var(--l1-navy);font-weight:800}
.tt24-l1-auth .tt24-l1-edit{
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:3px 5px !important;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:var(--l1-cyan) !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tt24-l1-auth #lg-msg{min-height:23px;margin:12px 0 0 !important;text-align:center;font-size:12px !important;line-height:1.8;color:var(--l1-muted)}
.tt24-l1-resend-row{display:flex;align-items:center;justify-content:center;margin-top:7px}
.tt24-l1-auth .tt24-l1-resend{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  min-height:34px !important;
  margin:0 auto !important;
  padding:4px 9px !important;
  border:0 !important;
  background:transparent !important;
  color:var(--l1-cyan) !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:700 !important;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tt24-l1-auth .tt24-l1-resend:disabled{color:#94a3b8 !important;text-decoration:none}
.tt24-l1-support{text-align:center;margin:16px 0 0;color:#94a3b8;font-size:11.5px;line-height:1.8}
.tt24-l1-support-number{direction:ltr;unicode-bidi:isolate;display:inline-block;white-space:nowrap;color:var(--l1-cyan);font-weight:800}
.tt24-l1-otp-wrap{position:relative;width:100%;margin:2px 0 0;isolation:isolate}
.tt24-l1-otp-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;direction:ltr;width:100%}
.tt24-l1-otp-box{
  aspect-ratio:1/1.08;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #d6dee7;
  border-radius:11px;
  background:#fff;
  color:var(--l1-navy);
  font-size:20px;
  font-weight:900;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.tt24-l1-otp-box.is-filled{border-color:#9fb3c5;background:#f8fafc}
.tt24-l1-otp-box.is-active{border-color:var(--l1-cyan);box-shadow:0 0 0 3px rgba(13,107,143,.10)}
.tt24-l1-otp-wrap.is-error .tt24-l1-otp-box{border-color:var(--l1-red);background:#fff7f7}
.tt24-l1-otp-wrap.is-error .tt24-l1-otp-box.is-active{box-shadow:0 0 0 3px rgba(220,38,38,.10)}
.tt24-l1-otp-native{
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  opacity:.015 !important;
  color:transparent !important;
  caret-color:transparent !important;
  background:transparent !important;
  box-shadow:none !important;
  direction:ltr !important;
  font-size:16px !important;
  letter-spacing:0 !important;
  cursor:text;
}
.tt24-l1-otp-native:focus{outline:none !important;box-shadow:none !important}
.tt24-l1-mobile-brand-copy{display:none}
@media (max-width:880px){
  .tt24-l1-auth{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:390px;
    min-width:0;
    margin:0 auto;
    background:var(--l1-page);
    box-shadow:0 0 36px rgba(15,43,74,.08);
  }
  .tt24-l1-brand{
    min-height:286px;
    margin:12px 14px 0;
    padding:30px 22px 28px;
    border-radius:24px;
    justify-content:flex-start;
    align-items:center;
    text-align:center;
    box-shadow:0 10px 28px rgba(15,43,74,.16);
  }
  .tt24-l1-brand::after{font-size:190px;left:-24px;top:40px;opacity:.7}
  .tt24-l1-logo{width:94px;height:94px;border-radius:18px;padding:2px;margin:0 0 16px;box-shadow:0 8px 22px rgba(15,43,74,.18)}
  .tt24-l1-logo img{border-radius:13px}
  .tt24-l1-brand-copy{display:none}
  .tt24-l1-mobile-brand-copy{display:block;color:#fff}
  .tt24-l1-mobile-brand-copy .tt24-l1-eyebrow{font-size:11px;margin-bottom:11px;color:#dbeafe}
  .tt24-l1-mobile-brand-copy .tt24-l1-brand-title{font-size:23px;margin-bottom:7px}
  .tt24-l1-mobile-brand-copy .tt24-l1-brand-desc{font-size:12px;line-height:1.85;color:#dbeafe}
  .tt24-l1-form-panel{flex:1;min-height:0;padding:18px 14px 24px;align-items:flex-start;background:var(--l1-page)}
  .tt24-l1-auth .login-card.tt24-l1-card{
    max-width:none !important;
    min-height:0 !important;
    padding:24px 22px !important;
    border-radius:20px !important;
    border:0 !important;
    box-shadow:0 10px 36px rgba(15,43,74,.10) !important;
    overflow:hidden !important;
  }
  .tt24-l1-step-head{margin-bottom:22px}
  .tt24-l1-step-title{font-size:18px !important}
  .tt24-l1-step-desc{font-size:12.5px}
  .tt24-l1-auth .tt24-l1-input{height:49px !important;min-height:49px !important;border-radius:11px !important}
  .tt24-l1-otp-boxes{gap:6px}
  .tt24-l1-otp-box{border-radius:9px;font-size:19px;aspect-ratio:1/1.08}
}
@media (max-width:359px){
  .tt24-l1-brand{margin-inline:8px;padding-inline:16px}
  .tt24-l1-form-panel{padding-inline:8px}
  .tt24-l1-auth .login-card.tt24-l1-card{padding-inline:16px !important}
  .tt24-l1-otp-boxes{gap:4px}
}
/* TT24_L1A_DESKTOP_LOGIN_VISUAL_V1_BEGIN */
@font-face{
  font-family:'TT24 B Yekan Plus';
  src:url('fonts/TT24-BYekanPlus.ttf') format('truetype');
  font-style:normal;
  font-weight:400 950;
  font-display:swap;
}
/* Remove the decorative ghost 24 on every login size. */
.tt24-l1-auth .tt24-l1-brand::after{
  content:none !important;
  display:none !important;
}
@media (min-width:881px){
  /* Physical order: form on the left, compact brand panel on the right. */
  .tt24-l1-auth{
    grid-template-columns:minmax(520px,58%) minmax(390px,42%) !important;
    grid-template-areas:'form brand' !important;
    direction:ltr !important;
  }
  .tt24-l1-form-panel{
    grid-area:form !important;
    padding:40px 56px !important;
  }
  .tt24-l1-brand{
    grid-area:brand !important;
    direction:rtl !important;
    min-width:0 !important;
    padding:38px 38px 30px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:center !important;
    text-align:center !important;
    background:linear-gradient(145deg,#0b6382 0%,#1188a9 48%,#18aec6 82%,#cfd9c8 100%) !important;
  }
  .tt24-l1-brand::before{
    opacity:.30 !important;
    background:
      radial-gradient(circle at 20% 18%,rgba(255,255,255,.34) 0 1px,transparent 1.5px) 0 0/30px 30px,
      radial-gradient(circle at 72% 72%,rgba(255,255,255,.16),transparent 34%) !important;
  }
  .tt24-l1-logo{
    width:clamp(190px,15.5vw,252px) !important;
    height:clamp(214px,17.6vw,286px) !important;
    flex:0 0 auto !important;
    margin:clamp(18px,4.5vh,52px) auto 18px !important;
    padding:8px !important;
    border:1px solid rgba(15,43,74,.18) !important;
    border-radius:30px !important;
    background-color:#f7fafc !important;
    background-image:url('tt24-login-logo.png') !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
    box-shadow:0 18px 42px rgba(15,43,74,.22),inset 0 0 0 1px rgba(255,255,255,.78) !important;
    overflow:hidden !important;
  }
  .tt24-l1-logo img{
    opacity:0 !important;
    visibility:hidden !important;
  }
  .tt24-l1-brand-copy{
    width:100% !important;
    max-width:560px !important;
    min-height:0 !important;
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    text-shadow:0 2px 12px rgba(15,43,74,.14) !important;
  }
  .tt24-l1-brand-copy .tt24-l1-eyebrow{
    margin:0 !important;
    font-size:clamp(15px,1.18vw,19px) !important;
    line-height:1.9 !important;
    font-weight:850 !important;
    color:rgba(255,255,255,.96) !important;
  }
  .tt24-l1-brand-copy .tt24-l1-brand-title{
    margin:auto 0 5px !important;
    font-family:'TT24 B Yekan Plus','B Yekan+','BYekanPlus','Vazirmatn',Tahoma,sans-serif !important;
    font-size:clamp(38px,3.1vw,56px) !important;
    line-height:1.3 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    color:#08253f !important;
    text-shadow:none !important;
  }
  .tt24-l1-brand-copy .tt24-l1-brand-desc{
    margin:0 0 2px !important;
    max-width:520px !important;
    font-size:clamp(13px,1.03vw,16px) !important;
    line-height:2 !important;
    font-weight:650 !important;
    color:rgba(255,255,255,.95) !important;
  }
  .tt24-l1-brand-copy .tt24-l1-brand-url{
    display:none !important;
  }
  .tt24-l1-auth .login-card.tt24-l1-card{
    max-width:430px !important;
  }
}
/* TT24_L1A_DESKTOP_LOGIN_VISUAL_V1_END */
/* TT24_L1B_DESKTOP_LOGIN_TEXT_TUNING_V1_BEGIN */
@media (min-width:881px){
  /* Larger system heading under the logo. */
  .tt24-l1-brand-copy .tt24-l1-eyebrow{
    margin:0 !important;
    font-size:clamp(18px,1.35vw,22px) !important;
    line-height:1.75 !important;
    font-weight:850 !important;
    letter-spacing:0 !important;
  }

  /* Reduce the dark brand title by roughly 3–4 visual steps. */
  .tt24-l1-brand-copy .tt24-l1-brand-title{
    margin:auto 0 4px !important;
    font-size:clamp(28px,2.25vw,38px) !important;
    line-height:1.35 !important;
    font-weight:700 !important;
  }

  /* Keep the descriptive line compact and directly below the title. */
  .tt24-l1-brand-copy .tt24-l1-brand-desc{
    margin:0 0 5px !important;
    max-width:520px !important;
    font-size:clamp(13px,.98vw,15px) !important;
    line-height:1.9 !important;
    font-weight:650 !important;
  }

  /* Reveal the existing site address and use its bottom spacing to lift the whole lower block. */
  .tt24-l1-brand-copy .tt24-l1-brand-url{
    display:block !important;
    direction:ltr !important;
    unicode-bidi:isolate !important;
    margin:0 0 clamp(58px,7.5vh,92px) !important;
    font-size:12px !important;
    line-height:1.8 !important;
    font-weight:650 !important;
    color:rgba(255,255,255,.90) !important;
    text-shadow:0 1px 8px rgba(15,43,74,.18) !important;
  }
}
/* TT24_L1B_DESKTOP_LOGIN_TEXT_TUNING_V1_END */

/* TT24_MOBILE_LOGIN_BRAND_V2_START */
@media (max-width:880px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    overflow-x:hidden !important;
  }

  .tt24-l1-auth{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:100dvh !important;
    margin:0 !important;
    box-shadow:none !important;
  }

  .tt24-l1-brand{
    width:auto !important;
    min-height:304px !important;
    margin:8px 6px 0 !important;
    padding:18px 16px 28px !important;
    border-radius:22px !important;
    box-sizing:border-box !important;
  }

  .tt24-l1-logo{
    width:116px !important;
    height:116px !important;
    margin:0 auto 2px !important;
    padding:4px !important;
    border-radius:22px !important;
    background:#f7fafc !important;
    box-shadow:0 8px 22px rgba(15,43,74,.18) !important;
  }

  .tt24-l1-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    border-radius:16px !important;
  }

  .tt24-l1-mobile-brand-copy{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
  }

  /* Two visual steps larger and slightly higher. */
  .tt24-l1-mobile-brand-copy .tt24-l1-eyebrow{
    position:relative !important;
    top:-7px !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.8 !important;
    font-weight:850 !important;
    color:#eaf6ff !important;
  }

  /* Yekan Bold and intentionally lower than the eyebrow. */
  .tt24-l1-mobile-brand-copy .tt24-l1-brand-title{
    position:relative !important;
    top:7px !important;
    margin:7px 0 0 !important;
    font-family:'TT24 Yekan','B Yekan','BYekan','Vazirmatn',Tahoma,sans-serif !important;
    font-size:27px !important;
    line-height:1.5 !important;
    font-weight:700 !important;
    letter-spacing:0 !important;
    color:#08253f !important;
    text-shadow:none !important;
  }

  /* One visual step larger and lower. */
  .tt24-l1-mobile-brand-copy .tt24-l1-brand-desc{
    position:relative !important;
    top:11px !important;
    margin:10px 0 0 !important;
    max-width:100% !important;
    font-size:14px !important;
    line-height:1.9 !important;
    font-weight:650 !important;
    color:#eaf6ff !important;
  }

  .tt24-l1-form-panel{
    width:100% !important;
    padding:14px 6px 24px !important;
    box-sizing:border-box !important;
  }

  .tt24-l1-auth .login-card.tt24-l1-card{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
}
/* TT24_MOBILE_LOGIN_BRAND_V2_END */

/* TT24_MOBILE_LOGIN_BRAND_REFINEMENT_V3_START */
@media (max-width:880px){
  /* Slightly larger new logo. */
  .tt24-l1-logo{
    width:132px !important;
    height:132px !important;
    margin-top:-2px !important;
    margin-bottom:0 !important;
    padding:4px !important;
  }

  /*
   * Eyebrow remains in its approved V2 position.
   * The title and description form a compact group lower in the blue panel.
   */
  .tt24-l1-mobile-brand-copy .tt24-l1-eyebrow{
    top:-7px !important;
    margin:0 !important;
  }

  .tt24-l1-mobile-brand-copy .tt24-l1-brand-title{
    position:relative !important;
    top:0 !important;
    margin:35px 0 0 !important;
    font-family:'TT24 Yekan','B Yekan','BYekan','Vazirmatn',Tahoma,sans-serif !important;
    font-size:27px !important;
    line-height:1.35 !important;
    font-weight:700 !important;
  }

  .tt24-l1-mobile-brand-copy .tt24-l1-brand-desc{
    position:relative !important;
    top:0 !important;
    margin:1px 0 0 !important;
    max-width:100% !important;
    font-size:14px !important;
    line-height:1.65 !important;
    font-weight:650 !important;
  }
}
/* TT24_MOBILE_LOGIN_BRAND_REFINEMENT_V3_END */

/* TT24_MOBILE_LOGIN_FINAL_REFINEMENT_V4_START */
@media (max-width:880px){
  .tt24-l1-logo{
    width:132px !important;
    height:132px !important;
    padding:4px !important;
    overflow:hidden !important;
  }

  .tt24-l1-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center !important;
    transform:scale(1.27) !important;
    transform-origin:50% 54% !important;
    border-radius:16px !important;
  }

  .tt24-l1-mobile-brand-copy{
    width:100% !important;
    max-width:100% !important;
    min-height:168px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .tt24-l1-mobile-brand-copy .tt24-l1-eyebrow{
    position:static !important;
    top:auto !important;
    margin:7px 0 0 !important;
    font-size:15px !important;
    line-height:1.8 !important;
    font-weight:850 !important;
  }

  .tt24-l1-mobile-brand-copy .tt24-l1-brand-title{
    position:static !important;
    top:auto !important;
    margin:auto 0 0 !important;
    font-family:'TT24 B Yekan Plus','B Yekan+','BYekanPlus','B Yekan','BYekan','Vazirmatn',Tahoma,sans-serif !important;
    font-size:27px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
  }

  .tt24-l1-mobile-brand-copy .tt24-l1-brand-desc{
    position:static !important;
    top:auto !important;
    margin:2px 0 7px !important;
    max-width:100% !important;
    font-size:14px !important;
    line-height:1.65 !important;
    font-weight:650 !important;
  }
}
/* TT24_MOBILE_LOGIN_FINAL_REFINEMENT_V4_END */
