/**
 * Nuvia — tipografía reutilizable (panel + marketplace).
 *
 * Convenciones:
 * - Ayuda bajo campo: .nuvia-form-help o .form-text (neutral) — 1rem
 * - Descripción de sección: .nuvia-form-help.mb-3
 * - Label secundario (filtros, metadatos): .nuvia-label-secondary — 1rem
 * - Texto secundario general: .nuvia-copy — 1rem
 * - Evitar text-muted / text-gray-500 / text-gray-600 / fs-7 en ayudas nuevas
 * - Tablas: thead con .nuvia-label-secondary; encabezados en mayúsculas (CSS global)
 * - Fichas ver (Overview): .nuvia-detail-label en títulos de campo; no usar .nuvia-label-secondary ahí
 */

/* Texto secundario (ayudas, descripciones cortas) */
.nuvia-copy {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--bs-gray-700, #5e6278);
}

/* Ayuda bajo inputs y descripciones de sección en formularios */
.nuvia-form-help {
    margin-top: 0.5rem;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--bs-gray-700, #5e6278);
}

/* Neutraliza opacidad Bootstrap en ayudas estándar */
.form-text:not(.text-warning):not(.text-success):not(.text-danger):not(.text-info) {
    margin-top: 0.5rem;
    font-size: 1rem;
    color: var(--bs-gray-700, #5e6278);
    opacity: 1;
}

/* Etiquetas secundarias (filtros, metadatos) */
.nuvia-label-secondary,
.form-label.nuvia-label-secondary {
    font-size: 1rem;
    font-weight: 600;
    color: var(--bs-gray-700, #5e6278);
}

/* Títulos de campo en fichas ver (Overview, detalle) */
label.nuvia-detail-label,
.nuvia-detail-label {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--bs-gray-700, #5e6278);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Variación KPI / estados semánticos legibles sobre fondo claro */
.nuvia-text-danger {
    color: #b42318;
}

.nuvia-text-success {
    color: #1a7f4b;
}

/* Etiquetas de formulario alineadas al bundle (1rem / semibold) */
.nuvia-label,
label.nuvia-label,
.form-label.nuvia-label,
.col-form-label.nuvia-label {
    font-size: 1rem;
    font-weight: 600;
}

/* Tablas — legibilidad global (panel + marketplace; excluye PDF .detalle) */
#kt_body .table:not(.detalle),
.mp-body .table:not(.detalle) {
    font-size: 1rem;
}

#kt_body .table:not(.detalle) thead tr,
#kt_body .table:not(.detalle) thead th,
.mp-body .table:not(.detalle) thead tr,
.mp-body .table:not(.detalle) thead th {
    font-size: 1rem;
    font-weight: 600;
    color: var(--bs-gray-700, #5e6278);
    opacity: 1;
    text-transform: uppercase;
}

#kt_body .table:not(.detalle) thead th,
.mp-body .table:not(.detalle) thead th {
    letter-spacing: 0.02em;
}

#kt_body .table:not(.detalle) tbody,
#kt_body .table:not(.detalle) tbody td,
.mp-body .table:not(.detalle) tbody,
.mp-body .table:not(.detalle) tbody td {
    font-size: 1rem;
    color: var(--bs-gray-800, #3f4254);
}

#kt_body .table.table-sm:not(.detalle),
#kt_body .table.table-sm:not(.detalle) tbody td,
.mp-body .table.table-sm:not(.detalle),
.mp-body .table.table-sm:not(.detalle) tbody td {
    font-size: 0.9375rem;
}

#kt_body .table:not(.detalle) thead .fs-7,
#kt_body .table:not(.detalle) tbody .fs-7,
#kt_body .table:not(.detalle) .fs-7,
.mp-body .table:not(.detalle) thead .fs-7,
.mp-body .table:not(.detalle) tbody .fs-7,
.mp-body .table:not(.detalle) .fs-7 {
    font-size: inherit !important;
}

#kt_body .table:not(.detalle) thead .text-muted,
#kt_body .table:not(.detalle) thead .text-gray-500,
#kt_body .table:not(.detalle) tbody.text-gray-600,
#kt_body .table:not(.detalle) tbody.text-gray-600 td,
#kt_body .table:not(.detalle) td.text-gray-600,
#kt_body .table:not(.detalle) td.text-gray-500,
.mp-body .table:not(.detalle) thead .text-muted,
.mp-body .table:not(.detalle) thead .text-gray-500,
.mp-body .table:not(.detalle) tbody.text-gray-600,
.mp-body .table:not(.detalle) tbody.text-gray-600 td,
.mp-body .table:not(.detalle) td.text-gray-600,
.mp-body .table:not(.detalle) td.text-gray-500 {
    color: var(--bs-gray-800, #3f4254) !important;
    opacity: 1;
}

#kt_body .table:not(.detalle) thead .text-muted,
#kt_body .table:not(.detalle) thead .text-gray-500,
.mp-body .table:not(.detalle) thead .text-muted,
.mp-body .table:not(.detalle) thead .text-gray-500 {
    color: var(--bs-gray-700, #5e6278) !important;
}

#kt_body .table:not(.detalle) .badge,
.mp-body .table:not(.detalle) .badge {
    font-size: 0.9375rem;
    font-weight: 600;
}

#kt_body .table:not(.detalle) .badge-light-success,
.mp-body .table:not(.detalle) .badge-light-success {
    color: #1a7f4b;
    background-color: #ecfdf3;
}

#kt_body .table:not(.detalle) .badge-light-primary,
.mp-body .table:not(.detalle) .badge-light-primary {
    color: #1d4ed8;
    background-color: #eff6ff;
}

#kt_body .table:not(.detalle) .badge-light-info,
.mp-body .table:not(.detalle) .badge-light-info {
    color: #0369a1;
    background-color: #e0f2fe;
}

#kt_body .table:not(.detalle) td.nuvia-form-help,
.mp-body .table:not(.detalle) td.nuvia-form-help {
    color: var(--bs-gray-700, #5e6278);
}
