button:disabled {
    cursor: not-allowed;
}

/* Global styles for all tables */
table {
    width: 100% !important;
    table-layout: auto; /* Allow columns to adjust based on content */
    border-collapse: collapse; /* Ensure consistent border rendering */
    margin-bottom: 1rem; /* Space below tables */
}

/* General table cell styling */
table th,
table td {
    padding: 10px 12px; /* Comfortable padding */
    font-size: 14px; /* Readable font size */
    white-space: nowrap; /* Prevent text wrapping */
    vertical-align: middle; /* Center content vertically */
    text-align: left; /* Default alignment */
}

/* Table headers */
table th {
    font-weight: 600; /* Bold headers */
    background-color: #f8f9fa; /* Light background for headers */
    border-bottom: 2px solid #dee2e6; /* Clear separation */
}

/* Table rows */
table tbody tr {
    border-bottom: 1px solid #dee2e6; /* Subtle row separation */
}

/* Hover effect for rows */
table tbody tr:hover {
    background-color: #f1f3f5; /* Light hover effect */
}

/* DataTables-specific styles */
.dataTables_wrapper {
    width: 100%;
    overflow-x: auto; /* Enable horizontal scrolling on small screens */
    margin-bottom: 1rem;
}

.dataTable {
    width: 100% !important;
}

/* Style DataTables controls (filter, pagination, length) */
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length {
    margin-bottom: 10px;
}

.dataTables_wrapper .dataTables_filter input {
    width: auto;
    display: inline-block;
    margin-left: 5px;
}

.dataTables_wrapper .dataTables_paginate {
    margin-top: 10px;
}

/* Style for DataTables responsive child rows */
.dataTables_wrapper .child {
    width: 100% !important;
    box-sizing: border-box;
    background-color: #f8f9fa;
    padding: 10px;
}