.fi-tabs,
nav[role="tablist"] {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
}
.fi-tabs::-webkit-scrollbar {
    display: none;
}

/* Срочный заказ — жёлтая заливка строки таблицы */
tr.urgent-order-row,
tr.urgent-order-row > td {
    background-color: rgba(254, 240, 138, 0.55) !important;
}
tr.urgent-order-row:hover,
tr.urgent-order-row:hover > td {
    background-color: rgba(253, 224, 71, 0.7) !important;
}
.dark tr.urgent-order-row,
.dark tr.urgent-order-row > td {
    background-color: rgba(133, 77, 14, 0.28) !important;
}
.dark tr.urgent-order-row:hover,
.dark tr.urgent-order-row:hover > td {
    background-color: rgba(133, 77, 14, 0.45) !important;
}

/* Заказ с ОТКРЫТОЙ жалобой (OrderProblem) — красная
   заливка строки. Только у сборщика; класс ставит
   OrdersTable::configure() через ->recordClasses().
   Приоритетнее жёлтой срочной подсветки (правило ниже
   по каскаду перебивает её при равной специфичности).
   Решённая жалоба строку НЕ красит — там остаётся
   только значок ⚠️ в колонке. */
tr.problem-order-row,
tr.problem-order-row > td {
    background-color: rgba(239, 68, 68, 0.14) !important;
}
tr.problem-order-row:hover,
tr.problem-order-row:hover > td {
    background-color: rgba(239, 68, 68, 0.22) !important;
}
.dark tr.problem-order-row,
.dark tr.problem-order-row > td {
    background-color: rgba(153, 27, 27, 0.40) !important;
}
.dark tr.problem-order-row:hover,
.dark tr.problem-order-row:hover > td {
    background-color: rgba(153, 27, 27, 0.52) !important;
}

/* Заказ, вернувшийся из сборки на переделку
   (rework_flagged_at) — фиолетовая левая полоса и
   лёгкая заливка. Класс ставит OrdersTable через
   ->recordClasses(); приоритет по плану 2.8:
   переделка > жалоба > срочность (сам приоритет
   решается там, до CSS, — класс на строке ровно один).
   Красным возврат не красится намеренно: красное —
   это открытая жалоба, два сигнала одним цветом
   обесценивают оба. Цвет здесь вторичен, первично
   слово «ПОВТОРНАЯ СБОРКА» в подписи строки. */
tr.rework-order-row,
tr.rework-order-row > td {
    background-color: rgba(168, 85, 247, 0.13) !important;
}
tr.rework-order-row:hover,
tr.rework-order-row:hover > td {
    background-color: rgba(168, 85, 247, 0.22) !important;
}
tr.rework-order-row > td:first-child {
    box-shadow: inset 4px 0 0 0 rgb(147, 51, 234);
}
.dark tr.rework-order-row,
.dark tr.rework-order-row > td {
    background-color: rgba(107, 33, 168, 0.40) !important;
}
.dark tr.rework-order-row:hover,
.dark tr.rework-order-row:hover > td {
    background-color: rgba(107, 33, 168, 0.52) !important;
}
.dark tr.rework-order-row > td:first-child {
    box-shadow: inset 4px 0 0 0 rgb(192, 132, 252);
}

/* Модалки переделки на ТЕЛЕФОНЕ (класс окна ставят
   ->extraModalWindowAttributes у экшенов «Собираю с
   нуля» и «Снять отметку о пересборке»). Сборщик
   отвечает с телефона стоя у стола, админ снимает
   отметку тоже часто на ходу, поэтому:
     • окно во всю ширину экрана с узкими полями —
       иначе длинный текст жмётся в 3-4 слова в строку;
     • кнопки подтверждения — мишень ≥48px.
   Скролл внутри окна даёт не CSS, а stickyModalFooter:
   Filament вешает max-height только на модалку
   с приколотой шапкой или футером. */
@media (max-width: 768px) {
    .rework-mobile-modal {
        width: 100% !important;
        max-width: none !important;
    }
    .rework-mobile-modal .fi-modal-header,
    .rework-mobile-modal .fi-modal-content,
    .rework-mobile-modal .fi-modal-footer {
        padding-inline: 14px !important;
    }
    /* Приколотый футер идёт сразу за текстом — без
       этого отступа последняя строка описания
       прилипает к его верхней границе. */
    .rework-mobile-modal .fi-modal-header {
        padding-bottom: 12px !important;
    }
    .rework-mobile-modal .fi-modal-heading {
        font-size: 1.05rem !important;
        line-height: 1.3 !important;
    }
    .rework-mobile-modal .fi-modal-description {
        font-size: .9rem !important;
        line-height: 1.5 !important;
    }
    .rework-mobile-modal .fi-modal-footer .fi-btn {
        min-height: 48px !important;
        font-size: .95rem !important;
        font-weight: 700 !important;
        border-radius: .75rem !important;
    }
    /* Пока модалка открыта, баннер PWA у сборщика
       убираем совсем: кнопки он уже не перекрывает
       (см. его z-index), но светится из-под затемнения.
       Браузер без :has() просто оставит его на месте. */
    body:has(.fi-modal.fi-modal-open .rework-mobile-modal) #asm-pwa-banner {
        display: none !important;
    }
}

/* 💸 Знаки, из-за которых браузер тянет лишний кусок шрифта Inter
   (аудит трафика, находка Ф12).

   Inter разрезан по unicode-range, и подшрифт скачивается целиком, стоит на
   странице появиться ОДНОМУ символу из его диапазона:
     • «₽» (U+20BD) лежит в latin-ext — 85 068 Б, и больше на экране заказов
       из этого диапазона ничего нет;
     • «Σ» (U+03A3) лежит в greek — 18 996 Б.
   Символы решено оставить на экране как есть (решение заказчика), поэтому
   рисуем их СИСТЕМНЫМ шрифтом: Inter для них не нужен, и подшрифт не
   грузится вовсе.

   Стек, а не одно имя: system-ui закрывает современные браузеры, дальше —
   явные имена для macOS/iOS, Windows, Android и Linux; Noto/DejaVu держат оба
   знака на серверных и линуксовых машинах. Размер, вес и базовая линия
   наследуются от строки (font: inherit НЕ ставим — он сбросил бы и
   font-family обратно на Inter).

   ⚠️ Правило переехало сюда из инлайнового <style> в AdminPanelProvider при
   своде веток «быстрые правки трафика» и «вес панели»: блок целиком вынесен в
   этот файл, а класс ставят OrderStats и designer-output.blade.php. Файл
   подключается на КАЖДОЙ странице панели — ровно там же, где раньше печатался
   инлайн, — поэтому знаки покрыты везде, как и было. */
.fi-sys-glyph {
    font-family: system-ui, -apple-system, "Segoe UI",
        Roboto, "Helvetica Neue", "Noto Sans",
        "DejaVu Sans", Arial, sans-serif !important;
}
