/* TIM-OE theme trim + dark contrast fix - 2026-05-07 */

/* Keep only Light / Hellbau / Dark visually if old cached dropdown items survive */
body.timoe-vibiz-admin .timoe-theme-hidden-option { display:none !important; }

/* Stronger dark theme readability for admin categories/cards */
html.dark body.timoe-vibiz-admin main .text-black,
html.dark body.timoe-vibiz-admin main .text-slate-900,
html.dark body.timoe-vibiz-admin main .text-slate-800,
html.dark body.timoe-vibiz-admin main .text-slate-700,
html.dark body.timoe-vibiz-admin main .text-gray-900,
html.dark body.timoe-vibiz-admin main .text-gray-800,
body.timoe-vibiz-admin.theme-dark main .text-black,
body.timoe-vibiz-admin.theme-dark main .text-slate-900,
body.timoe-vibiz-admin.theme-dark main .text-slate-800,
body.timoe-vibiz-admin.theme-dark main .text-slate-700,
body.timoe-vibiz-admin.theme-dark main .text-gray-900,
body.timoe-vibiz-admin.theme-dark main .text-gray-800,
body.timoe-vibiz-admin.dark main .text-black,
body.timoe-vibiz-admin.dark main .text-slate-900,
body.timoe-vibiz-admin.dark main .text-slate-800,
body.timoe-vibiz-admin.dark main .text-slate-700,
body.timoe-vibiz-admin.dark main .text-gray-900,
body.timoe-vibiz-admin.dark main .text-gray-800,
body.timoe-vibiz-admin:has(.theme-dark) main .text-black,
body.timoe-vibiz-admin:has(.theme-dark) main .text-slate-900,
body.timoe-vibiz-admin:has(.theme-dark) main .text-slate-800,
body.timoe-vibiz-admin:has(.theme-dark) main .text-slate-700,
body.timoe-vibiz-admin:has(.theme-dark) main .text-gray-900,
body.timoe-vibiz-admin:has(.theme-dark) main .text-gray-800,
body.timoe-vibiz-admin:has(.dark) main .text-black,
body.timoe-vibiz-admin:has(.dark) main .text-slate-900,
body.timoe-vibiz-admin:has(.dark) main .text-slate-800,
body.timoe-vibiz-admin:has(.dark) main .text-slate-700,
body.timoe-vibiz-admin:has(.dark) main .text-gray-900,
body.timoe-vibiz-admin:has(.dark) main .text-gray-800 {
  color: #f8fafc !important;
}

html.dark body.timoe-vibiz-admin main .text-slate-600,
html.dark body.timoe-vibiz-admin main .text-gray-600,
html.dark body.timoe-vibiz-admin main .text-slate-500,
html.dark body.timoe-vibiz-admin main .text-gray-500,
body.timoe-vibiz-admin.theme-dark main .text-slate-600,
body.timoe-vibiz-admin.theme-dark main .text-gray-600,
body.timoe-vibiz-admin.theme-dark main .text-slate-500,
body.timoe-vibiz-admin.theme-dark main .text-gray-500,
body.timoe-vibiz-admin.dark main .text-slate-600,
body.timoe-vibiz-admin.dark main .text-gray-600,
body.timoe-vibiz-admin.dark main .text-slate-500,
body.timoe-vibiz-admin.dark main .text-gray-500,
body.timoe-vibiz-admin:has(.theme-dark) main .text-slate-600,
body.timoe-vibiz-admin:has(.theme-dark) main .text-gray-600,
body.timoe-vibiz-admin:has(.theme-dark) main .text-slate-500,
body.timoe-vibiz-admin:has(.theme-dark) main .text-gray-500,
body.timoe-vibiz-admin:has(.dark) main .text-slate-600,
body.timoe-vibiz-admin:has(.dark) main .text-gray-600,
body.timoe-vibiz-admin:has(.dark) main .text-slate-500,
body.timoe-vibiz-admin:has(.dark) main .text-gray-500 {
  color: #cbd5e1 !important;
}

