/*
 * VIMERS SSO Admin Console theme — immutable production asset 20260718.3
 * Target: Keycloak 26.6.2, parent theme keycloak.v2
 *
 * The theme is intentionally CSS-only. It preserves PatternFly's responsive
 * layout, focus management, overlay stacking, validation and state semantics.
 */

:root {
  /* VIMERS design tokens */
  --vimers-primary: #1d4ed8;
  --vimers-primary-hover: #1e40af;
  --vimers-sidebar: #0f172a;
  --vimers-sidebar-hover: #1e293b;
  --vimers-background: #f8fafc;
  --vimers-card: #ffffff;
  --vimers-border: #e2e8f0;
  --vimers-text: #0f172a;
  --vimers-text-secondary: #64748b;
  --vimers-success: #15803d;
  --vimers-warning: #b45309;
  --vimers-danger: #dc2626;
  --vimers-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Arial, sans-serif;
  --vimers-radius-sm: 6px;
  --vimers-radius-md: 9px;
  --vimers-shadow-sm: 0 1px 2px rgb(15 23 42 / 0.04),
    0 2px 8px rgb(15 23 42 / 0.04);
  --vimers-shadow-overlay: 0 12px 28px rgb(15 23 42 / 0.14);

  --vimers-admin-logo-image: url("../img/vimers-logo.png");

  /* PatternFly 5 global tokens */
  --pf-v5-global--FontFamily--sans-serif: var(--vimers-font-family);
  --pf-v5-global--primary-color--100: var(--vimers-primary);
  --pf-v5-global--primary-color--200: var(--vimers-primary-hover);
  --pf-v5-global--active-color--100: var(--vimers-primary);
  --pf-v5-global--focus-color--100: var(--vimers-primary);
  --pf-v5-global--link--Color: var(--vimers-primary);
  --pf-v5-global--link--Color--hover: var(--vimers-primary-hover);
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BorderColor--100: var(--vimers-border);
  --pf-v5-global--success-color--100: var(--vimers-success);
  --pf-v5-global--warning-color--100: var(--vimers-warning);
  --pf-v5-global--danger-color--100: var(--vimers-danger);
  --pf-v5-global--BorderRadius--sm: var(--vimers-radius-sm);
  --pf-v5-global--BorderRadius--lg: var(--vimers-radius-md);

  /* PatternFly 6 compatibility tokens */
  --pf-v6-global--FontFamily--sans-serif: var(--vimers-font-family);
  --pf-v6-global--primary-color--100: var(--vimers-primary);
  --pf-v6-global--primary-color--200: var(--vimers-primary-hover);
  --pf-v6-global--active-color--100: var(--vimers-primary);
  --pf-v6-global--focus-color--100: var(--vimers-primary);
  --pf-v6-global--link--Color: var(--vimers-primary);
  --pf-v6-global--link--Color--hover: var(--vimers-primary-hover);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BorderColor--100: var(--vimers-border);
  --pf-v6-global--success-color--100: var(--vimers-success);
  --pf-v6-global--warning-color--100: var(--vimers-warning);
  --pf-v6-global--danger-color--100: var(--vimers-danger);

  /* PatternFly 6 semantic design tokens */
  --pf-t--global--font--family--body: var(--vimers-font-family);
  --pf-t--global--color--brand--default: var(--vimers-primary);
  --pf-t--global--color--brand--hover: var(--vimers-primary-hover);
  --pf-t--global--color--brand--clicked: var(--vimers-primary-hover);
  --pf-t--global--text--color--regular: var(--vimers-text);
  --pf-t--global--text--color--subtle: var(--vimers-text-secondary);
  --pf-t--global--border--color--default: var(--vimers-border);
  --pf-t--global--background--color--primary--default: var(--vimers-card);
  --pf-t--global--background--color--secondary--default: var(--vimers-background);
  --pf-t--global--color--status--success--default: var(--vimers-success);
  --pf-t--global--color--status--warning--default: var(--vimers-warning);
  --pf-t--global--color--status--danger--default: var(--vimers-danger);
}

/* Base application surface */
.pf-v5-c-page,
.pf-v6-c-page,
#app {
  color: var(--vimers-text);
  font-family: var(--vimers-font-family);
}

.pf-v5-c-page__main,
.pf-v6-c-page__main {
  min-width: 0;
  background-color: var(--vimers-background);
}

.pf-v5-c-page__main-section,
.pf-v6-c-page__main-section {
  --pf-v5-c-page__main-section--BackgroundColor: var(--vimers-background);
  --pf-v6-c-page__main-section--BackgroundColor: var(--vimers-background);
  background-color: var(--vimers-background);
}

/*
 * Header / masthead
 *
 * Keycloak 26.6.2 currently renders PageHeader, while newer PatternFly layouts
 * may render Masthead. Reset the local "dark surface" tokens on both so the
 * header remains light even when the parent theme was previously cached.
 */
.pf-v5-c-page__header,
.pf-v5-c-masthead,
.pf-v6-c-page__header,
.pf-v6-c-masthead {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BorderColor--100: var(--vimers-border);
  --pf-v5-global--primary-color--100: var(--vimers-primary);
  --pf-v5-global--link--Color: var(--vimers-primary);
  --pf-v5-global--link--Color--hover: var(--vimers-primary-hover);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v5-c-page__header--BackgroundColor: var(--vimers-card);
  --pf-v5-c-masthead--BackgroundColor: var(--vimers-card);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BorderColor--100: var(--vimers-border);
  --pf-v6-global--primary-color--100: var(--vimers-primary);
  --pf-v6-global--link--Color: var(--vimers-primary);
  --pf-v6-global--link--Color--hover: var(--vimers-primary-hover);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-c-page__header--BackgroundColor: var(--vimers-card);
  --pf-v6-c-masthead--BackgroundColor: var(--vimers-card);
  min-height: 3.5rem;
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border-bottom: 1px solid var(--vimers-border);
  box-shadow: 0 1px 4px rgb(15 23 42 / 0.05);
}

.pf-v5-c-page__header .pf-v5-c-menu-toggle,
.pf-v5-c-page__header .pf-v5-c-button.pf-m-plain,
.pf-v5-c-masthead .pf-v5-c-menu-toggle,
.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain,
.pf-v6-c-page__header .pf-v6-c-menu-toggle,
.pf-v6-c-page__header .pf-v6-c-button.pf-m-plain,
.pf-v6-c-masthead .pf-v6-c-menu-toggle,
.pf-v6-c-masthead .pf-v6-c-button.pf-m-plain {
  color: var(--vimers-text);
  border-radius: var(--vimers-radius-sm);
}

.pf-v5-c-page__header .pf-v5-c-menu-toggle:hover,
.pf-v5-c-page__header .pf-v5-c-button.pf-m-plain:hover,
.pf-v5-c-masthead .pf-v5-c-menu-toggle:hover,
.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain:hover,
.pf-v6-c-page__header .pf-v6-c-menu-toggle:hover,
.pf-v6-c-page__header .pf-v6-c-button.pf-m-plain:hover,
.pf-v6-c-masthead .pf-v6-c-menu-toggle:hover,
.pf-v6-c-masthead .pf-v6-c-button.pf-m-plain:hover {
  color: var(--vimers-primary-hover);
  background-color: #eff6ff;
}

/*
 * Keep the temporary-admin warning visible and semantically amber, but soften
 * PatternFly's saturated gold banner so it sits naturally above the masthead.
 */
.pf-v5-c-banner.pf-m-gold,
.pf-v5-c-banner.pf-m-warning,
.pf-v6-c-banner.pf-m-gold,
.pf-v6-c-banner.pf-m-warning {
  --pf-v5-c-banner--Color: #78350f;
  --pf-v5-c-banner--BackgroundColor: #fef3c7;
  --pf-v5-c-banner--m-gold--Color: #78350f;
  --pf-v5-c-banner--m-gold--BackgroundColor: #fef3c7;
  --pf-v6-c-banner--Color: #78350f;
  --pf-v6-c-banner--BackgroundColor: #fef3c7;
  --pf-v6-c-banner--m-gold--Color: #78350f;
  --pf-v6-c-banner--m-gold--BackgroundColor: #fef3c7;
  min-height: 2rem;
  padding-block: 0.375rem;
  color: #78350f;
  font-size: 0.8125rem;
  line-height: 1.35;
  background-color: #fef3c7;
  border-bottom: 1px solid #fcd34d;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.42);
}

.pf-v5-c-banner.pf-m-gold :is(.pf-v5-c-banner__icon, svg),
.pf-v5-c-banner.pf-m-warning :is(.pf-v5-c-banner__icon, svg),
.pf-v6-c-banner.pf-m-gold :is(.pf-v6-c-banner__icon, svg),
.pf-v6-c-banner.pf-m-warning :is(.pf-v6-c-banner__icon, svg) {
  color: var(--vimers-warning);
}

/*
 * The Admin Console account toggle has older, square PatternFly defaults.
 * These masthead-scoped rules align it with the softer Account Console header
 * without affecting select controls, realm actions, or dropdown layering.
 */
.pf-v5-c-page__header .pf-v5-c-menu-toggle:not(.pf-m-plain),
.pf-v5-c-masthead .pf-v5-c-menu-toggle:not(.pf-m-plain),
.pf-v6-c-page__header .pf-v6-c-menu-toggle:not(.pf-m-plain),
.pf-v6-c-masthead .pf-v6-c-menu-toggle:not(.pf-m-plain) {
  --pf-v5-c-menu-toggle--BorderRadius: 8px;
  --pf-v5-c-menu-toggle--before--BorderTopWidth: 0;
  --pf-v5-c-menu-toggle--before--BorderRightWidth: 0;
  --pf-v5-c-menu-toggle--before--BorderBottomWidth: 0;
  --pf-v5-c-menu-toggle--before--BorderLeftWidth: 0;
  --pf-v5-c-menu-toggle--after--BorderBottomWidth: 0;
  --pf-v6-c-menu-toggle--BorderRadius: 8px;
  min-height: 2.5rem;
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #cbd5e1,
    0 1px 2px rgb(15 23 42 / 0.045);
}

