/**
 * Innovalike Tables
 *
 * Estilos para tablas, filtros y DataTables
 *
 * @package Innovalike
 * @since 1.0.0
 */

/* ====================================
   TABLE CONTAINER
   ==================================== */
.innovalike-table-container {
    /*
    background: var(--innovalike-bg-white);
    border-radius: var(--innovalike-radius-lg);
    box-shadow: var(--innovalike-shadow-sm);
    padding: var(--innovalike-spacing-lg);
     */
    margin-bottom: var(--innovalike-spacing-xl);
    max-width: 100%;
    overflow-x: none;
}

table caption+thead tr:first-child td,
table caption+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th {
    border-block-start: none !important;
}

/* ====================================
   FILTERS
   ==================================== */
.innovalike-filters {
    display: flex;
    gap: var(--innovalike-spacing-sm);
    margin-bottom: var(--innovalike-spacing-xl);
    flex-wrap: wrap;
}

.filter-btn {
    background: var(--innovalike-bg-filter);
    border: none;
    border-radius: var(--innovalike-radius-xl);
    font-size: 16px;
    cursor: pointer;
    transition: var(--innovalike-transition);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--innovalike-text-primary);
    font-weight: 700;
    padding: 0px 5px 0px 5px;
    height: 40px;
    min-width: 150px;
}

.filter-btn:hover {
    background: #eaeaea;
}

.filter-btn.active {
    background: var(--innovalike-primary);
    border-color: var(--innovalike-primary);
    color: #fff;
}

.filter-btn .dashicons {
    background: white !important;
    border-radius: 50px;
    font-size: 28px;
    height: 32px;
    width: 32px;
    position: relative;
    padding-top: 2px;
}

.filter-btn .count {
    display: inline-block;
    border-radius: 50px;
    height: 30px;
    width: 30px;
    font-size: 20px;
}

.filter-btn.active .count {
    color: var(--innovalike-text-primary);
}

/* Requiere cambios */
.filter-btn[data-status="requiere-cambios"] .dashicons,
.filter-btn[data-status="requiere-cambios"]:hover {
    color: var(--innovalike-estado-requierecambios);
}

.filter-btn[data-status="requiere-cambios"].active {
    color: var(--innovalike-estado-requierecambios-light);
    background-color: var(--innovalike-estado-requierecambios);
}

.filter-btn[data-status="requiere-cambios"] .count {
    background-color: var(--innovalike-estado-requierecambios-light);
}

/* Pendiente firma */
.filter-btn[data-status="pendiente-firma"] .dashicons,
.filter-btn[data-status="pendiente-firma"]:hover {
    color: var(--innovalike-estado-pendientefirma);
}

.filter-btn[data-status="pendiente-firma"].active {
    color: var(--innovalike-estado-pendientefirma-light);
    background-color: var(--innovalike-estado-pendientefirma);
}

.filter-btn[data-status="pendiente-firma"] .count {
    background-color: var(--innovalike-estado-pendientefirma-light);
}

/* Pendiente  */
.filter-btn[data-status="pending"] .dashicons,
.filter-btn[data-status="pending"]:hover {
    color: var(--innovalike-estado-pending);
}

.filter-btn[data-status="pending"].active {
    color: var(--innovalike-estado-pending-light);
    background-color: var(--innovalike-estado-pending);
}

.filter-btn[data-status="pending"] .count {
    background-color: var(--innovalike-estado-pending-light);
}

/* Publicado */
.filter-btn[data-status="publish"] .dashicons,
.filter-btn[data-status="publish"]:hover {
    color: var(--innovalike-estado-publicado);
}

.filter-btn[data-status="publish"].active {
    color: var(--innovalike-estado-publicado-light);
    background-color: var(--innovalike-estado-publicado);
}

.filter-btn[data-status="publish"] .count {
    background-color: var(--innovalike-estado-publicado-light);
}

/* Todos */
.filter-btn[data-status="all"] .dashicons,
.filter-btn[data-status="all"]:hover {
    color: var(--innovalike-estado-todos);
}

.filter-btn[data-status="all"].active {
    color: var(--innovalike-estado-todos-light);
    background-color: var(--innovalike-estado-todos);
}

