/* ══════════════════════════════════════════════════════
   MODO OSCURO — Minimercado Pro
   Se activa con: <html data-tema="oscuro">
   ══════════════════════════════════════════════════════ */

[data-tema="oscuro"] {
  --bg:        #0f172a;
  --bg2:       #1e293b;
  --bg3:       #334155;
  --border:    #334155;
  --text:      #f1f5f9;
  --text2:     #94a3b8;
  --card:      #1e293b;
  --input:     #0f172a;
}

[data-tema="oscuro"] body {
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* Cards y contenedores blancos */
[data-tema="oscuro"] .bg-white,
[data-tema="oscuro"] .bg-slate-50,
[data-tema="oscuro"] .bg-gray-50 {
  background-color: var(--bg2) !important;
}

/* Textos oscuros */
[data-tema="oscuro"] .text-slate-800,
[data-tema="oscuro"] .text-slate-900,
[data-tema="oscuro"] .text-gray-800,
[data-tema="oscuro"] .text-gray-900 {
  color: var(--text) !important;
}

[data-tema="oscuro"] .text-slate-600,
[data-tema="oscuro"] .text-slate-700,
[data-tema="oscuro"] .text-gray-600,
[data-tema="oscuro"] .text-gray-700 {
  color: var(--text2) !important;
}

[data-tema="oscuro"] .text-slate-400,
[data-tema="oscuro"] .text-slate-500 {
  color: #64748b !important;
}

/* Bordes */
[data-tema="oscuro"] .border-slate-100,
[data-tema="oscuro"] .border-slate-200,
[data-tema="oscuro"] .border-gray-100,
[data-tema="oscuro"] .border-gray-200 {
  border-color: var(--border) !important;
}

/* Nav y headers */
[data-tema="oscuro"] nav,
[data-tema="oscuro"] header {
  background: #0f172a !important;
  border-color: #1e293b !important;
}

/* Sidebar */
[data-tema="oscuro"] aside {
  background: #0f172a !important;
}

/* Inputs y selects */
[data-tema="oscuro"] input:not([type="checkbox"]):not([type="radio"]),
[data-tema="oscuro"] select,
[data-tema="oscuro"] textarea {
  background-color: #0f172a !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

[data-tema="oscuro"] input::placeholder,
[data-tema="oscuro"] textarea::placeholder {
  color: #475569 !important;
}

/* Tablas */
[data-tema="oscuro"] table th {
  background: #1e293b !important;
  color: #94a3b8 !important;
}
[data-tema="oscuro"] table td {
  border-color: #334155 !important;
  color: var(--text) !important;
}
[data-tema="oscuro"] tr:hover td {
  background: #1e293b !important;
}

/* Modales */
[data-tema="oscuro"] .rounded-2xl.bg-white,
[data-tema="oscuro"] .rounded-3xl.bg-white,
[data-tema="oscuro"] [class*="rounded-"][class*="bg-white"] {
  background: var(--bg2) !important;
}

/* Fondos de colores suaves */
[data-tema="oscuro"] .bg-slate-100 { background-color: #1e293b !important; }
[data-tema="oscuro"] .bg-slate-200 { background-color: #334155 !important; }
[data-tema="oscuro"] .bg-red-50    { background-color: #1c1010 !important; }
[data-tema="oscuro"] .bg-amber-50  { background-color: #1c1500 !important; }
[data-tema="oscuro"] .bg-purple-50 { background-color: #160f2a !important; }
[data-tema="oscuro"] .bg-green-50  { background-color: #0a1f12 !important; }
[data-tema="oscuro"] .bg-blue-50   { background-color: #0a1628 !important; }
[data-tema="oscuro"] .bg-emerald-50{ background-color: #061a10 !important; }
[data-tema="oscuro"] .bg-sky-50    { background-color: #071520 !important; }

/* POS (ventas) - ya es oscuro, solo ajustes */
[data-tema="oscuro"] .bg-slate-900 { background-color: #020617 !important; }

/* Scrollbar */
[data-tema="oscuro"] ::-webkit-scrollbar { width: 6px; height: 6px; }
[data-tema="oscuro"] ::-webkit-scrollbar-track { background: #0f172a; }
[data-tema="oscuro"] ::-webkit-scrollbar-thumb { background: #334155; border-radius: 3px; }

/* Transición suave */
body, .bg-white, nav, aside, input, select, textarea {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