.pf-v5-c-page__header .pf-v5-c-menu-toggle:not(.pf-m-plain):hover,
.pf-v5-c-masthead .pf-v5-c-menu-toggle:not(.pf-m-plain):hover,
.pf-v6-c-page__header .pf-v6-c-menu-toggle:not(.pf-m-plain):hover,
.pf-v6-c-masthead .pf-v6-c-menu-toggle:not(.pf-m-plain):hover {
  color: var(--vimers-text);
  background-color: #f8fafc;
  box-shadow: inset 0 0 0 1px #94a3b8,
    0 2px 5px rgb(15 23 42 / 0.07);
}

.pf-v5-c-page__header .pf-v5-c-menu-toggle:not(.pf-m-plain):focus-visible,
.pf-v5-c-masthead .pf-v5-c-menu-toggle:not(.pf-m-plain):focus-visible,
.pf-v6-c-page__header .pf-v6-c-menu-toggle:not(.pf-m-plain):focus-visible,
.pf-v6-c-masthead .pf-v6-c-menu-toggle:not(.pf-m-plain):focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--vimers-primary),
    0 0 0 3px rgb(29 78 216 / 0.14);
}

.pf-v5-c-page__header .pf-v5-c-button.pf-m-plain,
.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain,
.pf-v6-c-page__header .pf-v6-c-button.pf-m-plain,
.pf-v6-c-masthead .pf-v6-c-button.pf-m-plain {
  min-width: 2.5rem;
  min-height: 2.5rem;
  border-radius: 8px;
}

.pf-v5-c-page__header .pf-v5-c-avatar,
.pf-v5-c-masthead .pf-v5-c-avatar,
.pf-v6-c-page__header .pf-v6-c-avatar,
.pf-v6-c-masthead .pf-v6-c-avatar {
  width: 2rem;
  height: 2rem;
  background-color: #f1f5f9;
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--vimers-border);
}

/*
 * Toolbars, tabs and tables need explicit light-surface tokens because the
 * keycloak.v2 parent supports an inherited PatternFly dark-mode class.
 */
.pf-v5-c-page__main .pf-v5-c-toolbar,
.pf-v6-c-page__main .pf-v6-c-toolbar {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BorderColor--100: var(--vimers-border);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v5-c-toolbar--BackgroundColor: var(--vimers-card);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BorderColor--100: var(--vimers-border);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-c-toolbar--BackgroundColor: var(--vimers-card);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border-block: 1px solid var(--vimers-border);
}

/* Sidebar navigation */
.pf-v5-c-page__sidebar,
.pf-v5-c-page__sidebar-body,
.pf-v6-c-page__sidebar,
.pf-v6-c-page__sidebar-body {
  --pf-v5-c-page__sidebar--BackgroundColor: var(--vimers-sidebar);
  --pf-v6-c-page__sidebar--BackgroundColor: var(--vimers-sidebar);
  background-color: var(--vimers-sidebar);
}

