@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:wght@400;600;700&family=Figtree:wght@300;400;500;600&display=swap');

/* ========== PATTERNFLY 5 VARIABLE OVERRIDES ========== */

:root {
  --wk-navy: #0C1929;
  --wk-navy-mid: #132640;
  --wk-navy-light: #1B3455;
  --wk-blue: #1565A6;
  --wk-blue-light: #4A90C4;
  --wk-cream: #FAF8F2;
  --wk-cream-warm: #F0EDE4;
  --wk-gold: #B8973A;
  --wk-gold-light: #D4B85C;
  --wk-text: #1A1F2E;
  --wk-text-muted: #5A6478;
  --wk-border: #D6CFC0;

  --pf-v5-global--primary-color--100: var(--wk-blue) !important;
  --pf-v5-global--primary-color--200: var(--wk-blue-light) !important;
  --pf-v5-global--link--Color: var(--wk-blue) !important;
  --pf-v5-global--link--Color--hover: var(--wk-navy) !important;
  --pf-v5-global--FontFamily--sans-serif: 'Figtree', system-ui, sans-serif !important;
  --pf-v5-global--FontFamily--heading--sans-serif: 'Figtree', system-ui, sans-serif !important;

  --pf-v5-global--BackgroundColor--100: var(--wk-cream) !important;
  --pf-v5-global--BackgroundColor--200: var(--wk-cream-warm) !important;
  --pf-v5-global--BackgroundColor--light-100: var(--wk-cream) !important;
  --pf-v5-global--BackgroundColor--light-200: var(--wk-cream-warm) !important;
  --pf-v5-global--BackgroundColor--light-300: var(--wk-cream-warm) !important;

  --pf-v5-global--Color--100: var(--wk-text) !important;
  --pf-v5-global--Color--200: var(--wk-text-muted) !important;

  --pf-v5-global--BorderColor--100: var(--wk-border) !important;
  --pf-v5-global--BorderColor--200: var(--wk-border) !important;

  --pf-v5-c-page--BackgroundColor: var(--wk-cream-warm) !important;
  --pf-v5-c-page__main-section--BackgroundColor: var(--wk-cream) !important;
  --pf-v5-c-page__sidebar--BackgroundColor: var(--wk-navy-mid) !important;
  --pf-v5-c-masthead--BackgroundColor: var(--wk-navy) !important;

  --pf-v5-c-form-control--BackgroundColor: #fff !important;
  --pf-v5-c-form-control--BorderTopColor: var(--wk-border) !important;
  --pf-v5-c-form-control--BorderRightColor: var(--wk-border) !important;
  --pf-v5-c-form-control--BorderBottomColor: var(--wk-border) !important;
  --pf-v5-c-form-control--BorderLeftColor: var(--wk-border) !important;
  --pf-v5-c-form-control--Color: var(--wk-text) !important;

  --pf-v5-c-nav__link--Color: rgba(250, 248, 242, 0.8) !important;
  --pf-v5-c-nav__link--hover--Color: var(--wk-cream) !important;
  --pf-v5-c-nav__link--m-current--Color: var(--wk-cream) !important;
}

body {
  font-family: 'Figtree', system-ui, sans-serif !important;
  color-scheme: light !important;
}

/* Force light mode — override PF5 dark theme class and media query */
.pf-v5-theme-dark,
html.pf-v5-theme-dark,
[data-pf-theme="dark"] {
  --pf-v5-global--BackgroundColor--100: var(--wk-cream) !important;
  --pf-v5-global--BackgroundColor--200: var(--wk-cream-warm) !important;
  --pf-v5-global--Color--100: var(--wk-text) !important;
  --pf-v5-global--Color--200: var(--wk-text-muted) !important;
  --pf-v5-global--BorderColor--100: var(--wk-border) !important;
  --pf-v5-global--primary-color--100: var(--wk-blue) !important;
  --pf-v5-global--link--Color: var(--wk-blue) !important;
  color-scheme: light !important;
}

@media (prefers-color-scheme: dark) {
  :root {
    --pf-v5-global--BackgroundColor--100: var(--wk-cream) !important;
    --pf-v5-global--BackgroundColor--200: var(--wk-cream-warm) !important;
    --pf-v5-global--Color--100: var(--wk-text) !important;
    --pf-v5-global--Color--200: var(--wk-text-muted) !important;
    --pf-v5-global--BorderColor--100: var(--wk-border) !important;
    color-scheme: light !important;
  }
}

