diff --git a/web/src/pages/Products.jsx b/web/src/pages/Products.jsx
index 0cf31e8..7a9c8ce 100644
--- a/web/src/pages/Products.jsx
+++ b/web/src/pages/Products.jsx
@@ -98,7 +98,15 @@ export default function Products() {
: `${fmt(p.stock / (p.unit_factor || 1))} ${p.unit_name || unitShort(p.base_unit)}`}
- {p.min_stock != null ? `${fmt(p.min_stock / (p.unit_factor || 1))}` : "–"}
+ {p.min_stock != null ? (
+ <>
+ {fmt(p.min_stock / (p.unit_factor || 1))}{" "}
+ {p.unit_name || unitShort(p.base_unit)}
+ {p.package_size ? (
+ · {fmt(p.min_stock / p.package_size)} Pkg
+ ) : null}
+ >
+ ) : "–"}
|
Details |
diff --git a/web/src/styles.css b/web/src/styles.css
index 6364674..c11166d 100644
--- a/web/src/styles.css
+++ b/web/src/styles.css
@@ -147,7 +147,14 @@ input:focus, select:focus {
input::placeholder { color: var(--muted); opacity: 0.7; }
.row { display: flex; gap: var(--sp-3); align-items: flex-start; }
.row .grow { flex: 1; }
-.field-inline { display: flex; gap: var(--sp-2); align-items: flex-end; }
+.field-inline { display: flex; gap: var(--sp-2); align-items: flex-end; margin-bottom: var(--sp-4); }
+/* Labels in einer Inline-Reihe duerfen keinen eigenen Abstand haben, sonst
+ rutschen daneben stehende Buttons optisch nach unten. */
+.field-inline > label { margin-bottom: 0; }
+/* Verschachtelt in einem Label (z.B. Menge + Einheit) traegt das Label den Abstand. */
+label .field-inline { margin-bottom: 0; }
+/* In Tabellenzellen (z.B. Chargen-Aktionen) keinen zusaetzlichen Abstand. */
+td .field-inline { margin-bottom: 0; }
/* ---------- Buttons ---------- */
.btn {