.search-mobile {
    display: none;
}
@media (max-width: 768px) {
    .navbar-collapse.collapse.in {
        display: flex !important;
        flex-direction: column !important;
    }

    ul.navbar-nav.nav {
        margin-left: 0 !important;
    }

    .search-mobile {
        display: block;
        margin-bottom: 10px;
    }

    .search-mobile form {
        display: flex;
        gap: 10px;
    }

    .search-mobile .control-label,
    .search-mobile .help-block,
    .bill-index .text-right,
    .bill-index .widescreen-search-btn,
    .bills-control-panel-right .personal-settings-btn {
        display: none;
    }

    .search-mobile .control-label,
    .search-mobile .field-billsearch-search {
        margin: 0;
    }

    .bill-index .bills-control-panel, .bill-index .pay-all-form {
        display: flex;
        gap: 10px;
    }

    .bill-index .bills-control-panel {
        justify-content: space-between;
    }

}
@media (max-width: 385px) {

}

/* ========== /bills/bill/index ========== */
/* На больших экранах (≥768px) строка фильтров в шапке грида отображается как обычно. */

@media (min-width: 768px) {
    .bill-index .bill-index-mobile-filter {
        display: none !important;
    }
}

@media (max-width: 767px) {
    /* Убрать горизонтальную прокрутку в мобильном виде */
    .container:has(.bill-index) {
        overflow-x: hidden;
        max-width: 100%;
    }
    .bill-index {
        overflow-x: hidden;
        max-width: 100%;
    }
    /* Контейнер грида: переопределить overflow-x: visible из index.php (#w1-container) */
    .bill-index [id$="-container"],
    .bill-index #w1-container,
    .bill-index .big-grid-container,
    .bill-index .big-grid-container .kv-grid-panel,
    .bill-index .big-grid-container .kv-grid-container,
    .bill-index .big-grid-container .table-responsive {
        overflow-x: hidden !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    /* Таблица не должна растягивать контейнер по ширине */
    .bill-index .big-grid-container .kv-grid-table,
    .bill-index .big-grid-container .table-responsive .kv-grid-table {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    /* Строка фильтров в шапке — скрыть на малых экранах (максимальная специфичность) */
    body .bill-index .big-grid-container thead tr.filters,
    body .bill-index .big-grid-container thead tr.skip-export,
    body .bill-index .big-grid-container thead tr:nth-child(2),
    body .bill-index .big-grid-container .floatThead-wrapper thead tr.filters,
    body .bill-index .big-grid-container .floatThead-wrapper thead tr.skip-export,
    body .bill-index .big-grid-container .floatThead-wrapper thead tr:nth-child(2),
    body .bill-index .big-grid-container .kv-grid-panel thead tr.filters,
    body .bill-index .big-grid-container .kv-grid-panel thead tr:nth-child(2),
    body .bill-index .big-grid-container .kv-grid-table thead tr.filters,
    body .bill-index .big-grid-container .kv-grid-table thead tr:nth-child(2) {
        display: none !important;
    }

    /* Скрыть блок мобильного фильтра на десктопе уже выше; здесь показываем кнопку и форму */
    .bill-index .bill-index-mobile-filter {
        margin-bottom: 15px;
    }

    .bill-index .bill-index-mobile-filter-fields {
        margin-top: 10px;
        padding: 12px;
        border: 1px solid #ddd;
        border-radius: 4px;
        background: #f9f9f9;
    }

    .bill-index .bill-index-mobile-filter-form .form-group {
        display: block;
        margin-bottom: 12px;
    }

    .bill-index .bill-index-mobile-filter-form .control-label {
        display: block;
        margin-bottom: 4px;
    }

    .bill-index .bill-index-mobile-filter-form .form-control {
        width: 100%;
    }

    .bill-index .bill-index-mobile-filter-form .btn-primary {
        margin-top: 8px;
    }

    /* Кнопка «Подробнее» перенесена под строку через JS — скрываем пустую ячейку в строке данных */
    .bill-index .big-grid-container .kv-grid-table tbody tr:not(.bill-mobile-detail):not(.bill-mobile-more-row) td.bill-col-more {
        display: none !important;
    }

    /* Строка с кнопкой «Подробнее» под каждой строкой — отступы слева и справа */
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row td {
        padding: 8px 12px;
        border-top: none;
        background: #f9f9f9;
        border-bottom: 1px solid #ddd;
        box-sizing: border-box;
    }

    .bill-index .big-grid-container .kv-grid-table .bill-more-btn-wrap {
        width: 100%;
        display: block;
    }
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-size: 12px;
    }

    /* В шапке колонку «Подробнее» не показываем — кнопка под строкой */
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-more {
        display: none !important;
    }

    /* Скрыть все колонки грида, кроме: Счет, Сумма счета, Наименование, Организация, Стадия, Поставщик */
    .bill-index .big-grid-container .kv-grid-table .bill-col-user,
    .bill-index .big-grid-container .kv-grid-table .bill-col-site,
    .bill-index .big-grid-container .kv-grid-table .bill-col-payment,
    .bill-index .big-grid-container .kv-grid-table .bill-col-delivery-address,
    .bill-index .big-grid-container .kv-grid-table .bill-col-delivery-datetime,
    .bill-index .big-grid-container .kv-grid-table .bill-col-delivery-cost,
    .bill-index .big-grid-container .kv-grid-table .bill-col-delivery,
    .bill-index .big-grid-container .kv-grid-table .bill-col-status-comment,
    .bill-index .big-grid-container .kv-grid-table .bill-col-ready,
    .bill-index .big-grid-container .kv-grid-table .bill-col-pp-number,
    .bill-index .big-grid-container .kv-grid-table .bill-col-pp-date,
    .bill-index .big-grid-container .kv-grid-table .bill-col-provider-payment-number,
    .bill-index .big-grid-container .kv-grid-table .bill-col-provider-payment-amount,
    .bill-index .big-grid-container .kv-grid-table .bill-col-provider-payment-date,
    .bill-index .big-grid-container .kv-grid-table .bill-col-profit,
    .bill-index .big-grid-container .kv-grid-table .bill-col-comment,
    .bill-index .big-grid-container .kv-grid-table .bill-col-actions {
        display: none !important;
    }

    /* Динамическое сжатие видимых колонок при ширине экрана до 765px — содержимое не выходит за границы */
    .bill-index .big-grid-container .table-responsive,
    .bill-index .big-grid-container .kv-grid-panel .table-responsive {
        max-width: 100%;
        overflow-x: hidden;
    }

    .bill-index .big-grid-container .kv-grid-table {
        table-layout: fixed;
        width: 100%;
        max-width: 100%;
    }

    /* Доли ширины видимых колонок (в сумме 100%); шапка без «Подробнее» */
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-number,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-number { width: 14%; }

    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-amount,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-amount { width: 11%; }

    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-product,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-product { width: 24%; }

    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-contractor,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-contractor { width: 19%; }

    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-status,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-status { width: 14%; }

    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-provider,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-provider { width: 18%; }

    /* Шапка: перенос по словам, при невозможности — overflow (обрезка) */
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-number,
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-amount,
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-product,
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-contractor,
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-status,
    .bill-index .big-grid-container .kv-grid-table thead tr:first-child th.bill-col-provider {
        overflow: hidden;
        white-space: normal;
        word-break: normal;
        overflow-wrap: break-word;
        word-wrap: break-word;
        max-width: 0;
    }

    /* Перенос по словам; длинные слова — перенос/обрезка, без выхода за границы */
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-number,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-amount,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-product,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-contractor,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-status,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-provider {
        overflow: hidden;
        white-space: normal;
        word-break: normal;
        overflow-wrap: break-word;
        word-wrap: break-word;
        max-width: 0;
    }

    /* Раскрытый блок деталей — на всю ширину (ширина задаётся в JS при вставке) */
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-detail {
        display: block;
    }
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-detail td {
        display: block;
        width: 100% !important;
        min-width: 100%;
        max-width: 100%;
        padding: 12px;
        background: #f5f5f5;
        border-top: none;
        border-bottom: 2px solid #ddd;
        vertical-align: top;
        box-sizing: border-box;
    }

    .bill-index .bill-mobile-detail-blocks {
        display: flex;
        flex-wrap: wrap;
        gap: 12px 20px;
        width: 100%;
        min-width: 100%;
        box-sizing: border-box;
    }

    .bill-index .bill-mobile-detail-block {
        min-width: 140px;
        flex: 1 1 180px;
        max-width: 100%;
    }

    .bill-index .bill-mobile-detail-block-title {
        font-weight: bold;
        font-size: 11px;
        color: #666;
        margin-bottom: 4px;
    }

    .bill-index .bill-mobile-detail-block-value {
        font-size: 13px;
    }
}

/* Экран ≤482px — уменьшенный шрифт и отступы */
@media (max-width: 482px) {
    .bill-index .big-grid-container .kv-grid-table {
        font-size: 12px;
    }
    /* Кнопка «Подробнее» — не уменьшать, оставить на всю ширину и прежний размер */
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row,
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        font-size: 12px;
    }
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        width: 100% !important;
    }
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-number,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-amount,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-product,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-contractor,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-status,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-provider {
        padding: 6px 8px;
    }
}

