Finanzen: Vorschau, Steuer und Abos
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
88a98b858f
commit
3826f1ab72
9 files changed
+780
-1
No files matched your search
@@ -1205,3 +1205,80 @@ textarea.form-control {
|
||||
.fin-todo { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
|
||||
.fin-todo .ui-btn { justify-self: start; }
|
||||
}
|
||||
|
||||
/* Bloecke 3-5: Vorschau, Steuer, Abos */
|
||||
.fin-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
|
||||
.fin-neg { color: var(--danger); }
|
||||
.fin-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-5); align-items: start; }
|
||||
@media (min-width: 1100px) {
|
||||
.fin-cols { grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); }
|
||||
.fin-cols-half { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||||
}
|
||||
|
||||
/* Block 3: Vorschau (Tabelle; in einer schmalen Karte wird jede Zeile zweizeilig) */
|
||||
.fin-forecast-card { container-type: inline-size; overflow: hidden; }
|
||||
.fin-table-wrap { overflow-x: auto; }
|
||||
.fin-forecast th, .fin-forecast td { padding: 9px 10px; vertical-align: baseline; }
|
||||
.fin-forecast th.fin-amount { text-align: right; }
|
||||
.fin-forecast th:first-child, .fin-forecast td:first-child { padding-left: var(--sp-4); }
|
||||
.fin-forecast th:last-child, .fin-forecast td:last-child { padding-right: var(--sp-4); }
|
||||
.fin-forecast tbody tr:last-child td { border-bottom: none; }
|
||||
.fin-forecast-date { white-space: nowrap; font-variant-numeric: tabular-nums; }
|
||||
.fin-forecast-label { overflow-wrap: anywhere; }
|
||||
.fin-forecast-foot { display: grid; gap: var(--sp-2); padding: var(--sp-3) var(--sp-4); border-top: 1px solid var(--border); }
|
||||
.fin-forecast-foot .fin-hint svg { vertical-align: -2px; }
|
||||
@container (max-width: 560px) {
|
||||
.fin-forecast thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
|
||||
.fin-forecast, .fin-forecast tbody { display: block; }
|
||||
.fin-forecast tr {
|
||||
display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px 0; align-items: baseline;
|
||||
grid-template-areas: "date date kind kind amount amount" "label label label label label label" "sicher sicher sicher erwartet erwartet erwartet";
|
||||
padding: 10px var(--sp-4); border-bottom: 1px solid var(--border);
|
||||
}
|
||||
.fin-forecast-nobal tr { grid-template-areas: "date date kind kind amount amount" "label label label label label label"; }
|
||||
.fin-forecast tbody tr:last-child { border-bottom: none; }
|
||||
.fin-forecast td, .fin-forecast td:first-child, .fin-forecast td:last-child { display: block; padding: 0; border: 0; min-width: 0; }
|
||||
.fin-forecast tbody tr:hover td { background: transparent; }
|
||||
.fin-forecast-date { grid-area: date; }
|
||||
.fin-forecast-kind { grid-area: kind; }
|
||||
.fin-forecast-amount { grid-area: amount; font-weight: 700; }
|
||||
.fin-forecast-label { grid-area: label; }
|
||||
.fin-forecast td.fin-forecast-sicher, .fin-forecast td.fin-forecast-erwartet {
|
||||
display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--sp-2); font-size: 13px;
|
||||
}
|
||||
.fin-forecast-sicher { grid-area: sicher; }
|
||||
.fin-forecast-erwartet { grid-area: erwartet; }
|
||||
.fin-forecast td.fin-forecast-sicher { padding-right: var(--sp-3); }
|
||||
.fin-forecast td.fin-forecast-erwartet { padding-left: var(--sp-3); }
|
||||
.fin-saldo { margin-left: auto; }
|
||||
.fin-forecast td[data-label]::before { content: attr(data-label); color: var(--text-muted); font-size: 12px; font-weight: 500; white-space: nowrap; }
|
||||
}
|
||||
|
||||
/* Block 4: Steuer */
|
||||
.fin-facts { display: grid; gap: var(--sp-4); }
|
||||
.fin-fact { display: grid; gap: 3px; padding-bottom: var(--sp-4); border-bottom: 1px solid var(--border); }
|
||||
.fin-fact:last-child { padding-bottom: 0; border-bottom: none; }
|
||||
.fin-fact-row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); }
|
||||
.fin-fact-label { color: var(--text-muted); font-size: 13px; }
|
||||
.fin-fact-big { font-size: 24px; font-weight: 800; }
|
||||
.fin-fact-strong { font-size: 16px; font-weight: 700; }
|
||||
.fin-fact-value { font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
|
||||
.fin-fact-unknown { color: var(--warn); }
|
||||
.fin-fact-sub { font-size: 13px; color: var(--text-muted); overflow-wrap: anywhere; }
|
||||
.fin-fact-sub-strong { color: var(--text); }
|
||||
|
||||
/* Block 5: Abos */
|
||||
.fin-abo-card { overflow: hidden; }
|
||||
.fin-stats { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px var(--sp-3); align-items: baseline; padding: var(--sp-4); border-bottom: 1px solid var(--border); }
|
||||
.fin-stat-value { font-size: 20px; font-weight: 800; }
|
||||
.fin-stat-label { color: var(--text-muted); }
|
||||
.fin-stat-label.fin-flag { color: var(--danger); }
|
||||
.fin-stat-label svg { vertical-align: -2px; }
|
||||
.fin-abos { list-style: none; margin: 0; padding: 0; }
|
||||
.fin-abo {
|
||||
display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px var(--sp-3); align-items: baseline;
|
||||
padding: 11px var(--sp-4); border-bottom: 1px solid var(--border);
|
||||
}
|
||||
.fin-abo:last-child { border-bottom: none; }
|
||||
.fin-abo-customer { font-weight: 700; overflow-wrap: anywhere; }
|
||||
.fin-abo-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--sp-3); font-size: 13px; }
|
||||
Reference in new issue
Block a user