/*
 * Informes de Avance: aviso de estado de las páginas del informe (docs/INFORMES_AVANCE.md P2.1).
 * Hoja propia registrada con FilamentAsset (AppServiceProvider), como modificaciones.css: el CSS compilado de Filament no
 * incluye estas clases de Tailwind. Se publica con `php artisan filament:assets`. Todas las clases llevan el prefijo ia-.
 */
.ia-aviso { margin-top: .5rem; padding: .75rem 1rem; border-left: 4px solid rgb(var(--gray-400)); border-radius: .5rem; background: rgb(var(--gray-50)); font-size: .875rem; line-height: 1.5; color: rgb(var(--gray-950)); }
.ia-aviso--success { border-left-color: rgb(var(--success-500)); background: rgb(var(--success-50)); }
.ia-aviso--warning { border-left-color: rgb(var(--warning-500)); background: rgb(var(--warning-50)); }
.ia-aviso--danger { border-left-color: rgb(var(--danger-500)); background: rgb(var(--danger-50)); }
.dark .ia-aviso { background: rgb(var(--gray-900)); color: rgb(var(--gray-100)); }

.ia-aviso-fila { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.25rem; }
.ia-aviso-etiqueta { color: rgb(var(--gray-500)); }
.ia-aviso-linea { margin-top: .25rem; }
.ia-aviso-tenue { margin-top: .25rem; color: rgb(var(--gray-600)); }
.ia-aviso-cerrada { font-weight: 600; color: rgb(var(--danger-600)); }
.ia-aviso-listo { margin-top: .5rem; font-weight: 600; color: rgb(var(--success-700)); }
.ia-aviso-enlace { font-weight: 600; color: rgb(var(--primary-600)); text-decoration: underline; }
.ia-aviso ul { margin: .25rem 0 0 1.25rem; list-style: disc; }
.ia-aviso summary { cursor: pointer; }

/*
 * Pestañas por unidad de la página del indicador (App\Livewire\InformesAvance\BloqueAvance): modo lectura compacto.
 * Las tablas usan las clases cron-tabla de cronograma.css (mismo aspecto que las listas de la página del objetivo).
 */
.ia-bloque { display: flex; flex-direction: column; gap: 1.25rem; font-size: .875rem; color: rgb(var(--gray-950)); }
.ia-bloque h4 { margin: 0; font-size: .8125rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: rgb(var(--gray-600)); }
.ia-bloque-cabecera { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; }
.ia-bloque-avance { flex: 1 1 26rem; min-width: 0; }
.ia-bloque-datos { display: flex; flex-direction: column; gap: .375rem; }
.ia-bloque-fila { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem .75rem; }
.ia-bloque-titulo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .375rem 1rem; margin-bottom: .5rem; }
.ia-bloque-reporte { padding: .75rem 1rem; border: 1px solid rgb(var(--gray-200)); border-radius: .5rem; }
.ia-acciones { display: flex; gap: .75rem; }
.ia-resumen { display: inline-flex; flex-wrap: wrap; gap: .25rem; }
.ia-etiqueta { color: rgb(var(--gray-500)); }
.ia-tenue { color: rgb(var(--gray-500)); }
.ia-falta { font-size: .8125rem; font-weight: 500; color: rgb(var(--danger-600)); }