.pf-v5-c-page__sidebar .pf-v5-c-nav,
.pf-v6-c-page__sidebar .pf-v6-c-nav {
  --pf-v5-c-nav--BackgroundColor: var(--vimers-sidebar);
  --pf-v6-c-nav--BackgroundColor: var(--vimers-sidebar);
  background-color: var(--vimers-sidebar);
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__link,
.pf-v6-c-page__sidebar .pf-v6-c-nav__link {
  margin: 2px 8px;
  color: #cbd5e1;
  border-radius: var(--vimers-radius-sm);
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__link:not(.pf-m-current):hover,
.pf-v5-c-page__sidebar .pf-v5-c-nav__link:not(.pf-m-current):focus-visible,
.pf-v6-c-page__sidebar .pf-v6-c-nav__link:not(.pf-m-current):hover,
.pf-v6-c-page__sidebar .pf-v6-c-nav__link:not(.pf-m-current):focus-visible {
  color: #f8fafc;
  background-color: var(--vimers-sidebar-hover);
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__link.pf-m-current,
.pf-v5-c-page__sidebar .pf-v5-c-nav__link[aria-current="page"],
.pf-v6-c-page__sidebar .pf-v6-c-nav__link.pf-m-current,
.pf-v6-c-page__sidebar .pf-v6-c-nav__link[aria-current="page"] {
  color: #ffffff;
  background-color: var(--vimers-primary);
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title,
.pf-v5-c-page__sidebar .pf-v5-c-nav__group-title,
.pf-v6-c-page__sidebar .pf-v6-c-nav__section-title,
.pf-v6-c-page__sidebar .pf-v6-c-nav__group-title {
  color: #94a3b8;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.pf-v5-c-page__sidebar .pf-v5-c-divider,
.pf-v6-c-page__sidebar .pf-v6-c-divider {
  --pf-v5-c-divider--BackgroundColor: #334155;
  --pf-v6-c-divider--BackgroundColor: #334155;
}

.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle,
.pf-v5-c-page__sidebar .pf-v5-c-select__toggle,
.pf-v6-c-page__sidebar .pf-v6-c-menu-toggle,
.pf-v6-c-page__sidebar .pf-v6-c-select__toggle {
  --pf-v5-global--Color--100: #e2e8f0;
  --pf-v5-global--Color--200: #94a3b8;
  --pf-v5-global--BackgroundColor--100: var(--vimers-sidebar);
  --pf-v6-global--Color--100: #e2e8f0;
  --pf-v6-global--Color--200: #94a3b8;
  --pf-v6-global--BackgroundColor--100: var(--vimers-sidebar);
  color: #e2e8f0;
  background-color: var(--vimers-sidebar);
}

/* The image source is configured by logo=/img/vimers-logo.png. */
.keycloak__pageheader_brand {
  display: block;
  width: clamp(8.75rem, 12vw, 11.5rem);
  height: 2rem;
  object-fit: contain;
  object-position: left center;
}

/* Reusable hook for any future VIMERS brand placement. */
.vimers-admin-logo {
  width: clamp(8.75rem, 12vw, 11.5rem);
  height: 2rem;
  background-image: var(--vimers-admin-logo-image);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}

/* Cards and panels */
.pf-v5-c-card,
.pf-v5-c-panel,
.pf-v6-c-card,
.pf-v6-c-panel {
  --pf-v5-c-card--BackgroundColor: var(--vimers-card);
  --pf-v5-c-panel--BackgroundColor: var(--vimers-card);
  --pf-v6-c-card--BackgroundColor: var(--vimers-card);
  --pf-v6-c-panel--BackgroundColor: var(--vimers-card);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: var(--vimers-radius-md);
  box-shadow: var(--vimers-shadow-sm);
}

.pf-v5-c-card__title,
.pf-v5-c-panel__header,
.pf-v6-c-card__title,
.pf-v6-c-panel__header {
  color: var(--vimers-text);
}

/* Buttons: semantic variants stay visually distinct. */
.pf-v5-c-button,
.pf-v6-c-button {
  --pf-v5-c-button--BorderRadius: 7px;
  --pf-v5-c-button--after--BorderRadius: 7px;
  --pf-v6-c-button--BorderRadius: 7px;
  --pf-v6-c-button--after--BorderRadius: 7px;
  font-weight: 600;
  border-radius: 7px;
  transition: background-color 140ms ease, border-color 140ms ease,
    color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.pf-v5-c-button:is(
    .pf-m-primary,
    .pf-m-secondary,
    .pf-m-tertiary,
    .pf-m-danger,
    .pf-m-warning,
    .pf-m-control
  ),
.pf-v6-c-button:is(
    .pf-m-primary,
    .pf-m-secondary,
    .pf-m-tertiary,
    .pf-m-danger,
    .pf-m-warning,
    .pf-m-control
  ) {
  min-height: 2.5rem;
}

.pf-v5-c-button.pf-m-primary,
.pf-v6-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--BackgroundColor: var(--vimers-primary);
  --pf-v5-c-button--m-primary--hover--BackgroundColor: var(
    --vimers-primary-hover
  );
  --pf-v6-c-button--m-primary--BackgroundColor: var(--vimers-primary);
  --pf-v6-c-button--m-primary--hover--BackgroundColor: var(
    --vimers-primary-hover
  );
  color: #ffffff;
  background-color: var(--vimers-primary);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.12),
    0 3px 8px rgb(29 78 216 / 0.12);
}

.pf-v5-c-button.pf-m-primary:not(:disabled, .pf-m-disabled):hover,
.pf-v5-c-button.pf-m-primary:not(:disabled, .pf-m-disabled):focus-visible,
.pf-v6-c-button.pf-m-primary:not(:disabled, .pf-m-disabled):hover,
.pf-v6-c-button.pf-m-primary:not(:disabled, .pf-m-disabled):focus-visible {
  background-color: var(--vimers-primary-hover);
  box-shadow: 0 2px 4px rgb(15 23 42 / 0.14),
    0 4px 12px rgb(29 78 216 / 0.16);
}

.pf-v5-c-button.pf-m-secondary,
.pf-v6-c-button.pf-m-secondary {
  color: var(--vimers-primary);
  background-color: var(--vimers-card);
  box-shadow: inset 0 0 0 1px #bfdbfe, 0 1px 2px rgb(15 23 42 / 0.04);
}

.pf-v5-c-button.pf-m-secondary:not(:disabled, .pf-m-disabled):hover,
.pf-v5-c-button.pf-m-secondary:not(:disabled, .pf-m-disabled):focus-visible,
.pf-v6-c-button.pf-m-secondary:not(:disabled, .pf-m-disabled):hover,
.pf-v6-c-button.pf-m-secondary:not(:disabled, .pf-m-disabled):focus-visible {
  color: var(--vimers-primary-hover);
  background-color: #eff6ff;
  box-shadow: inset 0 0 0 1px #93c5fd, 0 1px 3px rgb(15 23 42 / 0.06);
}

.pf-v5-c-button:is(.pf-m-tertiary, .pf-m-control),
.pf-v6-c-button:is(.pf-m-tertiary, .pf-m-control) {
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  box-shadow: inset 0 0 0 1px #cbd5e1, 0 1px 2px rgb(15 23 42 / 0.04);
}

.pf-v5-c-button.pf-m-danger,
.pf-v6-c-button.pf-m-danger {
  --pf-v5-c-button--m-danger--BackgroundColor: var(--vimers-danger);
  --pf-v6-c-button--m-danger--BackgroundColor: var(--vimers-danger);
  color: #ffffff;
  background-color: var(--vimers-danger);
  box-shadow: 0 1px 2px rgb(127 29 29 / 0.14);
}

.pf-v5-c-button.pf-m-danger:not(:disabled, .pf-m-disabled):hover,
.pf-v5-c-button.pf-m-danger:not(:disabled, .pf-m-disabled):focus-visible,
.pf-v6-c-button.pf-m-danger:not(:disabled, .pf-m-disabled):hover,
.pf-v6-c-button.pf-m-danger:not(:disabled, .pf-m-disabled):focus-visible {
  background-color: #b91c1c;
}

.pf-v5-c-button:disabled,
.pf-v5-c-button.pf-m-disabled,
.pf-v6-c-button:disabled,
.pf-v6-c-button.pf-m-disabled {
  cursor: not-allowed;
  opacity: 0.52;
  box-shadow: none;
}

/* Form controls */
.pf-v5-c-form-control,
.pf-v5-c-select__toggle,
.pf-v5-c-menu-toggle,
.pf-v6-c-form-control,
.pf-v6-c-select__toggle,
.pf-v6-c-menu-toggle {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BorderColor--100: var(--vimers-border);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v5-c-form-control--BorderRadius: 8px;
  --pf-v5-c-form-control--before--BorderTopWidth: 0;
  --pf-v5-c-form-control--before--BorderRightWidth: 0;
  --pf-v5-c-form-control--before--BorderBottomWidth: 0;
  --pf-v5-c-form-control--before--BorderLeftWidth: 0;
  --pf-v5-c-form-control--after--BorderBottomWidth: 0;
  --pf-v5-c-form-control--focus--after--BorderBottomWidth: 0;
  --pf-v5-c-form-control--m-expanded--after--BorderBottomWidth: 0;
  --pf-v5-c-select__toggle--BorderRadius: 8px;
  --pf-v5-c-menu-toggle--BorderRadius: 8px;
  --pf-v5-c-menu-toggle--before--BorderTopWidth: 0;
  --pf-v5-c-menu-toggle--before--BorderRightWidth: 0;
  --pf-v5-c-menu-toggle--before--BorderBottomWidth: 0;
  --pf-v5-c-menu-toggle--before--BorderLeftWidth: 0;
  --pf-v5-c-menu-toggle--after--BorderBottomWidth: 0;
  --pf-v5-c-menu-toggle--focus--after--BorderBottomWidth: 0;
  --pf-v5-c-menu-toggle--active--after--BorderBottomWidth: 0;
  --pf-v5-c-menu-toggle--m-expanded--after--BorderBottomWidth: 0;
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BorderColor--100: var(--vimers-border);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-c-form-control--BorderRadius: 8px;
  --pf-v6-c-select__toggle--BorderRadius: 8px;
  --pf-v6-c-menu-toggle--BorderRadius: 8px;
  min-height: 2.5rem;
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border-radius: 8px;
  transition: background-color 140ms ease, box-shadow 140ms ease;
}

.pf-v5-c-form-control,
.pf-v5-c-select__toggle,
.pf-v5-c-menu-toggle:not(.pf-m-plain),
.pf-v6-c-form-control,
.pf-v6-c-select__toggle,
.pf-v6-c-menu-toggle:not(.pf-m-plain) {
  box-shadow: inset 0 0 0 1px #cbd5e1,
    0 1px 2px rgb(15 23 42 / 0.035);
}

.pf-v5-c-form-control,
.pf-v6-c-form-control {
  overflow: hidden;
}

.pf-v5-c-form-control:focus-within,
.pf-v5-c-select__toggle:focus-visible,
.pf-v5-c-menu-toggle:not(.pf-m-plain):focus-visible,
.pf-v6-c-form-control:focus-within,
.pf-v6-c-select__toggle:focus-visible,
.pf-v6-c-menu-toggle:not(.pf-m-plain):focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--vimers-primary),
    0 0 0 3px rgb(29 78 216 / 0.14);
}

.pf-v5-c-form-control.pf-m-error,
.pf-v5-c-form-control:has([aria-invalid="true"]),
.pf-v6-c-form-control.pf-m-error,
.pf-v6-c-form-control:has([aria-invalid="true"]) {
  --pf-v5-c-form-control--after--BorderBottomWidth: 0;
  --pf-v6-c-form-control--after--BorderBottomWidth: 0;
  box-shadow: inset 0 0 0 1px var(--vimers-danger);
}

.pf-v5-c-form-control:is(.pf-m-error, :has([aria-invalid="true"])):focus-within,
.pf-v6-c-form-control:is(.pf-m-error, :has([aria-invalid="true"])):focus-within {
  box-shadow: inset 0 0 0 1px var(--vimers-danger),
    0 0 0 3px rgb(220 38 38 / 0.14);
}

.pf-v5-c-form-control.pf-m-warning,
.pf-v6-c-form-control.pf-m-warning {
  --pf-v5-c-form-control--after--BorderBottomWidth: 0;
  --pf-v6-c-form-control--after--BorderBottomWidth: 0;
  box-shadow: inset 0 0 0 1px var(--vimers-warning);
}

.pf-v5-c-form-control.pf-m-success,
.pf-v6-c-form-control.pf-m-success {
  --pf-v5-c-form-control--after--BorderBottomWidth: 0;
  --pf-v6-c-form-control--after--BorderBottomWidth: 0;
  box-shadow: inset 0 0 0 1px var(--vimers-success);
}

.pf-v5-c-form-control:is(.pf-m-disabled, .pf-m-readonly),
.pf-v6-c-form-control:is(.pf-m-disabled, .pf-m-readonly),
.pf-v5-c-menu-toggle:is(:disabled, .pf-m-disabled),
.pf-v6-c-menu-toggle:is(:disabled, .pf-m-disabled) {
  color: #94a3b8;
  background-color: #f1f5f9;
  box-shadow: inset 0 0 0 1px var(--vimers-border);
}

.pf-v5-c-form-control.pf-m-readonly.pf-m-plain,
.pf-v6-c-form-control.pf-m-readonly.pf-m-plain {
  background-color: transparent;
  box-shadow: none;
}

.pf-v5-c-form__label-text,
.pf-v6-c-form__label-text {
  color: var(--vimers-text);
  font-weight: 600;
}

.pf-v5-c-form__helper-text,
.pf-v6-c-form__helper-text {
  color: var(--vimers-text-secondary);
}

.pf-v5-c-form__helper-text.pf-m-error,
.pf-v6-c-form__helper-text.pf-m-error {
  color: var(--vimers-danger);
}

/* Switches use the same VIMERS interaction colors as primary actions. */
.pf-v5-c-switch,
.pf-v6-c-switch {
  --pf-v5-c-switch__input--checked__toggle--BackgroundColor: var(
    --vimers-primary
  );
  --pf-v5-c-switch__toggle--BackgroundColor: #94a3b8;
  --pf-v5-c-switch__input--focus__toggle--OutlineColor: var(--vimers-primary);
  --pf-v6-c-switch__input--checked__toggle--BackgroundColor: var(
    --vimers-primary
  );
  --pf-v6-c-switch__toggle--BackgroundColor: #94a3b8;
  --pf-v6-c-switch__input--focus__toggle--OutlineColor: var(--vimers-primary);
}

/* Tables and pagination */
.pf-v5-c-table,
.pf-v6-c-table {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BorderColor--100: var(--vimers-border);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v5-c-table--BorderColor: var(--vimers-border);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BorderColor--100: var(--vimers-border);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-c-table--BorderColor: var(--vimers-border);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
}

.pf-v5-c-table thead,
.pf-v6-c-table thead {
  color: var(--vimers-text-secondary);
  background-color: #f1f5f9;
}

.pf-v5-c-table tbody,
.pf-v6-c-table tbody {
  color: var(--vimers-text);
}

.pf-v5-c-table tbody tr:hover,
.pf-v6-c-table tbody tr:hover {
  background-color: #f8fafc;
}

.pf-v5-c-table-container,
.pf-v5-c-scroll-inner-wrapper,
.pf-v6-c-table-container,
.pf-v6-c-scroll-inner-wrapper {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.pf-v5-c-pagination,
.pf-v6-c-pagination {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  color: var(--vimers-text-secondary);
  background-color: var(--vimers-card);
}

/* Tabs */
.pf-v5-c-tabs,
.pf-v6-c-tabs {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v5-c-tabs--BorderBottomColor: var(--vimers-border);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-c-tabs--BorderBottomColor: var(--vimers-border);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border-radius: 8px 8px 0 0;
}

.pf-v5-c-tabs__list,
.pf-v6-c-tabs__list {
  gap: 2px;
  padding-inline: 4px;
  background-color: #f1f5f9;
  border-radius: 8px 8px 0 0;
}

.pf-v5-c-tabs__item,
.pf-v6-c-tabs__item {
  border-radius: 6px 6px 0 0;
}

.pf-v5-c-tabs__link,
.pf-v6-c-tabs__link {
  color: var(--vimers-text-secondary);
  border-radius: 6px 6px 0 0;
  transition: color 140ms ease, background-color 140ms ease;
}

.pf-v5-c-tabs__link:hover,
.pf-v6-c-tabs__link:hover {
  color: var(--vimers-text);
  background-color: rgb(255 255 255 / 0.7);
}

.pf-v5-c-tabs__item.pf-m-current .pf-v5-c-tabs__link,
.pf-v5-c-tabs__link[aria-selected="true"],
.pf-v6-c-tabs__item.pf-m-current .pf-v6-c-tabs__link,
.pf-v6-c-tabs__link[aria-selected="true"] {
  color: var(--vimers-primary);
  font-weight: 600;
  background-color: var(--vimers-card);
}

.pf-v5-c-tabs__item.pf-m-current,
.pf-v6-c-tabs__item.pf-m-current {
  --pf-v5-c-tabs__item--m-current--after--BorderColor: var(--vimers-primary);
  --pf-v6-c-tabs__item--m-current--after--BorderColor: var(--vimers-primary);
}

/* Menus, dropdowns and modals retain PatternFly's native z-index scale. */
.pf-v5-c-menu,
.pf-v5-c-dropdown__menu,
.pf-v6-c-menu,
.pf-v6-c-dropdown__menu {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: var(--vimers-radius-sm);
  box-shadow: var(--vimers-shadow-overlay);
}

.pf-v5-c-menu__item:hover,
.pf-v5-c-menu__item:focus,
.pf-v6-c-menu__item:hover,
.pf-v6-c-menu__item:focus {
  color: var(--vimers-text);
  background-color: #eff6ff;
}

.pf-v5-c-modal-box,
.pf-v6-c-modal-box {
  --pf-v5-global--Color--100: var(--vimers-text);
  --pf-v5-global--Color--200: var(--vimers-text-secondary);
  --pf-v5-global--BackgroundColor--100: var(--vimers-card);
  --pf-v6-global--Color--100: var(--vimers-text);
  --pf-v6-global--Color--200: var(--vimers-text-secondary);
  --pf-v6-global--BackgroundColor--100: var(--vimers-card);
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 2rem);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border-radius: var(--vimers-radius-md);
  box-shadow: var(--vimers-shadow-overlay);
}

.pf-v5-c-modal-box__body,
.pf-v6-c-modal-box__body {
  overscroll-behavior: contain;
}

/* Alerts keep their native success, warning and danger color semantics. */
.pf-v5-c-alert,
.pf-v6-c-alert {
  border-radius: var(--vimers-radius-sm);
  box-shadow: var(--vimers-shadow-sm);
}

/* Compact laptop layouts without replacing PatternFly's sidebar behavior. */
@media (max-width: 1280px) {
  .pf-v5-c-page__main-section,
  .pf-v6-c-page__main-section {
    --pf-v5-c-page__main-section--PaddingTop: 1rem;
    --pf-v5-c-page__main-section--PaddingRight: 1rem;
    --pf-v5-c-page__main-section--PaddingBottom: 1rem;
    --pf-v5-c-page__main-section--PaddingLeft: 1rem;
    --pf-v6-c-page__main-section--PaddingTop: 1rem;
    --pf-v6-c-page__main-section--PaddingRight: 1rem;
    --pf-v6-c-page__main-section--PaddingBottom: 1rem;
    --pf-v6-c-page__main-section--PaddingLeft: 1rem;
  }

  .pf-v5-c-toolbar__content,
  .pf-v6-c-toolbar__content {
    max-width: 100%;
  }
}

@media (max-width: 1024px) {
  .pf-v5-c-masthead,
  .pf-v6-c-masthead {
    min-height: 3.25rem;
  }

  .pf-v5-c-modal-box,
  .pf-v6-c-modal-box {
    max-width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pf-v5-c-button,
  .pf-v6-c-button {
    transition: none;
  }
}

/*
 * VIMERS enterprise workspace
 *
 * These rules target the real Admin Console 26.6.2 shell and components:
 * KeycloakMasthead, PageNav, ViewHeader, RoutableTabs, KeycloakDataTable and
 * FormAccess. They do not create content or alter component behaviour.
 */
body[data-page-id="admin"] {
  --vimers-admin-sidebar-width: clamp(15rem, 16vw, 16.75rem);
  --vimers-admin-content-gap: clamp(1rem, 1.8vw, 1.75rem);
  --vimers-admin-control-height: 2.625rem;
  --vimers-admin-card-radius: 10px;
  --vimers-admin-header-height: 4rem;
  --vimers-admin-shadow-card: 0 1px 2px rgb(15 23 42 / 0.04),
    0 7px 20px rgb(15 23 42 / 0.045);
  --vimers-admin-shadow-header: 0 1px 2px rgb(15 23 42 / 0.05),
    0 5px 16px rgb(15 23 42 / 0.035);
  color: var(--vimers-text);
  font-family: var(--vimers-font-family);
  background-color: var(--vimers-background);
}

body[data-page-id="admin"] .pf-v5-c-page,
body[data-page-id="admin"] .pf-v6-c-page {
  --pf-v5-c-page__sidebar--Width: var(--vimers-admin-sidebar-width);
  --pf-v6-c-page__sidebar--Width: var(--vimers-admin-sidebar-width);
  min-width: 0;
  background-color: var(--vimers-background);
}

body[data-page-id="admin"] .pf-v5-c-page__main,
body[data-page-id="admin"] .pf-v6-c-page__main {
  min-width: 0;
  background-color: var(--vimers-background);
}

/*
 * Masthead: same restrained proportions as the reference. The logo remains an
 * actual image configured by theme.properties, so missing assets still fall
 * back to normal browser image behaviour.
 */
body[data-page-id="admin"] .pf-v5-c-masthead,
body[data-page-id="admin"] .pf-v6-c-masthead,
body[data-page-id="admin"] .pf-v5-c-page__header,
body[data-page-id="admin"] .pf-v6-c-page__header {
  --pf-v5-c-masthead--PaddingLeft: clamp(1rem, 1.65vw, 1.625rem);
  --pf-v5-c-masthead--PaddingRight: clamp(1rem, 1.65vw, 1.625rem);
  --pf-v6-c-masthead--PaddingLeft: clamp(1rem, 1.65vw, 1.625rem);
  --pf-v6-c-masthead--PaddingRight: clamp(1rem, 1.65vw, 1.625rem);
  min-height: var(--vimers-admin-header-height);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border-bottom: 1px solid var(--vimers-border);
  box-shadow: var(--vimers-admin-shadow-header);
}

body[data-page-id="admin"] .pf-v5-c-masthead__toggle,
body[data-page-id="admin"] .pf-v6-c-masthead__toggle {
  margin-inline-end: 0.5rem;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-masthead, .pf-v5-c-page__header)
  .pf-v5-c-button.pf-m-plain,
body[data-page-id="admin"]
  :is(.pf-v6-c-masthead, .pf-v6-c-page__header)
  .pf-v6-c-button.pf-m-plain {
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0.625rem;
  color: var(--vimers-text);
  border-radius: 8px;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-masthead, .pf-v5-c-page__header)
  .pf-v5-c-button.pf-m-plain:hover,
body[data-page-id="admin"]
  :is(.pf-v6-c-masthead, .pf-v6-c-page__header)
  .pf-v6-c-button.pf-m-plain:hover {
  color: var(--vimers-primary);
  background-color: #eff6ff;
}

body[data-page-id="admin"] img.keycloak__pageheader_brand {
  display: block;
  width: clamp(9rem, 11vw, 10.75rem);
  height: 2.25rem;
  object-fit: contain;
  object-position: left center;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-masthead, .pf-v5-c-page__header)
  .pf-v5-c-menu-toggle:not(.pf-m-plain),
body[data-page-id="admin"]
  :is(.pf-v6-c-masthead, .pf-v6-c-page__header)
  .pf-v6-c-menu-toggle:not(.pf-m-plain) {
  min-height: 2.5rem;
  padding-inline: 0.875rem;
  color: var(--vimers-text);
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: inset 0 0 0 1px #cbd5e1,
    0 1px 2px rgb(15 23 42 / 0.04);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-masthead, .pf-v5-c-page__header)
  .pf-v5-c-menu-toggle:not(.pf-m-plain):hover,
body[data-page-id="admin"]
  :is(.pf-v6-c-masthead, .pf-v6-c-page__header)
  .pf-v6-c-menu-toggle:not(.pf-m-plain):hover {
  color: var(--vimers-primary-hover);
  background-color: #f8fafc;
  box-shadow: inset 0 0 0 1px #94a3b8,
    0 2px 5px rgb(15 23 42 / 0.07);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-masthead, .pf-v5-c-page__header)
  :is(.pf-v5-c-avatar, .pf-v6-c-avatar) {
  width: 2.125rem;
  height: 2.125rem;
  background-color: #f1f5f9;
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--vimers-border);
}

/* Temporary-admin warning remains visible and semantically amber. */
body[data-page-id="admin"] .pf-v5-c-banner.pf-m-gold,
body[data-page-id="admin"] .pf-v5-c-banner.pf-m-warning,
body[data-page-id="admin"] .pf-v6-c-banner.pf-m-gold,
body[data-page-id="admin"] .pf-v6-c-banner.pf-m-warning {
  min-height: 2.25rem;
  padding: 0.5rem clamp(1rem, 1.6vw, 1.625rem);
  color: #92400e;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  background-color: #fff7ed;
  border-bottom: 1px solid #fed7aa;
  box-shadow: none;
}

/*
 * Sidebar hierarchy. PageNav provides the current realm heading and real nav
 * groups; CSS only improves their visual grouping.
 */
body[data-page-id="admin"] .keycloak__page_nav__nav,
body[data-page-id="admin"] .pf-v5-c-page__sidebar,
body[data-page-id="admin"] .pf-v6-c-page__sidebar {
  --pf-v5-c-page__sidebar--Width: var(--vimers-admin-sidebar-width);
  --pf-v6-c-page__sidebar--Width: var(--vimers-admin-sidebar-width);
  width: var(--vimers-admin-sidebar-width);
  color: #e2e8f0;
  background-color: var(--vimers-sidebar);
  border-inline-end: 1px solid rgb(148 163 184 / 0.13);
  box-shadow: 5px 0 20px rgb(15 23 42 / 0.08);
}

body[data-page-id="admin"] .pf-v5-c-page__sidebar-body,
body[data-page-id="admin"] .pf-v6-c-page__sidebar-body {
  padding-block: 0.875rem 1.25rem;
  background-color: var(--vimers-sidebar);
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav, .pf-v6-c-nav) {
  background-color: var(--vimers-sidebar);
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__section-title, .pf-v6-c-nav__section-title) {
  margin: 0;
  padding: 0.625rem 1.125rem 0.75rem;
  color: #94a3b8;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__section-title, .pf-v6-c-nav__section-title)
  :is(.pf-v5-c-label, .pf-v6-c-label) {
  margin-top: 0.375rem;
  padding: 0.25rem 0.5rem;
  color: #dbeafe;
  font-size: 0.625rem;
  letter-spacing: 0.025em;
  background-color: rgb(29 78 216 / 0.25);
  border: 1px solid rgb(96 165 250 / 0.3);
  border-radius: 999px;
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__list, .pf-v6-c-nav__list) {
  padding: 0;
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__section, .pf-v6-c-nav__section)
  + :is(.pf-v5-c-nav__section, .pf-v6-c-nav__section) {
  margin-top: 0.75rem;
  padding-top: 0.625rem;
  border-top: 1px solid rgb(148 163 184 / 0.14);
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__link, .pf-v6-c-nav__link) {
  min-height: 2.625rem;
  margin: 0.125rem 0.75rem;
  padding: 0.6875rem 0.875rem;
  color: #cbd5e1;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  border-radius: 7px;
  transition: color 130ms ease, background-color 130ms ease,
    box-shadow 130ms ease;
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__link, .pf-v6-c-nav__link):not(.pf-m-current):hover,
body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__link, .pf-v6-c-nav__link):not(.pf-m-current):focus-visible {
  color: #ffffff;
  background-color: var(--vimers-sidebar-hover);
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__link.pf-m-current, .pf-v6-c-nav__link.pf-m-current),
body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__link, .pf-v6-c-nav__link)[aria-current="page"] {
  color: #ffffff;
  font-weight: 600;
  background-color: var(--vimers-primary);
  box-shadow: 0 5px 14px rgb(29 78 216 / 0.24),
    inset 3px 0 0 #60a5fa;
}

/* Breadcrumbs and ViewHeader establish the page hierarchy. */
body[data-page-id="admin"]
  :is(.pf-v5-c-page__main-breadcrumb, .pf-v6-c-page__main-breadcrumb) {
  padding: 0.875rem var(--vimers-admin-content-gap) 0;
  color: var(--vimers-text-secondary);
  background-color: var(--vimers-background);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-breadcrumb__link, .pf-v6-c-breadcrumb__link) {
  color: var(--vimers-text-secondary);
  font-size: 0.8125rem;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-breadcrumb__item:last-child, .pf-v6-c-breadcrumb__item:last-child)
  :is(.pf-v5-c-breadcrumb__link, .pf-v6-c-breadcrumb__link) {
  color: var(--vimers-text);
  font-weight: 600;
}

body[data-page-id="admin"]
  .pf-v5-c-page__main
  > .pf-v5-c-page__main-section,
body[data-page-id="admin"]
  .pf-v6-c-page__main
  > .pf-v6-c-page__main-section {
  --pf-v5-c-page__main-section--PaddingRight: var(
    --vimers-admin-content-gap
  );
  --pf-v5-c-page__main-section--PaddingLeft: var(--vimers-admin-content-gap);
  --pf-v6-c-page__main-section--PaddingRight: var(
    --vimers-admin-content-gap
  );
  --pf-v6-c-page__main-section--PaddingLeft: var(--vimers-admin-content-gap);
  min-width: 0;
}

body[data-page-id="admin"]
  .pf-v5-c-page__main
  > .pf-v5-c-page__main-section:first-child,
body[data-page-id="admin"]
  .pf-v6-c-page__main
  > .pf-v6-c-page__main-section:first-child {
  --pf-v5-c-page__main-section--PaddingTop: 1.375rem;
  --pf-v5-c-page__main-section--PaddingBottom: 1rem;
  --pf-v6-c-page__main-section--PaddingTop: 1.375rem;
  --pf-v6-c-page__main-section--PaddingBottom: 1rem;
  background-color: var(--vimers-background);
}

body[data-page-id="admin"] [data-testid="view-header"],
body[data-page-id="admin"] [data-testid="welcomeTitle"] {
  color: var(--vimers-text);
  font-size: clamp(1.375rem, 1.75vw, 1.625rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.022em;
}

body[data-page-id="admin"] #view-header-subkey {
  max-width: 64rem;
  margin-top: 0.4375rem;
  color: var(--vimers-text-secondary);
  font-size: 0.875rem;
  line-height: 1.5;
}

body[data-page-id="admin"]
  .pf-v5-c-page__main
  > .pf-v5-c-page__main-section:first-child
  > .pf-v5-l-level,
body[data-page-id="admin"]
  .pf-v6-c-page__main
  > .pf-v6-c-page__main-section:first-child
  > .pf-v6-l-level {
  align-items: flex-start;
}

/*
 * RoutableTabs becomes the clean underline navigation seen in the reference.
 * Native overflow buttons and activeKey handling remain untouched.
 */
body[data-page-id="admin"] :is(.pf-v5-c-tabs, .pf-v6-c-tabs) {
  --pf-v5-c-tabs--BorderBottomColor: var(--vimers-border);
  --pf-v6-c-tabs--BorderBottomColor: var(--vimers-border);
  color: var(--vimers-text);
  background-color: transparent;
  border-radius: 0;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__scroll-button, .pf-v6-c-tabs__scroll-button) {
  color: var(--vimers-text-secondary);
  background-color: var(--vimers-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__list, .pf-v6-c-tabs__list) {
  gap: 0.25rem;
  padding-inline: var(--vimers-admin-content-gap);
  background-color: var(--vimers-background);
  border-bottom: 1px solid var(--vimers-border);
  border-radius: 0;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__item, .pf-v6-c-tabs__item) {
  border-radius: 0;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link) {
  min-height: 3rem;
  padding: 0.8125rem 1rem;
  color: var(--vimers-text-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 6px 6px 0 0;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link):hover {
  color: var(--vimers-text);
  background-color: rgb(255 255 255 / 0.68);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__item.pf-m-current, .pf-v6-c-tabs__item.pf-m-current)
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link),
body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link)[aria-selected="true"] {
  color: var(--vimers-primary);
  font-weight: 650;
  background-color: transparent;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs__item.pf-m-current, .pf-v6-c-tabs__item.pf-m-current) {
  --pf-v5-c-tabs__item--m-current--after--BorderColor: var(--vimers-primary);
  --pf-v5-c-tabs__item--m-current--after--BorderWidth: 3px;
  --pf-v6-c-tabs__item--m-current--after--BorderColor: var(--vimers-primary);
  --pf-v6-c-tabs__item--m-current--after--BorderWidth: 3px;
}

/* RoutableTabs requests PatternFly's box variant; flatten only its decoration. */
body[data-page-id="admin"]
  :is(.pf-v5-c-tabs.pf-m-box, .pf-v6-c-tabs.pf-m-box)
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link) {
  background-color: transparent;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs.pf-m-box, .pf-v6-c-tabs.pf-m-box)
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link)::before {
  border: 0;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs.pf-m-box, .pf-v6-c-tabs.pf-m-box)
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link)::after {
  inset-block: auto 0;
  border: 0;
  border-bottom: 3px solid transparent;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tabs.pf-m-box, .pf-v6-c-tabs.pf-m-box)
  :is(.pf-v5-c-tabs__item.pf-m-current, .pf-v6-c-tabs__item.pf-m-current)
  :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link)::after {
  border-bottom-color: var(--vimers-primary);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tab-content, .pf-v6-c-tab-content) {
  min-width: 0;
  background-color: var(--vimers-background);
}

