/* Modern DataTable Styles */
tbody tr.even:hover, 
tbody tr.odd:hover {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

tbody tr.even:hover td.sorting_1,
tbody tr.odd:hover td.sorting_1 {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.08) 0%, rgba(139, 92, 246, 0.08) 100%) !important;
}

tbody tr.even:hover td.sorting_2,
tbody tr.odd:hover td.sorting_2 {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, rgba(139, 92, 246, 0.06) 100%) !important;
}

tbody tr.even:hover td.sorting_3,
tbody tr.odd:hover td.sorting_3 {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.04) 0%, rgba(139, 92, 246, 0.04) 100%) !important;
}

/* Status Colors */
.danger {
    color: #ef4444;
    font-weight: 600;
}

.success {
    color: #10b981;
    font-weight: 600;
}

.warning {
    color: #f59e0b;
    font-weight: 600;
}

.info {
    color: #3b82f6;
    font-weight: 600;
}

/* Row Cursor */
tr {
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Modern Striped Rows */
tbody tr:nth-child(even) {
    background-color: rgba(248, 250, 252, 0.5);
}

/* Focus States for Accessibility */
tr:focus {
    outline: 2px solid #6366f1;
    outline-offset: 2px;
}

/* Loading State */
.dataTables_processing {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
    color: white !important;
    border-radius: 12px !important;
    padding: 16px 24px !important;
    font-weight: 600 !important;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
}

/* Responsive Table Improvements */
@media (max-width: 768px) {
    .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
        margin-bottom: 16px !important;
    }
    
    .dataTables_wrapper .dataTables_length {
        float: none !important;
        text-align: left !important;
        margin-bottom: 16px !important;
    }
    
    .dataTables_wrapper .dataTables_info {
        text-align: center !important;
        margin-top: 16px !important;
    }
    
    .dataTables_wrapper .dataTables_paginate {
        text-align: center !important;
        margin-top: 16px !important;
    }
}

/* Modern Scrollbar for Table Container */
.table-responsive::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.table-responsive::-webkit-scrollbar-track {
    background: #f8fafc;
    border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, #4f46e5 0%, #8b5cf6 100%);
}

.datatable-controls-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1em;
    flex-wrap: wrap;
}
.dataTables_length {
    margin-bottom: 0 !important;
}
.dataTables_filter {
    margin-bottom: 0 !important;
}
.datatable-toolbar {
    display: flex;
    gap: 0.5em;
    margin-bottom: 1em;
    flex-wrap: wrap;
}

.datatable-info-beautiful {
    display: inline-flex;
    align-items: center;
    gap: 0.75em;
    font-size: 1.08em;
    font-weight: 500;
    border-radius: 1.2em;
    padding: 0.5em 1.3em;
    box-shadow: 0 4px 16px 0 rgba(255, 106, 136, 0.10), 0 1.5px 6px 0 rgba(255, 0, 128, 0.08);
    background: #fff;
    color: #ff2d55;
    margin: 0.5em 0;
    border: none;
}

.pinky-gradient {
    background: linear-gradient(90deg, #ff6a88 0%, #ff99ac 100%);
    color: #fff !important;
    box-shadow: 0 4px 16px 0 rgba(255, 106, 136, 0.18), 0 1.5px 6px 0 rgba(255, 0, 128, 0.13);
}

.datatable-info-icon {
    font-size: 1.3em;
    margin-right: 0.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.18);
    border-radius: 50%;
    width: 2.2em;
    height: 2.2em;
    box-shadow: 0 2px 8px 0 rgba(255, 106, 136, 0.10);
}

.datatable-info-text {
    font-size: 1em;
    font-weight: 500;
    letter-spacing: 0.01em;
}