/* Bahr Light Auth - Modern responsive frontend UI */
.blla-wrap{
  --blla-primary:#1d4ed8;
  --blla-primary-2:#2563eb;
  --blla-accent:#06b6d4;
  --blla-text:#111827;
  --blla-muted:#64748b;
  --blla-border:rgba(148,163,184,.32);
  --blla-surface:rgba(255,255,255,.94);
  --blla-soft:#f8fafc;
  --blla-danger:#dc2626;
  --blla-success:#059669;
  width:100%;
  max-width:510px;
  margin:clamp(14px,4vw,38px) auto;
  padding:clamp(10px,3vw,18px);
  box-sizing:border-box;
  direction:rtl;
  font-family:inherit;
  color:var(--blla-text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.blla-wrap *{box-sizing:border-box}
.blla-box{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 88% 0%,rgba(37,99,235,.16),transparent 34%),
    radial-gradient(circle at 2% 100%,rgba(6,182,212,.13),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.98),var(--blla-surface));
  border:1px solid rgba(226,232,240,.92);
  border-radius:30px;
  box-shadow:0 24px 68px rgba(15,23,42,.13),0 2px 10px rgba(15,23,42,.04);
  padding:clamp(21px,5vw,34px);
  backdrop-filter:saturate(140%) blur(10px);
}
.blla-box:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  background:linear-gradient(90deg,var(--blla-primary),var(--blla-accent),#7c3aed);
  z-index:1;
}
.blla-box:after{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  border-radius:999px;
  background:rgba(37,99,235,.07);
  filter:blur(7px);
  left:-130px;
  top:-120px;
  z-index:-1;
}
.blla-state{
  position:relative;
  animation:bllaFadeUp .22s ease both;
}
@keyframes bllaFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.blla-state:before{
  content:"";
  display:block;
  width:58px;
  height:58px;
  border-radius:20px;
  margin:0 auto 15px;
  background:
    linear-gradient(135deg,rgba(37,99,235,.98),rgba(6,182,212,.92)),
    #2563eb;
  box-shadow:0 18px 35px rgba(37,99,235,.23);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5Zm-3 8V7a3 3 0 1 1 6 0v3H9Zm4 5.73V18h-2v-2.27a2 2 0 1 1 2 0Z'/%3E%3C/svg%3E") center/30px 30px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a5 5 0 0 0-5 5v3H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8a2 2 0 0 0-2-2h-1V7a5 5 0 0 0-5-5Zm-3 8V7a3 3 0 1 1 6 0v3H9Zm4 5.73V18h-2v-2.27a2 2 0 1 1 2 0Z'/%3E%3C/svg%3E") center/30px 30px no-repeat;
}
.blla-state h3{
  margin:0 0 8px;
  font-size:clamp(22px,5.5vw,29px);
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--blla-text);
  text-align:center;
}
.blla-muted{
  margin:0 auto 22px;
  max-width:390px;
  color:var(--blla-muted);
  line-height:2;
  font-size:14.5px;
  text-align:center;
}
.blla-muted strong{
  color:#0f172a;
  direction:ltr;
  unicode-bidi:plaintext;
  background:rgba(37,99,235,.08);
  border-radius:10px;
  padding:1px 8px;
  font-weight:900;
}
.blla-form{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0 0 13px;
}
.blla-form label{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:2px 2px -2px;
  font-size:13.5px;
  line-height:1.8;
  font-weight:900;
  color:#334155;
}
.blla-form label span{
  font-size:12px;
  font-weight:800;
  color:#94a3b8;
}
.blla-form input{
  width:100%;
  min-height:52px;
  box-sizing:border-box;
  border:1px solid var(--blla-border);
  border-radius:17px;
  padding:14px 16px;
  font-size:16px;
  line-height:1.6;
  color:#0f172a;
  outline:none;
  background:linear-gradient(180deg,#fff,#fdfdff);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
  box-shadow:0 1px 0 rgba(15,23,42,.03) inset;
  font-family:inherit;
}
.blla-form input::placeholder{color:#a0aec0;font-size:13.5px}
.blla-form input:focus{
  border-color:rgba(37,99,235,.72);
  background:#fff;
  box-shadow:0 0 0 5px rgba(37,99,235,.13),0 11px 24px rgba(37,99,235,.07);
  transform:translateY(-1px);
}
.blla-form input[type="password"],.blla-form input[type="text"][inputmode="numeric"],.blla-form input[type="tel"]{
  direction:ltr;
  text-align:left;
  unicode-bidi:plaintext;
}
.blla-form button,.blla-secondary,.blla-back{
  min-height:52px;
  border:0;
  border-radius:17px;
  padding:14px 18px;
  font-size:15.5px;
  line-height:1.6;
  font-weight:950;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease, background .18s ease;
  font-family:inherit;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.blla-form button{
  position:relative;
  overflow:hidden;
  margin-top:6px;
  background:linear-gradient(135deg,var(--blla-primary),#0f172a);
  color:#fff;
  box-shadow:0 16px 33px rgba(29,78,216,.26);
}
.blla-form button:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  transform:translateX(110%);
  transition:transform .45s ease;
}
.blla-form button:hover:before{transform:translateX(-110%)}
.blla-form button:hover,.blla-secondary:hover,.blla-back:hover{transform:translateY(-2px)}
.blla-form button:active,.blla-secondary:active,.blla-back:active{transform:translateY(0)}
.blla-form button:disabled{opacity:.68;cursor:not-allowed;transform:none;box-shadow:none}
.blla-secondary{
  width:100%;
  background:linear-gradient(135deg,#eef6ff,#ecfeff)!important;
  color:#1557c0!important;
  border:1px solid rgba(37,99,235,.16)!important;
  box-shadow:0 12px 28px rgba(37,99,235,.08);
}
.blla-back{
  width:100%;
  margin-top:8px;
  background:#f1f5f9;
  color:#334155;
  border:1px solid rgba(148,163,184,.24);
}
.blla-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:9px;
  color:var(--blla-primary);
  text-decoration:none;
  font-weight:900;
  border-radius:14px;
  transition:background .18s ease,color .18s ease;
}
.blla-link:hover{
  background:rgba(37,99,235,.07);
  color:#1e40af;
  text-decoration:none;
}
.blla-separator{
  display:flex;
  align-items:center;
  gap:12px;
  margin:10px 0 15px;
  color:#94a3b8;
  font-size:12px;
  font-weight:900;
}
.blla-separator:before,.blla-separator:after{content:"";height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);flex:1}
.blla-message{
  position:fixed;
  top:max(16px,env(safe-area-inset-top));
  left:50%;
  z-index:2147483000;
  width:min(calc(100vw - 24px),430px);
  box-sizing:border-box;
  transform:translate(-50%,-14px);
  opacity:0;
  border-radius:18px;
  padding:14px 48px 14px 16px;
  margin:0;
  font-family:var(--blla-frontend-font,"Yekan Bakh","YekanBakh","IRANYekan","IRANSansWeb",Tahoma,Arial,sans-serif)!important;
  font-size:14px;
  line-height:1.9;
  font-weight:850;
  text-align:right;
  direction:rtl;
  box-shadow:0 18px 50px rgba(15,23,42,.20);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:auto;
}
.blla-message.blla-toast-visible{opacity:1;transform:translate(-50%,0)}
.blla-message.blla-toast-leaving{opacity:0;transform:translate(-50%,-12px)}
.blla-toast-close{position:absolute;top:50%;right:13px;transform:translateY(-50%);width:28px;height:28px;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:9px!important;background:rgba(15,23,42,.07)!important;color:inherit!important;box-shadow:none!important;font:700 20px/28px Arial,sans-serif!important;cursor:pointer;display:flex;align-items:center;justify-content:center}
.blla-toast-close:hover{transform:translateY(-50%)!important;background:rgba(15,23,42,.12)!important}
.blla-success{background:rgba(236,253,245,.97);color:#047857;border:1px solid #a7f3d0}.blla-error{background:rgba(254,242,242,.98);color:#b91c1c;border:1px solid #fecaca}.blla-info{background:rgba(239,246,255,.98);color:#1d4ed8;border:1px solid #bfdbfe}
.blla-logged-in{text-align:center}
.blla-logged-in:before{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m10 15.17 8.59-8.58L20 8l-10 10-6-6 1.41-1.41L10 15.17Z'/%3E%3C/svg%3E") center/34px 34px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m10 15.17 8.59-8.58L20 8l-10 10-6-6 1.41-1.41L10 15.17Z'/%3E%3C/svg%3E") center/34px 34px no-repeat;
  background:linear-gradient(135deg,#10b981,#059669);
  box-shadow:0 18px 35px rgba(5,150,105,.2);
}
@media (min-width:768px){
  .blla-wrap{max-width:540px}
  .blla-box{padding:38px 42px}
}
@media (max-width:560px){
  .blla-wrap{max-width:100%;margin:0 auto;padding:12px}
  .blla-box{border-radius:24px;padding:24px 18px 19px;box-shadow:0 18px 44px rgba(15,23,42,.11)}
  .blla-state:before{width:52px;height:52px;border-radius:18px;margin-bottom:13px}
  .blla-muted{font-size:13.8px;margin-bottom:18px}
  .blla-form{gap:9px}
  .blla-form input,.blla-form button,.blla-secondary,.blla-back{min-height:50px;border-radius:16px;font-size:15px}
  .blla-form input{padding:13px 14px}
}
@media (max-width:380px){
  .blla-wrap{padding:8px}
  .blla-box{border-radius:20px;padding:21px 14px 16px}
  .blla-state h3{font-size:21px}
  .blla-muted{font-size:13.2px}
}
@media (prefers-reduced-motion:reduce){
  .blla-state,.blla-form input,.blla-form button,.blla-secondary,.blla-back{animation:none;transition:none}
  .blla-form button:before{display:none}
}

.blla-inline-form{margin-top:12px!important;text-align:center!important}
.blla-link-button{appearance:none!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#2563eb!important;font-weight:800!important;padding:8px 10px!important;margin:0 auto!important;min-height:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;text-decoration:none!important;font-family:inherit!important}
.blla-link-button:hover{color:#1d4ed8!important;text-decoration:underline!important;transform:none!important;box-shadow:none!important}

/* OTP 4-6 digit focused field */
.blla-form .blla-otp-code{
  text-align:center!important;
  direction:ltr!important;
  letter-spacing:.42em;
  padding-left:calc(16px - .21em)!important;
  font-size:clamp(22px,7vw,30px)!important;
  font-weight:950!important;
  font-variant-numeric:tabular-nums;
  caret-color:var(--blla-primary);
}
.blla-form .blla-otp-code::placeholder{letter-spacing:normal}

/* Required and optional field labels */
.blla-form label{
  display:flex;
  align-items:center;
  justify-content:flex-start!important;
  flex-wrap:wrap;
  gap:4px;
  width:max-content;
  max-width:100%;
  direction:rtl;
  text-align:right;
}
.blla-form label .blla-required-mark{
  display:inline-block;
  flex:0 0 auto;
  margin:0 1px 0 0;
  color:#dc2626!important;
  font-size:17px!important;
  font-weight:950!important;
  line-height:1!important;
}
.blla-form label .blla-optional-mark{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  min-height:22px;
  margin:0 2px 0 0;
  padding:2px 8px;
  border:1px solid #dbeafe;
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.4!important;
}
.blla-form[aria-busy="true"] button[type="submit"],
.blla-form button.blla-submit-locked{
  opacity:.72!important;
  cursor:wait!important;
  pointer-events:none!important;
  transform:none!important;
  box-shadow:none!important;
}
.blla-form button.blla-submit-locked:before{display:none!important}
.blla-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* Login page rendered between the active theme header and footer */
.blla-theme-page-shell{display:flex;align-items:center;justify-content:center;width:100vw;max-width:none;min-height:70vh;margin:0 calc(50% - 50vw);padding:clamp(18px,3vw,42px);box-sizing:border-box;overflow:hidden}
.blla-theme-page-shell>.blla-wrap{width:100%;max-width:none}
body.blla-theme-chrome-login .blla-theme-page-shell--classic>.blla-wrap{max-width:560px;margin-inline:auto}
body.blla-theme-chrome-login .blla-theme-glass,body.blla-theme-chrome-login .blla-theme-langar{min-height:max(70vh,620px)}
@media(max-width:760px){.blla-theme-page-shell{min-height:68vh;padding:14px 10px}body.blla-theme-chrome-login .blla-theme-glass,body.blla-theme-chrome-login .blla-theme-langar{min-height:max(68vh,560px)}}