/* Common white/soft surfaces inside dark mode -> deep navy so black sections don't look broken */
html.dark body.timoe-vibiz-admin main .bg-white,
html.dark body.timoe-vibiz-admin main .bg-slate-50,
html.dark body.timoe-vibiz-admin main .bg-gray-50,
html.dark body.timoe-vibiz-admin main .bg-neutral-50,
body.timoe-vibiz-admin.theme-dark main .bg-white,
body.timoe-vibiz-admin.theme-dark main .bg-slate-50,
body.timoe-vibiz-admin.theme-dark main .bg-gray-50,
body.timoe-vibiz-admin.theme-dark main .bg-neutral-50,
body.timoe-vibiz-admin.dark main .bg-white,
body.timoe-vibiz-admin.dark main .bg-slate-50,
body.timoe-vibiz-admin.dark main .bg-gray-50,
body.timoe-vibiz-admin.dark main .bg-neutral-50,
body.timoe-vibiz-admin:has(.theme-dark) main .bg-white,
body.timoe-vibiz-admin:has(.theme-dark) main .bg-slate-50,
body.timoe-vibiz-admin:has(.theme-dark) main .bg-gray-50,
body.timoe-vibiz-admin:has(.theme-dark) main .bg-neutral-50,
body.timoe-vibiz-admin:has(.dark) main .bg-white,
body.timoe-vibiz-admin:has(.dark) main .bg-slate-50,
body.timoe-vibiz-admin:has(.dark) main .bg-gray-50,
body.timoe-vibiz-admin:has(.dark) main .bg-neutral-50 {
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(17,24,39,.92)) !important;
  border-color: rgba(51,65,85,.72) !important;
  color: #e5edf8 !important;
}

/* KPI / stat cards in dark should stay readable */
html.dark body.timoe-vibiz-admin .tim-premium-kpi,
body.timoe-vibiz-admin.theme-dark .tim-premium-kpi,
body.timoe-vibiz-admin.dark .tim-premium-kpi,
body.timoe-vibiz-admin:has(.theme-dark) .tim-premium-kpi,
body.timoe-vibiz-admin:has(.dark) .tim-premium-kpi {
  box-shadow: 0 18px 34px rgba(2,6,23,.24) !important;
}

