/* Size */
.tabulator-compact *:not(i) {
    font-size: 14px !important;
}

/* Spacing */
.tabulator .tabulator-header .tabulator-col {
    min-height: 0px !important;
    line-height: 1.5em !important;
    padding: 7px !important;
}
.tabulator .tabulator-row {
    min-height: 0px !important;
    line-height: 1.4em !important;
    padding: 7px 0px !important;
}
.tabulator .tabulator-header .tabulator-col .tabulator-col-content {
    padding: 0px !important;
}
.tabulator .tabulator-header,
.tabulator .tabulator-headers,
.tabulator .tabulator-col[style],
.tabulator .tabulator-col-resize-handle[style],
.tabulator .tabulator-row .tabulator-cell[style] {
    height: auto !important;
}
.tabulator .tabulator-header-filter input[type="checkbox"] {
    height: 1.65em;
    margin: 0;
}
.tabulator .tabulator-cell {
    padding: 4px 5px !important;
}

/* Align headers to top */
.tabulator .tabulator-headers {
    display: flex !important;
}

/* Hide space created after flex */
.tabulator-header-contents > br {
    display: none;
}
.tabulator-paginator button {
    margin: 3px !important;
}

/* Add closing space if footer not present */
.tabulator:not(:has(.tabulator-footer)) {
    padding-bottom: calc(var(--bs-gutter-x) * .5);
}

/* Use new line if too long when collapsed */
.tabulator-responsive-collapse td:nth-child(2) {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}
.tabulator-responsive-collapse td {
    vertical-align: top;
}

/* Hide collapsed when empty */
.tabulator-responsive-collapse:has(table:empty) {
    display: none;
}

/* Workaround for Chrome returning pointer: coarse
   https://github.com/olifolkerd/tabulator/issues/4047
*/
.tabulator-row.tabulator-selectable:hover {
    cursor: pointer;
}
.tabulator.table-striped:not(.table) .tabulator-row.tabulator-row-even.tabulator-selectable:hover {
    cursor: pointer;
}

/* Bug with height with white space */
.tabulator-tooltip .tabulator-popup-container {
    height: auto !important;
}

/* Improve footer paginator style */
.tabulator-page-counter, .tabulator-paginator label {
    font-weight: 400 !important;
    margin: 3px !important;
}
.tabulator-page-size {
    background-color: rgba(var(--bs-body-rgb),1) !important;
    border-color: rgba(var(--bs-primary-rgb),1) !important;
    color: rgba(var(--bs-primary-rgb),1) !important;
    margin: 3px !important;
    padding: 8px 8px !important;
}
@media (max-width: 767.98px) {
    .tabulator-page-counter {
        margin: auto !important;
    }
    .tabulator-footer-contents {
        flex-wrap: wrap;
    }
    .tabulator-paginator {
        flex: 0 !important;
        margin: auto !important;
    }
}

/* Colors */
.tabulator,
.tabulator-header,
.tabulator-col,
.tabulator-footer {
    background-color: rgba(var(--bs-secondary-rgb),1) !important;
}
.tabulator-row-odd {
    background-color: rgba(var(--bs-body-rgb),1) !important;
}
.tabulator-row-even {
    background-color: rgba(var(--bs-light-rgb),1) !important;
}
.tabulator-header-filter input,
.tabulator-header-filter select {
    background-color: rgba(var(--bs-light-rgb),1) !important;
    border-color: rgba(var(--bs-primary-rgb),1) !important;
    color: rgba(var(--bs-primary-rgb),1) !important;
}
.tabulator-header-filter input::placeholder,
.tabulator-header-filter select::placeholder {
    color: rgba(var(--bs-secondary-rgb),1) !important;
}
.tabulator .tabulator-footer .tabulator-page:disabled {
    opacity: .2 !important;
}
.tabulator .tabulator-footer .tabulator-page.active {
    background-color: rgba(var(--bs-light-rgb),1) !important;
    border-color: rgba(var(--bs-primary-rgb),1) !important;
}
.tabulator .tabulator-footer .tabulator-page {
    background-color: rgba(var(--bs-body-rgb),1) !important;
    border-color: rgba(var(--bs-primary-rgb),1) !important;
    color: rgba(var(--bs-primary-rgb),1) !important;
}
.tabulator .tabulator-header {
    border-top: none !important;
    border-bottom: none !important;
}