@font-face{
  font-family:'YekanLocal';
  src:url('fonts/Yekan.woff') format('woff'), url('fonts/Yekan.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
}

:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --primary:#7c3aed;
  --primary-2:#a78bfa;
  --danger:#ef4444;
  --border:#e7e7ef;
  --shadow:0 18px 45px rgba(31,41,55,.10);
}

*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body.login-page{
  direction:rtl;
  font-family:YekanLocal, Tahoma, Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.16), transparent 35%),
    linear-gradient(180deg,#fbfbff 0%, var(--bg) 100%);
  color:var(--text);
  text-align:center;
}

.login-shell{
  width:100%;
  max-width:430px;
  min-height:100vh;
  margin:0 auto;
  padding:28px 22px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.login-brand{margin-bottom:20px}
.login-logo{
  width:82px;
  height:auto;
  display:block;
  margin:0 auto 14px;
}
.login-title{
  margin:0;
  font-size:22px;
  font-weight:800;
  color:#111827;
}
.login-subtitle{
  margin:7px 0 0;
  font-size:13px;
  color:var(--muted);
}

.login-card{
  overflow:hidden;
  border:1px solid rgba(124,58,237,.12);
  border-radius:28px;
  background:var(--card);
  box-shadow:var(--shadow);
}

.login-update{
  padding:18px 18px 16px;
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  color:#fff;
}
.login-update-label{
  display:block;
  font-size:12px;
  opacity:.86;
  margin-bottom:6px;
}
.login-update-time{
  display:block;
  font-size:18px;
  font-weight:800;
  letter-spacing:.4px;
  direction:ltr;
}

.login-form{padding:24px 20px 20px}
.form-group{text-align:right;margin-bottom:16px}
.form-label{
  display:block;
  margin:0 4px 8px;
  font-size:14px;
  font-weight:700;
  color:#374151;
}
.form-input{
  width:100%;
  height:54px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fafafa;
  color:#111827;
  padding:0 16px;
  font-family:Tahoma, Arial, sans-serif;
  font-size:19px;
  font-weight:700;
  outline:none;
  text-align:left;
  direction:ltr;
  transition:.2s ease;
}
.form-input:focus{
  border-color:var(--primary);
  background:#fff;
  box-shadow:0 0 0 4px rgba(124,58,237,.12);
}

.remember-row{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-start;
  margin:6px 2px 20px;
  color:#4b5563;
  font-size:13px;
  text-align:right;
}
.remember-row input{width:18px;height:18px;accent-color:var(--primary)}

.login-button{
  width:100%;
  height:56px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,var(--primary),#9f67ff);
  color:#fff;
  font-family:YekanLocal, Tahoma, Arial, sans-serif;
  font-size:17px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(124,58,237,.28);
}
.login-button:active{transform:translateY(1px)}

.alert-box{
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:16px;
  background:#fee2e2;
  color:#991b1b;
  font-size:13px;
  line-height:1.9;
  border:1px solid #fecaca;
}
.alert-box small{display:block;color:#7f1d1d;margin-top:6px}

.login-footer{
  margin-top:18px;
  color:#7b8190;
  font-size:12px;
}

@media (max-width:360px){
  .login-shell{padding:20px 14px 26px}
  .login-card{border-radius:24px}
  .login-title{font-size:20px}
}
