/* Briefhaven forest palette. Retains upstream branding and semantic alerts. */
:root {
  --bh-forest: #061a13;
  --bh-panel: #0d291e;
  --bh-raised: #153b2c;
  --bh-border: #315a45;
  --bh-sage: #b9d8bf;
  --bh-ink: #edf5ee;
  --color-gray-50: #f3f8f3;
  --color-gray-100: #e5efe6;
  --color-gray-200: #d0e2d3;
  --color-gray-300: #b9d8bf;
  --color-gray-400: #a0c3a9;
  --color-gray-500: #7eab8d;
  --color-gray-600: #527a60;
  --color-gray-700: #315a45;
  --color-gray-800: #153b2c !important;
  --color-gray-850: #0d291e !important;
  --color-gray-900: #092219 !important;
  --color-gray-950: #061a13 !important;
}
html.dark, html.dark body {
  background-color: var(--bh-forest);
  color: var(--bh-ink);
}
html.dark #sidebar { background-color: var(--bh-forest) !important; }
html.dark .dark\:bg-black { background-color: var(--bh-forest) !important; }
html.dark .dark\:bg-white { background-color: var(--bh-sage) !important; }
html.dark #chat-input-container {
  background-color: var(--bh-panel) !important;
  border-color: var(--bh-border) !important;
}
html.dark a:focus-visible, html.dark button:focus-visible,
html.dark input:focus-visible, html.dark textarea:focus-visible {
  outline: 2px solid var(--bh-sage);
  outline-offset: 3px;
}
html.dark ::selection { background: #315a45; color: #f3f8f3; }

/* Keycloak staff login, including password and authenticator setup pages. */
html.login-pf {
  color-scheme: dark;
  --pf-v5-global--BackgroundColor--100: #0d291e;
  --pf-v5-global--BackgroundColor--200: #061a13;
  --pf-v5-global--Color--100: #edf5ee;
  --pf-v5-global--Color--200: #b9d8bf;
  --pf-v5-global--primary-color--100: #b9d8bf;
}
.login-pf body, .login-pf .pf-v5-c-login {
  background: radial-gradient(ellipse at 50% 10%, #153b2c 0, #061a13 70%) !important;
  color: #edf5ee;
}
.login-pf .pf-v5-c-login__header { color: #edf5ee; }
.login-pf #kc-header-wrapper {
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: -.02em;
  font-size: 2.5rem;
  color: #edf5ee;
  text-transform: none;
}
.login-pf .pf-v5-c-login__main {
  background: #0d291e !important;
  border: 1px solid #315a45;
  border-radius: 20px;
  box-shadow: 0 24px 80px #0005;
}
.login-pf .pf-v5-c-login__main-header { border-top-color: #7eab8d !important; }
.login-pf .pf-v5-c-title, .login-pf .pf-v5-c-form__label-text,
.login-pf .pf-v5-c-form__helper-text { color: #edf5ee; }
.login-pf .pf-v5-c-form-control {
  background: #061a13 !important;
  border-radius: 8px;
  --pf-v5-c-form-control--after--BorderBottomColor: #527a60;
}
.login-pf .pf-v5-c-form-control input {
  background: #061a13 !important;
  color: #edf5ee !important;
}
.login-pf .pf-v5-c-button.pf-m-primary {
  background: #b9d8bf !important;
  color: #061a13 !important;
  border-radius: 8px;
  font-weight: 600;
  min-height: 44px;
}
.login-pf .pf-v5-c-button.pf-m-primary:hover { background: #d0e2d3 !important; }
.login-pf .pf-v5-c-button.pf-m-control {
  background: #153b2c !important;
  color: #b9d8bf !important;
}
.login-pf a { color: #b9d8bf; }
.login-pf :focus-visible { outline: 2px solid #b9d8bf; outline-offset: 3px; }
@media (max-width: 480px) {
  .login-pf .pf-v5-c-login__main { border-radius: 12px; }
}