.filter-btn[data-status="all"] .count {
    background-color: var(--innovalike-estado-todos-light);
}


/* BOTONES TABLA */

/* PENDING */
.button-status.button-pending {
    background: var(--innovalike-estado-pending) !important;
}

.button-status.button-pending .dashicons {
    color: var(--innovalike-estado-pending) !important;
}

.button-status.button-pending:hover {
    background: var(--innovalike-estado-pending-dark) !important;
}

.button-status.button-pending:hover .dashicons {
    color: var(--innovalike-estado-pending-dark) !important;
}


/* PUBLICADO */
.button-status.button-publicado {
    background: var(--innovalike-estado-publicado) !important;
}

.button-status.button-publicado .dashicons {
    color: var(--innovalike-estado-publicado) !important;
}

.button-status.button-publicado:hover {
    background: var(--innovalike-estado-publicado-dark) !important;
}

.button-status.button-publicado:hover .dashicons {
    color: var(--innovalike-estado-publicado-dark) !important;
}


/* PENDIENTE FIRMA */
.button-status.button-pendientefirma {
    background: var(--innovalike-estado-pendientefirma) !important;
}

.button-status.button-pendientefirma .dashicons {
    color: var(--innovalike-estado-pendientefirma) !important;
}

.button-status.button-pendientefirma:hover {
    background: var(--innovalike-estado-pendientefirma-dark) !important;
}

.button-status.button-pendientefirma:hover .dashicons {
    color: var(--innovalike-estado-pendientefirma-dark) !important;
}


/* requierecambios */
.button-status.button-requierecambios {
    background: var(--innovalike-estado-requierecambios) !important;
}

.button-status.button-requierecambios .dashicons {
    color: var(--innovalike-estado-requierecambios) !important;
}

.button-status.button-requierecambios:hover {
    background: var(--innovalike-estado-requierecambios-dark) !important;
}

.button-status.button-requierecambios:hover .dashicons {
    color: var(--innovalike-estado-requierecambios-dark) !important;
}

/* ver entidad*/
.button-status.button-entidad-ver {
    background: var(--innovalike-primary-dark) !important;
    border-color: var(--innovalike-primary-dark) !important;
}

.button-status.button-entidad-ver .dashicons {
    color: var(--innovalike-primary-dark) !important;
}

.button-status.button-entidad-ver:hover {
    background: var(--innovalike-primary) !important;
    border-color: var(--innovalike-primary) !important;
}

.button-status.button-entidad-ver:hover .dashicons {
    color: var(--innovalike-primary) !important;
}


/* ====================================
   TABLE
   ==================================== */
.innovalike-table {
    width: 100%;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 15px;
    border: 2px solid var(--innovalike-primary-dark) !important;
    overflow: hidden;
    table-layout: auto;
}

