/* Estándar visual AeI — formularios + DataGrid (capa final).
   Cargado al final de los layouts para ganar cascada sin tocar menú/topbar/sidebar.
   Tipografía: Lato cuerpo · MADE Tommy Soft títulos. Paginación Bronce. */

:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) {
  --aei-global-font-size: 0.7000rem;
  --aei-global-label-size: 0.7000rem;
  --aei-global-control-size: 0.7000rem;
  --aei-global-grid-size: 0.7000rem;
  --aei-global-grid-header-size: 0.7000rem;
  --aei-global-text-color: var(--aei-grafito, #3A3A38);
  --aei-global-muted-color: var(--aei-piedra, #7A7870);
  --aei-global-placeholder-color: var(--aei-bronce, #A89880);
  --aei-global-grid-accent: var(--aei-bronce, #A89880);
  font-family: var(--aei-font-family, "Lato", "Segoe UI", sans-serif);
  font-size: var(--aei-global-font-size);
  color: var(--aei-global-text-color);
}

/* ── Formularios (todo el contenido) ───────────────────────── */
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-label,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .col-form-label,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .col-form-label-sm,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-form-label,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) legend.form-label,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) legend,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) fieldset,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-check-label,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-text,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .small,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) small {
  font-size: 0.7000rem !important;
  color: var(--aei-global-muted-color);
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-control,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-select,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-control-sm,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-select-sm,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .input-group-text,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select__input,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select-input,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select__toggle,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select-item,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select-empty,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select__list .list-group-item,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) textarea.form-control,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-sm,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dropdown-item {
  font-size: 0.7000rem !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dropdown-item {
  color: var(--aei-global-text-color);
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-control::placeholder,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .form-select::placeholder,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select__input::placeholder,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-search-select-input::placeholder,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) textarea.form-control::placeholder {
  color: var(--aei-global-placeholder-color) !important;
  font-size: 0.7000rem !important;
}

/* ── DataGrid global (todas las grillas del proyecto) ───────── */
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-datagrid,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-datagrid .dataTables_wrapper,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) table.aei-grid,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) table.dataTable,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid thead th,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid tbody td,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) table.dataTable thead th,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) table.dataTable tbody td,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-footer,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-footer .dataTables_info,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_info,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_empty,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_processing,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-filter__input,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-filter__icon,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid__badge,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid__cell--muted,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_filter,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_filter input,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_length,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_length select,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_paginate,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_paginate .ellipsis,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_paginate .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-footer .pagination,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-footer .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-datagrid .pagination,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-datagrid .page-link {
  font-size: 0.7000rem !important;
  --bs-pagination-font-size: 0.7000rem;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid thead th,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) table.dataTable thead th {
  color: var(--aei-global-grid-accent) !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-datagrid,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) table.aei-grid,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) table.dataTable,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid tbody td,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_info,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-footer .dataTables_info,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-filter__input,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_filter input,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_length select {
  color: var(--aei-global-text-color) !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .aei-grid-footer .dataTables_info,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .dataTables_info {
  color: var(--aei-global-grid-accent) !important;
  font-weight: 500 !important;
}

/* Paginación: compacta, activa Bronce + Blanco */
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .dataTables_paginate .paginate_button,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .dataTables_paginate .page-item {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .dataTables_paginate .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .aei-grid-footer .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .dataTables_paginate .paginate_button > a,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .dataTables_paginate .paginate_button > .page-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 1.45rem !important;
  height: 1.45rem !important;
  padding: 0 0.35rem !important;
  line-height: 1 !important;
  border: 1px solid var(--aei-lino, #C8C4BC) !important;
  border-radius: 3px !important;
  background: var(--aei-blanco, #FAF8F5) !important;
  color: var(--aei-grafito, #3A3A38) !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: var(--aei-font-family, "Lato", "Segoe UI", sans-serif) !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .page-item:not(.active) .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .paginate_button:not(.current):not(.active) > .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .paginate_button:not(.current):not(.active) > a {
  background: var(--aei-blanco, #FAF8F5) !important;
  color: var(--aei-grafito, #3A3A38) !important;
  border-color: var(--aei-lino, #C8C4BC) !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .page-item.active .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .paginate_button.current > .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .paginate_button.current > a,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .paginate_button.active > .page-link {
  background: var(--aei-bronce, #A89880) !important;
  border-color: var(--aei-bronce, #A89880) !important;
  color: var(--aei-blanco, #FAF8F5) !important;
  font-weight: 600 !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .page-item.disabled .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .paginate_button.disabled > .page-link,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .paginate_button.disabled > a {
  opacity: 0.45 !important;
}

/* Títulos de panel / modal — MADE Tommy Soft */
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .aei-panel-card__header,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) .modal-title,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) h1,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) h2,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) h3,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) h4,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) h5,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) h6 {
  font-family: var(--aei-font-title, "MADE Tommy Soft", "Lato", sans-serif) !important;
}

/* Autofill — Blanco institucional (evita azul del navegador) */
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) input.form-control:-webkit-autofill,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) input.form-control:-webkit-autofill:hover,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) input.form-control:-webkit-autofill:focus,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main, body.aei-embed-page) textarea.form-control:-webkit-autofill {
  -webkit-text-fill-color: var(--aei-grafito, #3A3A38);
  -webkit-box-shadow: 0 0 0 1000px var(--aei-blanco, #FAF8F5) inset;
  box-shadow: 0 0 0 1000px var(--aei-blanco, #FAF8F5) inset;
  transition: background-color 99999s ease-out;
  caret-color: var(--aei-grafito, #3A3A38);
}

/* input-group con searchable select + botón (Grupo +): misma línea */
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .input-group:has(> .aei-search-select) {
  flex-wrap: nowrap !important;
  align-items: stretch;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .input-group > .aei-search-select,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .input-group > .aei-search-select[data-aei-search-select] {
  flex: 1 1 auto !important;
  width: 1% !important;
  min-width: 0 !important;
  max-width: none !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .input-group > .btn {
  flex: 0 0 auto !important;
  align-self: stretch;
}

/* Botones — paleta institucional (evita heredar color de texto del formulario) */
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-primary,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-success,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-secondary,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-danger {
  color: #ffffff !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-outline-primary,
:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-outline-success {
  color: var(--aei-bronce, #A89880) !important;
}

:is(.aei-content, body.bg-light .container-fluid, body > .container > main) .btn-outline-secondary {
  color: var(--aei-grafito, #3A3A38) !important;
}
