/* table.css */
.table-wrap {
    overflow-x: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-card);
}

.table-wrap + .table-wrap {
    margin-top: 20px;
}

.table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    background: #fff;
}

.table thead th {
    background: #f8fafc;
    color: var(--color-muted);
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
}

.table tbody td {
    padding: 14px 16px;
    border-top: 1px solid #edf2f7;
    vertical-align: middle;
    white-space: nowrap;
}

.table tbody tr:hover {
    background: #f9fbff;
}

.table tbody tr.selected {
    background: #eff6ff;
}

.table .text-center {
    text-align: center;
}

.table .text-right {
    text-align: right;
}

.table .status-success {
    color: var(--success);
    font-weight: 700;
}

.table .status-wait {
    color: var(--warning);
    font-weight: 700;
}

.table .status-danger {
    color: var(--danger);
    font-weight: 700;
}

.table-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--color-border);
    background: #fff;
}

.table-title {
    font-size: 18px;
    font-weight: 700;
}

.table-meta {
    color: var(--color-muted);
    font-size: 13px;
}

.table-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid var(--color-border);
    background: #fff;
}

.data-empty {
    padding: 40px 20px;
    text-align: center;
    color: var(--color-muted);
    font-size: 14px;
}