.pf-v5-c-page { --pf-v5-c-page--BackgroundColor: #101012; }
.pf-v5-c-masthead { --pf-v5-c-masthead--BackgroundColor: #101012; background: #101012; }
.pf-v5-c-masthead__brand img { max-width: 152px; }
.pf-v5-c-page__main-section { --pf-v5-c-page__main-section--PaddingTop: 24px; --pf-v5-c-page__main-section--PaddingBottom: 24px; }
.pf-v5-c-card { border-radius: 22px; }
.pf-v5-c-form { --pf-v5-c-form--GridGap: 22px; }
.pf-v5-c-form-control, .pf-v5-c-menu-toggle { border-radius: 14px; }
.pf-v5-c-form-control::before, .pf-v5-c-form-control::after,
.pf-v5-c-menu-toggle::before, .pf-v5-c-menu-toggle::after { border-radius: inherit; }
.pf-v5-c-nav { padding-inline: 10px; }
.pf-v5-c-nav__link { border-radius: 14px; margin-block: 4px; }
.pf-v5-c-nav__link.pf-m-current { background: #38241e; color: #fff; }
.pf-v5-c-nav__link.pf-m-current::after { border-color: #ffab77; }
.pf-v5-c-button.pf-m-primary { background: #a94116; color: #fff; border-radius: 999px; }
.pf-v5-c-button.pf-m-primary:hover { background: #84300e; }
.pf-v5-c-button.pf-m-link { color: #ffab77; }
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .pf-v5-c-nav__link, .pf-v5-c-menu-toggle, .pf-v5-c-button {
    transition: background-color 150ms ease-out, color 150ms ease-out;
  }
}
#app > main > .keycloak__loading-container { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; background: #101012; color: #fff; }
#app > main > .keycloak__loading-container .pf-v5-c-spinner { width: 44px; height: 44px; flex: none; }
#app > main > .keycloak__loading-container .pf-v5-c-spinner__path { stroke: #ffab77; stroke-linecap: round; }
#loading-text { margin: 0; }
@media (prefers-reduced-motion: reduce) {
  #app > main > .keycloak__loading-container .pf-v5-c-spinner,
  #app > main > .keycloak__loading-container .pf-v5-c-spinner__path { animation: none; }
}

/* Shared account surfaces */
.pf-v5-c-page {
  --pf-v5-c-page--BackgroundColor: #141416;
  color: #f7f3f1;
}
.pf-v5-c-page__main { background: #171719; }
.pf-v5-c-page__sidebar { background: #1d1c20; }
.pf-v5-c-masthead :is(.pf-v5-c-masthead__main, .pf-v5-c-masthead__content) { background: transparent; }
.pf-v5-c-page__main-section {
  --pf-v5-c-page__main-section--PaddingTop: 18px;
  --pf-v5-c-page__main-section--PaddingBottom: 18px;
  --pf-v5-c-page__main-section--PaddingLeft: clamp(16px, 3vw, 42px);
  --pf-v5-c-page__main-section--PaddingRight: clamp(16px, 3vw, 42px);
}
.pf-v5-c-page__main-section .pf-v5-c-title { font-weight: 650; letter-spacing: -.02em; }
.pf-v5-c-form { --pf-v5-c-form--GridGap: 18px; }
.pf-v5-c-form__actions { margin-block-start: 16px; }
.pf-v5-c-nav { padding: 12px; }
.pf-v5-c-nav__link { margin-block: 3px; border-radius: 14px; }
.pf-v5-c-nav__link.pf-m-current::after { border: 0; }
.pf-v5-c-jump-links__link::before { --pf-v5-c-jump-links__link--before--BackgroundColor: #ffab77; }
.pf-v5-c-jump-links__item.pf-m-current .pf-v5-c-jump-links__link { color: #ffab77; }
.pf-v5-c-button.pf-m-secondary { color: #ffc4a0; border-radius: 999px; }
.pf-v5-c-button.pf-m-secondary::after { border-color: #966148; border-radius: inherit; }
.pf-v5-c-menu-toggle { --pf-v5-c-menu-toggle--after--BorderBottomColor: #74615a; }
.pf-v5-c-menu {
  --pf-v5-c-menu--BackgroundColor: #272529;
  border-radius: 16px;
  padding: 5px;
}
.pf-v5-c-menu__item { border-radius: 10px; }
.pf-v5-c-menu__item:hover { background: #383039; }
.pf-v5-c-card, .pf-v5-c-data-list { border-radius: 18px; }
.pf-v5-c-table { --pf-v5-c-table--BackgroundColor: #1d1c20; border-radius: 18px; }
.pf-v5-c-page :focus-visible { outline: 2px solid #ffab77; outline-offset: 2px; }

@media (prefers-reduced-motion: no-preference) {
  .pf-v5-c-menu { animation: podtur-menu-in 150ms cubic-bezier(.2,.75,.25,1) both; }
  @keyframes podtur-menu-in {
    from { opacity: 0; translate: 0 -4px; }
    to { opacity: 1; translate: 0 0; }
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  .pf-v5-c-button.pf-m-primary, .pf-v5-c-button.pf-m-secondary { transition: background-color 150ms ease-out, scale 100ms ease-out; }
  .pf-v5-c-button:is(.pf-m-primary, .pf-m-secondary):enabled:active { scale: .98; }
}

/* Podtur loading indicators, including inline PatternFly spinners. */
:where(.pf-v5-c-spinner, .pf-v6-c-spinner) {
  box-sizing: border-box;
  border: .14em solid #98674e;
  border-top-color: #ffab77;
  border-radius: 50%;
  color: #ffab77;
  animation: podtur-ring-spin 850ms linear infinite !important;
}
:where(.pf-v5-c-spinner, .pf-v6-c-spinner) > * { visibility: hidden; }
#app > main > .keycloak__loading-container {
  background: #101012 url('podtur.svg') center calc(50% - 68px) / 130px auto no-repeat;
}
#app > main > .keycloak__loading-container :is(.pf-v5-c-spinner, .pf-v6-c-spinner) {
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 24px);
  width: 48px;
  height: 48px;
  border-width: 3px;
}
#app > main > .keycloak__loading-container #loading-text { margin-top: 94px; color: #e8dfda; }
@keyframes podtur-ring-spin { to { rotate: 1turn; } }
@media (prefers-reduced-motion: reduce) {
  :is(.pf-v5-c-spinner, .pf-v6-c-spinner) { animation: none !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .pf-v5-c-menu { animation-duration: 180ms; }
}

/* React replaces the server loading markup with a bare spinner during startup. */
body[data-page-id="account"] #app:not(:has(.pf-v5-c-page, .pf-v6-c-page)) :is(.pf-v5-c-spinner, .pf-v6-c-spinner) {
  position: fixed;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
  width: 48px;
  height: 48px;
  margin: 0;
  border-width: 3px;
}

/* Delay only in-panel spinners; startup feedback stays immediate. */
body[data-page-id="account"] #app :is(.pf-v5-c-page, .pf-v6-c-page) :is(.pf-v5-c-spinner, .pf-v6-c-spinner) {
  animation: podtur-ring-spin 850ms linear infinite, podtur-inline-reveal 120ms ease-out 1100ms both !important;
}
@keyframes podtur-inline-reveal {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page-id="account"] #app :is(.pf-v5-c-page, .pf-v6-c-page) :is(.pf-v5-c-spinner, .pf-v6-c-spinner) {
    animation: podtur-inline-reveal 1ms steps(1, end) 1100ms both !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :is(.content, .login-pf-page .card-pf) {
    animation: podtur-enter 210ms cubic-bezier(.2,.75,.25,1) both !important;
  }
  :is(.launch, #kc-content input, #kc-content button, #kc-locale-current,
      .pf-v5-c-nav__link, .pf-v5-c-button, .pf-v5-c-menu-toggle, .pf-v5-c-menu__item) {
    transition: background-color 150ms ease-out, border-color 150ms ease-out, color 150ms ease-out !important;
  }
}
@keyframes podtur-enter {
  from { opacity: .65; translate: 0 6px; }
  to { opacity: 1; translate: 0 0; }
}

.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: #19181b;
  background: #19181b;
  border-bottom: 1px solid #343036;
  padding-inline: clamp(12px, 2vw, 26px);
}
.pf-v5-c-masthead .pf-v5-c-toolbar { background: transparent; }
.pf-v5-c-masthead .pf-v5-c-menu-toggle { min-height: 40px; padding-inline: 14px; }
.pf-v5-c-masthead .pf-v5-c-menu { margin-block-start: 8px; min-width: 132px; }
#nav-toggle {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 14px;
  color: #faf3ee;
}
#nav-toggle:hover { background: #353038; }
#nav-toggle svg { opacity: 0; }
#nav-toggle::before, #nav-toggle::after {
  content: "";
  position: absolute;
  width: 18px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  pointer-events: none;
}
#nav-toggle::before { transform: translateY(-6px); box-shadow: 0 6px currentColor; }
#nav-toggle::after { transform: translateY(6px); }
#nav-toggle[aria-expanded="true"]::before { transform: rotate(45deg); box-shadow: 0 0 transparent; }
#nav-toggle[aria-expanded="true"]::after { transform: rotate(-45deg); }
@media (prefers-reduced-motion: no-preference) {
  #nav-toggle::before, #nav-toggle::after { transition: transform 180ms ease-out, box-shadow 140ms ease-out; }
}

#nav-toggle::before, #nav-toggle::after {
  inset: calc(50% - 1px) auto auto calc(50% - 9px);
  border: 0;
  margin: 0;
  transform-origin: center;
}
#nav-toggle::before { box-shadow: 0 6px 0 currentColor; }
#nav-toggle[aria-expanded="true"]::before { box-shadow: none; }
.pf-v5-c-jump-links {
  padding: 14px;
  border-radius: 18px;
  background: #222125;
}
.pf-v5-c-jump-links__label { margin-bottom: 8px; color: #dfd7d3; font-size: 14px; }
.pf-v5-c-jump-links__list { border: 0; }
.pf-v5-c-jump-links__link { padding: 9px 12px; border-radius: 10px; }
.pf-v5-c-jump-links__item.pf-m-current > .pf-v5-c-jump-links__link { background: #38241e; color: #ffd1b3; }
.pf-v5-c-jump-links__link::before { background: transparent !important; }
.pf-v5-c-jump-links__item::before { background: transparent !important; }
.pf-v5-c-form h2 { margin-block: 0 12px; }

.pf-v5-c-form__group:has([data-testid="locale-select"]) .pf-v5-c-menu__list > .pf-v5-c-menu__list-item:first-child { display: none; }
.pf-v5-c-jump-links:has(.pf-v5-c-jump-links__item:only-child) { display: none; }

.pf-v5-c-alert-group.pf-m-toast {
  inset-block-start: 84px;
  inset-inline-end: clamp(12px, 3vw, 28px);
  width: min(410px, calc(100% - 24px));
}
.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert {
  border: 1px solid #4b4148;
  border-radius: 18px;
  background: #29252b;
  box-shadow: 0 10px 28px #0005;
}
.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert__title { color: #fff6ef; line-height: 1.45; }
.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert__action .pf-v5-c-button { border-radius: 10px; color: #fff6ef; }
.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert__action .pf-v5-c-button:hover { background: #413942; }
@media (prefers-reduced-motion: no-preference) {
  .pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert { animation: podtur-toast-in 190ms cubic-bezier(.2,.75,.25,1) both; }
}
@keyframes podtur-toast-in {
  from { opacity: 0; transform: translateY(-8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
