/* General container styles */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* Table section spacing */
.table-section {
    margin-bottom: 40px;
}

/* Table section headings */
.table-section h2 {
    color: #333;
    font-size: 1.5rem;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #f0b90b;
}

/* DataTables custom styling */
.dataTables_wrapper {
    margin-top: 20px;
}

/* Table styling */
table.dataTable {
    width: 100% !important;
    border-collapse: collapse;
    margin: 20px 0;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Table headers */
table.dataTable thead th {
    background-color: #f0b90b;
    color: #333;
    font-weight: 600;
    padding: 12px 8px;
    text-align: left;
    border-bottom: 2px solid #d4a308;
}

/* Table rows */
table.dataTable tbody tr {
    border-bottom: 1px solid #eee;
    transition: background-color 0.2s ease;
}

table.dataTable tbody tr:hover {
    background-color: #f8f9fa;
}

/* Table cells */
table.dataTable tbody td {
    padding: 10px 8px;
    color: #555;
    vertical-align: middle;
}

/* Alternating row colors */
table.dataTable tbody tr:nth-child(even) {
    background-color: #fafafa;
}

/* DataTables controls styling */
.dataTables_length,
.dataTables_filter,
.dataTables_info,
.dataTables_paginate {
    margin: 10px 0;
}

.dataTables_length select,
.dataTables_filter input {
    padding: 5px 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.dataTables_filter input {
    margin-left: 8px;
}

/* Pagination styling */
.dataTables_paginate .paginate_button {
    padding: 6px 12px;
    margin: 0 2px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #fff;
    color: #333;
    text-decoration: none;
    transition: all 0.2s ease;
}

.dataTables_paginate .paginate_button:hover {
    background-color: #f0b90b;
    color: #333;
    border-color: #d4a308;
}

.dataTables_paginate .paginate_button.current {
    background-color: #f0b90b;
    color: #333;
    border-color: #d4a308;
}

/* Sort arrows styling */
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
    opacity: 0.8;
    color: #333;
}

/* Loading indicator */
.loading {
    text-align: center;
    padding: 40px;
    font-size: 18px;
    color: #666;
}

/* Error message */
.error {
    text-align: center;
    padding: 40px;
    font-size: 18px;
    color: #d32f2f;
    background-color: #ffebee;
    border: 1px solid #e57373;
    border-radius: 4px;
    margin: 20px 0;
}

/* Responsive design */
@media (max-width: 768px) {
    .container {
        padding: 10px;
    }
    
    .table-section h2 {
        font-size: 1.2rem;
    }
    
    table.dataTable {
        font-size: 14px;
    }
    
    table.dataTable thead th,
    table.dataTable tbody td {
        padding: 8px 6px;
    }
    
    /* Stack DataTables controls on mobile */
    .dataTables_length,
    .dataTables_filter {
        text-align: center;
        margin: 10px 0;
    }
    
    .dataTables_info,
    .dataTables_paginate {
        text-align: center;
        margin: 15px 0;
    }
}

/* Small mobile screens */
@media (max-width: 480px) {
    table.dataTable {
        font-size: 12px;
    }
    
    table.dataTable thead th,
    table.dataTable tbody td {
        padding: 6px 4px;
    }
    
    .dataTables_length select,
    .dataTables_filter input {
        padding: 4px 6px;
        font-size: 12px;
    }
}