/* Estilos generales para la tabla */
.keyvaluetable {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border-radius: 0;
    overflow: hidden; /* Para que el borde redondeado funcione */
    border: solid 1px #ccc;
    font-size: .9rem;
}

    /* Estilo para las celdas de encabezado */
    .keyvaluetable thead th {
        background-color: #EAEEF5; /* Color de fondo para el encabezado */
        color: #004B80;
        padding: 12px 15px;
        text-align: left;
        font-weight: bold;
        text-transform: uppercase; /* Letras en mayúsculas */
    }

    /* Estilo para las celdas del cuerpo */
    .keyvaluetable tbody td {
        padding: 10px 15px;
        border-bottom: 1px solid #f0f0f0; /* Línea de separación entre filas */
        color: #555; /* Color del texto */
    }

        /* Primera columna (llave) */
        .keyvaluetable tbody td:first-child {
            font-weight: bold;
            background-color: #f9f9f9; /* Fondo más claro para diferenciar la llave */
            color: #333;
            border-right: 2px solid #EAEEF5; /* Línea para separar la llave de los valores */
        }

    /* Última fila sin borde inferior */
    .keyvaluetable tbody tr:last-child td {
        border-bottom: none;
    }

    /* Estilo para las filas alternadas */
    .keyvaluetable tbody tr:nth-child(even) {
        background-color: #f8faff; /* Color de fondo alternado */
    }

    /* Efecto hover en las filas */
    .keyvaluetable tbody tr:hover {
        background-color: #eaf3ff;
    }

