/* Palette sampled from source-graphrobin.jpg; inherit Keycloak's accessible forms. */
:root, :root.pf-v5-theme-dark {
  color-scheme: light;
  --brand-navy: #182d4a;
  --brand-rust: #c94c16;
  --brand-teal: #3e7d72;
  --brand-paper: #faf9f4;
  --pf-v5-global--Color--100: #182d4a;
  --pf-v5-global--Color--200: #5c6a73;
  --pf-v5-global--BackgroundColor--100: #faf9f4;
  --pf-v5-global--BackgroundColor--200: #f1f4ee;
  --pf-v5-global--primary-color--100: #c94c16;
  --pf-v5-global--primary-color--200: #a63e12;
  --pf-v5-global--link--Color: #316d63;
  --pf-v5-global--link--Color--hover: #182d4a;
  --pf-v5-global--FontFamily--text: system-ui, -apple-system, sans-serif;
  --pf-v5-global--FontFamily--heading: system-ui, -apple-system, sans-serif;
}
html, body#keycloak-bg {
  min-height: 100%;
  color: var(--brand-navy);
  background: radial-gradient(ellipse at 15% 0%, #e5efea 0, transparent 50%), var(--brand-paper);
  font-family: system-ui, -apple-system, sans-serif;
}
.pf-v5-c-login { min-height: 100dvh; padding: 24px 16px; background: transparent; }
.pf-v5-c-login__container {
  width: min(100%, 460px);
  margin: auto;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: 'header' 'main';
  gap: 0;
  padding: 20px 0 0;
  background: var(--brand-paper);
  border: 1px solid #dce5de;
  border-radius: 20px;
  box-shadow: 0 18px 56px rgb(24 45 74 / 8%);
  overflow: hidden;
}
.pf-v5-c-login__header { padding: 0 24px; margin: 0; }
#kc-header-wrapper { color: var(--brand-navy) !important; letter-spacing: normal; line-height: 1; }
#kc-header-wrapper img {
  display: block;
  height: 180px !important;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.pf-v5-c-login__main { background: transparent; color: var(--brand-navy); box-shadow: none; }
.pf-v5-c-login__main-header { padding: 18px 32px 24px; grid-template-columns: minmax(0, 1fr) auto; }
#kc-page-title { font-size: 23px; font-weight: 600; letter-spacing: -.025em; }
.pf-v5-c-login__main-body { padding: 0 32px 28px; }
.pf-v5-c-form-control { background: #fffefb; color: var(--brand-navy); border-radius: 6px; }
.pf-v5-c-form-control input { min-height: 42px; color: var(--brand-navy); }
.pf-v5-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--BackgroundColor: #c94c16;
  --pf-v5-c-button--m-primary--hover--BackgroundColor: #a63e12;
  background-color: var(--brand-rust);
  color: white;
  min-height: 44px;
  border-radius: 7px;
  font-weight: 600;
}
.pf-v5-c-button.pf-m-primary:hover { background-color: #a63e12; }
a { color: #316d63; }
a:hover { color: var(--brand-navy); text-decoration: underline; }
:where(a, button, input, select):focus-visible { outline: 3px solid var(--brand-teal); outline-offset: 3px; }
.pf-v5-c-login__main-footer-band { background: #edf2eb; color: var(--brand-navy); }
@media (max-width: 480px) {
  .pf-v5-c-login { padding: 16px 12px; }
  .pf-v5-c-login__main-header { padding: 16px 24px 20px; }
  .pf-v5-c-login__main-body { padding: 0 24px 24px; }
  #kc-header-wrapper img { height: 160px !important; }
}
.pf-v5-c-input-group .pf-v5-c-button.pf-m-control { background: #fffefb; color: var(--brand-navy); min-height: 42px; }
.pf-v5-c-form-control:not(.pf-m-error):focus-within::after { border-bottom-color: var(--brand-teal); }
.registration-paused { padding:20px 32px; border-top:1px solid #dce5de; background:#edf2eb; color:#182d4a; }
.registration-paused h2 { font-size:1rem; font-weight:600; margin:0 0 8px; }
.registration-paused p { font-size:.875rem; line-height:1.5; margin:0 0 12px; }
.registration-paused button { min-height:44px; padding:8px 16px; border:1px solid #738078; border-radius:6px; background:#e0e5df; color:#46554d; cursor:not-allowed; }
