/* Keymaker UI – Design-System-Layer über Bootstrap 5.3.
   Grundfarben aus dem Logo abgeleitet (Matrix-Grün). Lädt nach bootstrap.min.css. */

@font-face {
  font-family: "Inter Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/inter-latin-wght-normal.260c81a4759b.woff2") format("woff2-variations");
}

:root {
  --knt-ink: #10140f;
  --knt-ink-soft: #1a2117;
  --knt-green: #2e5419;
  --knt-green-bright: #4c8f2b;
  --knt-green-rgb: 46, 84, 25;

  /* Bootstrap-Theme-Variablen umbiegen, damit alle Utilities (.btn-primary,
     .text-primary, .bg-primary, .form-control:focus …) automatisch folgen. */
  --bs-primary: var(--knt-green);
  --bs-primary-rgb: var(--knt-green-rgb);
  --bs-link-color: var(--knt-green);
  --bs-link-color-rgb: var(--knt-green-rgb);
  --bs-link-hover-color: var(--knt-green-bright);
  --bs-link-hover-color-rgb: 76, 143, 43;

  --bs-body-font-family: "Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body {
  font-variant-numeric: tabular-nums;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: -0.01em;
}

/* Zahlen in Tabellen sollen bündig untereinanderstehen. */
.table td, .table th {
  font-variant-numeric: tabular-nums;
}

/* --- Navigation -------------------------------------------------------- */
.navbar.bg-dark {
  --bs-navbar-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-hover-color: #ffffff;
  --bs-navbar-active-color: #ffffff;
  background-color: var(--knt-ink) !important;
  border-bottom: 1px solid var(--knt-ink-soft);
}

.navbar .nav-link {
  position: relative;
  transition: color 0.15s ease;
}

.navbar .nav-link.active {
  color: #ffffff;
}

.navbar .nav-link.active::after {
  content: "";
  position: absolute;
  left: 0.5rem;
  right: 0.5rem;
  bottom: -2px;
  height: 2px;
  background: var(--knt-green-bright);
  border-radius: 2px;
}

/* --- Tabellenköpfe ------------------------------------------------------ */
.table-dark {
  --bs-table-bg: var(--knt-ink);
  --bs-table-color: rgba(255, 255, 255, 0.85);
  --bs-table-border-color: var(--knt-ink-soft);
}

th[data-sort] {
  transition: color 0.15s ease;
}

th[data-sort]:hover {
  color: #ffffff;
}

/* --- Buttons & Formulare ------------------------------------------------ */
.btn-primary {
  --bs-btn-bg: var(--knt-green);
  --bs-btn-border-color: var(--knt-green);
  --bs-btn-hover-bg: var(--knt-green-bright);
  --bs-btn-hover-border-color: var(--knt-green-bright);
  --bs-btn-active-bg: #244413;
  --bs-btn-active-border-color: #244413;
  --bs-btn-focus-shadow-rgb: var(--knt-green-rgb);
  --bs-btn-disabled-bg: var(--knt-green);
  --bs-btn-disabled-border-color: var(--knt-green);
}

.btn-outline-primary {
  --bs-btn-color: var(--knt-green);
  --bs-btn-border-color: var(--knt-green);
  --bs-btn-hover-bg: var(--knt-green);
  --bs-btn-hover-border-color: var(--knt-green);
  --bs-btn-active-bg: var(--knt-green);
  --bs-btn-active-border-color: var(--knt-green);
  --bs-btn-focus-shadow-rgb: var(--knt-green-rgb);
}

.btn {
  transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
}

.btn:active {
  transform: translateY(1px);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--knt-green-bright);
  box-shadow: 0 0 0 0.25rem rgba(var(--knt-green-rgb), 0.25);
}

.form-check-input:checked {
  background-color: var(--knt-green);
  border-color: var(--knt-green);
}

.form-check-input:focus {
  border-color: var(--knt-green-bright);
  box-shadow: 0 0 0 0.25rem rgba(var(--knt-green-rgb), 0.25);
}
