/* --- Estilos generales del módulo --- */
#central-precios-container {
    zoom: 0.9;
}

/* SOLUCIÓN: Se aumenta la especificidad para asegurar que el color del tema
   se aplique sobre los estilos de Bootstrap en el encabezado del card. */
.card .card-header.header-custom {
    background: var(--primary-solid-color, #4399d3);
    color: #ffffff;
}

/* SOLUCIÓN: Se corrige el color de la etiqueta flotante en la cabecera.
   La etiqueta heredaba el color blanco del header, haciéndola invisible.
   Esta regla le asigna un color oscuro para que sea legible. */
.card-header.header-custom .form-floating > label {
    color: #495057; /* Color de texto estándar de Bootstrap para placeholders */
}

/* Contenedor para la tabla con scroll vertical */
.table-responsive-container {
    /* SOLUCIÓN: Se ajusta la altura para compensar que los filtros ahora están en el header. */
    height: calc(110vh - 220px);
    overflow-y: auto;
}

/* Estilo para la cabecera de la tabla (sticky y con color del tema) */
.table > thead.table-custom-header th {
    background: linear-gradient(to bottom, var(--secondary-solid-color, #2c3e50), var(--primary-solid-color, #4399d3));
    color: #fff;
    border-color: var(--primary-solid-color, #4399d3);
    position: sticky;
    top: 0;
    z-index: 1;
}

/* Estilo para la imagen del producto en la tabla */
.product-table-img {
    width: 45px;
    height: 45px;
    object-fit: contain;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
}

/* --- Clases para el color del fondo del stock (reutilizadas de otros módulos) --- */
.stock-badge {
    display: inline-block;
    padding: 0.3em 0.6em;
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.375rem;
    color: #fff;
}
.stock-zero {
    background-color: #212529; /* Negro/Gris oscuro */
}
.stock-low {
    background-color: #dc3545; /* Rojo */
}
.stock-ok {
    background-color: #198754; /* Verde */
}

/* SOLUCIÓN: Se añaden los estilos para las insignias de vencimiento,
   replicando la lógica de otros módulos para mantener la consistencia. */
.venc-default, .venc-lejano, .venc-medio, .venc-cercano, .venc-pasado {
    padding: 0.3em 0.6em;
    border-radius: 0.25rem;
    font-size: 0.85em;
    font-weight: 700;
    display: inline-block;
    color: #fff; /* Texto blanco por defecto */
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
}
.venc-default {
    background-color: #6c757d; /* Gris */
}
.venc-pasado {
    background-color: #000000; /* Negro */
}
.venc-cercano {
    background-color: #dc3545; /* Rojo */
}
.venc-medio {
    background-color: #fd7e14; /* Naranja */
    color: #000; /* Texto negro para mejor contraste */
}
.venc-lejano {
    background-color: #0dcaf0; /* Celeste */
    color: #000; /* Texto negro para mejor contraste */
}


.module-footer {
    /* SOLUCIÓN: Se cambia el degradado a vertical para coincidir con el resto del módulo. */
    background: linear-gradient(to bottom, var(--secondary-solid-color, #2c3e50), var(--primary-solid-color, #4399d3));
    color: #ffffff;
    padding: 0.75rem 1.5rem;
    margin-top: 1.5rem; /* Espacio sobre el pie de página */
    border-radius: 0.375rem;
    text-align: center;
    font-size: 0.8rem;
    font-weight: 500;
}