html.dark body.timoe-vibiz-admin .tim-premium-kpi.blue,
body.timoe-vibiz-admin.theme-dark .tim-premium-kpi.blue,
body.timoe-vibiz-admin.dark .tim-premium-kpi.blue,
body.timoe-vibiz-admin:has(.theme-dark) .tim-premium-kpi.blue,
body.timoe-vibiz-admin:has(.dark) .tim-premium-kpi.blue {
  background: linear-gradient(135deg, #0f2344, #123158 68%, #102848) !important;
  border-color: rgba(59,130,246,.28) !important;
}

html.dark body.timoe-vibiz-admin .tim-premium-kpi.blue strong,
html.dark body.timoe-vibiz-admin .tim-premium-kpi.blue span,
html.dark body.timoe-vibiz-admin .tim-premium-kpi.blue em,
body.timoe-vibiz-admin.theme-dark .tim-premium-kpi.blue strong,
body.timoe-vibiz-admin.theme-dark .tim-premium-kpi.blue span,
body.timoe-vibiz-admin.theme-dark .tim-premium-kpi.blue em,
body.timoe-vibiz-admin.dark .tim-premium-kpi.blue strong,
body.timoe-vibiz-admin.dark .tim-premium-kpi.blue span,
body.timoe-vibiz-admin.dark .tim-premium-kpi.blue em,
body.timoe-vibiz-admin:has(.theme-dark) .tim-premium-kpi.blue strong,
body.timoe-vibiz-admin:has(.theme-dark) .tim-premium-kpi.blue span,
body.timoe-vibiz-admin:has(.theme-dark) .tim-premium-kpi.blue em,
body.timoe-vibiz-admin:has(.dark) .tim-premium-kpi.blue strong,
body.timoe-vibiz-admin:has(.dark) .tim-premium-kpi.blue span,
body.timoe-vibiz-admin:has(.dark) .tim-premium-kpi.blue em {
  color: #f8fafc !important;
}

/* Improve dropdown labels if old German label appears */
body.timoe-vibiz-admin .theme-blue-label::after { content: "Hellbau"; }


/* --- 2026-05-07 v3: stronger dark coverage for remaining white blocks --- */
html.dark body.timoe-vibiz-admin main [class*="bg-white/"],
html.dark body.timoe-vibiz-admin main [class*="bg-white"],
html.dark body.timoe-vibiz-admin main [class*="bg-slate-"],
html.dark body.timoe-vibiz-admin main [class*="bg-gray-"],
html.dark body.timoe-vibiz-admin main [class*="bg-neutral-"],
html.dark body.timoe-vibiz-admin main [class*="bg-zinc-"],
html.dark body.timoe-vibiz-admin main [class*="bg-stone-"],
html.dark body.timoe-vibiz-admin main [class*="bg-blue-50"],
html.dark body.timoe-vibiz-admin main [class*="bg-emerald-50"],
html.dark body.timoe-vibiz-admin main [class*="bg-amber-50"],
html.dark body.timoe-vibiz-admin main [class*="bg-red-50"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-white/"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-white"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-slate-"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-gray-"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-neutral-"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-zinc-"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-stone-"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-blue-50"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-emerald-50"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-amber-50"],
body.timoe-vibiz-admin.theme-dark main [class*="bg-red-50"],
body.timoe-vibiz-admin.dark main [class*="bg-white/"],
body.timoe-vibiz-admin.dark main [class*="bg-white"],
body.timoe-vibiz-admin.dark main [class*="bg-slate-"],
body.timoe-vibiz-admin.dark main [class*="bg-gray-"],
body.timoe-vibiz-admin.dark main [class*="bg-neutral-"],
body.timoe-vibiz-admin.dark main [class*="bg-zinc-"],
body.timoe-vibiz-admin.dark main [class*="bg-stone-"],
body.timoe-vibiz-admin.dark main [class*="bg-blue-50"],
body.timoe-vibiz-admin.dark main [class*="bg-emerald-50"],
body.timoe-vibiz-admin.dark main [class*="bg-amber-50"],
body.timoe-vibiz-admin.dark main [class*="bg-red-50"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-white/"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-white"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-slate-"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-gray-"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-neutral-"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-zinc-"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-stone-"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-blue-50"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-emerald-50"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-amber-50"],
body.timoe-vibiz-admin:has(.theme-dark) main [class*="bg-red-50"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-white/"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-white"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-slate-"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-gray-"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-neutral-"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-zinc-"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-stone-"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-blue-50"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-emerald-50"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-amber-50"],
body.timoe-vibiz-admin:has(.dark) main [class*="bg-red-50"] {
  background: linear-gradient(180deg, rgba(10,18,34,.97), rgba(15,23,42,.94)) !important;
  border-color: rgba(51,65,85,.76) !important;
  color: #e5edf8 !important;
}

html.dark body.timoe-vibiz-admin main div[class*="rounded"],
html.dark body.timoe-vibiz-admin main section[class*="rounded"],
html.dark body.timoe-vibiz-admin main article[class*="rounded"],
body.timoe-vibiz-admin.theme-dark main div[class*="rounded"],
body.timoe-vibiz-admin.theme-dark main section[class*="rounded"],
body.timoe-vibiz-admin.theme-dark main article[class*="rounded"],
body.timoe-vibiz-admin.dark main div[class*="rounded"],
body.timoe-vibiz-admin.dark main section[class*="rounded"],
body.timoe-vibiz-admin.dark main article[class*="rounded"],
body.timoe-vibiz-admin:has(.theme-dark) main div[class*="rounded"],
body.timoe-vibiz-admin:has(.theme-dark) main section[class*="rounded"],
body.timoe-vibiz-admin:has(.theme-dark) main article[class*="rounded"],
body.timoe-vibiz-admin:has(.dark) main div[class*="rounded"],
body.timoe-vibiz-admin:has(.dark) main section[class*="rounded"],
body.timoe-vibiz-admin:has(.dark) main article[class*="rounded"] {
  border-color: rgba(51,65,85,.66) !important;
}

html.dark body.timoe-vibiz-admin main div[class*="rounded"][style*="background"],
html.dark body.timoe-vibiz-admin main section[class*="rounded"][style*="background"],
html.dark body.timoe-vibiz-admin main article[class*="rounded"][style*="background"],
body.timoe-vibiz-admin.theme-dark main div[class*="rounded"][style*="background"],
body.timoe-vibiz-admin.theme-dark main section[class*="rounded"][style*="background"],
body.timoe-vibiz-admin.theme-dark main article[class*="rounded"][style*="background"],
body.timoe-vibiz-admin.dark main div[class*="rounded"][style*="background"],
body.timoe-vibiz-admin.dark main section[class*="rounded"][style*="background"],
body.timoe-vibiz-admin.dark main article[class*="rounded"][style*="background"],
body.timoe-vibiz-admin:has(.theme-dark) main div[class*="rounded"][style*="background"],
body.timoe-vibiz-admin:has(.theme-dark) main section[class*="rounded"][style*="background"],
body.timoe-vibiz-admin:has(.theme-dark) main article[class*="rounded"][style*="background"],
body.timoe-vibiz-admin:has(.dark) main div[class*="rounded"][style*="background"],
body.timoe-vibiz-admin:has(.dark) main section[class*="rounded"][style*="background"],
body.timoe-vibiz-admin:has(.dark) main article[class*="rounded"][style*="background"] {
  background: linear-gradient(180deg, rgba(10,18,34,.97), rgba(15,23,42,.94)) !important;
  color: #e5edf8 !important;
}

html.dark body.timoe-vibiz-admin main [style*="background: rgb(255"],
html.dark body.timoe-vibiz-admin main [style*="background-color: rgb(255"],
body.timoe-vibiz-admin.theme-dark main [style*="background: rgb(255"],
body.timoe-vibiz-admin.theme-dark main [style*="background-color: rgb(255"],
body.timoe-vibiz-admin.dark main [style*="background: rgb(255"],
body.timoe-vibiz-admin.dark main [style*="background-color: rgb(255"],
body.timoe-vibiz-admin:has(.theme-dark) main [style*="background: rgb(255"],
body.timoe-vibiz-admin:has(.theme-dark) main [style*="background-color: rgb(255"],
body.timoe-vibiz-admin:has(.dark) main [style*="background: rgb(255"],
body.timoe-vibiz-admin:has(.dark) main [style*="background-color: rgb(255"] {
  background: linear-gradient(180deg, rgba(10,18,34,.97), rgba(15,23,42,.94)) !important;
  color: #e5edf8 !important;
}

html.dark body.timoe-vibiz-admin main .border-slate-100,
html.dark body.timoe-vibiz-admin main .border-slate-200,
html.dark body.timoe-vibiz-admin main .border-gray-100,
html.dark body.timoe-vibiz-admin main .border-gray-200,
html.dark body.timoe-vibiz-admin main .border-neutral-100,
html.dark body.timoe-vibiz-admin main .border-neutral-200,
body.timoe-vibiz-admin.theme-dark main .border-slate-100,
body.timoe-vibiz-admin.theme-dark main .border-slate-200,
body.timoe-vibiz-admin.theme-dark main .border-gray-100,
body.timoe-vibiz-admin.theme-dark main .border-gray-200,
body.timoe-vibiz-admin.theme-dark main .border-neutral-100,
body.timoe-vibiz-admin.theme-dark main .border-neutral-200,
body.timoe-vibiz-admin.dark main .border-slate-100,
body.timoe-vibiz-admin.dark main .border-slate-200,
body.timoe-vibiz-admin.dark main .border-gray-100,
body.timoe-vibiz-admin.dark main .border-gray-200,
body.timoe-vibiz-admin.dark main .border-neutral-100,
body.timoe-vibiz-admin.dark main .border-neutral-200,
body.timoe-vibiz-admin:has(.theme-dark) main .border-slate-100,
body.timoe-vibiz-admin:has(.theme-dark) main .border-slate-200,
body.timoe-vibiz-admin:has(.theme-dark) main .border-gray-100,
body.timoe-vibiz-admin:has(.theme-dark) main .border-gray-200,
body.timoe-vibiz-admin:has(.theme-dark) main .border-neutral-100,
body.timoe-vibiz-admin:has(.theme-dark) main .border-neutral-200,
body.timoe-vibiz-admin:has(.dark) main .border-slate-100,
body.timoe-vibiz-admin:has(.dark) main .border-slate-200,
body.timoe-vibiz-admin:has(.dark) main .border-gray-100,
body.timoe-vibiz-admin:has(.dark) main .border-gray-200,
body.timoe-vibiz-admin:has(.dark) main .border-neutral-100,
body.timoe-vibiz-admin:has(.dark) main .border-neutral-200 {
  border-color: rgba(51,65,85,.76) !important;
}

html.dark body.timoe-vibiz-admin main h1,
html.dark body.timoe-vibiz-admin main h2,
html.dark body.timoe-vibiz-admin main h3,
html.dark body.timoe-vibiz-admin main h4,
html.dark body.timoe-vibiz-admin main h5,
html.dark body.timoe-vibiz-admin main h6,
html.dark body.timoe-vibiz-admin main label,
html.dark body.timoe-vibiz-admin main strong,
body.timoe-vibiz-admin.theme-dark main h1,
body.timoe-vibiz-admin.theme-dark main h2,
body.timoe-vibiz-admin.theme-dark main h3,
body.timoe-vibiz-admin.theme-dark main h4,
body.timoe-vibiz-admin.theme-dark main h5,
body.timoe-vibiz-admin.theme-dark main h6,
body.timoe-vibiz-admin.theme-dark main label,
body.timoe-vibiz-admin.theme-dark main strong,
body.timoe-vibiz-admin.dark main h1,
body.timoe-vibiz-admin.dark main h2,
body.timoe-vibiz-admin.dark main h3,
body.timoe-vibiz-admin.dark main h4,
body.timoe-vibiz-admin.dark main h5,
body.timoe-vibiz-admin.dark main h6,
body.timoe-vibiz-admin.dark main label,
body.timoe-vibiz-admin.dark main strong,
body.timoe-vibiz-admin:has(.theme-dark) main h1,
body.timoe-vibiz-admin:has(.theme-dark) main h2,
body.timoe-vibiz-admin:has(.theme-dark) main h3,
body.timoe-vibiz-admin:has(.theme-dark) main h4,
body.timoe-vibiz-admin:has(.theme-dark) main h5,
body.timoe-vibiz-admin:has(.theme-dark) main h6,
body.timoe-vibiz-admin:has(.theme-dark) main label,
body.timoe-vibiz-admin:has(.theme-dark) main strong,
body.timoe-vibiz-admin:has(.dark) main h1,
body.timoe-vibiz-admin:has(.dark) main h2,
body.timoe-vibiz-admin:has(.dark) main h3,
body.timoe-vibiz-admin:has(.dark) main h4,
body.timoe-vibiz-admin:has(.dark) main h5,
body.timoe-vibiz-admin:has(.dark) main h6,
body.timoe-vibiz-admin:has(.dark) main label,
body.timoe-vibiz-admin:has(.dark) main strong {
  color: #f8fafc !important;
}

/* --- 2026-05-07 v4: JS-marked surfaces, final fallback --- */
body.timoe-vibiz-admin main .timoe-force-dark-surface {
  background: linear-gradient(180deg, rgba(10,18,34,.98), rgba(15,23,42,.94)) !important;
  background-color: rgb(15,23,42) !important;
  border-color: rgba(51,65,85,.78) !important;
  color: #e5edf8 !important;
  box-shadow: 0 16px 34px rgba(2,6,23,.22) !important;
}
body.timoe-vibiz-admin main .timoe-force-dark-surface *:not(button):not(a):not(svg):not(path):not(input):not(select):not(textarea) {
  color: inherit !important;
}
body.timoe-vibiz-admin main .timoe-force-dark-text { color: #f8fafc !important; }


/* --- 2026-05-07 v6: theme dropdown visibility on light theme --- */
body.timoe-vibiz-admin header.sticky .absolute.right-0.mt-3 button[class*="bg-slate-900"],
body.timoe-vibiz-admin header.sticky div[class*="absolute"][class*="right-0"][class*="mt-3"][class*="w-56"] button[class*="bg-slate-900"] {
  color: #ffffff !important;
}
body.timoe-vibiz-admin header.sticky .absolute.right-0.mt-3 button[class*="bg-slate-900"] *,
body.timoe-vibiz-admin header.sticky div[class*="absolute"][class*="right-0"][class*="mt-3"][class*="w-56"] button[class*="bg-slate-900"] * {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
body.timoe-vibiz-admin header.sticky .absolute.right-0.mt-3 button:not([class*="bg-slate-900"]),
body.timoe-vibiz-admin header.sticky div[class*="absolute"][class*="right-0"][class*="mt-3"][class*="w-56"] button:not([class*="bg-slate-900"]) {
  color: #111827 !important;
}
body.timoe-vibiz-admin header.sticky .absolute.right-0.mt-3 button:not([class*="bg-slate-900"]) *,
body.timoe-vibiz-admin header.sticky div[class*="absolute"][class*="right-0"][class*="mt-3"][class*="w-56"] button:not([class*="bg-slate-900"]) * {
  color: inherit !important;
}