/* ========== MASTHEAD ========== */

.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: var(--wk-navy) !important;
  background: var(--wk-navy) !important;
  border-bottom: 3px solid var(--wk-gold) !important;
}

.pf-v5-c-masthead__brand img {
  content: url("../img/weberknecht_wide.svg") !important;
  height: 36px !important;
  width: auto !important;
  filter: brightness(1.8) contrast(0.9) !important;
}

.pf-v5-c-masthead__brand {
  color: var(--wk-cream) !important;
  background: transparent !important;
}

/* Fill masthead background on all structural children */
.pf-v5-c-masthead__main,
.pf-v5-c-masthead__content,
.pf-v5-c-masthead__toggle,
.pf-v5-c-masthead__brand,
.pf-v5-c-toolbar,
.pf-v5-c-toolbar__content,
.pf-v5-c-toolbar__content-section,
.pf-v5-c-toolbar__group,
.pf-v5-c-toolbar__item,
.pf-v5-c-masthead .pf-v5-c-toolbar,
.pf-v5-c-masthead .pf-v5-c-toolbar__content,
.pf-v5-c-masthead .pf-v5-c-toolbar__content-section,
.pf-v5-c-masthead .pf-v5-c-toolbar__group,
.pf-v5-c-masthead .pf-v5-c-toolbar__item {
  background-color: var(--wk-navy) !important;
}

.pf-v5-c-masthead__toggle .pf-v5-c-button {
  color: var(--wk-cream) !important;
}

.pf-v5-c-masthead__toggle .pf-v5-c-button:hover {
  color: var(--wk-gold-light) !important;
}

.pf-v5-c-masthead .pf-v5-c-button,
.pf-v5-c-masthead .pf-v5-c-menu-toggle {
  color: var(--wk-cream) !important;
}

.pf-v5-c-masthead .pf-v5-c-menu-toggle:hover {
  color: var(--wk-gold-light) !important;
}

.pf-v5-c-masthead .pf-v5-c-menu-toggle {
  background-color: transparent !important;
  border-color: rgba(250, 248, 242, 0.3) !important;
}

.pf-v5-c-masthead .pf-v5-c-menu-toggle__text {
  color: var(--wk-cream) !important;
}

.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain {
  color: var(--wk-cream) !important;
}

/* ========== SIDEBAR ========== */

.pf-v5-c-page__sidebar {
  --pf-v5-c-page__sidebar--BackgroundColor: var(--wk-navy-mid) !important;
  background: var(--wk-navy-mid) !important;
}

.pf-v5-c-page__sidebar-body {
  background: var(--wk-navy-mid) !important;
}

.pf-v5-c-nav__link {
  color: rgba(250, 248, 242, 0.8) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
}

.pf-v5-c-nav__link:hover {
  color: var(--wk-cream) !important;
  background-color: var(--wk-navy-light) !important;
}

.pf-v5-c-nav__link.pf-m-current,
.pf-v5-c-nav__item.pf-m-current > .pf-v5-c-nav__link {
  color: var(--wk-cream) !important;
  background-color: var(--wk-navy-light) !important;
  font-weight: 600 !important;
}

.pf-v5-c-nav__link.pf-m-current::after,
.pf-v5-c-nav__item.pf-m-current > .pf-v5-c-nav__link::after,
.pf-v5-c-nav__link::after {
  background-color: var(--wk-gold) !important;
}

.pf-v5-c-nav__section-title {
  color: rgba(250, 248, 242, 0.5) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.08em !important;
}

.pf-v5-c-nav__link .pf-v5-c-nav__toggle-icon {
  color: rgba(250, 248, 242, 0.5) !important;
}

/* Expandable sub-nav */
.pf-v5-c-nav__subnav {
  --pf-v5-c-nav__subnav--BackgroundColor: var(--wk-navy-light) !important;
  background-color: var(--wk-navy-light) !important;
}