table.dataTable>thead>tr>th,
table.dataTable>thead>tr>td {
    border-bottom: none !important;
}
.innovalike-table thead th {
    background: var(--innovalike-primary-light);
    padding: 12px var(--innovalike-spacing-lg) !important;
    text-align: center !important;
    vertical-align: middle;
    font-weight: 700 !important;
    color: var(--innovalike-primary-dark);
    border-top: 1px solid transparent;
    border-bottom: 1px solid var(--innovalike-primary-hover);
    border-left: none;
    border-right: 1px solid var(--innovalike-primary-hover);
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.innovalike-table thead th:last-child {
    border-right: 1px solid var(--innovalike-primary-hover);
}

.innovalike-table tbody td {
    padding: var(--innovalike-spacing-md) !important;
    border-right: 1px solid var(--innovalike-primary-hover);
    border-top: 1px solid transparent;
    border-bottom: 1px solid var(--innovalike-primary-hover);
    border-left: none;
    vertical-align: middle;
    text-align: center;
    font-size: 15px;
    color: var(--innovalike-text-primary);
    font-weight: var(--innovalike-font-weight-row);
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.innovalike-table tbody td:last-child {
    border-right: none;
        border-bottom: 1px solid var(--innovalike-primary-hover);

}

.innovalike-table tbody tr {
    transition: var(--innovalike-transition);
}

/* Filas impares: fondo blanco */
.innovalike-table tbody tr:nth-child(odd) td {
    background: var(--innovalike-bg-white) !important;
}

/* Filas pares: fondo azul claro corporativo */
.innovalike-table tbody tr:nth-child(even) td {
    background: var(--innovalike-bg-white) !important;
}

/* ====================================
   TABLE COLUMNS
   ==================================== */
.title-col {
    font-size: 15px;
    width: 35%;
    text-align: left !important;
}

.date-col {
    width: 12%;
}

.category-col {
    width: 16%;
}

.entidad-col {
    width: 18%;
}

.status-col {
    width: 19%;
}

/* Variant for mis-contenidos (sin columna entidad) */
.innovalike-contenidos:not(.innovalike-admin-contenidos) .title-col {
    width: 50%;
}

.innovalike-contenidos:not(.innovalike-admin-contenidos) .category-col {
    width: 15%;
}

.innovalike-contenidos:not(.innovalike-admin-contenidos) .date-col {
    width: 25%;
}

.innovalike-contenidos:not(.innovalike-admin-contenidos) .status-col {
    width: 20%;
}

/* ====================================
   ACTION BUTTONS
   ==================================== */
.action-buttons {
    display: flex;
    gap: var(--innovalike-spacing-xs);
    justify-content: flex-end;
}

.button-status {
    border-radius: 25px;
    border: 3px solid white !important;
    color: white;
    font-weight: 700;
    font-size: 14px;
    padding: 0px;
    padding-right: 25px;
    width: 100%;
    text-align: left;
    display: inline-block;
    height: 36px;
}

.button-status .dashicons {
    background: white !important;
    border-radius: 50px;
    font-size: 27px;
    height: 30px;
    width: 30px;
    left: 0px;
    position: relative;
    top: 0px;
    padding-top: 2px;
}

/* PENDING */
.button-status.button-pending {
    background: var(--innovalike-estado-pending) !important;
    border-color: var(--innovalike-estado-pending) !important;
}

.button-status.button-pending .dashicons {
    color: var(--innovalike-estado-pending) !important;
}

.button-status.button-pending:hover {
    background: var(--innovalike-estado-pending-dark) !important;
    border-color: var(--innovalike-estado-pending-dark) !important;
}

.button-status.button-pending:hover .dashicons {
    color: var(--innovalike-estado-pending-dark) !important;
}


/* PUBLICADO */
.button-status.button-publicado {
    background: var(--innovalike-estado-publicado) !important;
    border-color: var(--innovalike-estado-publicado) !important;
}

.button-status.button-publicado .dashicons {
    color: var(--innovalike-estado-publicado) !important;
}

.button-status.button-publicado:hover {
    background: var(--innovalike-estado-publicado-dark) !important;
    border-color: var(--innovalike-estado-publicado-dark) !important;
}

.button-status.button-publicado:hover .dashicons {
    color: var(--innovalike-estado-publicado-dark) !important;
}


/* PENDIENTE FIRMA */
.button-status.button-pendientefirma {
    background: var(--innovalike-estado-pendientefirma) !important;
    border-color: var(--innovalike-estado-pendientefirma) !important;
}

.button-status.button-pendientefirma .dashicons {
    color: var(--innovalike-estado-pendientefirma) !important;
}

.button-status.button-pendientefirma:hover {
    background: var(--innovalike-estado-pendientefirma-dark) !important;
    border-color: var(--innovalike-estado-pendientefirma-dark) !important;
}

.button-status.button-pendientefirma:hover .dashicons {
    color: var(--innovalike-estado-pendientefirma-dark) !important;
}


/* REQUIERE CAMBIOS */
.button-status.button-requierecambios {
    background: var(--innovalike-estado-requierecambios) !important;
    border-color: var(--innovalike-estado-requierecambios) !important;
}

.button-status.button-requierecambios .dashicons {
    color: var(--innovalike-estado-requierecambios) !important;
}

.button-status.button-requierecambios:hover {
    background: var(--innovalike-estado-requierecambios-dark) !important;
    border-color: var(--innovalike-estado-requierecambios-dark) !important;
}

.button-status.button-requierecambios:hover .dashicons {
    color: var(--innovalike-estado-requierecambios-dark) !important;
}

/* ====================================
   DATATABLES OVERRIDES
   ==================================== */

/* Contenedor principal de controles */
.dataTables_wrapper {
    font-family: var(--innovalike-font-family);
}

/* Layout de controles superiores */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: var(--innovalike-spacing-xl);
    display: inline-block;
}

.dataTables_wrapper .dataTables_length {
    float: left;
}

.dataTables_wrapper .dataTables_filter {
    float: right;
}

/* ===== SELECTOR DE REGISTROS (DROPDOWN) ===== */
.dataTables_wrapper .dataTables_length label {
    display: flex;
    align-items: center;
    gap: var(--innovalike-spacing-sm);
    font-size: 15px;
    font-weight: 600;
    color: var(--innovalike-text-primary);
}

.dataTables_wrapper .dataTables_length select {
    padding: 5px 15px 5px 15px !important;
    border: 2px solid var(--innovalike-primary-dark) !important;
    border-radius: var(--innovalike-radius-xl) !important;
    background-color: var(--innovalike-bg-white) !important;
    color: var(--innovalike-text-primary) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: var(--innovalike-font-family) !important;
    cursor: pointer;
    transition: var(--innovalike-transition);
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23053974' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
    min-width: 80px;
}

.dataTables_wrapper .dataTables_length select:hover {
    border-color: var(--innovalike-primary) !important;
    background-color: var(--innovalike-primary-light) !important;
}

.dataTables_wrapper .dataTables_length select:focus {
    outline: none !important;
    border-color: var(--innovalike-primary) !important;
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1) !important;
}

