:root{
  --ink:#182a1c;
  --paper:#f6f9f3;
  --panel:#ffffff;
  --line:#dfe8d8;
  --pine:#1c5e17;
  --pine-soft:#3a8a21;
  --sun:#f4c430;
  --sun-deep:#d9a300;
  --sky:#127bdb;
  --sky-deep:#0c5aa3;
  --muted:#6c7a6a;
  --danger:#c1502e;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Vazirmatn', sans-serif;
  color:var(--ink);
  min-height:100vh;
  background:var(--paper);
  position:relative;
  overflow-x:hidden;
}

/* -------- decorative background blobs (green / blue / sun) -------- */
body::before, body::after{
  content:"";
  position:fixed;
  border-radius:50%;
  filter:blur(70px);
  z-index:0;
  pointer-events:none;
}
body::before{
  width:520px; height:520px; top:-180px; left:-160px;
  background:radial-gradient(circle, rgba(28,94,23,.22), transparent 70%);
}
body::after{
  width:460px; height:460px; bottom:-160px; right:-140px;
  background:radial-gradient(circle, rgba(18,123,219,.18), transparent 70%);
}

.auth-shell{
  position:relative; z-index:1;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:48px 18px 24px;
}

.auth-brand{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  margin-bottom:28px; text-align:center;
}
.auth-brand img{height:64px; width:auto; object-fit:contain;}
.auth-brand .name{font-size:17px; font-weight:800; color:var(--pine);}
.auth-brand .tagline{font-size:13px; color:var(--muted);}

.auth-panel{
  width:100%; max-width:400px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:20px;
  padding:30px 26px 26px;
  box-shadow:0 10px 40px -18px rgba(24,42,28,.28);
  position:relative;
}
/* top accent bar blending brand colors */
.auth-panel::before{
  content:"";
  position:absolute; top:0; right:0; left:0; height:5px;
  border-radius:20px 20px 0 0;
  background:linear-gradient(90deg, var(--pine), var(--sky), var(--sun));
}

.auth-panel h2{font-size:19px; font-weight:800; color:var(--pine); margin:6px 0 6px;}
.auth-panel p.hint{font-size:13px; color:var(--muted); margin:0 0 24px; line-height:1.8;}

.field{margin-bottom:6px;}
label{display:block; font-size:12.5px; font-weight:600; color:var(--ink); margin-bottom:7px;}

