/* ==============================================================
   TABLES COMPONENT
   Standardized data grids and status indicators
   ============================================================== */

.premium-table {
    width: 100%;
    border-collapse: collapse;
}

.premium-table th {
    text-align: left;
    padding: 16px;
    border-bottom: 1px solid var(--border);
    color: var(--text-muted);
    font-weight: 500;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.premium-table th.sortable {
    cursor: pointer;
    transition: var(--transition);
}

.premium-table th.sortable:hover {
    color: var(--primary);
    background: rgba(var(--primary-rgb), 0.05);
}

.premium-table th .sort-icon {
    margin-left: 5px;
    display: inline-flex;
    align-items: center;
    opacity: 0.3;
}

.premium-table th.active .sort-icon {
    opacity: 1;
    color: var(--primary);
}

.premium-table td {
    padding: 16px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

/* Empty Table State Helper */
.premium-table .no-results {
    text-align: center;
    padding: 50px 20px;
    color: var(--text-muted);
}

/* Status Badges within Tables */
.status-badge {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.status-active, .status-success {
    background: rgba(var(--success-rgb, 0, 255, 127), 0.1);
    color: var(--success);
}

.status-pending, .status-warning {
    background: rgba(var(--warning-rgb, 245, 158, 11), 0.1);
    color: var(--warning);
}

.status-cancelled, .status-danger, .status-error {
    background: rgba(var(--accent-rgb), 0.1);
    color: var(--danger);
}

.status-info {
    background: rgba(var(--primary-rgb), 0.1);
    color: var(--primary);
}

/* Responsiveness helper */
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