/* Texto recortado con "Ver más…" */
.ia-texto { white-space: pre-line; overflow-wrap: anywhere; }
.ia-recorte { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ia-tabla .ia-recorte { -webkit-line-clamp: 2; }
.ia-vermas { margin-top: .125rem; font-size: .8125rem; font-weight: 600; color: rgb(var(--primary-600)); }
.ia-vermas:hover { text-decoration: underline; }

/* Columnas de las tablas */
.ia-tabla .ia-col-desc { width: 30%; }
.ia-tabla .ia-col-estado { width: 8rem; }
.ia-tabla .ia-col-evidencia { width: 11rem; }
/* Tabla de entregables: el avance reportado se lleva el espacio; un nombre de archivo largo se parte en vez de ensanchar la evidencia */
.ia-tabla .ia-col-reporte { width: 32%; }
.ia-tabla .ia-col-evidencia, .ia-tabla .ia-evidencia { min-width: 9rem; }
.ia-evidencia-nombre { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }

/* Resumen de comentarios */
.ia-coment { display: flex; flex-wrap: wrap; align-items: center; gap: .125rem .5rem; margin-top: .25rem; font-size: .75rem; }
.ia-coment-n { font-weight: 500; color: rgb(var(--gray-600)); }
.ia-coment-pend { color: rgb(var(--danger-600)); }

.dark .ia-bloque { color: rgb(var(--gray-100)); }
.dark .ia-bloque h4 { color: rgb(var(--gray-400)); }
.dark .ia-bloque-reporte { border-color: rgba(255, 255, 255, .1); }
.dark .ia-etiqueta, .dark .ia-tenue, .dark .ia-coment-n { color: rgb(var(--gray-400)); }
.dark .ia-falta, .dark .ia-coment-pend { color: rgb(var(--danger-400)); }
.dark .ia-vermas { color: rgb(var(--primary-400)); }

/* "Ver avance comentado": el avance reportado cuando se escribió un comentario (IAComentario::seccionComentarios) */
.ia-coment-ver { margin-left: .75rem; font-size: .75rem; font-weight: 600; color: rgb(var(--primary-600)); }
.ia-coment-ver:hover { text-decoration: underline; }
.ia-coment-version { margin: .5rem 0 0 .75rem; padding: .5rem .75rem; border-left: 3px solid rgb(var(--gray-300)); background: rgb(var(--gray-50)); font-size: .8125rem; color: rgb(var(--gray-700)); white-space: normal; }
.ia-coment-version-titulo { margin-bottom: .25rem; font-size: .75rem; font-weight: 600; color: rgb(var(--gray-500)); }
.ia-coment-version-vacio { font-style: italic; color: rgb(var(--gray-500)); }
.dark .ia-coment-ver { color: rgb(var(--primary-400)); }
.dark .ia-coment-version { border-left-color: rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .04); color: rgb(var(--gray-300)); }
.dark .ia-coment-version-titulo, .dark .ia-coment-version-vacio { color: rgb(var(--gray-400)); }

/* Parte retornada por Planeación: solo se corrigen los elementos comentados (D15-D19) */
.ia-restriccion { margin: 0; padding: .5rem .75rem; border-left: 4px solid rgb(var(--warning-500)); border-radius: .375rem; background: rgb(var(--warning-50)); font-size: .8125rem; color: rgb(var(--gray-800)); }
/* .fi-badge: en Filament 3 la insignia trae la clase flex de Tailwind, que la estiraba a todo el ancho de la celda */
.fi-badge.ia-corregir { display: inline-flex; width: auto; margin: 0 .25rem .25rem 0; vertical-align: middle; }
.dark .ia-restriccion { background: rgba(var(--warning-500), .1); color: rgb(var(--gray-200)); }

/* Histórico de estados: Observaciones recortadas y botón de comentarios (IAHistoricoRelationManager) */
.ia-hist-obs { display: flex; flex-direction: column; align-items: flex-start; gap: .375rem; max-width: 60rem; font-size: .875rem; }
.ia-hist-coment { display: inline-flex; align-items: center; gap: .25rem; padding: .125rem .625rem; border: 1px solid rgb(var(--primary-300)); border-radius: 9999px; font-size: .75rem; font-weight: 600; color: rgb(var(--primary-700)); background: rgb(var(--primary-50)); }
.ia-hist-coment:hover { background: rgb(var(--primary-100)); }
.dark .ia-hist-coment { border-color: rgba(var(--primary-400), .4); color: rgb(var(--primary-300)); background: rgba(var(--primary-400), .1); }

