/* Keycloak 26.7.4 / PatternFly 5. Presentation only: retain native layouts,
 * dialogs, alerts, focus order, navigation and authentication behavior. */
:root, .pf-v5-theme-dark {
  --ip-bg: #f5f1ea;
  --ip-panel: #fffcf7;
  --ip-soft: #f4efe8;
  --ip-line: #ded8ce;
  --ip-text: #343530;
  --ip-muted: #585d59;
  --ip-accent: #78530b;
  --ip-gold: #e7bd4a;
  --ip-on-gold: #32270f;
  --pf-v5-global--Color--100: var(--ip-text);
  --pf-v5-global--Color--200: var(--ip-muted);
  --pf-v5-global--BackgroundColor--100: var(--ip-panel);
  --pf-v5-global--BackgroundColor--200: var(--ip-soft);
  --pf-v5-global--BackgroundColor--300: var(--ip-bg);
  --pf-v5-global--BorderColor--100: var(--ip-line);
  --pf-v5-global--BorderColor--200: var(--ip-line);
  --pf-v5-global--primary-color--100: var(--ip-accent);
  --pf-v5-global--primary-color--200: var(--ip-accent);
  --pf-v5-global--link--Color: var(--ip-accent);
  --pf-v5-global--link--Color--hover: var(--ip-accent);
  --pf-v5-global--active-color--100: var(--ip-accent);
  --pf-v5-global--FontFamily--text: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pf-v5-global--FontFamily--heading: var(--pf-v5-global--FontFamily--text);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root, .pf-v5-theme-dark {
    --ip-bg: #202123;
    --ip-panel: #292a2d;
    --ip-soft: #303134;
    --ip-line: #414245;
    --ip-text: #f3eee5;
    --ip-muted: #cbc6bd;
    --ip-accent: #f0ca63;
    color-scheme: dark;
  }
}

body[data-page-id="account"], body[data-page-id="admin"] {
  color: var(--ip-text);
  background: var(--ip-bg);
  font-family: var(--pf-v5-global--FontFamily--text);
  -webkit-font-smoothing: antialiased;
}

.pf-v5-c-page {
  --pf-v5-c-page--BackgroundColor: var(--ip-bg);
  --pf-v5-c-page__main-section--BackgroundColor: var(--ip-panel);
  --pf-v5-c-page__sidebar--BackgroundColor: var(--ip-soft);
  --pf-v5-c-page__sidebar--BorderColor: var(--ip-line);
}

.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: #202123;
  --pf-v5-c-masthead--Color: #f3eee5;
  color: #f3eee5;
  border-bottom: 1px solid #414245;
}
.pf-v5-c-masthead .pf-v5-c-toolbar { background: transparent; }
.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain,
.pf-v5-c-masthead .pf-v5-c-menu-toggle {
  color: #f3eee5;
  --pf-v5-c-menu-toggle--Color: #f3eee5;
  --pf-v5-c-menu-toggle--BackgroundColor: #292a2d;
}
.pf-v5-c-masthead__brand img { width: 204px; max-width: 100%; height: 40px; object-fit: contain; }

.pf-v5-c-page__sidebar { background: var(--ip-soft); border-inline-end: 1px solid var(--ip-line); }
.pf-v5-c-nav {
  --pf-v5-c-nav__link--Color: var(--ip-text);
  --pf-v5-c-nav__link--hover--Color: var(--ip-text);
  --pf-v5-c-nav__link--focus--Color: var(--ip-text);
  --pf-v5-c-nav__link--m-current--Color: var(--ip-on-gold);
  --pf-v5-c-nav__link--m-current--BackgroundColor: var(--ip-gold);
  --pf-v5-c-nav__link--hover--BackgroundColor: var(--ip-panel);
  --pf-v5-c-nav__link--focus--BackgroundColor: var(--ip-panel);
  --pf-v5-c-nav__link--before--BorderColor: var(--ip-line);
  --pf-v5-c-nav__link--m-current--after--BorderColor: var(--ip-accent);
  --pf-v5-c-nav__section-title--Color: var(--ip-muted);
}
.pf-v5-c-nav__link.pf-m-current { color: var(--ip-on-gold); background: var(--ip-gold); font-weight: 650; }
.pf-v5-c-nav__link:hover { background: var(--ip-panel); color: var(--ip-text); }
.pf-v5-c-nav__link.pf-m-current:hover { background: var(--ip-gold); color: var(--ip-on-gold); }

.pf-v5-c-page__main-section {
  background-color: var(--ip-panel);
  background-image: radial-gradient(ellipse at 95% 0%, rgba(231, 189, 74, .10), transparent 50%);
}
.pf-v5-c-title { color: var(--ip-text); letter-spacing: -.025em; }
.pf-v5-c-card { --pf-v5-c-card--BackgroundColor: var(--ip-panel); border: 1px solid var(--ip-line); border-radius: 12px; }
.pf-v5-c-data-list, .pf-v5-c-table {
  --pf-v5-c-data-list--BackgroundColor: var(--ip-panel);
  --pf-v5-c-data-list__item--BorderTopColor: var(--ip-line);
  --pf-v5-c-data-list__item--BorderBottomColor: var(--ip-line);
  --pf-v5-c-table--BackgroundColor: var(--ip-panel);
  --pf-v5-c-table--Color: var(--ip-text);
}
#applications-list { border: 1px solid var(--ip-line); border-radius: 12px; }
#applications-list .pf-v5-c-data-list__item { background: var(--ip-panel); }
#applications-list .pf-v5-c-data-list__item:first-child { background: var(--ip-soft); border-radius: 12px 12px 0 0; }

.pf-v5-c-button.pf-m-primary:not(.pf-m-danger) {
  --pf-v5-c-button--m-primary--BackgroundColor: var(--ip-gold);
  --pf-v5-c-button--m-primary--Color: var(--ip-on-gold);
  --pf-v5-c-button--m-primary--hover--BackgroundColor: #dbae32;
  --pf-v5-c-button--m-primary--hover--Color: var(--ip-on-gold);
  --pf-v5-c-button--m-primary--focus--BackgroundColor: var(--ip-gold);
  --pf-v5-c-button--m-primary--focus--Color: var(--ip-on-gold);
  border-radius: 8px;
}
.pf-v5-c-button.pf-m-link { color: var(--ip-accent); }
.pf-v5-c-button.pf-m-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.pf-v5-c-form-control { --pf-v5-c-form-control--BackgroundColor: var(--ip-panel); --pf-v5-c-form-control--Color: var(--ip-text); }
.keycloak__loading-container { color: var(--ip-text); background: var(--ip-bg); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--ip-accent);
  outline-offset: 3px;
}
.pf-v5-c-masthead :where(a, button):focus-visible { outline-color: var(--ip-gold); }

@media (max-width: 480px) {
  .pf-v5-c-masthead__brand img { width: 152px; height: 34px; }
  #applications-list .pf-v5-c-data-list__cell { overflow-wrap: anywhere; }
}

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