/* Фиксация внешних элементов */
body {
    padding-top: 70px; /* Отступ для фиксированного навбара */
    overflow-x: hidden; /* Запрещаем горизонтальную прокрутку страницы */
}

.navbar {
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Контейнер таблицы */
.table-container {
    width: 100% !important; /* Занимает всю ширину экрана */
    max-width: 100%; /* Не выходит за экран */
    padding: 0 5px; /* Минимальные отступы */
    overflow-x: auto; /* Горизонтальная прокрутка только для таблицы */
    -webkit-overflow-scrolling: touch; /* Плавная прокрутка на мобильных */
}

/* Общие стили для таблицы (для главной страницы и других, кроме /added) */
.table, .table-striped, .table-hover, .table-bordered, .table-full-width {
    width: 100% !important; /* Подстраивается под контейнер */
    max-width: 950px !important; /* Ограничиваем ширину для главной таблицы */
    table-layout: fixed; /* Фиксированная ширина столбцов */
    font-size: 0.85rem; /* Компактный шрифт */
    border-collapse: collapse; /* Убираем двойные границы */
}

/* Стили для ячеек таблицы (для главной страницы и других, кроме /added) */
.table-full-width th,
.table-full-width td,
.dataTables_wrapper .table-full-width th,
.dataTables_wrapper .table-full-width td,
.dataTables_wrapper .table-full-width tbody tr td,
.dataTables_wrapper .table-full-width tbody tr td a {
    white-space: nowrap; /* Текст в одну строку */
    overflow: hidden; /* Скрываем переполнение */
    text-overflow: ellipsis; /* Многоточие для длинного текста */
    padding: 4px 6px; /* Увеличенные отступы */
    /* border: 1px solid #b3aeae; /* Тонкие границы */
}

/* Уменьшаем размер кнопок в столбце "Действия" */
.table-full-width td a.btn-sm {
    margin-right: 3px;
    line-height: 1.2; /* Улучшаем читаемость кнопок */
}

/* Стиль для строк со статусом "Отзыв" */
.table.table-striped.table-hover.table-bordered.table-full-width tbody tr.status-otzyv td {
    background-color: #f8d7da !important;
    color: #721c24 !important; /* Цвет текста для строк "Отзыв" */
}
.table.table-striped.table-hover.table-bordered.table-full-width tbody tr.status-otzyv:hover td {
    background-color: #e4727c !important;
    color: #721c24 !important;
}

/* Стиль для строк с примечаниями (request_number != 0) */
.table.table-striped.table-hover.table-bordered.table-full-width tbody tr.has-note td {
    background-color: #d4edda !important;
    color: #155724 !important; /* Цвет текста для строк с примечаниями */
}
.table.table-striped.table-hover.table-bordered.table-full-width tbody tr.has-note:hover td {
    background-color: #d4edda !important;
    color: #155724 !important;
}

/* Стили для модального окна */
.modal-body p {
    margin: 5px 0;
    font-size: 0.9rem;
}

/* Стили для пагинации и прокрутки */
.dataTables_wrapper {
    overflow-y: auto; /* Вертикальная прокрутка для таблицы */
}
.dataTables_wrapper .dataTables_paginate {
    display: flex;
    flex-wrap: wrap; /* Перенос кнопок пагинации */
    justify-content: center;
    padding: 5px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    margin: 2px;
    padding: 2px 5px;
    font-size: 0.75rem;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .table-container {
        padding: 0 5px;
        overflow-x: auto; /* Касательная прокрутка */
        touch-action: pan-x; /* Поддержка касаний */
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none; /* Скрыть скролл-бар в Edge */
        scrollbar-width: none; /* Скрыть скролл-бар в Firefox */
    }
    .table-container::-webkit-scrollbar {
        display: none; /* Скрыть скролл-бар в Chrome/Safari */
    }
    .table-full-width {
        font-size: 0.7rem; /* Ещё меньший шрифт */
        max-width: none !important; /* Убираем ограничение ширины */
    }
    .table-full-width th,
    .table-full-width td,
    .dataTables_wrapper .table-full-width th,
    .dataTables_wrapper .table-full-width td,
    .dataTables_wrapper .table-full-width tbody tr td,
    .dataTables_wrapper .table-full-width tbody tr td a {
        padding: 2px 3px; /* Уменьшенные отступы */
    }
    .table-full-width td a.btn-sm {
        padding: 1px 2px;
        font-size: 0.6rem; /* Уменьшенный шрифт кнопок */
        line-height: 1.1;
        display: inline-block; /* Предотвращаем наложение */
        min-width: 50px; /* Минимальная ширина кнопок */
    }
    .dataTables_wrapper .dataTables_paginate {
        font-size: 0.65rem;
        padding: 3px;
    }
    .dataTables_wrapper .dataTables_paginate .paginate_button {
        padding: 1px 3px;
        font-size: 0.65rem;
    }
}

/* Специфичные стили для таблицы в /added */
#addedTableContainer .table.table-full-width {
    max-width: none !important; /* Убираем ограничение ширины */
    min-width: 1090px !important; /* Соответствует сумме ширины столбцов */
   /* width: auto !important; /* Позволяет растянуться до min-width */
}