/* Warenumlagerung – Anpassungen auf Bootstrap 5 (Farbschema, Open Sans, Feldbezeichnungen) */

:root, [data-bs-theme=light] {
  --brand-dark:  #1F4E79;   /* Dunkelblau – Hauptüberschriften */
  --brand-mid:   #4472C4;   /* Mittelblau – Tabellenköpfe */
  --brand-light: #DDEBF7;   /* Hellblau – Feldbezeichnungen */

  --bs-primary: #1F4E79;
  --bs-primary-rgb: 31, 78, 121;
  --bs-link-color: #1F4E79;
  --bs-link-color-rgb: 31, 78, 121;
  --bs-link-hover-color: #163a5c;
  --bs-link-hover-color-rgb: 22, 58, 92;
  --bs-body-font-family: "Open Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bs-body-color: #212121;
  --bs-body-bg: #fff;
  --bs-border-color: #d5dbe3;
}

/* Bootstrap-Buttons an das Markenblau anpassen */
.btn-primary {
  --bs-btn-bg: #1F4E79; --bs-btn-border-color: #1F4E79;
  --bs-btn-hover-bg: #163a5c; --bs-btn-hover-border-color: #163a5c;
  --bs-btn-active-bg: #12314d; --bs-btn-active-border-color: #12314d;
  --bs-btn-disabled-bg: #1F4E79; --bs-btn-disabled-border-color: #1F4E79;
}
.btn-outline-primary {
  --bs-btn-color: #1F4E79; --bs-btn-border-color: #1F4E79;
  --bs-btn-hover-bg: #DDEBF7; --bs-btn-hover-color: #1F4E79; --bs-btn-hover-border-color: #1F4E79;
  --bs-btn-active-bg: #1F4E79; --bs-btn-active-border-color: #1F4E79;
}
.form-control:focus, .form-select:focus {
  border-color: #4472C4;
  box-shadow: 0 0 0 .2rem rgba(68, 114, 196, .25);
}

/* ---------- Navigation ---------- */
.bg-brand { background-color: var(--brand-dark); }
.navbar-brand .brand-title { font-weight: 700; letter-spacing: .02em; }
.navbar-brand .brand-sub { margin-left: .6rem; opacity: .75; font-weight: 400; }
.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.85); font-weight: 600; padding-left: .9rem; padding-right: .9rem; border-radius: .375rem; white-space: nowrap; }
@media (min-width: 992px) { .navbar-dark .navbar-nav .nav-link { margin-right: .25rem; } }
.navbar-dark .navbar-nav .nav-link:hover { color: #fff; background: rgba(255,255,255,.12); }
.navbar-dark .navbar-nav .nav-link.active { color: var(--brand-dark); background: #fff; }

/* ---------- Seiten / Karten ---------- */
.page-title h1 { color: var(--brand-dark); font-weight: 700; }
.card { border-color: var(--bs-border-color); margin-bottom: 1.25rem; }
.card-title {
  color: var(--brand-dark);
  font-weight: 700;
  font-size: 1.05rem;
  border-bottom: 2px solid var(--brand-mid);
  padding-bottom: .4rem;
  margin-bottom: 1rem;
}
.card h3, .section-label { font-size: .85rem; color: var(--brand-dark); text-transform: uppercase; letter-spacing: .03em; font-weight: 700; margin-bottom: .4rem; }
address { line-height: 1.55; }

/* Feldbezeichnung als hellblauer Balken über dem Eingabefeld (Vorgabe) */
.field .form-label {
  display: block;
  background: var(--brand-light);
  color: var(--brand-dark);
  font-weight: 600;
  font-size: .82rem;
  padding: .3rem .55rem;
  margin: 0;
  border-radius: .375rem .375rem 0 0;
}
.field .form-control, .field .form-select {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-top: none;
}

/* ---------- Tabellen ---------- */
.table-brand > thead th {
  background: var(--brand-mid);
  color: #fff;
  font-weight: 600;
  font-size: .82rem;
  white-space: nowrap;
  border-bottom: none;
}
.table-brand > thead th.internal { background: #365a99; }
.table-brand td.internal { background: #f6f9fd; }
.table-brand > tfoot td {
  background: var(--brand-light);
  color: var(--brand-dark);
  font-weight: 600;
}
.table-brand .num { text-align: right; white-space: nowrap; }
.table-brand td:first-child { white-space: nowrap; }
.table-brand .doc-link { font-weight: 600; text-decoration: none; }
.table-brand .doc-link:hover { text-decoration: underline; }
.row-actions { white-space: nowrap; }

/* Positionstabelle */
table.positions .col-pos    { width: 50px; text-align: center; color: var(--bs-secondary-color); }
table.positions .col-qty    { width: 110px; }
table.positions .col-unit   { width: 120px; }
table.positions .col-ek     { width: 140px; }
table.positions .col-value  { width: 140px; text-align: right; white-space: nowrap; }
table.positions .col-action { width: 48px; text-align: center; }
table.positions .col-qty input, table.positions .col-ek input { text-align: right; }
input.js-sku.is-known { border-color: var(--brand-mid); background: #f6f9fd; }

.input-num { text-align: right; min-width: 90px; }
.input-short { min-width: 80px; }
.internal-hint { color: var(--bs-secondary-color); font-size: .85rem; }
