/* auth-split.css — marketing-style auth pages.
   Full-page dark background (grain + grid + glow). Split layout (Arc panel left,
   form right) for login/saas/signup; centered (.auth-solo) for verify.
   Applied to all login pages except super admin. */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

body.auth {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 100dvh;
  padding: 0 !important;
  align-items: stretch;
  background: #0B1120;
  color: #EEF1F6;
}
/* full-page background: grain + grid */
body.auth::before {
  content: '';
  position: fixed; inset: 0; z-index: 0;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),
    linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size: auto, 60px 60px, 60px 60px;
  pointer-events: none;
}
/* full-page cyan glow */
body.auth::after {
  content: '';
  position: fixed; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 60% 55% at 50% 20%, rgba(47,212,230,0.14) 0%, transparent 60%);
  pointer-events: none;
}
body.auth.auth-solo { display: flex; align-items: center; justify-content: center; }
.auth .theme-toggle { z-index: 2; }

.auth-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 56px 6vw;
}
.auth-brand-inner { max-width: 640px; }
.auth-arc {
  display: block;
  font-family: 'Sora', serif;
  font-style: italic;
  font-weight: 400;
  color: #2FD4E6;
  font-size: clamp(72px, 9vw, 150px);
  line-height: 0.9;
  letter-spacing: 0.01em;
}
.auth-logo {
  display: block;
  width: clamp(84px, 10vw, 124px);
  height: auto;
}
.auth-lockup { display: flex; align-items: center; gap: 20px; }
.auth-wordmark {
  display: block;
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  font-size: clamp(52px, 7vw, 92px);
  line-height: 1;
  letter-spacing: -0.02em;
  margin-top: 0;
  background: linear-gradient(115deg, #5B8BFF 0%, #2FD4E6 70%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.auth-by {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #9ba1ab;
  font-size: clamp(12px, 1.3vw, 15px);
  margin-top: 14px;
}

.auth > .card,
.auth > .login-card {
  position: relative;
  z-index: 1;
  align-self: center;
  justify-self: center;
  margin: 24px 16px;
}

@media (max-width: 900px) {
  body.auth { grid-template-columns: 1fr; }
  .auth-brand { padding: 40px 24px; min-height: 180px; align-items: center; }
  .auth-arc { font-size: clamp(56px, 17vw, 100px); }
  .auth-wordmark { font-size: clamp(44px, 13vw, 72px); margin-top: 14px; }
  .auth-by { font-size: 13px; }
  .auth > .card, .auth > .login-card { margin: 24px 16px 40px; }
}
