/* =========================================================================
   Console — account console theme (extends keycloak.v3, PatternFly v5)
   ========================================================================= */
:root {
  --c-accent: #4f46e5;
  --c-accent-hover: #4338ca;
  --c-accent-soft: rgb(79 70 229 / 0.10);
  --c-masthead: #0b0b12;
  --c-text: #0f172a;
  --c-text-muted: #64748b;
  --c-border: #e2e8f0;
  --c-border-strong: #cbd5e1;
  --c-page: #f8fafc;
  --c-radius: 8px;
  --c-font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
:root.pf-v5-theme-dark {
  --c-accent: #818cf8;
  --c-accent-hover: #a5b4fc;
  --c-accent-soft: rgb(129 140 248 / 0.16);
  --c-masthead: #09090f;
  --c-text: #f1f5f9;
  --c-text-muted: #94a3b8;
  --c-border: rgb(255 255 255 / 0.10);
  --c-border-strong: rgb(255 255 255 / 0.18);
  --c-page: #0f0f17;
}

/* ---------- Global tokens ---------- */
:root,
:root.pf-v5-theme-dark {
  --pf-v5-global--FontFamily--text: var(--c-font);
  --pf-v5-global--FontFamily--heading: var(--c-font);
  --pf-v5-global--FontFamily--text--vf: var(--c-font);
  --pf-v5-global--FontFamily--heading--vf: var(--c-font);
  --pf-v5-global--primary-color--100: var(--c-accent);
  --pf-v5-global--primary-color--200: var(--c-accent-hover);
  --pf-v5-global--link--Color: var(--c-accent);
  --pf-v5-global--link--Color--hover: var(--c-accent-hover);
  --pf-v5-global--active-color--100: var(--c-accent);
  --pf-v5-global--BorderRadius--sm: var(--c-radius);
}
body {
  -webkit-font-smoothing: antialiased;
}

/* ---------- Masthead ---------- */
.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: var(--c-masthead);
  --pf-v5-c-masthead--c-toolbar--BackgroundColor: transparent;
  border-bottom: 1px solid rgb(255 255 255 / 0.06);
}
.pf-v5-c-masthead .pf-v5-c-brand,
.pf-v5-c-masthead__brand img {
  max-height: 30px;
}
.pf-v5-c-masthead .pf-v5-c-menu-toggle {
  border-radius: var(--c-radius);
}

/* ---------- Sidebar: PatternFly's light nav variant, accent-tinted ---------- */
:root:not(.pf-v5-theme-dark) .pf-v5-c-page__sidebar {
  --pf-v5-c-page__sidebar--BackgroundColor: #ffffff;
  --pf-v5-c-page__sidebar--BorderRightWidth: 1px;
  --pf-v5-c-page__sidebar--BorderRightColor: var(--c-border);
  border-right: 1px solid var(--c-border);
}
:root:not(.pf-v5-theme-dark) .pf-v5-c-nav {
  --pf-v5-c-nav__item--before--BorderColor: transparent;
  --pf-v5-c-nav__link--Color: var(--c-text);
  --pf-v5-c-nav__link--hover--Color: var(--c-text);
  --pf-v5-c-nav__link--focus--Color: var(--c-text);
  --pf-v5-c-nav__link--active--Color: var(--c-text);
  --pf-v5-c-nav__link--m-current--Color: var(--c-accent);
  --pf-v5-c-nav__link--hover--BackgroundColor: #f1f5f9;
  --pf-v5-c-nav__link--focus--BackgroundColor: #f1f5f9;
  --pf-v5-c-nav__link--active--BackgroundColor: #f1f5f9;
  --pf-v5-c-nav__link--m-current--BackgroundColor: var(--c-accent-soft);
  --pf-v5-c-nav__item--m-current--not--m-expanded__link--BackgroundColor: var(--c-accent-soft);
  --pf-v5-c-nav__link--before--BorderColor: transparent;
  --pf-v5-c-nav__link--after--BorderColor: var(--c-accent);
  --pf-v5-c-nav__link--m-current--after--BorderColor: var(--c-accent);
  --pf-v5-c-nav__section-title--Color: var(--c-text-muted);
  --pf-v5-c-nav__section-title--BorderBottomColor: var(--c-border);
  --pf-v5-c-nav--c-divider--BackgroundColor: var(--c-border);
  --pf-v5-c-nav__subnav__link--hover--after--BorderColor: var(--c-border-strong);
  --pf-v5-c-nav__subnav__link--focus--after--BorderColor: var(--c-border-strong);
  --pf-v5-c-nav__subnav__link--active--after--BorderColor: var(--c-border-strong);
  --pf-v5-c-nav__subnav__link--m-current--after--BorderColor: var(--c-accent);
  --pf-v5-c-nav__toggle-icon--Color: var(--c-text-muted);
}
.pf-v5-c-masthead .pf-v5-c-toolbar,
.pf-v5-c-masthead__content {
  background: transparent !important;
}

