/**
 * Light mode: html does NOT have .dark (Tailwind class strategy).
 * Compensate for existing templates that use dark-only slate utilities.
 */
html:not(.dark) [class*='bg-slate-950/80'],
html:not(.dark) [class~='bg-slate-950/80'] {
  background-color: rgba(255, 255, 255, 0.85) !important;
}
html:not(.dark) [class*='bg-slate-950'] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250) !important;
}
html:not(.dark) [class*='bg-slate-900/60'] {
  background-color: rgba(255, 255, 255, 0.95) !important;
}
html:not(.dark) [class*='bg-slate-900/70'] {
  background-color: rgba(255, 255, 255, 0.92) !important;
}
html:not(.dark) [class*='bg-slate-900/80'] {
  background-color: rgba(255, 255, 255, 0.95) !important;
}
html:not(.dark) [class*='bg-slate-900/90'] {
  background-color: rgba(255, 255, 255, 0.9) !important;
}
html:not(.dark) [class~='bg-slate-900'] {
  background-color: rgb(248 250 252) !important;
}
html:not(.dark) [class*='bg-slate-800/'] {
  background-color: rgba(241 245 249, 0.95) !important;
}
html:not(.dark) [class~='bg-slate-800'] {
  background-color: rgb(241 245 249) !important;
}
html:not(.dark) [class~='hover:bg-slate-900/80']:hover,
html:not(.dark) [class*='hover:bg-slate-900/80']:hover {
  background-color: rgba(241, 245, 249, 0.95) !important;
}
html:not(.dark) [class~='hover:bg-slate-700/60'],
html:not(.dark) [class~='hover:bg-slate-700/60'] {
  --tw-shadow: 0 0 #0000;
}
html:not(.dark) [class*='hover:bg-slate-700/60']:hover,
html:not(.dark) [class~='hover:bg-slate-700/60']:hover,
html:not(.dark) [class~='hover:bg-slate-700/']:hover,
html:not(.dark) [class~='hover:bg-slate-700'] {
  --tw-brightness: 1;
}
html:not(.dark) [class*='hover:bg-slate-700/60']:hover,
html:not(.dark) [class~='hover:bg-slate-700/60']:hover {
  background-color: rgba(203 213 225, 0.8) !important;
}
html:not(.dark) [class*='hover:bg-slate-700/']:hover {
  background-color: rgb(226 232 240) !important;
}
html:not(.dark) [class~='hover:bg-slate-800/60']:hover,
html:not(.dark) [class*='hover:bg-slate-800/60']:hover {
  background-color: rgba(241, 245, 249, 0.95) !important;
}
html:not(.dark) [class~='text-slate-100'] { color: rgb(15 23 42) !important; }
html:not(.dark) [class~='text-slate-200'] { color: rgb(30 41 59) !important; }
html:not(.dark) [class~='text-slate-300'] { color: rgb(51 65 85) !important; }
html:not(.dark) [class~='text-slate-400'] { color: rgb(71 85 105) !important; }
html:not(.dark) [class~='text-slate-500'] { color: rgb(100 116 139) !important; }
html:not(.dark) [class~='text-slate-600'] { color: rgb(71 85 105) !important; }
html:not(.dark) [class~='text-slate-200'][class*='hover:']:hover { color: rgb(15 23 42) !important; }
html:not(.dark) [class*='hover:text-slate-200'][class~='text-slate-200']:hover,
html:not(.dark) [class*='hover:text-slate-200']:hover { color: rgb(30 41 59) !important; }
html:not(.dark) [class~='text-slate-200'][class*='mt-0'] { color: rgb(30 41 59) !important; }
html:not(.dark) [class~='text-slate-200'][class*='line-clamp'] { color: rgb(30 41 59) !important; }
/* Borders & dividers */
html:not(.dark) [class~='border-slate-800'],
html:not(.dark) [class~='border-slate-800/'] {
  border-color: rgb(226 232 240) !important;
}
html:not(.dark) [class~='border-slate-700'] {
  border-color: rgb(203 213 225) !important;
}
html:not(.dark) [class~='border-slate-600'] {
  border-color: rgb(203 213 225) !important;
}
html:not(.dark) [class~='border-slate-800/80'] {
  border-color: rgba(203, 213, 225, 0.9) !important;
}
html:not(.dark) [class~='hover:border-slate-700'] {
  border-color: rgb(226 232 240) !important;
}
html:not(.dark) [class~='hover:border-slate-700']:hover {
  border-color: rgba(138, 43, 226, 0.35) !important;
}
/* Table row hover (transactions, categories) */
html:not(.dark) tbody tr:hover,
html:not(.dark) tr[class*='hover:bg-slate-900']:hover {
  background-color: rgba(241, 245, 249, 0.7) !important;
}
/* Forms: inputs use text-slate-100/200 in dark; force readable in light */
html:not(.dark) [class~='text-slate-100'][class~='px-2'],
html:not(.dark) [class~='text-slate-100'][class~='px-3'],
html:not(.dark) [class~='text-slate-100'][class~='text-sm'] {
  color: rgb(15 23 42) !important;
}
/* Brand nav active (mobile) */
html:not(.dark) [class*='bg-brand-500/20'] {
  background-color: rgba(138, 43, 226, 0.12) !important;
}
html:not(.dark) a[class*='text-brand-200'] {
  color: rgb(91 33 182) !important;
}
/* Month forecast strip */
html:not(.dark) [class*='from-brand-900/40'] {
  background: linear-gradient(to bottom right, rgba(237, 233, 254, 0.9), rgba(255, 255, 255, 0.95)) !important;
  border-color: rgba(196, 181, 253, 0.5) !important;
}
/* Bar track backgrounds in dashboard */
html:not(.dark) [class~='bg-slate-800'][class~='h-1.5'],
html:not(.dark) [class~='bg-slate-800'][class~='overflow-hidden'] {
  background-color: rgb(226 232 240) !important;
}
html:not(.dark) [class~='bg-slate-800'][class~='rounded'] { background-color: rgb(226 232 240) !important; }
/* Dashed cards */
html:not(.dark) [class*='border-dashed'] {
  border-color: rgb(203 213 225) !important;
}
/* Autosync strip */
html:not(.dark) [id='ff-autosync-track'] {
  background: rgb(241 245 249) !important;
}
/* Scrollbar: light (also in app.css) */
html:not(.dark) * {
  scrollbar-color: rgb(203 213 225) rgb(248 250 252);
}