/*
 * List pages: toolbar, table and pagination read as one enterprise data card.
 * Overflow remains on PatternFly's native table wrappers.
 */
body[data-page-id="admin"]
  :is(.pf-v5-c-tab-content, .pf-v6-c-tab-content)
  > :is(.pf-v5-c-toolbar, .pf-v6-c-toolbar),
body[data-page-id="admin"]
  :is(.pf-v5-c-page__main-section, .pf-v6-c-page__main-section)
  > :is(.pf-v5-c-toolbar, .pf-v6-c-toolbar) {
  margin: var(--vimers-admin-content-gap) var(--vimers-admin-content-gap) 0;
  padding: 0.75rem;
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-bottom: 0;
  border-radius: var(--vimers-admin-card-radius)
    var(--vimers-admin-card-radius) 0 0;
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-toolbar__content, .pf-v6-c-toolbar__content) {
  max-width: 100%;
  padding: 0;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-toolbar__content-section, .pf-v6-c-toolbar__content-section) {
  gap: 0.625rem;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item) {
  min-width: 0;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tab-content, .pf-v6-c-tab-content)
  :is(.pf-v5-c-table, .pf-v6-c-table),
body[data-page-id="admin"]
  :is(.pf-v5-c-page__main-section, .pf-v6-c-page__main-section)
  > :is(.pf-v5-c-table, .pf-v6-c-table) {
  width: calc(100% - (2 * var(--vimers-admin-content-gap)));
  margin-inline: var(--vimers-admin-content-gap);
  overflow: hidden;
  background-color: var(--vimers-card);
  border-inline: 1px solid var(--vimers-border);
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"] :is(.pf-v5-c-table, .pf-v6-c-table) {
  --pf-v5-c-table--BorderColor: var(--vimers-border);
  --pf-v6-c-table--BorderColor: var(--vimers-border);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table, .pf-v6-c-table)
  :is(thead, .pf-v5-c-table__thead, .pf-v6-c-table__thead) {
  color: #475569;
  background-color: #f8fafc;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table, .pf-v6-c-table)
  :is(th, .pf-v5-c-table__th, .pf-v6-c-table__th) {
  padding-block: 0.75rem;
  color: #475569;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.018em;
  border-bottom-color: var(--vimers-border);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table, .pf-v6-c-table)
  :is(td, .pf-v5-c-table__td, .pf-v6-c-table__td) {
  padding-block: 0.75rem;
  color: var(--vimers-text);
  font-size: 0.875rem;
  border-bottom-color: var(--vimers-border);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table, .pf-v6-c-table)
  tbody
  tr {
  min-height: 3.25rem;
  transition: background-color 120ms ease;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table, .pf-v6-c-table)
  tbody
  tr:hover {
  background-color: #f8fafc;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table, .pf-v6-c-table)
  a {
  color: #2563eb;
  font-weight: 500;
  text-decoration: none;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table, .pf-v6-c-table)
  a:hover {
  color: var(--vimers-primary-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-tab-content, .pf-v6-c-tab-content)
  > :is(.pf-v5-c-pagination, .pf-v6-c-pagination),
body[data-page-id="admin"]
  :is(.pf-v5-c-page__main-section, .pf-v6-c-page__main-section)
  > :is(.pf-v5-c-pagination, .pf-v6-c-pagination) {
  width: calc(100% - (2 * var(--vimers-admin-content-gap)));
  margin: 0 var(--vimers-admin-content-gap)
    var(--vimers-admin-content-gap);
  padding: 0.625rem 0.875rem;
  color: var(--vimers-text-secondary);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-top: 0;
  border-radius: 0 0 var(--vimers-admin-card-radius)
    var(--vimers-admin-card-radius);
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-table-container, .pf-v5-c-scroll-inner-wrapper),
body[data-page-id="admin"]
  :is(.pf-v6-c-table-container, .pf-v6-c-scroll-inner-wrapper) {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

/* Cards, panels, dashboard blocks and empty states. */
body[data-page-id="admin"]
  :is(
    .pf-v5-c-card,
    .pf-v5-c-panel,
    .pf-v5-c-data-list,
    .pf-v6-c-card,
    .pf-v6-c-panel,
    .pf-v6-c-data-list
  ) {
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: var(--vimers-admin-card-radius);
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-card__title, .pf-v6-c-card__title) {
  color: var(--vimers-text);
  font-size: 1rem;
  font-weight: 700;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-card__body, .pf-v6-c-card__body) {
  color: var(--vimers-text-secondary);
  line-height: 1.5;
}

body[data-page-id="admin"] .keycloak__dashboard_card {
  height: 100%;
  overflow: hidden;
}

body[data-page-id="admin"]
  [data-testid="dashboard-tabs"]
  :is(.pf-v5-c-tab-content, .pf-v6-c-tab-content)
  > :is(.pf-v5-c-page__main-section, .pf-v6-c-page__main-section) {
  margin: var(--vimers-admin-content-gap);
  padding: clamp(1.25rem, 2vw, 2rem);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: var(--vimers-admin-card-radius);
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-empty-state, .pf-v6-c-empty-state) {
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border: 1px dashed #cbd5e1;
  border-radius: var(--vimers-admin-card-radius);
}

/* FormAccess pages become focused white cards instead of loose fields. */
body[data-page-id="admin"] .keycloak__form {
  width: min(100%, 68rem);
  max-width: 68rem;
  margin-bottom: 5.5rem;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: var(--vimers-admin-card-radius);
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-form, .pf-v6-c-form).pf-m-horizontal
  :is(.pf-v5-c-form__group, .pf-v6-c-form__group) {
  column-gap: clamp(1rem, 2vw, 2rem);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-form__group, .pf-v6-c-form__group) {
  row-gap: 0.4375rem;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-form__label-text, .pf-v6-c-form__label-text) {
  color: var(--vimers-text);
  font-size: 0.8125rem;
  font-weight: 650;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-form__helper-text, .pf-v6-c-form__helper-text) {
  color: var(--vimers-text-secondary);
  font-size: 0.8125rem;
  line-height: 1.45;
}

body[data-page-id="admin"]
  :is(
    .pf-v5-c-form-control,
    .pf-v5-c-select__toggle,
    .pf-v5-c-menu-toggle:not(.pf-m-plain),
    .pf-v5-c-number-input,
    .pf-v5-c-clipboard-copy__group,
    .pf-v6-c-form-control,
    .pf-v6-c-select__toggle,
    .pf-v6-c-menu-toggle:not(.pf-m-plain),
    .pf-v6-c-number-input,
    .pf-v6-c-clipboard-copy__group
  ) {
  min-height: var(--vimers-admin-control-height);
  color: var(--vimers-text);
  background-color: #ffffff;
  border-radius: 7px;
}

body[data-page-id="admin"]
  :is(
    .pf-v5-c-form-control,
    .pf-v5-c-select__toggle,
    .pf-v5-c-menu-toggle:not(.pf-m-plain),
    .pf-v6-c-form-control,
    .pf-v6-c-select__toggle,
    .pf-v6-c-menu-toggle:not(.pf-m-plain)
  ) {
  box-shadow: inset 0 0 0 1px #cbd5e1,
    0 1px 2px rgb(15 23 42 / 0.035);
}

body[data-page-id="admin"]
  :is(
    .pf-v5-c-form-control:focus-within,
    .pf-v5-c-select__toggle:focus-visible,
    .pf-v5-c-menu-toggle:not(.pf-m-plain):focus-visible,
    .pf-v6-c-form-control:focus-within,
    .pf-v6-c-select__toggle:focus-visible,
    .pf-v6-c-menu-toggle:not(.pf-m-plain):focus-visible
  ) {
  outline: none;
  box-shadow: inset 0 0 0 1px var(--vimers-primary),
    0 0 0 3px rgb(29 78 216 / 0.13);
}

body[data-page-id="admin"]
  :is(
    .pf-v5-c-form-control.pf-m-disabled,
    .pf-v5-c-form-control.pf-m-readonly,
    .pf-v6-c-form-control.pf-m-disabled,
    .pf-v6-c-form-control.pf-m-readonly
  ) {
  color: #64748b;
  background-color: #f1f5f9;
  box-shadow: inset 0 0 0 1px var(--vimers-border);
}

/* Validation semantics remain red, amber and green. */
body[data-page-id="admin"]
  :is(
    .pf-v5-c-form-control.pf-m-error,
    .pf-v5-c-form-control:has([aria-invalid="true"]),
    .pf-v6-c-form-control.pf-m-error,
    .pf-v6-c-form-control:has([aria-invalid="true"])
  ) {
  box-shadow: inset 0 0 0 1px var(--vimers-danger);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-form-control.pf-m-warning, .pf-v6-c-form-control.pf-m-warning) {
  box-shadow: inset 0 0 0 1px var(--vimers-warning);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-form-control.pf-m-success, .pf-v6-c-form-control.pf-m-success) {
  box-shadow: inset 0 0 0 1px var(--vimers-success);
}

/* Buttons retain semantic variants and gain the softer reference treatment. */
body[data-page-id="admin"] :is(.pf-v5-c-button, .pf-v6-c-button) {
  min-height: 2.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 7px;
  transition: color 130ms ease, background-color 130ms ease,
    box-shadow 130ms ease;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-button.pf-m-primary, .pf-v6-c-button.pf-m-primary) {
  color: #ffffff;
  background-color: var(--vimers-primary);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.12),
    0 4px 10px rgb(29 78 216 / 0.14);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-button.pf-m-primary, .pf-v6-c-button.pf-m-primary):not(
    :disabled,
    .pf-m-disabled
  ):hover {
  color: #ffffff;
  background-color: var(--vimers-primary-hover);
  box-shadow: 0 2px 4px rgb(15 23 42 / 0.14),
    0 5px 13px rgb(29 78 216 / 0.17);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-button.pf-m-secondary, .pf-v6-c-button.pf-m-secondary) {
  color: var(--vimers-primary);
  background-color: #ffffff;
  box-shadow: inset 0 0 0 1px #bfdbfe,
    0 1px 2px rgb(15 23 42 / 0.04);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-button.pf-m-tertiary, .pf-v6-c-button.pf-m-tertiary),
body[data-page-id="admin"]
  :is(.pf-v5-c-button.pf-m-control, .pf-v6-c-button.pf-m-control) {
  color: var(--vimers-text);
  background-color: #ffffff;
  box-shadow: inset 0 0 0 1px #cbd5e1,
    0 1px 2px rgb(15 23 42 / 0.04);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-button.pf-m-danger, .pf-v6-c-button.pf-m-danger) {
  color: #ffffff;
  background-color: var(--vimers-danger);
  box-shadow: 0 1px 2px rgb(127 29 29 / 0.14);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-button, .pf-v6-c-button):is(:disabled, .pf-m-disabled) {
  cursor: not-allowed;
  opacity: 0.52;
  box-shadow: none;
}

/*
 * FormAccess uses a fixed action group in 26.6.2. This selector only changes
 * its surface and spacing; position and submit/reset behaviour stay native.
 */
body[data-page-id="admin"]
  .keycloak__form
  > :is(.pf-v5-c-form__group.pf-m-action, .pf-v6-c-form__group.pf-m-action),
body[data-page-id="admin"] .keycloak__form_actions {
  padding: 0.875rem var(--vimers-admin-content-gap);
  background-color: rgb(255 255 255 / 0.97);
  border-top: 1px solid var(--vimers-border);
  box-shadow: 0 -7px 22px rgb(15 23 42 / 0.065);
  backdrop-filter: blur(8px);
}

/* Dropdown, popover, tooltip and modal stacking remains PatternFly-native. */
body[data-page-id="admin"]
  :is(
    .pf-v5-c-menu,
    .pf-v5-c-dropdown__menu,
    .pf-v5-c-select__menu,
    .pf-v6-c-menu,
    .pf-v6-c-dropdown__menu,
    .pf-v6-c-select__menu
  ) {
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: 8px;
  box-shadow: var(--vimers-shadow-overlay);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-menu__item, .pf-v6-c-menu__item):is(:hover, :focus) {
  color: var(--vimers-text);
  background-color: #eff6ff;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-modal-box, .pf-v6-c-modal-box) {
  max-width: calc(100vw - 2rem);
  max-height: calc(100dvh - 2rem);
  color: var(--vimers-text);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: 10px;
  box-shadow: 0 20px 50px rgb(15 23 42 / 0.2);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-modal-box__header, .pf-v6-c-modal-box__header) {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--vimers-border);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-modal-box__body, .pf-v6-c-modal-box__body) {
  overscroll-behavior: contain;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-alert, .pf-v6-c-alert) {
  border-radius: 8px;
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-spinner, .pf-v6-c-spinner) {
  color: var(--vimers-primary);
}

/* Laptop layouts keep the expanded sidebar beside, not above, the content. */
@media (max-width: 1280px) {
  body[data-page-id="admin"] {
    --vimers-admin-sidebar-width: 15rem;
    --vimers-admin-content-gap: 1rem;
  }

  body[data-page-id="admin"]
    .keycloak__page_nav__nav
    :is(.pf-v5-c-nav__link, .pf-v6-c-nav__link) {
    min-height: 2.5rem;
    padding-block: 0.625rem;
  }

  body[data-page-id="admin"] .keycloak__form {
    padding: 1.25rem;
  }
}

@media (min-width: 769px) and (max-width: 1199px) {
  body[data-page-id="admin"]
    :is(.pf-v5-c-page, .pf-v6-c-page):has(
      > .keycloak__page_nav__nav.pf-m-expanded
    )
    > :is(.pf-v5-c-page__main, .pf-v6-c-page__main) {
    width: calc(100% - var(--vimers-admin-sidebar-width));
    margin-inline-start: var(--vimers-admin-sidebar-width);
  }
}

@media (max-width: 1024px) {
  body[data-page-id="admin"] {
    --vimers-admin-sidebar-width: 13.75rem;
    --vimers-admin-header-height: 3.75rem;
  }

  body[data-page-id="admin"] img.keycloak__pageheader_brand {
    width: 8.75rem;
  }

  body[data-page-id="admin"]
    :is(.pf-v5-c-tabs__link, .pf-v6-c-tabs__link) {
    padding-inline: 0.75rem;
  }

  body[data-page-id="admin"]
    :is(.pf-v5-c-modal-box, .pf-v6-c-modal-box) {
    max-width: calc(100vw - 1rem);
    max-height: calc(100dvh - 1rem);
  }
}

@media (max-width: 768px) {
  body[data-page-id="admin"] {
    --vimers-admin-content-gap: 0.875rem;
  }

  body[data-page-id="admin"] .keycloak__page_nav__nav,
  body[data-page-id="admin"] .pf-v5-c-page__sidebar,
  body[data-page-id="admin"] .pf-v6-c-page__sidebar {
    width: min(16rem, calc(100vw - 3rem));
  }

  body[data-page-id="admin"]
    .pf-v5-c-page__main
    > .pf-v5-c-page__main-section:first-child,
  body[data-page-id="admin"]
    .pf-v6-c-page__main
    > .pf-v6-c-page__main-section:first-child {
    --pf-v5-c-page__main-section--PaddingTop: 1rem;
    --pf-v6-c-page__main-section--PaddingTop: 1rem;
  }

  body[data-page-id="admin"] .keycloak__form {
    margin-bottom: 5rem;
    padding: 1rem;
    border-radius: 8px;
  }

  body[data-page-id="admin"]
    :is(
      .pf-v5-c-card,
      .pf-v5-c-panel,
      .pf-v5-c-data-list,
      .pf-v6-c-card,
      .pf-v6-c-panel,
      .pf-v6-c-data-list
    ) {
    border-radius: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-id="admin"]
    :is(
      .pf-v5-c-button,
      .pf-v5-c-nav__link,
      .pf-v5-c-form-control,
      .pf-v6-c-button,
      .pf-v6-c-nav__link,
      .pf-v6-c-form-control
    ) {
    transition: none;
  }
}

/*
 * Production lazy-chunk compatibility (Keycloak 26.6.2 / PatternFly 5)
 *
 * Vite injects route component CSS after theme styles. The declarations marked
 * important below are intentionally limited to visual surfaces that otherwise
 * get overwritten after navigation. No sizing, z-index, visibility or
 * interaction behaviour is forced.
 */
.pf-v5-c-banner.pf-m-gold,
.pf-v5-c-banner.pf-m-warning {
  color: #92400e !important;
  background-color: #fff7ed !important;
  border-bottom: 1px solid #fed7aa;
}

.keycloak__page_nav__nav .pf-v5-c-nav__link {
  min-height: 2.625rem;
  margin: 0.125rem 0.75rem;
  padding: 0.6875rem 0.875rem;
  color: #cbd5e1;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: 7px;
}

.keycloak__page_nav__nav
  .pf-v5-c-nav__link:not(.pf-m-current):is(:hover, :focus-visible) {
  color: #ffffff;
  background-color: var(--vimers-sidebar-hover);
}

.keycloak__page_nav__nav .pf-v5-c-nav__link.pf-m-current,
.keycloak__page_nav__nav .pf-v5-c-nav__link[aria-current="page"] {
  color: #ffffff !important;
  font-weight: 600;
  background-color: var(--vimers-primary) !important;
  box-shadow: 0 5px 14px rgb(29 78 216 / 0.24),
    inset 3px 0 0 #60a5fa;
}

.pf-v5-c-tabs.pf-m-box .pf-v5-c-tabs__list {
  padding-inline: var(--vimers-admin-content-gap);
  background-color: var(--vimers-background) !important;
  border-bottom: 1px solid var(--vimers-border);
}

.pf-v5-c-tabs.pf-m-box .pf-v5-c-tabs__link {
  min-height: 3rem;
  padding: 0.8125rem 1rem;
  color: var(--vimers-text-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  background-color: transparent !important;
}

.pf-v5-c-tabs.pf-m-box .pf-v5-c-tabs__link::before {
  border: 0 !important;
}

.pf-v5-c-tabs.pf-m-box .pf-v5-c-tabs__link::after {
  inset-block: auto 0;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
}

.pf-v5-c-tabs.pf-m-box
  .pf-v5-c-tabs__item.pf-m-current
  .pf-v5-c-tabs__link {
  color: var(--vimers-primary);
  font-weight: 650;
}

.pf-v5-c-tabs.pf-m-box
  .pf-v5-c-tabs__item.pf-m-current
  .pf-v5-c-tabs__link::after {
  border-bottom-color: var(--vimers-primary) !important;
}

/* KeycloakDataTable exposes this stable hook from keycloak-ui-shared. */
[data-testid="table-toolbar"].pf-v5-c-toolbar {
  margin: var(--vimers-admin-content-gap) var(--vimers-admin-content-gap) 0 !important;
  padding: 0.75rem;
  color: var(--vimers-text);
  background-color: var(--vimers-card) !important;
  border: 1px solid var(--vimers-border);
  border-bottom: 0;
  border-radius: var(--vimers-admin-card-radius)
    var(--vimers-admin-card-radius) 0 0;
  box-shadow: var(--vimers-admin-shadow-card);
}

[data-testid="table-toolbar"]
  ~ .pf-v5-c-table {
  width: calc(100% - (2 * var(--vimers-admin-content-gap))) !important;
  margin-inline: var(--vimers-admin-content-gap) !important;
  background-color: var(--vimers-card);
  border-inline: 1px solid var(--vimers-border);
  box-shadow: var(--vimers-admin-shadow-card);
}

[data-testid="table-toolbar"]
  ~ .pf-v5-c-toolbar__item.pf-m-pagination {
  margin: 0 var(--vimers-admin-content-gap)
    var(--vimers-admin-content-gap);
  padding: 0.625rem 0.875rem;
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-top: 0;
  border-radius: 0 0 var(--vimers-admin-card-radius)
    var(--vimers-admin-card-radius);
}

.keycloak__form {
  width: min(100%, 68rem);
  max-width: 68rem;
  margin-bottom: 5.5rem;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-radius: var(--vimers-admin-card-radius);
  box-shadow: var(--vimers-admin-shadow-card);
}

@media (max-width: 1280px) {
  [data-testid="table-toolbar"].pf-v5-c-toolbar {
    margin-inline: 1rem !important;
  }

  [data-testid="table-toolbar"]
    ~ .pf-v5-c-table {
    width: calc(100% - 2rem) !important;
    margin-inline: 1rem !important;
  }
}

/*
 * Manage realms — compact enterprise data card
 *
 * RealmSection exposes data-testid="add-realm" inside its KeycloakDataTable
 * toolbar. Using that stable hook keeps these layout corrections isolated from
 * clients, users and other list pages.
 */

/* PatternFly nav links are full-width by default; account for their margins. */
body[data-page-id="admin"] .keycloak__page_nav__nav,
body[data-page-id="admin"] .pf-v5-c-page__sidebar,
body[data-page-id="admin"] .pf-v6-c-page__sidebar {
  box-sizing: border-box;
  max-width: var(--vimers-admin-sidebar-width);
  overflow-x: hidden;
}

body[data-page-id="admin"]
  :is(.pf-v5-c-page__sidebar-body, .pf-v6-c-page__sidebar-body),
body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(
    .pf-v5-c-nav,
    .pf-v5-c-nav__section,
    .pf-v5-c-nav__list,
    .pf-v6-c-nav,
    .pf-v6-c-nav__section,
    .pf-v6-c-nav__list
  ) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__link, .pf-v6-c-nav__link) {
  box-sizing: border-box;
  width: calc(100% - 1.5rem);
  max-width: calc(100% - 1.5rem);
}

body[data-page-id="admin"]
  :is(.pf-v5-c-page__main-section, .pf-v6-c-page__main-section):has(
    [data-testid="add-realm"]
  ) {
  min-width: 0;
  background-color: var(--vimers-background);
}

/* Top toolbar is the header segment of the Manage realms data card. */
body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"]) {
  box-sizing: border-box;
  width: calc(100% - (2 * var(--vimers-admin-content-gap)));
  margin: var(--vimers-admin-content-gap) var(--vimers-admin-content-gap) 0 !important;
  padding: 0.6875rem 0.75rem;
  border: 1px solid var(--vimers-border);
  border-bottom: 0;
  border-radius: var(--vimers-admin-card-radius)
    var(--vimers-admin-card-radius) 0 0;
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  :is(.pf-v5-c-toolbar__content, .pf-v6-c-toolbar__content) {
  min-height: var(--vimers-admin-control-height);
  padding: 0;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  :is(.pf-v5-c-toolbar__content-section, .pf-v6-c-toolbar__content-section) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  align-items: center;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item):has(
    [data-testid="table-search-input"]
  ) {
  flex: 0 1 18.5rem;
  width: min(100%, 18.5rem);
  min-width: 13rem;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  :is(.pf-v5-c-input-group, .pf-v6-c-input-group):has(
    [data-testid="table-search-input"]
  ) {
  width: 100%;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  [data-testid="table-search-input"] {
  min-height: var(--vimers-admin-control-height);
  color: var(--vimers-text);
  background-color: transparent;
  border: 0;
  border-radius: 6px;
  overflow: hidden;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  [data-testid="table-search-input"]
  :is(.pf-v5-c-text-input-group, .pf-v6-c-text-input-group) {
  --pf-v5-c-text-input-group--BackgroundColor: #ffffff;
  --pf-v5-c-text-input-group__text--before--BorderColor: #cbd5e1;
  --pf-v5-c-text-input-group__text--after--BorderBottomColor: #cbd5e1;
  --pf-v5-c-text-input-group--hover__text--after--BorderBottomColor: #94a3b8;
  --pf-v5-c-text-input-group__text--focus-within--after--BorderBottomWidth: 2px;
  --pf-v5-c-text-input-group__text--focus-within--after--BorderBottomColor: var(
    --vimers-primary
  );
  --pf-v5-c-text-input-group__icon--Color: var(--vimers-text-secondary);
  --pf-v6-c-text-input-group--BackgroundColor: #ffffff;
  --pf-v6-c-text-input-group__text--before--BorderColor: #cbd5e1;
  --pf-v6-c-text-input-group__text--after--BorderBottomColor: #cbd5e1;
  --pf-v6-c-text-input-group--hover__text--after--BorderBottomColor: #94a3b8;
  --pf-v6-c-text-input-group__text--focus-within--after--BorderBottomWidth: 2px;
  --pf-v6-c-text-input-group__text--focus-within--after--BorderBottomColor: var(
    --vimers-primary
  );
  --pf-v6-c-text-input-group__icon--Color: var(--vimers-text-secondary);
  min-height: var(--vimers-admin-control-height);
  border-radius: 6px 0 0 6px;
  overflow: hidden;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  [data-testid="table-search-input"]
  :is(.pf-v5-c-button.pf-m-control, .pf-v6-c-button.pf-m-control) {
  --pf-v5-c-button--m-control--BackgroundColor: #ffffff;
  --pf-v5-c-button--m-control--Color: var(--vimers-text);
  --pf-v5-c-button--m-control--after--BorderTopColor: #cbd5e1;
  --pf-v5-c-button--m-control--after--BorderRightColor: #cbd5e1;
  --pf-v5-c-button--m-control--after--BorderBottomColor: #cbd5e1;
  --pf-v5-c-button--m-control--after--BorderLeftColor: #cbd5e1;
  --pf-v6-c-button--m-control--BackgroundColor: #ffffff;
  --pf-v6-c-button--m-control--Color: var(--vimers-text);
  --pf-v6-c-button--m-control--after--BorderTopColor: #cbd5e1;
  --pf-v6-c-button--m-control--after--BorderRightColor: #cbd5e1;
  --pf-v6-c-button--m-control--after--BorderBottomColor: #cbd5e1;
  --pf-v6-c-button--m-control--after--BorderLeftColor: #cbd5e1;
  min-width: var(--vimers-admin-control-height);
  min-height: var(--vimers-admin-control-height);
  padding-inline: 0.75rem;
  border-radius: 0 6px 6px 0;
  box-shadow: none;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  [data-testid="table-search-input"]
  :is(
    .pf-v5-c-button.pf-m-control,
    .pf-v6-c-button.pf-m-control
  )::after {
  border-radius: 0 6px 6px 0;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item).pf-m-pagination {
  margin-inline-start: auto;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  [data-testid="refresh"] {
  min-height: var(--vimers-admin-control-height);
  padding-inline: 0.75rem;
  font-weight: 600;
}

/* The divider is only a visual separator; the card borders replace it. */
body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  ~ :is(.pf-v5-c-divider, .pf-v6-c-divider) {
  height: 0;
  margin: 0;
  border: 0;
}

/* Table is the middle segment. Native row actions and selection remain intact. */
body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  ~ :is(.pf-v5-c-table, .pf-v6-c-table) {
  box-sizing: border-box;
  width: calc(100% - (2 * var(--vimers-admin-content-gap))) !important;
  margin-inline: var(--vimers-admin-content-gap) !important;
  border: 1px solid var(--vimers-border);
  border-block-end: 0;
  border-radius: 0;
  box-shadow: none;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  ~ :is(.pf-v5-c-table, .pf-v6-c-table)
  :is(.pf-v5-c-badge.pf-m-read, .pf-v6-c-badge.pf-m-read) {
  padding: 0.1875rem 0.5rem;
  color: var(--vimers-primary);
  font-size: 0.6875rem;
  font-weight: 650;
  line-height: 1.2;
  background-color: #eff6ff;
  border: 1px solid #dbeafe;
  border-radius: 999px;
}

/*
 * Keycloak renders bottom pagination as a second Toolbar sibling. Target the
 * outer toolbar (not its nested ToolbarItem) so it closes the same card.
 */
body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  ~ :is(.pf-v5-c-toolbar, .pf-v6-c-toolbar):has(
    :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item).pf-m-pagination
  ) {
  box-sizing: border-box;
  width: calc(100% - (2 * var(--vimers-admin-content-gap)));
  margin: 0 var(--vimers-admin-content-gap)
    var(--vimers-admin-content-gap);
  padding: 0.5rem 0.75rem;
  color: var(--vimers-text-secondary);
  background-color: var(--vimers-card);
  border: 1px solid var(--vimers-border);
  border-top: 0;
  border-radius: 0 0 var(--vimers-admin-card-radius)
    var(--vimers-admin-card-radius);
  box-shadow: var(--vimers-admin-shadow-card);
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  ~ :is(.pf-v5-c-toolbar, .pf-v6-c-toolbar):has(
    :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item).pf-m-pagination
  )
  :is(.pf-v5-c-toolbar__content, .pf-v6-c-toolbar__content) {
  min-height: 2.5rem;
  padding: 0;
}

body[data-page-id="admin"]
  [data-testid="table-toolbar"]:has([data-testid="add-realm"])
  ~ :is(.pf-v5-c-toolbar, .pf-v6-c-toolbar):has(
    :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item).pf-m-pagination
  )
  :is(.pf-v5-c-toolbar__content-section, .pf-v6-c-toolbar__content-section) {
  justify-content: flex-end;
}

@media (max-width: 1280px) {
  body[data-page-id="admin"]
    [data-testid="table-toolbar"]:has([data-testid="add-realm"]),
  body[data-page-id="admin"]
    [data-testid="table-toolbar"]:has([data-testid="add-realm"])
    ~ :is(.pf-v5-c-table, .pf-v6-c-table),
  body[data-page-id="admin"]
    [data-testid="table-toolbar"]:has([data-testid="add-realm"])
    ~ :is(.pf-v5-c-toolbar, .pf-v6-c-toolbar):has(
      :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item).pf-m-pagination
    ) {
    width: calc(100% - 2rem) !important;
    margin-inline: 1rem !important;
  }

  body[data-page-id="admin"]
    [data-testid="table-toolbar"]:has([data-testid="add-realm"])
    :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item):has(
      [data-testid="table-search-input"]
    ) {
    flex-basis: 16rem;
  }
}

/*
 * PageNav's Current realm marker contains nested Label content with its own
 * color token. Keep the text readable even when PatternFly's dark-mode route
 * styles are injected after the theme.
 */
body[data-page-id="admin"]
  .keycloak__page_nav__nav
  [data-testid="currentRealm"] {
  color: #cbd5e1;
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__section-title, .pf-v6-c-nav__section-title)
  :is(.pf-v5-c-label.pf-m-blue, .pf-v6-c-label.pf-m-blue) {
  color: #dbeafe !important;
  background-color: rgb(29 78 216 / 0.28) !important;
  border-color: rgb(147 197 253 / 0.55) !important;
}

body[data-page-id="admin"]
  .keycloak__page_nav__nav
  :is(.pf-v5-c-nav__section-title, .pf-v6-c-nav__section-title)
  :is(.pf-v5-c-label.pf-m-blue, .pf-v6-c-label.pf-m-blue)
  :is(
    .pf-v5-c-label__content,
    .pf-v5-c-label__text,
    .pf-v6-c-label__content,
    .pf-v6-c-label__text
  ) {
  color: inherit !important;
}

@media (max-width: 1024px) {
  body[data-page-id="admin"]
    [data-testid="table-toolbar"]:has([data-testid="add-realm"])
    :is(.pf-v5-c-toolbar__content-section, .pf-v6-c-toolbar__content-section) {
    row-gap: 0.5rem;
  }

  body[data-page-id="admin"]
    [data-testid="table-toolbar"]:has([data-testid="add-realm"])
    :is(.pf-v5-c-toolbar__item, .pf-v6-c-toolbar__item):has(
      [data-testid="table-search-input"]
    ) {
    flex: 1 1 14rem;
  }
}
