.table { width: 100%; border-collapse: collapse; }
.table thead { position: sticky; top: 0; z-index: 10; }
.table th, .table td { padding: 10px; text-align: center; vertical-align: middle; }
.table tbody tr { transition: background-color .2s; }

.pagination { display: flex; justify-content: space-between; align-items: center; }
.page-info { display: inline-flex; align-items: center; gap: 8px; }
.page-input { width: 45px; text-align: center; }
.pagination-btn, .page-btn { cursor: pointer; border: none; border-radius: 6px; }
.btn { cursor: pointer; }
.pagination-btn:disabled, .page-btn:disabled, .btn:disabled { opacity: .5; cursor: not-allowed; }

.modal { display: none; }
.modal-hidden { display: none; }
.modal-content { border-radius: 8px; }
.modal-header { display: flex; align-items: center; justify-content: space-between; }
.modal-close { cursor: pointer; }
.modal-body { max-height: 70vh; overflow: auto; }

.container { max-width: 1400px; margin: 0 auto; }
.table-container { overflow: auto; }
.table-wrapper { overflow: auto; }

/* Общие утилиты видимости */
.hidden { display: none !important; }

/* Общие состояния содержимого */
.error-message, .empty-state { text-align: center; }

/* Общие элементы поиска */
.search-container { display: flex; align-items: center; gap: 10px; }
.search-input { outline: none; border: none; }

/* Общие элементы форм и фильтров */
.filter-group { display: flex; flex-direction: column; }
.filter-label { font-weight: 600; }
.filter-select, .input-field, .modal-input, .page-input { outline: none; }

