/* DataTables controls spacing and alignment for Sneat look */
.dataTables_length label {
    margin-bottom: 0;
    font-weight: 500;
}

.dataTables_length select.form-select,
.dataTables_length select.form-control {
    display: inline-block;
    width: auto;
    margin: 0 0.5rem;
}

.dataTables_filter label {
    margin-bottom: 0;
    font-weight: 500;
}

.dataTables_filter input.form-control {
    display: inline-block;
    width: auto;
    margin-left: 0.5rem;
}

.dataTables_info {
    padding-top: 0.75rem;
    font-size: 0.95rem;
}

.dataTables_paginate .pagination {
    margin: 0;
    justify-content: flex-end;
}

.dataTables_wrapper .dt-buttons {
    margin-bottom: 0;
    margin-right: 1rem;
}

.dataTables_wrapper .dt-button.btn {
    margin-right: 0.25rem;
    min-width: 36px;
    padding: 0.375rem 0.75rem;
    font-size: 0.95rem;
    border-radius: 0.375rem;
    box-shadow: none;
    margin-right: 0.25rem;
    background: #fff;
    color: #566a7f;
    border: 1px solid #d9dee3;
    transition: all 0.2s;
}

.dataTables_wrapper .dt-button.btn:hover,
.dataTables_wrapper .dt-button.btn:focus {
    background: #f5f5f9;
    color: #696cff;
    border-color: #b6bee3;
}

.dataTables_wrapper .dt-button.btn.btn-outline-secondary {
    background: #fff;
    color: #566a7f;
    border: 1px solid #d9dee3;
}

.dataTables_wrapper .dt-button.btn.btn-outline-secondary:active,
.dataTables_wrapper .dt-button.btn.btn-outline-secondary.active {
    background: #f5f5f9;
    color: #696cff;
    border-color: #b6bee3;
}

.dt-button-collection.dropdown-menu {
    min-width: 180px;
    border-radius: 0.375rem;
    box-shadow: 0 0.25rem 1rem 0 rgba(76, 78, 100, 0.08);
    padding: 0.5rem 0;
    font-size: 0.95rem;
}

.dt-button-collection .dt-button {
    width: 100%;
    text-align: left;
    padding: 0.5rem 1.25rem;
    background: none;
    color: #566a7f;
    border: none;
    border-radius: 0;
}

.dt-button-collection .dt-button.active,
.dt-button-collection .dt-button:active {
    background: #f5f5f9;
    color: #696cff;
}

.dt-button-collection .dt-button:hover {
    background: #f5f5f9;
    color: #696cff;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 0.375rem;
    margin: 0 2px;
    padding: 0.375rem 0.75rem;
    color: #566a7f !important;
    background: #fff !important;
    border: 1px solid #d9dee3 !important;
    transition: all 0.2s;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #f5f5f9 !important;
    color: #696cff !important;
    border-color: #b6bee3 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    color: #b4bdc6 !important;
    background: #fff !important;
    border-color: #d9dee3 !important;
}

.dataTables_wrapper .dataTables_info {
    color: #566a7f;
    font-size: 0.95rem;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
    color: #566a7f;
    font-weight: 500;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    border-radius: 0.375rem;
    border: 1px solid #d9dee3;
    background: #fff;
    color: #566a7f;
    font-size: 0.95rem;
    padding: 0.375rem 0.75rem;
}

.dataTables_wrapper .dataTables_length select:focus,
.dataTables_wrapper .dataTables_filter input:focus {
    border-color: #696cff;
    box-shadow: 0 0 0 0.2rem rgba(105, 108, 255, 0.08);
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 0.75rem;
}

.dataTables_wrapper .dataTables_paginate {
    margin-top: 0.75rem;
}

.dataTables_wrapper .dropdown-menu {
    font-size: 0.95rem;
    border-radius: 0.375rem;
    box-shadow: 0 0.25rem 1rem 0 rgba(76, 78, 100, 0.08);
}

.dataTables_wrapper .dropdown-item {
    padding: 0.5rem 1.25rem;
    color: #566a7f;
}

.dataTables_wrapper .dropdown-item:active,
.dataTables_wrapper .dropdown-item.active,
.dataTables_wrapper .dropdown-item:hover {
    background: #f5f5f9;
    color: #696cff;
}

.dataTables_wrapper .dropdown-divider {
    margin: 0.25rem 0;
}

/* Fix: Ensure dropdown menus in table are not clipped/hidden by overflow */
.table-responsive {
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
}

.card-datatable .dropdown-menu {
    z-index: 1055;
    position: absolute !important;
}

/* Optional: Prevent horizontal scroll bar from appearing due to dropdown */
.card-datatable .dropdown-menu {
    left: auto !important;
    right: 0 !important;
}

/* Responsive tweaks for controls */
@media (max-width: 767.98px) {

    .dataTables_length,
    .dataTables_filter {
        text-align: left !important;
        margin-bottom: 0.5rem;
    }

    .dataTables_paginate {
        justify-content: flex-start !important;
    }
}