/**
 * Global DataTables "Column visibility" dropdown — compact 2-column layout.
 * Loaded on all app pages via layouts/partials/css.blade.php
 */

ul.dt-button-collection:has(.buttons-columnVisibility),
div.dt-button-collection:has(.buttons-columnVisibility) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2px 6px !important;
    padding: 6px !important;
    min-width: 18rem !important;
    max-width: 26rem !important;
    max-height: min(360px, 65vh) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    flex-direction: unset !important;
    column-count: 1 !important;
}

ul.dt-button-collection:has(.buttons-columnVisibility) > li,
div.dt-button-collection:has(.buttons-columnVisibility) > * {
    display: contents;
}

ul.dt-button-collection .buttons-columnVisibility,
div.dt-button-collection .buttons-columnVisibility,
ul.dt-button-collection li a.buttons-columnVisibility,
ul.dt-button-collection li button.buttons-columnVisibility {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 0.4rem !important;
    padding: 0.28rem 0.4rem !important;
    min-height: 1.65rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    width: 100% !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-align: left !important;
}

ul.dt-button-collection .buttons-columnVisibility::before,
div.dt-button-collection .buttons-columnVisibility::before {
    content: '';
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 0.875rem;
    height: 0.875rem;
    border-radius: 3px;
    border: 1.5px solid #cbd5e1;
    background: #fff;
    box-sizing: border-box;
    font-size: 0.55rem;
    font-weight: 700;
    line-height: 1;
}

ul.dt-button-collection .buttons-columnVisibility.active::before,
div.dt-button-collection .buttons-columnVisibility.active::before {
    content: '\2713';
    color: #fff;
    background: var(--theme-800, #4f46e5);
    border-color: var(--theme-800, #4f46e5);
}

ul.dt-button-collection .buttons-columnVisibility:not(.active),
div.dt-button-collection .buttons-columnVisibility:not(.active) {
    color: #94a3b8 !important;
}

ul.dt-button-collection .buttons-columnVisibility:not(.active):hover,
div.dt-button-collection .buttons-columnVisibility:not(.active):hover {
    background: #f8fafc !important;
    color: #64748b !important;
}

ul.dt-button-collection .buttons-columnVisibility.active:hover,
div.dt-button-collection .buttons-columnVisibility.active:hover {
    background: color-mix(in srgb, var(--theme-800, #4f46e5) 8%, white) !important;
}

ul.dt-button-collection .buttons-columnVisibility::after,
div.dt-button-collection .buttons-columnVisibility::after {
    display: none !important;
    content: none !important;
}

ul.dt-button-collection .buttons-colvisRestore,
div.dt-button-collection .buttons-colvisRestore {
    grid-column: 1 / -1;
    margin-top: 2px !important;
    border-top: 1px solid #f1f5f9 !important;
    padding: 0.35rem 0.4rem !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: var(--theme-800, #4f46e5) !important;
}