/* Comentarios de un paso del informe, en pantalla completa (App\Livewire\InformesAvance\ComentariosRonda) */
.ia-ronda { display: flex; flex-direction: column; gap: 1rem; font-size: .875rem; color: rgb(var(--gray-950)); }
.ia-ronda-cabecera { display: flex; flex-direction: column; gap: .5rem; padding: .75rem 0; border-bottom: 1px solid rgb(var(--gray-200)); background: inherit; }
.ia-ronda-datos, .ia-ronda-resumen { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem 1.25rem; }
.ia-ronda-total { font-weight: 600; }
.ia-ronda-progreso { display: inline-flex; align-items: center; gap: .5rem; }
.ia-ronda-barra { display: inline-block; width: 8rem; height: .5rem; border-radius: 9999px; background: rgb(var(--gray-200)); overflow: hidden; }
.ia-ronda-barra > span { display: block; height: 100%; background: rgb(var(--success-500)); }
.ia-ronda-filtros { display: inline-flex; border: 1px solid rgb(var(--gray-300)); border-radius: .5rem; overflow: hidden; }
.ia-ronda-filtros button { padding: .25rem .75rem; font-size: .8125rem; color: rgb(var(--gray-600)); }
.ia-ronda-filtros button + button { border-left: 1px solid rgb(var(--gray-300)); }
.ia-ronda-filtros button.ia-activo { background: rgb(var(--primary-600)); color: #fff; }
.ia-ronda-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr)); gap: 1rem; }
.ia-ronda-elemento { display: flex; flex-direction: column; gap: .75rem; padding: 1rem; border: 1px solid rgb(var(--gray-200)); border-left-width: 4px; border-radius: .75rem; background: rgb(var(--gray-50)); }
.ia-ronda-elemento--pendiente { border-left-color: rgb(var(--warning-500)); }
.ia-ronda-elemento--respondido { border-left-color: rgb(var(--success-500)); }
.ia-ronda-elemento-cabecera { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; }
.ia-ronda-elemento-titulo { flex: 1 1 16rem; min-width: 0; }
.ia-ronda-elemento-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.ia-ronda-ruta { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: .25rem; font-size: .75rem; color: rgb(var(--gray-500)); }
.ia-ronda-ruta a { color: rgb(var(--primary-600)); }
.ia-ronda-ruta a:hover { text-decoration: underline; }
.ia-ronda-ruta > span:last-child { display: none; }
.ia-ronda-nombre { display: flex; align-items: flex-start; gap: .5rem; font-weight: 600; }
.ia-ronda-reporte { padding: .5rem .75rem; border-radius: .5rem; background: rgb(var(--gray-100)); font-size: .8125rem; }
.ia-ronda-comentarios { display: flex; flex-direction: column; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ia-ronda-comentario { padding: .5rem .75rem; border-left: 3px solid rgb(var(--gray-300)); border-radius: .375rem; background: #fff; }
.ia-ronda-comentario--pendiente { border-left-color: rgb(var(--warning-400)); }
.ia-ronda-comentario--respondido { border-left-color: rgb(var(--success-400)); }
.ia-ronda-comentario-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; margin-bottom: .25rem; font-size: .75rem; color: rgb(var(--gray-600)); }
.ia-ronda-respuesta { margin-top: .375rem; font-size: .75rem; font-weight: 600; }
.ia-ronda-respuesta--si { color: rgb(var(--success-700)); }
.ia-ronda-respuesta--no { color: rgb(var(--warning-700)); }

.dark .ia-ronda { color: rgb(var(--gray-100)); }
.dark .ia-ronda-cabecera { border-bottom-color: rgba(255, 255, 255, .1); }
.dark .ia-ronda-barra { background: rgba(255, 255, 255, .1); }
.dark .ia-ronda-filtros, .dark .ia-ronda-filtros button + button { border-color: rgba(255, 255, 255, .15); }
.dark .ia-ronda-filtros button { color: rgb(var(--gray-300)); }
.dark .ia-ronda-elemento { border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .03); }
.dark .ia-ronda-elemento--pendiente { border-left-color: rgb(var(--warning-500)); }
.dark .ia-ronda-elemento--respondido { border-left-color: rgb(var(--success-500)); }
.dark .ia-ronda-reporte { background: rgba(255, 255, 255, .05); }
.dark .ia-ronda-comentario { background: rgba(255, 255, 255, .04); }
.dark .ia-ronda-respuesta--si { color: rgb(var(--success-400)); }
.dark .ia-ronda-respuesta--no { color: rgb(var(--warning-400)); }