.pf-v5-c-page__sidebar section.pf-v5-c-nav__subnav,
.pf-v5-c-page__sidebar .pf-v5-c-nav__item.pf-m-expanded section,
.pf-v5-c-page__sidebar .pf-v5-c-nav__item.pf-m-expanded ul {
  background-color: var(--wk-navy-light) !important;
}

.pf-v5-c-nav__subnav .pf-v5-c-nav__link,
.pf-v5-c-nav__item.pf-m-expanded .pf-v5-c-nav__list .pf-v5-c-nav__link {
  color: rgba(250, 248, 242, 0.8) !important;
}

.pf-v5-c-nav__subnav .pf-v5-c-nav__link:hover,
.pf-v5-c-nav__item.pf-m-expanded .pf-v5-c-nav__list .pf-v5-c-nav__link:hover {
  color: var(--wk-cream) !important;
  background-color: var(--wk-navy) !important;
}

.pf-v5-c-nav__link:focus,
.pf-v5-c-nav__link:focus-visible,
.pf-v5-c-nav__link:focus-within,
.pf-v5-c-page__sidebar .pf-v5-c-nav__link:focus,
.pf-v5-c-page__sidebar button.pf-v5-c-nav__link:focus {
  background-color: var(--wk-navy-light) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ========== MAIN CONTENT ========== */

.pf-v5-c-page {
  background: var(--wk-cream-warm) !important;
}

.pf-v5-c-page__main {
  background: var(--wk-cream) !important;
}

.pf-v5-c-page__main-section {
  background: var(--wk-cream) !important;
}

/* ========== TEXT COLORS ========== */

.pf-v5-c-page__main,
.pf-v5-c-page__main-section,
.pf-v5-c-page__main p,
.pf-v5-c-page__main span,
.pf-v5-c-page__main div,
.pf-v5-c-page__main li,
.pf-v5-c-page__main td,
.pf-v5-c-page__main th,
.pf-v5-c-page__main dt,
.pf-v5-c-page__main dd,
.pf-v5-c-page__main label,
.pf-v5-c-page__main strong {
  color: var(--wk-text) !important;
}

.pf-v5-c-content small,
.pf-v5-c-page__main small,
.pf-v5-c-helper-text__item-text {
  color: var(--wk-text-muted) !important;
}

.pf-v5-c-content p {
  color: var(--wk-text-muted) !important;
}

h1, h2, h3, h4,
.pf-v5-c-title {
  font-family: 'Crimson Pro', Georgia, serif !important;
  color: var(--wk-navy) !important;
}

/* ========== FORM ELEMENTS ========== */

.pf-v5-c-form-control {
  font-family: 'Figtree', system-ui, sans-serif !important;
  background-color: #fff !important;
  border-color: var(--wk-border) !important;
  border-radius: 6px !important;
  color: var(--wk-text) !important;
}

.pf-v5-c-form-control input,
.pf-v5-c-form-control select,
.pf-v5-c-form-control textarea {
  background-color: #fff !important;
  color: var(--wk-text) !important;
}

.pf-v5-c-form-control:focus-within {
  border-color: var(--wk-blue) !important;
  box-shadow: 0 0 0 3px rgba(21, 101, 166, 0.12) !important;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="number"],
select,
textarea {
  background-color: #fff !important;
  color: var(--wk-text) !important;
  border-color: var(--wk-border) !important;
}

.pf-v5-c-form__label-text,
.pf-v5-c-form__label {
  font-family: 'Figtree', system-ui, sans-serif !important;
  font-weight: 500 !important;
  color: var(--wk-text) !important;
}

/* ========== BUTTONS ========== */

.pf-v5-c-button.pf-m-primary {
  background-color: var(--wk-navy) !important;
  border-bottom: 2px solid var(--wk-gold) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  transition: all 0.2s ease !important;
}

.pf-v5-c-button.pf-m-primary:hover {
  background-color: var(--wk-navy-light) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 8px rgba(12, 25, 41, 0.3) !important;
}

/* Link-style buttons (Refresh, Import client, etc.) */
.pf-v5-c-button.pf-m-link {
  color: var(--wk-cream) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
  background-color: transparent !important;
  border: 1px solid rgba(250, 248, 242, 0.4) !important;
  border-radius: 6px !important;
  padding: 6px 16px !important;
}

.pf-v5-c-button.pf-m-link:hover {
  color: #fff !important;
  border-color: var(--wk-cream) !important;
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* Link buttons inside main content area — dark text on light bg */
.pf-v5-c-page__main .pf-v5-c-button.pf-m-link {
  color: var(--wk-blue) !important;
  border-color: var(--wk-border) !important;
}

.pf-v5-c-page__main .pf-v5-c-button.pf-m-link:hover {
  color: var(--wk-navy) !important;
  border-color: var(--wk-navy) !important;
  background-color: var(--wk-cream-warm) !important;
}

.pf-v5-c-button.pf-m-secondary,
.pf-v5-c-button.pf-m-tertiary {
  color: var(--wk-navy) !important;
  border-color: var(--wk-navy) !important;
}

.pf-v5-c-button.pf-m-danger {
  background-color: #B91C1C !important;
  color: #fff !important;
}

/* ========== DROPDOWNS / MENUS ========== */

.pf-v5-c-menu-toggle {
  background-color: #fff !important;
  color: var(--wk-text) !important;
  border-color: var(--wk-border) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
}

.pf-v5-c-menu-toggle__text {
  color: var(--wk-text) !important;
}

.pf-v5-c-menu-toggle__controls,
.pf-v5-c-menu-toggle__toggle-icon {
  color: var(--wk-text-muted) !important;
}

.pf-v5-c-masthead .pf-v5-c-menu-toggle {
  background-color: transparent !important;
  border-color: transparent !important;
}

.pf-v5-c-masthead .pf-v5-c-menu-toggle__text {
  color: var(--wk-cream) !important;
}

.pf-v5-c-menu,
.pf-v5-c-dropdown__menu {
  font-family: 'Figtree', system-ui, sans-serif !important;
  background-color: #fff !important;
  color: var(--wk-text) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

.pf-v5-c-menu__item,
.pf-v5-c-menu__item-text {
  color: var(--wk-text) !important;
}

.pf-v5-c-menu__item:hover {
  background-color: var(--wk-cream-warm) !important;
}

/* ========== CARDS ========== */

.pf-v5-c-card {
  border-color: var(--wk-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}

/* ========== TABLES ========== */

.pf-v5-c-table {
  font-family: 'Figtree', system-ui, sans-serif !important;
}

.pf-v5-c-table thead th {
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.06em !important;
  color: var(--wk-text-muted) !important;
}

.pf-v5-c-table td,
.pf-v5-c-table th,
.pf-v5-c-table__text {
  color: var(--wk-text) !important;
}

/* ========== BADGES ========== */

.pf-v5-c-badge {
  color: var(--wk-navy) !important;
}

.pf-v5-c-badge.pf-m-read {
  background-color: var(--wk-cream-warm) !important;
  color: var(--wk-text) !important;
}

/* ========== TABS ========== */

.pf-v5-c-tabs__link::after {
  background-color: var(--wk-blue) !important;
}

.pf-v5-c-tabs__link {
  font-family: 'Figtree', system-ui, sans-serif !important;
}

/* ========== BREADCRUMBS ========== */

.pf-v5-c-breadcrumb__link {
  color: var(--wk-blue) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
}

/* ========== ALERTS ========== */

.pf-v5-c-alert.pf-m-success {
  --pf-v5-c-alert--BackgroundColor: #F0FDF4 !important;
}

.pf-v5-c-alert.pf-m-danger {
  --pf-v5-c-alert--BackgroundColor: #FDF2F2 !important;
}

/* ========== WARNING BANNER (temporary admin user) ========== */

.pf-v5-c-alert.pf-m-warning,
.pf-v5-c-page > .pf-v5-c-alert {
  background-color: #FEF3C7 !important;
  color: #92400E !important;
  border-color: #FDE68A !important;
}

.pf-v5-c-page > .pf-v5-c-alert *,
.pf-v5-c-alert.pf-m-warning * {
  color: #92400E !important;
}

/* ========== SIDEBAR: realm label, section headers, badge ========== */

/* "KEYCLOAK" text above the realm selector */
.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title,
.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle__text,
.pf-v5-c-page__sidebar .pf-m-plain .pf-v5-c-menu-toggle__text {
  color: rgba(250, 248, 242, 0.5) !important;
}

/* "CURRENT REALM" badge */
.pf-v5-c-label.pf-m-compact,
.pf-v5-c-page__sidebar .pf-v5-c-label,
.pf-v5-c-page__sidebar .pf-v5-c-label__content,
.pf-v5-c-page__sidebar .pf-v5-c-label__text {
  background-color: var(--wk-gold) !important;
  color: var(--wk-navy) !important;
  border-color: var(--wk-gold) !important;
  font-weight: 600 !important;
  font-size: 0.65rem !important;
  padding: 2px 8px !important;
  letter-spacing: 0.04em !important;
}

/* "MANAGE" / "CONFIGURE" section dividers */
.pf-v5-c-nav__section-title,
.pf-v5-c-page__sidebar h2,
.pf-v5-c-page__sidebar h3 {
  color: rgba(250, 248, 242, 0.45) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.1em !important;
}

/* ========== PAGINATION DROPDOWNS ========== */

.pf-v5-c-menu-toggle.pf-m-plain {
  color: var(--wk-text) !important;
}

/* Pagination in main content — not sidebar */
.pf-v5-c-page__main .pf-v5-c-menu-toggle {
  background-color: #fff !important;
  color: var(--wk-text) !important;
  border-color: var(--wk-border) !important;
}

/* Pagination arrows */
.pf-v5-c-pagination__nav-control .pf-v5-c-button {
  color: var(--wk-text-muted) !important;
}

/* ========== TOGGLE SWITCHES ========== */

.pf-v5-c-switch__label {
  color: var(--wk-text) !important;
}

.pf-v5-c-switch__input:checked ~ .pf-v5-c-switch__toggle {
  background-color: var(--wk-blue) !important;
}

/* ========== INFO/HELP ICONS ========== */

.pf-v5-c-button.pf-m-plain {
  color: var(--wk-text-muted) !important;
}

.pf-v5-c-page__main .pf-v5-c-button.pf-m-plain:hover {
  color: var(--wk-blue) !important;
}

/* ========== KEBAB MENUS (three dots) ========== */

.pf-v5-c-table .pf-v5-c-menu-toggle.pf-m-plain {
  background-color: transparent !important;
  border-color: transparent !important;
  color: var(--wk-text-muted) !important;
}

/* ========== TOOLBAR (search, filter area) ========== */

.pf-v5-c-toolbar,
.pf-v5-c-toolbar__content,
.pf-v5-c-toolbar__content-section,
.pf-v5-c-toolbar__group,
.pf-v5-c-toolbar__item {
  background-color: var(--wk-cream) !important;
}

/* Exception: masthead toolbar stays navy */
.pf-v5-c-masthead .pf-v5-c-toolbar,
.pf-v5-c-masthead .pf-v5-c-toolbar__content,
.pf-v5-c-masthead .pf-v5-c-toolbar__content-section,
.pf-v5-c-masthead .pf-v5-c-toolbar__group,
.pf-v5-c-masthead .pf-v5-c-toolbar__item {
  background-color: var(--wk-navy) !important;
}

/* ========== EMPTY STATES ========== */

.pf-v5-c-empty-state,
.pf-v5-c-empty-state__body {
  color: var(--wk-text-muted) !important;
}

/* ========== CHIP / LABEL ========== */

.pf-v5-c-label,
.pf-v5-c-label__content,
.pf-v5-c-label__text,
.pf-v5-c-chip__text {
  color: var(--wk-text) !important;
}

/* ========== ACTION DROPDOWN ========== */

.pf-v5-c-page__main .pf-v5-c-menu-toggle.pf-m-secondary {
  color: var(--wk-navy) !important;
  border-color: var(--wk-navy) !important;
  background-color: transparent !important;
}

/* Toggle "Enabled" label — dark on light bg */
.pf-v5-c-switch__label,
.pf-v5-c-switch__text {
  color: var(--wk-text) !important;
}

/* ========== SEARCH INPUT ========== */

.pf-v5-c-search-input {
  --pf-v5-c-search-input--BackgroundColor: #fff !important;
}

.pf-v5-c-search-input__text-input {
  background-color: #fff !important;
  color: var(--wk-text) !important;
}