.phone-input-wrap{
  display:flex; align-items:center; gap:0;
  border:1.6px solid var(--line); border-radius:12px;
  background:#f8faf6; overflow:hidden;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.phone-input-wrap:focus-within{border-color:var(--sky); box-shadow:0 0 0 3px rgba(18,123,219,.15);}
.phone-input-wrap .cc{
  flex:0 0 auto; padding:12px 14px; font-size:13.5px; font-weight:700; color:var(--pine);
  background:#eef4ea; border-left:1.6px solid var(--line); direction:ltr;
}
.phone-input-wrap input{
  flex:1; border:none; background:transparent; outline:none;
  padding:12px 14px; font-size:15px; color:var(--ink); direction:ltr; text-align:left;
  font-family:inherit;
}
.phone-input-wrap input::placeholder{color:#a7b3a2;}

.field-error{color:var(--danger); font-size:12px; margin:6px 0 0;}
.form-error{
  background:#fbeae5; color:var(--danger); border:1px solid #eab8a7;
  border-radius:10px; padding:10px 14px; font-size:13px; margin-bottom:16px;
}
.form-success{background:#eaf3ea; color:var(--pine-soft); border-color:#bfe0c4;}

.btn{
  display:block; width:100%; border:none; cursor:pointer;
  padding:13px 20px; border-radius:12px;
  font-family:inherit; font-size:15px; font-weight:700; color:#fff;
  background:linear-gradient(120deg, var(--pine), var(--sky));
  margin-top:18px;
  transition:transform .15s ease, filter .15s ease;
}
.btn:hover{filter:brightness(1.06); transform:translateY(-1px);}
.btn-ghost{
  background:none; color:var(--pine); font-weight:600; font-size:13px;
  border:none; cursor:pointer; margin-top:14px; width:100%; padding:6px; text-align:center;
}

/* -------- OTP: underline segments instead of boxed inputs -------- */
.otp-row{display:flex; gap:10px; direction:ltr; justify-content:center; margin:6px 0 4px;}
.otp-row input{
  width:38px; height:48px; text-align:center; font-size:22px; font-weight:800;
  border:none; border-bottom:3px solid var(--line); background:transparent; color:var(--ink);
  outline:none; padding:0; font-family:inherit;
  transition:border-color .18s ease;
}
.otp-row input:focus{border-color:var(--sky);}
.otp-row input:not(:placeholder-shown){border-color:var(--pine);}

.resend{font-size:12.5px; color:var(--muted); text-align:center; margin:14px 0 4px;}
.resend b{color:var(--sky-deep);}
.resend button{
  background:none; border:none; padding:0; font:inherit; color:var(--sky-deep);
  font-weight:700; cursor:pointer;
}
.resend button:disabled{color:var(--muted); cursor:default;}

.legal{font-size:11.5px; color:var(--muted); text-align:center; margin-top:22px; line-height:1.8;}

.auth-footer{
  margin-top:34px; text-align:center; font-size:12px; color:var(--muted);
  position:relative; z-index:1;
}

@media (max-width:480px){
  .auth-panel{padding:24px 18px 22px;}
  .otp-row input{width:34px; height:44px; font-size:19px;}
}

/* ==================== صفحه‌ی ورود (طرح جدید) ==================== */
.auth-panel-wide{max-width:980px; padding:0; overflow:hidden;}
.auth-split{display:flex; align-items:stretch; min-height:420px;}
.auth-illustration{
  flex:0 0 42%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg, var(--pine-tint,#eaf5ee), #f8faf6 70%);
  padding:30px;
}
.auth-illustration img{width:100%; max-width:320px; height:auto; object-fit:contain;}
.auth-form-col{flex:1 1 auto; padding:38px 40px;}
.auth-form-col h2{font-size:22px; font-weight:800; color:var(--pine); margin:0 0 10px;}
.auth-form-col p.hint{font-size:13.5px; color:var(--muted); margin:0 0 26px; line-height:1.9;}

.phone-input-wrap .phone-icon{flex:0 0 auto; width:17px; height:17px; margin:0 12px; stroke:var(--muted);}
.phone-input-wrap .cc{
  display:flex; align-items:center; gap:4px;
  flex:0 0 auto; padding:12px 14px; font-size:13px; font-weight:700; color:var(--pine);
  background:#eef4ea; border-left:none; border-right:1.6px solid var(--line); direction:ltr;
}
.phone-input-wrap .cc svg{width:12px; height:12px; stroke:var(--pine);}

.btn svg{width:16px; height:16px; margin-inline-start:8px; vertical-align:middle;}

.security-note{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:#f2f7f0; border:1px solid var(--line); border-radius:12px;
  padding:14px 16px; margin-top:18px; font-size:12px; color:var(--muted); line-height:1.9;
}
.security-note svg{width:26px; height:26px; stroke:var(--pine-soft); flex:0 0 auto;}

.feature-chips{
  width:100%; max-width:980px; margin-top:26px;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;
}
.feature-chip{
  display:flex; align-items:center; gap:10px; background:var(--panel); border:1px solid var(--line);
  border-radius:14px; padding:14px 16px; box-shadow:0 6px 20px -14px rgba(24,42,28,.2);
}
.feature-chip-icon{
  flex:0 0 auto; width:34px; height:34px; border-radius:10px; background:var(--pine-tint,#eaf5ee);
  display:flex; align-items:center; justify-content:center;
}
.feature-chip-icon svg{width:17px; height:17px; stroke:var(--pine);}
.feature-chip div{display:flex; flex-direction:column; gap:1px;}
.feature-chip b{font-size:12.5px; color:var(--ink);}
.feature-chip span{font-size:11px; color:var(--muted);}

.footer-links{margin-top:8px;}
.footer-links a{color:var(--pine-soft); text-decoration:none; font-weight:600;}

@media (max-width:820px){
  .auth-split{flex-direction:column;}
  .auth-illustration{flex:0 0 auto; padding:26px;}
  .auth-illustration img{max-width:220px;}
  .auth-form-col{padding:28px 22px;}
  .feature-chips{grid-template-columns:1fr 1fr;}
}
@media (max-width:480px){
  .feature-chips{grid-template-columns:1fr;}
}

.trust-footer{
  background:var(--panel);
  border-top:1px solid var(--line);
  padding:22px 24px 26px;
  text-align:right ;
}
.trust-seals{
  display:flex;
  align-items:right ;
  justify-content:right ;
  gap:28px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.trust-seal-item{
  display:flex;
  align-items:right ;
  justify-content:right ;
  min-height:64px;
}
.trust-seal-item img{
  max-height:72px;
  width:auto;
  object-fit:contain;
}
.trust-footer-note{
  font-size:11.5px;
  color:var(--muted);
  margin:0;
}
