.markdown>table thead th, .table thead th{
  font-size: .75rem;
}
.navbar-vertical.navbar-expand-lg{
  overflow-y: auto;
  --tblr-sidebar-width: 280px;
  width: var(--tblr-sidebar-width);
}
/* Sidebar texto más pequeño */
.navbar-vertical .nav-link,
.navbar-vertical .nav-group-toggle {
  font-size: 0.8rem;
}
.navbar-vertical .navbar-brand {
  font-size: 0.85rem;
}
/* Ancho mínimo para evitar que la columna se comprima en tablas densas */
.licencia-col {
    min-width: 190px;
}
 
/* Microlabels INICIO / VENCE — Tabler no tiene una utilidad de 10px + uppercase + tracking */
.licencia-label {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.2;
}
 
/* Altura de la barra: Tabler .progress por defecto es 8px; la reducimos a 4px */
.licencia-progress {
    height: 4px;
    max-width: 110px;
}
/* Sidebar más ancha (280px) — compensar page-wrapper.
   Debe ir en el mismo combinador `~` que usa Tabler (aside.navbar-vertical
   ~ .page-wrapper) y dentro del mismo breakpoint (lg = 992px): si el
   aside no está en el DOM (dashboard de módulos, admin.blade.php lo oculta
   a propósito en esa ruta) esta regla no debe matchear nada, o queda un
   margen izquierdo reservado sin sidebar visible (bug real 22/sep/2026). */
@media (min-width: 992px) {
    .navbar-vertical.navbar-expand-lg ~ .page-wrapper {
        margin-left: 280px;
    }
}
.dropdown-divider{
  margin: 0.5rem 0 !important;
}
.dropdown-item:focus, .dropdown-item:hover,
.nav-link:focus, .nav-link:hover {
  background-color: rgb(107 114 128 / 8%);
}
/* Botones sidebar activos - fondo azul completo */
.list-group-item.active,
.list-group-flush > .list-group-item.active,
.card .list-group-item.active {
  background-color: #0054a6 !important;
  color: #fff !important;
  border-color: #0054a6 !important;
}
.list-group-item.active i,
.list-group-flush > .list-group-item.active i {
  color: #fff !important;
}
/* Eliminar barra lateral izquierda de Tabler en todos los items */
.list-group-item::before,
.list-group-item.active::before {
  display: none !important;
}
.list-group-item.active:hover,
.list-group-flush > .list-group-item.active:hover {
  background-color: #004494 !important;
  color: #fff !important;
}

/* ============================================================
   Tom Select — estilos centralizados (23/sep/2026)
   Antes este bloque estaba duplicado literalmente en 18 vistas distintas
   (@push('styles') en cada una), con copias ligeramente distintas entre sí
   — eso es justo lo que causaba que el mismo componente (un select con
   búsqueda) se viera con tamaño de letra distinto según la pantalla,
   reportado por el usuario con captura de pantalla ("Centro de Costo" en
   Parametrización por Impuesto: el texto del desplegable abierto se veía
   más grande que el del control cerrado). Causa real: el control cerrado
   hereda el font-size de `.form-select`/`.form-select-sm` de Bootstrap,
   pero el DESPLEGABLE (`.ts-dropdown`) es un elemento separado que Tom
   Select agrega al DOM y que NINGUNA de las copias fijaba a un tamaño —
   quedaba al tamaño por defecto del navegador (~16px) mientras el control
   mostraba 12-14px. Con `!important` en `font-size` acá (una sola fuente
   de verdad, carga en TODAS las vistas via admin_base.blade.php) el orden
   de carga entre este archivo y el <link> del CDN de Tom Select (por vista,
   en @push('styles')) no importa. REGLA: nunca volver a pegar este bloque
   dentro de una vista — solo el <link rel="stylesheet"> del CDN y el
   <script src=...> van por vista; el CSS de apariencia va aquí. Ver
   docs/agents/selects-grandes-busqueda.md.

   Tamaño elegido: .75rem = 12px ≈ 9pt — mismo valor que `.form-select-sm`
   de Tabler (el tamaño dominante en las pantallas de Parametrización) y
   dentro del rango 8-10pt que el usuario confirmó como el que ya se usa
   en el resto del sistema (23/sep/2026). No cambiar sin actualizar este
   comentario — es el único lugar donde se define. */
