Finanzen: Statuszeile, Liquiditaetskopf und Aufgabenliste

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-01 15:12:18 +00:00
1 parent 0069a62a09
commit 88a98b858f
10 files changed
+1001 -111

No files matched your search

+58
View File
@@ -1147,3 +1147,61 @@ textarea.form-control {
.legal-form-row { grid-template-columns: 1fr; }
.legal-contracts { display: block; overflow-x: auto; }
}
/* --- Finanzen --- */
.fin-amount { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fin-stack { display: flex; flex-direction: column; gap: var(--sp-5); }
.fin-stack .kpi-grid { margin-bottom: 0; }
.fin-spin { animation: spin 1s linear infinite; }
.fin-hint { margin: 0; font-size: 13px; color: var(--text-muted); }
.fin-hint-warn { color: var(--warn); }
.fin-flag { color: var(--danger); font-weight: 700; }
.fin-link {
background: none; border: 0; padding: 0; font: inherit; cursor: pointer;
color: var(--accent); display: inline-flex; align-items: center; gap: 6px;
text-decoration: underline; text-underline-offset: 2px;
}
.fin-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 4px; }
/* Block 0: Statuszeile */
.fin-status-wrap { display: flex; flex-direction: column; gap: var(--sp-2); }
.fin-status {
display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-3);
padding: 10px 14px; font-size: 13px; color: var(--text-muted);
background: var(--surface-1); border: 1px solid var(--border); border-radius: var(--r-md);
}
.fin-status-items { display: flex; flex-wrap: wrap; gap: 4px var(--sp-4); min-width: 0; }
.fin-status-item { display: inline-flex; align-items: center; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.fin-status-warn { color: var(--warn); font-weight: 600; }
/* Block 1: Liquiditaetskopf */
.fin-head .kpi-value { font-variant-numeric: tabular-nums; }
.fin-breakdown { list-style: none; margin: var(--sp-2) 0 0; padding: 0; display: grid; gap: 4px; color: var(--text-muted); }
.fin-breakdown li { display: flex; justify-content: space-between; gap: var(--sp-3); }
.fin-breakdown .fin-amount { color: var(--text); }
.fin-breakdown-total { border-top: 1px solid var(--border-strong); padding-top: 4px; font-weight: 700; color: var(--text); }
.fin-lows { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 6px 10px; align-items: baseline; font-size: 14px; font-weight: 600; }
.fin-low { display: contents; }
.fin-low-label { color: var(--text-muted); }
.fin-low .fin-amount { font-size: 20px; font-weight: 800; }
.fin-low-when { color: var(--text-muted); font-size: 13px; font-weight: 500; }
/* Block 2: Zu erledigen */
.fin-todo-card { overflow: hidden; }
.fin-todos { list-style: none; margin: 0; padding: 0; }
.fin-todo {
display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: var(--sp-3); align-items: start;
padding: 12px var(--sp-4); border-bottom: 1px solid var(--border); border-left: 3px solid var(--border);
}
.fin-todo:last-child { border-bottom: none; }
.fin-todo-hoch { border-left-color: var(--danger); }
.fin-todo-mittel { border-left-color: var(--warn); }
.fin-todo .badge { justify-self: start; }
.fin-todo-title { font-weight: 700; }
.fin-todo-text { font-size: 13px; margin-top: 2px; overflow-wrap: anywhere; }
.fin-todo .fin-hint { margin-top: 6px; }
.fin-todos-more { padding: var(--sp-3) var(--sp-4); border-top: 1px solid var(--border); }
@media (max-width: 720px) {
.fin-todo { grid-template-columns: minmax(0, 1fr); gap: var(--sp-2); }
.fin-todo .ui-btn { justify-self: start; }
}