/* ═══════════════════════════════════════════════════════════════════════════════
 * ViCore — GEBÄUDEBETRIEB · Kernstile (public/betrieb/betrieb.css) — Neubau 03.09.2026
 * ───────────────────────────────────────────────────────────────────────────────
 * Namespace `.gb-`. Nur Tokens aus css/design-system.css — keine Hexwerte, keine
 * rohen Pixel außer 0/1px-Linien. Keine eigene Designwelt: Listen sind VITable,
 * Filter sind VIFilters, Zustände sind VIComponents, Dialoge sind VIDialog.
 * Diese Datei trägt nur, was KEIN Baustein anbietet: Sicht-Selector, Ebene-1-Zeile,
 * Datumszelle, Sektionskopf, Aktenraster, Verlauf und die Dialog-Raster.
 * ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Sicht-Selector (Ebene 1, kompakt — kein Tab-Band) ─────────────────────── */
.gb-sicht { display: inline-flex; align-items: center; gap: var(--space-2); min-width: 0; }
.gb-sicht-l { font-size: var(--text-xs); color: var(--gray-500); white-space: nowrap; }
.gb-sicht-sel { height: 32px; border: 1px solid var(--gray-300); border-radius: var(--radius-md); background: var(--color-surface); color: var(--gray-900); font-size: var(--text-md); padding: 0 var(--space-2); max-width: 320px; }
.gb-sicht-sel:focus-visible { outline: 2px solid var(--brand-primary); outline-offset: 1px; }

/* Ebene 1 des Bereichs — EIN Muster für Leitstand · Anlagen · Wartungen:
   Fachsicht (.gb-l1-sicht) · Statuschips (VIFilters Ebene 1, per VIBetrieb.l1Attach
   eingehängt) · gespeicherte Sichten (.gb-l1-right) in EINER Zeile. */
.gb-l1 { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; min-width: 0; padding: var(--space-2) 0; }
.gb-l1-right { margin-left: auto; display: inline-flex; gap: var(--space-2); align-items: center; }
/* Die Chip-Gruppe kommt aus VIFilters (per id hineingezeichnet) und muss mitschrumpfen
   dürfen — sonst sprengt sie die Zeile und schiebt den Sichten-Knopf allein nach unten. */
.gb-l1 > .vif-l1 { flex: 1 1 0; min-width: 0; }
.gb-l1 > .vif-l1[hidden] { display: none; }
/* Der Sicht-Selector darf leicht schrumpfen, damit die Zeile auf 1366 px einzeilig bleibt. */
.gb-l1-sicht { flex: 0 1 auto; min-width: 0; }
.gb-l1-sicht .gb-sicht-sel { max-width: 100%; }
/* Bis 1440 px trägt die Chip-Gruppe keine Gruppenbeschriftung — die Chips erklären sich
   neben der Fachsicht selbst; mit Beschriftung brach die Gruppe auf 1366 px um (gemessen). */
@media (max-width: 1440px) { .gb-l1 .vif-l1-l { display: none; } }
/* Tablet-Breite (Desktop-Schale, 1024–1180 px): die Chips bekommen ihre eigene, volle
   Zeile unter Fachsicht und Sichten — statt dreizeilig in einer Restspalte zu stapeln. */
@media (max-width: 1180px) { .gb-l1 > .vif-l1 { flex: 1 1 100%; order: 3; } }

/* ── Zellen ───────────────────────────────────────────────────────────────── */
.gb-datum { font-variant-numeric: tabular-nums; white-space: nowrap; }
.gb-code { font-size: var(--text-xs); color: var(--gray-500); font-variant-numeric: tabular-nums; }
.gb-muted { color: var(--gray-500); }
.gb-link { color: var(--color-forest); text-decoration: none; cursor: pointer; }
.gb-link:hover { text-decoration: underline; }

/* ── Zähler an einer Zwischenüberschrift ───────────────────────────────────── */
/* Der frühere Sektionskopf `.gb-sec-h`/`.gb-sec-t` ist mit dem Karten-Umbau
   (05.09.2026) entfallen: einen Fachblock benennt jetzt der Kartenkopf
   (`VIComponents.card`), nicht eine Überschrift über einer Trennlinie.
   Geblieben ist nur der Zähler — er steht auch an `.vic-cd-h4` und `.gb-ak-inv-t`. */
.gb-sec-n { font-size: var(--text-xs); color: var(--gray-500); }

/* ── Akte: die Reiterfläche ────────────────────────────────────────────────── */
/* (Das frühere Zweispaltenraster .gb-akte-cols ist mit den Fach-Reitern entfallen —
   jeder Reiter hat seine eigene Fläche; die Übersicht stapelt Karten in .gb-ak-cols.) */
.gb-akte { display: flex; flex-direction: column; gap: var(--space-4); }
.gb-inline-edit { cursor: text; border-bottom: 1px dashed transparent; }
.gb-inline-edit:hover { border-bottom-color: var(--gray-300); }
.gb-inline-edit:focus-within { border-bottom-color: var(--brand-primary); }
.gb-inline-input { height: 28px; border: 1px solid var(--gray-300); border-radius: var(--radius-sm); padding: 0 var(--space-1); font: inherit; width: 100%; max-width: 320px; }

/* Die Zeitleiste des Verlaufs kommt seit dem 05.09.2026 aus der Bausteinschicht
   (`VIComponents.timeline`, `.vic-tl-`) — die frühere modul-eigene `.gb-tl`-Familie
   ist entfallen. Neue Chronologie = derselbe Baustein, keine zweite Zeitleiste. */

/* ── Dialoge: Impact-Liste beim Löschen, Regelvergleich ────────────────────── */
.gb-impact { list-style: none; margin: 0; padding: 0; max-height: 320px; overflow: auto; border: 1px solid var(--gray-200); border-radius: var(--radius-md); }
.gb-impact-i { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: var(--space-2); padding: var(--space-1) var(--space-2); border-bottom: 1px solid var(--gray-200); align-items: center; font-size: var(--text-sm); }
.gb-impact-i:last-child { border-bottom: 0; }
.gb-impact-i.is-blocked { color: var(--gray-500); }
.gb-vergleich { display: grid; grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-1) var(--space-3); font-size: var(--text-sm); }
.gb-vergleich-h { font-weight: 600; color: var(--gray-500); }
.gb-check { display: inline-flex; align-items: center; gap: var(--space-2); cursor: pointer; }

/* Mobil: Ebene 1 blättert als EIN Streifen in Leserichtung Fachsicht → Chips → Sichten
   (die Tablet-Regel `order: 3` gilt hier NICHT — sonst stehen die Chips hinter dem am
   Rand angeschnittenen Sichten-Knopf, gemessen 390 px). Die eingebettete Chip-Gruppe
   scrollt nicht noch einmal in sich, der Selector schrumpft nicht auf 0. */
@media (max-width: 767px), (max-height: 540px) and (pointer: coarse) {
  .gb-l1 { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .gb-l1::-webkit-scrollbar { display: none; }
  .gb-l1 > * { flex: 0 0 auto; }
  .gb-l1 > .vif-l1 { flex: 0 0 auto; flex-wrap: nowrap; overflow: visible; min-width: max-content; order: 0; }
  .gb-l1 .vif-l1-l { display: none; }
  .gb-l1-right { padding-right: var(--space-2); }
  .gb-sicht-sel { max-width: 220px; }
}
