/* ============================================
   ТАБЛИЦЫ
   ============================================ */
.table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-base);
}

.table th,
.table td {
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 1px solid var(--color-gray-200);
}

.table th {
    font-weight: 600;
    color: var(--color-text-secondary);
    background: var(--color-gray-100);
    position: sticky;
    top: 0;
    z-index: 10;
}

.table tbody tr {
    transition: background var(--transition-fast);
}

.table tbody tr:hover {
    background: var(--color-gray-50);
}

.table tbody tr:last-child td {
    border-bottom: none;
}

/* Варианты таблиц */
.table-striped tbody tr:nth-child(odd) {
    background: var(--color-gray-50);
}

.table-striped tbody tr:nth-child(odd):hover {
    background: var(--color-gray-100);
}

.table-bordered {
    border: 1px solid var(--color-gray-300);
}

.table-bordered th,
.table-bordered td {
    border: 1px solid var(--color-gray-300);
}

.table-borderless th,
.table-borderless td {
    border: none;
}

/* Размеры таблиц */
.table-sm th,
.table-sm td {
    padding: 0.4rem 0.6rem;
    font-size: var(--font-size-sm);
}

.table-lg th,
.table-lg td {
    padding: 1rem 1.5rem;
    font-size: var(--font-size-md);
}

/* Цветные строки */
.table-success td {
    background: rgba(46, 204, 113, 0.1);
}

.table-danger td {
    background: rgba(231, 76, 60, 0.1);
}

.table-warning td {
    background: rgba(243, 156, 18, 0.1);
}

.table-info td {
    background: rgba(52, 152, 219, 0.1);
}

/* Заголовки таблицы */
.table thead-dark th {
    background: var(--color-gray-900);
    color: var(--color-white);
}

.table thead-light th {
    background: var(--color-gray-200);
    color: var(--color-text-primary);
}

/* Сортировка в таблице */
.table-sort th {
    cursor: pointer;
    user-select: none;
}

.table-sort th::after {
    content: "↕";
    margin-left: var(--spacing-xs);
    opacity: 0.3;
}

.table-sort th.asc::after {
    content: "↑";
    opacity: 1;
}

.table-sort th.desc::after {
    content: "↓";
    opacity: 1;
}

/* Карточная таблица на мобильных */
@media (max-width: 768px) {
    .table-card {
        display: block;
    }

    .table-card thead {
        display: none;
    }

    .table-card tbody {
        display: block;
    }

    .table-card tbody tr {
        display: block;
        margin-bottom: var(--spacing-md);
        border: 1px solid var(--color-gray-300);
        border-radius: var(--radius-md);
        padding: var(--spacing-md);
        background: var(--color-white);
        box-shadow: var(--shadow-sm);
    }

    .table-card tbody tr:hover {
        background: var(--color-white);
    }

    .table-card td {
        display: flex;
        justify-content: space-between;
        border: none;
        padding: 0.4rem 0;
        font-size: var(--font-size-sm);
    }

    .table-card td::before {
        content: attr(data-label);
        font-weight: 600;
        color: var(--color-text-secondary);
        padding-right: var(--spacing-md);
    }

    .table-card td:last-child {
        border-bottom: none;
    }
}
