/* ═══════════════════════════════════════════════════════════════
   SOLUCENTRO — Sistema de temas Light / Dark
   Transición en vivo sin recarga de página
   ═══════════════════════════════════════════════════════════════ */

/* ── Transición global suave para cambio de tema ── */
*, *::before, *::after {
  transition:
    background-color 0.35s ease,
    background 0.35s ease,
    border-color 0.35s ease,
    color 0.35s ease,
    box-shadow 0.35s ease !important;
}
/* Excluir animaciones que no deben verse afectadas */
.hero::before, .hero::after,
[class*="anim"], [class*="float"],
.bottom-nav, .modal-overlay,
svg, img, video { transition: none !important; }

/* ══════════════════════════════════════════════════
   MODO LIGHT (default)
   ══════════════════════════════════════════════════ */
:root {
  /* ══════════════════════════════════════════════════════════════
     SISTEMA DE TOKENS — auditoría estética v4.11.0
     Adoptar gradualmente. Reemplazan valores sueltos de radio/tipo/espaciado.
     ══════════════════════════════════════════════════════════════ */

  /* ── Radio ───────────────────────────── */
  --r-xs: 6px;       /* chips, badges chicos */
  --r-sm: 10px;      /* inputs, cards chicas   (absorbe 8/9/10/11) */
  --r-md: 14px;      /* cards                  (absorbe 12/13/14/16) */
  --r-lg: 20px;      /* heroes, paneles grandes(absorbe 18/20/22/24) */
  --r-pill: 999px;   /* pills, botones redondos */
  --r-circle: 50%;   /* avatares */

  /* ── Tipografía (escala, no valores sueltos) ── */
  --fs-2xs: 0.68rem; /* meta, timestamps */
  --fs-xs:  0.78rem; /* captions, labels */
  --fs-sm:  0.85rem; /* texto secundario */
  --fs-base:0.95rem; /* cuerpo */
  --fs-md:  1.1rem;  /* subtítulos */
  --fs-lg:  1.3rem;  /* títulos de sección */
  --fs-xl:  1.6rem;  /* títulos grandes */
  --fs-2xl: 2rem;    /* destacados */
  --fs-display: clamp(2.2rem, 5vw, 3.4rem); /* hero H1 */

  /* ── Espaciado (base 4px) ───────────── */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px;
  --sp-12: 48px; --sp-16: 64px;

  /* ── Familia display (títulos / números) ── */
  --font-display: 'Space Grotesk', 'Plus Jakarta Sans', sans-serif;

  /* ── Amarillo: escala de acento (uso restringido) ── */
  --amarillo-600: #f59e0b;  /* hover del CTA principal */
  --amarillo-ink: #facc15;  /* texto amarillo sobre fondo oscuro (raro) */

  /* Superficie */
  --bg-page:       #f0f2f5;
  --bg-card:       #ffffff;
  --bg-card-alt:   #f8f9fb;
  --bg-input:      #f5f6f8;
  --bg-hover:      #f0f1f4;

  /* Texto */
  --tx-primary:    #0d0d0d;
  --tx-secondary:  #4a5568;
  --tx-muted:      #8896a5;
  --tx-placeholder:#a0aec0;

  /* Bordes */
  --bd-color:      #e2e6ed;
  --bd-strong:     #c8cdd6;

  /* Sombras */
  --sh-card:       0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.07), 0 0 0 1px rgba(0,0,0,0.03);
  --sh-hover:      0 4px 8px rgba(0,0,0,0.08), 0 16px 40px rgba(0,0,0,0.12);
  --sh-modal:      0 8px 32px rgba(0,0,0,0.16), 0 0 0 1px rgba(0,0,0,0.04);
  --sh-nav:        0 1px 0 rgba(0,0,0,0.06), 0 4px 20px rgba(0,0,0,0.08);

  /* Section header line */
  --line-color:    linear-gradient(to right, #d0d5de, transparent);

  /* Scrollbar */
  --sb-track:      #eef0f3;
  --sb-thumb:      #c8cdd6;
}

/* ══════════════════════════════════════════════════
   MODO DARK
   ══════════════════════════════════════════════════ */
[data-theme="dark"] {
  --amarillo-bg: rgba(251,191,36,0.15);  /* pastel → semitransparente en dark */
  /* Superficie — gris azulado semi-transparente, no negro puro */
  --bg-page:       #13141a;
  --bg-card:       rgba(255,255,255,0.05);
  --bg-card-alt:   rgba(255,255,255,0.03);
  --bg-input:      rgba(255,255,255,0.06);
  --bg-hover:      rgba(255,255,255,0.07);

  /* Texto */
  --tx-primary:    #eef0f5;
  --tx-secondary:  #8b95a8;
  --tx-muted:      #5a6478;
  --tx-placeholder:#4a5568;

  /* Bordes */
  --bd-color:      rgba(255,255,255,0.08);
  --bd-strong:     rgba(255,255,255,0.14);

  /* Sombras */
  --sh-card:       0 1px 0 rgba(255,255,255,0.04), 0 4px 24px rgba(0,0,0,0.4);
  --sh-hover:      0 1px 0 rgba(255,255,255,0.06), 0 8px 40px rgba(0,0,0,0.55);
  --sh-modal:      0 8px 40px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.06);
  --sh-nav:        0 1px 0 rgba(255,255,255,0.04), 0 4px 24px rgba(0,0,0,0.4);

  /* Section header line */
  --line-color:    linear-gradient(to right, rgba(255,255,255,0.12), transparent);

  /* Scrollbar */
  --sb-track:      rgba(255,255,255,0.03);
  --sb-thumb:      rgba(255,255,255,0.1);
}

/* ══════════════════════════════════════════════════
   APLICACIÓN DE VARIABLES A ELEMENTOS
   ══════════════════════════════════════════════════ */

html, body {
  background-color: var(--bg-page) !important;
  background-image: none !important;
  color: var(--tx-primary);
}

[data-theme="dark"] body {
  background-image:
    radial-gradient(ellipse at 15% 0%, rgba(251,191,36,0.03) 0%, transparent 45%),
    radial-gradient(ellipse at 85% 100%, rgba(22,163,74,0.02) 0%, transparent 45%) !important;
}

/* Tarjetas */
.service-card, .stat-card, .table-card, .activity-card,
.card, .valor-item, .contact-form-card, .filtros-bar,
.login-card, .registro-card, .modal, .empty-state,
.od-card, .od-sidebar-card, .como-wrap, .wa-demo-wrap {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
  box-shadow: var(--sh-card) !important;
}

[data-theme="dark"] .service-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .table-card,
[data-theme="dark"] .activity-card,
[data-theme="dark"] .card,
[data-theme="dark"] .valor-item,
[data-theme="dark"] .contact-form-card,
[data-theme="dark"] .filtros-bar,
[data-theme="dark"] .login-card,
[data-theme="dark"] .registro-card,
[data-theme="dark"] .modal,
[data-theme="dark"] .empty-state,
[data-theme="dark"] .od-card,
[data-theme="dark"] .od-sidebar-card,
[data-theme="dark"] .como-wrap,
[data-theme="dark"] .wa-demo-wrap {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Hover en tarjetas */
.service-card:hover, .stat-card:hover, .valor-item:hover {
  box-shadow: var(--sh-hover) !important;
}

/* Textos */
.section-header h2,
h1, h2, h3, h4,
.od-title, .od-company-name,
.sc-info .sc-nombre, .sc-titulo,
.stat-card .sc-value,
.dashboard-welcome h1,
.abm-header h1,
.table-card-header h3, .activity-card h3,
.card-header h3 {
  color: var(--tx-primary) !important;
}

/* ── EXCEPCIÓN LIGHT: Heroes con fondo siempre oscuro (negro/dark gradient)
   Estos elementos tienen fondo #0a0a0a/#1a1a2e hardcodeado en ambos modos,
   por lo que sus títulos deben ser siempre blancos — no deben heredar --tx-primary ── */
.home-hero h1,
.home-hero h2,
.home-hero .hero-title,
.home-hero .hero-saludo,
.dir-hero h1,
.dir-hero h2,
.dir-hero p,
.pp-hero h1,
.pp-hero h2,
.pp-hero .pp-hero-info h1,
.modal-head h2,
.modal-head h3,
/* Heroes con fondo oscuro hardcodeado */
.pub-hero h1,
.pub-hero h2,
.contact-info h2,
.contact-info h3 {
  color: #ffffff !important;
}
/* Sub-texto en heroes oscuros */
.home-hero .hero-sub { color: rgba(255,255,255,0.5) !important; }
.dir-hero .dir-hero-left p { color: rgba(255,255,255,0.45) !important; }
/* Estadísticas en hero dir */
.dir-hero .dir-hero-stat .num { color: var(--amarillo) !important; }
.dir-hero .dir-hero-stat .lbl { color: rgba(255,255,255,0.35) !important; }
/* Pub hero stats siempre amarillo/blanco */
.pub-hero .pub-stat .num { color: var(--amarillo) !important; }
.pub-hero .pub-stat .lbl { color: rgba(255,255,255,0.38) !important; }
.pub-hero p { color: rgba(255,255,255,0.5) !important; }

p, .sc-desc, .od-text, .ai-text,
.contact-info > p,
.hero p { 
  /* heredan del body */ 
}

.tx-secondary, tbody td,
.sc-loc, .od-cat, .sc-meta,
.results-bar .count,
.form-group label {
  color: var(--tx-secondary) !important;
}

.tx-muted, thead th,
.hs-lbl, .ai-time,
.ci-text span, .od-dates {
  color: var(--tx-muted) !important;
}

/* Inputs */
.form-group input,
.form-group textarea,
.form-group select,
.filtros-bar select,
.search-bar input,
.hero-search input {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}

.form-group input::placeholder,
.form-group textarea::placeholder,
.search-bar input::placeholder {
  color: var(--tx-placeholder) !important;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  border-color: var(--amarillo, var(--amarillo)) !important;
  background: var(--bg-card) !important;
  box-shadow: 0 0 0 3px rgba(251,191,36,0.12) !important;
}

/* Bordes de tabla */
thead th { border-color: var(--bd-color) !important; }
tbody td { border-color: var(--bd-strong, var(--bd-color)) !important; }
[data-theme="dark"] tbody td { border-color: rgba(255,255,255,0.04) !important; }
tbody tr:hover td { background: var(--bg-hover) !important; }

/* Section header line */
.section-header .line {
  background: var(--line-color) !important;
}

/* Admin dropdown */
.admin-menu {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
  box-shadow: var(--sh-modal) !important;
}
.admin-menu-header {
  color: var(--tx-muted) !important;
  border-color: var(--bd-color) !important;
}
.am-item { color: var(--tx-secondary) !important; }
.am-item i { color: var(--tx-muted) !important; }
.am-item:hover { background: var(--bg-hover) !important; color: var(--tx-primary) !important; }
.am-item:hover i { color: var(--tx-primary) !important; }

/* cat-pill */
.cat-pill {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* sc-tag */
.sc-tag {
  background: var(--bg-card-alt) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* sc-footer border */
.sc-footer { border-color: var(--bd-color) !important; }

/* tipo-btn */
.tipo-btn {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--sb-track); }
::-webkit-scrollbar-thumb { background: var(--sb-thumb); border-radius: 3px; }

/* ══════════════════════════════════════════════════
   TOGGLE BUTTON — Píldora en navbar junto al logo
   ══════════════════════════════════════════════════ */
#theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid var(--bd-color);
  background: var(--bg-input);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--tx-muted);
  transition: all 0.2s ease;
  outline: none;
  white-space: nowrap;
  flex-shrink: 0;
}
#theme-toggle:hover {
  border-color: var(--amarillo, var(--amarillo));
  color: var(--amarillo, var(--amarillo));
  background: rgba(251,191,36,.08);
}
#theme-toggle i { font-size: 0.75rem; }
#theme-toggle .icon-light { display: flex; align-items: center; gap: 5px; }
#theme-toggle .icon-dark  { display: none;  align-items: center; gap: 5px; }
[data-theme="dark"] #theme-toggle .icon-light { display: none; }
[data-theme="dark"] #theme-toggle .icon-dark  { display: flex; }

