/* ── Filter-Dialog (Attributfilter) ──────────────────────────────────────────
   1:1 zu FilterDialog.xaml: drei GERAHMTE, gerundete Panels (Verfügbare
   Attribute | Filterbedingungen | Passende Objekte), Fuß aus dialog-basis.css.
   Fenster 1020×640. Panels sind hier bewusst gerahmt+gerundet (XAML
   BorderThickness=1 + CornerRadius) — anders als beim Objekt-Dialog. */
.flt-dialog { width: 1020px; height: 640px; max-width: 96vw; max-height: 92vh;
  display: flex; flex-direction: column; }

/* 3-Spalten-Bereich (XAML Margin 12,12,12,8; Spalten 195 | 8 | * | 8 | 230). */
.flt-spalten { flex: 1; display: grid; grid-template-columns: 195px 1fr 230px;
  gap: 8px; margin: 12px 12px 8px; min-height: 0; }

/* Panels: gerahmt, gerundet; Kopf-Titel, scrollender Inhalt, Fußknopf. */
.flt-panel { background: var(--bg-tief); border: 1px solid var(--rand);
  border-radius: 6px; display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.flt-panel-titel { margin: 8px 10px 6px; }

/* Linke Attributliste. */
.flt-attrscroller { flex: 1; overflow-y: auto; min-height: 0; }
.flt-attr { padding: 4px 8px; font-size: 11px; border-bottom: 1px solid var(--rand);
  cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flt-attr:hover { background: var(--hover); }
.flt-attr.aktiv { background: var(--hover); box-shadow: inset 3px 0 0 var(--akzent); }
.flt-add { margin: 6px 8px; }

/* Bedingungs-Builder: Zeilen-Grid 68 | * | 128 | * | 24 (Spacer über gap). */
.flt-zeilen { flex: 1; overflow-y: auto; padding: 0 8px; min-height: 0; }
.flt-zeile { display: grid; grid-template-columns: 68px 1fr 128px 1fr 24px; gap: 6px;
  align-items: center; padding: 3px 0; }
/* Padding klein halten: die Basis-.feld hat 8px vertikal, das schnitt bei fester
   28px-Höhe den Feldinhalt (13px) oben/unten ab. */
.flt-zeile .feld { min-width: 0; height: 28px; padding: 2px 8px; }
.flt-unbekannt { color: var(--gefahr); }
.flt-del { background: transparent; border: none; color: var(--text-3);
  width: 22px; height: 22px; border-radius: 4px; cursor: pointer; padding: 0; }
.flt-del:hover { background: var(--akzent); color: #fff; }

/* Rechte Vorschau: Filter-String, Trefferzeile, Objekttabelle. */
.flt-vorschau .flt-panel-titel { margin: 10px 12px 6px; }
.flt-vorschau-inhalt { flex: 1; overflow-y: auto; padding: 0 12px 10px; min-height: 0; }
.flt-string { font-family: Consolas, monospace; font-size: 11px;
  border: 1px solid var(--rand); border-radius: 4px; padding: 8px 6px;
  margin-bottom: 10px; word-break: break-word; }
.flt-info { font-size: 11px; color: var(--text-2); margin: 0 0 4px; }
/* Objekttabelle (XAML GridView Objekt 90 | Attribut 80 | Menge 40). */
.flt-tabelle { width: 100%; border-collapse: collapse; font-size: 11px; margin-top: 6px; }
.flt-tabelle th { text-align: left; color: var(--text-2); font-weight: 600;
  border-bottom: 1px solid var(--rand); padding: 2px 4px; }
.flt-tabelle td { border-bottom: 1px solid var(--rand); padding: 2px 4px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90px; }
.flt-tabelle .flt-td-menge { text-align: right; }
