/* Project styles on top of the vendored NiceAdmin theme.
   The theme names Google fonts; nothing is loaded from a remote host, so
   the stack falls back to the system UI font here. */
:root {
  --cpm-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body,
.sidebar-nav .nav-link,
.pagetitle h1 {
  font-family: var(--cpm-font);
}

/* htmx request indicator */
.htmx-indicator {
  opacity: 0;
  transition: opacity 200ms ease-in;
}
.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
  opacity: 1;
}

/* Section headings inside a form. crispy renders a `Fieldset` as
   `<fieldset><legend>`; unstyled that legend is body text and the
   sections run into one another. The theme's own idiom for a section
   label is small uppercase — the sidebar uses it — so the same here, in
   the accent blue. No rule: the colour and the space above set the
   segment apart, and a line as well was too much (Werner, 25.9.2026). */
.card-body fieldset {
  margin-bottom: 1.25rem;
}
.card-body fieldset + fieldset {
  margin-top: 2rem;
}
.card-body fieldset > legend,
.section-label {
  float: none;
  width: auto;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
  color: #4154f1;
  margin-bottom: 0.9rem;
}

/* The same label outside a form — the data-as-at strip on the overview.
   Shares the rule above so the accent blue is written once. */
.section-label {
  display: inline-block;
  margin-bottom: 0;
}