/* ===== CAMPO DE BÚSQUEDA ===== */
.dataTables_wrapper .dataTables_filter label {
    display: flex;
    align-items: center;
    gap: var(--innovalike-spacing-sm);
    font-size: 15px;
    font-weight: 600;
    color: var(--innovalike-text-primary);
}

.dataTables_wrapper .dataTables_filter input {
    padding: 5px 15px 5px 15px !important;
    padding-left: 45px !important;
    border: 2px solid var(--innovalike-primary-dark) !important;
    border-radius: 50px !important;
    background-color: var(--innovalike-bg-white) !important;
    color: var(--innovalike-text-primary) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: var(--innovalike-font-family) !important;
    transition: var(--innovalike-transition) !important;
    min-width: 300px !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23053974' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3ccircle cx='11' cy='11' r='8'%3e%3c/circle%3e%3cpath d='m21 21-4.35-4.35'%3e%3c/path%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: left 12px center;
    background-size: 18px;
}

.dataTables_wrapper .dataTables_filter input:hover {
    border-color: var(--innovalike-primary);
    background-color: var(--innovalike-primary-light);
}

.dataTables_wrapper .dataTables_filter input:focus {
    outline: none;
    border-color: var(--innovalike-primary);
    box-shadow: 0 0 0 3px rgba(0, 115, 170, 0.1);
}

.dataTables_wrapper .dataTables_filter input::placeholder {
    color: var(--innovalike-text-muted);
    font-weight: 400;
}

/* ===== INFORMACIÓN DE REGISTROS ===== */
.dataTables_wrapper .dataTables_info {
    padding-top: var(--innovalike-spacing-lg);
    padding-bottom: var(--innovalike-spacing-sm);
    color: var(--innovalike-text-secondary);
    font-size: 15px;
    font-weight: 600;
    float: left;
}

/* ===== PAGINADOR ===== */
.dataTables_wrapper .dataTables_paginate {
    padding-top: var(--innovalike-spacing-lg);
    float: right;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    display: inline;
    padding: 0 8px;
    margin: 0;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--innovalike-text-secondary) !important;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: var(--innovalike-transition);
    text-decoration: none !important;
    line-height: 1.5;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: #0073aa !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: #053974 !important;
    font-weight: 700;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: #0073aa !important;
    font-weight: 700;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
    cursor: default;
    opacity: 0.5;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--innovalike-text-muted) !important;
    pointer-events: none;
}

/* Clearfix para los controles */
.dataTables_wrapper .dataTables_length:after,
.dataTables_wrapper .dataTables_filter:after,
.dataTables_wrapper .dataTables_info:after,
.dataTables_wrapper .dataTables_paginate:after {
    content: "";
    display: table;
    clear: both;
}