:root{
  --ln-bg:#f6f4ef;
  --ln-card:#ffffff;
  --ln-text:#1a1a1a;
  --ln-muted:#6b6b6b;
  --ln-border:rgba(0,0,0,.10);
  --ln-shadow:0 18px 45px rgba(0,0,0,.10);
  --ln-radius:18px;
  --ln-focus:rgba(0,0,0,.35);
}

*{box-sizing:border-box}

body.ln-auth{
  margin:0;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(1400px 700px at 20% -10%, #ffe9c2 0%, rgba(255,233,194,0) 60%),
             radial-gradient(1200px 700px at 90% 15%, #dff6e8 0%, rgba(223,246,232,0) 55%),
             var(--ln-bg);
  color:var(--ln-text);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans Arabic","Noto Sans",sans-serif;
}

.auth-shell{
  width:min(960px, 92vw);
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:22px;
  align-items:stretch;
}

@media (max-width:860px){
  .auth-shell{grid-template-columns:1fr}
}

.auth-hero,
.auth-card{
  border:1px solid var(--ln-border);
  border-radius:var(--ln-radius);
  background:rgba(255,255,255,.75);
  box-shadow:var(--ln-shadow);
  backdrop-filter: blur(10px);
}

.auth-hero{
  padding:28px 26px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.brand{
  display:flex;
  align-items:center;
  gap:10px;
}

.brand-badge{
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(135deg, #ffd995 0%, #bdf3da 100%);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}

.brand-title{font-weight:800; font-size:20px; letter-spacing:.2px}
.brand-sub{color:var(--ln-muted); margin-top:4px; font-size:13px}

.hero-title{margin:18px 0 8px; font-size:26px; line-height:1.25; font-weight:900}
.hero-desc{margin:0; color:var(--ln-muted); line-height:1.7; font-size:14px}

.pill-row{margin-top:18px; display:flex; gap:10px; flex-wrap:wrap}
.pill{
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  font-size:12px;
  color:var(--ln-muted);
}

.auth-card{padding:24px 22px}
.auth-card h1{margin:0 0 6px; font-size:18px}
.auth-card p{margin:0 0 18px; color:var(--ln-muted); font-size:13px; line-height:1.6}

.alert{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#b00020;
  font-size:13px;
}

.ok{
  color:#0b6b3a;
  background:rgba(255,255,255,.9);
}

.form-row{display:grid; gap:8px; margin-bottom:12px}
label{font-size:12px; color:var(--ln-muted)}

input[type="email"],
input[type="password"],
input[type="text"]{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  outline:none;
  font-size:14px;
}

input:focus{box-shadow:0 0 0 3px rgba(0,0,0,.12); border-color:var(--ln-focus)}

.btn{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  background:#1f1f1f;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.btn:hover{filter:brightness(1.05)}

.btn-ghost{
  background:#fff;
  color:#111;
}

.btn-ghost:hover{background:rgba(255,255,255,.85)}

.split-actions{display:grid; gap:10px; margin-top:10px}

.help{
  margin-top:14px;
  font-size:12px;
  color:var(--ln-muted);
  line-height:1.7;
}

.link{
  color:#111;
  text-decoration:none;
  font-weight:700;
}

.link:hover{text-decoration:underline}

.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

@media (max-width:520px){
  .two-col{grid-template-columns:1fr}
}

.section-title{margin:18px 0 10px; font-size:13px; color:#111; font-weight:900}

.mini{
  font-size:12px;
  color:var(--ln-muted);
  margin-top:10px;
}

/* checkbox row */
.chk{
  display:flex;
  align-items:center;
  gap:10px;
  margin:6px 0 14px;
  font-size:13px;
  color:var(--ln-muted);
  user-select:none;
}
.chk input{width:16px; height:16px}

/* honeypot field (hidden off-screen) */
.hp{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

/* Dark mode: auth pages */
.theme-toggle{
  border:1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.82);
  color: #111;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.theme-toggle--floating{
  position: fixed;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
  backdrop-filter: blur(12px);
  z-index: 40;
}
.theme-toggle__icon{ width:20px; height:20px; display:none; }
.theme-toggle[data-theme-active="light"] .theme-toggle__icon--moon,
.theme-toggle[data-theme-active="dark"] .theme-toggle__icon--sun{ display:block; }

html[data-theme="dark"] body.ln-auth{
  background:
    radial-gradient(1400px 700px at 20% -10%, rgba(81,62,32,.34) 0%, rgba(81,62,32,0) 60%),
    radial-gradient(1200px 700px at 90% 15%, rgba(36,85,63,.32) 0%, rgba(36,85,63,0) 55%),
    #0d1316;
  color: #edf4f1;
}
html[data-theme="dark"] .auth-hero,
html[data-theme="dark"] .auth-card{
  background: rgba(17,24,28,.86);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 18px 45px rgba(0,0,0,.26);
}
html[data-theme="dark"] .brand-title,
html[data-theme="dark"] .hero-title,
html[data-theme="dark"] .auth-card h1,
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .link,
html[data-theme="dark"] label{
  color: rgba(239,246,243,.94);
}
html[data-theme="dark"] .brand-sub,
html[data-theme="dark"] .hero-desc,
html[data-theme="dark"] .auth-card p,
html[data-theme="dark"] .help,
html[data-theme="dark"] .mini,
html[data-theme="dark"] .pill,
html[data-theme="dark"] .chk{
  color: rgba(216,226,222,.70);
}
html[data-theme="dark"] .pill,
html[data-theme="dark"] .alert,
html[data-theme="dark"] .ok,
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="password"],
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] .btn-ghost,
html[data-theme="dark"] .theme-toggle{
  background: rgba(10,16,19,.62);
  border-color: rgba(255,255,255,.10);
  color: rgba(239,246,243,.94);
}
html[data-theme="dark"] .btn{ background: #edf4f1; color:#0f1518; border-color: transparent; }
html[data-theme="dark"] input:focus{ box-shadow: 0 0 0 3px rgba(147,206,176,.16); border-color: rgba(147,206,176,.46); }
html[data-theme="dark"] .link:hover{ color: #9fdab8; }
