.pf-v5-c-background-image {
  --pf-v5-c-background-image--BackgroundSize: cover;
}

.pf-v5-c-login__container {
  grid-template-areas: "header" "main";
  --pf-v5-c-login__container--xl--GridTemplateColumns: minmax(auto, 34rem);
}

.kc-brand {
  height: 112px;
  width: min(300px, 88vw);
  display: block;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 28px rgba(167, 139, 218, 0.35));
}

.pf-v5-c-login__main {
  background: var(--vn-surface-soft);
  backdrop-filter: blur(20px);
  border: 1px solid var(--vn-border);
  border-radius: var(--vn-radius);
  box-shadow: var(--vn-glow), 0 24px 64px rgba(8, 4, 14, 0.55);
}

.pf-v5-c-login__main-header {
  border-top: none;
}

.pf-v5-c-login__main-header::before {
  content: "";
  display: block;
  width: 4rem;
  height: 5px;
  margin: 0 auto 1rem;
  border-radius: var(--vn-radius-pill);
  background: var(--vn-gradient-btn);
}

.pf-v5-c-button.pf-m-primary {
  border-radius: var(--vn-radius-pill) !important;
  font-weight: 800 !important;
}

body[data-page-id="welcome"] > p {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: var(--vn-font);
  font-weight: 700;
  color: var(--vn-text-muted);
  background: var(--vn-bg);
}

body[data-page-id="welcome"] > p a {
  color: var(--vn-accent);
  font-weight: 800;
}