@media (max-width: 640px) {
    .ia-ronda-lista { grid-template-columns: 1fr; }
}
.ia-chip { display: inline-flex; align-items: center; gap: .25rem; padding: .0625rem .5rem; border-radius: .375rem; font-size: .75rem; font-weight: 500; white-space: nowrap; color: rgb(var(--gray-700)); background: rgb(var(--gray-100)); box-shadow: inset 0 0 0 1px rgb(var(--gray-200)); }
.ia-chip--info { color: rgb(var(--info-700)); background: rgb(var(--info-50)); box-shadow: inset 0 0 0 1px rgb(var(--info-200)); }
.ia-chip--primary { color: rgb(var(--primary-700)); background: rgb(var(--primary-50)); box-shadow: inset 0 0 0 1px rgb(var(--primary-200)); }
.ia-chip--danger { color: rgb(var(--danger-700)); background: rgb(var(--danger-50)); box-shadow: inset 0 0 0 1px rgb(var(--danger-200)); }
.ia-chip--warning { color: rgb(var(--warning-700)); background: rgb(var(--warning-50)); box-shadow: inset 0 0 0 1px rgb(var(--warning-200)); }
.ia-chip--success { color: rgb(var(--success-700)); background: rgb(var(--success-50)); box-shadow: inset 0 0 0 1px rgb(var(--success-200)); }
.ia-ronda-accion { font-size: .8125rem; font-weight: 600; color: rgb(var(--primary-600)); white-space: nowrap; }
.ia-ronda-accion:hover { text-decoration: underline; }
.dark .ia-chip { color: rgb(var(--gray-200)); background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.dark .ia-chip--info { color: rgb(var(--info-300)); background: rgba(var(--info-400), .1); }
.dark .ia-chip--primary { color: rgb(var(--primary-300)); background: rgba(var(--primary-400), .1); }
.dark .ia-chip--danger { color: rgb(var(--danger-300)); background: rgba(var(--danger-400), .1); }
.dark .ia-chip--warning { color: rgb(var(--warning-300)); background: rgba(var(--warning-400), .1); }
.dark .ia-chip--success { color: rgb(var(--success-300)); background: rgba(var(--success-400), .1); }
.dark .ia-ronda-accion { color: rgb(var(--primary-400)); }

/*
 * Explorador del informe (ExploradorInformeRelationManager, §11.3): barra, árbol objetivos › indicadores › hitos y panel de
 * detalle (App\Livewire\InformesAvance\DetalleNodo, DetalleIndicador, DetalleHito).
 */
.ia-exp { font-size: .875rem; color: rgb(var(--gray-950)); }
.ia-exp [x-cloak] { display: none !important; }
.ia-exp-herramientas { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin-bottom: 1rem; }
.ia-exp-ver { display: inline-flex; align-items: center; gap: .5rem; font-weight: 500; }
.ia-exp-ver select, .ia-exp-buscar { padding: .375rem .625rem; border: 1px solid rgb(var(--gray-300)); border-radius: .5rem; background: #fff; font-size: .875rem; }
.ia-exp-ver select { padding-right: 2rem; max-width: 22rem; }
.ia-exp-buscar { flex: 1 1 14rem; min-width: 10rem; }
.ia-exp-alternar { margin-left: auto; font-size: .8125rem; font-weight: 600; color: rgb(var(--primary-600)); }
.ia-exp-cuerpo { display: grid; grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.ia-exp-cuerpo--sin-arbol { grid-template-columns: minmax(0, 1fr); }
.ia-exp-panel { min-width: 0; }

/* Árbol */
.ia-arbol { position: sticky; top: 4.5rem; max-height: calc(100vh - 6rem); overflow: auto; padding: .5rem; border: 1px solid rgb(var(--gray-200)); border-radius: .75rem; background: rgb(var(--gray-50)); }
.ia-arbol ul { margin: 0; padding: 0; list-style: none; }
.ia-arbol ul ul { margin-left: .875rem; padding-left: .375rem; border-left: 1px solid rgb(var(--gray-200)); }
.ia-arbol-fila { display: flex; align-items: center; gap: .25rem; padding: .125rem .25rem; border-radius: .375rem; }
.ia-arbol-fila:hover { background: rgb(var(--gray-100)); }
.ia-arbol-fila.ia-sel { background: rgb(var(--primary-50)); box-shadow: inset 3px 0 0 rgb(var(--primary-600)); }
.ia-arbol-fila--objetivo { margin-top: .25rem; }
.ia-arbol-flecha { flex: none; width: 1rem; color: rgb(var(--gray-500)); font-size: .75rem; transition: transform .15s; }
.ia-arbol-flecha.ia-abierto { transform: rotate(90deg); }
.ia-arbol-nodo { flex: 1 1 auto; min-width: 0; padding: .25rem 0; text-align: left; }
.ia-arbol-nodo:focus-visible { outline: 2px solid rgb(var(--primary-500)); outline-offset: 1px; border-radius: .25rem; }
.ia-arbol-texto { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.3; }
.ia-arbol-pct { flex: none; min-width: 2.75rem; font-size: .75rem; font-variant-numeric: tabular-nums; text-align: right; color: rgb(var(--gray-600)); }
.ia-arbol-vacio { padding: .5rem; }
.ia-marca { flex: none; padding: 0 .3rem; border-radius: .25rem; font-size: .6875rem; font-weight: 600; white-space: nowrap; }
.ia-marca--corregir { color: rgb(var(--danger-700)); background: rgb(var(--danger-50)); }
.ia-marca--incompleto { color: rgb(var(--warning-700)); background: rgb(var(--warning-50)); }
.ia-marca--respuesta { color: rgb(var(--info-700)); background: rgb(var(--info-50)); }

/* Panel de detalle */
.ia-exp-detalle { display: flex; flex-direction: column; gap: 1rem; }
.ia-exp-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding-bottom: .5rem; border-bottom: 1px solid rgb(var(--gray-200)); }
.ia-exp-ruta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .375rem; min-width: 0; color: rgb(var(--gray-500)); }
.ia-exp-ruta button { color: rgb(var(--primary-600)); }
.ia-exp-ruta button:hover { text-decoration: underline; }
.ia-exp-ruta strong { color: rgb(var(--gray-950)); }
.ia-exp-pasos { display: inline-flex; gap: .5rem; }
.ia-exp-paso { padding: .25rem .625rem; border: 1px solid rgb(var(--gray-300)); border-radius: .5rem; font-size: .8125rem; color: rgb(var(--gray-700)); }
.ia-exp-paso:hover:not(:disabled) { background: rgb(var(--gray-50)); }
.ia-exp-paso:disabled { opacity: .45; cursor: default; }
/* Selector de informe del elemento y aviso de consulta de otro informe (D25) */
.ia-exp-informe select { max-width: 16rem; padding: .25rem 2rem .25rem .625rem; border: 1px solid rgb(var(--gray-300)); border-radius: .5rem; background-color: #fff; font-size: .8125rem; }
.ia-exp-informe select.ia-exp-informe--otro { border-color: rgb(var(--warning-500)); background-color: rgb(var(--warning-50)); }
.ia-exp-consulta { padding: .5rem .875rem; border-left: 4px solid rgb(var(--warning-500)); border-radius: .5rem; background: rgb(var(--warning-50)); font-size: .8125rem; }
.ia-exp-consulta a, .ia-exp-consulta button { font-weight: 600; color: rgb(var(--primary-600)); text-decoration: underline; }
.ia-exp-cargando { align-items: center; justify-content: center; gap: .5rem; padding: 2rem; color: rgb(var(--gray-500)); }
.ia-exp-titulo { display: flex; flex-direction: column; align-items: flex-start; gap: .375rem; }
.ia-exp-titulo h3 { margin: 0; font-size: 1.0625rem; font-weight: 600; line-height: 1.4; }
.ia-exp-seccion { display: flex; flex-direction: column; gap: .625rem; }
.ia-exp-seccion h4 { margin: 0; font-size: .8125rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: rgb(var(--gray-600)); }
/* Sección en caja (responsable de objetivo): borde como las tarjetas; el margen superior deja libre la etiqueta "Cronológico" de la barra */
.ia-exp-caja { margin: 1.75rem 0 .75rem; padding: 1.25rem 1rem; border: 1px solid rgb(var(--gray-200)); border-radius: .75rem; }
.ia-exp-tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .75rem; }
.ia-exp-tarjeta { display: flex; flex-direction: column; gap: .375rem; padding: .75rem 1rem; border: 1px solid rgb(var(--gray-200)); border-radius: .75rem; text-align: left; transition: border-color .15s, box-shadow .15s; }
.ia-exp-tarjeta:hover, .ia-exp-tarjeta:focus-visible { border-color: rgb(var(--primary-400)); box-shadow: 0 1px 4px rgba(0, 0, 0, .08); outline: none; }
.ia-exp-tarjeta-cabeza { display: flex; flex-wrap: wrap; align-items: center; gap: .375rem; }
.ia-exp-tarjeta-texto { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: rgb(var(--gray-700)); }
.ia-exp-pct { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; color: rgb(var(--primary-700)); }
/* Espacio bajo la barra de avance: su etiqueta "Cronológico" sobresale por debajo */
.ia-det-indicador { padding-bottom: 1.75rem; }
.ia-det { display: flex; flex-direction: column; gap: 1rem; }
.ia-det-datos { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .625rem 1.5rem; margin: 0; }
.ia-det-dato dt { font-size: .75rem; color: rgb(var(--gray-500)); }
.ia-det-dato dd { margin: 0; }
.ia-det-dato--ancho { grid-column: 1 / -1; }
.ia-det-datos--fila { grid-template-columns: auto auto minmax(0, 1fr); gap: .5rem 2rem; padding: .75rem 1rem; border: 1px solid rgb(var(--gray-200)); border-radius: .75rem; }
.ia-det-datos--fila .ia-det-dato dd { white-space: nowrap; }
.ia-det-datos--fila .ia-det-dato:last-child dd { white-space: normal; }
@media (max-width: 639px) { .ia-det-datos--fila { grid-template-columns: auto minmax(0, 1fr); } .ia-det-datos--fila .ia-det-dato:last-child { grid-column: 1 / -1; } }
.ia-det-pestanas { display: flex; flex-direction: column; gap: .75rem; }
.ia-det-pestanas-lista { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid rgb(var(--gray-200)); }
.ia-det-pestanas-lista button { margin-bottom: -1px; padding: .375rem .75rem; border-bottom: 2px solid transparent; font-size: .8125rem; font-weight: 500; color: rgb(var(--gray-600)); }
.ia-det-pestanas-lista button:hover { color: rgb(var(--gray-950)); }
.ia-det-pestanas-lista button.ia-activa { border-bottom-color: rgb(var(--primary-600)); color: rgb(var(--primary-700)); }

/* Pantallas angostas: el árbol arriba, con altura limitada */
@media (max-width: 1023px) {
    .ia-exp-cuerpo { grid-template-columns: minmax(0, 1fr); }
    .ia-arbol { position: static; max-height: 18rem; }
    .ia-exp-alternar { margin-left: 0; }
}

.dark .ia-exp { color: rgb(var(--gray-100)); }
.dark .ia-exp-ver select, .dark .ia-exp-buscar { border-color: rgba(255, 255, 255, .15); background: rgb(var(--gray-900)); color: rgb(var(--gray-100)); }
.dark .ia-arbol { border-color: rgba(255, 255, 255, .1); background: rgba(255, 255, 255, .03); }
.dark .ia-arbol ul ul { border-left-color: rgba(255, 255, 255, .1); }
.dark .ia-arbol-fila:hover { background: rgba(255, 255, 255, .05); }
.dark .ia-arbol-fila.ia-sel { background: rgba(var(--primary-400), .12); box-shadow: inset 3px 0 0 rgb(var(--primary-400)); }
.dark .ia-arbol-pct { color: rgb(var(--gray-400)); }
.dark .ia-marca--corregir { color: rgb(var(--danger-300)); background: rgba(var(--danger-400), .12); }
.dark .ia-marca--incompleto { color: rgb(var(--warning-300)); background: rgba(var(--warning-400), .12); }
.dark .ia-marca--respuesta { color: rgb(var(--info-300)); background: rgba(var(--info-400), .12); }
.dark .ia-exp-barra, .dark .ia-det-pestanas-lista { border-color: rgba(255, 255, 255, .1); }
.dark .ia-exp-ruta strong { color: rgb(var(--gray-100)); }
.dark .ia-exp-informe select { border-color: rgba(255, 255, 255, .15); background-color: rgb(var(--gray-900)); color: rgb(var(--gray-100)); }
.dark .ia-exp-informe select.ia-exp-informe--otro, .dark .ia-exp-consulta { border-color: rgb(var(--warning-500)); background-color: rgba(var(--warning-400), .1); }
.dark .ia-exp-consulta a, .dark .ia-exp-consulta button { color: rgb(var(--primary-400)); }
.dark .ia-exp-paso { border-color: rgba(255, 255, 255, .15); color: rgb(var(--gray-300)); }
.dark .ia-exp-tarjeta, .dark .ia-exp-caja, .dark .ia-det-datos--fila { border-color: rgba(255, 255, 255, .1); }
.dark .ia-exp-tarjeta-texto { color: rgb(var(--gray-300)); }
.dark .ia-exp-pct, .dark .ia-det-pestanas-lista button.ia-activa { color: rgb(var(--primary-300)); }
.dark .ia-exp-alternar, .dark .ia-exp-ruta button { color: rgb(var(--primary-400)); }

/* ---------- Contador de palabras de los textos del informe (ContadorPalabras, §8.12, D26) ---------- */
.ia-palabras { font-variant-numeric: tabular-nums; color: rgb(var(--gray-500)); }
.ia-palabras-cerca, .ia-palabras-anterior { color: rgb(var(--warning-600)); font-weight: 500; }
.ia-palabras-excede { color: rgb(var(--danger-600)); font-weight: 600; }
.dark .ia-palabras { color: rgb(var(--gray-400)); }
.dark .ia-palabras-cerca, .dark .ia-palabras-anterior { color: rgb(var(--warning-400)); }
.dark .ia-palabras-excede { color: rgb(var(--danger-400)); }
