/* ИИ: порядок <link> — docs/css-cascade-order.md · ур.4 компонент: tables. */
/* ==========================================================================
 * TABLES-UNI — таблицы, cell layout и desktop/table content sizing
 * Техническая логика для ИИ-ассистента:
 * - хранить здесь table/container/column/action-cell правила;
 * - small-screen stacking оставлять в `mobile-uni.css` / `mobile-small-uni.css`;
 * - не создавать новый `student.css` для table fixes — использовать этот ownership-файл.
 * ========================================================================== */

/* ��������� ��� ������� */.table-container
{
    overflow-x: auto;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    background-color: #fff;
}/* Контейнер для адаптивных таблиц */.table-responsive
{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}.table-responsive::-webkit-scrollbar-track
{
    background: #f1f1f1;
    border-radius: 4px;
}.table-responsive::-webkit-scrollbar-thumb
{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 4px;
}.table-responsive::-webkit-scrollbar-thumb:hover
{
    background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
}.user-table
{
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    table-layout: auto;
}/* ����� ���������� */.user-table th
{
    font-weight: bold;
    text-transform: uppercase;
    color: #444;
    text-align: center;
    border-bottom: 2px solid #007bff;
    background-color: #f1f4f7;
    word-wrap: break-word;
}/* ����������� ����� � ��������� �������� */.user-table tr:nth-child(odd) td:nth-child(even)
{
    background-color: #e9f2f8;
}.user-table tr:nth-child(even) td:nth-child(odd)
{
    background-color: #f0f8fc;
}/* ����� ����� ����� */.user-table td
{
    color: #555;
    text-align: left;
    vertical-align: middle;
    line-height: 1.3;
    border: 1px solid #e0e0e0;
    transition: background-color 0.3s ease;
    word-wrap: break-word;
}/* Исключение для таблицы параметров документов - убираем ограничение max-width */.user-table .student-index-cell
{
    text-align: center;
    font-weight: 600;
}.user-table .student-name-cell
{
    text-align: left;
}.user-table .student-status-cell, .user-table .student-payment-cell, .user-table .student-credentials-cell
{
    text-align: center;
}/* ������ ��������� ��� ����� (������ ������� �������� ������) */.user-table td:hover
{
    background-color: #d6eaf5; /* ����������� ��������� ����� ��� ��������� */
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1); /* ������ ���������� ���� */
    transition: background-color 0.3s ease;
    cursor: pointer;
}/* ���������� ���������� � ������������ */.user-table img
{
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto;
    display: block;
}/* ��������� ������ ������� */.user-table h1
{
    color: #007bff;
    margin: 0;
    text-align: center;
}/* Стили для заголовка таблицы *//* ������ ������ ������� */.user-table a, .links-table a
{
    text-decoration: none;
    font-weight: bold;
    color: #007bff;
    transition: color 0.3s ease;
}.user-table a:hover, .links-table a:hover
{
    color: #0056b3;
}/* ������������� ������ ������ ��� ������� � id=centered-table */#centered-table td, #centered-table th
{
    text-align: center;
}/* Улучшенная таблица документов на странице апостиля */.apostille-documents-table
{
    background: #ffffff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.08);
    margin: 24px 0;
    border-collapse: separate;
    border-spacing: 0;
}.apostille-documents-table th
{
    background: #007bff;
    color: #ffffff;
    font-weight: 600;
    text-align: left;
    letter-spacing: 0.3px;
    border: none;
    text-transform: none;
}.apostille-documents-table th:first-child
{
    border-top-left-radius: 16px;
}.apostille-documents-table th:last-child
{
    border-top-right-radius: 16px;
}.apostille-documents-table td
{
    border-bottom: 1px solid #e2e8f0;
    color: #2d3748;
    transition: background-color 0.3s ease;
}.apostille-documents-table tr:hover td
{
    background-color: #f8f9fa;
}.apostille-documents-table tr:last-child td
{
    border-bottom: none;
}.apostille-documents-table tr:last-child td:first-child
{
    border-bottom-left-radius: 16px;
}.apostille-documents-table tr:last-child td:last-child
{
    border-bottom-right-radius: 16px;
}.apostille-documents-table a
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #007bff;
    color: #ffffff;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(0, 123, 255, 0.3);
}.apostille-documents-table a:hover
{
    background: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
}.apostille-documents-table a i
{
}/* Таблица для сравнения данных */.sys-data-comparison-table
{
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}.sys-data-comparison-table thead
{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}.sys-data-comparison-table th
{
    color: white;
    text-align: center;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.sys-data-comparison-table tbody tr
{
    transition: all 0.3s ease;
}.sys-data-comparison-table tbody tr:nth-child(odd)
{
    background-color: #f8f9fa;
}.sys-data-comparison-table tbody tr:nth-child(even)
{
    background-color: #ffffff;
}.sys-data-comparison-table tbody tr:hover
{
    background-color: #e3f2fd;
    transform: scale(1.01);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}.sys-data-comparison-table td
{
    border-bottom: 1px solid #e0e0e0;
    text-align: center;
}.sys-data-comparison-table td:first-child
{
    font-weight: 600;
    color: #495057;
    text-align: left;
    background-color: rgba(102, 126, 234, 0.05);
}/* Адаптация для инпута "Дата оплаты" *//* Стили для заголовков таблицы */th
{
    white-space: nowrap; /* Запрещаем перенос строк */
    text-overflow: ellipsis; /* Обрезаем длинные заголовки */
    overflow: hidden;
}.specialty-links-table
{
    width: 100%;
    border-collapse: collapse;
}.specialty-links-table th, .specialty-links-table td
{
    border: 1px solid #ddd;
    text-align: left;
}.specialty-links-table th
{
    background: #f0f0f0;
    font-weight: bold;
}.specialty-links-table tr:hover
{
    background: #f9f9f9;
}.translation-statistics table
{
    width: 100%;
    border-collapse: collapse;
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}.translation-statistics th, .translation-statistics td
{
    text-align: left;
    border-bottom: 1px solid #dee2e6;
}.translation-statistics th
{
    background-color: #495057;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}.translation-statistics tbody tr
{
    transition: background-color 0.2s;
}.translation-statistics tbody tr:hover
{
    background-color: #e9ecef;
}.translation-statistics tbody tr:last-child td
{
    border-bottom: none;
}.user-table .student-credentials-cell
{
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}.user-table .student-credentials-cell > .login-pass-link
{
    display: none;
}/* === 📋 Стили для таблицы списка кураторов === *//* Учитываем ограничения .container:
 * - max-width: 1200px
 * - padding: 20px (итого 40px слева+справа)
 * - overflow-x: hidden
 * Доступная ширина для содержимого: 1160px (1200px - 40px)
 * Для таблицы с 8 колонками требуется горизонтальная прокрутка
 * 
 * Минимальная ширина таблицы для всех колонок:
 * ID(50px) + ФИО(200px - включает тип контакта) + Username(120px) + Password(120px) + 
 * Edit(60px) + List(60px) + Delete(60px) = ~670px
 * + padding ячеек = ~750px
 */.container .table-responsive
{
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    /* Компенсируем padding контейнера для таблицы */
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
    /* Включаем прокрутку с визуальной обратной связью */
    scroll-behavior: smooth;
    /* Стили для скроллбара */
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}.container .table-responsive::-webkit-scrollbar
{
    height: 12px;
}.container .table-responsive::-webkit-scrollbar-track
{
    background: #f1f1f1;
    border-radius: 6px;
}.container .table-responsive::-webkit-scrollbar-thumb
{
    background: #888;
    border-radius: 6px;
}.container .table-responsive::-webkit-scrollbar-thumb:hover
{
    background: #555;
}/* Fallback: если :has() не поддерживается, используем класс */.curator-list-table
{
    table-layout: fixed;
    width: 100%;
    box-sizing: border-box;
    /* Таблица может быть шире контейнера на больших экранах */
}.curator-list-table th
{
    white-space: nowrap;
    word-wrap: normal;
    box-sizing: border-box;
}.curator-list-table td
{
    max-width: none !important;
    word-wrap: break-word;
    white-space: normal;
    box-sizing: border-box;
}/* Специфичные размеры для каждой колонки с фиксированными ширинами (7 колонок) */.curator-list-table th:nth-child(1), .curator-list-table td:nth-child(1)
{
    text-align: center;
}/* ФИО с типом контакта */.curator-list-table th:nth-child(2), .curator-list-table td:nth-child(2)
{
}.curator-list-table th:nth-child(3), .curator-list-table td:nth-child(3)
{
}.curator-list-table th:nth-child(4), .curator-list-table td:nth-child(4)
{
}/* Действия - иконки */.curator-list-table th:nth-child(5), .curator-list-table td:nth-child(5), .curator-list-table th:nth-child(6), .curator-list-table td:nth-child(6), .curator-list-table th:nth-child(7), .curator-list-table td:nth-child(7)
{
    text-align: center;
}/* Стили для иконок действий */.curator-list-table td a i
{
    color: #007bff;
    transition: color 0.2s ease, transform 0.2s ease;
}.curator-list-table td a:hover i
{
    color: #0056b3;
    transform: scale(1.1);
}.curator-list-table td a[href*="delete"] i
{
    color: #dc3545;
}.curator-list-table td a[href*="delete"]:hover i
{
    color: #c82333;
}/* Стили для элементов копирования в таблице кураторов */.curator-list-table .copy-target
{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s ease;
    white-space: nowrap;
    max-width: 100%;
}.curator-list-table .copy-target:hover
{
    background-color: #e9ecef;
}.curator-list-table .copy-target i
{
    font-size: 12px;
    opacity: 0.7;
    flex-shrink: 0;
}.curator-list-table .copy-target:hover i
{
    opacity: 1;
}/* Контейнер для поля суммы *//* Группы полей в ряд *//* Кнопка удаления в форме редактирования */.orders-table
{
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    border-radius: 16px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.08);
    margin: 24px 0;
    border-left: none;
}.admin-orders-table
{
    border: 1px solid #e2e8f0;
    border-left: none;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.08);
}.admin-orders-table thead th
{
    background: #007bff;
    color: white;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0.3px;
    text-align: left;
    border: none;
    border-left: none;
}.admin-orders-table thead th:first-child
{
    border-top-left-radius: 0;
    border-left: none;
}.admin-orders-table thead th:last-child
{
    border-top-right-radius: 16px;
    border-left: none;
}.admin-orders-table tbody tr
{
    border-bottom: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    border-left: none;
    background: #ffffff;
}.admin-orders-table tbody tr:last-child
{
    border-bottom: none;
    border-left: none;
}.admin-orders-table tbody tr:first-child
{
    border-left: none;
}/* Убираем отступы у строки, содержащей форму *//* Альтернативный способ - убираем отступы у строки с colspan */.admin-orders-table tbody tr:has(td[colspan])
{
    border-bottom: none;
}.admin-orders-table tbody tr:hover
{
    background-color: #f8f9fa;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}.admin-orders-table tbody tr:hover td
{
    background: transparent;
}.admin-orders-table tbody td
{
    color: #2d3748;
    vertical-align: top;
    border-left: none;
    background: transparent;
}.admin-orders-table tbody td:first-child
{
    border-left: none;
    background: transparent;
}/* Ссылки в таблице заказов */.admin-orders-table tbody td a
{
    color: #007bff;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-block;
}.admin-orders-table tbody td a:hover
{
    color: #0056b3;
    text-decoration: underline;
    transform: translateX(2px);
}/* Улучшенные бейджи типов документов и доставки */.admin-orders-table .document-type, .admin-orders-table .delivery-type
{
    display: inline-block;
    border-radius: 8px;
    font-weight: 600;
    margin: 4px 0;
    line-height: 1.4;
}.admin-orders-table .delivery-type
{
    margin-top: 8px;
    display: block;
}/* Формы в таблице заказов *//* Убираем padding у ячейки, которая содержит форму *//* Альтернативный способ для браузеров без поддержки :has() */.admin-orders-table tbody tr td[colspan="3"]
{
    padding: 0;
}/* custom-modal / .custom-close / .modal-icon в админке: единый источник — styles/modals.css (admin_head.php).
   Дубликат удалён, чтобы не перебивать каскад на страницах со студенческим head (admin.css подключается без modals.css). *//* ===== РЎРўРР›Р Р”Р›РЇ РЎРџРРЎРљРђ РЈРќРР’Р•Р РЎРРўР•РўРћР’ ===== */.costs-table
{
    min-width: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
}.costs-table th
{
    text-align: center;
    width: 100%;
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}.translation-table
{
}.translation-table th
{
}/* Таблица */.admin-schools-table-wrapper
{
    width: 100%;
    margin: 20px 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}.admin-schools-table-wrapper::-webkit-scrollbar
{
    height: 12px;
}.admin-schools-table-wrapper::-webkit-scrollbar-track
{
    background: #f1f1f1;
    border-radius: 6px;
}.admin-schools-table-wrapper::-webkit-scrollbar-thumb
{
    background: #888;
    border-radius: 6px;
}.admin-schools-table-wrapper::-webkit-scrollbar-thumb:hover
{
    background: #555;
}.admin-schools-table
{
    width: 100%;
    border-collapse: collapse;
    background-color: transparent;
    font-family: Arial, sans-serif;
    margin: 0;
}.admin-schools-table th, .admin-schools-table td
{
    text-align: left;
    border: 1px solid #e9ecef;
    box-sizing: border-box;
    background-color: transparent;
}.admin-schools-table th
{
    background-color: transparent;
    font-weight: bold;
    text-transform: uppercase;
    color: #212529;
    position: sticky;
    top: 0;
    z-index: 10;
    white-space: nowrap;
    border-bottom: 2px solid #dee2e6;
}.admin-schools-table td
{
    line-height: 1.4;
    word-wrap: break-word;
    vertical-align: middle;
    color: #212529;
}.admin-schools-table tbody tr
{
    transition: background-color 0.2s ease;
    background-color: transparent;
}.admin-schools-table tbody tr:hover
{
    background-color: #f8f9fa;
}.admin-schools-table tbody tr:hover td
{
    background-color: #f8f9fa;
}.admin-table-empty
{
    text-align: center;
    color: #6c757d;
    font-style: italic;
}.admin-table-empty i
{
    display: block;
    margin-bottom: 10px;
    color: #adb5bd;
}/* Действия в таблице */.admin-schools-table td:last-child
{
    white-space: nowrap;
    text-align: center;
}.admin-schools-table .admin-action-icon
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 4px;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
    background-color: transparent;
}.admin-schools-table .admin-action-edit
{
    color: #0066cc;
}.admin-schools-table .admin-action-edit:hover
{
    background-color: #e7f3ff;
    color: #0056b3;
    transform: scale(1.1);
}.admin-schools-table .admin-action-delete
{
    color: #dc3545;
}.admin-schools-table .admin-action-delete:hover
{
    background-color: #ffe6e6;
    color: #c82333;
    transform: scale(1.1);
}/* Бейджи счетчиков *//* Пустые строки таблиц */.user-table .empty-row
{
    text-align: center;
    color: gray;
}/* === css_split_uni.py append @ 2026-04-03 10:10:51 === */p, a, li, button, th, td
{
    font-family: "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}td, th
{
    word-wrap: break-word;
}/* ===== СТИЛИ ДЛЯ ФУТЕРА - ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКОВ ===== *//* Все классы используют единый префикс footer-lang- */.footer-lang-table
{
    border-collapse: collapse;
    background: none;
    padding: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}.orders-table
{
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    background-color: var(--main-white);
}.orders-table thead th
{
    background-color: #f4f4f4;
    color: var(--main-text-dark);
    border-bottom: var(--main-space-xxs) solid var(--main-border);
    font-weight: 600;
}.orders-table tbody tr:nth-child(even)
{
    background-color: var(--main-bg-lighter);
}.orders-table td, .orders-table th
{
    border: var(--main-space-xxs) solid var(--main-border);
    word-wrap: break-word;
    vertical-align: top;
}.orders-table tbody tr:hover
{
    background-color: #f5f5f5;
}.lesson th, .lesson td
{
    border: var(--main-space-xxs) solid var(--main-border);
    text-align: left;
}.lesson tr:nth-child(even)
{
    background-color: #f2f2f2;
}.lesson tr:hover
{
    background-color: var(--main-border);
}.receipt-table
{
    width: 100%;
    border-collapse: collapse;
}.receipt-table th, .receipt-table td
{
    border: var(--main-space-xxs) solid var(--main-border);
    text-align: left;
}.receipt-table th
{
    background-color: #f2f2f2;
    font-weight: bold;
    color: var(--main-text-dark);
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}.receipt-table td a
{
    color: var(--main-blue);
    text-decoration: none;
}.receipt-table td a:hover
{
    text-decoration: underline;
}.user-table tbody tr:hover .variant-edit-btn
{
    opacity: 1;
    visibility: visible;
    background: rgba(39, 146, 174, 0.15);
}.table-container
{
    overflow-x: auto;
    border-radius: var(--main-space-sm);
    box-shadow: 0 var(--main-space-xxs) var(--main-space-sm) rgba(0, 0, 0, 0.1);
    max-width: 100%;
}table
{
    width: 100%;
    border-collapse: collapse;
    background-color: var(--main-white);
    border-radius: var(--main-radius-md);
    overflow: hidden;
    box-shadow: var(--main-shadow-sm);
}th, td
{
    text-align: left;
    border-bottom: 1px solid var(--main-border);
    font-family: var(--main-font-system);
}/* === css_split_uni.py append @ 2026-04-03 10:11:18 === */p, a, li, button, th, td
{
    font-family: "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}td, th
{
    word-wrap: break-word;
}/* ===== СТИЛИ ДЛЯ ФУТЕРА - ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКОВ ===== *//* Все классы используют единый префикс footer-lang- */.footer-lang-table
{
    border-collapse: collapse;
    background: none;
    padding: 0;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}.orders-table
{
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    background-color: var(--main-white);
}.orders-table thead th
{
    background-color: #f4f4f4;
    color: var(--main-text-dark);
    border-bottom: var(--main-space-xxs) solid var(--main-border);
    font-weight: 600;
}.orders-table tbody tr:nth-child(even)
{
    background-color: var(--main-bg-lighter);
}.orders-table td, .orders-table th
{
    border: var(--main-space-xxs) solid var(--main-border);
    word-wrap: break-word;
    vertical-align: top;
}.orders-table tbody tr:hover
{
    background-color: #f5f5f5;
}.lesson th, .lesson td
{
    border: var(--main-space-xxs) solid var(--main-border);
    text-align: left;
}.lesson tr:nth-child(even)
{
    background-color: #f2f2f2;
}.lesson tr:hover
{
    background-color: var(--main-border);
}.receipt-table
{
    width: 100%;
    border-collapse: collapse;
}.receipt-table th, .receipt-table td
{
    border: var(--main-space-xxs) solid var(--main-border);
    text-align: left;
}.receipt-table th
{
    background-color: #f2f2f2;
    font-weight: bold;
    color: var(--main-text-dark);
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}.receipt-table td a
{
    color: var(--main-blue);
    text-decoration: none;
}.receipt-table td a:hover
{
    text-decoration: underline;
}.user-table tbody tr:hover .variant-edit-btn
{
    opacity: 1;
    visibility: visible;
    background: rgba(39, 146, 174, 0.15);
}.table-container
{
    overflow-x: auto;
    border-radius: var(--main-space-sm);
    box-shadow: 0 var(--main-space-xxs) var(--main-space-sm) rgba(0, 0, 0, 0.1);
    max-width: 100%;
}table
{
    width: 100%;
    border-collapse: collapse;
    background-color: var(--main-white);
    border-radius: var(--main-radius-md);
    overflow: hidden;
    box-shadow: var(--main-shadow-sm);
}th, td
{
    text-align: left;
    border-bottom: 1px solid var(--main-border);
    font-family: var(--main-font-system);
}/* === teams styles merged into *-uni @ 2026-04-03 10:23:03 === *//* === СОВРЕМЕННАЯ ТАБЛИЦА 2025 === */.teams-delivered-section-header
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    margin-top: 24px;
    margin-bottom: 12px;
}
.teams-modern-table-container
{
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin-top: 0;
    border: 1px solid rgba(0, 0, 0, 0.05);
}.teams-modern-table-container > .teams-modern-table
{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}.teams-table-header
{
            width: 100%;
            box-sizing: border-box;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            padding: 20px 24px;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: flex-start;
            gap: 12px;
            text-align: left;
            color: white;
        }.teams-table-title
{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    font-size: 20px;
    font-weight: 600;
}.teams-table-title i
{
    font-size: 24px;
}.teams-table-stats
{
    width: 100%;
    display: flex;
    justify-content: flex-start;
    gap: 24px;
}.teams-modern-table
{
    display: block;
    width: 100%;
    padding: 0;
}.teams-table-row
{
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    transition: background 0.3s ease;
}.teams-table-row:hover
{
    background: linear-gradient(90deg, rgba(102, 126, 234, 0.02) 0%, rgba(118, 75, 162, 0.02) 100%);
    transform: none;
}.teams-table-row:last-child
{
    border-bottom: none;
}
.teams-modern-table .teams-student-card
{
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
}/* === css_split_uni.py append @ 2026-04-03 10:24:52 === *//* .filter-row, .filter-form — см. styles/forms.css */.table-container
{
    overflow-x: auto; border-radius: var(--radius-lg); background-color: var(--bg-primary);
}.deferred-actions-table
{
    display: table !important; table-layout: fixed !important;
}.deferred-actions-table tbody tr.message-main-row td
{
    display: table-cell !important; visibility: visible !important; opacity: 1 !important;
}.deferred-actions-table tbody tr.message-main-row td.message-phone
{
    display: table-cell !important; visibility: visible !important; opacity: 1 !important; position: static !important; float: none !important; clear: none !important;
}table .text-center
{
    text-align: center;
}table .text-muted
{
    color: var(--text-muted); font-style: italic;
}.status-actions-table
{
    border-collapse: separate; border-spacing: var(--space-2);
}.deferred-actions-table
{
    border-collapse: collapse;
}.deferred-actions-table td, .deferred-actions-table th
{
    display: table-cell !important; visibility: visible !important; opacity: 1 !important;
}.deferred-actions-table td.message-phone
{
    display: table-cell !important; visibility: visible !important; opacity: 1 !important;
}.deferred-actions-table
{
    table-layout: fixed; border-spacing: 0; box-sizing: border-box; background: var(--bg-primary); border-radius: var(--radius-lg); overflow: hidden;
}.deferred-actions-table::before, .deferred-actions-table::after
{
    display: none; content: none; visibility: hidden; opacity: 0;
}.deferred-actions-table colgroup::before, .deferred-actions-table colgroup::after, .deferred-actions-table col::before, .deferred-actions-table col::after
{
    display: none; content: none; visibility: hidden; opacity: 0;
}.deferred-actions-table col.col-phone
{
    display: table-column;
}.deferred-actions-table col.col-time
{
    display: table-column;
}.deferred-actions-table col.col-action-1, .deferred-actions-table col.col-action-2
{
    display: table-column;
}.deferred-actions-table thead
{
    background: var(--primary-gradient); display: table-header-group;
}.deferred-actions-table thead tr
{
    display: table-row;
}.deferred-actions-table thead::before, .deferred-actions-table thead::after, .deferred-actions-table thead tr::before, .deferred-actions-table thead tr::after
{
    display: none; content: none; visibility: hidden; opacity: 0;
}.deferred-actions-table thead th
{
    text-align: left; font-weight: 600; font-size: var(--text-sm); color: var(--text-white); text-transform: uppercase; letter-spacing: 0.05em; vertical-align: middle; display: table-cell; box-sizing: border-box;
}.deferred-actions-table thead th::before, .deferred-actions-table thead th::after
{
    display: none; content: none; visibility: hidden; opacity: 0;
}.deferred-actions-table thead th:nth-child(1)
{
    text-align: left;
}.deferred-actions-table thead th:nth-child(2)
{
    text-align: left;
}.deferred-actions-table thead th:nth-child(3), .deferred-actions-table thead th[colspan="2"]
{
    text-align: center;
}.deferred-actions-table tbody
{
    display: table-row-group;
}.deferred-actions-table tbody::before, .deferred-actions-table tbody::after
{
    display: none; content: none; visibility: hidden; opacity: 0;
}.deferred-actions-table tbody tr.message-main-row
{
    display: table-row; background: var(--bg-primary); position: relative; transition: background-color var(--transition-fast); counter-reset: none;
}.deferred-actions-table tbody tr.message-main-row:hover
{
    background: var(--bg-hover);
}.deferred-actions-table tbody tr.message-main-row::before
{
    content: ""; position: absolute; background: var(--primary); opacity: 0; transition: opacity var(--transition-fast); z-index: 1; pointer-events: none; display: block;
}.deferred-actions-table tbody tr.message-main-row:hover::before
{
    opacity: 1;
}.deferred-actions-table tbody tr.message-main-row td
{
    vertical-align: middle; display: table-cell; box-sizing: border-box; position: relative;
}.deferred-actions-table tbody tr.message-main-row td::before, .deferred-actions-table tbody tr.message-main-row td::after
{
    display: none; content: none; visibility: hidden; opacity: 0;
}.deferred-actions-table tbody tr.message-main-row td.message-phone
{
    font-weight: 500; color: var(--text-dark); font-size: var(--text-base); text-align: left; word-break: break-word;
}.deferred-actions-table tbody tr.message-main-row td.message-phone::before, .deferred-actions-table tbody tr.message-main-row td.message-phone::after
{
    display: none !important; content: none !important; visibility: hidden !important; opacity: 0 !important;
}.deferred-actions-table tbody tr.message-main-row td.message-time
{
    color: var(--text-medium); font-size: var(--text-sm); text-align: left;
}.deferred-actions-table tbody tr.message-main-row td.message-actions
{
    text-align: center; white-space: normal;
}.deferred-actions-table tbody tr.message-content-row
{
    display: table-row; background: var(--bg-secondary);
}.deferred-actions-table tbody tr.message-content-row td, .deferred-actions-table tbody tr.message-content-row td[colspan="4"], .deferred-actions-table tbody tr.message-content-row td.message-content-cell
{
    background: var(--bg-secondary); text-align: left; display: table-cell; box-sizing: border-box;
}.deferred-actions-table tbody tr.message-content-row .message-content-text
{
    color: var(--text-medium); font-size: var(--text-sm); line-height: 1.6; word-break: break-word; white-space: pre-wrap; font-family: var(--font-mono); overflow-wrap: break-word; display: block; box-sizing: border-box;
}.deferred-actions-table thead
{
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); display: table-header-group !important;
}.deferred-actions-table thead::before, .deferred-actions-table thead::after
{
    display: none !important; content: none !important; visibility: hidden !important; opacity: 0 !important;
}.deferred-actions-table thead tr
{
    display: table-row !important;
}.deferred-actions-table thead tr::before, .deferred-actions-table thead tr::after
{
    display: none !important; content: none !important; visibility: hidden !important; opacity: 0 !important;
}.deferred-actions-table thead th
{
    text-align: left; font-weight: 600; font-size: var(--text-sm); color: var(--text-white); text-transform: uppercase; letter-spacing: 0.05em; vertical-align: middle;
}.deferred-actions-table thead th::before, .deferred-actions-table thead th::after
{
    display: none !important; content: none !important;
}.deferred-actions-table thead th:nth-child(1)
{
    text-align: left; position: relative;
}.deferred-actions-table thead th:nth-child(2)
{
    text-align: left; position: relative;
}.deferred-actions-table thead th:nth-child(3), .deferred-actions-table thead th[colspan="2"]
{
    text-align: center; position: relative;
}.deferred-actions-table thead th[colspan="2"]::before, .deferred-actions-table thead th[colspan="2"]::after
{
    display: none !important; content: none !important;
}.deferred-actions-table colgroup::before, .deferred-actions-table colgroup::after, .deferred-actions-table col::before, .deferred-actions-table col::after
{
    display: none !important; content: none !important; visibility: hidden !important; opacity: 0 !important;
}.deferred-actions-table tbody
{
    display: table-row-group !important;
}.deferred-actions-table tbody::before, .deferred-actions-table tbody::after
{
    display: none !important; content: none !important;
}.deferred-actions-table tbody tr.message-main-row
{
    background: var(--bg-primary) !important; position: relative; display: table-row !important; counter-reset: none !important;
}.deferred-actions-table tbody tr.message-main-row::before
{
    content: ""; position: absolute; background: var(--primary); opacity: 0; transition: opacity var(--transition-fast); z-index: 1; pointer-events: none; display: block !important;
}.deferred-actions-table tbody tr.message-main-row:hover
{
    background: var(--bg-hover) !important;
}.deferred-actions-table tbody tr.message-main-row:hover::before
{
    opacity: 1 !important;
}.deferred-actions-table tbody tr.message-main-row td
{
    vertical-align: middle !important; display: table-cell !important; position: relative; z-index: 0; overflow: visible; box-sizing: border-box;
}.deferred-actions-table tbody tr.message-main-row td::before, .deferred-actions-table tbody tr.message-main-row td::after
{
    display: none !important; content: none !important; position: absolute !important; visibility: hidden !important; opacity: 0 !important;
}.deferred-actions-table tbody tr.message-main-row td.message-phone
{
    font-weight: 500; color: var(--text-dark); word-break: break-word; font-size: var(--text-base); text-align: left; position: relative; overflow: visible; box-sizing: border-box;
}.deferred-actions-table tbody tr.message-main-row td.message-phone::before, .deferred-actions-table tbody tr.message-main-row td.message-phone::after
{
    display: none !important; content: none !important;
}.deferred-actions-table tbody tr.message-main-row td.message-time
{
    color: var(--text-medium); font-size: var(--text-sm); text-align: left; position: relative; box-sizing: border-box;
}.deferred-actions-table tbody tr.message-main-row td.message-actions, .deferred-actions-table tbody tr.message-main-row td[colspan="2"]
{
    text-align: center !important; white-space: normal; position: relative;
}.deferred-actions-table tbody tr.message-main-row td[colspan="2"]::before, .deferred-actions-table tbody tr.message-main-row td[colspan="2"]::after
{
    display: none !important; content: none !important;
}.deferred-actions-table tbody tr.message-main-row td.message-actions .d-flex
{
    display: flex !important; justify-content: center !important; align-items: center; flex-wrap: wrap;
}.deferred-actions-table tbody tr.message-main-row td.message-actions .d-flex[style*="flex-wrap"]
{
    flex-wrap: wrap !important;
}.deferred-actions-table tbody tr.message-content-row
{
    background: var(--bg-secondary) !important; display: table-row !important;
}.deferred-actions-table tbody tr.message-content-row:hover
{
    background: var(--bg-secondary) !important;
}.deferred-actions-table tbody tr.message-content-row:hover::before
{
    display: none !important; opacity: 0 !important;
}.deferred-actions-table tbody tr.message-content-row td
{
    display: table-cell !important; background: var(--bg-secondary) !important; text-align: left !important;
}.deferred-actions-table tbody tr.message-content-row td[colspan="4"], .deferred-actions-table tbody tr.message-content-row td.message-content-cell
{
    background: var(--bg-secondary) !important; text-align: left !important; box-sizing: border-box !important;
}.deferred-actions-table tbody tr.message-content-row .message-content-text
{
    color: var(--text-medium); font-size: var(--text-sm); line-height: 1.6; word-break: break-word; white-space: pre-wrap; font-family: var(--font-mono); overflow-wrap: break-word; display: block; box-sizing: border-box !important;
}.table-container > table.sms-queue-table:not(.deferred-actions-table)
{
    table-layout: fixed;
}.table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-retries
{
    text-align: center;
}.table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-status
{
    text-align: center;
}.table-container > table.sms-queue-table:not(.deferred-actions-table) td:nth-child(4), .table-container > table.sms-queue-table:not(.deferred-actions-table) td:nth-child(5)
{
    text-align: center;
}.table-container > table.delayed-emails-table:not(.deferred-actions-table)
{
    table-layout: fixed;
}.user-table
{
    border-collapse: collapse; background-color: var(--bg-primary); border-radius: var(--radius-md); overflow: hidden; table-layout: auto;
}.user-table[style*="table-layout: fixed"], .user-table.fixed-layout
{
    table-layout: fixed; border-radius: var(--radius-lg);
}.user-table#online-users-table, .user-table#offline-users-table
{
    table-layout: fixed;
}.user-table#hero-team-table
{
    table-layout: fixed;
}.table-wrapper
{
    overflow-x: auto; -webkit-overflow-scrolling: touch;
}.user-table .action-icon, .user-table#hero-team-table .action-icon
{
    display: inline-flex !important; align-items: center; justify-content: center; color: var(--primary); text-decoration: none; border-radius: var(--radius-sm) !important; transition: color var(--transition-base); font-size: var(--text-sm) !important; background: none !important; position: static !important; overflow: visible !important; flex-shrink: 0;
}.user-table .action-icon i, .user-table#hero-team-table .action-icon i
{
    font-size: var(--text-sm) !important; display: inline-flex; align-items: center; justify-content: center;
}.user-table .action-icon:hover
{
    background-color: transparent !important; color: var(--primary-dark);
}.user-table .action-icon--edit
{
    color: var(--primary);
}.user-table .action-icon--edit:hover
{
    background-color: transparent !important; color: var(--primary-dark);
}.user-table .action-icon--delete
{
    color: var(--danger);
}.user-table .action-icon--delete:hover
{
    background-color: transparent !important; color: var(--danger);
}.user-table#online-users-table th:nth-child(1), .user-table#online-users-table td:nth-child(1), .user-table#offline-users-table th:nth-child(1), .user-table#offline-users-table td:nth-child(1)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#online-users-table th:nth-child(2), .user-table#online-users-table td:nth-child(2), .user-table#offline-users-table th:nth-child(2), .user-table#offline-users-table td:nth-child(2)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#online-users-table th:nth-child(3), .user-table#online-users-table td:nth-child(3), .user-table#offline-users-table th:nth-child(3), .user-table#offline-users-table td:nth-child(3)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#online-users-table th:nth-child(4), .user-table#online-users-table td:nth-child(4), .user-table#offline-users-table th:nth-child(4), .user-table#offline-users-table td:nth-child(4)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#attendance-table
{
    table-layout: fixed;
}.user-table#attendance-table th:nth-child(1), .user-table#attendance-table td:nth-child(1)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#attendance-table th:nth-child(2), .user-table#attendance-table td:nth-child(2)
{
    word-wrap: break-word; overflow-wrap: break-word; white-space: nowrap;
}.user-table#attendance-table th:nth-child(3), .user-table#attendance-table td:nth-child(3)
{
    word-wrap: break-word; overflow-wrap: break-word; white-space: nowrap; text-align: center;
}.user-table#attendance-table th:nth-child(4), .user-table#attendance-table td:nth-child(4)
{
    word-wrap: break-word; overflow-wrap: break-word; text-align: center;
}.user-table#csrf-pages-table
{
    table-layout: fixed;
}.user-table#csrf-pages-table th:nth-child(1), .user-table#csrf-pages-table td:nth-child(1)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#csrf-pages-table th:nth-child(2), .user-table#csrf-pages-table td:nth-child(2)
{
    text-align: center;
}.user-table#csrf-pages-table th:nth-child(3), .user-table#csrf-pages-table td:nth-child(3)
{
    text-align: center;
}.user-table#csrf-ips-table
{
    table-layout: fixed;
}.user-table#csrf-ips-table th:nth-child(1), .user-table#csrf-ips-table td:nth-child(1)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#csrf-ips-table th:nth-child(2), .user-table#csrf-ips-table td:nth-child(2)
{
    text-align: center;
}.user-table#csrf-ips-table th:nth-child(3), .user-table#csrf-ips-table td:nth-child(3)
{
    text-align: center;
}.user-table#csrf-ips-table th:nth-child(4), .user-table#csrf-ips-table td:nth-child(4)
{
    text-align: center;
}.user-table#csrf-time-table
{
    table-layout: fixed;
}.user-table#csrf-time-table th:nth-child(1), .user-table#csrf-time-table td:nth-child(1)
{
    text-align: center;
}.user-table#csrf-time-table th:nth-child(2), .user-table#csrf-time-table td:nth-child(2)
{
    text-align: center;
}.user-table#csrf-reports-table
{
    table-layout: fixed;
}.user-table#csrf-reports-table th:nth-child(1), .user-table#csrf-reports-table td:nth-child(1)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#csrf-reports-table th:nth-child(2), .user-table#csrf-reports-table td:nth-child(2)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#csrf-reports-table th:nth-child(3), .user-table#csrf-reports-table td:nth-child(3)
{
    text-align: center;
}.user-table#csrf-reports-table th:nth-child(4), .user-table#csrf-reports-table td:nth-child(4)
{
    text-align: center;
}.user-table#csrf-reports-table th:nth-child(5), .user-table#csrf-reports-table td:nth-child(5)
{
    text-align: center;
}.user-table#csrf-reports-table th:nth-child(6), .user-table#csrf-reports-table td:nth-child(6)
{
    text-align: center;
}.user-table#csrf-debug-table
{
    table-layout: fixed;
}.user-table#csrf-debug-table th:nth-child(1), .user-table#csrf-debug-table td:nth-child(1)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#csrf-debug-table th:nth-child(2), .user-table#csrf-debug-table td:nth-child(2)
{
    text-align: center;
}.user-table#csrf-debug-table th:nth-child(3), .user-table#csrf-debug-table td:nth-child(3)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#csrf-debug-table th:nth-child(4), .user-table#csrf-debug-table td:nth-child(4)
{
    text-align: center;
}.user-table#student-list-table
{
    table-layout: fixed;
}.user-table#student-list-table th.tbl__col--id, .user-table#student-list-table td.tbl__col--id
{
    text-align: left;
}.user-table#student-list-table th:nth-child(2), .user-table#student-list-table td:nth-child(2)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#student-list-table th:nth-child(3), .user-table#student-list-table td:nth-child(3)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#student-list-table th:nth-child(4), .user-table#student-list-table td:nth-child(4)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#student-list-table th:nth-child(5), .user-table#student-list-table td:nth-child(5)
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table#students-verified-table, .user-table#students-pending-table
{
    table-layout: fixed;
}.cost-edit-table-wrap--mobile
{
    display: none;
}.cost-edit-table-wrap--desktop
{
    display: block;
}/* student_cost_edit: label-кнопки (скрепка, SMS) до OTP — визуально как disabled */.cost-edit-table .btn.is-otp-locked, .cost-edit-table-wrap--mobile .btn.is-otp-locked
{
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}/* Цветные .btn до OTP — визуально ближе к скрепке/SMS (secondary) */.cost-edit-table .btn.is-otp-locked:not(.btn-secondary), .cost-edit-table-wrap--mobile .btn.is-otp-locked:not(.btn-secondary)
{
    filter: grayscale(0.88);
}table#student-cost-table
{
    table-layout: fixed;
}table#student-cost-view-table
{
    table-layout: fixed;
}table#student-cost-view-table th.tbl__col--id, table#student-cost-view-table td.tbl__col--id
{
    text-align: left;
}table#student-cost-view-table th:nth-child(2), table#student-cost-view-table td:nth-child(2)
{
    word-wrap: break-word; overflow-wrap: break-word;
}table#student-cost-view-table th:nth-child(3), table#student-cost-view-table td:nth-child(3)
{
    word-wrap: break-word; overflow-wrap: break-word;
}table#student-cost-view-table th:nth-child(4), table#student-cost-view-table td:nth-child(4)
{
    word-wrap: break-word; overflow-wrap: break-word;
}table#student-cost-view-table th:nth-child(5), table#student-cost-view-table td:nth-child(5)
{
    word-wrap: break-word; overflow-wrap: break-word;
}table#student-cost-view-table th:nth-child(6), table#student-cost-view-table td:nth-child(6)
{
    word-wrap: break-word; overflow-wrap: break-word;
}table#student-cost-view-table th:nth-child(7), table#student-cost-view-table td:nth-child(7)
{
    word-wrap: break-word; overflow-wrap: break-word;
}table#student-cost-view-table tbody tr.tbl__row--danger
{
    background-color: var(--danger-light);
}table#student-cost-view-table tbody tr.tbl__row--danger:hover
{
    background-color: #fecaca;
}table#student-cost-view-table tbody tr.tbl__row--danger td
{
    color: var(--danger-dark);
}.tbl#university-list-table
{
    table-layout: fixed;
}.user-table#student-list-table tr.status-new
{
    background-color: var(--info-light);
}.user-table#student-list-table tr.status-new td
{
    color: var(--info);
}.user-table#student-list-table tr.status-studying
{
    background-color: var(--success-light);
}.user-table#student-list-table tr.status-studying td
{
    color: var(--success);
}.user-table#student-list-table tr.status-vacation
{
    background-color: var(--warning-light);
}.user-table#student-list-table tr.status-vacation td
{
    color: var(--warning);
}.user-table#student-list-table tr.status-finished
{
    background-color: var(--bg-secondary);
}.user-table#student-list-table tr.status-finished td
{
    color: var(--text-medium);
}.user-table#student-list-table tr.status-dropped
{
    background-color: var(--danger-light);
}.user-table#student-list-table tr.status-dropped td
{
    color: var(--danger);
}.user-table#student-list-table tr.status-waiting
{
    background-color: var(--bg-tertiary);
}.user-table#student-list-table tr.status-waiting td
{
    color: var(--text-medium);
}.user-table th
{
    text-align: left; font-weight: 600; color: var(--text-dark); background-color: var(--bg-secondary); text-transform: uppercase; letter-spacing: 0.3px; font-family: var(--font-primary);
}.user-table td
{
    line-height: 1.75; color: var(--text-medium); vertical-align: middle; transition: background-color var(--transition-base); font-family: var(--font-primary); letter-spacing: -0.01em;
}.user-table td:first-child
{
    font-weight: 600; color: var(--text-dark); background-color: var(--bg-secondary); letter-spacing: 0.01em;
}.user-table td:last-child
{
    word-wrap: break-word; overflow-wrap: break-word;
}.user-table tbody tr:hover td
{
    background-color: var(--bg-hover);
}.user-table a, .links-table a
{
    color: var(--primary); text-decoration: none; font-weight: 500; transition: color var(--transition-base);
}.user-table a:hover, .links-table a:hover
{
    color: var(--primary-dark); text-decoration: underline;
}.user-table a.btn, .user-table a.btn:link, .user-table a.btn:visited, .user-table a.btn:hover, .user-table a.btn:active, .user-table a.btn:focus, .links-table a.btn, .links-table a.btn:link, .links-table a.btn:visited, .links-table a.btn:hover, .links-table a.btn:active, .links-table a.btn:focus
{
    text-decoration: none !important;
}.user-table span[onclick*="copyToClipboard"], .user-table .copy-target
{
    cursor: pointer; border-radius: var(--radius-sm); transition: all var(--transition-base); display: inline-flex; align-items: center; user-select: none;
}.user-table span[onclick*="copyToClipboard"]:hover, .user-table .copy-target:hover
{
    background-color: var(--bg-hover);
}.user-table span[onclick*="copyToClipboard"].copied, .user-table .copy-target.copied
{
    background-color: var(--success-light); color: var(--success);
}.user-table .copy-target i
{
    opacity: 0.6; transition: opacity var(--transition-base);
}.user-table .copy-target:hover i
{
    opacity: 1;
}.user-table .copy-all-btn
{
    vertical-align: middle;
}.links-table
{
    border-collapse: collapse;
}.table-responsive
{
    overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--border) transparent;
}.table-responsive::-webkit-scrollbar-track
{
    background: var(--bg-tertiary); border-radius: var(--radius-sm);
}.table-responsive::-webkit-scrollbar-thumb
{
    background-color: var(--border); border-radius: var(--radius-sm); transition: background-color var(--transition-fast);
}.table-responsive::-webkit-scrollbar-thumb:hover
{
    background-color: var(--border-dark);
}.user-table tbody tr
{
    background-color: var(--bg-primary); transition: background-color var(--transition-fast), box-shadow var(--transition-fast);
}.user-table tbody tr:nth-child(even)
{
    background-color: var(--bg-secondary);
}.user-table tbody tr:hover
{
    background-color: var(--bg-hover);
}.user-table .student-index-cell
{
    text-align: center; font-weight: 600; color: var(--text-medium); font-size: var(--text-base); vertical-align: middle; background-color: inherit; transition: background-color var(--transition-fast); line-height: 1.5;
}.user-table .student-name-cell
{
    text-align: left; word-wrap: break-word; overflow-wrap: break-word; font-size: var(--text-base); vertical-align: middle; background-color: inherit; transition: background-color var(--transition-fast); line-height: 1.5;
}.user-table .student-name-cell
{
    overflow: visible; text-overflow: clip; white-space: normal; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word;
}.user-table .student-status-cell, .user-table .student-payment-cell, .user-table .student-credentials-cell
{
    text-align: center; vertical-align: middle; background-color: inherit; transition: background-color var(--transition-fast); line-height: 1.5;
}.user-table .empty-row
{
    text-align: center; color: var(--text-muted); font-style: italic; font-size: var(--text-sm);
}.user-table.documents-table
{
    table-layout: fixed;
}.user-table.documents-table th:nth-child(3), .user-table.documents-table td:nth-child(3), .user-table.documents-table th:nth-child(4), .user-table.documents-table td:nth-child(4), .user-table.documents-table th:nth-child(5), .user-table.documents-table td:nth-child(5), .user-table.documents-table th:nth-child(6), .user-table.documents-table td:nth-child(6)
{
    text-align: center;
}.user-table.documents-table .action-btn::before
{
    content: ""; position: absolute; border-radius: 50%; background: rgba(39, 146, 174, 0.2); transition: width var(--transition-base), height var(--transition-base);
}.user-table .action-btn::before
{
    content: ""; position: absolute; border-radius: 50%; background: rgba(39, 146, 174, 0.2); transition: width var(--transition-base), height var(--transition-base);
}.user-table .action-btn:focus-visible
{
    border-radius: var(--radius-sm);
}.user-table.documents-table .status-badge
{
    display: inline-flex; align-items: center; border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: 600; line-height: 1.2; white-space: nowrap;
}.user-table.documents-table .status-badge i
{
    font-size: var(--text-sm);
}.uni-table-container
{
    overflow-x: auto; border-radius: var(--radius-md); -webkit-overflow-scrolling: touch;
}.uni-table-container--scrollable
{
    overflow-y: auto; overflow-x: auto;
}.uni-table-container--scrollable::-webkit-scrollbar-track
{
    background: var(--bg-secondary); border-radius: var(--radius-sm);
}.uni-table-container--scrollable::-webkit-scrollbar-thumb
{
    background: var(--border-dark); border-radius: var(--radius-sm);
}.uni-table-container--scrollable::-webkit-scrollbar-thumb:hover
{
    background: var(--text-light);
}.uni-table
{
    border-collapse: collapse; background-color: var(--bg-primary);
}.uni-table-header
{
    background: var(--primary-gradient); color: var(--text-white);
}.uni-table-header th
{
    text-align: left; font-weight: 600; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word; white-space: normal;
}.uni-table td
{
    vertical-align: middle; word-wrap: break-word; overflow: hidden; text-overflow: ellipsis;
}.uni-table tbody tr:hover
{
    background-color: var(--bg-secondary);
}.exam-students-table-loading, .exam-students-table-empty, .exam-students-table-error
{
    text-align: center; color: var(--text-medium); font-size: var(--text-base);
}.exam-students-table-loading i
{
    animation: spin 1s linear infinite; color: var(--primary);
}.exam-students-table-empty
{
    color: var(--text-light); font-style: italic;
}.exam-students-table-reasons
{
    color: var(--text-light); display: block; line-height: 1.6;
}.exam-students-table-error
{
    color: var(--error); background: var(--error-light);
}.table-container .exam-students-table
{
    table-layout: fixed; border-collapse: collapse; border-spacing: 0; background-color: var(--bg-primary); border-radius: var(--radius-lg); overflow: hidden; display: table !important;
}.table-container .exam-students-table thead
{
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); position: relative; display: table-header-group !important;
}.table-container .exam-students-table tbody
{
    display: table-row-group !important;
}.table-container .exam-students-table tr
{
    display: table-row !important; transition: background-color var(--transition-fast); position: relative;
}.table-container .exam-students-table th, .table-container .exam-students-table td
{
    display: table-cell !important; vertical-align: middle; line-height: 1.5; position: relative;
}.table-container .exam-students-table thead::after
{
    content: ""; position: absolute; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}.table-container .exam-students-table th
{
    font-weight: 600; font-size: var(--text-sm); color: var(--text-white); text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.4;
}.table-container .exam-students-table td
{
    background-color: var(--bg-primary); transition: background-color var(--transition-fast);
}.table-container .exam-students-table th:nth-child(1), .table-container .exam-students-table td:nth-child(1)
{
    text-align: center; vertical-align: middle;
}.table-container .exam-students-table th:nth-child(2), .table-container .exam-students-table td:nth-child(2)
{
    text-align: left; word-wrap: break-word; overflow-wrap: break-word;
}.table-container .exam-students-table th:nth-child(3), .table-container .exam-students-table td:nth-child(3)
{
    text-align: center; word-wrap: break-word; overflow-wrap: break-word;
}.table-container .exam-students-table th:nth-child(4), .table-container .exam-students-table td:nth-child(4)
{
    text-align: center; white-space: nowrap;
}.table-container .exam-students-table th:nth-child(5), .table-container .exam-students-table td:nth-child(5)
{
    text-align: center; word-wrap: break-word; overflow-wrap: break-word;
}.table-container .exam-students-table th:nth-child(6), .table-container .exam-students-table td:nth-child(6)
{
    text-align: center; word-wrap: break-word; overflow-wrap: break-word;
}.table-container .exam-students-table th:nth-child(7), .table-container .exam-students-table td:nth-child(7)
{
    text-align: center; vertical-align: middle;
}.table-container .exam-students-table thead tr:first-child th:nth-child(1)
{
    border-top-left-radius: var(--radius-lg);
}.table-container .exam-students-table thead tr:first-child th:nth-child(7)
{
    border-top-right-radius: var(--radius-lg);
}.table-container .exam-students-table thead tr:first-child th:nth-child(6)
{
    border-top-right-radius: 0;
}.table-container .exam-students-table tbody td:nth-child(7)
{
    background-color: var(--bg-primary); transition: background-color var(--transition-fast);
}.exam-students-table .btn-danger
{
    display: inline-flex; align-items: center; justify-content: center;
}/* .search-filters-toggle-container, .filter-toggle, #search-filters-container, @keyframes slideDown — см. styles/forms.css */#main-results-section .table-wrapper, #excluded-section .table-wrapper
{
    overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--radius-md);
}#main-results-section .user-table, #excluded-section .user-table
{
    table-layout: fixed;
}#main-results-section .user-table th.tbl__col--id, #main-results-section .user-table td.tbl__col--id, #excluded-section .user-table th.tbl__col--id, #excluded-section .user-table td.tbl__col--id
{
    text-align: left;
}.user-table.table-2cols
{
    table-layout: fixed;
}.user-table.table-5cols
{
    table-layout: fixed;
}.user-table.table-4cols
{
    table-layout: fixed;
}.user-table.table-7cols
{
    table-layout: fixed;
}.user-table tr.bg
{
    background-color: var(--bg-secondary);
}.user-table tr.bg:hover
{
    background-color: var(--bg-tertiary);
}.user-table.table-2cols
{
    table-layout: fixed;
}.user-table.table-5cols
{
    table-layout: fixed;
}.user-table.table-4cols
{
    table-layout: fixed;
}.user-table.table-7cols
{
    table-layout: fixed;
}#mail-settings.site-settings-mail .mail-table--with-secrets td:last-child
{
    vertical-align: top;
}.calendar-table
{
    border-collapse: collapse;
}.calendar-table th, .calendar-table td
{
    text-align: center;
}.calendar-table th
{
    background: #f8f9fa; font-weight: 600; color: #333;
}.calendar-table td
{
    position: relative;
}.calendar-table td.visited
{
    background-color: #d4edda; color: #155724; font-weight: 600;
}.calendar-table td.missed
{
    background-color: #f8d7da; color: #721c24;
}.calendar-table td.weekend
{
    background-color: #f8f9fa; color: #999;
}.calendar-table td.today
{
    font-weight: bold;
}.schedule-table
{
    border-collapse: collapse;
}.schedule-table thead
{
    background: #f8f9fa;
}.schedule-table th
{
    text-align: left; font-weight: 600; color: #333;
}.schedule-table tr:hover
{
    background: #f8f9fa;
}.schedule-table tr.date-header
{
    background: #e9ecef; font-weight: 600;
}.curator-links-table, .curator-table-responsive, .curator-btn, .curator-nav, .curator-search-results-header, .curator-student-info, .copy-toast, .curator-payment-link, .curator-login-pass-link
{
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.6;
}.curator-user-table
{
    table-layout: auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}.curator-user-table th
{
    font-weight: bold; text-transform: uppercase; color: #444; text-align: center; background-color: #f1f4f7; word-wrap: break-word;
}.curator-user-table tr:nth-child(odd) td:nth-child(even)
{
    background-color: #e9f2f8;
}.curator-user-table tr:nth-child(even) td:nth-child(odd)
{
    background-color: #f0f8fc;
}.curator-user-table td
{
    color: #555; text-align: left; vertical-align: middle; line-height: 1.3; transition: background-color 0.3s ease; word-wrap: break-word;
}.curator-user-table td:hover
{
    background-color: #d6eaf5; transition: background-color 0.3s ease; cursor: pointer;
}.curator-user-table img, .curator-user-table-img
{
    border-radius: 50%;
}.curator-user-table h1
{
    color: #333; font-weight: 400;
}.curator-user-table h1, .curator-user-table h2, .curator-user-table h3, .curator-table-header-title, .curator-search-results-header h2, .credentials-modal.credentials-modal--curator .credentials-modal__title
{
    font-family: "Playfair Display", serif; font-weight: 400;
}.curator-user-table p, .curator-user-table a, .curator-user-table li, .curator-user-table button, .curator-user-table th, .curator-user-table td
{
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.3;
}.curator-table-header-details, .credentials-modal.credentials-modal--curator .credentials-modal__label, .credentials-modal.credentials-modal--curator .credentials-modal__value, .credentials-modal.credentials-modal--curator .credentials-modal__body, .credentials-modal.credentials-modal--curator .credentials-modal__row
{
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.6;
}.curator-user-table .curator-table-header-title
{
    line-height: 1.3; word-wrap: break-word;
}.curator-user-table .curator-table-header-details
{
    line-height: 1.3; word-wrap: break-word;
}.curator-user-table .curator-student-index-cell
{
    text-align: center; font-weight: 600; line-height: 1.3;
}.curator-user-table .curator-student-name-cell
{
    text-align: left; line-height: 1.3;
}.curator-user-table .curator-student-status-cell, .curator-user-table .curator-student-payment-cell, .curator-user-table .curator-student-credentials-cell
{
    text-align: center; line-height: 1.3;
}.curator-user-table th.curator-uni-group-header
{
    font-weight: bold; text-align: left;
}.curator-user-table td [data-copy], .curator-user-table td .curator-profile-copy
{
    cursor: pointer; transition: color 0.2s ease, background-color 0.2s ease; border-radius: 3px; display: inline-block;
}.curator-user-table td [data-copy]:hover, .curator-user-table td .curator-profile-copy:hover
{
    background-color: #e9ecef; color: #007bff;
}.curator-user-table a, .curator-links-table a
{
    text-decoration: none !important; font-weight: bold; color: #007bff; transition: color 0.3s ease;
}.curator-user-table a:hover, .curator-links-table a:hover
{
    color: #0056b3; text-decoration: none;
}.curator-user-table a:active, .curator-links-table a:active, .curator-user-table a:focus, .curator-links-table a:focus, .curator-user-table a:visited, .curator-links-table a:visited, .curator-payment-link:active, .curator-payment-link:focus, .curator-payment-link:visited, .curator-login-pass-link:active, .curator-login-pass-link:focus, .curator-login-pass-link:visited
{
    text-decoration: none !important;
}.curator-links-table a
{
    display: block; text-align: center; background: #f1f4f7; border-radius: 8px; text-decoration: none !important;
}.curator-user-table td:hover
{
    background-color: #d6eaf5; transition: background-color 0.3s ease; cursor: pointer;
}.curator-user-table img, .curator-user-table-img
{
    border-radius: 50%; display: block;
}.curator-user-table h1
{
    color: #007bff; text-align: center;
}.curator-user-table img[alt="Avatar"]
{
    border-radius: 8px;
}.curator-user-table th .curator-col-heading-ellipsis
{
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}.curator-cost-semesters-table
{
    border-collapse: collapse; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: #ffffff; border-radius: 8px; overflow: hidden;
}.curator-cost-semesters-table thead
{
    background: linear-gradient(135deg, #2d3748 0%, #4a5568 100%);
}.curator-cost-semesters-table th
{
    text-align: left; font-weight: 600; color: white; text-transform: uppercase; letter-spacing: 0.5px; word-wrap: break-word;
}.curator-cost-semesters-table tbody tr
{
    transition: background-color 0.2s ease;
}.curator-cost-semesters-table tbody tr:nth-child(even)
{
    background: #f8f9fa;
}.curator-cost-semesters-table tbody tr:hover
{
    background: #f7fafc;
}.curator-cost-semesters-table tbody tr.tbl__row--danger.tbl__row--danger
{
    background-color: var(--danger-light) !important;
}.curator-cost-semesters-table tbody tr.tbl__row--danger.tbl__row--danger:hover
{
    background-color: #fecaca !important;
}.curator-cost-semesters-table tbody tr.tbl__row--danger.tbl__row--danger td
{
    color: var(--danger-dark);
}.curator-cost-semesters-table tbody tr.tbl__row--warning.tbl__row--warning
{
    background-color: var(--warning-light) !important;
}.curator-cost-semesters-table tbody tr.tbl__row--warning.tbl__row--warning:hover
{
    background-color: #fde68a !important;
}.curator-cost-semesters-table tbody tr.tbl__row--warning.tbl__row--warning td
{
    color: var(--warning-dark);
}.curator-cost-semesters-table tbody tr.tbl__row--success.tbl__row--success
{
    background-color: var(--success-light) !important;
}.curator-cost-semesters-table tbody tr.tbl__row--success.tbl__row--success:hover
{
    background-color: #bbf7d0 !important;
}.curator-cost-semesters-table tbody tr.tbl__row--success.tbl__row--success td
{
    color: var(--success-dark);
}.curator-cost-semesters-table tbody tr.tbl__row--info.tbl__row--info
{
    background-color: var(--info-light) !important;
}.curator-cost-semesters-table tbody tr.tbl__row--info.tbl__row--info:hover
{
    background-color: #bfdbfe !important;
}.curator-cost-semesters-table tbody tr.tbl__row--info.tbl__row--info td
{
    color: var(--info-dark);
}.curator-cost-semesters-table tbody tr.tbl__row--future.tbl__row--future
{
    background-color: #f3f4f6 !important;
}.curator-cost-semesters-table tbody tr.tbl__row--future.tbl__row--future:hover
{
    background-color: #e5e7eb !important;
}.curator-cost-semesters-table tbody tr.tbl__row--future.tbl__row--future td
{
    color: #6b7280;
}.curator-cost-semesters-table tbody tr.tbl__row--overpayment.tbl__row--overpayment
{
    background-color: #e0f2fe !important;
}.curator-cost-semesters-table tbody tr.tbl__row--overpayment.tbl__row--overpayment:hover
{
    background-color: #bae6fd !important;
}.curator-cost-semesters-table tbody tr.tbl__row--overpayment.tbl__row--overpayment td
{
    color: #0369a1;
}.curator-cost-semesters-table tbody tr.tbl__row--debt-paid.tbl__row--debt-paid
{
    background-color: #ccfbf1 !important;
}.curator-cost-semesters-table tbody tr.tbl__row--debt-paid.tbl__row--debt-paid:hover
{
    background-color: #99f6e4 !important;
}.curator-cost-semesters-table tbody tr.tbl__row--debt-paid.tbl__row--debt-paid td
{
    color: #0f766e;
}.curator-cost-semesters-table td
{
    text-align: left; vertical-align: middle; color: #2d3748; word-wrap: break-word; overflow-wrap: break-word;
}.curator-cost-semesters-table .date-nowrap
{
    white-space: nowrap;
}.curator-cost-semesters-table .debt-overdue
{
    color: #dc3545; font-weight: 600;
}.curator-cost-semesters-table .debt-normal
{
    color: #2d3748;
}.curator-cost-semesters-table a
{
    color: #007bff; text-decoration: none; font-weight: 500;
}.curator-cost-semesters-table a:hover
{
    color: #0056b3; text-decoration: underline;
}.curator-cost-semesters-table.desktop-table
{
    display: table !important;
}.curator-cost-semesters-table.mobile-table
{
    display: none !important;
}.curator-student-info-table.desktop-table
{
    display: table !important;
}.curator-student-info-mobile-box.mobile-table
{
    display: none !important;
}.curator-user-table.desktop-table:not(.curator-student-info-table):not(.curator-cost-semesters-table)
{
    display: table !important;
}.curator-user-table.mobile-table:not(.curator-student-info-table):not(.curator-cost-semesters-table)
{
    display: none !important;
}.curator-orders-table thead th
{
    background: linear-gradient(135deg, #7b1fa2, #6a1b9a); color: white; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;
}.curator-orders-table tbody tr:hover
{
    background-color: #f3e5f5; transition: all 0.3s ease;
}/* Убираем ограничения для table-container внутри card-body */.card-body .table-container
{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
}/* Убираем border у таблиц после заголовка с иконкой */.tbl-title--icon + .tbl, .tbl-title--icon + div > .tbl, .tbl-title--icon + .table-actions-scroll .tbl
{
    border: none;
    box-shadow: none;
    margin-top: 0;
}/* Local scroll wrapper for action toolbars to prevent clipping */.table-actions-scroll
{
    overflow-x: visible;
    max-width: 100%;
    padding-bottom: var(--space-2);
}/* Flex-wrap layout for action toolbar to avoid table-like scrolling */.table-actions-scroll .tbl
{
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    width: 100%;
    table-layout: auto;
    border-collapse: separate;
}.table-actions-scroll .tbl tbody, .table-actions-scroll .tbl tr
{
    display: contents;
}.table-actions-scroll .tbl td
{
    display: flex;
    align-items: stretch;
    padding: 0;
    border: 0;
}/* Allow button text to wrap within toolbar so long labels don't stretch the row */.table-actions-scroll .tbl td .btn, .table-actions-scroll .tbl td button, .table-actions-scroll .tbl td a.btn
{
    white-space: normal;
    text-align: center;
}/* Стили для colspan - ячейки с colspan должны занимать всю ширину */.tbl td[colspan], .tbl th[colspan]
{
    width: 100%;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * LEGACY TABLE-CONTAINER SUPPORT
 * ═══════════════════════════════════════════════════════════════════════════════
 * Structural rules for legacy tables rendered inside .table-container.
 * Width and breakpoint-specific sizing remain in desktop.css, tablet.css,
 * mobile.css, and mobile-small.css.
 */.table-container > table:not(.deferred-actions-table):not(.sms-queue-table):not(.delayed-emails-table):not(.exam-students-table):not(.cost-edit-table--mobile)
{
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
    background-color: var(--bg-primary);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: table !important;
}.table-container table
{
    border-collapse: collapse;
    border-spacing: 0;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.cost-edit-table--mobile) thead
{
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    position: relative;
    display: table-header-group !important;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.cost-edit-table--mobile) tbody
{
    display: table-row-group !important;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.cost-edit-table--mobile) tr
{
    display: table-row !important;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.cost-edit-table--mobile) th, .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.cost-edit-table--mobile) td
{
    display: table-cell !important;
    padding: var(--space-3) var(--space-4);
    vertical-align: middle;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table) thead::after
{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table) th
{
    padding: var(--space-3) var(--space-4);
    text-align: left;
    font-weight: 600;
    font-size: var(--text-sm);
    color: var(--text-white);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    position: relative;
    line-height: 1.4;
    vertical-align: middle;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table) th.tbl__col--id, .table-container > table:not(.exam-students-table):not(.deferred-actions-table) td.tbl__col--id, .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.tbl) th:nth-child(2), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.tbl) td:nth-child(2)
{
    text-align: left;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) th:nth-child(3), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) th:nth-child(4), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) th:nth-child(5), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) th:nth-child(6), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) td:nth-child(3), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) td:nth-child(4), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) td:nth-child(5), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) td:nth-child(6)
{
    text-align: center;
    white-space: nowrap;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table) td
{
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--border-light);
    background-color: var(--bg-primary);
    transition: background-color var(--transition-fast);
    vertical-align: middle;
    line-height: 1.5;
    position: relative;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table) td[colspan]
{
    text-align: center;
    width: auto;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.cost-edit-table--mobile) tbody tr
{
    display: table-row !important;
    transition: background-color var(--transition-fast);
    position: relative;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) tbody tr::before
{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--primary);
    opacity: 0;
    transition: opacity var(--transition-fast);
    z-index: 1;
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.cost-edit-table):not(.cost-view-table) tbody tr:hover
{
    background-color: var(--bg-secondary);
    box-shadow: var(--shadow-xs);
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) tbody tr:hover::before
{
    opacity: 1;
}.table-container > table.curator-list-table tbody tr:hover td:first-child
{
    box-shadow: inset 3px 0 0 var(--primary);
}.table-container > table.curator-notifications-table tbody tr:hover td:first-child, .table-container > table.sms-function-map-table tbody tr:hover td:first-child, 
.table-container > table.cost-edit-table:not(.cost-edit-table--mobile) tbody tr:hover td:first-child, .table-container > table.cost-view-table tbody tr:hover td:first-child, .table-container > table.documents-apply-table tbody tr:hover td:first-child, .table-container > table.translation-management-table tbody tr:hover td:first-child
{
    box-shadow: inset 3px 0 0 var(--primary);
}.table-container > table:not(.exam-students-table):not(.deferred-actions-table) tbody tr:last-child td
{
    border-bottom: none;
}.table-container > table:not(.deferred-actions-table):not(.exam-students-table) tbody tr:last-child td.tbl__col--id
{
    border-bottom-left-radius: var(--radius-lg);
}.table-container > table:not(.deferred-actions-table):not(.exam-students-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) tbody tr:last-child td:nth-child(6)
{
    border-bottom-right-radius: var(--radius-lg);
}.table-link
{
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    transition: all var(--transition-fast);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}.table-link:hover
{
    color: var(--primary-dark);
    text-decoration: underline;
}.table-link::after
{
    content: "→";
    opacity: 0;
    transform: translateX(-5px);
    transition: all var(--transition-fast);
}.table-link:hover::after
{
    opacity: 1;
    transform: translateX(0);
}.table-actions
{
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}.table-action-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background-color: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--text-medium);
    text-decoration: none;
    transition: all var(--transition-fast);
    cursor: pointer;
    box-shadow: var(--shadow-xs);
}.table-action-btn i
{
    font-size: var(--text-base);
    transition: transform var(--transition-fast);
}.table-action-btn:hover
{
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--text-white);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}.table-action-btn:hover i
{
    transform: scale(1.1);
}.table-action-btn:active
{
    transform: translateY(0);
    box-shadow: var(--shadow-xs);
}.sms-function-map-table
{
    width: 100%;
    table-layout: fixed;
}.sms-function-map-table col.col-function
{
    width: 15%;
}.sms-function-map-table col.col-template
{
    width: 12%;
}.sms-function-map-table col.col-bot-id
{
    width: 10%;
}.sms-function-map-table col.col-description
{
    width: 50%;
}.sms-function-map-table col.col-actions
{
    width: 13%;
}.backups-table
{
    width: 100%;
    border-collapse: collapse;
    margin-top: var(--space-4);
}.backups-table th, .backups-table td
{
    padding: var(--space-3);
    text-align: left;
    border-bottom: 1px solid var(--border);
}.backups-table th
{
    background: var(--bg-secondary);
    font-weight: 600;
}.specialties-edit-table .col-spec-code
{
    width: 15%;
}.specialties-edit-table .col-spec-old-name, .specialties-edit-table .col-spec-new-name
{
    width: 35%;
}.specialties-edit-table .col-spec-actions
{
    width: 15%;
}/* Кнопки одинаковой длины в таблице со статусами */.tbl--center.tbl--compact td
{
    vertical-align: middle;
}.tbl--center.tbl--compact td .btn, .tbl--center.tbl--compact td button, .tbl--center.tbl--compact td a.btn
{
    min-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}/* Активная кнопка - дополнительный border для текущего статуса (КРАСНЫЙ для всех) *//* Warning (оранжевая) - красный border для активного статуса */.tbl--center.tbl--compact td .btn-warning.btn-active, .tbl--center.tbl--compact td button.btn-warning.btn-active
{
    border: 3px solid var(--danger-dark);
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.3);
    font-weight: 600;
}/* Info (синяя) - красный border для активного статуса */.tbl--center.tbl--compact td .btn-info.btn-active, .tbl--center.tbl--compact td button.btn-info.btn-active
{
    border: 3px solid var(--danger-dark);
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.3);
    font-weight: 600;
}/* Success (зеленая) - красный border для активного статуса */.tbl--center.tbl--compact td .btn-success.btn-active, .tbl--center.tbl--compact td button.btn-success.btn-active
{
    border: 3px solid var(--danger-dark);
    box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.3);
    font-weight: 600;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ЗАГОЛОВОК ТАБЛИЦЫ (thead)
 * ═══════════════════════════════════════════════════════════════════════════════ */.tbl thead
{
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-bottom: 2px solid var(--border-dark);
}.tbl thead th
{
    /* Типографика: --font-heading в base.css :root */
    font-family: var(--font-heading, "Roboto", "Open Sans", system-ui, sans-serif);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-dark);
    text-align: left;
    letter-spacing: 0.01em;
    
    /* Отступы из base.css */
    padding: var(--space-4) var(--space-4);
    
    /* Границы */
    border-bottom: 1px solid var(--border-dark);
}.tbl thead th:first-child
{
    border-top-left-radius: var(--radius-md);
}.tbl thead th:last-child
{
    border-top-right-radius: var(--radius-md);
}.tbl--borderless thead th:first-child
{
    border-top-left-radius: 0;
}.tbl--borderless thead th:last-child
{
    border-top-right-radius: 0;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ТЕЛО ТАБЛИЦЫ (tbody)
 * ═══════════════════════════════════════════════════════════════════════════════ */.tbl tbody tr
{
    border-bottom: 1px solid var(--border-light);
    transition: background-color var(--transition-fast);
}.tbl tbody tr:last-child
{
    border-bottom: none;
}.tbl tbody tr:hover
{
    background-color: var(--bg-hover);
}.tbl tbody tr:active
{
    background-color: var(--bg-active);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * СТИЛИ ДЛЯ СТРОК ТАБЛИЦЫ ПО СТАТУСАМ ПЛАТЕЖЕЙ
 * ═══════════════════════════════════════════════════════════════════════════════ *//* 1. Есть долг, но не оплачено - красный фон */.tbl tbody tr.tbl__row--danger
{
    background-color: var(--danger-light);
    border-left: 4px solid var(--danger);
}.tbl tbody tr.tbl__row--danger:hover
{
    background-color: var(--danger-light);
}.tbl tbody tr.tbl__row--danger td
{
    color: var(--danger-dark);
    font-weight: 500;
}/* 2. Был долг, но погашено - оранжевый/желтый фон */.tbl tbody tr.tbl__row--warning
{
    background-color: var(--warning-light);
    border-left: 4px solid var(--warning);
}.tbl tbody tr.tbl__row--warning:hover
{
    background-color: #fde68a;
}.tbl tbody tr.tbl__row--warning td
{
    color: var(--warning-dark);
}/* 3. Оплачено все и долгов нет - зеленый фон */.tbl tbody tr.tbl__row--success
{
    background-color: var(--success-light);
    border-left: 4px solid var(--success);
}.tbl tbody tr.tbl__row--success:hover
{
    background-color: #a7f3d0;
}.tbl tbody tr.tbl__row--success td
{
    color: var(--success-dark);
}/* 4. Следующая оплата - синий фон */.tbl tbody tr.tbl__row--info
{
    background-color: var(--info-light);
    border-left: 4px solid var(--info);
}.tbl tbody tr.tbl__row--info:hover
{
    background-color: #bfdbfe;
}.tbl tbody tr.tbl__row--info td
{
    color: var(--info-dark);
    font-weight: 500;
}/* 5. Оплата на будущее - серый/светлый фон */.tbl tbody tr.tbl__row--future
{
    background-color: var(--bg-secondary);
    border-left: 4px solid var(--border-dark);
}.tbl tbody tr.tbl__row--future:hover
{
    background-color: var(--bg-tertiary);
}.tbl tbody tr.tbl__row--future td
{
    color: var(--text-muted);
}/* 6. Переплата (не использованная для долга) - голубой фон */.tbl tbody tr.tbl__row--overpayment
{
    background-color: var(--overpayment-light);
    border-left: 4px solid var(--overpayment);
}.tbl tbody tr.tbl__row--overpayment:hover
{
    background-color: var(--overpayment-hover);
}.tbl tbody tr.tbl__row--overpayment td
{
    color: var(--overpayment-dark);
}/* 7. Был долг, погашен переплатой из следующего семестра — бирюзовый фон, чтобы отличить от текущего долга */.tbl tbody tr.tbl__row--debt-paid
{
    background-color: var(--debt-paid-light);
    border-left: 4px solid var(--debt-paid);
}.tbl tbody tr.tbl__row--debt-paid:hover
{
    background-color: var(--debt-paid-hover);
}.tbl tbody tr.tbl__row--debt-paid td
{
    color: var(--debt-paid-dark);
}/*
 * cost-edit-table / cost-view-table: .table-container задаёт td { background: var(--bg-primary) },
 * из‑за этого фон статусной строки на tr не виден — делаем ячейки прозрачными (как student-payments).
 */.table-container > table.cost-edit-table tbody tr.tbl__row--danger, .table-container > table.cost-view-table tbody tr.tbl__row--danger
{
    background-color: var(--danger-light) !important;
    border-left: 4px solid var(--danger);
}.table-container > table.cost-edit-table tbody tr.tbl__row--danger:hover, .table-container > table.cost-view-table tbody tr.tbl__row--danger:hover
{
    background-color: #fecaca !important;
}.table-container > table.cost-edit-table tbody tr.tbl__row--danger td, .table-container > table.cost-view-table tbody tr.tbl__row--danger td
{
    background: transparent !important;
    color: var(--danger-dark);
    font-weight: 500;
}.table-container > table.cost-edit-table tbody tr.tbl__row--warning, .table-container > table.cost-view-table tbody tr.tbl__row--warning
{
    background-color: var(--warning-light) !important;
    border-left: 4px solid var(--warning);
}.table-container > table.cost-edit-table tbody tr.tbl__row--warning:hover, .table-container > table.cost-view-table tbody tr.tbl__row--warning:hover
{
    background-color: #fde68a !important;
}.table-container > table.cost-edit-table tbody tr.tbl__row--warning td, .table-container > table.cost-view-table tbody tr.tbl__row--warning td
{
    background: transparent !important;
    color: var(--warning-dark);
}.table-container > table.cost-edit-table tbody tr.tbl__row--success, .table-container > table.cost-view-table tbody tr.tbl__row--success
{
    background-color: var(--success-light) !important;
    border-left: 4px solid var(--success);
}.table-container > table.cost-edit-table tbody tr.tbl__row--success:hover, .table-container > table.cost-view-table tbody tr.tbl__row--success:hover
{
    background-color: #a7f3d0 !important;
}.table-container > table.cost-edit-table tbody tr.tbl__row--success td, .table-container > table.cost-view-table tbody tr.tbl__row--success td
{
    background: transparent !important;
    color: var(--success-dark);
}.table-container > table.cost-edit-table tbody tr.tbl__row--info, .table-container > table.cost-view-table tbody tr.tbl__row--info
{
    background-color: var(--info-light) !important;
    border-left: 4px solid var(--info);
}.table-container > table.cost-edit-table tbody tr.tbl__row--info:hover, .table-container > table.cost-view-table tbody tr.tbl__row--info:hover
{
    background-color: #bfdbfe !important;
}.table-container > table.cost-edit-table tbody tr.tbl__row--info td, .table-container > table.cost-view-table tbody tr.tbl__row--info td
{
    background: transparent !important;
    color: var(--info-dark);
    font-weight: 500;
}.table-container > table.cost-edit-table tbody tr.tbl__row--future, .table-container > table.cost-view-table tbody tr.tbl__row--future
{
    background-color: var(--bg-secondary) !important;
    border-left: 4px solid var(--border-dark);
}.table-container > table.cost-edit-table tbody tr.tbl__row--future:hover, .table-container > table.cost-view-table tbody tr.tbl__row--future:hover
{
    background-color: var(--bg-tertiary) !important;
}.table-container > table.cost-edit-table tbody tr.tbl__row--future td, .table-container > table.cost-view-table tbody tr.tbl__row--future td
{
    background: transparent !important;
    color: var(--text-muted);
}.table-container > table.cost-edit-table tbody tr.tbl__row--overpayment, .table-container > table.cost-view-table tbody tr.tbl__row--overpayment
{
    background-color: var(--overpayment-light) !important;
    border-left: 4px solid var(--overpayment);
}.table-container > table.cost-edit-table tbody tr.tbl__row--overpayment:hover, .table-container > table.cost-view-table tbody tr.tbl__row--overpayment:hover
{
    background-color: var(--overpayment-hover) !important;
}.table-container > table.cost-edit-table tbody tr.tbl__row--overpayment td, .table-container > table.cost-view-table tbody tr.tbl__row--overpayment td
{
    background: transparent !important;
    color: var(--overpayment-dark);
}.table-container > table.cost-edit-table tbody tr.tbl__row--debt-paid, .table-container > table.cost-view-table tbody tr.tbl__row--debt-paid
{
    background-color: var(--debt-paid-light) !important;
    border-left: 4px solid var(--debt-paid);
}.table-container > table.cost-edit-table tbody tr.tbl__row--debt-paid:hover, .table-container > table.cost-view-table tbody tr.tbl__row--debt-paid:hover
{
    background-color: var(--debt-paid-hover) !important;
}.table-container > table.cost-edit-table tbody tr.tbl__row--debt-paid td, .table-container > table.cost-view-table tbody tr.tbl__row--debt-paid td
{
    background: transparent !important;
    color: var(--debt-paid-dark);
}.tbl tbody td
{
    font-size: var(--text-base);
    color: var(--text-dark);
    padding: var(--space-4) var(--space-4);
    vertical-align: top;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}/* Compact density */.tbl--compact thead th, .tbl--compact tbody td
{
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-sm);
}/* Spacious density */.tbl--spacious thead th, .tbl--spacious tbody td
{
    padding: var(--space-6) var(--space-8);
}/* Уменьшаем отступы для кнопок в строках с data-eqbtn */.tbl--spacious [data-eqbtn] td
{
    padding: var(--space-2) var(--space-3);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * МОДИФИКАТОРЫ ВЫРАВНИВАНИЯ
 * ═══════════════════════════════════════════════════════════════════════════════ */.tbl--center thead th, .tbl--center tbody td
{
    text-align: center;
}.tbl--right thead th, .tbl--right tbody td
{
    text-align: right;
}.tbl--borderless thead
{
    border-bottom: 1px solid var(--border);
    background: transparent;
}.tbl--borderless tbody tr
{
    border-bottom: 1px solid var(--border-light);
}.tbl--borderless tbody tr:last-child
{
    border-bottom: none;
}.tbl--striped tbody tr:nth-child(even)
{
    background-color: var(--bg-secondary);
}.tbl--striped tbody tr:nth-child(even):hover
{
    background-color: var(--bg-hover);
}.tbl--hover tbody tr
{
    cursor: pointer;
}.tbl--hover tbody tr:hover
{
    background-color: var(--bg-hover);
    box-shadow: inset 0 0 0 1px var(--primary-light);
}.tbl--sm thead th
{
    font-size: var(--text-xs);
    padding: var(--space-2) var(--space-3);
}.tbl--sm tbody td
{
    font-size: var(--text-sm);
    padding: var(--space-2) var(--space-3);
}.tbl--lg thead th
{
    font-size: var(--text-base);
    padding: var(--space-6) var(--space-6);
}.tbl--lg tbody td
{
    font-size: var(--text-lg);
    padding: var(--space-6) var(--space-6);
}.tbl th:not([class]), .tbl td:not([class])
{
    text-align: left;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * BUTTON NORMALIZATION IN TABLES
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Кнопки в ячейках: flex, min-height inherit, адаптивный font-size (clamp) */.tbl td .btn, .tbl td button, .tbl th .btn, .tbl th button, .tbl td a.btn, .tbl th a.btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: inherit;
    height: auto;
    vertical-align: middle;
    white-space: nowrap;
    flex-shrink: 1;
    min-width: 0;
    font-size: clamp(0.65rem, 1.5vw, 1rem);
}/* Ensure button icons/text align properly and don't add extra height */.tbl td .btn i, .tbl td button i, .tbl th .btn i, .tbl th button i, .tbl td a.btn i, .tbl th a.btn i, .tbl td .btn .fas, .tbl td button .fas, .tbl th .btn .fas, .tbl th button .fas, .tbl td a.btn .fas, .tbl th a.btn .fas, .tbl td .btn .fa, .tbl td button .fa, .tbl th .btn .fa, .tbl th button .fa, .tbl td a.btn .fa, .tbl th a.btn .fa
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
    height: auto;
    width: auto;
    margin: 0;
    padding: 0;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * CELL STATES
 * ═══════════════════════════════════════════════════════════════════════════════ */.tbl td--active, .tbl th--active
{
    background-color: var(--primary-light);
    color: var(--text-white);
}.tbl td--highlighted, .tbl th--highlighted
{
    background-color: var(--info-light);
    color: var(--info-dark);
}.tbl td--warning, .tbl th--warning
{
    background-color: var(--warning-light);
    color: var(--warning-dark);
}.tbl td--danger, .tbl th--danger
{
    background-color: var(--danger-light);
    color: var(--danger-dark);
}.tbl td--success, .tbl th--success
{
    background-color: var(--success-light);
    color: var(--success-dark);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * FOCUS AND ACCESSIBILITY
 * ═══════════════════════════════════════════════════════════════════════════════ */.tbl tbody tr:focus-visible
{
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}.tbl tbody td:focus-visible, .tbl thead th:focus-visible
{
    outline: 2px solid var(--primary);
    outline-offset: -2px;
    border-radius: var(--radius-sm);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * EMPTY TABLE MESSAGE
 * ═══════════════════════════════════════════════════════════════════════════════ */.tbl tbody:empty::after
{
    content: "No data to display";
    display: block;
    padding: var(--space-8);
    text-align: center;
    color: var(--text-muted);
    font-style: italic;
}/* Ячейка с поддержкой многострочного контента */.tbl--smart-cells td, .tbl--smart-cells th
{
    word-break: break-word;
    overflow-wrap: break-word;
    padding: 12px !important;
    vertical-align: middle !important;
    line-height: 1.5;
    text-align: left !important;
    
    /* ПЕРЕОПРЕДЕЛЯЕМ стили из .tbl tbody td и .tbl thead th */
    border: 1px solid var(--border) !important;
    background-color: transparent !important;
}/* Расчет ширины колонок для 3-колонной таблицы *//* Ширина задается через <colgroup> в HTML - CSS селекторы по nth-child не работают надежно *//* Этот CSS используется только как резервный вариант и для адаптива на мобильных *//* На десктопе ширина берется из <colgroup> *//* На мобильных переопределяем через медиа-запросы *//* Поддержка вложенных flex-контейнеров в ячейках */.tbl--smart-cells td .d-flex, .tbl--smart-cells th .d-flex
{
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2, 8px);
    width: 100%;
}.tbl--smart-cells td .d-flex .btn, .tbl--smart-cells td .d-flex button, .tbl--smart-cells td .d-flex a.btn
{
    flex: 1 1 auto;
    min-width: 80px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}/* Иконки не должны влиять на размер контейнера */.tbl--smart-cells td i:only-child, .tbl--smart-cells th i:only-child
{
    margin-right: 0;
}/* Заголовки с улучшенным стилем и иконками */.tbl--smart-cells thead
{
    background-color: transparent !important;
    font-weight: 600;
}.tbl--smart-cells thead th
{
    text-align: left !important;
    border-bottom: 2px solid var(--border) !important;
    border-top: none !important;
    padding: 14px 12px !important;
    
    /* ПЕРЕОПРЕДЕЛЯЕМ .tbl thead th */
    font-size: inherit;
    font-family: inherit;
    letter-spacing: normal;
}/* Строки тела таблицы с улучшенным стилем */.tbl--smart-cells tbody tr
{
    border-bottom: 1px solid var(--border) !important;
    transition: background-color 0.2s ease;
}.tbl--smart-cells tbody tr:hover
{
    background-color: var(--bg-secondary);
}.tbl--smart-cells tbody tr:last-child
{
    border-bottom: none !important;
}.tbl--smart-cells tbody tr:last-child td
{
    border-bottom: none !important;
}/* Поддержка цветных заголовков для специальных таблиц *//* Danger (Красный) - для таблиц удаления */.tbl--smart-cells.tbl--danger thead
{
    background-color: #dc2626 !important;
}.tbl--smart-cells.tbl--danger thead th
{
    color: #ffffff !important;
    background-color: #dc2626 !important;
    border-bottom: 2px solid #991b1b !important;
}/* Success (Зеленый) - для таблиц успеха */.tbl--smart-cells.tbl--success thead
{
    background-color: #22c55e !important;
}.tbl--smart-cells.tbl--success thead th
{
    color: #ffffff !important;
    background-color: #22c55e !important;
    border-bottom: 2px solid #16a34a !important;
}/* Warning (Оранжевый) - для таблиц внимания */.tbl--smart-cells.tbl--warning thead
{
    background-color: var(--warning) !important;
}.tbl--smart-cells.tbl--warning thead th
{
    color: var(--text-dark) !important;
    background-color: var(--warning) !important;
    border-bottom: 2px solid var(--warning-dark) !important;
}/* Info (Синий) - для таблиц информации */.tbl--smart-cells.tbl--info thead
{
    background-color: #3b82f6 !important;
}.tbl--smart-cells.tbl--info thead th
{
    color: #ffffff !important;
    background-color: #3b82f6 !important;
    border-bottom: 2px solid #1e40af !important;
}/* Компактный вариант таблицы */.tbl--smart-cells.tbl--compact td, .tbl--smart-cells.tbl--compact th
{
    padding: var(--space-2) var(--space-3);
    font-size: 13px;
}/* Просторный вариант таблицы */.tbl--smart-cells.tbl--spacious td, .tbl--smart-cells.tbl--spacious th
{
    padding: 16px 14px;
    font-size: 15px;
}/* Поддержка отступов и выравнивания для flex-подобного поведения */.tbl--smart-cells td.tbl__cell--flex, .tbl--smart-cells th.tbl__cell--flex
{
    display: table-cell;
    padding: 12px;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ТАБЛИЦА СТУДЕНТОВ КУРАТОРА (.students-list-table)
 * ═══════════════════════════════════════════════════════════════════════════════
 * ПЕРЕНЕСЕНО ИЗ common.css ДЛЯ КОНСОЛИДАЦИИ ТАБЛИЦ
 * 
 * Все структурные правила живут здесь, sizing живет в responsive-файлах
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Базовая структура таблицы */.card-body .students-list-table
{
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    background-color: var(--bg-primary);
    border-radius: var(--radius-lg);
    overflow: hidden;
    /* Колонки действий: column_width ≈ 2×pad_x + btn (переопределяется в desktop/tablet/mobile/mobile-small) */
    /* Fallback до responsive: как desktop 10+44+10 px */
    --sl-action-pad-x: 0.625rem;
    --sl-action-pad-y: 0.75rem;
    --sl-action-btn: 2.75rem;
    --sl-action-icon: 1rem;
}/* colgroup: явные ширины для сетки из 6 колонок (admin_panel); остальное докручивают desktop/tablet/mobile */.table-container > .students-list-table col.tbl__col--id
{
    width: 4.5rem !important;
    min-width: 3rem !important;
}.table-container > .students-list-table col.col-fullname
{
    width: auto;
    min-width: 10rem;
}.table-container > .students-list-table col.col-action-1, .table-container > .students-list-table col.col-action-2, .table-container > .students-list-table col.col-action-3, .table-container > .students-list-table col.col-action-4
{
    width: calc(2 * var(--sl-action-pad-x) + var(--sl-action-btn)) !important;
    min-width: calc(2 * var(--sl-action-pad-x) + var(--sl-action-btn)) !important;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * cost-view-table: ширины 7 колонок (student_cost_view.php)
 * ═══════════════════════════════════════════════════════════════════════════════ */.table-container > .cost-view-table col.col-scv-semester
{
    width: 2.5rem !important;
    min-width: 1.875rem !important;
}.table-container > .cost-view-table col.col-scv-amount
{
    width: 10% !important;
}.table-container > .cost-view-table col.col-scv-paid
{
    width: 14% !important;
}.table-container > .cost-view-table col.col-scv-date, .table-container > .cost-view-table col.col-scv-date-student, .table-container > .cost-view-table col.col-scv-debt
{
    width: 11% !important;
}.table-container > .cost-view-table col.col-scv-receipt
{
    width: auto;
}/* cost-view-table: выравнивание по модификаторам колонок (не «всё по центру») */.table-container > table.cost-view-table th.tbl__col--id, .table-container > table.cost-view-table td.tbl__col--id
{
    text-align: right !important;
}.table-container > table.cost-view-table th.tbl__col--numeric, .table-container > table.cost-view-table td.tbl__col--numeric
{
    text-align: right !important;
}.table-container > table.cost-view-table th.tbl__col--date, .table-container > table.cost-view-table td.tbl__col--date
{
    text-align: center !important;
}.table-container > table.cost-view-table th.tbl__col--receipt, .table-container > table.cost-view-table td.tbl__col--receipt
{
    text-align: center !important;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * cost-edit-table: только выравнивание/раскладка. Размеры col, кнопок, padding ячеек — desktop.css / tablet.css
 * (#student-cost-table-mobile — mobile.css)
 * ═══════════════════════════════════════════════════════════════════════════════ *//* cost-edit-table: выравнивание по модификаторам колонок */.table-container > table.cost-edit-table th.tbl__col--id, .table-container > table.cost-edit-table td.tbl__col--id
{
    text-align: right !important;
}.table-container > table.cost-edit-table th.tbl__col--numeric, .table-container > table.cost-edit-table td.tbl__col--numeric
{
    text-align: right !important;
}.table-container > table.cost-edit-table th.tbl__col--date, .table-container > table.cost-edit-table td.tbl__col--date
{
    text-align: center !important;
}.table-container > table.cost-edit-table th.tbl__col--update, .table-container > table.cost-edit-table td.tbl__col--update
{
    text-align: center !important;
    vertical-align: middle;
}.table-container > table.cost-edit-table th.tbl__col--actions, .table-container > table.cost-edit-table td.tbl__col--actions
{
    text-align: center !important;
}.table-container > table.cost-edit-table:not(.cost-edit-table--mobile) th.tbl__col--action, .table-container > table.cost-edit-table:not(.cost-edit-table--mobile) td.tbl__col--action
{
    text-align: center !important;
    vertical-align: middle;
}.table-container > table#student-cost-table thead th.tbl__col--actions-group
{
    text-align: center !important;
    vertical-align: middle;
}.table-container > table.cost-edit-table:not(.cost-edit-table--mobile) td.tbl__col--action-choose .file-upload-control--choose-only
{
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}/* Убрать двойной вертикальный отступ .tbl внутри контейнера */.table-container > table.tbl.cost-edit-table
{
    margin-top: 0;
    margin-bottom: 0;
}.card-body .students-list-table th
{
    font-weight: 600;
    vertical-align: middle;
    background: var(--primary-gradient);
    color: var(--text-white);
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.4;
}/* Ячейки таблицы - общие стили */.card-body .students-list-table td
{
    vertical-align: middle;
    border-bottom: 1px solid var(--border-light);
    background-color: var(--bg-primary);
    transition: background-color var(--transition-fast);
    line-height: 1.5;
}/* Колонка: Номер - базовые стили */.card-body .students-list-table th.tbl__col--id, .card-body .students-list-table td.tbl__col--id
{
    text-align: left;
}/* Колонка: ФИО - базовые стили */.card-body .students-list-table th.col-fullname, .card-body .students-list-table td.col-fullname
{
    width: auto;
    text-align: left;
}/* КРИТИЧЕСКИЕ ПЕРЕОПРЕДЕЛЕНИЯ ДЛЯ КОЛОНКИ ФИО */.card-body .students-list-table td.col-fullname, .card-body .students-list-table th.col-fullname
{
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    max-width: none;
    position: relative;
    vertical-align: middle;
    text-align: left;
}/* Ссылка с именем студента - КРИТИЧЕСКИЕ стили */.card-body .students-list-table td.col-fullname .student-name-link
{
    display: block;
    width: 100%;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    transition: all var(--transition-base);
    max-width: none;
    min-width: 0;
    position: relative;
}/* Анимированное подчеркивание */.card-body .students-list-table td.col-fullname .student-name-link::after
{
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
    transition: width var(--transition-base);
}.card-body .students-list-table td.col-fullname .student-name-link:hover
{
    color: var(--primary-dark);
    text-decoration: none;
    transform: translateX(2px);
}.card-body .students-list-table td.col-fullname .student-name-link:hover::after
{
    width: 100%;
}.card-body .students-list-table td.col-fullname .student-name-link:active
{
    transform: translateX(0);
}/* Колонки действий: ширина ячейки = 2×pad_x + btn (box-sizing: border-box) */.card-body .students-list-table th.col-action-edit, .card-body .students-list-table th.col-action-documents, .card-body .students-list-table th.col-action-payments, .card-body .students-list-table th.col-action-status, .card-body .students-list-table td.col-action-edit, .card-body .students-list-table td.col-action-documents, .card-body .students-list-table td.col-action-payments, .card-body .students-list-table td.col-action-status
{
    box-sizing: border-box;
    width: calc(2 * var(--sl-action-pad-x) + var(--sl-action-btn)) !important;
    min-width: calc(2 * var(--sl-action-pad-x) + var(--sl-action-btn)) !important;
    max-width: calc(2 * var(--sl-action-pad-x) + var(--sl-action-btn)) !important;
    padding: var(--sl-action-pad-y) var(--sl-action-pad-x);
    text-align: center !important;
    vertical-align: middle;
    overflow: visible;
    border-bottom: 1px solid var(--border-light);
}/* Явное центрирование по модификатору колонки (перебивает общие правила .tbl td) */.card-body .students-list-table th.tbl__col--actions, .card-body .students-list-table td.tbl__col--actions
{
    text-align: center !important;
    vertical-align: middle;
    overflow: visible;
}/* Кнопки действий - базовые стили */.card-body .students-list-table .action-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--sl-action-btn);
    height: var(--sl-action-btn);
    flex-shrink: 0;
    color: var(--text-medium);
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: background var(--transition-base), color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), filter var(--transition-fast);
    cursor: pointer;
    position: relative;
    /* visible вместо hidden: глифы FA, тень и hover не обрезаются по краям ячейки */
    overflow: visible;
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
}/* Перекрыть глобальные .tbl i / .fas (thead и tbody) только для students-list-table */.table-container > .students-list-table.tbl th.tbl__col--actions i, .table-container > .students-list-table.tbl .action-btn i
{
    font-size: var(--sl-action-icon) !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
}/* Hover/active: без transform и без большого ::before — иначе сдвиг, перекрытие соседей и ложная зона клика */.card-body .students-list-table .action-btn:hover
{
    background: var(--primary-gradient);
    color: var(--text-white);
    border-color: var(--primary);
    box-shadow: var(--shadow-sm);
}.card-body .students-list-table .action-btn:active
{
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12);
    filter: brightness(0.97);
}/* Hover эффект для строк */.card-body .students-list-table tbody tr
{
    transition: all var(--transition-base);
}.card-body .students-list-table tbody tr:hover
{
    background: linear-gradient(90deg, 
        rgba(39, 146, 174, 0.08) 0%, 
        rgba(59, 168, 196, 0.05) 100%
    );
    box-shadow: var(--shadow-sm);
}/* Левый индикатор при наведении (inset box-shadow, без ::before на tr) */.card-body .students-list-table tbody tr:hover td:first-child
{
    box-shadow: inset 3px 0 0 var(--primary);
}/* Альтернативные строки для лучшей читаемости */.card-body .students-list-table tbody tr:nth-child(even)
{
    background-color: rgba(248, 250, 252, 0.5);
}.card-body .students-list-table tbody tr:nth-child(even):hover
{
    background: linear-gradient(90deg, 
        rgba(39, 146, 174, 0.08) 0%, 
        rgba(59, 168, 196, 0.05) 100%
    );
}/* Фокус для клавиатурной навигации */.card-body .students-list-table .action-btn:focus-visible
{
    outline: 3px solid var(--primary);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}.card-body .students-list-table td.col-fullname .student-name-link:focus-visible
{
    outline: 3px solid var(--primary);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
}/* ANIMATIONS - table-specific stagger */.card-body .students-list-table tbody tr
{
    animation: fadeIn 0.3s ease-out;
}.card-body .students-list-table .action-btn
{
    animation: fadeIn 0.2s ease-out;
}.card-body .students-list-table tbody tr:nth-child(1)
{ animation-delay: 0.05s; }.card-body .students-list-table tbody tr:nth-child(2)
{ animation-delay: 0.1s; }.card-body .students-list-table tbody tr:nth-child(3)
{ animation-delay: 0.15s; }.card-body .students-list-table tbody tr:nth-child(4)
{ animation-delay: 0.2s; }.card-body .students-list-table tbody tr:nth-child(5)
{ animation-delay: 0.25s; }.card-body .students-list-table tbody tr, .card-body .students-list-table .action-btn
{
    opacity: 0;
    animation-fill-mode: forwards;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * Site settings mail — таблица списка root.env (admin/site_settings_mail.php)
 * Отступы ячеек и типографика: desktop.css / tablet.css / mobile.css / mobile-small.css
 * ═══════════════════════════════════════════════════════════════════════════════ */#mail-settings.site-settings-mail .mail-table
{
    width: 100%;
    border-collapse: collapse;
}#mail-settings.site-settings-mail .mail-table th, #mail-settings.site-settings-mail .mail-table td
{
    border: 1px solid #ccc;
    text-align: left;
}.exam-soon td
{
    color: #856404 !important;
    font-weight: bold;
}.exam-past td
{
    color: #721c24 !important;
    text-decoration: line-through;
}/* ::before на tr не отображается в большинстве браузеров — префикс в первой ячейке */.exam-soon td:first-child::before
{
    content: "⏰ ";
    color: var(--warning);
    font-weight: bold;
}.exam-past td:first-child::before
{
    content: "❌ ";
    color: var(--danger);
    font-weight: bold;
}/* Таблица студентов (manage_entry_admission) */.students-table-wrapper
{
    overflow-x: auto;
    margin-bottom: 20px;
}.students-table
{
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
    background: white;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}.students-table th
{
    background: #4CAF50;
    color: white;
    padding: 12px;
    text-align: left;
    font-weight: bold;
}.students-table td
{
    padding: 10px;
    border-bottom: 1px solid #ddd;
}.students-table tr:hover
{
    background: #f5f5f5;
}/* Таблица управления документами — токены (согласовано с .table-container в common.css) */.table-container
{
    overflow-x: auto;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    background-color: var(--bg-primary);
}.management-table
{
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}.management-table thead th
{
    background: linear-gradient(135deg, #495057, #343a40);
    color: white;
    padding: 15px 12px;
    text-align: left;
    font-weight: 600;
    border-bottom: 2px solid #dee2e6;
    position: sticky;
    top: 0;
    z-index: 100;
}.management-table tbody tr
{
    transition: all 0.2s ease;
    border-bottom: 1px solid #dee2e6;
}.management-table tbody tr:hover
{
    background-color: #f8f9fa;
    transform: scale(1.001);
}.management-table tbody tr:nth-child(even)
{
    background-color: #fafafa;
}.management-table td
{
    padding: 12px;
    vertical-align: middle;
}/* Таблица учебных планов */.syllabus-table
{
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}.syllabus-table th, .syllabus-table td
{
    padding: 10px;
    text-align: left;
}.syllabus-table th
{
    background-color: #2792ae;
    color: white;
    border-radius: 5px;
}.syllabus-table td
{
    background-color: #f9f9f9;
    border-bottom: 1px solid #ddd;
}.reports-table
{
    border-collapse: collapse;
    background: white;
    overflow: hidden;
    border-style: solid;
    border-color: #dee2e6;
    table-layout: fixed;
    box-sizing: border-box;
}.reports-table th
{
    background-color: #007bff;
    color: white;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}.reports-table td
{
    border-bottom-style: solid;
    border-bottom-color: #dee2e6;
    vertical-align: middle;
}.reports-table tbody tr:nth-child(even)
{
    background-color: #f8f9fa;
}.reports-table tbody tr:hover
{
    background-color: #e3f2fd;
    transition: background-color 0.2s ease;
}.reports-table td:nth-child(4), .reports-table td:nth-child(5), .reports-table td:nth-child(6), .reports-table td:nth-child(7), .reports-table td:nth-child(8)
{
    text-align: center;
}.reports-table td:nth-child(9)
{
    text-align: center;
}.reports-table td:nth-child(3)
{
    word-wrap: break-word;
}.reports-table tbody tr.high-attendance
{
    background-color: #d4edda !important;
}.reports-table tbody tr.low-attendance
{
    background-color: #f8d7da !important;
}/* ТАБЛИЦЫ СТАТУСОВ - кнопки без размеров (размеры в responsive файлах) */.status-actions-table .btn, .status-actions-table button
{
    display: inline-flex;
    white-space: nowrap;
    flex-shrink: 0;
    flex-grow: 0;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * STATUS BADGES (индикаторы статусов)
 * ═══════════════════════════════════════════════════════════════════════════════
 * Маленькие индикаторы статуса документов, состояния и т.д.
 * Размеры в responsive файлах
 * ═══════════════════════════════════════════════════════════════════════════════ *//* ═══════════════════════════════════════════════════════════════════════════════
 * ACTION BUTTONS В ТАБЛИЦЕ ДОКУМЕНТОВ (user-table.documents-table)
 * ═══════════════════════════════════════════════════════════════════════════════
 * ПЕРЕНЕСЕНО ИЗ common.css ДЛЯ СОБЛЮДЕНИЯ АРХИТЕКТУРЫ
 * Все стили кнопок должны быть в buttons.css
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Просмотр — токены info */.user-table.documents-table .action-btn.view-btn
{
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-color: var(--info);
}.user-table.documents-table .action-btn.view-btn i
{
    color: var(--info-dark) !important;
}.user-table.documents-table .action-btn.view-btn:hover
{
    background: var(--info-gradient);
    border-color: var(--info-dark);
}.user-table.documents-table .action-btn.view-btn:hover i
{
    color: var(--text-white) !important;
}/* Скачивание — токены success */.user-table.documents-table .action-btn.download-btn
{
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-color: var(--success);
}.user-table.documents-table .action-btn.download-btn i
{
    color: var(--success-dark) !important;
}.user-table.documents-table .action-btn.download-btn:hover
{
    background: var(--success-gradient);
    border-color: var(--success-dark);
}.user-table.documents-table .action-btn.download-btn:hover i
{
    color: var(--text-white) !important;
}/* Загрузка — warning */.user-table.documents-table .action-btn.upload-btn
{
    background: linear-gradient(135deg, var(--warning-light) 0%, var(--bg-tertiary) 100%);
    border-color: var(--warning);
}.user-table.documents-table .action-btn.upload-btn:hover
{
    background: var(--warning-gradient);
    border-color: var(--warning-dark);
}/* Focus для доступности */.user-table.documents-table .action-btn:focus-visible
{
    outline: 3px solid var(--primary);
    outline-offset: 2px;
    border-radius: var(--btn-radius-sm);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ACTION BUTTONS В ТАБЛИЦЕ СТУДЕНТОВ (.students-list-table)
 * ═══════════════════════════════════════════════════════════════════════════════
 * ПЕРЕНЕСЕНО ИЗ common.css ДЛЯ СОБЛЮДЕНИЯ АРХИТЕКТУРЫ
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Редактировать - синий */.card-body .students-list-table .action-btn[href*="edit"] i, .card-body .students-list-table .action-btn.edit-btn i
{
    color: var(--accent-blue) !important;
}.card-body .students-list-table .action-btn[href*="edit"]:hover i, .card-body .students-list-table .action-btn.edit-btn:hover i
{
    color: var(--text-white) !important;
}/* Документы - фиолетовый */.card-body .students-list-table .action-btn[href*="document"] i, .card-body .students-list-table .action-btn.documents-btn i
{
    color: var(--accent-purple) !important;
}.card-body .students-list-table .action-btn[href*="document"]:hover i, .card-body .students-list-table .action-btn.documents-btn:hover i
{
    color: var(--text-white) !important;
}/* Платежи - зеленый */.card-body .students-list-table .action-btn[href*="payment"] i, .card-body .students-list-table .action-btn.payments-btn i
{
    color: var(--accent-green) !important;
}.card-body .students-list-table .action-btn[href*="payment"]:hover i, .card-body .students-list-table .action-btn.payments-btn:hover i
{
    color: var(--text-white) !important;
}/* Статус - оранжевый */.card-body .students-list-table .action-btn[href*="status"] i, .card-body .students-list-table .action-btn.status-btn i
{
    color: var(--accent-yellow) !important;
}.card-body .students-list-table .action-btn[href*="status"]:hover i, .card-body .students-list-table .action-btn.status-btn:hover i
{
    color: var(--text-white) !important;
}/* Удаление - красный */.card-body .students-list-table .action-btn.delete-btn i, .card-body .students-list-table .action-btn[href*="delete"] i
{
    color: var(--accent-red) !important;
}.card-body .students-list-table .action-btn.delete-btn:hover i, .card-body .students-list-table .action-btn[href*="delete"]:hover i
{
    color: var(--text-white) !important;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * Mail settings — unified table + modals
 * Исключение: .mail-settings-table — процентные col и компактные ячейки, не глобальные поля формы.
 * Размеры: desktop.css / tablet.css / mobile.css / mobile-small.css
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Единая таблица */.mail-settings-table
{
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    margin-bottom: var(--space-6, 1.5rem);
}.mail-settings-table col.mail-col-param
{ width: 40%; }.mail-settings-table col.mail-col-value
{ width: 45%; }.mail-settings-table col.mail-col-actions
{ width: 15%; }.mail-settings-table thead th
{
    background: var(--color-bg-subtle, #f5f5f5);
    font-weight: 600;
    text-align: left;
    padding: var(--space-2, 0.5rem) var(--space-3, 0.75rem);
    border-bottom: 2px solid var(--color-border, #e0e0e0);
    font-size: var(--text-sm, 0.875rem);
    color: var(--color-text-muted, #666);
}.mail-settings-table tbody tr:hover
{
    background: var(--color-bg-hover, #fafafa);
}.mail-settings-table tbody td
{
    padding: var(--space-2, 0.5rem) var(--space-3, 0.75rem);
    border-bottom: 1px solid var(--color-border-light, #eee);
    vertical-align: middle;
}/* Заголовки секций */.mail-settings-table .mail-settings-section-header td
{
    background: var(--color-primary-light, #e8f0fe);
    color: var(--color-primary, #1a73e8);
    font-weight: 600;
    font-size: var(--text-sm, 0.875rem);
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: var(--space-2, 0.5rem) var(--space-3, 0.75rem);
    vertical-align: middle;
}.mail-settings-table .mail-settings-section-header td i
{
    margin-right: var(--space-1, 0.25rem);
}/* Дополнительная таблица аккаунтов */.mail-table--extra
{
    width: 100%;
    border-collapse: collapse;
    margin-top: var(--space-4, 1rem);
    font-size: var(--text-sm, 0.875rem);
}.mail-table--extra thead th
{
    background: var(--color-bg-subtle, #f5f5f5);
    font-weight: 600;
    padding: var(--space-2, 0.5rem) var(--space-3, 0.75rem);
    border-bottom: 2px solid var(--color-border, #e0e0e0);
    text-align: left;
}.mail-table--extra tbody td
{
    padding: var(--space-2, 0.5rem) var(--space-3, 0.75rem);
    border-bottom: 1px solid var(--color-border-light, #eee);
    vertical-align: middle;
}.mail-table--extra tbody tr:hover
{
    background: var(--color-bg-hover, #fafafa);
}/* Математический расчет для desktop:
 * - Максимальная ширина контейнера: 1400px
 * - Padding контейнера: 24px × 2 = 48px
 * - Доступная ширина: 1400 - 48 = 1352px
 * - Количество иконок: 8
 * - Gap между иконками: 16px (var(--space-4))
 * - Количество gaps: 7
 * - Общий gap: 7 × 16 = 112px
 * - Ширина для иконок: 1352 - 112 = 1240px
 * - Ширина одной иконки: 1240 ÷ 8 = 155px
 * - Для комфорта используем: 140px (оставляет запас)
 *//* Математический расчет для 4 колонок:
     * - gap между элементами = var(--space-2) = 8px
     * - Между 4 элементами = 3 gap'а = 3 * 8px = 24px
     * - Ширина одного элемента = (100% - 24px) / 4 = calc((100% - 3 * var(--space-2)) / 4)
     *//* Навигация внутри модального окна (десктоп - 2 колонки)
     * Расчет: (100% - 1 * var(--space-2)) / 2 = calc((100% - var(--space-2)) / 2)
     *//* 
     * МАТЕМАТИЧЕСКИЙ РАСЧЕТ ДЛЯ ДЕСКТОПА (min-width: 1024px, 4 колонки):
     * - Минимальная ширина экрана: 1024px
     * - Padding контейнера (предположительно): 20px * 2 = 40px
     * - Доступная ширина: 1024 - 40 = 984px
     * - Gap между элементами: 12px * 3 промежутка = 36px
     * - Ширина для 4 кнопок: (984 - 36) / 4 = 237px
     * - Max-width кнопки: 237px (border уже учтен в box-sizing: border-box)
     */.table-responsive
{
        margin: var(--space-6) 0;
    }.user-table .student-index-cell
{
        width: 3%;
        min-width: 36px;
        padding: var(--space-md) var(--space-2);
        font-size: var(--text-base);
    }.user-table .student-name-cell
{
        width: 73%;
        padding: var(--space-md) var(--space-lg);
        min-width: 200px;
        font-size: var(--text-base);
    }.user-table .student-status-cell
{
        width: 8%;
        min-width: 44px;
        padding: var(--space-md) var(--space-2);
    }.user-table .student-payment-cell
{
        width: 8%;
        min-width: 44px;
        padding: var(--space-md) var(--space-2);
    }.user-table .student-credentials-cell
{
        width: 8%;
        min-width: 44px;
        padding: var(--space-md) var(--space-2);
    }.user-table .student-status-cell > .status-icon, .user-table .student-payment-cell > .payment-link:not(.payment-link-mobile), .user-table .student-credentials-cell > .login-pass-link:not(.login-pass-link-mobile)
{
        display: inline-flex;
    }h3 + .table-responsive
{
        margin-top: var(--space-lg);
    }.user-table.table-2cols th
{
        width: calc(28% - var(--space-2));
        min-width: 120px;
    }.user-table.table-2cols td
{
        width: calc(72% - var(--space-2));
    }.user-table.table-5cols th:nth-child(1), .user-table.table-5cols td:nth-child(1)
{
        width: calc(35% - var(--space-2));
        min-width: 150px;
    }.user-table.table-5cols th:nth-child(2), .user-table.table-5cols td:nth-child(2)
{
        width: calc(5% - var(--space-1));
        min-width: 40px;
        text-align: center;
    }.user-table.table-5cols th:nth-child(3), .user-table.table-5cols td:nth-child(3)
{
        width: calc(25% - var(--space-2));
        min-width: 120px;
    }.user-table.table-5cols th:nth-child(4), .user-table.table-5cols td:nth-child(4)
{
        width: calc(15% - var(--space-2));
        min-width: 100px;
    }.user-table.table-5cols th:nth-child(5), .user-table.table-5cols td:nth-child(5)
{
        width: calc(20% - var(--space-2));
        min-width: 140px;
    }.user-table.table-4cols th:nth-child(1), .user-table.table-4cols td:nth-child(1)
{
        width: calc(40% - var(--space-2));
        min-width: 150px;
    }.user-table.table-4cols th:nth-child(2), .user-table.table-4cols td:nth-child(2)
{
        width: calc(5% - var(--space-1));
        min-width: 40px;
        text-align: center;
    }.user-table.table-4cols th:nth-child(3), .user-table.table-4cols td:nth-child(3)
{
        width: calc(30% - var(--space-2));
        min-width: 120px;
    }.user-table.table-4cols th:nth-child(4), .user-table.table-4cols td:nth-child(4)
{
        width: calc(25% - var(--space-2));
        min-width: 100px;
    }.user-table.table-7cols th:nth-child(1), .user-table.table-7cols td:nth-child(1)
{
        width: calc(10% - var(--space-1));
        min-width: 80px;
    }.user-table.table-7cols th:nth-child(2), .user-table.table-7cols td:nth-child(2)
{
        width: calc(12% - var(--space-1));
        min-width: 90px;
    }.user-table.table-7cols th:nth-child(3), .user-table.table-7cols td:nth-child(3)
{
        width: calc(20% - var(--space-2));
        min-width: 120px;
    }.user-table.table-7cols th:nth-child(4), .user-table.table-7cols td:nth-child(4)
{
        width: calc(12% - var(--space-1));
        min-width: 90px;
    }.user-table.table-7cols th:nth-child(5), .user-table.table-7cols td:nth-child(5)
{
        width: calc(18% - var(--space-2));
        min-width: 110px;
    }.user-table.table-7cols th:nth-child(6), .user-table.table-7cols td:nth-child(6)
{
        width: calc(18% - var(--space-2));
        min-width: 110px;
    }.user-table.table-7cols th:nth-child(7), .user-table.table-7cols td:nth-child(7)
{
        width: calc(10% - var(--space-1));
        min-width: 80px;
    }.user-table.table-header-actions th
{
        width: calc(70% - var(--space-2));
        min-width: 300px;
    }.user-table.table-header-actions th h2
{
        margin: 0;
    }.user-table.table-header-actions td
{
        width: calc(30% - var(--space-2));
        min-width: 200px;
        text-align: right;
    }.user-table.table-info-block td
{
        padding: var(--space-3);
        background: var(--bg-secondary);
        border-radius: var(--radius-md);
    }.user-table.table-3cols th:nth-child(1), .user-table.table-3cols td:nth-child(1)
{
        width: calc(60% - var(--space-2));
        min-width: 200px;
    }.user-table.table-3cols th:nth-child(2), .user-table.table-3cols td:nth-child(2)
{
        width: calc(20% - var(--space-2));
        min-width: 100px;
    }.user-table.table-3cols th:nth-child(3), .user-table.table-3cols td:nth-child(3)
{
        width: calc(20% - var(--space-2));
        min-width: 120px;
    }.user-table.table-4cols-params th:nth-child(1), .user-table.table-4cols-params td:nth-child(1)
{
        width: calc(25% - var(--space-2));
        min-width: 120px;
    }.user-table.table-4cols-params th:nth-child(2), .user-table.table-4cols-params td:nth-child(2)
{
        width: calc(30% - var(--space-2));
        min-width: 140px;
    }.user-table.table-4cols-params th:nth-child(3), .user-table.table-4cols-params td:nth-child(3)
{
        width: calc(20% - var(--space-2));
        min-width: 100px;
    }.user-table.table-4cols-params th:nth-child(4), .user-table.table-4cols-params td:nth-child(4)
{
        width: calc(25% - var(--space-2));
        min-width: 120px;
    }.user-table.table-header-actions th
{
        width: calc(70% - var(--space-2));
        min-width: 300px;
    }.user-table.table-header-actions td
{
        width: calc(30% - var(--space-2));
        min-width: 200px;
        text-align: right;
    }.user-table.table-info-block td
{
        width: 100%;
        padding: var(--space-4);
    }.user-table.table-student-list th.tbl__col--id, .user-table.table-student-list td.tbl__col--id
{
        width: calc(10% - var(--space-1));
        min-width: 50px;
        text-align: left;
    }.user-table.table-student-list th:nth-child(2), .user-table.table-student-list td:nth-child(2)
{
        width: calc(90% - var(--space-1));
        min-width: 200px;
    }.user-table.table-header-actions td
{
        width: calc(50% - var(--space-2));
        text-align: center;
    }.table-action-btn
{
        width: 34px;
        height: 34px;
    }.user-table .action-icon, .user-table#hero-team-table .action-icon
{
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
    }.user-table .action-icon i, .user-table#hero-team-table .action-icon i
{
        width: 14px !important;
        height: 14px !important;
    }.user-table#csrf-pages-table
{
        min-width: 320px;
    }.user-table#csrf-pages-table th:nth-child(1), .user-table#csrf-pages-table td:nth-child(1)
{
        min-width: 150px;
    }.user-table#csrf-pages-table th:nth-child(2), .user-table#csrf-pages-table td:nth-child(2)
{
        min-width: 100px;
    }.user-table#csrf-pages-table th:nth-child(3), .user-table#csrf-pages-table td:nth-child(3)
{
        min-width: 80px;
    }.user-table#csrf-ips-table
{
        min-width: 400px;
    }.user-table#csrf-ips-table th:nth-child(1), .user-table#csrf-ips-table td:nth-child(1)
{
        min-width: 120px;
    }.user-table#csrf-ips-table th:nth-child(2), .user-table#csrf-ips-table td:nth-child(2), .user-table#csrf-ips-table th:nth-child(3), .user-table#csrf-ips-table td:nth-child(3)
{
        min-width: 80px;
    }.user-table#csrf-ips-table th:nth-child(4), .user-table#csrf-ips-table td:nth-child(4)
{
        min-width: 90px;
    }.user-table#csrf-time-table
{
        min-width: 320px;
    }.user-table#csrf-time-table th:nth-child(1), .user-table#csrf-time-table td:nth-child(1)
{
        min-width: 70px;
    }.user-table#csrf-time-table th:nth-child(2), .user-table#csrf-time-table td:nth-child(2)
{
        min-width: 80px;
    }.user-table#csrf-time-table th:nth-child(3), .user-table#csrf-time-table td:nth-child(3)
{
        min-width: 150px;
    }.user-table#csrf-reports-table
{
        min-width: 600px;
    }.user-table#csrf-reports-table th:nth-child(1), .user-table#csrf-reports-table td:nth-child(1)
{
        min-width: 120px;
    }.user-table#csrf-reports-table th:nth-child(2), .user-table#csrf-reports-table td:nth-child(2)
{
        min-width: 130px;
    }.user-table#csrf-reports-table th:nth-child(3), .user-table#csrf-reports-table td:nth-child(3)
{
        min-width: 70px;
    }.user-table#csrf-reports-table th:nth-child(4), .user-table#csrf-reports-table td:nth-child(4)
{
        min-width: 80px;
    }.user-table#csrf-reports-table th:nth-child(5), .user-table#csrf-reports-table td:nth-child(5)
{
        min-width: 75px;
    }.user-table#csrf-reports-table th:nth-child(6), .user-table#csrf-reports-table td:nth-child(6)
{
        min-width: 100px;
    }.user-table#csrf-debug-table
{
        min-width: 400px;
    }.user-table#csrf-debug-table th:nth-child(1), .user-table#csrf-debug-table td:nth-child(1)
{
        min-width: 150px;
    }.user-table#csrf-debug-table th:nth-child(2), .user-table#csrf-debug-table td:nth-child(2)
{
        min-width: 80px;
    }.user-table#csrf-debug-table th:nth-child(3), .user-table#csrf-debug-table td:nth-child(3)
{
        min-width: 120px;
    }.user-table#csrf-debug-table th:nth-child(4), .user-table#csrf-debug-table td:nth-child(4)
{
        min-width: 70px;
    }.user-table#students-verified-table, .user-table#students-pending-table
{
        min-width: 400px;
    }.user-table#students-verified-table th:nth-child(1), .user-table#students-verified-table td:nth-child(1), .user-table#students-pending-table th:nth-child(1), .user-table#students-pending-table td:nth-child(1), .user-table#students-verified-table th:nth-child(2), .user-table#students-verified-table td:nth-child(2), .user-table#students-pending-table th:nth-child(2), .user-table#students-pending-table td:nth-child(2)
{
        min-width: 150px;
    }.user-table#students-verified-table th:nth-child(3), .user-table#students-verified-table td:nth-child(3), .user-table#students-pending-table th:nth-child(3), .user-table#students-pending-table td:nth-child(3)
{
        min-width: 200px;
    }table#student-cost-table
{
        min-width: 740px;
    }table#student-cost-table th.tbl__col--id, table#student-cost-table td.tbl__col--id
{
        min-width: 40px;
        max-width: 50px;
    }table#student-cost-table th:nth-child(2), table#student-cost-table td:nth-child(2)
{
        min-width: 104px;
    }table#student-cost-table th:nth-child(3), table#student-cost-table td:nth-child(3)
{
        min-width: 112px;
    }table#student-cost-table th:nth-child(5), table#student-cost-table td:nth-child(5)
{
        min-width: 100px;
    }table#student-cost-table th:nth-child(4), table#student-cost-table td:nth-child(4)
{
        min-width: 96px;
    }table#student-cost-table thead th:nth-child(6).tbl__col--actions-group
{
        min-width: 320px;
    }/* 6=обновить | 7=файл | 8–12=icon-only действия (см. основной блок desktop) */table#student-cost-table tbody td:nth-child(6)
{
        min-width: 44px;
    }table#student-cost-table tbody td:nth-child(7)
{
        min-width: 4.75rem;
    }table#student-cost-table tbody td:nth-child(8), table#student-cost-table tbody td:nth-child(9), table#student-cost-table tbody td:nth-child(10), table#student-cost-table tbody td:nth-child(11), table#student-cost-table tbody td:nth-child(12)
{
        min-width: 3.5rem;
    }table#student-cost-view-table
{
        min-width: 700px;
    }table#student-cost-view-table th.tbl__col--id, table#student-cost-view-table td.tbl__col--id
{
        min-width: 40px;
        max-width: 48px;
    }table#student-cost-view-table th:nth-child(2), table#student-cost-view-table td:nth-child(2)
{
        min-width: 100px;
    }table#student-cost-view-table th:nth-child(3), table#student-cost-view-table td:nth-child(3), table#student-cost-view-table th:nth-child(4), table#student-cost-view-table td:nth-child(4), table#student-cost-view-table th:nth-child(6), table#student-cost-view-table td:nth-child(6)
{
        min-width: 120px;
    }table#student-cost-view-table th:nth-child(5), table#student-cost-view-table td:nth-child(5)
{
        min-width: 100px;
    }table#student-cost-view-table th:nth-child(7), table#student-cost-view-table td:nth-child(7)
{
        min-width: 150px;
    }/* ТАБЛИЦЫ СТАТУСОВ - DESKTOP */.status-actions-table
{
        width: 100%;
    }.status-actions-table tr
{
        display: flex;
        gap: var(--space-2);
    }.status-actions-table td
{
        width: 25%;
        flex: 1;
    }.status-actions-table .btn, .status-actions-table button
{
        min-width: 100% !important;
        max-width: 100% !important;
        justify-content: center;
        text-align: center;
    }.table-desktop
{
        display: none !important;
    }.table-mobile
{
        display: block;
        width: 100%;
    }.user-table .action-icon, .user-table#hero-team-table .action-icon
{
        width: 28px !important;
        height: 28px !important;
        font-size: var(--text-sm) !important;
        background: none !important;
        box-shadow: none !important;
        border: none !important;
        min-width: 28px !important;
    }.user-table .action-icon i, .user-table#hero-team-table .action-icon i
{
        width: 14px !important;
        height: 14px !important;
        font-size: var(--text-sm) !important;
    }.user-table .copy-target i
{
        font-size: var(--text-xs);
    }.user-table .copy-all-btn
{
        padding: var(--space-1) var(--space-2);
        font-size: var(--text-xs);
    }.links-table td
{
        padding: var(--space-3) var(--space-md);
        font-size: var(--text-sm);
    }.user-table.documents-table
{
        font-size: var(--text-sm);
    }.user-table.documents-table th
{
        font-size: var(--text-base);
    }.user-table.documents-table td
{
        font-size: var(--text-sm);
    }.user-table.documents-table th:nth-child(6), .user-table.documents-table td:nth-child(6)
{
        width: 50px;
        min-width: 50px;
        padding: var(--space-2);
    }.user-table.documents-table th:nth-child(5), .user-table.documents-table td:nth-child(5)
{
        width: 50px;
        min-width: 50px;
        padding: var(--space-2);
    }.user-table.documents-table th:nth-child(4), .user-table.documents-table td:nth-child(4)
{
        width: 50px;
        min-width: 50px;
        padding: var(--space-2);
    }.user-table.documents-table th:nth-child(3), .user-table.documents-table td:nth-child(3)
{
        width: 50px;
        min-width: 50px;
        padding: var(--space-2);
    }.user-table.documents-table th:nth-child(2), .user-table.documents-table td:nth-child(2)
{
        width: 120px;
        min-width: 80px;
    }.user-table.documents-table th:nth-child(1), .user-table.documents-table td:nth-child(1)
{
        width: auto;
        min-width: 100px;
    }.user-table.documents-table .status-badge
{
        font-size: var(--text-xs) !important;
        padding: 4px 8px;
        line-height: 1.2 !important;
    }.user-table.documents-table .status-badge i
{
        font-size: var(--text-xs);
        display: inline-block;
    }.footer-lang-table
{
        max-width: 100% !important;
        margin: 0 !important;
    }/* Математический расчет для 2 колонок:
     * - gap между элементами = var(--space-2) = 8px
     * - Между 2 элементами = 1 gap = 8px
     * - Ширина одного элемента = (100% - 8px) / 2 = calc((100% - var(--space-2)) / 2)
     *//* 
     * МАТЕМАТИЧЕСКИЙ РАСЧЕТ ДЛЯ МОБИЛЬНЫХ (max-width: 767px, 2 колонки):
     * - Максимальная ширина экрана: 767px
     * - Padding контейнера: 12px * 2 = 24px
     * - Доступная ширина: 767 - 24 = 743px
     * - Gap между элементами: 8px * 1 промежуток = 8px
     * - Ширина для 2 кнопок: (743 - 8) / 2 = 367.5px ≈ 367px
     * - Max-width кнопки: 367px (border уже учтен в box-sizing: border-box)
     */.table-responsive
{
        margin: var(--space-4) 0;
        padding: 0;
    }.user-table .student-index-cell
{
        width: 5%;
        min-width: 28px;
        padding: var(--space-2) var(--space-1);
        font-size: var(--text-sm);
    }.user-table .student-name-cell
{
        width: 63%;
        padding: var(--space-2) var(--space-3);
        min-width: 150px;
        font-size: var(--text-sm);
    }.user-table .student-status-cell
{
        width: 10%;
        min-width: 40px;
        padding: var(--space-2);
    }.user-table .student-payment-cell
{
        width: 11%;
        min-width: 40px;
        padding: var(--space-2);
    }.user-table .student-credentials-cell
{
        width: 11%;
        min-width: 40px;
        padding: var(--space-2);
    }h3 + .table-responsive
{
        margin-top: var(--space-md);
    }.user-table .student-status-cell > .status-icon, .user-table .student-payment-cell > .payment-link:not(.payment-link-mobile), .user-table .student-credentials-cell > .login-pass-link:not(.login-pass-link-mobile)
{
        display: none;
    }.uni-table
{
        font-size: calc(var(--text-base) * 0.75);
        min-width: calc(var(--text-xs) * 50);
    }.uni-table-header th
{
        padding: calc(var(--space-2) + 2px) var(--space-1);
        font-size: calc(var(--text-base) * 0.75);
    }.uni-table td
{
        padding: calc(var(--space-2) + 2px) var(--space-1);
        font-size: calc(var(--text-base) * 0.75);
    }.uni-table th:nth-child(1), .uni-table td:nth-child(1)
{ min-width: calc(var(--text-xs) * 20);
        max-width: calc(var(--text-xs) * 30);
        width: 23%;
    }.uni-table th:nth-child(2), .uni-table td:nth-child(2)
{ min-width: calc(var(--text-xs) * 7);
        width: 8%;
    }.uni-table th:nth-child(3), .uni-table td:nth-child(3)
{ min-width: calc(var(--text-xs) * 4);
        width: 6%;
    }.uni-table th:nth-child(4), .uni-table td:nth-child(4)
{ min-width: calc(var(--text-xs) * 12);
        max-width: calc(var(--text-xs) * 22);
        width: 18%;
    }.uni-table th:nth-child(5), .uni-table td:nth-child(5)
{ min-width: calc(var(--text-xs) * 7);
        width: 10%;
    }.uni-table th:nth-child(6), .uni-table td:nth-child(6)
{ min-width: calc(var(--text-xs) * 6);
        width: 8%;
    }.uni-table th:nth-child(7), .uni-table td:nth-child(7)
{ min-width: calc(var(--space-10) * 1.75);
        width: 13%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(1), .uni-table:has(th:nth-child(9)) td:nth-child(1)
{ min-width: calc(var(--space-10) * 0.9);
        width: 3%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(2), .uni-table:has(th:nth-child(9)) td:nth-child(2)
{ min-width: calc(var(--text-xs) * 15);
        max-width: calc(var(--text-xs) * 25);
        width: 20%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(3), .uni-table:has(th:nth-child(9)) td:nth-child(3)
{ min-width: calc(var(--text-xs) * 8);
        width: 8%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(4), .uni-table:has(th:nth-child(9)) td:nth-child(4)
{ min-width: calc(var(--text-xs) * 6);
        width: 6%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(5), .uni-table:has(th:nth-child(9)) td:nth-child(5)
{ min-width: calc(var(--text-xs) * 4);
        width: 5%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(6), .uni-table:has(th:nth-child(9)) td:nth-child(6)
{ min-width: calc(var(--text-xs) * 10);
        max-width: calc(var(--text-xs) * 18);
        width: 16%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(7), .uni-table:has(th:nth-child(9)) td:nth-child(7)
{ min-width: calc(var(--text-xs) * 2.5);
        width: 4%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(8), .uni-table:has(th:nth-child(9)) td:nth-child(8)
{ min-width: calc(var(--text-xs) * 5);
        width: 6%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(9), .uni-table:has(th:nth-child(9)) td:nth-child(9)
{ min-width: calc(var(--text-xs) * 6);
        width: 8%;
    }.uni-table-container
{
        margin: 0 calc(var(--space-5) * -1);
        border-radius: 0;
    }.table-container .exam-students-table
{
        width: 100%;
    }/* 
     * Математические расчеты для Mobile (≤767px):
     * - ФИО: до 30 символов × 10px/символ (уменьшенный шрифт) = 300px → min 200px
     * - Университет: 6 символов × 10px/символ = 60px → min 60px
     * - Уровень: 8 символов × 10px/символ = 80px → min 80px
     * - Специальность: до 40 символов × 10px/символ = 400px → min 280px
     * - Экзамен: до 25 символов × 10px/символ = 250px → min 180px
     * - Действия: кнопка 44px + отступы 8px = 52px → min 55px
     * Итого min-width: 200 + 60 + 80 + 280 + 180 + 55 = 855px
     */.table-container .exam-students-table col.col-name:nth-of-type(1)
{ width: 26%;
        min-width: 200px;
    }.table-container .exam-students-table col.col-name:nth-of-type(2)
{ width: 6%;
        min-width: 60px;
    }.table-container .exam-students-table col.col-name:nth-of-type(3)
{ width: 7%;
        min-width: 80px;
    }.table-container .exam-students-table col.col-name:nth-of-type(4)
{ width: 32%;
        min-width: 280px;
    }.table-container .exam-students-table col.col-name:nth-of-type(5)
{ width: 21%;
        min-width: 180px;
    }.table-container .exam-students-table col.col-action-1
{ width: 8%;
        min-width: 55px;
    }#exam_students_table th, #exam_students_table td
{
        padding: var(--space-2) var(--space-1);
        font-size: calc(var(--text-base) * 0.8125);
    }#exam_students_table th:nth-child(2), #exam_students_table td:nth-child(2)
{
        padding: var(--space-2) var(--space-2);
    }.deferred-actions-table col.col-phone
{
        width: clamp(calc(var(--space-16) * 1.2), 25%, calc(var(--space-16) * 2));
    }.deferred-actions-table col.col-time
{
        width: clamp(calc(var(--space-16) * 1.5), 35%, calc(var(--space-16) * 2.5));
    }.deferred-actions-table col.col-action-1, .deferred-actions-table col.col-action-2
{
        width: clamp(calc(var(--space-12) * 1), 20%, calc(var(--space-16) * 1.2));
    }.table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-phone
{
        width: clamp(calc(var(--space-16) * 1.2), 25%, calc(var(--space-16) * 1.8));
    }.table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-docs
{
        width: clamp(calc(var(--space-16) * 1.2), 30%, calc(var(--space-16) * 3));
    }.table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-date
{
        width: clamp(calc(var(--space-16) * 1.5), 25%, calc(var(--space-16) * 2.5));
    }.table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-retries
{
        width: clamp(calc(var(--space-10) * 1), 8%, calc(var(--space-16) * 1));
    }.table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-status
{
        width: clamp(calc(var(--space-16) * 1), 12%, calc(var(--space-16) * 1.8));
    }.table-container > table.delayed-emails-table:not(.deferred-actions-table) col.col-name
{
        width: clamp(calc(var(--space-16) * 2), 40%, calc(var(--space-16) * 4));
    }.table-container > table.delayed-emails-table:not(.deferred-actions-table) col.col-university
{
        width: clamp(calc(var(--space-16) * 1.2), 30%, calc(var(--space-16) * 2.5));
    }.table-container > table.delayed-emails-table:not(.deferred-actions-table) col.col-time
{
        width: clamp(calc(var(--space-16) * 1.5), 25%, calc(var(--space-16) * 2.5));
    }.deferred-actions-table th, .deferred-actions-table td
{
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-sm);
    }.table-container > table.sms-queue-table th, .table-container > table.sms-queue-table td, .table-container > table.delayed-emails-table th, .table-container > table.delayed-emails-table td
{
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-sm);
    }.deferred-actions-table thead, .sms-queue-table thead, .delayed-emails-table thead
{
        display: none !important;
    }.deferred-actions-table, .sms-queue-table, .delayed-emails-table
{
        display: block !important;
        width: 100% !important;
    }.deferred-actions-table tbody, .sms-queue-table tbody, .delayed-emails-table tbody
{
        display: block !important;
        width: 100% !important;
    }.deferred-actions-table tbody tr, .sms-queue-table tbody tr, .delayed-emails-table tbody tr
{
        display: block !important;
        width: 100% !important;
        margin-bottom: var(--space-4) !important;
        padding: var(--space-3) !important;
        background-color: var(--bg-primary) !important;
        border: 1px solid var(--border-light) !important;
        border-radius: var(--radius-md) !important;
        box-shadow: var(--shadow-sm) !important;
    }.deferred-actions-table tbody tr td, .sms-queue-table tbody tr td, .delayed-emails-table tbody tr td
{
        display: block !important;
        width: 100% !important;
        padding: var(--space-2) 0 !important;
        text-align: left !important;
        border: none !important;
        border-bottom: 1px solid var(--border-light) !important;
    }.deferred-actions-table tbody tr td:last-child, .sms-queue-table tbody tr td:last-child, .delayed-emails-table tbody tr td:last-child
{
        border-bottom: none !important;
    }.deferred-actions-table tbody tr.message-content-row
{
        margin-top: calc(var(--space-2) * -1) !important;
        border-top: 2px solid var(--primary) !important;
    }.deferred-actions-table tbody tr.message-content-row td.message-content-cell
{
        padding-top: var(--space-3) !important;
    }.deferred-actions-table tbody tr.message-content-row td.message-content-cell::before
{
        content: attr(data-label) ": " !important;
        display: block !important;
        margin-bottom: var(--space-2) !important;
    }.deferred-actions-table tbody tr td.message-actions .btn
{
        min-width: 100% !important;
        display: block !important;
    }.deferred-actions-table colgroup, .sms-queue-table colgroup, .delayed-emails-table colgroup
{
        display: none !important;
    }.user-table.table-2cols
{
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }.user-table.table-2cols thead, .user-table.table-2cols tbody, .user-table.table-2cols tr, .user-table.table-2cols th, .user-table.table-2cols td
{
        display: block;
    }.user-table.table-2cols thead
{
        display: none;
    }.user-table.table-2cols tr
{
        margin-bottom: var(--space-4);
        border: 1px solid var(--border-light);
        border-radius: var(--radius-md);
        padding: var(--space-3);
        background: var(--bg-primary);
    }.user-table.table-2cols th, .user-table.table-2cols td
{
        border: none;
        padding: var(--space-2) 0;
        text-align: left;
        width: 100%;
    }.user-table.table-2cols th
{
        font-weight: 600;
        color: var(--text-dark);
        margin-bottom: var(--space-1);
    }.user-table.table-5cols
{
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }.user-table.table-5cols th:nth-child(1), .user-table.table-5cols td:nth-child(1)
{
        min-width: clamp(120px, calc(30vw - var(--space-2)), 200px);
    }.user-table.table-5cols th:nth-child(2), .user-table.table-5cols td:nth-child(2)
{
        min-width: 40px;
    }.user-table.table-5cols th:nth-child(3), .user-table.table-5cols td:nth-child(3)
{
        min-width: clamp(100px, calc(25vw - var(--space-2)), 180px);
    }.user-table.table-5cols th:nth-child(4), .user-table.table-5cols td:nth-child(4)
{
        min-width: clamp(80px, calc(15vw - var(--space-2)), 120px);
    }.user-table.table-5cols th:nth-child(5), .user-table.table-5cols td:nth-child(5)
{
        min-width: clamp(120px, calc(20vw - var(--space-2)), 180px);
    }.user-table.table-4cols
{
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }.user-table.table-4cols th:nth-child(1), .user-table.table-4cols td:nth-child(1)
{
        min-width: clamp(130px, calc(35vw - var(--space-2)), 220px);
    }.user-table.table-4cols th:nth-child(2), .user-table.table-4cols td:nth-child(2)
{
        min-width: 40px;
    }.user-table.table-4cols th:nth-child(3), .user-table.table-4cols td:nth-child(3)
{
        min-width: clamp(110px, calc(28vw - var(--space-2)), 190px);
    }.user-table.table-4cols th:nth-child(4), .user-table.table-4cols td:nth-child(4)
{
        min-width: clamp(90px, calc(22vw - var(--space-2)), 150px);
    }.user-table.table-7cols
{
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }.user-table.table-7cols th:nth-child(1), .user-table.table-7cols td:nth-child(1)
{
        min-width: clamp(70px, calc(10vw - var(--space-1)), 100px);
    }.user-table.table-7cols th:nth-child(2), .user-table.table-7cols td:nth-child(2)
{
        min-width: clamp(80px, calc(12vw - var(--space-1)), 110px);
    }.user-table.table-7cols th:nth-child(3), .user-table.table-7cols td:nth-child(3)
{
        min-width: clamp(100px, calc(18vw - var(--space-2)), 150px);
    }.user-table.table-7cols th:nth-child(4), .user-table.table-7cols td:nth-child(4)
{
        min-width: clamp(80px, calc(12vw - var(--space-1)), 110px);
    }.user-table.table-7cols th:nth-child(5), .user-table.table-7cols td:nth-child(5)
{
        min-width: clamp(90px, calc(16vw - var(--space-2)), 130px);
    }.user-table.table-7cols th:nth-child(6), .user-table.table-7cols td:nth-child(6)
{
        min-width: clamp(90px, calc(16vw - var(--space-2)), 130px);
    }.user-table.table-7cols th:nth-child(7), .user-table.table-7cols td:nth-child(7)
{
        min-width: clamp(70px, calc(10vw - var(--space-1)), 100px);
    }.user-table.table-3cols
{
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }.user-table.table-3cols th:nth-child(1), .user-table.table-3cols td:nth-child(1)
{
        min-width: clamp(180px, calc(55vw - var(--space-2)), 250px);
    }.user-table.table-3cols th:nth-child(2), .user-table.table-3cols td:nth-child(2)
{
        min-width: clamp(90px, calc(20vw - var(--space-2)), 130px);
    }.user-table.table-3cols th:nth-child(3), .user-table.table-3cols td:nth-child(3)
{
        min-width: clamp(110px, calc(20vw - var(--space-2)), 150px);
    }.user-table.table-4cols-params
{
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }.user-table.table-4cols-params th:nth-child(1), .user-table.table-4cols-params td:nth-child(1)
{
        min-width: clamp(110px, calc(23vw - var(--space-2)), 150px);
    }.user-table.table-4cols-params th:nth-child(2), .user-table.table-4cols-params td:nth-child(2)
{
        min-width: clamp(130px, calc(28vw - var(--space-2)), 180px);
    }.user-table.table-4cols-params th:nth-child(3), .user-table.table-4cols-params td:nth-child(3)
{
        min-width: clamp(90px, calc(18vw - var(--space-2)), 130px);
    }.user-table.table-4cols-params th:nth-child(4), .user-table.table-4cols-params td:nth-child(4)
{
        min-width: clamp(110px, calc(23vw - var(--space-2)), 150px);
    }.user-table.table-header-actions
{
        display: block;
    }.user-table.table-header-actions thead, .user-table.table-header-actions tbody, .user-table.table-header-actions tr, .user-table.table-header-actions th, .user-table.table-header-actions td
{
        display: block;
    }.user-table.table-header-actions th
{
        width: 100%;
        margin-bottom: var(--space-3);
    }.user-table.table-header-actions th h2
{
        font-size: clamp(calc(var(--text-base) * 1.125), calc(var(--text-base) * 1.25), calc(var(--text-base) * 1.375));
    }.user-table.table-header-actions td
{
        width: 100%;
        text-align: left;
    }.user-table.table-info-block
{
        display: block;
    }.user-table.table-info-block tr, .user-table.table-info-block td
{
        display: block;
        width: 100%;
    }.user-table.table-info-block td
{
        padding: var(--space-2);
        font-size: calc(var(--text-base) * 0.875);
    }.user-table.table-student-list
{
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }.user-table.table-student-list th.tbl__col--id, .user-table.table-student-list td.tbl__col--id
{
        min-width: 50px;
    }.user-table.table-student-list th:nth-child(2), .user-table.table-student-list td:nth-child(2)
{
        min-width: clamp(200px, calc(85vw - var(--space-1)), 300px);
    }.user-table.table-header-actions td
{
        text-align: center;
        margin-top: var(--space-2);
    }.user-table.table-header-actions td:first-child
{
        margin-top: 0;
    }/* Кнопка действия в таблице - 76% от desktop (34px * 0.76 = 26px) */.table-action-btn
{
        width: 26px;
        height: 26px;
    }/* Иконки действий в таблицах .user-table - 71% от desktop (28px * 0.71 = 20px) */.user-table .action-icon, .user-table#hero-team-table .action-icon
{
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
    }.user-table .action-icon i, .user-table#hero-team-table .action-icon i
{
        width: 10px !important;
        height: 10px !important;
    }/* CSRF Pages Table - 72% от desktop (320px * 0.72 = 230px) */.user-table#csrf-pages-table
{
        min-width: 230px;
    }.user-table#csrf-pages-table th:nth-child(1), .user-table#csrf-pages-table td:nth-child(1)
{
        min-width: 108px;
    }.user-table#csrf-pages-table th:nth-child(2), .user-table#csrf-pages-table td:nth-child(2)
{
        min-width: 72px;
    }.user-table#csrf-pages-table th:nth-child(3), .user-table#csrf-pages-table td:nth-child(3)
{
        min-width: 58px;
    }/* CSRF IPs Table - 75% от desktop (400px * 0.75 = 300px) */.user-table#csrf-ips-table
{
        min-width: 300px;
    }.user-table#csrf-ips-table th:nth-child(1), .user-table#csrf-ips-table td:nth-child(1)
{
        min-width: 90px;
    }.user-table#csrf-ips-table th:nth-child(2), .user-table#csrf-ips-table td:nth-child(2), .user-table#csrf-ips-table th:nth-child(3), .user-table#csrf-ips-table td:nth-child(3)
{
        min-width: 60px;
    }.user-table#csrf-ips-table th:nth-child(4), .user-table#csrf-ips-table td:nth-child(4)
{
        min-width: 68px;
    }/* CSRF Time Table - 72% от desktop (320px * 0.72 = 230px) */.user-table#csrf-time-table
{
        min-width: 230px;
    }.user-table#csrf-time-table th:nth-child(1), .user-table#csrf-time-table td:nth-child(1)
{
        min-width: 50px;
    }.user-table#csrf-time-table th:nth-child(2), .user-table#csrf-time-table td:nth-child(2)
{
        min-width: 57px;
    }.user-table#csrf-time-table th:nth-child(3), .user-table#csrf-time-table td:nth-child(3)
{
        min-width: 107px;
    }/* CSRF Reports Table - 75% от desktop (600px * 0.75 = 450px) */.user-table#csrf-reports-table
{
        min-width: 450px;
    }.user-table#csrf-reports-table th:nth-child(1), .user-table#csrf-reports-table td:nth-child(1)
{
        min-width: 90px;
    }.user-table#csrf-reports-table th:nth-child(2), .user-table#csrf-reports-table td:nth-child(2)
{
        min-width: 98px;
    }.user-table#csrf-reports-table th:nth-child(3), .user-table#csrf-reports-table td:nth-child(3)
{
        min-width: 53px;
    }.user-table#csrf-reports-table th:nth-child(4), .user-table#csrf-reports-table td:nth-child(4)
{
        min-width: 60px;
    }.user-table#csrf-reports-table th:nth-child(5), .user-table#csrf-reports-table td:nth-child(5)
{
        min-width: 56px;
    }.user-table#csrf-reports-table th:nth-child(6), .user-table#csrf-reports-table td:nth-child(6)
{
        min-width: 75px;
    }/* CSRF Debug Table - 75% от desktop (400px * 0.75 = 300px) */.user-table#csrf-debug-table
{
        min-width: 300px;
    }.user-table#csrf-debug-table th:nth-child(1), .user-table#csrf-debug-table td:nth-child(1)
{
        min-width: 113px;
    }.user-table#csrf-debug-table th:nth-child(2), .user-table#csrf-debug-table td:nth-child(2)
{
        min-width: 60px;
    }.user-table#csrf-debug-table th:nth-child(3), .user-table#csrf-debug-table td:nth-child(3)
{
        min-width: 90px;
    }.user-table#csrf-debug-table th:nth-child(4), .user-table#csrf-debug-table td:nth-child(4)
{
        min-width: 53px;
    }/* Students Verified/Pending Tables - 75% от desktop (400px * 0.75 = 300px) */.user-table#students-verified-table, .user-table#students-pending-table
{
        min-width: 300px;
    }.user-table#students-verified-table th:nth-child(1), .user-table#students-verified-table td:nth-child(1), .user-table#students-pending-table th:nth-child(1), .user-table#students-pending-table td:nth-child(1), .user-table#students-verified-table th:nth-child(2), .user-table#students-verified-table td:nth-child(2), .user-table#students-pending-table th:nth-child(2), .user-table#students-pending-table td:nth-child(2)
{
        min-width: 113px;
    }.user-table#students-verified-table th:nth-child(3), .user-table#students-verified-table td:nth-child(3), .user-table#students-pending-table th:nth-child(3), .user-table#students-pending-table td:nth-child(3)
{
        min-width: 150px;
    }/* Student Cost View Table - mobile layout (4 + 3 columns) */table#student-cost-view-table
{
        width: 100%;
        min-width: 0;
    }table#student-cost-view-table thead, table#student-cost-view-table tbody
{
        display: block;
        width: 100%;
    }table#student-cost-view-table thead tr, table#student-cost-view-table tbody tr
{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: var(--space-2);
        width: 100%;
    }table#student-cost-view-table th, table#student-cost-view-table td
{
        min-width: 0;
        padding: var(--space-2) var(--space-3);
        white-space: normal;
        word-break: break-word;
        overflow-wrap: break-word;
    }table#student-cost-view-table td:nth-child(2), table#student-cost-view-table td:nth-child(4), table#student-cost-view-table td:nth-child(5)
{
        text-align: right;
    }table#student-cost-view-table td:nth-child(7) .btn
{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-1);
        width: 100%;
        padding: var(--space-2) var(--space-3);
        font-size: calc(var(--text-sm) * 0.9);
        white-space: normal;
    }/* ТАБЛИЦЫ СТАТУСОВ - MOBILE */.status-actions-table
{
        width: 100%;
    }.status-actions-table tr, .status-actions-table td
{
        display: block;
        width: 100%;
    }.status-actions-table .btn, .status-actions-table button
{
        width: 100% !important;
        max-width: 100% !important;
        text-align: center;
    }/* Математический расчет для 1 колонки:
     * - Один элемент занимает всю ширину = 100%
     * - gap не учитывается, так как элемент один
     *//* 
     * МАТЕМАТИЧЕСКИЙ РАСЧЕТ ДЛЯ МАЛЕНЬКИХ МОБИЛЬНЫХ (max-width: 480px, 1 колонка):
     * - Максимальная ширина экрана: 480px
     * - Padding контейнера: 8px * 2 = 16px
     * - Доступная ширина: 480 - 16 = 464px
     * - Gap: нет (1 колонка)
     * - Max-width кнопки: 464px (border уже учтен в box-sizing: border-box)
     */.table-responsive
{
        margin: var(--space-3) 0;
        padding: 0;
    }.user-table .student-index-cell
{
        width: 6%;
        min-width: 26px;
        padding: var(--space-1);
        font-size: var(--text-xs);
    }.user-table .student-name-cell
{
        width: 56%;
        padding: var(--space-2) var(--space-2);
        min-width: 120px;
        font-size: var(--text-xs);
    }.user-table .student-status-cell
{
        width: 12%;
        min-width: 36px;
        padding: var(--space-1);
    }.user-table .student-payment-cell
{
        width: 13%;
        min-width: 36px;
        padding: var(--space-1);
    }.user-table .student-credentials-cell
{
        width: 13%;
        min-width: 36px;
        padding: var(--space-1);
    }h3 + .table-responsive
{
        margin-top: var(--space-sm);
    }.uni-table
{
        font-size: calc(var(--text-base) * 0.6875); /* 11px = 16px * 0.6875 */
        min-width: calc(var(--text-xs) * 45); /* 540px = 12px * 45 символов - минимальная ширина для горизонтальной прокрутки */
    }.uni-table-header th
{
        padding: var(--space-2) var(--space-1);
        font-size: calc(var(--text-base) * 0.6875);
    }.uni-table td
{
        padding: var(--space-2) var(--space-1);
        font-size: calc(var(--text-base) * 0.6875);
    }.uni-table th:nth-child(1), .uni-table td:nth-child(1)
{ min-width: calc(var(--text-xs) * 18); /* 216px = 12px * 18 символов */
        max-width: calc(var(--text-xs) * 28); /* 336px = 12px * 28 символов */
        width: 22%;
    }.uni-table th:nth-child(2), .uni-table td:nth-child(2)
{ min-width: calc(var(--text-xs) * 6); /* 72px = 12px * 6 символов */
        width: 7%;
    }.uni-table th:nth-child(3), .uni-table td:nth-child(3)
{ min-width: calc(var(--text-xs) * 3.5); /* 42px = 12px * 3.5 символа */
        width: 5%;
    }.uni-table th:nth-child(4), .uni-table td:nth-child(4)
{ min-width: calc(var(--text-xs) * 10); /* 120px = 12px * 10 символов */
        max-width: calc(var(--text-xs) * 20); /* 240px = 12px * 20 символов */
        width: 17%;
    }.uni-table th:nth-child(5), .uni-table td:nth-child(5)
{ min-width: calc(var(--text-xs) * 6); /* 72px = 12px * 6 символов */
        width: 9%;
    }.uni-table th:nth-child(6), .uni-table td:nth-child(6)
{ min-width: calc(var(--text-xs) * 5); /* 60px = 12px * 5 символов */
        width: 7%;
    }.uni-table th:nth-child(7), .uni-table td:nth-child(7)
{ min-width: calc(var(--space-10) * 1.5); /* 60px = 40px * 1.5 */
        width: 12%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(1), .uni-table:has(th:nth-child(9)) td:nth-child(1)
{ min-width: calc(var(--space-10) * 0.85); /* 34px = 40px * 0.85 */
        width: 3%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(2), .uni-table:has(th:nth-child(9)) td:nth-child(2)
{ min-width: calc(var(--text-xs) * 14); /* 168px = 12px * 14 символов */
        max-width: calc(var(--text-xs) * 22); /* 264px = 12px * 22 символа */
        width: 19%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(3), .uni-table:has(th:nth-child(9)) td:nth-child(3)
{ min-width: calc(var(--text-xs) * 7); /* 84px = 12px * 7 символов */
        width: 7%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(4), .uni-table:has(th:nth-child(9)) td:nth-child(4)
{ min-width: calc(var(--text-xs) * 5); /* 60px = 12px * 5 символов */
        width: 5%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(5), .uni-table:has(th:nth-child(9)) td:nth-child(5)
{ min-width: calc(var(--text-xs) * 3.5); /* 42px = 12px * 3.5 символа */
        width: 4%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(6), .uni-table:has(th:nth-child(9)) td:nth-child(6)
{ min-width: calc(var(--text-xs) * 9); /* 108px = 12px * 9 символов */
        max-width: calc(var(--text-xs) * 16); /* 192px = 12px * 16 символов */
        width: 15%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(7), .uni-table:has(th:nth-child(9)) td:nth-child(7)
{ min-width: calc(var(--text-xs) * 2.5); /* 30px = 12px * 2.5 символа */
        width: 3%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(8), .uni-table:has(th:nth-child(9)) td:nth-child(8)
{ min-width: calc(var(--text-xs) * 4); /* 48px = 12px * 4 символа */
        width: 5%;
    }.uni-table:has(th:nth-child(9)) th:nth-child(9), .uni-table:has(th:nth-child(9)) td:nth-child(9)
{ min-width: calc(var(--text-xs) * 5); /* 60px = 12px * 5 символов */
        width: 7%;
    }.uni-table-container
{
        margin: 0 calc(var(--space-4) * -1);
        border-radius: 0;
    }.table-container .exam-students-table
{
        width: 100%;
    }.table-container .exam-students-table col.col-full-name
{ width: 22%;
        min-width: 120px;
    }.table-container .exam-students-table col.col-university
{ width: 10%;
        min-width: 60px;
    }.table-container .exam-students-table col.col-degree
{ width: 8%;
        min-width: 50px;
    }.table-container .exam-students-table col.col-specialty
{ width: 30%;
        min-width: 180px;
    }.table-container .exam-students-table col.col-exam
{ width: 18%;
        min-width: 120px;
    }.table-container .exam-students-table col.col-action-1
{ width: 8%;
        min-width: 50px;
    }#exam_students_table th, #exam_students_table td
{
        padding: var(--space-2) var(--space-1);
        font-size: calc(var(--text-base) * 0.75);
    }#exam_students_table th:nth-child(2), #exam_students_table td:nth-child(2)
{
        padding: var(--space-2) var(--space-1);
    }.user-table.table-2cols th
{
        font-size: calc(var(--text-base) * 0.75);
        padding: var(--space-2) 0;
    }.user-table.table-2cols td
{
        font-size: calc(var(--text-base) * 0.8125);
        padding: var(--space-2) 0;
    }.user-table.table-5cols th:nth-child(1), .user-table.table-5cols td:nth-child(1)
{
        min-width: 100px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-5cols th:nth-child(2), .user-table.table-5cols td:nth-child(2)
{
        min-width: 35px;
    }.user-table.table-5cols th:nth-child(3), .user-table.table-5cols td:nth-child(3)
{
        min-width: 90px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-5cols th:nth-child(4), .user-table.table-5cols td:nth-child(4)
{
        min-width: 70px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-5cols th:nth-child(5), .user-table.table-5cols td:nth-child(5)
{
        min-width: 100px;
    }.user-table.table-5cols .btn
{
        padding: var(--space-1) var(--space-2);
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-4cols th:nth-child(1), .user-table.table-4cols td:nth-child(1)
{
        min-width: 110px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-4cols th:nth-child(2), .user-table.table-4cols td:nth-child(2)
{
        min-width: 35px;
    }.user-table.table-4cols th:nth-child(3), .user-table.table-4cols td:nth-child(3)
{
        min-width: 90px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-4cols th:nth-child(4), .user-table.table-4cols td:nth-child(4)
{
        min-width: 80px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-7cols th:nth-child(1), .user-table.table-7cols td:nth-child(1)
{
        min-width: 60px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-7cols th:nth-child(2), .user-table.table-7cols td:nth-child(2)
{
        min-width: 70px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-7cols th:nth-child(3), .user-table.table-7cols td:nth-child(3)
{
        min-width: 90px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-7cols th:nth-child(4), .user-table.table-7cols td:nth-child(4)
{
        min-width: 70px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-7cols th:nth-child(5), .user-table.table-7cols td:nth-child(5)
{
        min-width: 80px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-7cols th:nth-child(6), .user-table.table-7cols td:nth-child(6)
{
        min-width: 80px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-7cols th:nth-child(7), .user-table.table-7cols td:nth-child(7)
{
        min-width: 60px;
    }.user-table.table-7cols .btn
{
        padding: var(--space-1) var(--space-2);
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-3cols th:nth-child(1), .user-table.table-3cols td:nth-child(1)
{
        min-width: 150px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-3cols th:nth-child(2), .user-table.table-3cols td:nth-child(2)
{
        min-width: 80px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-3cols th:nth-child(3), .user-table.table-3cols td:nth-child(3)
{
        min-width: 100px;
    }.user-table.table-3cols .action-btn
{
        padding: var(--space-1);
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-4cols-params th:nth-child(1), .user-table.table-4cols-params td:nth-child(1)
{
        min-width: 100px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-4cols-params th:nth-child(2), .user-table.table-4cols-params td:nth-child(2)
{
        min-width: 120px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-4cols-params th:nth-child(3), .user-table.table-4cols-params td:nth-child(3)
{
        min-width: 80px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-4cols-params th:nth-child(4), .user-table.table-4cols-params td:nth-child(4)
{
        min-width: 100px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-header-actions th h2
{
        font-size: calc(var(--text-base) * 0.875);
    }.user-table.table-header-actions .btn
{
        padding: var(--space-1) var(--space-2);
        font-size: calc(var(--text-base) * 0.75);
        width: 100%;
    }.user-table.table-info-block td
{
        padding: var(--space-2);
        font-size: calc(var(--text-base) * 0.75);
        line-height: 1.5;
    }.user-table.table-student-list th.tbl__col--id, .user-table.table-student-list td.tbl__col--id
{
        min-width: 40px;
    }.user-table.table-student-list th:nth-child(2), .user-table.table-student-list td:nth-child(2)
{
        min-width: 180px;
        font-size: calc(var(--text-base) * 0.75);
    }.user-table.table-header-actions .btn
{
        width: 100%;
        margin-bottom: var(--space-2);
    }.user-table.table-header-actions th h2
{
        font-size: calc(var(--text-base) * 1.125);
    }.user-table.table-header-actions .btn
{
        padding: var(--space-2) var(--space-3);
        font-size: calc(var(--text-base) * 0.8125);
    }.user-table.table-info-block td
{
        padding: var(--space-2);
        font-size: calc(var(--text-base) * 0.8125);
    }/* Кнопка действия в таблице - 65% от desktop (34px * 0.65 = 22px) */.table-action-btn
{
        width: 22px;
        height: 22px;
    }/* Иконки действий в таблицах .user-table - 57% от desktop (28px * 0.57 = 16px) */.user-table .action-icon, .user-table#hero-team-table .action-icon
{
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
    }.user-table .action-icon i, .user-table#hero-team-table .action-icon i
{
        width: 8px !important; /* 57% от desktop (14px * 0.57 = 8px) */
        height: 8px !important;
    }/* CSRF Pages Table - 63% от desktop (320px * 0.63 = 200px) */.user-table#csrf-pages-table
{
        min-width: 200px;
    }.user-table#csrf-pages-table th:nth-child(1), .user-table#csrf-pages-table td:nth-child(1)
{
        min-width: 95px; /* 63% от desktop (150px * 0.63 = 95px) */
    }.user-table#csrf-pages-table th:nth-child(2), .user-table#csrf-pages-table td:nth-child(2)
{
        min-width: 63px; /* 63% от desktop (100px * 0.63 = 63px) */
    }.user-table#csrf-pages-table th:nth-child(3), .user-table#csrf-pages-table td:nth-child(3)
{
        min-width: 50px; /* 63% от desktop (80px * 0.63 = 50px) */
    }/* CSRF IPs Table - 63% от desktop (400px * 0.63 = 250px) */.user-table#csrf-ips-table
{
        min-width: 250px;
    }.user-table#csrf-ips-table th:nth-child(1), .user-table#csrf-ips-table td:nth-child(1)
{
        min-width: 76px; /* 63% от desktop (120px * 0.63 = 76px) */
    }.user-table#csrf-ips-table th:nth-child(2), .user-table#csrf-ips-table td:nth-child(2), .user-table#csrf-ips-table th:nth-child(3), .user-table#csrf-ips-table td:nth-child(3)
{
        min-width: 50px; /* 63% от desktop (80px * 0.63 = 50px) */
    }.user-table#csrf-ips-table th:nth-child(4), .user-table#csrf-ips-table td:nth-child(4)
{
        min-width: 57px; /* 63% от desktop (90px * 0.63 = 57px) */
    }/* CSRF Time Table - 63% от desktop (320px * 0.63 = 200px) */.user-table#csrf-time-table
{
        min-width: 200px;
    }.user-table#csrf-time-table th:nth-child(1), .user-table#csrf-time-table td:nth-child(1)
{
        min-width: 44px; /* 63% от desktop (70px * 0.63 = 44px) */
    }.user-table#csrf-time-table th:nth-child(2), .user-table#csrf-time-table td:nth-child(2)
{
        min-width: 50px; /* 63% от desktop (80px * 0.63 = 50px) */
    }.user-table#csrf-time-table th:nth-child(3), .user-table#csrf-time-table td:nth-child(3)
{
        min-width: 95px; /* 63% от desktop (150px * 0.63 = 95px) */
    }/* CSRF Reports Table - 60% от desktop (600px * 0.6 = 360px) */.user-table#csrf-reports-table
{
        min-width: 360px;
    }.user-table#csrf-reports-table th:nth-child(1), .user-table#csrf-reports-table td:nth-child(1)
{
        min-width: 72px; /* 60% от desktop (120px * 0.6 = 72px) */
    }.user-table#csrf-reports-table th:nth-child(2), .user-table#csrf-reports-table td:nth-child(2)
{
        min-width: 78px; /* 60% от desktop (130px * 0.6 = 78px) */
    }.user-table#csrf-reports-table th:nth-child(3), .user-table#csrf-reports-table td:nth-child(3)
{
        min-width: 42px; /* 60% от desktop (70px * 0.6 = 42px) */
    }.user-table#csrf-reports-table th:nth-child(4), .user-table#csrf-reports-table td:nth-child(4)
{
        min-width: 48px; /* 60% от desktop (80px * 0.6 = 48px) */
    }.user-table#csrf-reports-table th:nth-child(5), .user-table#csrf-reports-table td:nth-child(5)
{
        min-width: 45px; /* 60% от desktop (75px * 0.6 = 45px) */
    }.user-table#csrf-reports-table th:nth-child(6), .user-table#csrf-reports-table td:nth-child(6)
{
        min-width: 60px; /* 60% от desktop (100px * 0.6 = 60px) */
    }/* CSRF Debug Table - 63% от desktop (400px * 0.63 = 250px) */.user-table#csrf-debug-table
{
        min-width: 250px;
    }.user-table#csrf-debug-table th:nth-child(1), .user-table#csrf-debug-table td:nth-child(1)
{
        min-width: 95px; /* 63% от desktop (150px * 0.63 = 95px) */
    }.user-table#csrf-debug-table th:nth-child(2), .user-table#csrf-debug-table td:nth-child(2)
{
        min-width: 50px; /* 63% от desktop (80px * 0.63 = 50px) */
    }.user-table#csrf-debug-table th:nth-child(3), .user-table#csrf-debug-table td:nth-child(3)
{
        min-width: 76px; /* 63% от desktop (120px * 0.63 = 76px) */
    }.user-table#csrf-debug-table th:nth-child(4), .user-table#csrf-debug-table td:nth-child(4)
{
        min-width: 44px; /* 63% от desktop (70px * 0.63 = 44px) */
    }/* Student List Table - compact sizing for <=480px */.user-table#student-list-table
{
        min-width: 320px;
        font-size: var(--text-xs);
    }.user-table#student-list-table th, .user-table#student-list-table td
{
        padding: var(--space-2) var(--space-2);
        font-size: var(--text-xs);
    }.user-table#student-list-table th.tbl__col--id, .user-table#student-list-table td.tbl__col--id
{
        width: 7%;
        min-width: 32px;
    }.user-table#student-list-table th:nth-child(2), .user-table#student-list-table td:nth-child(2)
{
        width: 33%;
        min-width: 86px;
    }.user-table#student-list-table th:nth-child(3), .user-table#student-list-table td:nth-child(3), .user-table#student-list-table th:nth-child(4), .user-table#student-list-table td:nth-child(4)
{
        width: 23%;
        min-width: 64px;
    }.user-table#student-list-table th:nth-child(5), .user-table#student-list-table td:nth-child(5)
{
        width: 14%;
        min-width: 58px;
    }/* Students Verified/Pending Tables - 63% от desktop (400px * 0.63 = 250px) */.user-table#students-verified-table, .user-table#students-pending-table
{
        min-width: 250px;
    }.user-table#students-verified-table th:nth-child(1), .user-table#students-verified-table td:nth-child(1), .user-table#students-pending-table th:nth-child(1), .user-table#students-pending-table td:nth-child(1), .user-table#students-verified-table th:nth-child(2), .user-table#students-verified-table td:nth-child(2), .user-table#students-pending-table th:nth-child(2), .user-table#students-pending-table td:nth-child(2)
{
        min-width: 95px; /* 63% от desktop (150px * 0.63 = 95px) */
    }.user-table#students-verified-table th:nth-child(3), .user-table#students-verified-table td:nth-child(3), .user-table#students-pending-table th:nth-child(3), .user-table#students-pending-table td:nth-child(3)
{
        min-width: 126px; /* 63% от desktop (200px * 0.63 = 126px) */
    }/* Student Cost View Table - 57% от desktop (700px * 0.57 = 400px) */table#student-cost-view-table
{
        min-width: 360px;
    }table#student-cost-view-table th, table#student-cost-view-table td
{
        padding: var(--space-2);
        font-size: calc(var(--text-sm) * 0.95);
    }table#student-cost-view-table th.tbl__col--id, table#student-cost-view-table td.tbl__col--id
{
        min-width: 24px;
        max-width: 30px;
    }table#student-cost-view-table th:nth-child(2), table#student-cost-view-table td:nth-child(2)
{
        min-width: 56px;
    }table#student-cost-view-table th:nth-child(4), table#student-cost-view-table td:nth-child(4)
{
        min-width: 64px;
    }table#student-cost-view-table th:nth-child(3), table#student-cost-view-table td:nth-child(3), table#student-cost-view-table th:nth-child(6), table#student-cost-view-table td:nth-child(6)
{
        min-width: 60px;
    }table#student-cost-view-table th:nth-child(5), table#student-cost-view-table td:nth-child(5)
{
        min-width: 54px;
    }table#student-cost-view-table th:nth-child(7), table#student-cost-view-table td:nth-child(7)
{
        min-width: 74px;
    }table#student-cost-view-table td:nth-child(2), table#student-cost-view-table td:nth-child(4), table#student-cost-view-table td:nth-child(5)
{
        text-align: right;
    }table#student-cost-view-table td.tbl__cell--nowrap, table#student-cost-view-table th.tbl__cell--nowrap
{
        white-space: nowrap;
        word-break: normal;
        overflow-wrap: normal;
    }table#student-cost-view-table td:nth-child(7) .btn
{
        display: inline-flex;
        align-items: center;
        gap: 4px;
        padding: var(--space-1) var(--space-2);
        font-size: calc(var(--text-sm) * 0.82);
        white-space: nowrap;
    }/* ТАБЛИЦЫ СТАТУСОВ - MOBILE SMALL */.status-actions-table
{
        width: 100%;
    }.status-actions-table tr, .status-actions-table td
{
        display: block;
        width: 100%;
    }.status-actions-table .btn, .status-actions-table button
{
        width: 100% !important;
        max-width: 100% !important;
        text-align: center;
        padding: var(--space-2, 8px) var(--space-md, 12px);
    }/* === css_split_uni.py append @ 2026-04-03 10:27:32 === *//* ===== СТУДЕНТСКИЕ ТАБЛИЦЫ - СОВРЕМЕННЫЙ ДИЗАЙН 2025 ===== *//* 
 * Математический расчет размеров:
 * .container: max-width 1200px, padding 20px (слева+справа) = внутренняя ширина 1160px
 * .student-table-container: padding 20px (слева+справа) = внутренняя ширина 1120px
 * .student-table: используем 100% ширины контейнера для максимального использования пространства
 * Результат: max-width 100% = 1120px от доступных 1120px
 */.student-orders-table, .student-table
{
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: var(--student-white);
    border-radius: var(--student-radius-md);
    overflow: hidden;
    overflow-x: auto;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin: var(--student-space-lg) 0;
    border: 1px solid #e5e7eb;
    transition: var(--student-transition);
    box-sizing: border-box;
    table-layout: fixed;
}.student-orders-table:hover, .student-table:hover
{
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: none;
}/* Внутри .student-table-container рамка и тень только у контейнера — без «двойной коробки» */.student-table-container .student-orders-table, .student-table-container .student-table
{
    border: none;
    box-shadow: none;
    border-radius: 0;
    margin: 0;
}.student-table-container .student-orders-table:hover, .student-table-container .student-table:hover
{
    box-shadow: none;
}/* Стили для таблицы платежей - десктопная версия показывается по умолчанию */.student-payments-table-desktop
{
    display: table;
    width: 100%;
}/* Стили для таблицы библиотеки - десктопная версия показывается по умолчанию */.student-library-table-desktop
{
    display: table;
    width: 100%;
}/* Стили для таблицы контактных данных - десктопная версия показывается по умолчанию */.student-contact-table-desktop
{
    display: table;
    width: 100%;
}.student-orders-table thead th, .student-table th
{
    background: #f3f4f6;
    color: #000000 !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.03em;
    padding: var(--student-space-md) var(--student-space-sm);
    text-align: left;
    position: relative;
    border: 1px solid #e5e7eb;
    border-bottom: 2px solid #d1d5db;
    box-sizing: border-box;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}.student-table th h3, .student-table th h2, .student-table th h1
{
    color: #000000 !important;
    margin: 0;
}.student-orders-table thead th::after, .student-table th::after
{
    display: none;
}.student-orders-table tbody tr, .student-table tbody tr
{
    transition: var(--student-transition);
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}.student-orders-table tbody tr:last-child, .student-table tbody tr:last-child
{
    border-bottom: none;
}.student-orders-table tbody tr:hover, .student-table tbody tr:hover
{
    background: #f9fafb;
    transform: none;
    box-shadow: none;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ЦВЕТОВАЯ ИНДИКАЦИЯ ДЛЯ СТРОК ТАБЛИЦЫ ПЛАТЕЖЕЙ
 * Правила размещены после общих стилей для обеспечения приоритета
 * ═══════════════════════════════════════════════════════════════════════════════ *//* 1. Есть долг - красный фон */.student-table-container .student-table tbody tr.tbl__row--danger, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--danger, .student-table tbody tr.tbl__row--danger, .student-payments-table-desktop tbody tr.tbl__row--danger
{
    background-color: var(--danger-light) !important;
    border-left: 4px solid var(--danger);
}.student-table-container .student-table tbody tr.tbl__row--danger:hover, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--danger:hover, .student-table tbody tr.tbl__row--danger:hover, .student-payments-table-desktop tbody tr.tbl__row--danger:hover
{
    background-color: #fecaca !important;
}.student-table-container .student-table tbody tr.tbl__row--danger td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--danger td, .student-table tbody tr.tbl__row--danger td, .student-payments-table-desktop tbody tr.tbl__row--danger td
{
    background: transparent !important;
    color: var(--danger-dark) !important;
    font-weight: 500;
}/* 2. Был долг, но погашено переплатой - оранжевый/желтый фон */.student-table-container .student-table tbody tr.tbl__row--warning, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--warning, .student-table tbody tr.tbl__row--warning, .student-payments-table-desktop tbody tr.tbl__row--warning
{
    background-color: var(--warning-light) !important;
    border-left: 4px solid var(--warning);
}.student-table-container .student-table tbody tr.tbl__row--warning:hover, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--warning:hover, .student-table tbody tr.tbl__row--warning:hover, .student-payments-table-desktop tbody tr.tbl__row--warning:hover
{
    background-color: #fde68a !important;
}.student-table-container .student-table tbody tr.tbl__row--warning td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--warning td, .student-table tbody tr.tbl__row--warning td, .student-payments-table-desktop tbody tr.tbl__row--warning td
{
    background: transparent !important;
    color: var(--warning-dark) !important;
}/* 3. Оплачено все и долгов нет - зеленый фон */.student-table-container .student-table tbody tr.tbl__row--success, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--success, .student-table tbody tr.tbl__row--success, .student-payments-table-desktop tbody tr.tbl__row--success
{
    background-color: var(--success-light) !important;
    border-left: 4px solid var(--success);
}.student-table-container .student-table tbody tr.tbl__row--success:hover, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--success:hover, .student-table tbody tr.tbl__row--success:hover, .student-payments-table-desktop tbody tr.tbl__row--success:hover
{
    background-color: #a7f3d0 !important;
}.student-table-container .student-table tbody tr.tbl__row--success td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--success td, .student-table tbody tr.tbl__row--success td, .student-payments-table-desktop tbody tr.tbl__row--success td
{
    background: transparent !important;
    color: var(--success-dark) !important;
}/* 4. Следующая оплата - синий фон */.student-table-container .student-table tbody tr.tbl__row--info, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--info, .student-table tbody tr.tbl__row--info, .student-payments-table-desktop tbody tr.tbl__row--info
{
    background-color: var(--info-light) !important;
    border-left: 4px solid var(--info);
}.student-table-container .student-table tbody tr.tbl__row--info:hover, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--info:hover, .student-table tbody tr.tbl__row--info:hover, .student-payments-table-desktop tbody tr.tbl__row--info:hover
{
    background-color: #bfdbfe !important;
}.student-table-container .student-table tbody tr.tbl__row--info td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--info td, .student-table tbody tr.tbl__row--info td, .student-payments-table-desktop tbody tr.tbl__row--info td
{
    background: transparent !important;
    color: var(--info-dark) !important;
    font-weight: 500;
}/* 5. Оплата на будущее - серый/светлый фон */.student-table-container .student-table tbody tr.tbl__row--future, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--future, .student-table tbody tr.tbl__row--future, .student-payments-table-desktop tbody tr.tbl__row--future
{
    background-color: var(--bg-secondary) !important;
    border-left: 4px solid var(--border-dark);
}.student-table-container .student-table tbody tr.tbl__row--future:hover, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--future:hover, .student-table tbody tr.tbl__row--future:hover, .student-payments-table-desktop tbody tr.tbl__row--future:hover
{
    background-color: var(--bg-tertiary) !important;
}.student-table-container .student-table tbody tr.tbl__row--future td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--future td, .student-table tbody tr.tbl__row--future td, .student-payments-table-desktop tbody tr.tbl__row--future td
{
    background: transparent !important;
    color: var(--text-muted) !important;
}/* 6. Переплата (не использованная для долга) - голубой фон */.student-table-container .student-table tbody tr.tbl__row--overpayment, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--overpayment, .student-table tbody tr.tbl__row--overpayment, .student-payments-table-desktop tbody tr.tbl__row--overpayment
{
    background-color: #e0f2fe !important;
    border-left: 4px solid #0ea5e9;
}.student-table-container .student-table tbody tr.tbl__row--overpayment:hover, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--overpayment:hover, .student-table tbody tr.tbl__row--overpayment:hover, .student-payments-table-desktop tbody tr.tbl__row--overpayment:hover
{
    background-color: #bae6fd !important;
}.student-table-container .student-table tbody tr.tbl__row--overpayment td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--overpayment td, .student-table tbody tr.tbl__row--overpayment td, .student-payments-table-desktop tbody tr.tbl__row--overpayment td
{
    background: transparent !important;
    color: #0369a1 !important;
}.student-orders-table td, .student-table td
{
    padding: var(--student-space-md) var(--student-space-sm);
    color: #000000 !important;
    font-size: 0.8125rem;
    line-height: 1.4;
    box-sizing: border-box;
    word-wrap: break-word;
    border-bottom: 1px solid #e5e7eb;
    background: var(--student-white);
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}/* Переопределение фона для ячеек внутри строк с цветовой индикацией */.student-table-container .student-table tbody tr.tbl__row--danger td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--danger td, .student-table tbody tr.tbl__row--danger td, .student-payments-table-desktop tbody tr.tbl__row--danger td, .student-table-container .student-table tbody tr.tbl__row--warning td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--warning td, .student-table tbody tr.tbl__row--warning td, .student-payments-table-desktop tbody tr.tbl__row--warning td, .student-table-container .student-table tbody tr.tbl__row--success td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--success td, .student-table tbody tr.tbl__row--success td, .student-payments-table-desktop tbody tr.tbl__row--success td, .student-table-container .student-table tbody tr.tbl__row--info td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--info td, .student-table tbody tr.tbl__row--info td, .student-payments-table-desktop tbody tr.tbl__row--info td, .student-table-container .student-table tbody tr.tbl__row--future td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--future td, .student-table tbody tr.tbl__row--future td, .student-payments-table-desktop tbody tr.tbl__row--future td, .student-table-container .student-table tbody tr.tbl__row--overpayment td, .student-table-container .student-payments-table-desktop tbody tr.tbl__row--overpayment td, .student-table tbody tr.tbl__row--overpayment td, .student-payments-table-desktop tbody tr.tbl__row--overpayment td
{
    background: transparent !important;
    background-color: transparent !important;
}/* Для таблицы документов разрешаем перенос текста */.student-documents-table td
{
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
}.student-orders-table td *, .student-table td *
{
    color: #000000 !important;
}/* ===== МАТЕМАТИЧЕСКИЙ РАСЧЕТ ШИРИНЫ КОЛОНОК ===== *//* 
 * Расчет для таблицы платежей (7 колонок):
 * Доступная ширина: 744px (760px - 16px padding)
 * 
 * Колонка 1 (Семестр): 5% = ~37px (уменьшено с 8%)
 * Колонка 2 (Сумма): 15% = ~112px
 * Колонка 3 (Дата оплаты): 15% = ~112px (увеличено с 12%)
 * Колонка 4 (Оплачено): 15% = ~112px
 * Колонка 5 (Долг): 12% = ~89px
 * Колонка 6 (Студент оплатил): 15% = ~112px (увеличено с 12%)
 * Колонка 7 (Квитанции): 23% = ~171px (уменьшено с 26%)
 * Итого: 100% = 744px
 */.student-table:not(.student-documents-table):not(.student-orders-table) th:nth-child(1), .student-table:not(.student-documents-table):not(.student-orders-table) td:nth-child(1)
{
    width: 5%;
    max-width: 37px;
}.student-table:not(.student-documents-table):not(.student-orders-table) th:nth-child(2), .student-table:not(.student-documents-table):not(.student-orders-table) td:nth-child(2)
{
    width: 15%;
    max-width: 112px;
}.student-table:not(.student-documents-table):not(.student-orders-table) th:nth-child(3), .student-table:not(.student-documents-table):not(.student-orders-table) td:nth-child(3)
{
    width: 15%;
    max-width: 112px;
}.student-table:not(.student-documents-table):not(.student-orders-table) th:nth-child(4), .student-table:not(.student-documents-table):not(.student-orders-table) td:nth-child(4)
{
    width: 15%;
    max-width: 112px;
}.student-table:not(.student-documents-table):not(.student-orders-table) th:nth-child(5), .student-table:not(.student-documents-table):not(.student-orders-table) td:nth-child(5)
{
    width: 12%;
    max-width: 89px;
}.student-table:not(.student-documents-table):not(.student-orders-table) th:nth-child(6), .student-table:not(.student-documents-table):not(.student-orders-table) td:nth-child(6)
{
    width: 15%;
    max-width: 112px;
}.student-table:not(.student-documents-table):not(.student-orders-table) th:nth-child(7), .student-table:not(.student-documents-table):not(.student-orders-table) td:nth-child(7)
{
    width: 23%;
    max-width: 171px;
}/* ===== ШИРИНА КОЛОНОК ДЛЯ ТАБЛИЦЫ ДОКУМЕНТОВ ===== */.student-documents-table
{
    table-layout: fixed;
}/* Тип документа: 45% */.student-documents-table .student-col-doc-type, .student-documents-table th.student-col-doc-type, .student-documents-table td.student-col-doc-type
{
    width: 45%;
    min-width: 200px;
}/* Дата: 15% */.student-documents-table .student-col-doc-date, .student-documents-table th.student-col-doc-date, .student-documents-table td.student-col-doc-date
{
    width: 15%;
    min-width: 120px;
}/* Просмотреть документ: 40% */.student-documents-table .student-col-doc-actions, .student-documents-table th.student-col-doc-actions, .student-documents-table td.student-col-doc-actions
{
    width: 40%;
    min-width: 180px;
}/* ===== ШИРИНА КОЛОНОК ДЛЯ ТАБЛИЦЫ ЗАКАЗОВ ===== *//* Таблица заказов: 9 колонок */.student-orders-table
{
    table-layout: fixed;
}.student-orders-table .student-col-order-doc, .student-orders-table th.student-col-order-doc, .student-orders-table td.student-col-order-doc
{
    width: 20%;
    min-width: 150px;
}/* Колонка 2: Тип доставки */.student-orders-table th:nth-child(2), .student-orders-table td:nth-child(2)
{
    width: 15%;
    min-width: 120px;
}/* Колонка 3: Общая цена */.student-orders-table th:nth-child(3), .student-orders-table td:nth-child(3)
{
    width: 12%;
    min-width: 100px;
}/* Колонка 4: Статус оплаты */.student-orders-table th:nth-child(4), .student-orders-table td:nth-child(4)
{
    width: 13%;
    min-width: 128px;
}/* Колонка 5: Подача заявки */.student-orders-table th:nth-child(5), .student-orders-table td:nth-child(5)
{
    width: 11%;
    min-width: 96px;
}/* Колонка 6: Отправка */.student-orders-table th:nth-child(6), .student-orders-table td:nth-child(6)
{
    width: 10%;
    min-width: 90px;
}/* Колонка 7: Прибытие */.student-orders-table th:nth-child(7), .student-orders-table td:nth-child(7)
{
    width: 10%;
    min-width: 90px;
}/* Колонка 8: Статус заказа */.student-orders-table th:nth-child(8), .student-orders-table td:nth-child(8)
{
    width: 11%;
    min-width: 100px;
}/* Колонка 9: Квитанции */.student-orders-table th:nth-child(9), .student-orders-table td:nth-child(9)
{
    width: 15%;
    min-width: 130px;
}.student-table td span, .student-table td a, .student-table td div
{
    color: #000000 !important;
}.student-info-table
{
    width: 100%;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: rgba(255, 255, 255, 0.86);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
    margin: 0;
    border: 1px solid rgba(226, 232, 240, 0.95);
    transition: var(--student-transition);
    box-sizing: border-box;
    table-layout: fixed;
}.student-info-table td:first-child,
.student-info-table th:first-child
{
    width: 34%;
    min-width: min(220px, 38vw);
}.student-info-table td:last-child,
.student-info-table th:last-child
{
    width: 66%;
}.student-info-table th
{
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 55%, #e2e8f0 100%);
    color: #0f172a !important;
    font-weight: 750;
    text-transform: none;
    font-size: 1rem;
    letter-spacing: 0.03em;
    padding: var(--student-space-md) var(--student-space-lg);
    text-align: left;
    position: relative;
    border: none;
    border-bottom: 2px solid rgba(99, 102, 241, 0.35);
    box-sizing: border-box;
    white-space: normal;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
}.student-info-table th h3
{
    font-size: 1.22rem !important;
    font-weight: 750 !important;
    margin: 0 !important;
    color: #0f172a !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    letter-spacing: -0.02em;
}.student-info-table td
{
    padding: 0.72rem 1.1rem;
    color: #0f172a !important;
    font-size: 0.97rem;
    line-height: 1.55;
    box-sizing: border-box;
    word-wrap: break-word;
    border-bottom: 1px solid rgba(226, 232, 240, 0.95);
    background: rgba(255, 255, 255, 0.55);
    white-space: normal;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    vertical-align: middle;
}.student-info-table tr > td:first-child
{
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: #64748b !important;
    background: rgba(248, 250, 252, 0.75);
    border-right: 1px solid rgba(226, 232, 240, 0.9);
}.student-info-table tr > td:first-child a,
.student-info-table tr > td:first-child button
{
    font-size: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
}.student-info-table tr > td:nth-child(2)
{
    font-weight: 500;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #0f172a !important;
    background: rgba(255, 255, 255, 0.88);
}.student-info-table td *, .student-info-table th *, .student-info-table td span, .student-info-table td a, .student-info-table td div
{
    font-size: inherit !important;
    color: inherit !important;
}.student-info-table span[onclick*="copyToClipboard"],
.student-info-table .copy-target
{
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: all var(--transition-base);
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    min-height: 0;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.2;
    vertical-align: middle;
    user-select: none;
    color: var(--text-dark) !important;
}.student-info-table span[onclick*="copyToClipboard"] *,
.student-info-table .copy-target *
{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}.student-order-payment-box .student-documents-container
{
    padding-top: 0;
    padding-bottom: 0;
}.student-order-payment-box .student-payment-stage
{
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
}.student-order-payment-box .student-payment-stage .student-order-field
{
    margin-top: 0;
    margin-bottom: 0.35rem;
}.student-order-payment-box .student-payment-method-details
{
    margin-top: 0;
    margin-bottom: 0;
}.student-uploaded-receipt
{
    margin-bottom: 0.75rem;
}.student-order-payment-box .student-info-table
{
    margin: 0;
}.student-order-payment-box .student-info-table th,
.student-order-payment-box .student-info-table td
{
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
    line-height: 1.2;
}.student-order-payment-box .student-info-table .copy-target
{
    padding: 0;
    margin: 0;
    min-height: 0;
    gap: 0.2rem;
    font-size: inherit;
    line-height: inherit;
    vertical-align: middle;
}.student-order-payment-box .student-info-table .copy-target i
{
    margin: 0;
    line-height: 1;
}.student-info-table span[onclick*="copyToClipboard"]:hover,
.student-info-table .copy-target:hover
{
    background-color: var(--bg-hover);
    color: var(--primary-dark) !important;
}.student-info-table span[onclick*="copyToClipboard"].copied,
.student-info-table .copy-target.copied
{
    background-color: var(--success-light);
    color: var(--success-dark) !important;
}.student-info-table tbody tr:hover
{
    background: linear-gradient(90deg, rgba(239, 246, 255, 0.55) 0%, rgba(255, 255, 255, 0.65) 100%);
}.student-info-table tbody tr:last-child td
{
    border-bottom: none;
}/* ===== ТАБЛИЦА СЕССИЙ ===== */.student-sessions-table
{
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: var(--student-white);
    border-radius: var(--student-radius-md);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin: var(--student-space-lg) 0;
    border: 1px solid #e5e7eb;
    transition: var(--student-transition);
    box-sizing: border-box;
    table-layout: fixed;
}.student-sessions-table thead th
{
    background: #f3f4f6;
    color: #000000 !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.03em;
    padding: var(--student-space-sm) var(--student-space-md-plus);
    text-align: center;
    border: 1px solid #e5e7eb;
    border-bottom: 2px solid #d1d5db;
    box-sizing: border-box;
    white-space: nowrap;
}.student-sessions-table tbody td
{
    padding: var(--student-space-sm) var(--student-space-md-plus);
    color: #000000 !important;
    font-size: 0.75rem;
    line-height: 1.4;
    box-sizing: border-box;
    word-wrap: break-word;
    border-bottom: 1px solid #e5e7eb;
    background: var(--student-white);
    text-align: center;
    white-space: nowrap;
}.student-sessions-table tbody tr:hover
{
    background: #f9fafb;
}.student-sessions-table tbody td *
{
    color: #000000 !important;
}/* ===== СТУДЕНТСКИЕ КОНТЕЙНЕРЫ - GLASSMORPHISM 2025 ===== */.student-table-container, .student-order-payment-box
{
    width: 100%;
    max-width: 100%;
    margin: var(--main-space-lg) 0;
    background-color: var(--main-white);
    padding: var(--main-space-md);
    border-radius: var(--main-space-sm);
    box-shadow: 0 0 var(--main-space-md) rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    overflow-x: auto;
    border: 1px solid #e5e7eb;
    position: relative;
    transition: var(--student-transition);
    color: #000000 !important;
}/* Улучшенное разделение между контейнерами таблиц */.student-table-container + .student-table-container
{
    margin-top: var(--main-space-xl);
}/* Стили для заголовков внутри контейнеров */.student-table-container h3
{
    margin-top: 0;
    margin-bottom: var(--main-space-md);
    padding-bottom: var(--main-space-sm);
    border-bottom: 2px solid #e5e7eb;
    color: #000000 !important;
    font-size: 1.125rem;
    font-weight: 700;
}.student-table-container *, .student-order-payment-box *
{
    color: #000000 !important;
}.student-table-container h2, .student-table-container h3, .student-table-container h1, .student-order-payment-box h2, .student-order-payment-box h3, .student-order-payment-box h1
{
    color: #000000 !important;
}/* Глобальные стили для всех элементов внутри студентских контейнеров */.student-table-container, .student-order-payment-box
{
    color: #000000 !important;
}.student-table-container h2, .student-table-container h3, .student-table-container p, .student-table-container span, .student-table-container div, .student-order-payment-box h2, .student-order-payment-box h3, .student-order-payment-box p, .student-order-payment-box span, .student-order-payment-box div
{
    color: #000000 !important;
}.student-table-container::before, .student-order-payment-box::before
{
    display: none;
}.student-table-container:hover, .student-order-payment-box:hover
{
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: none;
    border-color: #d1d5db;
}.student-lesson th, .student-lesson td
{
    padding: var(--student-space-md-plus) var(--student-space-lg);
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
    box-sizing: border-box;
    word-wrap: break-word;
    background: var(--student-white);
    color: #000000 !important;
    line-height: 1.5;
}.student-lesson th
{
    background: #f3f4f6;
    color: #000000 !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    border: 1px solid #e5e7eb;
    border-bottom: 2px solid #d1d5db;
    padding: var(--student-space-md-plus) var(--student-space-lg);
}.student-lesson tbody tr
{
    transition: var(--student-transition);
}.student-lesson tbody tr:hover
{
    background: #f9fafb;
    transform: none;
}.student-lesson tbody tr:last-child td
{
    border-bottom: none;
}/* Скрываем мобильную таблицу заказов на десктопе *//* Улучшенные стили для таблицы заказов на десктопе */.student-orders-table tbody tr
{
    transition: var(--student-transition-fast);
}.student-orders-table tbody tr:hover
{
    background: #f9fafb;
}.student-orders-table td strong
{
    color: var(--student-primary) !important;
    font-weight: 700;
}.student-orders-table tbody td:nth-child(4),
.student-orders-table tbody td:nth-child(8)
{
    text-align: left;
}.student-document-actions--stacked
{
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
}.student-document-actions--stacked .student-btn
{
    width: auto;
    min-width: 150px;
    justify-content: center;
    box-sizing: border-box;
}.student-order-container .student-btn
{
    max-width: 100%;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
}#student-documents-portal-root .student-orders-table td,
#student-documents-portal-root .student-documents-table td
{
    vertical-align: middle;
}#student-documents-portal-root .student-documents-table th:nth-child(1),
#student-documents-portal-root .student-documents-table td:nth-child(1)
{
    width: 45%;
}#student-documents-portal-root .student-documents-table th:nth-child(2),
#student-documents-portal-root .student-documents-table td:nth-child(2)
{
    width: 16%;
    white-space: nowrap;
}#student-documents-portal-root .student-documents-table th:nth-child(3),
#student-documents-portal-root .student-documents-table td:nth-child(3)
{
    width: 39%;
}.student-order-container td:last-child,
#student-documents-portal-root .student-documents-table td:last-child
{
    min-width: 190px;
}.student-orders-table td .student-order-status
{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    margin: 2px 0;
    margin-right: auto;
    text-align: left;
    text-transform: none;
    letter-spacing: normal;
}.student-table-container
{
    animation: fadeInUp 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}/* === css_split_uni.py append @ 2026-04-03 10:57:57 — verify.php (scoped) === */body.verify-page #verifyForm .user-table
{
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    table-layout: fixed;
    word-wrap: break-word;
}body.verify-page #verifyForm .user-table td
{
    padding: 12px;
    border: 1px solid #ddd;
    vertical-align: middle;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}body.verify-page #verifyForm .user-table td:first-child
{
    width: 40%;
    font-weight: 500;
    background-color: #f8f9fa;
}body.verify-page #verifyForm .user-table td:last-child
{
    width: 60%;
}body.verify-page #verifyForm .user-table td canvas
{
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
}

/* === css_split_uni.py append @ 2026-04-03 21:34:32 === */

/* Роль hero: в head_mail используется table.hero-icon-menu */
table.hero-icon-menu {
    width: 100%;
    border-collapse: separate;
    border-spacing: var(--space-2);
    margin: var(--space-4) 0;
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}.hero-icon-menu td {
    text-align: center;
    vertical-align: middle;
    padding: var(--space-2);
}

/* ═══════════════════════════════════════════════════════════════════
 * 📊 ТАБЛИЦЫ В ТЕЛЕ ПИСЬМА
 * ═══════════════════════════════════════════════════════════════════
 * Используются универсальные классы из tables.css
 * Базовые стили применяются автоматически к <table>
 * Для особых случаев используйте .tbl класс
 * ═══════════════════════════════════════════════════════════════════ */

/* Автоматические стили для всех таблиц в email контенте */
.mail-body table {
    border-collapse: collapse;
    box-sizing: border-box !important;
    margin: var(--space-4) auto !important;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}.mail-body table td,
.mail-body table th {
    padding: var(--space-3) var(--space-4);
    border-bottom: 1px solid var(--border-light);
}.mail-body table thead {
    background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);
    border-bottom: 2px solid var(--border-dark);
}.mail-body table thead th {
    font-weight: 600;
    color: var(--text-dark);
    text-align: left;
}.mail-body table tbody tr:hover {
    background-color: var(--bg-hover);
}









/* Текстовые и блочные элементы — общий перенос */
.mail-body span,
.mail-body td,
.mail-body th,
.mail-body li,
.mail-body a,
.mail-body p,
.mail-body div {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}



/* Таблицы в email */
.email-message-content table {
    margin: var(--space-4) auto !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    font-size: inherit !important;
    line-height: inherit !important;
}.email-message-content table td,
.email-message-content table th {
    padding: var(--space-3) !important;
    border: 1px solid var(--border) !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    vertical-align: top !important;
    text-align: left;
    box-sizing: border-box !important;
}.email-message-content table th {
    background-color: var(--bg-tertiary) !important;
    font-weight: 600 !important;
}.email-message-content table tr:nth-child(even) {
    background-color: var(--bg-secondary) !important;
}.email-message-content table tr:hover {
    background-color: var(--bg-hover) !important;
}
