/* ============================================================
   EINKAUF
   ============================================================ */
.ek-dialog [hidden], #ek-we-dialog [hidden] { display: none !important; }
.ek-zahl:not(:empty) { display: inline-block; min-width: 20px; padding: 0 6px; margin-left: 4px; border-radius: 10px; font-size: 11px; line-height: 18px; background: var(--danger, #c62828); color: #fff; }
.ek-balken { width: 90px; height: 7px; border-radius: 4px; background: var(--neutral-100, #eee); overflow: hidden; display: inline-block; vertical-align: middle; margin-right: 6px; }
.ek-balken span { display: block; height: 100%; background: var(--pal-gruen, #2e7d32); }
.ek-spaet { color: var(--danger, #c62828) !important; font-weight: 700; }
.ek-bezahlt { font-size: 17px; vertical-align: -3px; color: var(--pal-gruen, #2e7d32); }
.ek-pos-wrap { overflow-x: auto; }
table.ek-pos { width: 100%; border-collapse: collapse; font-size: 14px; }
table.ek-pos th { text-align: left; font-size: 12px; font-weight: 600; color: var(--muted, #777); padding: 4px 6px; border-bottom: 1px solid var(--line, #ddd); white-space: nowrap; }
table.ek-pos td { padding: 5px 6px; border-bottom: 1px solid var(--line, #eee); vertical-align: middle; }
table.ek-pos input, table.ek-pos select, table.ek-pos textarea { width: 100%; padding: 5px 7px; font: inherit; font-size: 14px; }
table.ek-pos textarea { min-height: 32px; resize: vertical; }
.ek-c-nr { width: 28px; color: var(--muted, #888); }
.ek-c-zahl { width: 105px; text-align: right; }
.ek-c-zahl input { text-align: right; }
.ek-c-st { width: 80px; }
.ek-c-akt { width: 40px; text-align: center; }
.ek-c-akt input { width: auto !important; }
.ek-art { display: block; font-size: 11.5px; color: var(--muted, #888); margin-top: 2px; }
.ek-leer { color: var(--muted, #888); text-align: center; padding: 14px !important; }
.ek-pos-neu { display: flex; gap: 8px; margin: 8px 0 12px; }
.ek-pos-neu input { flex: 1; }
.ek-dokumente { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.ek-dok { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border: 1px solid var(--line, #ddd); border-radius: 14px; font-size: 13px; text-decoration: none; color: var(--ink, #222); }
.ek-dok i { font-size: 16px; color: var(--accent-dark, #835c30); }
.ek-dok-neu { border-style: dashed; }
.ek-datei { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; margin-bottom: 8px; }
.ek-we-zeile { display: flex; align-items: center; gap: 6px; padding: 6px 0; border-bottom: 1px solid var(--line, #eee); color: var(--ink, #222); text-decoration: none; font-size: 14px; }
.ek-we-zeile i { font-size: 16px; color: var(--pal-gruen, #2e7d32); }
@media (max-width: 640px) {
  .ek-c-zahl { width: 80px; }
  table.ek-pos { min-width: 620px; }
}

/* Positionen in der Tabelle: Knopf wie ein Auswahlfeld, Liste wie die App-Selects */
.ek-pos-knopf { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px 6px 12px; border: 1px solid var(--line, #e3e1dc); border-radius: 10px;
  background: var(--paper, #fff); color: var(--ink, #333); font: inherit; font-size: 14px; cursor: pointer; white-space: nowrap; }
.ek-pos-knopf:hover { border-color: var(--accent, #c9a14a); }
.ek-pos-knopf i { font-size: 18px; color: var(--ink-soft, #888); }
.ek-pos-liste .sw-option { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; text-align: left; width: 100%; }
.ek-pl-menge { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink, #333); min-width: 28px; text-align: right; }
.ek-pos-liste .material-icons { color: var(--ink-faint, #bbb) !important; }
.ek-pos-liste .material-icons.ek-pl-ok { color: var(--pal-gruen, #2e7d32) !important; }
.ek-pos-liste .material-icons.ek-pl-teil { color: var(--pal-senf-dunkel, #a36b00) !important; }
