/**
 * Champion auth pages (sign in / up / password) — dark theme.
 * Loaded only when wrapped in .champion-auth-page (see ChampionAuthShell).
 */
.champion-auth-page {
  --ch-bg: #0a0b0d;
  --ch-surface: #12141a;
  --ch-elevated: #1a1d26;
  --ch-text: #e8eaef;
  --ch-muted: #9aa3b2;
  --ch-accent: #3a7dbc;
  --ch-accent-hover: #5a9fd4;
  --ch-border: rgba(139, 149, 168, 0.22);
  color: var(--ch-text);
}

/*
 * Vars must live on html/body here — descendants cannot supply var() values upward.
 * Otherwise body keeps root layout color (#1a1a1a) → invisible on dark bg.
 */
html:has(.champion-auth-page),
body:has(.champion-auth-page) {
  --ch-bg: #0a0b0d;
  --ch-surface: #12141a;
  --ch-elevated: #1a1d26;
  --ch-text: #e8eaef;
  --ch-muted: #9aa3b2;
  --ch-accent: #3a7dbc;
  --ch-accent-hover: #5a9fd4;
  --ch-border: rgba(139, 149, 168, 0.22);
  background: var(--ch-bg) !important;
  color: var(--ch-text) !important;
}

.champion-auth-page header {
  position: relative !important;
  float: none !important;
  width: 100%;
  z-index: 20;
}

.champion-auth-page > section {
  float: none !important;
  width: 100%;
  clear: both;
}

.champion-auth-page .nav_sec {
  background: #000000 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  backdrop-filter: none;
}

.champion-auth-page .nav_sec .navbar-brand {
  line-height: 0;
}

.champion-auth-page .nav_sec .navbar-brand img,
.champion-auth-page .champion-auth-nav-logo img {
  max-height: 48px;
  width: auto;
  display: block;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}

.champion-auth-page .inner_banner {
  background: linear-gradient(165deg, #12141a 0%, var(--ch-bg) 55%),
    radial-gradient(ellipse 80% 50% at 20% 0%, rgba(58, 125, 188, 0.2), transparent 55%) !important;
  background-size: cover !important;
  padding: 120px 0 80px !important;
}

.champion-auth-page .inner_banner .detail h2 {
  color: var(--ch-text) !important;
}

.champion-auth-page .inner_banner .detail h2 span {
  color: var(--ch-accent) !important;
}

.champion-auth-page .inner_banner .detail p {
  color: var(--ch-muted) !important;
}

.champion-auth-page .inner_banner .detail p a {
  color: var(--ch-accent) !important;
}

.champion-auth-page .inner_banner .detail p a:hover {
  color: var(--ch-accent-hover) !important;
}

.champion-auth-page .login_sec {
  background: var(--ch-bg) !important;
  padding-bottom: 48px !important;
}

.champion-auth-page .login_sec h2 {
  color: var(--ch-text) !important;
}

.champion-auth-page .sign_form {
  margin-top: -180px !important;
  background: var(--ch-elevated) !important;
  border: 1px solid var(--ch-border);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45) !important;
  border-radius: 16px !important;
}

.champion-auth-page .sign_form h5 {
  color: var(--ch-text) !important;
}

.champion-auth-page .sign_form h5 strong {
  color: var(--ch-accent) !important;
}

.champion-auth-page .sign_form h3 {
  color: var(--ch-accent) !important;
  font-size: 2rem !important;
}

.champion-auth-page .sign_form p {
  color: var(--ch-muted) !important;
}

.champion-auth-page .sign_form p a {
  color: var(--ch-accent) !important;
}

.champion-auth-page .sign_form p a:hover {
  color: var(--ch-accent-hover) !important;
}

.champion-auth-page .sign_form .forgot_link {
  color: var(--ch-accent) !important;
}

.champion-auth-page .sign_form .forgot_link:hover {
  color: var(--ch-accent-hover) !important;
}

.champion-auth-page .sign_form .input-group .form-control {
  background: var(--ch-surface) !important;
  border: 1px solid var(--ch-border) !important;
  color: var(--ch-text) !important;
}

.champion-auth-page .sign_form .input-group .form-control::placeholder {
  color: var(--ch-muted) !important;
}

.champion-auth-page .sign_form .input-group-prepend {
  background: transparent !important;
  border-bottom: 2px solid var(--ch-accent) !important;
}

.champion-auth-page .sign_form .input-group-prepend i {
  color: var(--ch-accent) !important;
}

.champion-auth-page .check_info .custom-control-label {
  color: var(--ch-muted) !important;
}

.champion-auth-page .sign_form .btns {
  background: var(--ch-accent) !important;
  color: #fff !important;
  border: none !important;
}

.champion-auth-page .sign_form .btns:hover {
  background: var(--ch-accent-hover) !important;
  color: #fff !important;
}

.champion-auth-page .s_copyright {
  background: var(--ch-bg) !important;
  color: var(--ch-muted) !important;
  border-top: 1px solid var(--ch-border);
}

.champion-auth-page .text-right {
  color: var(--ch-muted);
}

@media (max-width: 991px) {
  .champion-auth-page .sign_form {
    margin-top: -100px !important;
  }
}