@media (max-width: 768px) {
  #theme-toggle {
    padding: 4px 10px;
    font-size: 0.72rem;
  }
}

/* ══════════════════════════════════════════════════
   WA PREVIEW — override dark
   ══════════════════════════════════════════════════ */
[data-theme="dark"] .wa-demo-wrap {
  background: rgba(255,255,255,0.04) !important;
}
[data-theme="dark"] .wa-chat {
  background: #1a1d24 !important;
}
[data-theme="dark"] .wa-msg-out {
  background: #2a3942 !important;
  color: #e0e4f0 !important;
}
[data-theme="dark"] .wa-msg-in {
  background: #1e2630 !important;
  color: #e0e4f0 !important;
}
[data-theme="dark"] .wa-input-wrap {
  background: #1a1d24 !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .wa-input {
  background: rgba(255,255,255,0.06) !important;
  color: #e0e4f0 !important;
}
[data-theme="dark"] .wa-header {
  background: #1a3a2e !important;
}

/* ══════════════════════════════════════════════════
   PÁGINA MAPA — sidebar dark
   ══════════════════════════════════════════════════ */
[data-theme="dark"] #map-sidebar,
[data-theme="dark"] .map-panel,
[data-theme="dark"] .panel-section {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .prov-card {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .modo-tab {
  background: transparent !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .modo-tab.activo {
  background: rgba(255,255,255,0.06) !important;
  color: var(--tx-primary) !important;
  border-bottom-color: var(--tx-primary) !important;
}

/* ══════════════════════════════════════════════════
   DIRECTORIO — tarjetas dark
   ══════════════════════════════════════════════════ */
[data-theme="dark"] .prof-card {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .dir-filters {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .dir-filters input,
[data-theme="dark"] .dir-filters select {
  background: rgba(255,255,255,0.07) !important;
  color: var(--tx-primary) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
[data-theme="dark"] .dir-pages a {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.09) !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .prof-name { color: var(--tx-primary) !important; }
[data-theme="dark"] .prof-score { color: var(--tx-secondary) !important; }

/* ══════════════════════════════════════════════════
   PREVENIR flash en carga
   ══════════════════════════════════════════════════ */
html { background-color: #f0f2f5; }
html[data-theme="dark"] { background-color: #13141a; }

/* ══════════════════════════════════════════════════
   INDEX — cat-quick pills, tabs demo, WA chat
   ══════════════════════════════════════════════════ */

/* Cat pills — light ya usa var(), solo ajuste hover */
.cat-quick:hover {
  background: var(--amarillo, var(--amarillo)) !important;
  border-color: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
}

/* Tabs del demo WA */
.idx-tabs-wrap {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}

/* Chat background — beige en light, azul oscuro profundo en dark */
[data-theme="dark"] .idx-chat {
  background-color: #0d1117 !important;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Crect x='8' y='8' width='3' height='3'/%3E%3Crect x='20' y='8' width='3' height='3'/%3E%3Crect x='8' y='20' width='3' height='3'/%3E%3Crect x='20' y='20' width='3' height='3'/%3E%3C/g%3E%3C/svg%3E") !important;
}

/* Burbuja recibida (bot) — verde oscuro oscuro */
[data-theme="dark"] .idx-wb {
  background: #1e2d25 !important;
  color: #e0e4f0 !important;
}
[data-theme="dark"] .idx-wb::before {
  border-right-color: #1e2d25 !important;
  border-top-color: #1e2d25 !important;
}

/* Botones dentro del chat */
[data-theme="dark"] .idx-btn {
  background: #1a2a22 !important;
  border-color: rgba(37,211,102,0.2) !important;
  color: #25d366 !important;
}
[data-theme="dark"] .idx-btn:hover:not(:disabled) {
  background: #1e3a2a !important;
  border-color: #25d366 !important;
}
[data-theme="dark"] .idx-btn.red {
  color: #f87171 !important;
  border-color: rgba(248,113,113,0.2) !important;
  background: #2a1a1a !important;
}
[data-theme="dark"] .idx-btn.red:hover:not(:disabled) {
  background: #3a1a1a !important;
}

/* Phone frame */
[data-theme="dark"] .idx-phone {
  background: #161b22 !important;
  border-color: rgba(255,255,255,0.08) !important;
}

/* Mensaje "Esperando..." placeholder */
[data-theme="dark"] #idx-chat-cli {
  color: rgba(255,255,255,0.25) !important;
}

/* Texto de hora en mensajes */
[data-theme="dark"] .idx-wt {
  color: rgba(255,255,255,0.3) !important;
}

/* Input area del chat */
[data-theme="dark"] .idx-input-wrap,
[data-theme="dark"] [style*="background:#1f2c34"],
[data-theme="dark"] [style*="background:#1a2730"] {
  background: #161b22 !important;
}

/* Typing indicator */
[data-theme="dark"] .idx-typing span {
  background: rgba(255,255,255,0.3) !important;
}

/* ── Sección "¿Cómo funciona?" dark ── */
[data-theme="dark"] .como-wrap {
  background: rgba(255,255,255,0.04) !important;
  backdrop-filter: blur(8px);
}
[data-theme="dark"] .paso-item:not(:last-child)::after {
  color: rgba(255,255,255,0.15) !important;
}

/* ── Modal solicitar dark ── */
[data-theme="dark"] .modal-box {
  background: #1a1d26 !important;
}
[data-theme="dark"] .modal-body {
  background: #1a1d26;
}
[data-theme="dark"] .flabel {
  color: var(--tx-muted) !important;
}
[data-theme="dark"] .wa-nota-sm {
  background: rgba(22,163,74,0.08) !important;
  border-color: rgba(22,163,74,0.2) !important;
  color: #86efac !important;
}

/* ══════════════════════════════════════════════════
   DARK MODE — Títulos y texto primario AMARILLO
   Todos los color:#111 / #1f2937 / #374151 hardcodeados
   ══════════════════════════════════════════════════ */

/* ── Regla global: h1-h4 en dark van a amarillo ── */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4 {
  color: var(--amarillo, var(--amarillo)) !important;
}

/* Excepciones que siempre son blancas (sobre fondo oscuro del hero, modales, header) */
[data-theme="dark"] .home-hero h1,
[data-theme="dark"] .home-hero h2,
[data-theme="dark"] .home-hero h3,
[data-theme="dark"] .hero-title,
[data-theme="dark"] .modal-head h2,
[data-theme="dark"] .modal-head h3,
[data-theme="dark"] .nav-logo-text,
[data-theme="dark"] .nav-brand,
[data-theme="dark"] .od-header h1,
[data-theme="dark"] .od-header h2,
[data-theme="dark"] .pub-hero h1,
[data-theme="dark"] .pub-hero h2,
[data-theme="dark"] .contact-info h2,
[data-theme="dark"] .contact-info h3 {
  color: #ffffff !important;
}

/* Títulos de sección (.section-header h2) — amarillo en dark */
[data-theme="dark"] .section-header h2 { color: var(--amarillo) !important; }

/* Títulos de tarjetas de servicio */
[data-theme="dark"] .sc-titulo,
[data-theme="dark"] .sc-nombre,
[data-theme="dark"] .sc-info h3 { color: var(--amarillo) !important; }

/* Directorio */
[data-theme="dark"] .prof-name { color: var(--amarillo) !important; }
[data-theme="dark"] .dir-empty h3 { color: var(--amarillo) !important; }

/* Notificaciones */
[data-theme="dark"] .not-titulo { color: var(--amarillo) !important; }

/* Oportunidades / empleos */
[data-theme="dark"] .op-titulo { color: var(--amarillo) !important; }
[data-theme="dark"] .ri-name { color: var(--tx-secondary) !important; }

/* Mis rubros */
[data-theme="dark"] .seccion-titulo,
[data-theme="dark"] .rc-nombre,
[data-theme="dark"] .cat-nombre,
[data-theme="dark"] .panel-h3,
[data-theme="dark"] .sel-nombre,
[data-theme="dark"] .total-lbl { color: var(--amarillo) !important; }

/* Pagar */
[data-theme="dark"] .pcard-head h3,
[data-theme="dark"] .mb-titulo,
[data-theme="dark"] .banco-titulo,
[data-theme="dark"] .resumen-box h3,
[data-theme="dark"] .legal-box h4 { color: var(--amarillo) !important; }

/* Perfil */
[data-theme="dark"] .card-perfil .cp-header h3,
[data-theme="dark"] .pp-card-hdr h3,
[data-theme="dark"] .val-nombre { color: var(--amarillo) !important; }

/* Elegir profesional */
[data-theme="dark"] .elegir-header h2,
[data-theme="dark"] .prof-name { color: var(--amarillo) !important; }

/* Curriculo */
[data-theme="dark"] .cs-card-header h4,
[data-theme="dark"] .plantilla-btn .pt-name { color: var(--amarillo) !important; }
/* El CV en sí no se toca — es un documento para imprimir */
[data-theme="dark"] #cv-moderno,
[data-theme="dark"] #cv-minimal,
[data-theme="dark"] #cv-clasico { color: #111 !important; }
[data-theme="dark"] #cv-moderno h1,
[data-theme="dark"] #cv-moderno h2,
[data-theme="dark"] #cv-moderno h3,
[data-theme="dark"] #cv-moderno h4,
[data-theme="dark"] #cv-minimal h1,
[data-theme="dark"] #cv-minimal h2,
[data-theme="dark"] #cv-minimal h3,
[data-theme="dark"] #cv-minimal h4,
[data-theme="dark"] #cv-clasico h1,
[data-theme="dark"] #cv-clasico h2,
[data-theme="dark"] #cv-clasico h3,
[data-theme="dark"] #cv-clasico h4 { color: inherit !important; }

/* Index */
[data-theme="dark"] .como-title { color: var(--amarillo) !important; }
[data-theme="dark"] .paso-label { color: var(--tx-primary) !important; }
[data-theme="dark"] .idx-cname { color: var(--tx-primary) !important; }
[data-theme="dark"] .pub-feed-body h4 { color: var(--amarillo) !important; }

/* Labels de formulario — gris claro en dark, no amarillo */
[data-theme="dark"] .form-group label,
[data-theme="dark"] .flabel,
[data-theme="dark"] .rlbl { color: var(--tx-muted) !important; }

/* Valores de resumen — blanco, no amarillo */
[data-theme="dark"] .rval { color: var(--tx-primary) !important; }

/* cat-pill color de texto */
[data-theme="dark"] .cat-pill { color: var(--tx-secondary) !important; }

/* empty-state h3 */
[data-theme="dark"] .empty-state h3 { color: var(--amarillo) !important; }

/* Stat card valor */
[data-theme="dark"] .sc-value,
[data-theme="dark"] .stat-card .value { color: var(--amarillo) !important; }

/* Dashboard welcome */
[data-theme="dark"] .dashboard-welcome h1 { color: var(--amarillo) !important; }

/* Inline color:#111 en style="" attrs — solo podemos cubrir con selectores genéricos */
[data-theme="dark"] [style*="color:#111"],
[data-theme="dark"] [style*="color: #111"],
[data-theme="dark"] [style*="color:#374151"],
[data-theme="dark"] [style*="color:#1f2937"],
[data-theme="dark"] [style*="color:#0d0d0d"] {
  color: var(--tx-primary) !important;
}

/* ── Línea divisora del section-header en dark ── */
[data-theme="dark"] .section-header .line {
  background: linear-gradient(to right, rgba(251,191,36,0.3), transparent) !important;
}

/* ── tc-label y legal text ── */
[data-theme="dark"] .tc-label,
[data-theme="dark"] .tc-label a { color: var(--tx-secondary) !important; }

/* ── h4 inline style que aparece en empty states ── */
[data-theme="dark"] .elegir-header + * h4,
[data-theme="dark"] [style*="font-weight:800"][style*="color:#374151"] {
  color: var(--amarillo) !important;
}

/* ══════════════════════════════════════════════════
   DEMO WA — integración dark profunda
   ══════════════════════════════════════════════════ */

/* Input bar del chat (footer "Escribir mensaje") */
[data-theme="dark"] .idx-inputbar {
  background: #0d1117 !important;
  border-color: rgba(255,255,255,0.06) !important;
}
[data-theme="dark"] .idx-inputbox {
  background: rgba(255,255,255,0.06) !important;
  color: rgba(255,255,255,0.3) !important;
}

/* Typing indicator */
[data-theme="dark"] .idx-typing {
  background: #1e2d25 !important;
}

/* Cards de profesionales dentro del chat */
[data-theme="dark"] .idx-card {
  background: #1a2220 !important;
  border-color: rgba(255,255,255,0.08) !important;
}

/* Nota "Paso 1:" */
[data-theme="dark"] .idx-demo-nota {
  background: rgba(251,191,36,0.06) !important;
  border-color: rgba(251,191,36,0.15) !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .idx-demo-nota strong {
  color: var(--amarillo) !important;
}

/* Botón reiniciar */
[data-theme="dark"] .idx-reiniciar {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .idx-reiniciar:hover {
  background: rgba(255,255,255,0.09) !important;
}

/* CTA "¿Sos profesional?" */
[data-theme="dark"] .cta-proveedor {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.08) !important;
}
[data-theme="dark"] .cta-proveedor h3 {
  color: var(--amarillo) !important;
}
[data-theme="dark"] .cta-proveedor p {
  color: var(--tx-secondary) !important;
}

/* Pub feed cards */
[data-theme="dark"] .pub-feed-card {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.07) !important;
}
[data-theme="dark"] .pub-feed-body {
  background: rgba(255,255,255,0.02) !important;
}

/* idx-cstars rating text */
[data-theme="dark"] .idx-cstars span,
[data-theme="dark"] [style*="color:#374151"] {
  color: var(--tx-secondary) !important;
}

/* idx-choose button */
[data-theme="dark"] .idx-choose {
  background: rgba(22,163,74,0.12) !important;
  border-color: rgba(22,163,74,0.25) !important;
  color: #4ade80 !important;
}

/* El "Esperando que un profesional se interese..." */
[data-theme="dark"] #idx-chat-cli {
  font-style: italic;
  color: rgba(255,255,255,0.2) !important;
}

/* ══════════════════════════════════════════════════
   DARK — COBERTURA GLOBAL COMPLETA
   Todas las clases con background:#fff / #f* / color:#111
   extraídas con scan automático de los 47 archivos PHP
   ══════════════════════════════════════════════════ */

/* ── Tarjetas y contenedores principales ── */
[data-theme="dark"] .card,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .table-card,
[data-theme="dark"] .service-card,
[data-theme="dark"] .activity-card,
[data-theme="dark"] .valor-item,
[data-theme="dark"] .contact-form-card,
[data-theme="dark"] .login-card,
[data-theme="dark"] .registro-card,
[data-theme="dark"] .modal,
[data-theme="dark"] .modal-box,
[data-theme="dark"] .modal-inner,
[data-theme="dark"] .empty-state,
[data-theme="dark"] .form-card,
[data-theme="dark"] .od-card,
[data-theme="dark"] .od-sidebar-card,
[data-theme="dark"] .sidebar-card,
[data-theme="dark"] .sol-card,
[data-theme="dark"] .prov-card,
[data-theme="dark"] .not-card,
[data-theme="dark"] .ns-card,
[data-theme="dark"] .ns-item,
[data-theme="dark"] .op-card,
[data-theme="dark"] .prof-card,
[data-theme="dark"] .rubro-card,
[data-theme="dark"] .cat-card,
[data-theme="dark"] .cs-card,
[data-theme="dark"] .cs-card-header,
[data-theme="dark"] .val-card,
[data-theme="dark"] .pago-card,
[data-theme="dark"] .banco-card,
[data-theme="dark"] .pcard,
[data-theme="dark"] .legal-card,
[data-theme="dark"] .legal-box,
[data-theme="dark"] .resumen-box,
[data-theme="dark"] .resumen-inner,
[data-theme="dark"] .espacio-card,
[data-theme="dark"] .pub-card,
[data-theme="dark"] .pub-form-card,
[data-theme="dark"] .pub-table-card,
[data-theme="dark"] .why-card,
[data-theme="dark"] .oferta-card,
[data-theme="dark"] .postulacion-item,
[data-theme="dark"] .sr-card,
[data-theme="dark"] .sr-resumen,
[data-theme="dark"] .detail-box,
[data-theme="dark"] .uber-result,
[data-theme="dark"] .pp-card,
[data-theme="dark"] .card-perfil,
[data-theme="dark"] .perfil-sidebar,
[data-theme="dark"] .exp-card,
[data-theme="dark"] .dash-elegir-item,
[data-theme="dark"] .admin-menu,
[data-theme="dark"] .adm-panel,
[data-theme="dark"] .mp-section,
[data-theme="dark"] .sin-suscripcion,
[data-theme="dark"] .sub-activa-item,
[data-theme="dark"] .terminos-box,
[data-theme="dark"] .pos-sidebar,
[data-theme="dark"] .edit-modal,
[data-theme="dark"] .assign-wrap,
[data-theme="dark"] .filter-bar,
[data-theme="dark"] .filters,
[data-theme="dark"] .dir-filters,
[data-theme="dark"] .dir-login-notice,
[data-theme="dark"] .filtros-panel,
[data-theme="dark"] .radio-panel,
[data-theme="dark"] .ubicacion-panel,
[data-theme="dark"] .panel-pago,
[data-theme="dark"] .mapa-panel,
[data-theme="dark"] .bar-wrap,
[data-theme="dark"] .empty-card,
[data-theme="dark"] .empty-interesados,
[data-theme="dark"] .empty-busqueda,
[data-theme="dark"] .lista-empty,
[data-theme="dark"] .empresa-info {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
  backdrop-filter: blur(8px);
}

/* ── Fondos levemente más oscuros (inputs, alt cards) ── */
[data-theme="dark"] .form-group input,
[data-theme="dark"] .form-group textarea,
[data-theme="dark"] .form-group select,
[data-theme="dark"] .filtros-bar select,
[data-theme="dark"] .filtros-bar input,
[data-theme="dark"] .search-bar input,
[data-theme="dark"] .search-input,
[data-theme="dark"] .search-rubros,
[data-theme="dark"] .mp-search-bar input,
[data-theme="dark"] .finput,
[data-theme="dark"] .finp,
[data-theme="dark"] .finput-s,
[data-theme="dark"] .sr-field,
[data-theme="dark"] .fp-field input,
[data-theme="dark"] .fp-field textarea,
[data-theme="dark"] .em-input,
[data-theme="dark"] .ep-search input,
[data-theme="dark"] .panel-input,
[data-theme="dark"] .mapa-searchbar input,
[data-theme="dark"] .ub-field input,
[data-theme="dark"] .ub-field select,
[data-theme="dark"] .filtro-select {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}
[data-theme="dark"] .finput::placeholder,
[data-theme="dark"] .finp::placeholder,
[data-theme="dark"] .sr-field::placeholder { color: var(--tx-placeholder) !important; }

/* ── Títulos de tarjetas → amarillo ── */
[data-theme="dark"] .kpi-value,
[data-theme="dark"] .adm-title,
[data-theme="dark"] .page-header h2,
[data-theme="dark"] .page-header h3,
[data-theme="dark"] .pcard-head h3,
[data-theme="dark"] .pago-card-header h3,
[data-theme="dark"] .banco-titulo,
[data-theme="dark"] .mb-titulo,
[data-theme="dark"] .op-titulo,
[data-theme="dark"] .not-titulo,
[data-theme="dark"] .sol-desc strong,
[data-theme="dark"] .espacio-name,
[data-theme="dark"] .oferta-title,
[data-theme="dark"] .postulacion-name,
[data-theme="dark"] .group-title,
[data-theme="dark"] .sv-header h2,
[data-theme="dark"] .sv-header h3,
[data-theme="dark"] .layout-section-title,
[data-theme="dark"] .zap-title,
[data-theme="dark"] .slm-header h3,
[data-theme="dark"] .mp-title,
[data-theme="dark"] .mp-section-title,
[data-theme="dark"] .sr-step-title,
[data-theme="dark"] .elegir-header h2,
[data-theme="dark"] .pub-titulo,
[data-theme="dark"] .section-title,
[data-theme="dark"] .espacio-badge-top,
[data-theme="dark"] .banco-nombre { color: var(--amarillo) !important; }

/* ── Texto secundario → gris claro ── */
[data-theme="dark"] .dir-meta,
[data-theme="dark"] .prof-score,
[data-theme="dark"] .prov-dist,
[data-theme="dark"] .prov-info-name,
[data-theme="dark"] .exp-desc,
[data-theme="dark"] .exp-puesto,
[data-theme="dark"] .op-chip,
[data-theme="dark"] .op-cat-badge,
[data-theme="dark"] .rubro-chip,
[data-theme="dark"] .rubro-item,
[data-theme="dark"] .sol-desc,
[data-theme="dark"] .meta-v,
[data-theme="dark"] .tl-t,
[data-theme="dark"] .val-comment,
[data-theme="dark"] .resumen-linea,
[data-theme="dark"] .rl-label,
[data-theme="dark"] .rl-valor,
[data-theme="dark"] .banco-val,
[data-theme="dark"] .dato-valor,
[data-theme="dark"] .rf-lbl,
[data-theme="dark"] .rf-val,
[data-theme="dark"] .res-fila,
[data-theme="dark"] .postulacion-message,
[data-theme="dark"] .mp-section-count,
[data-theme="dark"] .prov-precio,
[data-theme="dark"] .espacio-impresiones,
[data-theme="dark"] .dir-pages a,
[data-theme="dark"] .qb-lbl,
[data-theme="dark"] .lbl,
[data-theme="dark"] .gris { color: var(--tx-secondary) !important; }

/* ── Pills / badges / tabs ── */
[data-theme="dark"] .cat-pill,
[data-theme="dark"] .dur-pill,
[data-theme="dark"] .op-chip,
[data-theme="dark"] .timer-chip,
[data-theme="dark"] .rubro-chip,
[data-theme="dark"] .sol-chip,
[data-theme="dark"] .zone-ad-pill,
[data-theme="dark"] .pending-pill,
[data-theme="dark"] .active-pill,
[data-theme="dark"] .sc-tag,
[data-theme="dark"] .pr-tag {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* ── Botones outline / ghost ── */
[data-theme="dark"] .btn-limpiar,
[data-theme="dark"] .btn-back,
[data-theme="dark"] .btn-cancel,
[data-theme="dark"] .btn-cancelar,
[data-theme="dark"] .ghost,
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-gray,
[data-theme="dark"] .btn-login-od,
[data-theme="dark"] .sr-btn-back,
[data-theme="dark"] .btn-filtrar,
[data-theme="dark"] .btn-rc-pausar,
[data-theme="dark"] .outline,
[data-theme="dark"] .metodo-btn:not(.active),
[data-theme="dark"] .metodo-tab:not(.active),
[data-theme="dark"] .pago-tab:not(.active),
[data-theme="dark"] .tab-button:not(.active),
[data-theme="dark"] .esp-tabs .active-pill,
[data-theme="dark"] .plan-tabs button:not(.active) {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* ── Tablas ── */
[data-theme="dark"] .sv-table,
[data-theme="dark"] .assign-table,
[data-theme="dark"] .pub-table,
[data-theme="dark"] .mp-table,
[data-theme="dark"] .itbl {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .sv-table thead,
[data-theme="dark"] .assign-table thead,
[data-theme="dark"] .pub-table thead,
[data-theme="dark"] .mp-table thead,
[data-theme="dark"] .itbl thead {
  background: var(--bg-card-alt) !important;
}

/* ── wa_preview page ── */
[data-theme="dark"] .demo-page { background: var(--bg-page) !important; }
[data-theme="dark"] .wa-phone { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .flow-bar { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .step-info { background: rgba(251,191,36,0.06) !important; border-color: rgba(251,191,36,0.15) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .step-info strong { color: var(--amarillo) !important; }
[data-theme="dark"] .wa-prof-card { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .wa-prof-name { color: var(--amarillo) !important; }
[data-theme="dark"] .wa-inputbar { background: #0d1117 !important; border-color: rgba(255,255,255,0.06) !important; }
[data-theme="dark"] .wa-inputbar-box { background: rgba(255,255,255,0.06) !important; color: rgba(255,255,255,0.3) !important; }
[data-theme="dark"] .wa-typing { background: #1e2d25 !important; }
[data-theme="dark"] .wb { background: #1e2d25 !important; color: var(--tx-primary) !important; }
[data-theme="dark"] .btn-reiniciar { background: var(--bg-input) !important; border-color: var(--bd-color) !important; color: var(--tx-secondary) !important; }

/* ── suscripcion.php ── */
[data-theme="dark"] .resumen-rubro,
[data-theme="dark"] .rr-nombre,
[data-theme="dark"] .sai-nombre,
[data-theme="dark"] .rl-label,
[data-theme="dark"] .rl-valor { color: var(--tx-secondary) !important; }
[data-theme="dark"] .aviso-transferencia,
[data-theme="dark"] .cvv-info-box { background: rgba(251,191,36,0.06) !important; border-color: rgba(251,191,36,0.15) !important; }
[data-theme="dark"] .terminos-check { border-color: var(--bd-color) !important; background: var(--bg-input) !important; }

/* ── pagar.php ── */
[data-theme="dark"] .tc-box { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .copy-btn { background: var(--bg-input) !important; border-color: var(--bd-color) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .manual { background: rgba(251,191,36,0.06) !important; border-color: rgba(251,191,36,0.15) !important; }
[data-theme="dark"] .sandbox-badge { background: rgba(251,191,36,0.1) !important; }

/* ── mis_rubros.php ── */
[data-theme="dark"] .venc-bar { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .plan-tabs { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .cat-check-icon { border-color: var(--bd-color) !important; background: var(--bg-input) !important; }
[data-theme="dark"] .rc-emoji-wrap { background: var(--bg-card-alt) !important; }
[data-theme="dark"] .empty-card { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }

/* ── admin pages ── */
[data-theme="dark"] .esp-stat-card { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .esp-stat-num { color: var(--amarillo) !important; }
[data-theme="dark"] .zone-empty { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; color: var(--tx-muted) !important; }
[data-theme="dark"] .zone-empty-slot { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .pendiente-row { background: rgba(251,191,36,0.04) !important; }
[data-theme="dark"] .ep-cats-wrap { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .emoji-panel { background: var(--bg-card) !important; border-color: var(--bd-color) !important; box-shadow: var(--sh-modal) !important; }
[data-theme="dark"] .ep-cat-btn { background: var(--bg-input) !important; border-color: var(--bd-color) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .logo-thumb { background: var(--bg-input) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .msc { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .msc-item { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; }

/* ── solicitud_detalle.php ── */
[data-theme="dark"] .tl-dot { background: var(--bd-strong, var(--bd-color)) !important; }
[data-theme="dark"] .val-quote { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .prov-card { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }

/* ── curriculo.php — NO tocar el CV imprimible ── */
[data-theme="dark"] .cv-preview { background: #fff !important; color: #111 !important; }
[data-theme="dark"] .cv-preview * { color: inherit !important; background: inherit !important; }
[data-theme="dark"] .plantilla-btn { background: var(--bg-input) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .plantilla-btn.active { background: var(--tx-primary) !important; }

/* ── contratar_publicidad.php ── */
[data-theme="dark"] .espacio-card { background: var(--bg-card) !important; }
[data-theme="dark"] .espacio-card.sel { background: rgba(251,191,36,0.08) !important; border-color: var(--amarillo) !important; }
[data-theme="dark"] .dur-pill { background: var(--bg-input) !important; border-color: var(--bd-color) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .dur-pill.sel { background: rgba(251,191,36,0.1) !important; border-color: var(--amarillo) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .resumen-pub { background: var(--bg-card-alt) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .rf-val { color: var(--tx-primary) !important; font-weight: 600; }
[data-theme="dark"] .valor { color: var(--amarillo) !important; }

/* ── pub_widget.php ── */
[data-theme="dark"] .pub-active-item,
[data-theme="dark"] .pub-espacio-item { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .pei-nombre { color: var(--tx-primary) !important; }
[data-theme="dark"] .pei-precio { color: var(--amarillo) !important; }

/* ── sc_modal.css overrides ── */
[data-theme="dark"] .sc-toast { background: var(--bg-card) !important; border-color: var(--bd-color) !important; box-shadow: var(--sh-modal) !important; }
[data-theme="dark"] .sc-title { color: var(--amarillo) !important; }
[data-theme="dark"] .sc-btn-cancel { background: var(--bg-input) !important; border-color: var(--bd-color) !important; color: var(--tx-secondary) !important; }

/* ── alert / error / success boxes ── */
[data-theme="dark"] .alert-error { background: rgba(239,68,68,0.08) !important; border-color: rgba(239,68,68,0.2) !important; color: #fca5a5 !important; }
[data-theme="dark"] .alert-success,
[data-theme="dark"] .sr-success { background: rgba(22,163,74,0.08) !important; border-color: rgba(22,163,74,0.2) !important; color: #86efac !important; }
[data-theme="dark"] .msg-error { color: #fca5a5 !important; }

/* ── Badges de estado (no cambiar hue, solo hacer compatibles) ── */
[data-theme="dark"] .badge-gray { background: rgba(255,255,255,0.08) !important; color: var(--tx-muted) !important; }
[data-theme="dark"] .cancelado,
[data-theme="dark"] .cancelada,
[data-theme="dark"] .vencida,
[data-theme="dark"] .vencido { opacity: 0.75; }

/* ── Tab pill activo → amarillo en ambos temas ── */
.idx-pill.active {
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
  font-weight: 700;
}

/* ── adslider sin imagen — fondo via JS, asegurar transición ── */
.adpal {
  transition: background 0.4s ease !important;
}
.adpal-title, .adpal-desc, .adpal-badge, .adpal-cta {
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease !important;
}

/* ════════════════════════════════════════════════════════
   BATCH FIX v6 — Fondos blancos / inputs / botones
   Cubre: directorio, soporte, panel_empresa, admin/dashboard,
          admin/solicitudes, oportunidades, mis_rubros, pagar,
          modo_prueba, bolsa_trabajo, notificaciones
   ════════════════════════════════════════════════════════ */

/* ── DIRECTORIO ── */
[data-theme="dark"] .dir-result-wrap,
[data-theme="dark"] .dir-empty,
[data-theme="dark"] .dir-pages a {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}
[data-theme="dark"] .dir-filters input,
[data-theme="dark"] .dir-search-input {
  background: var(--bg-input) !important;
  color: var(--tx-primary) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .pbadge-dis { background: rgba(74,222,128,.12) !important; color: #4ade80 !important; }
[data-theme="dark"] .prof-btn-perfil {
  background: var(--bg-input) !important;
  color: var(--tx-secondary) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .prof-btn-lock { background: var(--bg-input) !important; color: var(--tx-muted) !important; }
[data-theme="dark"] .dir-result-card { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }

/* ── SOPORTE ── */
[data-theme="dark"] #nuevo-ticket,
[data-theme="dark"] .ticket-form-wrap {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}

/* ── PANEL EMPRESA (panel_empresa.php) ── */
[data-theme="dark"] .panel-header-card,
[data-theme="dark"] .stat-summary-card,
[data-theme="dark"] .quick-access-card,
[data-theme="dark"] .quick-btn {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
/* panel_empresa tiene varios divs con background:white inline */
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background:white"] {
  background: var(--bg-card) !important;
}

/* ── ADMIN DASHBOARD ── */
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .adm-panel,
[data-theme="dark"] .quick-btn {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .itbl tr:hover td { background: rgba(255,255,255,.03) !important; }
[data-theme="dark"] .b-yellow { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .b-red    { background: rgba(239,68,68,.15)  !important; color: #f87171 !important; }
[data-theme="dark"] .b-gray   { background: rgba(255,255,255,.08) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .bar-wrap { background: rgba(255,255,255,.08) !important; }
[data-theme="dark"] .alerta-vence {
  background: rgba(251,191,36,.06) !important;
  border-color: rgba(251,191,36,.2) !important;
  color: var(--tx-primary) !important;
}

/* ── ADMIN SOLICITUDES ── */
[data-theme="dark"] .sv-stat,
[data-theme="dark"] .filtros-sv,
[data-theme="dark"] .sv-table-wrap,
[data-theme="dark"] .modal-inner {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .filtros-sv input,
[data-theme="dark"] .filtros-sv select {
  background: var(--bg-input) !important;
  color: var(--tx-primary) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .sv-table tbody tr:hover td { background: rgba(255,255,255,.03) !important; }
[data-theme="dark"] .estado-badge.pendiente { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .estado-badge.cancelado { background: rgba(239,68,68,.15) !important;  color: #f87171 !important; }
[data-theme="dark"] .tipo-badge.rapida      { background: rgba(168,85,247,.15) !important; color: #c084fc !important; }
[data-theme="dark"] .ta-btn.del  { background: rgba(239,68,68,.1)  !important; color: #f87171 !important; border-color: rgba(239,68,68,.2) !important; }
[data-theme="dark"] .ta-btn.edit { background: var(--bg-input) !important; color: var(--tx-secondary) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .msg-bar.ok    { background: rgba(74,222,128,.1) !important; border-color: rgba(74,222,128,.25) !important; color: #4ade80 !important; }
[data-theme="dark"] .msg-bar.error { background: rgba(239,68,68,.1)  !important; border-color: rgba(239,68,68,.25)  !important; color: #f87171 !important; }

/* ── OPORTUNIDADES ── */
[data-theme="dark"] .op-header-card { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .op-card {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .rubro-item:hover { background: rgba(255,255,255,.04) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .rubro-item.activo { background: rgba(251,191,36,.08) !important; border-color: rgba(251,191,36,.3) !important; }
[data-theme="dark"] .tabs-bar { background: rgba(255,255,255,.06) !important; }
[data-theme="dark"] .tab-btn.active { background: var(--bg-card) !important; color: var(--tx-primary) !important; }
[data-theme="dark"] .op-chip        { background: rgba(255,255,255,.07) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .op-chip.amarillo { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .op-chip.rojo    { background: rgba(239,68,68,.15)  !important; color: #f87171 !important; }
[data-theme="dark"] .timer-chip      { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .empty-state     { background: var(--bg-card) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .op-cat-badge    { background: rgba(255,255,255,.07) !important; }

/* ── MIS RUBROS ── */
[data-theme="dark"] .rubro-card,
[data-theme="dark"] .cat-card,
[data-theme="dark"] .empty-card {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .cat-card.seleccionada {
  border-color: var(--amarillo) !important;
  background: rgba(251,191,36,.08) !important;
}
[data-theme="dark"] .cat-card.ya-tiene {
  border-color: rgba(74,222,128,.4) !important;
  background: rgba(74,222,128,.06) !important;
}
[data-theme="dark"] .chip.rojo    { background: rgba(239,68,68,.15) !important;  color: #f87171 !important; }
[data-theme="dark"] .chip.amarillo { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .chip.gris     { background: rgba(255,255,255,.08) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .btn-rc-sub   { background: rgba(251,191,36,.12) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .btn-rc-pausar { background: rgba(239,68,68,.12) !important; color: #f87171 !important; }
[data-theme="dark"] .cat-badge-small.vencido { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }

/* ── PAGAR ── */
[data-theme="dark"] .pcard,
[data-theme="dark"] .resumen-box,
[data-theme="dark"] .metodo-btn {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}
[data-theme="dark"] .plan-pill.sel {
  border-color: var(--amarillo) !important;
  background: rgba(251,191,36,.1) !important;
}
[data-theme="dark"] .metodo-btn:hover { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.2) !important; }
[data-theme="dark"] .metodo-btn.sel   { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.3) !important; }
[data-theme="dark"] .mb-badge.manual  { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .tlogo   { background: var(--bg-input) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .tc-box  { background: var(--bg-input) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .rubro-chip { background: var(--bg-input) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .banco-card { background: var(--bg-input) !important; border-color: var(--bd-color) !important; }
[data-theme="dark"] .aviso-manual { background: rgba(251,191,36,.08) !important; color: var(--tx-primary) !important; }
[data-theme="dark"] .finp {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}

/* ── MODO PRUEBA (admin) ── */
[data-theme="dark"] .mp-card,
[data-theme="dark"] .mp-search-bar,
[data-theme="dark"] .mp-table-wrap {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .mp-search-bar input { background: var(--bg-input) !important; border-color: var(--bd-color) !important; color: var(--tx-primary) !important; }
[data-theme="dark"] .mp-table tr:hover td { background: rgba(255,255,255,.03) !important; }
[data-theme="dark"] .mp-badge-yellow { background: rgba(251,191,36,.15) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .mp-alert-error  { background: rgba(239,68,68,.12) !important; color: #f87171 !important; border-color: rgba(239,68,68,.25) !important; }
/* Card "Acceso Rápido" fondo amarillo claro → oscuro */
[data-theme="dark"] .mp-virtual-card,
[data-theme="dark"] [style*="background:#fffbeb"],
[data-theme="dark"] [style*="background: #fffbeb"] {
  background: rgba(251,191,36,.07) !important;
  border-color: rgba(251,191,36,.2) !important;
}

/* ── BOLSA DE TRABAJO ── */
[data-theme="dark"] .bw-card,
[data-theme="dark"] .filtros-bolsa,
[data-theme="dark"] .oferta-card {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .filtros-bolsa input,
[data-theme="dark"] .filtros-bolsa select,
[data-theme="dark"] .bw-input {
  background: var(--bg-input) !important;
  background-color: var(--bg-input) !important;
  color: var(--tx-primary) !important;
  border-color: var(--bd-color) !important;
}
/* background-color:white y background:white en bolsa_trabajo */
[data-theme="dark"] [style*="background-color: white"],
[data-theme="dark"] [style*="background-color:white"],
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background:white"] {
  background: var(--bg-card) !important;
  background-color: var(--bg-card) !important;
}

/* ── NOTIFICACIONES ── */
[data-theme="dark"] .not-sidebar .ns-card,
[data-theme="dark"] .not-card {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .not-card.no-leida { background: rgba(251,191,36,.05) !important; border-left-color: var(--amarillo) !important; }
[data-theme="dark"] .ns-item:hover     { background: rgba(255,255,255,.05) !important; color: var(--tx-primary) !important; }
[data-theme="dark"] .not-icon.sistema  { background: rgba(255,255,255,.08) !important; color: var(--tx-secondary) !important; }
[data-theme="dark"] .not-btn.leer,
[data-theme="dark"] .not-btn.del {
  background: rgba(255,255,255,.07) !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .not-btn.del:hover { background: rgba(239,68,68,.15) !important; color: #f87171 !important; }

/* ── PANEL CLIENTE ── */
[data-theme="dark"] .pc-header,
[data-theme="dark"] .cliente-header-card {
  background: var(--bg-card) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .alerta-card,
[data-theme="dark"] .alert-interesados,
[data-theme="dark"] .alert-valorar {
  background: rgba(251,191,36,.06) !important;
  border-color: rgba(251,191,36,.2) !important;
}

/* ── PANEL PROFESIONAL — Oportunidades tabs ── */
[data-theme="dark"] .tab-op.active,
[data-theme="dark"] .tab-opp.active {
  background: var(--bg-card) !important;
  color: var(--tx-primary) !important;
}

/* ── BOTONES BLANCOS / GHOST ── */
[data-theme="dark"] .btn-ghost,
[data-theme="dark"] .btn-outline-dark,
[data-theme="dark"] .adm-btn-secondary {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}

/* ── INPUTS GENÉRICOS sin clase (style inline) ── */
[data-theme="dark"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background: var(--bg-input) !important;
  color: var(--tx-primary) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
  color: var(--tx-muted) !important;
}
[data-theme="dark"] select option {
  background: #1e2029 !important;
  color: var(--tx-primary) !important;
}


/* ════════════════════════════════
   BATCH FIX v8 — Fixes específicos
   ════════════════════════════════ */

/* ── Toggle switch en dark ── */
[data-theme="dark"] .toggle {
  background: rgba(255,255,255,.15) !important;
}
[data-theme="dark"] .toggle.on {
  background: var(--amarillo, var(--amarillo)) !important;
}
[data-theme="dark"] .toggle::after {
  background: #fff !important;
}
[data-theme="dark"] .toggle-wrap span {
  color: var(--tx-secondary) !important;
}
/* ── Toggle switch (.toggle-sw) en dark — variante rubros.php ── */
[data-theme="dark"] .toggle-sw {
  background: rgba(255,255,255,.18) !important;
}
[data-theme="dark"] .toggle-sw.on {
  background: #16a34a !important;
}
[data-theme="dark"] .toggle-sw::after {
  background: #fff !important;
}
[data-theme="dark"] .toggle-field .toggle-text {
  color: var(--tx-secondary) !important;
}

/* ── Barra de búsqueda catalogo/servicios ── */
[data-theme="dark"] .svc-searchbar,
[data-theme="dark"] .cat-searchbar,
[data-theme="dark"] .catalogo-search {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
}

/* ── Soporte: tabs filtro (Abiertos/Urgentes/etc.) ── */
[data-theme="dark"] .sp-tab,
[data-theme="dark"] .ticket-tab,
[data-theme="dark"] .filter-tab {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .sp-tab.active,
[data-theme="dark"] .ticket-tab.active,
[data-theme="dark"] .filter-tab.active {
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
  border-color: var(--amarillo, var(--amarillo)) !important;
}

/* ── Soporte: tabs genéricos con fondo blanco ── */
[data-theme="dark"] .tab-filter-bar .tab-btn,
[data-theme="dark"] .tabs-filtro .tab-btn {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* ── Botón "Enviar mensaje" / btn-primary blanco en dark ── */
[data-theme="dark"] .btn.btn-primary,
[data-theme="dark"] .btn-primary {
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
  border-color: var(--amarillo, var(--amarillo)) !important;
}
[data-theme="dark"] .btn.btn-primary:hover,
[data-theme="dark"] .btn-primary:hover {
  background: #f59e0b !important;
}

/* ── Perfil nav activo ── */
[data-theme="dark"] .perfil-nav a:hover,
[data-theme="dark"] .perfil-nav a.active {
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
}
[data-theme="dark"] .perfil-nav a .pn-icon {
  background: rgba(255,255,255,.07) !important;
  color: var(--tx-muted) !important;
}
[data-theme="dark"] .perfil-nav a.active .pn-icon {
  background: rgba(0,0,0,.15) !important;
  color: #111 !important;
}

/* ── Admin dashboard botones header ── */
[data-theme="dark"] .adm-header-btns .btn,
[data-theme="dark"] .kpi-header .btn {
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* ── Soporte: filtros con botones pill blancos ── */
[data-theme="dark"] .soporte-filtros button,
[data-theme="dark"] .ticket-filtros button {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* ── Pills de rubros/categorías con fondo blanco ── */
[data-theme="dark"] .dir-rub-pill,
[data-theme="dark"] .home-rub-chip {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* ── Index: idx-cbadge ── */
[data-theme="dark"] .idx-cbadge {
  background: rgba(251,191,36,.15) !important;
  color: var(--amarillo) !important;
}

/* ── Botones ghost/outline genéricos ── */
[data-theme="dark"] .btn:not(.btn-primary):not(.btn-amarillo):not(.btn-verde):not(.btn-rojo) {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}

/* ════════════════════════════════════════════
   FIX PASTEL GLOBAL — v10
   Elimina cualquier pastel residual en dark
   ════════════════════════════════════════════ */

/* ── Todos los badges informativos en dark ── */
[data-theme="dark"] .pbadge,
[data-theme="dark"] .badge,
[data-theme="dark"] .tag-badge,
[data-theme="dark"] .info-badge,
[data-theme="dark"] .mp-section-count,
[data-theme="dark"] .count-badge {
  background: var(--bg-input) !important;
  color: var(--tx-secondary) !important;
  border: 1px solid var(--bd-color) !important;
}

/* ── Excepciones: badges con color semántico propio ── */
[data-theme="dark"] .badge.completado,
[data-theme="dark"] .status-badge.completado { background: rgba(34,197,94,.15) !important; color: #4ade80 !important; border-color: rgba(34,197,94,.2) !important; }
[data-theme="dark"] .badge.disponible,
[data-theme="dark"] .status-badge.disponible,
[data-theme="dark"] .pbadge-dis { background: rgba(34,197,94,.15) !important; color: #4ade80 !important; border-color: rgba(34,197,94,.2) !important; }
[data-theme="dark"] .badge.urgente,
[data-theme="dark"] .status-badge.urgente { background: rgba(239,68,68,.15) !important; color: #f87171 !important; border-color: rgba(239,68,68,.2) !important; }
[data-theme="dark"] .badge.pendiente,
[data-theme="dark"] .status-badge.pendiente,
[data-theme="dark"] .badge.abierto,
[data-theme="dark"] .status-badge.abierto { background: rgba(251,191,36,.12) !important; color: var(--amarillo) !important; border-color: rgba(251,191,36,.15) !important; }
[data-theme="dark"] .badge.asignado,
[data-theme="dark"] .status-badge.asignado { background: rgba(96,165,250,.12) !important; color: #60a5fa !important; border-color: rgba(96,165,250,.15) !important; }
[data-theme="dark"] .badge.con_interesados,
[data-theme="dark"] .status-badge.con_interesados { background: rgba(167,139,250,.12) !important; color: #a78bfa !important; border-color: rgba(167,139,250,.15) !important; }

/* ── Alertas flash ── */
[data-theme="dark"] .alert.success,
[data-theme="dark"] .alert-success {
  background: rgba(34,197,94,.1) !important;
  border-color: rgba(34,197,94,.25) !important;
  color: #4ade80 !important;
}
[data-theme="dark"] .alert.error,
[data-theme="dark"] .alert-error {
  background: rgba(239,68,68,.1) !important;
  border-color: rgba(239,68,68,.25) !important;
  color: #f87171 !important;
}
[data-theme="dark"] .alert.warning,
[data-theme="dark"] .alert-warning {
  background: rgba(251,191,36,.1) !important;
  border-color: rgba(251,191,36,.2) !important;
  color: var(--amarillo) !important;
}
[data-theme="dark"] .alert.info,
[data-theme="dark"] .alert-info {
  background: rgba(96,165,250,.1) !important;
  border-color: rgba(96,165,250,.2) !important;
  color: #60a5fa !important;
}

/* ── Cards de alerta interactiva (elegir profesional / valorar) ── */
[data-theme="dark"] .dash-elegir-banner {
  background: linear-gradient(135deg,rgba(79,70,229,.3),rgba(124,58,237,.2)) !important;
}
[data-theme="dark"] .dash-elegir-item {
  background: var(--bg-card-alt) !important;
  border: 1px solid rgba(99,102,241,.2) !important;
}
[data-theme="dark"] .badge-interesados {
  background: rgba(251,191,36,.15) !important;
  color: var(--amarillo) !important;
}

/* ── Acceso rápido del panel (links con fondo pastel) ── */
[data-theme="dark"] .activity-card a[style],
[data-theme="dark"] .quick-links a[style] {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-primary) !important;
}

/* ── sc-footer del card de servicio ── */
[data-theme="dark"] .sc-footer {
  border-top-color: var(--bd-color) !important;
}
[data-theme="dark"] .btn-solicitar {
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
}
[data-theme="dark"] .btn-solicitar:hover {
  background: #f59e0b !important;
}
[data-theme="dark"] .btn-solicitar.disabled {
  background: var(--bg-input) !important;
  color: var(--tx-muted) !important;
  border: 1px solid var(--bd-color) !important;
}

/* ── modo_prueba badges ── */
[data-theme="dark"] .mp-badge-green { background: rgba(34,197,94,.12) !important; color: #4ade80 !important; }
[data-theme="dark"] .mp-badge-blue  { background: rgba(96,165,250,.12) !important; color: #60a5fa !important; }
[data-theme="dark"] .mp-badge-yellow{ background: rgba(251,191,36,.12) !important; color: var(--amarillo) !important; }
[data-theme="dark"] .mp-badge-purple{ background: rgba(167,139,250,.12) !important; color: #a78bfa !important; }

/* ── Tabla: bordes y hover residuales ── */
[data-theme="dark"] table tr:hover td {
  background: rgba(255,255,255,.04) !important;
}
[data-theme="dark"] thead tr th {
  background: var(--bg-card-alt) !important;
  color: var(--tx-muted) !important;
}

/* ── Pub widget / espacios publicitarios ── */
[data-theme="dark"] .pub-slot,
[data-theme="dark"] .ad-slot,
[data-theme="dark"] .ep-slot {
  background: var(--bg-card-alt) !important;
  border-color: var(--bd-color) !important;
}
[data-theme="dark"] .pub-since,
[data-theme="dark"] .ep-price {
  color: var(--tx-muted) !important;
}

/* ── badge "tipo usuario" en header del panel ── */
[data-theme="dark"] .role-badge,
[data-theme="dark"] .user-role-pill {
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
  color: var(--tx-secondary) !important;
}

/* ── Cards de alerta del panel cliente (dark) ── */
.dash-alert-card {
  border-radius: 18px;
  padding: 22px 24px;
  margin-bottom: 20px;
}
.dash-alert-indigo {
  background: #fff;
  border: 2px solid #4f46e5;
  box-shadow: 0 4px 20px rgba(79,70,229,.12);
}
.dash-alert-amber {
  background: #fff;
  border: 2px solid #f59e0b;
  box-shadow: 0 4px 20px rgba(245,158,11,.12);
}
[data-theme="dark"] .dash-alert-indigo {
  background: rgba(79,70,229,.1) !important;
  border-color: rgba(99,102,241,.4) !important;
  box-shadow: 0 4px 20px rgba(79,70,229,.15) !important;
}
[data-theme="dark"] .dash-alert-amber {
  background: rgba(245,158,11,.08) !important;
  border-color: rgba(245,158,11,.4) !important;
  box-shadow: 0 4px 20px rgba(245,158,11,.1) !important;
}
/* Textos internos de las cards en dark */
[data-theme="dark"] .dash-alert-card [style*="color:#111"],
[data-theme="dark"] .dash-alert-card .dash-elegir-item [style*="color:#111"] {
  color: var(--tx-primary) !important;
}
[data-theme="dark"] .dash-elegir-item {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(99,102,241,.2) !important;
}

/* ── amarillo-bg: fix textos sobre el nuevo fondo semitransparente ── */
/* En dark, el texto sobre --amarillo-bg debe ser amarillo, no oscuro */
[data-theme="dark"] .badge-tipo.pagado,
[data-theme="dark"] .pn-icon,
[data-theme="dark"] .exp-icon,
[data-theme="dark"] .hdr-icon,
[data-theme="dark"] .not-icon.suscripcion,
[data-theme="dark"] .ns-item.active,
[data-theme="dark"] .tipo-proveedor,
[data-theme="dark"] .btn-tog,
[data-theme="dark"] .btn-cancel {
  color: var(--amarillo, var(--amarillo)) !important;
  border-color: rgba(251,191,36,.25) !important;
}

/* Iconos cuadrados con fondo amarillo-bg en dark → texto amarillo */
[data-theme="dark"] [style*="background:var(--amarillo-bg)"] {
  color: var(--amarillo, var(--amarillo)) !important;
}

/* badge-tipo.pagado border */
[data-theme="dark"] .badge-tipo.pagado {
  border-color: rgba(251,191,36,.25) !important;
}

/* notificaciones banner amarillo */
[data-theme="dark"] [style*="background:var(--amarillo-bg)"][style*="border"] {
  border-color: rgba(251,191,36,.3) !important;
}

/* ── Badges de prioridad (tickets) — dark-safe ── */
.badge-prio-baja   { background: rgba(34,197,94,.15);  color: #4ade80;  border: 1px solid rgba(34,197,94,.25); }
.badge-prio-media  { background: rgba(251,191,36,.15); color: var(--amarillo);  border: 1px solid rgba(251,191,36,.25); }
.badge-prio-alta   { background: rgba(249,115,22,.15); color: #fb923c;  border: 1px solid rgba(249,115,22,.25); }
.badge-prio-urgente{ background: rgba(239,68,68,.15);  color: #f87171;  border: 1px solid rgba(239,68,68,.25); }

/* En light se ven igual de bien — si preferís más saturados en light, descomentá:
:root .badge-prio-baja    { background:#dcfce7; color:#15803d; }
:root .badge-prio-media   { background:#fef3c7; color:#92400e; }
:root .badge-prio-alta    { background:#ffedd5; color:#c2410c; }
:root .badge-prio-urgente { background:#fee2e2; color:#dc2626; }
*/

/* ── panel_empresa cp-header en dark ── */
[data-theme="dark"] .cp-header {
  background-color: var(--bg-card-alt) !important;
  color: var(--tx-primary) !important;
}

/* ══════════════════════════════════════════════════════════════════
   DARK FIX v11 — Colores hardcodeados en <style> embebidos de PHP
   Cubre: admin/rubros, admin/servicios, admin/solicitudes, admin/suscripciones,
          admin/proveedores, admin/usuarios, admin/clientes, admin/empresas,
          admin/tickets, perfil, directorio, oportunidades, suscripcion, pagar,
          contratar_publicidad, mis_rubros, dashboard, panel_empresa, bolsa_trabajo
   ══════════════════════════════════════════════════════════════════ */

/* ── Textos color:#111 (negro) en dark → tx-primary ── */
[data-theme="dark"] .rc-nombre,
[data-theme="dark"] .rc-stat .rv,
[data-theme="dark"] .stat-mini strong,
[data-theme="dark"] .lista-header h2,
[data-theme="dark"] .ep-trigger-label.has-value,
[data-theme="dark"] .ep-cat-btn.active,
[data-theme="dark"] .td-nombre,
[data-theme="dark"] .td-titulo,
[data-theme="dark"] .sv-table-top strong,
[data-theme="dark"] .page-hrow h1,
[data-theme="dark"] .abm-header h1,
[data-theme="dark"] .sv-header h2,
[data-theme="dark"] .prov-card.activo .prov-info-name { color: var(--tx-primary) !important; }

/* ── Textos #6b7280 / #9ca3af / #374151 en dark → tx-secondary / tx-muted ── */
[data-theme="dark"] .fp-field label,
[data-theme="dark"] .ep-trigger-label,
[data-theme="dark"] .stat-mini,
[data-theme="dark"] .rc-slug,
[data-theme="dark"] .rc-stat .rl,
[data-theme="dark"] .rc-badge.inact,
[data-theme="dark"] .sv-header p,
[data-theme="dark"] .sv-stat .sv-lbl,
[data-theme="dark"] .td-email,
[data-theme="dark"] .td-sub,
[data-theme="dark"] .sv-table-top span,
[data-theme="dark"] .sv-empty,
[data-theme="dark"] .ep-no-results,
[data-theme="dark"] .ep-trigger-arrow,
[data-theme="dark"] .btn-cancelar,
[data-theme="dark"] .btn-fv.ghost,
[data-theme="dark"] .disp-badge.no,
[data-theme="dark"] .ta-btn.toggle-off,
[data-theme="dark"] .toggle-field label,
[data-theme="dark"] .demo-page .subtitle,
[data-theme="dark"] .ep-cat-btn:not(.active),
[data-theme="dark"] .rc-btn.editar,
[data-theme="dark"] .rc-btn.toggle-des,
[data-theme="dark"] .rc-btn.toggle-act { color: var(--tx-secondary) !important; }

/* ── Inputs con color:#111 hardcodeado ── */
[data-theme="dark"] .fp-field input,
[data-theme="dark"] .fp-field select,
[data-theme="dark"] .fv-field input,
[data-theme="dark"] .fv-field select,
[data-theme="dark"] .ep-search,
[data-theme="dark"] .search-rubros input { 
  color: var(--tx-primary) !important;
  background: var(--bg-input) !important;
  border-color: var(--bd-color) !important;
}

/* ── Focus de inputs: border negro → amarillo en dark ── */
[data-theme="dark"] .fp-field input:focus,
[data-theme="dark"] .fp-field select:focus,
[data-theme="dark"] .fv-field input:focus,
[data-theme="dark"] .fv-field select:focus,
[data-theme="dark"] .ep-search:focus,
[data-theme="dark"] .ep-trigger:hover,
[data-theme="dark"] .ep-trigger.open,
[data-theme="dark"] .emoji-panel,
[data-theme="dark"] .search-rubros input:focus { border-color: var(--amarillo, var(--amarillo)) !important; }

/* ── Botón guardar / búsqueda negros → amarillo en dark ── */
[data-theme="dark"] .btn-guardar,
[data-theme="dark"] .search-rubros button { 
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
  border-color: var(--amarillo, var(--amarillo)) !important;
}
[data-theme="dark"] .btn-guardar:hover,
[data-theme="dark"] .search-rubros button:hover { background: #f59e0b !important; }

/* ── ep-cat-btn activo negro → amarillo en dark ── */
[data-theme="dark"] .ep-cat-btn.active { 
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
  border-color: var(--amarillo, var(--amarillo)) !important;
}

/* ── form-panel-head negro → bg oscuro en dark ── */
[data-theme="dark"] .form-panel-head {
  background: rgba(255,255,255,0.06) !important;
  border-bottom: 1px solid var(--bd-color) !important;
}
[data-theme="dark"] .form-panel-head h3 { color: var(--amarillo, var(--amarillo)) !important; }

/* ── ep-scroll-btn con fondo #fafafa → transparente en dark ── */
[data-theme="dark"] .ep-scroll-btn {
  background: linear-gradient(to right, rgba(255,255,255,0.06) 60%, transparent) !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .ep-scroll-btn.right {
  background: linear-gradient(to left, rgba(255,255,255,0.06) 60%, transparent) !important;
}
[data-theme="dark"] .ep-scroll-btn:hover { color: var(--tx-primary) !important; }

/* ── rc-stat border #f0f0f0 → dark border ── */
[data-theme="dark"] .rc-stat { border-color: var(--bd-color) !important; }

/* ── Botón editar hover negro → amarillo en dark ── */
[data-theme="dark"] .rc-btn.editar:hover { 
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
  border-color: var(--amarillo, var(--amarillo)) !important;
}
[data-theme="dark"] .rc-btn.toggle-des:hover {
  background: rgba(255,255,255,0.1) !important;
  color: var(--tx-primary) !important;
}
[data-theme="dark"] .rc-btn.toggle-act:hover {
  background: rgba(74,222,128,0.15) !important;
  color: #4ade80 !important;
}

/* ── Botón eliminar pastel rojo → dark-safe ── */
[data-theme="dark"] .rc-btn.eliminar,
[data-theme="dark"] .ta-btn.del,
[data-theme="dark"] .del { 
  background: rgba(239,68,68,0.12) !important;
  color: #f87171 !important;
  border-color: rgba(239,68,68,0.25) !important;
}
[data-theme="dark"] .rc-btn.eliminar:hover,
[data-theme="dark"] .ta-btn.del:hover,
[data-theme="dark"] .del:hover { 
  background: rgba(239,68,68,0.25) !important;
  color: #fca5a5 !important;
}

/* ── msg-bar.error pastel rojo → dark-safe ── */
[data-theme="dark"] .msg-bar.error,
[data-theme="dark"] .error { 
  background: rgba(239,68,68,0.1) !important;
  border-color: rgba(239,68,68,0.25) !important;
  color: #f87171 !important;
}
[data-theme="dark"] .msg-bar.ok { 
  background: rgba(74,222,128,0.08) !important;
  border-color: rgba(74,222,128,0.2) !important;
  color: #4ade80 !important;
}

/* ── badge-admin / cerrado pasteles → dark ── */
[data-theme="dark"] .badge-admin { 
  background: rgba(255,255,255,0.07) !important;
  color: var(--tx-secondary) !important;
}
[data-theme="dark"] .cerrado { 
  background: rgba(255,255,255,0.06) !important;
  color: var(--tx-muted) !important;
}
[data-theme="dark"] .urgente { 
  background: rgba(185,28,28,0.15) !important;
  color: #f87171 !important;
}

/* ── secure-badges span pastel gris ── */
[data-theme="dark"] .secure-badges span { 
  background: rgba(255,255,255,0.06) !important;
  color: var(--tx-secondary) !important;
}

/* ── tipo-empresa pastel morado ── */
[data-theme="dark"] .tipo-empresa { 
  background: rgba(167,139,250,0.12) !important;
  color: #c084fc !important;
}
[data-theme="dark"] .rapida { 
  background: rgba(126,34,206,0.15) !important;
  color: #c084fc !important;
}

/* ── row borders #f9f9f9 en tablas → dark border ── */
[data-theme="dark"] .sv-table tbody tr,
[data-theme="dark"] .assign-table tbody tr { border-color: var(--bd-color) !important; }

/* ── Elemento .sel con fondo azul claro (MercadoPago) ── */
[data-theme="dark"] .sel { 
  border-color: rgba(0,158,227,0.5) !important;
  background: rgba(0,158,227,0.08) !important;
  box-shadow: 0 0 0 3px rgba(0,158,227,0.08) !important;
}

/* ── Admin: abm-header inline style color:#111 ── */
[data-theme="dark"] .abm-header [style*="color:#111"],
[data-theme="dark"] .abm-header [style*="color: #111"] { color: var(--amarillo, var(--amarillo)) !important; }

/* ── Botón submit inline #111 en rubros.php ── */
[data-theme="dark"] button[style*="background:#111"],
[data-theme="dark"] button[style*="background: #111"] {
  background: var(--amarillo, var(--amarillo)) !important;
  color: #111 !important;
  border: none !important;
}

/* ── Hover general en .rc-btn / .ta-btn con border-color:#111 ── */
[data-theme="dark"] .btn-cancelar:hover { color: var(--tx-primary) !important; }

/* ── ep-cats-wrap y ep-cats border #fafafa → dark ── */
[data-theme="dark"] .ep-cats-wrap { 
  background: var(--bg-card-alt) !important;
  border-bottom-color: var(--bd-color) !important;
}
[data-theme="dark"] .ep-search-wrap { border-bottom-color: var(--bd-color) !important; }

/* ── Título inline color:#111 en páginas admin (h1 style attr) ── */
[data-theme="dark"] h1[style*="color:#111"],
[data-theme="dark"] h2[style*="color:#111"],
[data-theme="dark"] h3[style*="color:#111"],
[data-theme="dark"] p[style*="color:#6b7280"],
[data-theme="dark"] span[style*="color:#6b7280"],
[data-theme="dark"] span[style*="color:#9ca3af"],
[data-theme="dark"] div[style*="color:#6b7280"],
[data-theme="dark"] small[style*="color:#6b7280"],
[data-theme="dark"] small[style*="color:#9ca3af"] { color: var(--tx-secondary) !important; }

/* ══════════════════════════════════════════════════
   DRAWER MOBILE — overrides tema CLARO
   El drawer es siempre dark (#0a0a0a) en ambos modos
   porque viene del navbar oscuro. En light mode solo
   ajustamos el overlay y algunos detalles sutiles.
   ══════════════════════════════════════════════════ */

/* En light mode el drawer mantiene su fondo oscuro
   pero ajustamos el overlay para que sea más suave */
:root .drawer-overlay { background:rgba(0,0,0,0.5); }
[data-theme="dark"] .drawer-overlay { background:rgba(0,0,0,0.7); }

/* Aseguramos que en light mode los colores del drawer
   no sean afectados por las variables de tema global */
.mobile-drawer,
.mobile-drawer * {
  --tx-primary: #eef0f5;
  --tx-secondary: #8b95a8;
  --bd-color: rgba(255,255,255,0.08);
  --bg-card: rgba(255,255,255,0.05);
  --bg-card-alt: rgba(255,255,255,0.03);
  --bg-input: rgba(255,255,255,0.06);
  --bg-hover: rgba(255,255,255,0.07);
  --amarillo: #fbbf24;
}