.ts-wrapper.form-select {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
/* Selectores con prefijo `html` a propósito (27/sep/2026): el tema tom-select.bootstrap5 del CDN
   (cargado por vista DESPUÉS de este archivo) trae `.ts-wrapper.form-select .ts-control
   { border:none !important }` con la misma especificidad que la regla de abajo, y como carga
   después, ganaba. Como arriba también se quita el borde del contenedor `.ts-wrapper.form-select`,
   el campo quedaba SIN NINGÚN borde ni placeholder: invisible, un espacio en blanco (reportado por
   el usuario con captura en Plan de Cuentas, "Cuenta padre", y en Parametrización). No quitar el
   `html` ni las variantes .form-select/.form-control/.input-active. */
html .ts-wrapper.single .ts-control,
html .ts-wrapper.multi .ts-control,
html .ts-wrapper.form-select .ts-control,
html .ts-wrapper.form-select.single.input-active .ts-control,
html .ts-wrapper.form-control .ts-control,
html .ts-wrapper.form-control.single.input-active .ts-control {
  background-color: #fff !important;
  border: 1px solid #ced4da !important;
  border-radius: .375rem !important;
  box-shadow: none !important;
  font-size: .75rem !important;
}
html .ts-wrapper.focus .ts-control {
  border-color: #86b7fe !important;
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.25) !important;
}
.ts-dropdown, .ts-dropdown.single {
  z-index: 99999 !important;
  background-color: #fff !important;
  border: 1px solid #d9dbde !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.1) !important;
  font-size: .75rem !important;
}
.ts-dropdown .option {
  background-color: #fff !important;
  color: #1d273b !important;
  padding: 6px 12px !important;
  font-size: .75rem !important;
}
.ts-dropdown .option:hover,
.ts-dropdown .option.active {
  background-color: #f0f2f4 !important;
}
.ts-dropdown .dropdown-input {
  background-color: #fff !important;
  border-bottom: 1px solid #e6e7ea !important;
  font-size: .75rem !important;
}
.ts-dropdown .no-results {
  padding: 8px 12px;
  color: #6c757d;
  font-style: italic;
  font-size: .75rem !important;
}
/* ===== Filtros por columna bajo el encabezado de la tabla (patrón de listados) =====
   Referencia: resources/views/admin/fiscalizacion/importaciones/contribuyentes_ica/index.blade.php
   Documentación: docs/agents/filtros-columna-listados.md — CSS centralizado aquí por la
   regla 22 de AGENTS.md (bloque idéntico estaba duplicado por vista). */
.filter-row th {
  padding: .25rem .35rem;
  background: var(--tblr-bg-surface-secondary, #f8f9fb);
}
.filter-row input,
.filter-row select {
  font-size: .75rem;
  width: 100%;
  box-sizing: border-box;
}
/* Todas las columnas con el mismo ancho: table-layout:fixed reparte el ancho total en
   partes iguales entre columnas cuando ningún <th> fija un ancho propio. El contenido
   largo se envuelve en vez de estirar la columna. */
.table-cols-uniform { table-layout: fixed; width: 100%; }
.table-cols-uniform th,
.table-cols-uniform td {
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: normal !important; /* Tabler fuerza nowrap en <th>, hay que ganarle */
}
/* Contenido en línea que Bootstrap/Tabler marca white-space:nowrap (badges, .text-nowrap)
   se desbordaba sobre la columna vecina en un layout de ancho fijo — se le permite
   envolver dentro de su propia celda. */
.table-cols-uniform td .badge,
.table-cols-uniform td .text-nowrap { white-space: normal !important; text-align: left; }
/* La columna de acciones sí conserva sus botones en una línea, sin recorte. */
.table-cols-uniform td:last-child { white-space: nowrap !important; }

/* ===== Parametrizacion contable (Impuesto / Gasto / Retenciones) =====
   Antes .param-grid/.param-header estaban copiados en el <style> de las 3 vistas
   (regla 22). Tarjeta de cada concepto en secciones: Cuentas contables /
   Presupuesto / Asignacion, y pie con Activo + Guardar (27/sep/2026). */
.param-header { background: #f8fafc; border-bottom: 2px solid #eef2f6; padding: 6px 12px; font-weight: 600; font-size: .85rem; }
.param-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 16px; }
@media (max-width: 992px) { .param-grid { grid-template-columns: minmax(0, 1fr); } }
.param-grid .form-label { margin-bottom: 4px; font-size: .75rem; font-weight: 500; color: #49566a; }
.param-grid .form-hint { font-size: .7rem; margin-top: 2px; }
.param-seccion { display: flex; align-items: center; gap: 6px; margin: 14px 0 8px; font-size: .7rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #6c7a89; }
.param-seccion:first-child { margin-top: 4px; }
.param-seccion::after { content: ""; flex: 1; border-top: 1px solid #e6e7ea; }
.param-seccion .param-opcional { text-transform: none; letter-spacing: 0; font-weight: 400; }
.param-footer { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin-top: 14px; padding-top: 10px; border-top: 1px solid #e6e7ea; }
.param-footer .form-check { margin-bottom: 0; }
/* El boton "+" (nueva cuenta) al lado de un Tom Select dentro de input-group: mismo alto que el control */
.input-group > .ts-wrapper { flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group > .ts-wrapper .ts-control { border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; }

/* Mismo alto con o sin valor elegido: el tema bootstrap5 del CDN quita el padding inferior
   en .form-select-sm.has-items y el control bajaba de 32px a 26px (27/sep/2026). */
html .ts-wrapper.single .ts-control,
html .ts-wrapper.single.has-items .ts-control {
  min-height: 32px !important;
  align-items: center !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}
