diff --git a/web/src/dashboard/cards.jsx b/web/src/dashboard/cards.jsx
index c3684bf..f7f1f37 100644
--- a/web/src/dashboard/cards.jsx
+++ b/web/src/dashboard/cards.jsx
@@ -44,23 +44,34 @@ function AccountBalances() {
{a.name}
+ {/* An der Zeile selbst, nicht nur in der Summe darunter: Wer den
+ Betrag liest, soll im selben Blick sehen, dass er nicht
+ verfuegbar ist – sonst rechnet man ihn im Kopf doch mit. */}
+ {a.locked && (
+
+ {t("accounts.lockedBadge")}
+
+ )}
))}
-
- {t("cards.total")}
- {/* Mit einer Kreditkartenschuld kann diese Summe negativ werden.
- formatMoney allein faerbt nicht – das Minus stuende still da. */}
-
-
- {/* Gesperrtes Geld steht daneben, nicht darin – sonst beantwortet die
- Summe eine andere Frage, als der Nutzer stellt. */}
- {data.gebunden > 0 && (
-
-
{t("cards.locked")}
- {formatMoney(data.gebunden, data.currency)}
+ {/* Summe und gebundenes Geld in EINEM angehefteten Fuss.
+ Die Summe klebt am unteren Rand des Rollbereichs; eine Zeile dahinter
+ stuende unter dem Angehefteten und waere damit nie zu sehen. */}
+
0 ? " gestapelt" : ""}`}>
+
+ {t("cards.total")}
+ {/* Mit einer Kreditkartenschuld kann diese Summe negativ werden.
+ formatMoney allein faerbt nicht – das Minus stuende still da. */}
+
- )}
+ {data.gebunden > 0 && (
+
+ {t("cards.locked")}
+ {formatMoney(data.gebunden, data.currency)}
+
+ )}
+
);
}
diff --git a/web/src/finance.css b/web/src/finance.css
index 74aa48a..7ac02d7 100644
--- a/web/src/finance.css
+++ b/web/src/finance.css
@@ -641,6 +641,19 @@ tr.budget-total-row td {
padding-bottom: var(--sp-3);
margin-bottom: calc(-1 * var(--sp-3));
}
+/* Zwei Zeilen im angehefteten Fuss: die Summe und, was daneben gebunden ist.
+ Beides muss stehen bleiben – eine Zeile hinter dem Angehefteten laege
+ darunter und waere nie zu sehen. */
+.dash-total.gestapelt {
+ flex-direction: column;
+ align-items: stretch;
+ gap: 2px;
+}
+.dash-total-zeile {
+ display: flex;
+ align-items: baseline;
+ gap: var(--sp-2);
+}
.ellipsis {
overflow: hidden;
text-overflow: ellipsis;