/* Lumina Digital — Dashboard Dark Theme
   Scoped under .db-dark so other pages are unaffected.
   Body gets .page-dashboard for modals/forms outside the wrapper. */

/* ── Lumina Design Tokens ─────────────────────────────────── */
.db-dark {
  --db-surface:          #171f33;
  --db-surface-high:     #222a3d;
  --db-surface-highest:  #2d3449;
  --db-border:           rgba(255, 255, 255, 0.08);
  --db-border-strong:    rgba(255, 255, 255, 0.12);
  --db-primary:          #4d8eff;
  --db-primary-light:    #adc6ff;
  --db-text:             #dae2fd;
  --db-text-muted:       #c2c6d6;
  --db-text-dim:         #8c909f;
  color: var(--db-text);
}

/* ── Content area background override ────────────────────── */
.content-area:has(.db-dark) {
  background: #0b1326 !important;
}

/* ── Typography ──────────────────────────────────────────── */
.db-dark h1, .db-dark h2, .db-dark h3, .db-dark h4, .db-dark h5 {
  color: var(--db-text);
  letter-spacing: -0.01em;
}
.db-dark p, .db-dark small { color: var(--db-text-muted); }
.db-dark .text-muted       { color: var(--db-text-dim) !important; }
.db-dark .text-primary     { color: var(--db-primary-light) !important; }
.db-dark .text-success     { color: #4ade80 !important; }
.db-dark .text-warning     { color: #fbbf24 !important; }
.db-dark .text-danger      { color: #f87171 !important; }
.db-dark .text-info        { color: #38bdf8 !important; }
.db-dark .text-secondary   { color: var(--db-text-muted) !important; }
.db-dark .fw-600           { color: var(--db-text); }

/* ── Onboarding / Alert Banner ───────────────────────────── */
.db-dark .alert-primary {
  background: linear-gradient(135deg, rgba(77,142,255,0.12), rgba(77,142,255,0.05)) !important;
  border: 1px solid rgba(77,142,255,0.25) !important;
  color: var(--db-text) !important;
  border-radius: 12px;
}
.db-dark .alert-primary .text-primary { color: var(--db-primary-light) !important; }
.db-dark .alert-primary .text-muted   { color: var(--db-text-dim) !important; }
.db-dark .alert-primary .progress { background: rgba(255,255,255,0.08); }
.db-dark .alert-warning {
  background: rgba(245,158,11,0.08) !important;
  border: 1px solid rgba(245,158,11,0.2) !important;
  color: #fcd34d !important;
  border-radius: 12px;
}

/* ── Portfolio Cards ─────────────────────────────────────── */
.db-dark .portfolio-card {
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 12px;
  transition: box-shadow 0.2s, border-color 0.2s, transform 0.15s;
}
.db-dark .portfolio-card:hover {
  border-color: rgba(77,142,255,0.3);
  box-shadow: 0 0 24px rgba(77,142,255,0.1);
  transform: translateY(-1px);
}
.db-dark .portfolio-card--warn {
  background: rgba(251,191,36,0.06);
  border-color: rgba(251,191,36,0.2);
}
.db-dark .portfolio-num   { color: var(--db-text); font-weight: 700; }
.db-dark .portfolio-label { color: var(--db-text-muted); }
.db-dark .portfolio-sub   { color: var(--db-text-dim); }
.db-dark .portfolio-sub span { color: var(--db-text); font-weight: 600; }

/* ── Cards (Level 1 surface) ─────────────────────────────── */
.db-dark .card {
  background: var(--db-surface);
  border: 1px solid var(--db-border);
  border-radius: 12px;
  box-shadow: none;
}
.db-dark .card-header {
  background: var(--db-surface-high);
  border-bottom: 1px solid var(--db-border);
  color: var(--db-text);
  border-radius: 12px 12px 0 0;
}
.db-dark .card-header .text-muted { color: var(--db-text-dim) !important; }

/* ── Tables ──────────────────────────────────────────────── */
.db-dark .table {
  color: var(--db-text);
  --bs-table-hover-bg: rgba(255,255,255,0.04);
  --bs-table-bg: transparent;
  --bs-table-striped-bg: transparent;
  --bs-table-border-color: var(--db-border);
}
.db-dark .table th {
  color: var(--db-text-muted);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  border-bottom-color: var(--db-border-strong);
  background: transparent;
}
.db-dark .table td { border-bottom-color: var(--db-border); color: var(--db-text); }
.db-dark .table td .text-muted { color: var(--db-text-dim) !important; }
.db-dark .table td small { color: var(--db-text-dim); }
.db-dark .table-light { --bs-table-bg: var(--db-surface-high) !important; color: var(--db-text-muted); }
.db-dark .ir-table-row:hover > td { background: rgba(77,142,255,0.05) !important; }

/* ── Status Badges ───────────────────────────────────────── */
.db-dark .badge.status-neu,
.db-dark .badge.status-offen        { background: rgba(59,130,246,0.15); color: #93c5fd; }
.db-dark .badge.status-triagiert    { background: rgba(99,102,241,0.15); color: #a5b4fc; }
.db-dark .badge.status-freigegeben  { background: rgba(245,158,11,0.15); color: #fcd34d; }
.db-dark .badge.status-zugewiesen   { background: rgba(77,142,255,0.15); color: var(--db-primary-light); }
.db-dark .badge.status-terminiert   { background: rgba(236,72,153,0.15); color: #f9a8d4; }
.db-dark .badge.status-inbearbeitung{ background: rgba(249,115,22,0.15); color: #fdba74; }
.db-dark .badge.status-erledigt,
.db-dark .badge.status-abgeschlossen{ background: rgba(16,185,129,0.15); color: #6ee7b7; }
.db-dark .badge.status-abgelehnt    { background: rgba(239,68,68,0.15);  color: #fca5a5; }

.db-dark .badge.prioritaet-tief,
.db-dark .badge.prioritaet-niedrig  { background: rgba(148,163,184,0.12); color: #94a3b8; }
.db-dark .badge.prioritaet-mittel   { background: rgba(245,158,11,0.12);  color: #fcd34d; }
.db-dark .badge.prioritaet-hoch     { background: rgba(249,115,22,0.12);  color: #fdba74; }
.db-dark .badge.prioritaet-kritisch,
.db-dark .badge.prioritaet-dringend { background: rgba(239,68,68,0.12);   color: #fca5a5; }

.db-dark .badge.bg-danger    { background: rgba(239,68,68,0.18) !important;   color: #fca5a5 !important; }
.db-dark .badge.bg-warning   { background: rgba(245,158,11,0.18) !important;  color: #fcd34d !important; }
.db-dark .badge.bg-secondary { background: rgba(148,163,184,0.15) !important; color: #94a3b8 !important; }
.db-dark .badge.bg-light     { background: var(--db-surface-highest) !important; color: var(--db-text-muted) !important; border-color: var(--db-border) !important; }

/* ── Tabs (Leerstand / Aufgaben) ─────────────────────────── */
.db-dark .border-bottom { border-bottom-color: var(--db-border) !important; }
.db-dark .border-top    { border-top-color: var(--db-border) !important; }
.db-dark .leerstand-tab { color: var(--db-text-dim); }
.db-dark .leerstand-tab:hover { color: var(--db-text); }
.db-dark .leerstand-tab.active {
  color: var(--db-primary-light);
  border-bottom-color: var(--db-primary);
}
.db-dark .tab-badge {
  background: rgba(77,142,255,0.15);
  color: var(--db-primary-light);
}

/* ── Leerstand / Aufgaben Rows ───────────────────────────── */
.db-dark .leerstand-row {
  border-bottom-color: var(--db-border);
  color: var(--db-text);
}
.db-dark .leerstand-row:hover { background: rgba(255,255,255,0.03); }
.db-dark .leerstand-row .text-muted { color: var(--db-text-dim) !important; }
.db-dark .leerstand-row a.text-primary { color: var(--db-primary-light) !important; }

.db-dark .aufgabe-row { border-bottom-color: var(--db-border); color: var(--db-text); }
.db-dark .aufgabe-row:hover { background: rgba(255,255,255,0.03); }
.db-dark .aufgabe-row--late { background: rgba(239,68,68,0.05); }
.db-dark .aufgabe-row .text-muted  { color: var(--db-text-dim) !important; }
.db-dark .aufgabe-row .text-danger { color: #f87171 !important; }

.db-dark .aufgabe-prio--tief    { background: rgba(148,163,184,0.12); color: #94a3b8; }
.db-dark .aufgabe-prio--mittel  { background: rgba(245,158,11,0.12);  color: #fcd34d; }
.db-dark .aufgabe-prio--hoch    { background: rgba(249,115,22,0.12);  color: #fdba74; }
.db-dark .aufgabe-prio--kritisch{ background: rgba(239,68,68,0.12);   color: #fca5a5; }

.db-dark .btn-aufgabe-check {
  border-color: var(--db-border-strong);
  color: var(--db-text-dim);
}
.db-dark .btn-aufgabe-check:hover { border-color: #4ade80; color: #4ade80; }

/* ── Buttons ─────────────────────────────────────────────── */
.db-dark .btn-primary {
  background: var(--db-primary);
  border-color: var(--db-primary);
  color: #fff;
}
.db-dark .btn-primary:hover {
  background: #3a7ae8;
  border-color: #3a7ae8;
  box-shadow: 0 0 12px rgba(77,142,255,0.4);
}
.db-dark .btn-outline-primary {
  color: var(--db-primary-light);
  border-color: rgba(77,142,255,0.35);
}
.db-dark .btn-outline-primary:hover {
  background: rgba(77,142,255,0.12);
  color: var(--db-primary-light);
  border-color: var(--db-primary);
}
.db-dark .btn-outline-secondary, .db-dark .btn-secondary {
  background: transparent;
  color: var(--db-text-muted);
  border-color: var(--db-border-strong);
}
.db-dark .btn-outline-secondary:hover {
  background: var(--db-surface-highest);
  color: var(--db-text);
  border-color: rgba(255,255,255,0.18);
}
.db-dark .btn-close { filter: invert(1) brightness(0.7); }

/* ── Dropdown (portfolio label info) ─────────────────────── */
.db-dark .dropdown-menu {
  background: var(--db-surface-high);
  border-color: var(--db-border-strong);
}
.db-dark .dropdown-item { color: var(--db-text-muted); }
.db-dark .dropdown-item:hover { background: var(--db-surface-highest); color: var(--db-text); }

/* ── Chart legend ────────────────────────────────────────── */
.db-dark #chartLegend span.small { color: var(--db-text-muted); }
.db-dark #chartLegend .fw-600    { color: var(--db-text-muted); }

/* ── Modal (needs body class since modal is outside wrapper) ── */
.page-dashboard .modal-content {
  background: #1e2b44;
  border: 1px solid rgba(255,255,255,0.12);
  color: #dae2fd;
  border-radius: 14px;
}
.page-dashboard .modal-header {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: #dae2fd;
}
.page-dashboard .modal-footer {
  border-top: 1px solid rgba(255,255,255,0.08);
}
.page-dashboard .modal-title { color: #dae2fd; }
.page-dashboard .form-label  { color: #c2c6d6; }
.page-dashboard .form-control,
.page-dashboard .form-select {
  background: #131b2e;
  border-color: rgba(255,255,255,0.1);
  color: #dae2fd;
  border-radius: 8px;
}
.page-dashboard .form-control::placeholder { color: #8c909f; }
.page-dashboard .form-control:focus,
.page-dashboard .form-select:focus {
  background: #1a2540;
  border-color: rgba(77,142,255,0.5);
  box-shadow: 0 0 0 3px rgba(77,142,255,0.15);
  color: #dae2fd;
}
.page-dashboard .text-danger { color: #f87171; }
