/**
 * bestellungen.css — nur Bestellungen-Spezifika (Kopf/Positionen-Modell)
 *
 * Alle generischen Listen-Patterns kommen aus dem Shared-Set:
 *  - Listen-Layout, Hover, Empty, Loading, Pillen-Geometrie, Sortier-
 *    Indikatoren, Action-Cell, Delete-Button:
 *    _shared/functions/list-view/grid-css/idf-list-grid.css
 *  - Inline-Edit-Affordance: _shared/functions/inline-editing/idf-inline-edit.css
 *  - Form-Felder (idf-form): _shared/blocks/forms/idf-forms.css
 *
 * Hier bleiben nur: Spaltenbreiten (Kopf-Liste .be-grid + Positions-
 * Editor .bp-grid), Einheit-Suffix, Teilgeliefert-Pillen-Tönung,
 * Kopf-Header des Editors (Breadcrumb + Stammdaten-Grid), Status-Zeile.
 */

/* ================================================================ */
/* Kopf-Liste (index.php) — Grid: Spaltenbreiten                     */
/* ================================================================ */
/* Bestellt · Geliefert (Shared-Pillen) · Titel (1fr, + Beschreibung-
   Subline) · Lieferant · Positionen-Zähler · Bestelldatum · Löschen. */
.be-grid {
  display: grid;
  /* Breiten aus der CSS-Variable (col-resize-Baustein); Fallback = Defaults. */
  grid-template-columns: var(--be-cols,
    44px                /* Bestellt (Pille) */
    44px                /* Geliefert (Pille) */
    minmax(220px, 1fr)  /* Titel (+ Subline) */
    180px               /* Lieferant */
    170px               /* Positionen-Zähler */
    130px               /* Bestelldatum */
    44px                /* Öffnen (Pfeil → Editor) */
    44px                /* Löschen */
  );
  align-items: stretch;
  gap: 0;
}

/* Positions-Zähler: gedimmt, wenn (noch) keine Positionen existieren. */
.be-pos-none { color: var(--mid, #555555); }

/* Teilgeliefert: mind. eine, aber nicht alle Positionen geliefert —
   die (inaktive) Geliefert-Pille bekommt eine Amber-Tönung. Nur Farbe,
   Geometrie bleibt Shared (.idf-list-done-pill). */
.idf-list-done-pill.is-partial:not(.is-active) {
  /* Phantom --warn/--warn-bg aufgeloest (Audit L5/#201): Text = neues
     Token --orange-text (wertidentisch #b45309); Amber-BG #fef3c7 hat
     kein Token-Aequivalent und bleibt als dokumentierter Sonderwert. */
  color: var(--orange-text);
  background: #fef3c7;
}

/* ================================================================ */
/* Positions-Editor (bestellung.php) — Grid: Spaltenbreiten          */
/* ================================================================ */
/* Geliefert (Pille) · Position (1fr, Material/Freitext + Bezug-Subline)
   · Menge (+ Einheit-Suffix) · Einheit · Geliefert am · Löschen. */
.bp-grid {
  display: grid;
  /* Breiten aus der CSS-Variable (col-resize-Baustein); Fallback = Defaults. */
  grid-template-columns: var(--bp-cols,
    44px                /* Geliefert (Pille) */
    minmax(220px, 1fr)  /* Position (Titel + Bezug-Subline) */
    120px               /* Menge (+ Einheit-Suffix) */
    90px                /* Einheit */
    130px               /* Geliefert am */
    44px                /* Löschen */
  );
  align-items: stretch;
  gap: 0;
}

/* Menge-Cell: Zahl (inline-editierbar) + Einheit-Suffix + Pen.
   (Klasse wird in Kopf-Liste UND Editor genutzt.) */
.be-cell-menge {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.be-einheit { color: var(--text); }

/* ================================================================ */
/* Editor: App-Header-Breadcrumb — seit #194 aus dem Shared-Block    */
/* blocks/app-breadcrumb ($useBreadcrumb, Klassen idf-breadcrumb-*). */
/* ================================================================ */

/* ================================================================ */
/* Editor: Kopf-Header (Stammdaten, Muster pp-session-header)        */
/* ================================================================ */
.bp-kopf-header {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 12px 24px 16px;
  background: var(--white, #fff);
  border-bottom: 1px solid var(--line, #e5e5e5);
  margin: 0 0 12px 0;
  position: sticky;
  top: 0;
  z-index: 5;
  isolation: isolate; /* Hover-Leak-Schutz, siehe pp-session-header */
}
.bp-kopf-fields.idf-form {
  display: grid;
  grid-template-columns: 180px minmax(220px, 1fr) minmax(260px, 1.4fr) auto;
  gap: 8px 14px;
  align-items: end;
}
/* Labels in Tabellenkopf-Schrift (uppercase 11px, mid-grau, bold) —
   gilt für <label>-Felder und den Status-<div>-Wrapper. */
.bp-kopf-fields.idf-form > label > span,
.bp-kopf-fields.idf-form > .bp-kopf-field > span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: var(--mid, #555);
}
.bp-kopf-fields.idf-form > .bp-kopf-field {
  display: grid;
  gap: var(--space-1, 4px);
}

@media (max-width: 1100px) {
  .bp-kopf-fields.idf-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .bp-kopf-fields.idf-form { grid-template-columns: 1fr; }
}

/* Status-Zeile im Kopf-Header: zwei Shared-Pillen + Statustext. */
.be-status-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-height: 36px;
}
.be-status-text { color: var(--ink, #111); }

/* Responsive-Spalten-Hiding bewusst (noch) nicht — Header- und Body-Grid
   müssten dafür dieselben Spalten-Klassen tragen (Kopf nutzt plain divs).
   Folge-Issue, falls die Listen auf schmalen Screens zu breit werden. */
