/* RMT_SAC · tema oscuro.
   Se carga DESPUÉS de app.css y solo sobrescribe colores. La cabecera lo enlaza según la preferencia
   del usuario: "oscuro" -> media="all"; "sistema" -> media="(prefers-color-scheme: dark)"; "claro" -> no se enlaza.
   Así una sola copia de las reglas sirve para los dos casos, sin JavaScript. */
:root {
  color-scheme: dark;
  --fondo: #0f1419;
  --tarjeta: #1a2029;
  --texto: #e5e7eb;
  --suave: #9aa4b2;
  --borde: #2d3540;
  --primario: #6aa8ff;          /* enlaces y texto de acento; los fondos sólidos usan --primario-fondo */
  --primario-oscuro: #1a4f9e;
  --primario-fondo: #1e5bb8;
  --peligro: #f97066;
  --ok: #47cd89;
  --info: #6aa8ff;
  --magenta: #e879c9;
  --campo: #11161d;
  --borde-campo: #3a4350;
  --hover: #232a34;
  --zebra: #1f2630;
}

/* Logo (azul y magenta sobre transparente): una pastilla clara para que se lea */
.marca img, .logo-login { background: #f4f6f8; border-radius: 50%; padding: 2px; }

/* Campos y botones */
input[type=text], input[type=email], input[type=password], input[type=search], input[type=number], input[type=date], input[type=time], input[type=url], select, textarea,
input[type=color], code.password { background: var(--campo); border-color: var(--borde-campo); color: var(--texto); }
.btn { background: var(--tarjeta); border-color: var(--borde-campo); }
.btn:hover, .btn-suave:hover, .btn-icono:hover, .nav a:hover, .btn-cabecera:hover { background: var(--hover); }
.btn-suave, .btn-icono { background: transparent; border-color: transparent; }
.btn-eliminar:hover { background: #3a1a1a; }
.btn-activar:hover { background: #10301f; }
.interruptor-pista { background: #4b5563; }

/* Fondos sólidos del color principal: texto blanco sobre un azul con contraste suficiente */
.btn-primario, .nav a.activo, .paginacion a.activo, .btn-cabecera.activo { background: var(--primario-fondo); border-color: var(--primario-fondo); color: #fff; }
.btn-primario:hover { background: var(--primario-oscuro); }
.interruptor input:checked + .interruptor-pista, .barra-relleno { background: var(--primario-fondo); }

/* Tablas, listas y bloques con fondo gris claro */
.tabla th, .tabla tr:hover td, .tabla-horas .detalle-imputacion td, .config-fila:hover, .inc-fila:hover,
.lista-entornos-cab, .lista-incidencias li.grupo-cabecera { background: var(--zebra); }
.tabla tr.fila-yo td { background: #10243d; }
.paginacion a, .cuadro-horas { background: var(--tarjeta); }
.cuadro-horas:hover { background: #2e1328; }
.barra { background: var(--borde); }
.ayuda-cuerpo code { background: var(--hover); }
.inc-linea2 strong { color: #c3cad4; }
.inc-cliente { color: #7dd3fc; }
.inc-linea2 .sep { color: #4b5563; }
.inc-hito, .icono-fichero .icono, .zona-adjuntos-vista .icono { color: var(--suave); }

/* Avisos */
.aviso-ok { background: #0f2f20; border-color: #1f6f47; }
.aviso-error { background: #3a1616; border-color: #7a2a24; }
.aviso-info { background: #10243d; border-color: #2b5a8f; }
.comentario.interno { background: #2e2610; }

/* Adjuntos */
.zona-adjuntos-area, .adjuntos-galeria .icono-fichero { background: #161c24; border-color: #4b5563; }
.zona-adjuntos-area:hover, .zona-adjuntos.arrastrando .zona-adjuntos-area { background: #10243d; }

/* Indicadores y alertas */
.kpi-alerta { background: #33200f; } .kpi-alerta .kpi-valor { color: #fb923c; }
.kpi-aviso { background: #2e2610; } .kpi-aviso .kpi-valor { color: #fbbf24; }
.alerta-alta { color: #f87171; } .alerta-media { color: #fb923c; } .alerta-baja { color: #facc15; }
.alerta-chip { background: #33200f; }
.tarjeta-alertas { border-color: #9a4a14; }
.tarjeta-alertas h2 { color: #fb923c; }

/* Etiquetas: fondo oscuro del mismo tono y texto claro */
.etiqueta, .prioridad-baja, .estado-cerrada { background: #2f3640; color: #d1d5db; }
.etiqueta-cliente { background: #0c3a55; color: #bae6fd; }
.etiqueta-interno, .estado-pendiente_aprobacion { background: #4a3508; color: #fde68a; }
.prioridad-media, .estado-en_curso { background: #1e3a6e; color: #bfdbfe; }
.prioridad-alta, .estado-pendiente_cliente { background: #5a2a0c; color: #fed7aa; }
.prioridad-critica, .estado-rechazada { background: #5c1a1a; color: #fecaca; }
.estado-nueva { background: #3b2470; color: #ddd6fe; }
.estado-triada { background: #2e2f6e; color: #c7d2fe; }
.estado-en_revision { background: #0e4150; color: #a5f3fc; }
.estado-resuelta { background: #0f4630; color: #a7f3d0; }
.estado-en_pruebas { background: #0f433f; color: #99f6e4; }
.estado-bloqueada { background: #6b1c1c; color: #fecaca; }
.estado-aparcada { background: #3f1f5c; color: #e9d5ff; }
.etiqueta-cat { background: color-mix(in srgb, var(--cat) 25%, var(--tarjeta)); color: color-mix(in srgb, var(--cat) 55%, white); border-color: color-mix(in srgb, var(--cat) 55%, var(--tarjeta)); }
.etiqueta-hito { background: var(--tarjeta); color: #c3cad4; border-color: #6b7280; }

/* Editor Quill (su tema "snow" es claro) */
.editor-rico .ql-toolbar.ql-snow { background: var(--zebra); border-color: var(--borde-campo); }
.editor-rico .ql-container.ql-snow { background: var(--campo); border-color: var(--borde-campo); }
.ql-snow .ql-stroke { stroke: #c3cad4; }
.ql-snow .ql-fill, .ql-snow .ql-stroke.ql-fill { fill: #c3cad4; }
.ql-snow .ql-picker { color: #c3cad4; }
.ql-snow .ql-picker-options, .ql-snow .ql-tooltip { background: var(--tarjeta); border-color: var(--borde-campo); color: var(--texto); box-shadow: 0 2px 8px rgba(0,0,0,.5); }
.ql-snow .ql-tooltip input[type=text] { background: var(--campo); color: var(--texto); border-color: var(--borde-campo); }
.ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow.ql-toolbar button.ql-active .ql-stroke { stroke: var(--primario); }
.ql-snow.ql-toolbar button:hover .ql-fill, .ql-snow.ql-toolbar button.ql-active .ql-fill { fill: var(--primario); }
.ql-snow.ql-toolbar button:hover, .ql-snow.ql-toolbar button.ql-active, .ql-snow .ql-picker-label:hover { color: var(--primario); }

/* Contenido enriquecido mostrado */
.rico blockquote { border-left-color: #4b5563; color: #aab3bf; }
.rico pre, .rico .ql-code-block-container { background: var(--campo); }

/* Esquemas de la ayuda: sus colores van dentro del SVG, así que conservan un panel claro */
.esquema { background: #f8fafc; border-radius: var(--radio); padding: .5rem; }

/* Auditoría */
.op-insert { background: #0f4630; color: #a7f3d0; }
.op-update { background: #1e3a6e; color: #bfdbfe; }
.op-delete { background: #5c1a1a; color: #fecaca; }
.etiqueta-recomendada { background: #0f4630; color: #a7f3d0; }