/* Responsividad */
@media (max-width: 768px) {
    .keyvaluetable,
    .keyvaluetable thead,
    .keyvaluetable tbody,
    .keyvaluetable th,
    .keyvaluetable td,
    .keyvaluetable tr {
        display: block;
        width: 100%;
    }

        /* Ocultar el encabezado en pantallas pequeñas */
        .keyvaluetable thead {
            display: none;
        }

        /* Cada fila será un bloque completo */
        .keyvaluetable tbody tr {
            margin-bottom: 15px;
            border: 1px solid #ddd;
            padding: 10px;
            border-radius: 5px;
            background-color: #fff;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        /* Cada celda se muestra en su propia línea */
        .keyvaluetable tbody td {
            display: flex;
            justify-content: space-between;
            padding: 8px 0;
            border: none;
        }

            /* Negrita para el texto de la primera columna */
            .keyvaluetable tbody td:first-child {
                font-weight: bold;
                width: 40%; /* Asigna un ancho fijo a la llave */
            }

            /* Estilo para los valores de cada fila */
            .keyvaluetable tbody td:not(:first-child) {
                width: 60%; /* El valor ocupa el espacio restante */
                text-align: right;
            }
}

/* Estilos generales para los controles de paginación */
.pagination-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

    /* Estilo para los botones de paginación */
    .pagination-controls button {
        height: 45px;
        line-height: normal;
        font-size: 16px;
        border: 1px solid #b8c1ce;
        color: #333;
        outline: 0;
        background-color: #eaeef5;
        transition: border-color 0.2s linear, background-color 0.2s linear, box-shadow 0.2s linear;
        border: 1px solid #ccc;
        border-radius: 5px;
        cursor: pointer;
        padding: 0 20px;
    }

    .pagination-controls .page-buttons {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        gap: 5px;
    }

        .pagination-controls .page-buttons button {
            width: 45px;
            padding: 0;
        }

    .pagination-controls button:hover {
        border: 1px solid #b8c1ce;
        background-color: #d0e1ff;
        box-shadow: 2px 0 10px #e0e0e0;
    }

    .pagination-controls button.active {
        border: 1px solid #b8c1ce;
        background-color: #d0e1ff;
        font-weight: 600;
        box-shadow: none;
        cursor: default;
    }

    .pagination-controls button:active {
        background-color: #f3f7ff;
        border: 1px solid #bcc7d4;
        box-shadow: 2px 0 10px #e0e0e0;
    }

    .pagination-controls button.active:active {
        box-shadow: none;
    }

    .pagination-controls button[disabled] {
        opacity: .5;
        cursor: default;
        box-shadow: none;
    }

        .pagination-controls button[disabled]:hover {
            background-color: #eaeef5;
            box-shadow: none;
        }


/* Estilo para el contenedor de la tabla con paginación */
.datatable-container {
    position:relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: stretch;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
}

    .datatable-container .tools {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: space-between;
        align-items: stretch;
    }

        .datatable-container .tools div:last-child {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-content: center;
            justify-content: flex-end;
            align-items: stretch;
            gap: 10px;
        }

    .datatable-container > .block-animate > .loader {
        right: auto;
        top: 0px;
        width: 45px;
        height: 45px;
        left: 0;
    }

    /* Estilos generales para la tabla */
    .dt-datatable {
        width: 100%;
        border-collapse: collapse;
        background-color: #fff;
        border-radius: 0;
        overflow: hidden; /* Para que el borde redondeado funcione */
        border: 1px solid #ccc;
        font-size: 0.9rem;
    }

    /* Estilo para las celdas de encabezado */
    .dt-datatable thead th {
        background-color: #EAEEF5; /* Color de fondo para el encabezado */
        color: #004B80;
        padding: 12px 15px;
        text-align: left;
        font-weight: bold;
        text-transform: uppercase; /* Letras en mayúsculas */
        border-bottom: 1px solid #ccc; /* Borde inferior para separar encabezado */
    }

    /* Estilo para las celdas del cuerpo */
    .dt-datatable tbody td {
        padding: 10px 15px;
        border-bottom: 1px solid #f0f0f0; /* Línea de separación entre filas */
        color: #555; /* Color del texto */
    }

        /* Estilo para la primera columna de la tabla */
        .dt-datatable tbody td:first-child {
            font-weight: bold;
            background-color: #f9f9f9; /* Fondo más claro para diferenciar */
            color: #333;
            border-right: 2px solid #EAEEF5; /* Línea para separar la primera columna */
        }

        /* Estilo para la primera columna de la tabla */
        .dt-datatable tbody td:last-child {
            border-right: none; /* Línea para separar la primera columna */
        }

    /* Última fila sin borde inferior */
    .dt-datatable tbody tr:last-child td {
        border-bottom: none;
    }

    /* Estilo para las filas alternadas */
    .dt-datatable tbody tr:nth-child(even) {
        background-color: #f8faff; /* Color de fondo alternado */
    }

    /* Efecto hover en las filas */
    .dt-datatable tbody tr:hover {
        background-color: #eaf3ff;
    }
    /* Estilos para el pie de la tabla */
    .dt-datatable tfoot td {
        background-color: #EAEEF5; /* Mismo color de fondo que el encabezado */
        color: #004B80; /* Mismo color de texto que el encabezado */
        padding: 12px 15px;
        font-weight: bold;
        border-top: 1px solid #ccc; /* Línea de separación superior */
        text-align: right; /* Alineación del texto a la derecha */
    }

        /* Ajuste para la primera celda del pie de tabla, si no lleva contenido */
        .dt-datatable tfoot td:first-child {
            text-align: left; /* Alineación a la izquierda para la primera celda */
        }

    .dt-datatable .toolactions {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: flex-end;
        align-items: center;
        gap: 10px;
    }

        .dt-datatable .toolactions .btn {
            padding: 2px 10px;
            min-height: auto;
            font-size: 14px;
        }

        .dt-datatable .toolactions .btn {
            padding: 2px 10px;
            min-height: auto;
        }


/* Responsividad */
@media (max-width: 768px) {
    .dt-datatable, .dt-datatable thead, .dt-datatable tbody, .dt-datatable th, .dt-datatable td, .dt-datatable tr {
        display: block;
        width: 100%;
    }

        /* Ocultar el encabezado en pantallas pequeñas */
        .dt-datatable thead {
            display: none;
        }

        /* Cada fila será un bloque completo */
        .dt-datatable tbody tr {
            margin-bottom: 15px;
            border: 1px solid #ddd;
            padding: 10px;
            border-radius: 5px;
            background-color: #fff;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        /* Cada celda se muestra en su propia línea */
        .dt-datatable tbody td {
            display: flex;
            justify-content: space-between;
            padding: 8px 0;
            border: none;
        }

            /* Negrita para el texto de la primera columna */
            .dt-datatable tbody td:first-child {
                font-weight: bold;
                width: 40%; /* Asigna un ancho fijo a la llave */
                color: #004B80;
            }

            /* Estilo para los valores de cada fila */
            .dt-datatable tbody td:not(:first-child) {
                width: 60%; /* El valor ocupa el espacio restante */
                text-align: right;
            }
}
