/* Ровная вёрстка на телефоне и ноутбуке — поверх style.css (style.css собирается из частей,
   поэтому правки отдельным файлом: пересборка их не сотрёт). Проверено на ширинах 360–1920. */

/* ИИ-агент: ряд подсказок шире экрана на пару пикселей — страница не должна ехать вбок */
.ac { overflow-x: clip; }

@media (max-width: 900px) {
    /* Сворачивание поиска в иконку — только в верхней шапке; поиск на странице остаётся полем */
    .search:not(.topbar .search) { flex: 1 1 auto; width: auto; justify-content: flex-start; padding: 8px 12px; }
    .search:not(.topbar .search) input { display: block; }
}

@media (max-width: 560px) {
    /* Поиск — на всю строку, фильтры под ним */
    .row-wrap > .search { flex: 1 1 100% !important; min-width: 0 !important; }

    /* Три цифры — в один ряд, а не столбиком на весь экран */
    .grid.g3:has(> .panel > .badge-icon) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .grid.g3:has(> .panel > .badge-icon) > .panel { padding: 12px; }
    .grid.g3:has(> .panel > .badge-icon) .small { font-size: 12px; line-height: 1.3; }

    /* Таблица — карточками: на узком экране не обрезается справа */
    .table-cards thead { display: none; }
    .table-cards, .table-cards tbody { display: block; }
    .table-cards tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 12px;
                      padding: 12px 16px; border-bottom: 1px solid var(--glass-line); }
    .table-cards tr:last-child { border-bottom: 0; }
    .table-cards td { padding: 0 !important; border: 0 !important; }
    .table-cards td.hide-sm { display: none; }
    .table-cards td:last-child { grid-column: 1 / -1; }
    .table-cards td:last-child .row { justify-content: flex-start !important; }
}

/* Сенсорные экраны: маленьким кнопкам-иконкам — место под палец */
@media (pointer: coarse) {
    .btn-icon.btn-sm { min-width: 36px; min-height: 36px; }
}
