.datentabelle { width: 100%; border-collapse: collapse; margin: 10px 0 18px; }
.datentabelle th, .datentabelle td { padding: 8px 10px; text-align: left; border-bottom: 1px solid var(--bg3); vertical-align: middle; }
.datentabelle th { color: var(--text2); font-size: 13px; font-weight: 600; border-bottom: 2px solid var(--bg3); }
.datentabelle tr:hover td { background: rgba(255, 255, 255, 0.02); }
.karte-kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.karte-kopf h1 { margin: 0; }
.karte-aktionen { display: flex; gap: 14px; align-items: center; }
.btn-klein { padding: 6px 12px; font-size: 13px; }
.btn-gefahr { border-color: var(--danger) !important; color: var(--danger) !important; background: transparent !important; }
.btn-gefahr:hover { box-shadow: inset 0 0 0 1px var(--danger); }
form.zeile-form { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; }
form.zeile-form label { margin: 0; }
form.zeile-form input, form.zeile-form button { margin-bottom: 0; }
@media (max-width: 700px) {
  form.zeile-form { align-items: stretch; }
  form.zeile-form input, form.zeile-form button { width: 100%; }
  .karte-kopf { flex-direction: column; align-items: flex-start; }
}
/* M4 — Buchungen */
.z-kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.z-kopf h1 { margin: 0; }
.z-aktionen { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.inline-form { display: inline; margin: 0; }
.inline-form button { margin: 0 4px 0 0; }
.filter-zeile { margin: 10px 0 14px; display: flex; gap: 10px; align-items: flex-end; }
.filter-zeile label { margin: 0; }
.summenbox { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; padding: 14px 16px;
  background: var(--bg2); border: 1px solid var(--bg3); border-radius: 12px; margin: 4px 0 16px; }
.summe-gross { font-size: 30px; font-weight: 700; color: var(--accent-2); }
.summe-label { color: var(--text2); font-size: 13px; }
.gruppe { margin: 22px 0 6px; font-size: 17px; display: flex; justify-content: space-between; align-items: baseline;
  gap: 10px; flex-wrap: wrap; border-bottom: 1px solid var(--bg3); padding-bottom: 6px; }
.gruppe-summe { color: var(--accent-2); font-size: 15px; white-space: nowrap; }
.zwischenzeile td { color: var(--text2); font-size: 13px; font-weight: 600;
  background: rgba(255, 255, 255, 0.03); }
td.betrag { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.datentabelle.schmal { max-width: 720px; }
.datentabelle.schmal th { width: 220px; }
.saved { color: var(--accent-2); margin: 6px 0; }
.fehlerliste { color: var(--danger); list-style: none; padding: 0; margin: 8px 0; }
.upload-zeile { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
.upload-zeile label { margin: 0; }
.feld-reihe { display: flex; gap: 14px; flex-wrap: wrap; }
.feld-reihe label { flex: 1; min-width: 180px; }
.checkbox-zeile { display: flex; align-items: center; gap: 8px; min-width: 240px; }
.checkbox-zeile input { width: auto; margin: 0; }
.formular label { display: block; margin: 10px 0 6px; color: var(--text2); font-size: 13px; }
.formular input, .formular select { width: 100%; max-width: 460px; }
.formular .feld-reihe label { color: var(--text2); font-size: 13px; }
