table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > td.sorting:before, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_desc:before, table.dataTable thead > tr > td.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:before {
    bottom: 50%;
    font-family: "Material Icons Outlined";
    content: "expand_less";
}

table.dataTable thead > tr > th.sorting::after, table.dataTable thead > tr > th.sorting_asc::after, table.dataTable thead > tr > th.sorting_desc::after, table.dataTable thead > tr > th.sorting_asc_disabled::after, table.dataTable thead > tr > th.sorting_desc_disabled::after, table.dataTable thead > tr > td.sorting::after, table.dataTable thead > tr > td.sorting_asc::after, table.dataTable thead > tr > td.sorting_desc::after, table.dataTable thead > tr > td.sorting_asc_disabled::after, table.dataTable thead > tr > td.sorting_desc_disabled::after {
    top: 50%;
    font-family: "Material Icons Outlined";
    content: "expand_more";
}

.table > :not(caption) > * > * {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.table > :not(caption) > * > td {
    vertical-align: middle;
}

.table > :not(caption) > * > th {
    font-weight: 500; 
    color: var(--bs-secondary-color);
}

.table > :not(caption) > * > .text-end {
    padding-right: 36px !important;
}

tfoot.green > * > td {
    color: #3e9c16 !important;
    background-color: #edffe6 !important;
}

tfoot.yellow > * > td {
    color: #9c9316 !important;
    background-color: #fffde6 !important;
}

tfoot.red > * > td {
    background-color: #ffe6e6 !important;
    color: #9c1616 !important;
}

table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > td.sorting:before, table.dataTable thead > tr > td.sorting:after, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_asc:after, table.dataTable thead > tr > td.sorting_desc:before, table.dataTable thead > tr > td.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_asc_disabled:after, table.dataTable thead > tr > td.sorting_desc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:after {
    opacity: .4;
}

table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_desc:after {
    opacity: .8;
}

.table > tfoot > tr > td {
    border-top-width: 1px;
    border-top-color: var(--bs-border-color);
}

.table-small > :not(caption) > * > * {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.table-small > :not(caption) > * > th {
    background-color: white;
}

tr:has(.btn-primary) > :first-child {
    border-left: 4px solid var(--primary) !important;
}

.overdue-row > td {
    background-color: #fff5f5 !important;
}