:root { --farbe: #1f2937; --akzent: #e11d48; }
body { background: #f3f4f6; }
.navbar-redlens { background: var(--farbe); }
.navbar-redlens .navbar-brand { color: #fff; font-weight: 700; letter-spacing: .02em; }
.navbar-redlens .navbar-brand span { color: var(--akzent); }
.navbar-redlens .nav-link { color: #d1d5db; }
.navbar-redlens .nav-link.aktiv, .navbar-redlens .nav-link:hover { color: #fff; }
main.container { padding-top: 1.5rem; padding-bottom: 3rem; }
.karte { background: #fff; border-radius: .6rem; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.karte-kopf { padding: .7rem 1rem; border-bottom: 1px solid #eef0f2; display: flex; justify-content: space-between; align-items: center; }
.karte-inhalt { padding: .9rem 1rem; }
.kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 1fr); gap: 1rem; align-items: start; overflow-x: auto; }
.spalte { background: #e5e7eb; border-radius: .6rem; padding: .6rem; min-height: 14rem; }
.spalte h2 { font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; color: #4b5563; margin: .2rem .3rem .6rem; display: flex; justify-content: space-between; }
.spalte-liste { min-height: 8rem; }
.aufgabe { background: #fff; border-radius: .45rem; padding: .6rem .7rem; margin-bottom: .55rem; box-shadow: 0 1px 2px rgba(0,0,0,.08); cursor: grab; border-left: 4px solid #9ca3af; }
.aufgabe[data-status=wartet] { border-left-color: #f59e0b; }
.aufgabe[data-status=bearbeitung] { border-left-color: #3b82f6; }
.aufgabe[data-status=erledigt] { border-left-color: #10b981; opacity: .7; }
.aufgabe .titel { font-weight: 600; }
.aufgabe .meta { font-size: .78rem; color: #6b7280; }
.aufgabe .ueberfaellig { color: #dc2626; font-weight: 600; }
.sortable-ghost { opacity: .35; }
.sortable-chosen { cursor: grabbing; }
.betrag { font-variant-numeric: tabular-nums; white-space: nowrap; }
.tabelle th { font-size: .78rem; text-transform: uppercase; color: #6b7280; font-weight: 600; }