/* Меньше 467px — шрифт ещё на 20% меньше (80% от текущего) */
@media (max-width: 466px) {
    .bill-index .big-grid-container .kv-grid-table {
        font-size: 80%;
    }
    /* Кнопка «Подробнее» — не уменьшать, как при 482px: на всю ширину, тот же размер */
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row,
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        font-size: 12px;
    }
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        width: 100% !important;
    }
}

@media (max-width: 350px) {
    .bill-index .big-grid-container .kv-grid-table {
        font-size: 11px;
    }
    /* Кнопка «Подробнее» — без уменьшения, на всю ширину */
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row,
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        font-size: 12px;
    }
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        width: 100% !important;
    }
}

/* ≤349px — шрифт ещё на 30% меньше (70% от 11px ≈ 8px) */
@media (max-width: 349px) {
    .bill-index .big-grid-container .kv-grid-table {
        font-size: 8px;
    }
    /* Кнопка «Подробнее» — без уменьшения */
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row,
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        font-size: 12px;
    }
    .bill-index .big-grid-container .kv-grid-table .bill-mobile-more-row .js-bill-row-more {
        width: 100% !important;
    }
}

@media (min-width: 768px) {
    .bill-index .bill-mobile-detail,
    .bill-index .bill-col-more,
    .bill-index .bill-mobile-more-row,
    .bill-index .big-grid-container .kv-grid-table thead th.bill-col-more,
    .bill-index .big-grid-container .kv-grid-table tbody td.bill-col-more {
        display: none !important;
    }
}