/* Stammdatenpflege — schlichte Tabellenmaske, bewusst ohne Dialoge:
   jede Zelle ist direkt editierbar, gespeichert wird beim Verlassen. */

.stammdaten {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 6px;
  padding: 6px;
  height: 100%;
  min-height: 0;
}

/* Ohne min-height:0 waechst eine Grid-Zeile mit ihrem Inhalt und sprengt
   den Viewport — die Tabelle scrollt dann nicht in sich selbst. */
.stammdaten > * { min-height: 0; }

.reiterleiste { display: flex; align-items: center; gap: 5px; }
.reiterleiste .luecke { flex: 1; }
.reiterleiste select { width: auto; }
.reiterleiste label { display: flex; align-items: center; gap: 4px; }

.stammdaten .gruppe.wachsend { display: flex; flex-direction: column; min-height: 0; }
.stammdaten .tabellenrahmen { flex: 1; }

table.stammliste td { padding: 1px 3px; }
table.stammliste input[type="text"],
table.stammliste input[type="number"],
table.stammliste select,
table.stammliste textarea { min-height: 19px; }
table.stammliste input.breit, table.stammliste select.breit { min-width: 200px; }
table.stammliste textarea { min-width: 320px; min-height: 42px; font-size: 11px; }
table.stammliste td:has(input[type="checkbox"]) { text-align: center; }
table.stammliste tr.inaktiv { background: #f6f6f6; color: var(--text-leise); }
table.stammliste tr.inaktiv input, table.stammliste tr.inaktiv select {
  color: var(--text-leise);
}
.knopf.klein { padding: 1px 7px; font-size: 11px; }

/* ---------- Neu anlegen ---------- */
.neuzeile { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; }
.neufeld {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 11px;
  color: var(--text-leise);
}
.neufeld input, .neufeld select { min-width: 130px; }

.hinweistext { margin: 0; padding: 0 2px; }
