/* ═══════════════════════════════════════════════════════════════════════════════
 * ViCore — GEBÄUDEBETRIEB · Dialoge (public/betrieb/betrieb-dialoge.css) — Neubau 04.09.2026
 * ───────────────────────────────────────────────────────────────────────────────
 * Namespace `.gbd-` (Dialoginhalte) — ergänzt `.gb-impact`, `.gb-vergleich`, `.gb-check`
 * aus betrieb.css. Rahmen, Kopf, Fuß, Felder und Kontrollkästchen kommen aus
 * vi-dialog.css; Badges, Hinweise, Skelett und Kennzahlen aus vi-components.css.
 * Nur Tokens aus css/design-system.css — keine Hexwerte, keine rohen Pixel außer 0/1px.
 * ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Gemeinsames ───────────────────────────────────────────────────────────── */
.gbd-body { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.gbd-body > .vi-dlg-src + .vi-dlg-grp { margin-top: 0; }
.gbd-hint { margin: 0; }
.gbd-src .vi-dlg-srcm .vic-ol { display: inline; }
.gbd-grph { margin: 0; }
.vi-dlg-body .gbd-body .form-group { margin-bottom: 0; }
.vi-dlg-body .gbd-body .vi-dlg-grp { margin-bottom: 0; }
.gbd-radio { padding: var(--space-1) 0; }
.gbd-radio.is-disabled { color: var(--gray-500); cursor: not-allowed; }
.gbd-radio-l { display: block; font-weight: var(--fw-medium); }
.gbd-req-note { font-weight: var(--fw-normal); font-size: var(--text-xs); }

/* ── Endgültig löschen: Impact-Liste ──────────────────────────────────────── */
.gbd-impact { max-height: min(44vh, 420px); }
.gbd-impact-main { min-width: 0; }
.gbd-impact-meta { display: flex; flex-wrap: wrap; gap: 0 var(--space-1); }
.gbd-deps, .gbd-reason { min-width: 0; }
.gbd-reason { color: var(--color-warning-ink); }
.gbd-impact-state { white-space: nowrap; font-size: var(--text-xs); }
.gbd-state--del { color: var(--color-danger-ink); font-weight: var(--fw-medium); }
.gb-impact-i.is-deleted .vi-tbl-primary { color: var(--gray-500); }
.gbd-confirm { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-2); border-top: 1px solid var(--gray-200); }
.gbd-count .form-input { max-width: 200px; }

/* ── Regelabgleich: Gegenüberstellung ─────────────────────────────────────── */
.gbd-vergleich { border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); row-gap: var(--space-2); align-items: start; }
.gb-vergleich-l { color: var(--gray-500); font-size: var(--text-xs); padding-top: 2px; }
.gb-vergleich-c { min-width: 0; overflow-wrap: anywhere; }
.gb-vergleich-c.is-diff { color: var(--color-warning-ink); font-weight: var(--fw-medium); }
.gbd-decide { display: flex; flex-direction: column; gap: var(--space-1); }

/* ── Einrichten / Objektpflichten: Regelzeilen ────────────────────────────── */
.gbd-rules { list-style: none; margin: 0; padding: 0; border: 1px solid var(--gray-200); border-radius: var(--radius-md); max-height: min(48vh, 520px); overflow: auto; }
.gbd-rule { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(120px, 200px) auto; gap: var(--space-2) var(--space-3); align-items: start; padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--gray-200); font-size: var(--text-sm); }
.gbd-rule:last-child { border-bottom: 0; }
.gbd-rule.is-pruefen { background: var(--color-warning-soft); }
.gbd-rule-pick { display: inline-flex; align-items: center; min-width: 16px; padding-top: 2px; }
.gbd-rule-pick input { width: 16px; height: 16px; margin: 0; accent-color: var(--color-sage); cursor: pointer; }
.gbd-rule-main { min-width: 0; }
.gbd-rule-facts, .gbd-rule-extra { overflow-wrap: anywhere; }
.gbd-rule-anw { min-width: 0; font-size: var(--text-xs); }
.gbd-anw-reason { display: block; }
.gbd-rule-acts { display: inline-flex; gap: var(--space-1); white-space: nowrap; justify-self: end; }
.gbd-due .form-input { max-width: 200px; }
.gbd-cat { display: flex; flex-direction: column; gap: var(--space-2); }
.gbd-cat-h { display: flex; align-items: baseline; gap: var(--space-2); margin: 0; font-size: var(--text-md); font-weight: var(--fw-semibold); color: var(--gray-900); }
.gbd-cat-n { font-size: var(--text-xs); font-weight: var(--fw-normal); }
.gbd-body .vic-mtr { margin: 0; }

/* ── Mobil: Listen stapeln, nichts scrollt waagerecht ─────────────────────── */
@media (max-width: 640px) {
  .gb-impact-i { grid-template-columns: minmax(0, 1fr) auto; }
  .gb-impact-i .gb-code { grid-column: 1 / -1; }
  .gbd-impact-state { white-space: normal; }
  .gb-vergleich { grid-template-columns: minmax(0, 1fr); }
  .gb-vergleich > .gb-vergleich-h, .gb-vergleich > .gb-vergleich-l:first-child { display: none; }
  .gb-vergleich-l { padding-top: var(--space-2); border-top: 1px solid var(--gray-200); font-weight: var(--fw-semibold); }
  .gb-vergleich-c { display: grid; grid-template-columns: minmax(84px, auto) minmax(0, 1fr); gap: var(--space-2); }
  .gb-vergleich-c::before { content: attr(data-side); color: var(--gray-500); font-size: var(--text-xs); }
  .gbd-rule { grid-template-columns: auto minmax(0, 1fr); }
  .gbd-rule-anw, .gbd-rule-acts { grid-column: 2; justify-self: start; white-space: normal; }
  .gbd-count .form-input, .gbd-due .form-input { max-width: none; }
}
