/*
 * Admin skin. Loaded by Jazzmin via JAZZMIN_SETTINGS["custom_css"].
 *
 * Deliberately small. Jazzmin rides on AdminLTE + Bootstrap, which is a
 * different stack from the public site's own Bootstrap build, so this only
 * carries the identity across -- accent, link colour, serial type -- rather
 * than trying to restyle a theme this project does not own.
 *
 * The tokens below are the exception, and they are the same names and values
 * as static/css/attendyn.css. They are repeated rather than imported because
 * the admin never loads the public stylesheet, and because the admin must not
 * break if that file is restructured. Jazzmin's theme switcher writes
 * data-bs-theme on <html>, which is the same hook the public site uses, so
 * both surfaces follow the viewer's choice through one mechanism.
 */

:root {
  --ad-ink: #14161c;
  --ad-paper: #f6f5f2;
  --ad-surface: #ffffff;
  --ad-surface-sunk: #efeeea;
  --ad-line: #e4e2dd;
  --ad-line-strong: #cfccc5;
  --ad-mute: #6a6b78;

  --ad-accent: #3b37d6;
  --ad-accent-deep: #2b28ab;
  --ad-accent-wash: #ecebfc;
  --ad-accent-rgb: 59, 55, 214;

  /* Semantic state, kept strictly separate from the accent: green already
     means "checked in" here, so it can never also mean "primary". */
  --ad-ok: #14724a;
  --ad-ok-wash: #e3f3ea;
  --ad-warn: #97600f;
  --ad-warn-wash: #fbf0dc;
  --ad-stop: #b02a21;
  --ad-stop-wash: #fbe9e7;

  --ad-mono: ui-monospace, SFMono-Regular, "SF Mono", "JetBrains Mono", Menlo,
    Consolas, "Liberation Mono", monospace;

  --ad-radius: 10px;
  --ad-radius-sm: 7px;
}

:root[data-bs-theme="dark"] {
  --ad-ink: #eceaf3;
  --ad-paper: #0e0f14;
  --ad-surface: #171923;
  --ad-surface-sunk: #1f2130;
  --ad-line: #282b36;
  --ad-line-strong: #3a3e4d;
  --ad-mute: #9b9daf;

  --ad-accent: #8f8bff;
  --ad-accent-deep: #a5a2ff;
  --ad-accent-wash: #21223a;
  --ad-accent-rgb: 143, 139, 255;

  --ad-ok: #3fbf86;
  --ad-ok-wash: #14281f;
  --ad-warn: #d9a441;
  --ad-warn-wash: #2a2216;
  --ad-stop: #f4796b;
  --ad-stop-wash: #2e1a19;
}

a,
a:hover {
  color: var(--ad-accent-deep);
}

.btn-primary {
  background-color: var(--ad-accent);
  border-color: var(--ad-accent);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--ad-accent-deep);
  border-color: var(--ad-accent-deep);
}

.btn-outline-primary {
  color: var(--ad-accent);
  border-color: var(--ad-accent);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
  background-color: var(--ad-accent);
  border-color: var(--ad-accent);
  color: #fff;
}

.nav-sidebar .nav-link.active,
.nav-pills .nav-link.active {
  background-color: var(--ad-accent) !important;
  color: #fff !important;
}

.custom-control-input:checked ~ .custom-control-label::before,
.form-check-input:checked {
  background-color: var(--ad-accent);
  border-color: var(--ad-accent);
}

/* UUIDs, EK numbers and counts are serial data; tabular figures keep the
   changelist columns from jittering as rows load. */
.field-id,
.field-ek_number,
.field-attendee_id,
td.field-sent_count,
td.field-failed_count {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  font-size: 0.86em;
  color: var(--ad-mute);
}

.login-logo img {
  max-width: 200px;
  height: auto;
}
