/* ──────────────────────────────────────────────────────────────────────────
   Vice Neon (.vn) — етап 5a: вхід, реєстрація, відновлення пароля, вихід,
   прив'язка Telegram (AuthB.dc.html). Розмітку й логіку (форми, polling
   /api/auth/check, редиректи) не змінено — лише вигляд, через .auth-page /
   .auth-card (нові класи-обгортки) і перевизначення вже наявних CSS-змінних
   (--bg/--card-bg/--border/--text/--text-muted/--accent), які ці сторінки
   й так читають з інлайн-стилів. Кнопка Telegram (#tg-open-btn/#tg-link-btn)
   лишається брендового кольору #1E78C2 — CLAUDE.md, «Сторінки етапу».
   ────────────────────────────────────────────────────────────────────────── */

html.vn .auth-page {
  --bg: var(--vn-bg);
  --card-bg: rgba(255, 255, 255, .035);
  --border: rgba(255, 255, 255, .1);
  --text: var(--vn-text);
  --text-muted: var(--vn-muted);
  --accent: var(--vn-pink);
  font-family: var(--vn-font-body), sans-serif;
}

html.vn .auth-card {
  border-radius: var(--vn-radius-section) !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .45);
  animation: bIn .55s var(--vn-ease) both;
}

html.vn .auth-page h2 {
  font-family: var(--vn-font-display), sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.02em;
}

html.vn .auth-page input {
  border-radius: var(--vn-radius-field) !important;
  background: rgba(11, 10, 18, .55) !important;
  font-family: var(--vn-font-body), sans-serif;
}
html.vn .auth-page input:focus { box-shadow: 0 0 0 3px rgba(46, 230, 214, .55); }

/* Primary CTAs: every submit/primary link in these templates uses background:var(--accent). */
html.vn .auth-page [style*="background:var(--accent)"] {
  background: var(--vn-grad-brand) !important;
  color: var(--vn-ink) !important;
  font-weight: 800 !important;
  border-radius: var(--vn-radius-pill) !important;
  transition: transform .2s, box-shadow .25s;
}
html.vn .auth-page [style*="background:var(--accent)"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 34px rgba(255, 79, 163, .4);
  opacity: 1 !important;
}

/* Telegram fallback / link button — brand colour, not the site palette. */
html.vn .auth-page #tg-open-btn,
html.vn .auth-page #tg-link-btn {
  background: #1E78C2 !important;
  border-color: #1E78C2 !important;
  color: #fff !important;
  border-radius: var(--vn-radius-pill) !important;
  font-weight: 800 !important;
}
html.vn .auth-page #tg-open-btn svg,
html.vn .auth-page #tg-link-btn svg { fill: #fff !important; }

/* Status banners: keep the shape, swap the two literal colours for palette tokens. */
html.vn .auth-page [style*="#22c55e"] { color: var(--vn-cyan) !important; }
html.vn .auth-page div[style*="background:#22c55e1a"] { background: rgba(46, 230, 214, .1) !important; border-color: rgba(46, 230, 214, .35) !important; }
html.vn .auth-page [style*="#f05050"] { color: var(--vn-red) !important; }
html.vn .auth-page div[style*="background:#f050501a"] { background: rgba(255, 90, 122, .1) !important; border-color: rgba(255, 90, 122, .35) !important; }

html.vn .auth-page a { transition: color .2s; }

/* ─── Hero (login only): decorative perks panel, no data, @design_b-only markup ─── */
html.vn .auth-page--split {
  max-width: 1120px; margin: 60px auto; padding: 0 20px;
  display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch;
}
html.vn .auth-card-col { margin: 0 !important; flex: 1 1 380px; min-width: 0; padding: 0 !important; }
html.vn .auth-hero {
  flex: 1 1 380px; min-width: 0; position: relative; overflow: hidden;
  border-radius: var(--vn-radius-section);
  background: linear-gradient(180deg, #2A1450 0%, var(--vn-pink) 62%, var(--vn-orange) 100%);
  box-shadow: 0 30px 70px rgba(0, 0, 0, .5);
  display: flex; align-items: center;
}
html.vn .auth-hero__art {
  position: absolute; right: 10%; top: 12%; width: 150px; height: 150px; border-radius: 50%;
  background: linear-gradient(180deg, var(--vn-yellow), var(--vn-red));
  filter: blur(.5px);
}
html.vn .auth-hero__body { position: relative; padding: 36px 32px; display: flex; flex-direction: column; gap: 16px; }
html.vn .auth-hero__title {
  font-family: var(--vn-font-display), sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: clamp(26px, 3vw, 38px); line-height: 1.05; color: var(--vn-text);
  text-shadow: 0 5px 0 var(--vn-ink);
}
html.vn .auth-hero__perks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
html.vn .auth-hero__perks li {
  padding: 10px 14px; border-radius: 16px; background: rgba(20, 6, 26, .72);
  color: var(--vn-text); font-weight: 700; font-size: 14px; line-height: 1.35;
}
@media (max-width: 900px) {
  html.vn .auth-hero { display: none; }
  html.vn .auth-card-col { padding: 0 16px !important; }
}
