/*
 * dark-overrides.css
 * Corrige todos los colores hardcodeados en las plantillas cuando
 * data-bs-theme="dark" está activo en <html>.
 * Inyectado automáticamente por app.py en cada respuesta HTML.
 */

/* ── Variables base ──────────────────────────────────────────────────── */
[data-bs-theme="dark"] {
  --mnm-bg:        #1a1d21;
  --mnm-surface:   #2c2f33;
  --mnm-surface2:  #343a40;
  --mnm-border:    #495057;
  --mnm-text:      #dee2e6;
  --mnm-muted:     #adb5bd;
}

/* ── Body / página ───────────────────────────────────────────────────── */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] body.bg-light {
  background-color: var(--mnm-bg) !important;
  color: var(--mnm-text) !important;
}

/* ── Field-box (caja blanca genérica) ────────────────────────────────── */
[data-bs-theme="dark"] .field-box {
  background: var(--mnm-surface) !important;
  border-color: var(--mnm-border) !important;
  color: var(--mnm-text) !important;
}

/* ── Caja principal partetrabajo (.container con background:#fff) ────── */
[data-bs-theme="dark"] body > .container {
  background: var(--mnm-surface) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,.5) !important;
  color: var(--mnm-text) !important;
}

/* ── Sticky headers de tabla ─────────────────────────────────────────── */
[data-bs-theme="dark"] thead th,
[data-bs-theme="dark"] .table-fixed thead th,
[data-bs-theme="dark"] .table thead th {
  background: var(--mnm-surface2) !important;
  color: var(--mnm-text) !important;
  border-color: var(--mnm-border) !important;
}

/* ── Filters toolbar sticky (listado equipos/tareas) ─────────────────── */
[data-bs-theme="dark"] .filters-toolbar {
  background: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
}

/* ── Navbar sticky nueva_tarea ───────────────────────────────────────── */
[data-bs-theme="dark"] [style*="rgba(248,249,250"] {
  background: rgba(33,37,41,.95) !important;
}

/* ── Tarjetas de fotos/PDF ───────────────────────────────────────────── */
[data-bs-theme="dark"] .pre-card {
  background: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
}
[data-bs-theme="dark"] .pre-card img {
  border-color: var(--mnm-border) !important;
}
[data-bs-theme="dark"] .pre-card small {
  color: var(--mnm-muted) !important;
}
[data-bs-theme="dark"] .pre-card .x {
  background: var(--mnm-surface2) !important;
}
[data-bs-theme="dark"] .pdf-chip {
  background: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
}
[data-bs-theme="dark"] .pdf-embed {
  background: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
}

/* ── Miniaturas / thumbs ─────────────────────────────────────────────── */
[data-bs-theme="dark"] .thumb {
  border-color: var(--mnm-border) !important;
}
[data-bs-theme="dark"] .thumb-wrap .btn-close,
[data-bs-theme="dark"] .pdf-wrap .btn-close,
[data-bs-theme="dark"] .pdf-chip .btn-close {
  background: var(--mnm-surface2) !important;
  filter: invert(1) grayscale(1);
}

/* ── Canvas firma / pad de firma ─────────────────────────────────────── */
[data-bs-theme="dark"] canvas.firma,
[data-bs-theme="dark"] .sig-pad {
  background: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
}

/* ── Caja totales (partetrabajo) ─────────────────────────────────────── */
[data-bs-theme="dark"] .totals-box {
  background: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
}

/* ── Filas tarjeta (móvil) en cuadros de inspección ─────────────────── */
[data-bs-theme="dark"] .cuadro-lines tr.row-linea {
  background: var(--mnm-surface) !important;
  border-color: var(--mnm-border) !important;
}
[data-bs-theme="dark"] .cuadro-lines td::before {
  color: var(--mnm-muted) !important;
}

/* ── Tarjetas de tareas vencidas ─────────────────────────────────────── */
[data-bs-theme="dark"] .card-overdue .overdue-chip {
  background: #4a0d0d !important;
  color: #f8d7da !important;
}

/* ── Cabecera de tabla sticky (listado tareas/equipos) ───────────────── */
[data-bs-theme="dark"] table thead th {
  background: var(--mnm-surface2) !important;
}

/* ── Hover de columnas ordenables ────────────────────────────────────── */
[data-bs-theme="dark"] th.sortable:hover {
  background: var(--mnm-surface2) !important;
}

/* ── Textos desvanecidos ─────────────────────────────────────────────── */
[data-bs-theme="dark"] .muted,
[data-bs-theme="dark"] .muted-help,
[data-bs-theme="dark"] .small-help,
[data-bs-theme="dark"] .text-muted {
  color: var(--mnm-muted) !important;
}

/* ── Overlay de subida ───────────────────────────────────────────────── */
[data-bs-theme="dark"] #upload-progress-overlay > div {
  background: var(--mnm-surface) !important;
  color: var(--mnm-text) !important;
}

/* ── Inputs / selects / textarea (Bootstrap los maneja, pero algunos    */
/*    tienen fondo forzado inline) ───────────────────────────────────── */
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
  color: var(--mnm-text) !important;
}
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: var(--mnm-surface2) !important;
  border-color: #6ea8fe !important;
  color: var(--mnm-text) !important;
}
[data-bs-theme="dark"] .form-control::placeholder {
  color: var(--mnm-muted) !important;
}

/* ── Input datalist dropdown ─────────────────────────────────────────── */
[data-bs-theme="dark"] datalist option {
  background: var(--mnm-surface2);
  color: var(--mnm-text);
}

/* ── Badges con colores hardcodeados ─────────────────────────────────── */
[data-bs-theme="dark"] .badge.bg-light {
  background: var(--mnm-surface2) !important;
  color: var(--mnm-text) !important;
  border-color: var(--mnm-border) !important;
}

/* ── Alerts ──────────────────────────────────────────────────────────── */
[data-bs-theme="dark"] .alert-dismissible .btn-close {
  filter: invert(1) grayscale(1);
}

/* ── Modal ───────────────────────────────────────────────────────────── */
[data-bs-theme="dark"] .modal-content {
  background: var(--mnm-surface) !important;
  color: var(--mnm-text) !important;
  border-color: var(--mnm-border) !important;
}
[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-footer {
  border-color: var(--mnm-border) !important;
}

/* ── Dropdown ────────────────────────────────────────────────────────── */
[data-bs-theme="dark"] .dropdown-menu {
  background: var(--mnm-surface2) !important;
  border-color: var(--mnm-border) !important;
}
[data-bs-theme="dark"] .dropdown-item {
  color: var(--mnm-text) !important;
}
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
  background: var(--mnm-border) !important;
}

/* ── Tabla striped ───────────────────────────────────────────────────── */
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(255,255,255,.03) !important;
  color: var(--mnm-text) !important;
}
[data-bs-theme="dark"] .table-light {
  --bs-table-bg: var(--mnm-surface2) !important;
}
[data-bs-theme="dark"] .table > :not(caption) > * > * {
  color: var(--mnm-text);
  border-color: var(--mnm-border);
}

/* ── Pagination ──────────────────────────────────────────────────────── */
[data-bs-theme="dark"] .page-link {
  background: var(--mnm-surface) !important;
  border-color: var(--mnm-border) !important;
  color: #6ea8fe !important;
}
[data-bs-theme="dark"] .page-item.active .page-link {
  background: #0d6efd !important;
  color: #fff !important;
}
[data-bs-theme="dark"] .page-item.disabled .page-link {
  background: var(--mnm-surface2) !important;
  color: var(--mnm-muted) !important;
}
