*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
:root{
  --auth-card:rgba(255,255,255,.94);
  --auth-line:rgba(47,84,132,.14);
  --auth-line-strong:rgba(33,104,255,.24);
  --auth-text:#10294f;
  --auth-muted:#71829c;
  --auth-blue:#176dff;
  --auth-blue2:#0b4ed3;
  --auth-green:#19bd78;
  --auth-red:#d84a43;
  --auth-shadow:0 26px 70px rgba(19,43,78,.12);
}
html[data-theme="dark"]{
  --auth-card:rgba(10,24,44,.95);
  --auth-line:rgba(124,161,214,.18);
  --auth-line-strong:rgba(48,126,255,.36);
  --auth-text:#f1f6ff;
  --auth-muted:#9bacc5;
  --auth-blue:#277bff;
  --auth-blue2:#0d54dc;
  --auth-green:#24d089;
  --auth-red:#ff7971;
  --auth-shadow:0 28px 76px rgba(0,0,0,.38);
}
body.tl-auth-page{
  min-height:100dvh;
  color:var(--auth-text);
  background:var(--tl-color-bg, #f3f6fa);
  font-family:inherit;
}
.tl-auth-shell{
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:22px 14px;
}
.tl-auth-card{
  width:min(430px,100%);
  display:grid;
  gap:20px;
  padding:28px;
  border:1px solid var(--auth-line);
  border-radius:28px;
  background:var(--auth-card);
  box-shadow:var(--auth-shadow),inset 0 1px 0 rgba(255,255,255,.42);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}
html[data-theme="dark"] .tl-auth-card{box-shadow:var(--auth-shadow),inset 0 1px 0 rgba(255,255,255,.045)}
.tl-auth-card--wide{width:min(520px,100%)}
.tl-auth-brand{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-inline:auto;
  color:var(--auth-text);
  text-decoration:none;
}
.tl-auth-brand__mark{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--auth-line-strong);
  border-radius:22px;
  background:
    radial-gradient(circle at 35% 25%,rgba(255,255,255,.96),rgba(255,255,255,.26) 36%,transparent 60%),
    linear-gradient(145deg,rgba(37,104,255,.10),rgba(122,88,255,.08));
  box-shadow:0 14px 28px rgba(28,69,126,.12),inset 0 1px 0 rgba(255,255,255,.65);
}
html[data-theme="dark"] .tl-auth-brand__mark{background:linear-gradient(145deg,rgba(28,88,183,.30),rgba(65,48,138,.20));box-shadow:0 16px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)}
.tl-auth-brand__mark img{width:100%;height:100%;object-fit:contain;padding:8px}
.tl-auth-brand__mark svg{width:38px;height:38px;fill:none;stroke:#1b5fa9;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .tl-auth-brand__mark svg{stroke:#75b3ff}
.tl-auth-brand__name{font-size:var(--tl-type-400);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-auth-copy{text-align:center}
.tl-auth-copy h1{margin:0;color:var(--auth-text);font-size:var(--tl-type-900);font-weight:950;line-height:1.55;letter-spacing:-.15px}
.tl-auth-copy p{margin:7px 0 0;color:var(--auth-muted);font-size:var(--tl-type-200);font-weight:700;line-height:1.8}
.tl-auth-copy strong{color:var(--auth-text);font-weight:900}
.tl-auth-card form:not(.tl-auth-link-form){display:grid;gap:14px}
.tl-auth-field{display:grid;gap:7px}
.tl-auth-field label{color:#526984;font-size:var(--tl-type-200);font-weight:820}
html[data-theme="dark"] .tl-auth-field label{color:#b8c7dc}
.tl-auth-field input{
  width:100%;
  height:52px;
  padding:0 14px;
  border:1px solid var(--auth-line);
  border-radius:15px;
  outline:none;
  color:var(--auth-text);
  background:rgba(255,255,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  font:inherit;
  font-size:var(--tl-type-500);
  font-weight:800;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
html[data-theme="dark"] .tl-auth-field input{background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.tl-auth-field input:focus{border-color:rgba(33,104,255,.55);box-shadow:0 0 0 4px rgba(33,104,255,.09),inset 0 1px 0 rgba(255,255,255,.6)}
.tl-auth-field input::placeholder{color:#9aa8bb;font-weight:650}
.tl-auth-field span[data-valmsg-for],.tl-auth-validation{color:var(--auth-red);font-size:var(--tl-type-100);font-weight:750;line-height:1.7}
.tl-auth-field--otp input{text-align:center!important;letter-spacing:7px;font-size:var(--tl-type-800);font-weight:950}
.tl-auth-primary{
  position:relative;
  width:100%;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 18px;
  overflow:hidden;
  border:1px solid rgba(41,117,255,.36);
  border-radius:15px;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0) 44%),
    linear-gradient(145deg,var(--auth-blue),var(--auth-blue2));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 13px 25px rgba(17,88,220,.22);
  cursor:pointer;
  font:inherit;
  font-size:var(--tl-type-400);
  font-weight:950;
  text-decoration:none;
}
.tl-auth-primary::before{content:"";position:absolute;inset:1px 12px auto;height:42%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent);pointer-events:none}
.tl-auth-primary--link{margin-top:-4px}
.tl-auth-link-form{margin:0;text-align:center}
.tl-auth-text-button{padding:4px 8px;border:0;color:#245c9b;background:transparent;cursor:pointer;font:inherit;font-size:var(--tl-type-200);font-weight:850;text-decoration:underline;text-underline-offset:3px}
html[data-theme="dark"] .tl-auth-text-button{color:#76b4ff}
.tl-auth-alert{padding:10px 12px;border-radius:12px;font-size:var(--tl-type-200);font-weight:780;line-height:1.7;text-align:center}
.tl-auth-alert--success{color:#15734d;border:1px solid rgba(25,189,120,.20);background:rgba(25,189,120,.08)}
.tl-auth-alert--error{color:#b43d37;border:1px solid rgba(216,74,67,.18);background:rgba(216,74,67,.07)}
html[data-theme="dark"] .tl-auth-alert--success{color:#70e3ad;background:rgba(25,189,120,.12)}
html[data-theme="dark"] .tl-auth-alert--error{color:#ff938d;background:rgba(216,74,67,.12)}
.tl-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tl-auth-check{display:flex;align-items:center;gap:7px;color:var(--auth-muted);font-size:var(--tl-type-100);font-weight:750}
.tl-auth-check input{accent-color:var(--auth-blue)}
.tl-auth-card--success{text-align:center;justify-items:center}
.tl-auth-success-icon{width:76px;height:76px;display:grid;place-items:center;border:1px solid rgba(25,189,120,.30);border-radius:50%;color:#fff;background:linear-gradient(145deg,#31d891,#0e9c62);box-shadow:0 16px 30px rgba(13,156,98,.22),inset 0 1px 0 rgba(255,255,255,.30)}
.tl-auth-success-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){
  .tl-auth-shell{place-items:start center;padding:calc(42px + env(safe-area-inset-top,0px)) 12px 18px}
  .tl-auth-card{width:100%;max-width:430px;padding:24px 18px;border-radius:24px;gap:18px}
  .tl-auth-card--start{margin-top:7vh}
  .tl-auth-brand__mark{width:62px;height:62px;border-radius:20px}
  .tl-auth-brand__name{font-size:var(--tl-type-300)}
  .tl-auth-copy h1{font-size:var(--tl-type-800)}
  .tl-auth-grid{grid-template-columns:1fr}
}
@media(max-width:360px){.tl-auth-card{padding-inline:15px}.tl-auth-copy h1{font-size:var(--tl-type-700)}.tl-auth-field input{height:49px}.tl-auth-primary{min-height:48px}}

/* === TL_AUTH_V2_START ===
   Centered authentication shell + TehranLight real store logo
   === */

/* Center every authentication step in the visible viewport. */
.tl-auth-shell{
  min-height:100dvh!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  padding:
    calc(18px + env(safe-area-inset-top,0px))
    14px
    calc(18px + env(safe-area-inset-bottom,0px))!important;
}

.tl-auth-card,
.tl-auth-card--start,
.tl-auth-card--wide,
.tl-auth-card--success{
  margin-top:0!important;
  margin-bottom:0!important;
  align-self:center!important;
}

/* When the real TehranLight image logo is configured, show the image itself
   rather than a generic square icon + duplicated text label. */
.tl-auth-brand--image{
  width:100%!important;
  max-width:220px!important;
  display:flex!important;
  justify-content:center!important;
  margin-inline:auto!important;
}

.tl-auth-brand__mark.has-image{
  width:min(190px,70vw)!important;
  height:82px!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.tl-auth-brand__mark.has-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:190px!important;
  max-height:82px!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 8px 16px rgba(20,48,86,.08))!important;
}

html[data-theme="dark"] .tl-auth-brand__mark.has-image{
  background:transparent!important;
  box-shadow:none!important;
}

html[data-theme="dark"] .tl-auth-brand__mark.has-image img{
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.24))!important;
}

@media(max-width:560px){
  .tl-auth-shell{
    min-height:100dvh!important;
    place-items:center!important;
    align-content:center!important;
    padding:
      calc(14px + env(safe-area-inset-top,0px))
      12px
      calc(14px + env(safe-area-inset-bottom,0px))!important;
  }

  .tl-auth-card{
    width:100%!important;
    max-width:430px!important;
    margin:0!important;
  }

  .tl-auth-card--start{
    margin-top:0!important;
  }

  .tl-auth-brand__mark.has-image{
    width:min(176px,66vw)!important;
    height:72px!important;
  }

  .tl-auth-brand__mark.has-image img{
    max-width:176px!important;
    max-height:72px!important;
  }
}
/* === TL_AUTH_V2_END === */
