table.dataTable {
    border-collapse: collapse;
    width: 100%;
}

/* ================= HEADER ================= */

table.dataTable thead th {
    background-color: var(--tblr-bg-surface-secondary);
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--tblr-muted);
    padding: .45rem .6rem;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;

    /* 🔒 lock visual stability */
    outline: none !important;
    box-shadow: none !important;
}

/* Remove double vertical borders */
table.dataTable thead th + th {
    border-left: 0;
}

table.dataTable thead th .dt-column-header {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

table.dataTable thead th:hover .dt-column-header,
table.dataTable thead th:focus .dt-column-header,
table.dataTable thead th:active .dt-column-header {
    background: transparent !important;
    box-shadow: none !important;
}

table.dataTable thead th {
    height: 2.1rem;
}

table.dataTable thead th .dt-column-order {
    opacity: .4;
    margin-left: .25rem;
    font-size: .65rem;
}

table.dataTable thead th.dt-ordering-asc,
table.dataTable thead th.dt-ordering-desc {
    color: var(--tblr-body-color);
}

/* ================= BODY ================= */

table.dataTable tbody td {
    border: 1px solid var(--tblr-border-color);
    border-top: 0;
    padding: .45rem .6rem;
    font-size: .8125rem;
    vertical-align: middle;
    white-space: nowrap;
}

/* Remove double vertical borders */
table.dataTable tbody td + td {
    border-left: 0;
}

/* Subtle row hover (no layout change) */
table.dataTable tbody tr:hover {
    background-color: var(--tblr-bg-surface-secondary);
}

/* ================= ACTIONS ================= */

table.dataTable td.text-end {
    white-space: nowrap;
}

table.dataTable td.text-end .btn {
    padding: .25rem .5rem;
    font-size: .75rem;
}

.dt-length select {
    margin-right: 0.5rem;
}

.dt-search label {
    margin-right: 0.5rem;
}


.dt-layout-table {
    margin: 0 !important;
}

/* Collapse DataTables layout rows with no visible content */
.dt-layout-row {
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.dt-layout-row > .dt-layout-cell {
    padding: 0 !important;
    margin: 0 !important;
}

.dt-layout-row > .dt-layout-cell:empty {
    display: none !important;
}
