/**
 * Мобильная адаптация — аккуратный вид как на десктопе
 */
@media (max-width: 991px) {
    body {
        overflow-x: hidden;
    }

    /* Плавное раскрытие/закрытие мобильного меню — быстрее и без лагов */
    .header.collapsing {
        transition: height 0.22s ease-out !important;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translateZ(0);
    }

    .page .container {
        padding-left: 16px;
        padding-right: 16px;
        max-width: 100%;
    }

    .my-3.my-md-5 {
        margin-top: 1rem !important;
        margin-bottom: 1.5rem !important;
    }

    /* Заголовок страницы */
    .page-header {
        margin-bottom: 1rem;
    }
    .page-header .page-title {
        font-size: 1.35rem;
        margin-bottom: 0;
    }

    /* Карточки — убираем отрицательные отступы row-cards, добавляем зазоры */
    .row.row-cards {
        margin-left: 0;
        margin-right: 0;
    }
    .row.row-cards > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 1rem;
    }
    .row.row-cards > [class*="col-"]:last-child {
        margin-bottom: 0;
    }

    .row-cards .card {
        border-radius: 8px;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    }

    .card-body {
        padding: 1rem;
    }

    .card-header {
        padding: 0.75rem 1rem;
    }

    .card-title {
        font-size: 1rem;
    }

    /* Блок приветствия */
    .card-body .lead {
        font-size: 1.05rem;
    }

    /* Форма дат — убираем отрицательные отступы row */
    .form-date-range.row {
        margin-left: 0;
        margin-right: 0;
    }

    .form-date-range .form-date-row,
    .form-date-range .form-date-btn {
        padding-left: 0;
        padding-right: 0;
    }

    .form-date-range .form-label {
        margin-bottom: 0;
    }
}

@media (max-width: 767px) {
    .page .container {
        padding-left: 12px;
        padding-right: 12px;
    }

    /* Хедер */
    .header {
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
    }

    .header-brand {
        font-size: 0.95rem;
    }

    .header-brand img {
        width: 26px;
        height: 26px;
    }

    /* Форма дат — С и по в одной строке, кнопка внизу на всю ширину */
    /* Переопределяем Bootstrap col-12 для мобильной раскладки */
    .form-date-range.form-date-range {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        gap: 0.75rem;
        align-items: flex-end;
    }

    .form-date-range .form-date-row.col-12,
    .form-date-range .form-date-row.col-sm-auto {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0;
    }

    .form-date-range .form-date-row .form-label {
        flex-shrink: 0;
    }

    .form-date-range .form-date-row .form-control {
        flex: 1;
        min-width: 0;
    }

    .form-date-range .form-date-btn.col-12,
    .form-date-range .form-date-btn.col-sm-auto {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100%;
    }

    .form-date-range .form-date-btn .btn {
        width: 100%;
    }

    /* Карточки статистики — в ряд по одной, компактные отступы как у обычных блоков */
    .row-cards .col-12.col-sm-6.col-lg-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 0.5rem;
    }
    .row-cards .col-12.col-sm-6.col-lg-4:last-child {
        margin-bottom: 1rem;
    }

    .row-cards .card .card-body.p-3 {
        padding: 1rem !important;
    }

    .row-cards .card .h1 {
        font-size: 1.5rem;
    }

    /* Таблица */
    .table-responsive {
        margin-left: -12px;
        margin-right: -12px;
        padding-left: 12px;
        padding-right: 12px;
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
        border-radius: 0 0 8px 8px;
    }

    .table-responsive .table {
        min-width: 520px;
        font-size: 0.8rem;
    }

    .table-responsive .table th,
    .table-responsive .table td {
        padding: 0.5rem 0.4rem;
    }

    /* Пагинация */
    .card-footer {
        padding: 0.75rem 1rem;
    }

    .card-footer .d-flex {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
    }

    .card-footer .page-total-text {
        margin-right: 0 !important;
        font-size: 0.9rem;
    }

    .card-footer .pagination {
        margin: 0;
    }

    .card-footer .pagination .page-link {
        padding: 0.4rem 0.6rem;
        font-size: 0.9rem;
    }

    /* Алерты */
    .alert {
        padding: 0.75rem 1rem;
        font-size: 0.9rem;
    }
}

/* Страница входа */
@media (max-width: 767px) {
    .page-single .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .col-login {
        padding-left: 0;
        padding-right: 0;
    }

    .card-body.p-6 {
        padding: 1.25rem !important;
    }

    .form-group {
        margin-bottom: 1rem;
    }
}

/* Очень узкие экраны */
@media (max-width: 375px) {
    .page .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .card-body {
        padding: 0.875rem;
    }

    .card-header {
        padding: 0.625rem 0.875rem;
    }

    .table-responsive {
        margin-left: -10px;
        margin-right: -10px;
        padding-left: 10px;
        padding-right: 10px;
    }
}
