/* EstateLux panel contrast — final internal stylesheet.
   Loaded after every EstateLux/CRM stylesheet. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-card,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body,
html body #elx10k-app-final .elx-panel-wrap .elx-practical-agents,
html body #elx10k-app-final .elx-panel-wrap .elx-crm-pro,
html body #elx10k-app-final .elx-panel-wrap .elx-box {
  color:#fff !important;
}

/* Every textual element located inside the dark private panels. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body h1,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body h2,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body h3,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body h4,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body h5,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body h6,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body label,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body p,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body small,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body span,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body strong,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body b,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body em,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body li,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body legend,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-help,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .description,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body [class*="help"],
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body [class*="hint"],
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body [class*="muted"] {
  color:#fff !important;
  opacity:1 !important;
  text-shadow:none !important;
  -webkit-text-fill-color:#fff !important;
}

/* Dark form controls. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body input:not([type="button"]):not([type="submit"]):not([type="reset"]),
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body select,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body textarea {
  background-color:#02070c !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  caret-color:#fff !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body input::placeholder,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body textarea::placeholder {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body select option {
  background:#02070c !important;
  color:#fff !important;
}

/* File input text is white; the native white button stays black. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body input[type="file"] {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body input[type="file"]::file-selector-button {
  background:#fff !important;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
}

/* Buttons on dark panels. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body button,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body input[type="submit"],
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body input[type="button"] {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Explicit light surfaces keep dark text. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-stat,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-mini-stat,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-company-logo-preview,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-logo-preview,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body [style*="background:#fff"],
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body [style*="background: #fff"],
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body [style*="background:white"],
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body [style*="background: white"] {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-stat *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-mini-stat *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-company-logo-preview *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-logo-preview * {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

/* =============================================================
   RESUMEN GENERAL: superficies blancas con texto negro.
   Esta regla debe permanecer al final del CSS para superar el
   contraste blanco global aplicado a los paneles oscuros.
   ============================================================= */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-stat,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-pipeline,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-chart-card,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-process,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-gauge,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-prop,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-date-pill,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-light-btn {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-stat *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-pipeline *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-chart-card *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-process *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-gauge *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-prop h4,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-prop p,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-date-pill *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-light-btn * {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  opacity:1 !important;
}
/* Conserva los colores semánticos dentro de las tarjetas claras. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-stat small.up {
  color:#16a34a !important;
  -webkit-text-fill-color:#16a34a !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-stat small.down {
  color:#ef4444 !important;
  -webkit-text-fill-color:#ef4444 !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-axis,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-axis *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-gauge span {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
/* Cabeceras oscuras/rojas del resumen mantienen texto blanco. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-topbar,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm .elx-demo-topbar *,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm > .elx-demo-page-head,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm > .elx-demo-page-head > h2 {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
/* La píldora blanca de fecha siempre usa texto negro. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm > .elx-demo-page-head .elx-date-pill,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-demo-crm > .elx-demo-page-head .elx-date-pill * {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

/* =============================================================
   V13.3.22 — CORRECCIÓN REAL FORMULARIOS BLANCOS CLIENTES/USUARIOS
   Este bloque va al final del último CSS cargado para ganar la
   cascada frente a las reglas globales que convertían todo a blanco.
   ============================================================= */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form h1,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form h2,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form h3,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form h4,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form h5,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form h6,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form label,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form legend,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form p,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form small,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form strong,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form b,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form .elx-cmp-check {
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Controles oscuros: texto escrito y valores permanecen blancos. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form select,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form textarea {
  background:#02070c !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  caret-color:#ffffff !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form input::placeholder,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form textarea::placeholder {
  color:#d1d5db !important;
  -webkit-text-fill-color:#d1d5db !important;
  opacity:1 !important;
}
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form select option {
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

/* Botones mantienen letras blancas. */
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form button,
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form input[type="submit"],
html body #elx10k-app-final .elx-panel-wrap .elx-panel-body .elx-cmp-form input[type="button"] {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
