/* ============================================
   LOGIN PAGE
   ============================================ */
.login-shell{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:40px 20px;
  background:
    radial-gradient(ellipse 60% 50% at 50% 0%, rgba(255,75,31,0.14), transparent 60%),
    var(--bg-void);
}
.login-card{
  width:100%; max-width:420px;
  background:var(--bg-surface); border:1px solid var(--border-hairline-strong);
  border-radius:var(--radius-md); padding:44px 38px;
}
.login-logo{ display:flex; justify-content:center; margin-bottom:28px; font-size:22px; }
.login-card h1{
  font-family:var(--font-display); font-size:30px; text-transform:uppercase; text-align:center;
  margin-bottom:10px; letter-spacing:0.01em;
}
html[dir="rtl"] .login-card h1{ text-transform:none; font-weight:800; }
.login-lede{ color:var(--text-secondary); font-size:14px; text-align:center; margin-bottom:28px; line-height:1.6; }

.login-error{
  background:rgba(255,75,31,0.08); border:1px solid rgba(255,75,31,0.3); color:var(--accent-flame);
  font-size:13.5px; padding:12px 16px; border-radius:var(--radius-sm); margin-bottom:20px;
}

.login-form{ display:flex; flex-direction:column; gap:18px; }
.login-form .form-field label{ font-size:13px; font-weight:600; color:var(--text-secondary); margin-bottom:6px; display:block; }
.login-form .form-field input{
  width:100%; background:var(--bg-void); border:1px solid var(--border-hairline-strong); border-radius:var(--radius-sm);
  color:var(--text-primary); padding:12px 14px; font-family:var(--font-body); font-size:14.5px;
  transition:border-color .16s ease;
}
.login-form .form-field input:focus{ outline:none; border-color:var(--accent-flame); }

.login-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.login-remember{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); cursor:pointer; }
.login-remember input{ accent-color:var(--accent-flame); }
.login-forgot{ font-size:13px; color:var(--accent-ember); }
.login-forgot:hover{ text-decoration:underline; }

.login-footnote{ text-align:center; margin-top:26px; font-size:13.5px; color:var(--text-tertiary); }
.login-footnote a{ color:var(--accent-ember); }
.login-footnote a:hover{ text-decoration:underline; }

/* Login / Register tab switcher */
.login-tabs{
  display:flex; border:1px solid var(--border-hairline-strong); border-radius:var(--radius-sm);
  overflow:hidden; margin-bottom:26px;
}
.login-tab{
  flex:1; text-align:center; padding:11px 14px;
  font-family:var(--font-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:0.05em;
  color:var(--text-tertiary); transition:background .16s ease, color .16s ease;
}
html[dir="rtl"] .login-tab{ letter-spacing:normal; text-transform:none; font-family:var(--font-body); font-weight:600; }
.login-tab.active{ background:var(--accent-flame); color:#0B0D0E; font-weight:700; }
.login-tab:not(.active):hover{ color:var(--text-primary); }
