/* Server Afrooz login layout - overrides only; PHP authentication logic remains unchanged */
@font-face {
  font-family: "Vazirmatn";
  src: local("Vazirmatn");
  font-style: normal;
  font-weight: 100 900;
}
:root {
  --sa-blue: #3265f5;
  --sa-purple: #7042ed;
  --sa-text: #222638;
  --sa-muted: #7d8495;
}
html, body { min-height:100%; }
body, input, button, select, textarea {
  font-family: "Vazirmatn", Tahoma, "Segoe UI", sans-serif !important;
}
body { margin:0; background:#f4f5fb; color:var(--sa-text); direction:rtl; }
.login_wrapper {
  min-height:100vh !important; height:auto !important; box-sizing:border-box;
  display:flex !important; flex-direction:row !important; align-items:stretch !important;
  justify-content:center !important; gap:0 !important; padding:32px !important;
  background:#f4f5fb !important; position:relative; overflow:hidden;
}
.login_wrapper::before, .login_wrapper::after { display:none !important; content:none !important; }
.login_wrapper > .login_box {
  order:1; flex:0 1 450px; width:450px; max-width:450px; min-height:0 !important;
  margin:0 !important; padding:42px 40px !important; background:#fff;
  border-radius:18px 0 0 18px; box-shadow:0 16px 45px rgba(35,48,90,.10);
  display:flex; flex-direction:column; justify-content:center; box-sizing:border-box;
}
.login_wrapper .logo_text { display:none !important; }
.login_wrapper .login_form { width:100%; }
.login_wrapper .login_form .login_form_inner {
  padding:0 !important; margin:0 !important; border:0 !important; border-radius:0 !important;
  background:transparent !important; box-shadow:none !important; text-align:right !important;
}
.login_wrapper .login_form .login_form_inner::before { display:none !important; }
.login_wrapper .login_form h3 {
  color:var(--sa-text) !important; font-family:"Vazirmatn",Tahoma,"Segoe UI",sans-serif !important;
  font-size:24px !important; font-weight:800 !important; line-height:1.7;
  margin:0 0 8px !important; padding:0 !important;
}
.login_wrapper .login_form h3::after { display:none !important; }
.login_wrapper .login_form .login_form_inner > h3 + form,
.login_wrapper .login_form form { width:100%; }
.login_wrapper .login_form .form-group { margin-bottom:18px !important; }
.login_wrapper .login_form .input-text {
  box-sizing:border-box; width:100% !important; height:48px !important;
  border:1px solid #e5e8f0 !important; border-radius:12px !important;
  background:#f7f8fc !important; color:#33394a !important; padding:12px 16px !important;
  font-size:14px !important; box-shadow:none !important; outline:none !important;
}
.login_wrapper .login_form .input-text::placeholder { color:#969cac !important; opacity:1; }
.login_wrapper .login_form .input-text:focus { border-color:#8aa7ff !important; background:#fff !important; }
ul.login_tab {
  display:flex !important; justify-content:flex-start !important; gap:28px !important;
  border-bottom:1px solid #eceef5; padding:0 0 12px !important; margin:18px 0 26px !important;
}
ul.login_tab li a {
  display:inline-block; padding:0 0 8px !important; color:#8790a4 !important;
  font-size:14px !important; font-weight:600 !important; border-bottom:2px solid transparent !important;
}
ul.login_tab li a.active { color:var(--sa-blue) !important; border-bottom-color:var(--sa-blue) !important; }
.login_wrapper .login_form .checkbox {
  display:flex !important; align-items:center; justify-content:space-between; gap:12px;
  margin:0 0 20px !important; font-size:12px !important;
}
.login_wrapper .login_form .form-check { float:none !important; display:flex; align-items:center; }
.login_wrapper .login_form .form-check-label { color:#747c8f !important; font-size:12px !important; padding-right:22px !important; }
.login_wrapper .login_form .form-check label::before { right:0; margin:0 !important; background:#f3f5fb !important; border:1px solid #d9deea !important; }
.login_wrapper .login_form input[type=checkbox]:checked + label::before { background:var(--sa-blue) !important; }
.login_wrapper .login_form .checkbox a { float:none !important; color:#6483d8 !important; font-size:12px !important; }
.login_wrapper .login_form .btn-md,
.login_wrapper .login_form:not(.forgot_password) .btn-md {
  position:relative !important; right:auto !important; bottom:auto !important; margin:0 !important;
  width:100% !important; height:48px !important; padding:0 18px !important; border:0 !important;
  border-radius:12px !important; color:#fff !important; font-size:14px !important;
  font-weight:700 !important; background:linear-gradient(110deg,var(--sa-blue),var(--sa-purple)) !important;
  box-shadow:0 8px 18px rgba(66,90,230,.22); transition:transform .2s,box-shadow .2s;
}
.login_wrapper .login_form .btn-md:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(66,90,230,.28); }
.login_wrapper .login_form .btn-md i { font-size:16px !important; }
.sa-info-panel {
  order:2; flex:0 1 430px; width:430px; min-height:520px; box-sizing:border-box;
  padding:42px 38px; position:relative; overflow:hidden; color:#fff;
  border-radius:0 18px 18px 0; display:flex; flex-direction:column;
  background:linear-gradient(145deg,#3265f5 0%,#4d55f0 52%,#7940e8 100%);
}
.sa-info-panel::before, .sa-info-panel::after {
  content:""; position:absolute; border-radius:50%; pointer-events:none;
  background:rgba(255,255,255,.055);
}
.sa-info-panel::before { width:300px;height:300px;top:-150px;right:180px; }
.sa-info-panel::after { width:250px;height:250px;bottom:-145px;left:-75px; }
.sa-panel-brand { display:flex; align-items:center; gap:12px; font-weight:800; font-size:16px; position:relative; z-index:1; }
.sa-panel-brand-icon { display:inline-flex; align-items:center; justify-content:center; width:40px;height:40px; border-radius:12px; background:rgba(255,255,255,.16); font-size:22px; }
.sa-panel-content { margin-top:62px; position:relative; z-index:1; }
.sa-panel-content h2 { color:#fff !important; font-size:25px !important; font-weight:800 !important; line-height:1.8; margin:0 0 8px !important; }
.sa-panel-content p { color:rgba(255,255,255,.82) !important; font-size:13px !important; line-height:2; margin:0 0 26px !important; }
.sa-panel-content ul { list-style:none; margin:0; padding:0; }
.sa-panel-content li { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.93); font-size:13px; line-height:2.5; }
.sa-check { display:inline-flex; width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.18);font-size:12px; flex:none; }
.sa-panel-footer { position:relative; z-index:1; margin-top:auto; padding-top:35px; color:rgba(255,255,255,.72); font-size:11px; }
.login_wrapper .login_form .login_form_inner p { color:var(--sa-muted) !important; }
.login_wrapper .login_form .login_form_inner p a { color:var(--sa-blue) !important; }
@media (max-width: 850px) {
  .login_wrapper { padding:20px !important; }
  .login_wrapper > .login_box { flex-basis:50%; width:50%; padding:32px 25px !important; }
  .sa-info-panel { flex-basis:50%; width:50%; padding:32px 25px; }
  .sa-panel-content h2 { font-size:21px !important; }
}
@media (max-width: 640px) {
  .login_wrapper { flex-direction:column !important; padding:14px !important; }
  .login_wrapper > .login_box { order:1; flex:initial; width:100%; max-width:none; padding:28px 22px !important; border-radius:16px 16px 0 0; }
  .sa-info-panel { order:2; flex:initial; width:100%; min-height:300px; padding:28px 22px; border-radius:0 0 16px 16px; }
  .sa-panel-content { margin-top:28px; }
  .sa-panel-content h2 { font-size:20px !important; }
  ul.login_tab { margin-top:8px !important; }
}

.login_wrapper { direction:ltr !important; }
.login_wrapper > .login_box, .login_wrapper > .sa-info-panel { direction:rtl; }
.login_wrapper .sa-form-title {
  color:var(--sa-text) !important; font-size:23px !important; font-weight:800 !important;
  margin:0 0 5px !important; padding:0 !important; line-height:1.8;
}
.login_wrapper .sa-form-subtitle {
  color:#8b91a1 !important; font-size:12px !important; margin:0 0 20px !important; line-height:1.9;
}
.login_wrapper .sa-account-link {
  text-align:center; margin-top:18px; color:#858b9a; font-size:12px; line-height:2;
}
.login_wrapper .sa-account-link a { color:#5476d8; text-decoration:none; font-weight:700; }
.login_wrapper .sa-account-link a:hover { text-decoration:underline; }
.login_wrapper .sa-security-note {
  border-top:1px solid #eceef5; margin-top:18px; padding-top:15px;
  text-align:center; color:#9ba1af; font-size:11px; line-height:1.9;
}


/* Final typography and alignment corrections */
@font-face {
  font-family: "IRANSansWeb";
  src: url("../../font/IRANSansWeb_Light.woff2") format("woff2"),
       url("../../font/IRANSansWeb_Light.woff") format("woff");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
html, body, body * {
  font-family: "Vazirmatn", Tahoma, "Segoe UI", "IRANSansWeb", sans-serif !important;
}
.login_wrapper { direction:ltr !important; }
.login_wrapper > .login_box { order:1 !important; direction:rtl !important; }
.login_wrapper > .sa-info-panel { order:2 !important; direction:rtl !important; }
.login_wrapper .login_form_inner { direction:rtl !important; text-align:right !important; }
.login_wrapper .sa-form-title { text-align:right !important; font-size:23px !important; font-weight:700 !important; }
.login_wrapper .sa-form-subtitle { text-align:right !important; font-size:12px !important; }
.login_wrapper ul.login_tab {
  list-style:none !important; padding:0 0 12px !important; margin:18px 0 26px !important;
  display:flex !important; flex-direction:row !important; direction:rtl !important;
  justify-content:flex-start !important; align-items:center !important; gap:24px !important;
  border-bottom:1px solid #eceef5 !important;
}
.login_wrapper ul.login_tab li { list-style:none !important; margin:0 !important; padding:0 !important; }
.login_wrapper ul.login_tab li::before,
.login_wrapper ul.login_tab li::marker { content:none !important; display:none !important; }
.login_wrapper ul.login_tab li a {
  display:block !important; padding:0 0 8px !important; margin:0 !important;
  border-bottom:2px solid transparent !important; text-decoration:none !important;
  font-size:14px !important; font-weight:600 !important; line-height:1.7 !important;
}
.login_wrapper ul.login_tab li a.active { border-bottom-color:#3265f5 !important; }
.login_wrapper .sa-form-links {
  display:flex !important; justify-content:flex-start !important; align-items:center !important;
  margin:0 0 20px !important; min-height:20px !important; text-align:right !important;
}
.login_wrapper .sa-form-links a { color:#6483d8 !important; font-size:12px !important; text-decoration:none !important; }
.login_wrapper .sa-account-link {
  display:block !important; text-align:center !important; margin:18px 0 0 !important;
  font-size:12px !important; line-height:2 !important; color:#858b9a !important;
}
.login_wrapper .sa-account-link a { color:#5476d8 !important; font-weight:700 !important; }
.login_wrapper .sa-security-note {
  display:block !important; border-top:1px solid #eceef5 !important; margin-top:18px !important;
  padding:15px 0 0 !important; text-align:center !important; color:#9ba1af !important;
  font-size:11px !important; line-height:2 !important;
}
.login_wrapper .input-text { text-align:right !important; direction:rtl !important; }
.login_wrapper .btn-md { font-family:"Vazirmatn",Tahoma,"Segoe UI","IRANSansWeb",sans-serif !important; }
@media (max-width:640px) {
  .login_wrapper ul.login_tab { margin-top:10px !important; }
}