/* Dark sidebar: keep PatternFly dark surfaces, swap in accent + drop dividers */
:root.pf-v5-theme-dark .pf-v5-c-nav {
  --pf-v5-c-nav__item--before--BorderColor: transparent;
  --pf-v5-c-nav__link--before--BorderColor: transparent;
  --pf-v5-c-nav__link--m-current--Color: var(--c-accent-hover);
  --pf-v5-c-nav__link--m-current--BackgroundColor: var(--c-accent-soft);
  --pf-v5-c-nav__item--m-current--not--m-expanded__link--BackgroundColor: var(--c-accent-soft);
  --pf-v5-c-nav__link--after--BorderColor: var(--c-accent);
  --pf-v5-c-nav__link--m-current--after--BorderColor: var(--c-accent);
  --pf-v5-c-nav__subnav__link--m-current--after--BorderColor: var(--c-accent);
}

.pf-v5-c-nav {
  padding: 0.75rem;
}
.pf-v5-c-nav__link {
  border-radius: var(--c-radius);
  font-weight: 500;
}
.pf-v5-c-nav__link::after {
  border-radius: var(--c-radius) 0 0 var(--c-radius);
}
.pf-v5-c-nav__item + .pf-v5-c-nav__item {
  margin-top: 2px;
}

/* ---------- Page content ---------- */
.pf-v5-c-page__main {
  background: var(--c-page);
}
.pf-v5-c-page__main-section {
  --pf-v5-c-page__main-section--BackgroundColor: transparent;
}
.pf-v5-c-page__main-section.pf-m-light,
.pf-v5-c-page__main-section:not(.pf-m-fill):first-child {
  background: transparent;
}
.pf-v5-c-title {
  letter-spacing: -0.015em;
  font-weight: 650;
}
.pf-v5-c-card,
.pf-v5-c-data-list,
.pf-v5-c-expandable-section {
  border-radius: 12px;
}
.pf-v5-c-card {
  border: 1px solid var(--c-border);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

/* ---------- Form controls: full rounded outline ---------- */
.pf-v5-c-form-control {
  border: 1px solid var(--c-border-strong);
  border-radius: var(--c-radius);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.pf-v5-c-form-control::before,
.pf-v5-c-form-control::after {
  display: none !important;
}
.pf-v5-c-form-control:focus-within {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 4px var(--c-accent-soft);
}
.pf-v5-c-form-control > input,
.pf-v5-c-form-control > select,
.pf-v5-c-form-control > textarea {
  outline: none;
}
.pf-v5-c-form-control.pf-m-error {
  border-color: var(--pf-v5-global--danger-color--100);
}
.pf-v5-c-form-control.pf-m-readonly,
.pf-v5-c-form-control.pf-m-disabled {
  border-color: var(--c-border);
}

/* ---------- Buttons ---------- */
.pf-v5-c-button {
  --pf-v5-c-button--BorderRadius: var(--c-radius);
  --pf-v5-c-button--after--BorderRadius: var(--c-radius);
  font-weight: 600;
}
.pf-v5-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--BackgroundColor: var(--c-accent);
  --pf-v5-c-button--m-primary--hover--BackgroundColor: var(--c-accent-hover);
  --pf-v5-c-button--m-primary--focus--BackgroundColor: var(--c-accent-hover);
  --pf-v5-c-button--m-primary--active--BackgroundColor: var(--c-accent-hover);
}
:root.pf-v5-theme-dark .pf-v5-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--Color: #0b0b12;
  --pf-v5-c-button--m-primary--hover--Color: #0b0b12;
  --pf-v5-c-button--m-primary--focus--Color: #0b0b12;
}
.pf-v5-c-button.pf-m-secondary {
  --pf-v5-c-button--m-secondary--Color: var(--c-accent);
  --pf-v5-c-button--m-secondary--after--BorderColor: var(--c-border-strong);
  --pf-v5-c-button--m-secondary--hover--after--BorderColor: var(--c-accent);
  --pf-v5-c-button--hover--after--BorderWidth: 1px;
}

/* ---------- Jump links ---------- */
.pf-v5-c-jump-links__link {
  border-radius: 0 var(--c-radius) var(--c-radius) 0;
}
