/* Shared DataTables presentation for cooperative and HRIS workspaces. */
div.dataTables_wrapper {
    --kj-dt-border: #dce5e8;
    --kj-dt-muted: #64748b;
    --kj-dt-accent: #2d9fb0;
    width: 100%;
}

div.dataTables_wrapper > .row {
    align-items: center;
    margin-left: 0 !important;
    margin-right: 0 !important;
    row-gap: .65rem;
}

div.dataTables_wrapper > .row > [class*="col-"] {
    padding: .8rem 1rem !important;
}

div.dataTables_wrapper div.dataTables_length,
div.dataTables_wrapper div.dataTables_filter,
div.dataTables_wrapper div.dataTables_info,
div.dataTables_wrapper div.dataTables_paginate {
    color: var(--kj-dt-muted);
    font-size: .82rem;
    line-height: 1.4;
}

div.dataTables_wrapper div.dataTables_length label,
div.dataTables_wrapper div.dataTables_filter label {
    align-items: center;
    display: inline-flex;
    gap: .5rem;
    margin: 0;
}

div.dataTables_wrapper div.dataTables_length select,
div.dataTables_wrapper div.dataTables_filter input {
    background-color: #fff;
    border: 1px solid var(--kj-dt-border);
    border-radius: .5rem;
    color: #243746;
    min-height: 2.25rem;
    padding: .4rem .7rem;
}

div.dataTables_wrapper div.dataTables_length select {
    margin: 0;
    min-width: 4.5rem;
}

div.dataTables_wrapper div.dataTables_filter {
    text-align: right;
}

div.dataTables_wrapper div.dataTables_filter input {
    margin: 0 !important;
    min-width: min(14rem, 100%);
    outline: 0;
}

div.dataTables_wrapper div.dataTables_filter input:focus,
div.dataTables_wrapper div.dataTables_length select:focus {
    border-color: var(--kj-dt-accent);
    box-shadow: 0 0 0 .2rem rgba(45, 159, 176, .15);
}

div.dataTables_wrapper div.dataTables_info {
    padding: .8rem 1rem !important;
}

div.dataTables_wrapper div.dataTables_paginate {
    padding: .55rem 1rem !important;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    align-items: center;
    gap: .25rem;
    margin: 0 !important;
}

div.dataTables_wrapper div.dataTables_paginate .paginate_button,
div.dataTables_wrapper div.dataTables_paginate .page-link {
    align-items: center;
    background: #fff;
    border: 1px solid var(--kj-dt-border) !important;
    border-radius: .45rem !important;
    color: #4b6470 !important;
    display: inline-flex;
    justify-content: center;
    line-height: 1.2;
    margin: 0 !important;
    min-height: 2.25rem;
    min-width: 2.25rem;
    padding: .45rem .7rem !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

div.dataTables_wrapper div.dataTables_paginate .paginate_button:hover,
div.dataTables_wrapper div.dataTables_paginate .page-link:hover {
    background: #eef9fa !important;
    border-color: #9bd3da !important;
    color: #176c78 !important;
}

div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
div.dataTables_wrapper div.dataTables_paginate .page-item.active .page-link {
    background: var(--kj-dt-accent) !important;
    border-color: var(--kj-dt-accent) !important;
    box-shadow: 0 4px 10px rgba(45, 159, 176, .2);
    color: #fff !important;
}

div.dataTables_wrapper div.dataTables_paginate .paginate_button.disabled,
div.dataTables_wrapper div.dataTables_paginate .page-item.disabled .page-link {
    background: #f8fafb !important;
    color: #a3b0b7 !important;
    cursor: not-allowed;
    opacity: .8;
}

div.dataTables_wrapper > table.dataTable,
div.dataTables_wrapper table.dataTable {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

div.dataTables_wrapper table.dataTable thead th,
div.dataTables_wrapper table.dataTable thead td {
    padding-bottom: .85rem;
    padding-top: .85rem;
}

div.dataTables_wrapper table.dataTable tbody td,
div.dataTables_wrapper table.dataTable tbody th {
    padding-bottom: .78rem;
    padding-top: .78rem;
    vertical-align: middle;
}

div.dataTables_wrapper table.dataTable tbody tr:hover {
    background-color: #f7fbfc;
}

.hris-action-group {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.hris-action-group > * {
    margin: 0 !important;
}

.kj-ajax-updated {
    animation: kj-ajax-updated 900ms ease-out;
}

@keyframes kj-ajax-updated {
    from { background-color: #e8f7f3; }
    to { background-color: transparent; }
}

@media (prefers-reduced-motion: reduce) {
    .kj-ajax-updated { animation: none; }
}

div.dataTables_wrapper table.dataTable td.dataTables_empty {
    color: var(--kj-dt-muted);
    padding: 2rem 1rem;
}

@media (max-width: 767.98px) {
    div.dataTables_wrapper > .row > [class*="col-"] {
        padding: .65rem .75rem !important;
    }

    div.dataTables_wrapper div.dataTables_length,
    div.dataTables_wrapper div.dataTables_filter,
    div.dataTables_wrapper div.dataTables_info,
    div.dataTables_wrapper div.dataTables_paginate {
        text-align: left;
    }

    div.dataTables_wrapper div.dataTables_filter label {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    div.dataTables_wrapper div.dataTables_filter input {
        min-width: 0;
        width: 100%;
    }

    div.dataTables_wrapper div.dataTables_paginate ul.pagination {
        justify-content: flex-start !important;
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    div.dataTables_wrapper div.dataTables_paginate .paginate_button,
    div.dataTables_wrapper div.dataTables_paginate .page-link {
        transition: none;
    }
}
