/* DfCDR identity only: retain Horilla's existing colour palette. */
.dfcdr-brand, .dfcdr-admin-brand { display: inline-flex; align-items: center; gap: .5rem; color: inherit; text-decoration: none; flex: 0 0 auto; }
.dfcdr-brand img, .dfcdr-admin-brand img { width: 40px; height: 40px; object-fit: contain; flex: 0 0 auto; }
.dfcdr-brand:focus-visible, .dfcdr-admin-brand:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 3px; }
.dfcdr-brand__label { font-weight: 600; }
.dfcdr-nav .dfcdr-utilities, .dfcdr-nav .dfcdr-identity { display: flex; align-items: center; gap: .5rem; }
.dfcdr-nav .dfcdr-identity { flex: 0 0 auto; }
.dfcdr-nav .oh-navbar__systray { gap: .75rem; min-width: 0; }
.dfcdr-auth-brand { text-align: center; margin-bottom: 1rem; }
.dfcdr-auth-brand img { width: 140px; height: 140px; max-width: 100%; object-fit: contain; }
.dfcdr-auth-brand p { margin: .5rem 0 0; font-size: 1.15rem; font-weight: 600; }
.dfcdr-sidebar-brand { display: flex; align-items: center; gap: .65rem; color: inherit; text-decoration: none; min-width: 0; }
.dfcdr-sidebar-brand img { width: 40px; height: 40px; object-fit: contain; flex: 0 0 auto; }
.dfcdr-sidebar-brand span { overflow-wrap: anywhere; }
.dfcdr-sidebar-brand:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.dfcdr-admin-brand { flex-wrap: wrap; }
/* The installed Django 4.2 admin has a theme button, while Horilla bundles
   older admin CSS. Keep the existing palette and constrain that control. */
#header .theme-toggle { border: 0; padding: 0; margin-inline-start: .5rem; background: transparent; cursor: pointer; vertical-align: middle; }
#header .theme-toggle svg { display: none; width: 1rem; height: 1rem; fill: var(--header-link-color); }
#header .theme-toggle .visually-hidden { display: none; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html[data-theme="auto"] #header .theme-icon-when-auto,
html[data-theme="dark"] #header .theme-icon-when-dark,
html[data-theme="light"] #header .theme-icon-when-light,
html[data-theme="auto"] #header .theme-label-when-auto,
html[data-theme="dark"] #header .theme-label-when-dark,
html[data-theme="light"] #header .theme-label-when-light { display: block; }
@media (max-width: 767px) {
  .dfcdr-brand img { width: 32px; height: 32px; }
  .dfcdr-brand__label { display: none; }
  .dfcdr-nav { height: auto; min-height: 70px; }
  .dfcdr-nav .oh-navbar__wrapper { flex-wrap: wrap; gap: .5rem; padding-top: .5rem; padding-bottom: .5rem; }
  .dfcdr-nav .oh-navbar__toggle-container { min-width: 0; flex: 1 1 auto; }
  .dfcdr-nav .oh-navbar__systray { display: contents; }
  .dfcdr-nav .dfcdr-identity { margin-left: auto; order: 1; max-width: 100%; }
  .dfcdr-nav .dfcdr-utilities { order: 2; width: 100%; flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
  .dfcdr-nav .oh-navbar__toggle-container .oh-navbar__breadcrumb { display: none; }
}

/* Login identity precedes the form; long department name wraps on mobile. */
.oh-auth.dfcdr-login { justify-content: flex-start; padding-top: 2rem; padding-bottom: 2rem; }
.dfcdr-login-brand { display: flex; flex-direction: column; align-items: center; text-align: center; width: 100%; max-width: 650px; margin: 0 0 1.5rem; padding: 0 1rem; box-sizing: border-box; }
.dfcdr-login-brand img { display: block; width: 140px; height: 140px; max-width: 100%; object-fit: contain; margin-bottom: .75rem; }
.dfcdr-login-brand__department { margin: 0; font-size: .95rem; line-height: 1.4; color: gray; }
.dfcdr-login-brand__application { margin: 1.5rem 0 0; font-size: 1.5rem; line-height: 1.4; font-weight: 700; color: hsl(8, 77%, 56%); }
