/* ═══════════════════════════════════════════════════════════════════════════
   PriceBot Dashboard — ЧИСТЫЙ CSS (рестарт от 2026-10-08)
   ═══════════════════════════════════════════════════════════════════════════
   Порядок блоков:
     1. Шрифты
     2. Вкладки (филиалы + под-вкладки)
     3. Таблица (sticky, границы, шахматка-off)
     4. Колонки (наименование, артикул, дата, номер)
     5. Блок наличия (WMS | 1С МП | 1С Роз.) — голубой + чёрные жирные
     6. Отработанная строка (worked-row) — мягкий зелёный
     7. Просрочки — красный бордюр
     8. Площадки (Ozon, WB, Яндекс)
     9. Управление (чекбокс, комментарий)
    10. Разное (KPI, heatmap, layout)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── 1. ШРИФТЫ ────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

body, .card, .table, .navbar, input, select, button, textarea {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body { font-size: 13px; color: #1a202c; }

h1, h2, h3 { font-weight: 600; color: #0f172a; margin: 0; }
h1 { font-size: 20px; }
h2 { font-size: 17px; }
h3 { font-size: 15px; }

.subheader {
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.04em;
    color: #6c7a91;
    font-weight: 600;
}

/* ─── 2. ВКЛАДКИ ФИЛИАЛОВ ──────────────────────────────────────────────── */
.branch-tabs-bar {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 6px;
    border: 1px solid #e9ecef;
}
#branch-tabs { margin: 0; gap: 4px; }
#branch-tabs .branch-tab {
    border-radius: 8px;
    padding: 8px 16px;
    font-weight: 500;
    color: #4a5568;
    background: white;
    border: 1px solid #dee2e6;
    transition: all 0.15s;
    cursor: pointer;
    font-size: 13.5px;
    text-decoration: none;
}
#branch-tabs .branch-tab:hover {
    background: #e7f0ff;
    border-color: #b6d4fe;
    color: #206bc4;
}
#branch-tabs .branch-tab.active {
    background: #206bc4;
    color: white;
    border-color: #1857a8;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(32,107,196,0.25);
}
#branch-tabs .branch-tab.active .badge {
    background: rgba(255,255,255,0.3) !important;
    color: white !important;
}
#branch-tabs .badge {
    background: #e9ecef !important;
    color: #4a5568 !important;
    font-size: 11px;
    padding: 3px 7px;
    font-weight: 500;
}

/* Цветные фоны неактивных вкладок по филиалам */
#branch-tabs .branch-tab[data-branch="msk_yug"]:not(.active)  { background: #f0faf3; border-color: #c3e6cb; }
#branch-tabs .branch-tab[data-branch="msk_sever"]:not(.active) { background: #f0f6ff; border-color: #c9dcf5; }
#branch-tabs .branch-tab[data-branch="voronezh"]:not(.active)  { background: #fff7ef; border-color: #f5d8b8; }
#branch-tabs .branch-tab[data-branch="ul"]:not(.active)        { background: #f7f3ff; border-color: #d8c8f0; }

/* ─── ПОД-ВКЛАДКИ ──────────────────────────────────────────────────────── */
#subtabs { border-bottom: 2px solid #e5e7eb; margin: 0; }
#subtabs .subtab {
    border-radius: 0;
    padding: 10px 16px;
    font-weight: 500;
    color: #6c7a91;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    font-size: 13px;
    text-decoration: none;
}
#subtabs .subtab:hover { color: #206bc4; background: #f8f9fa; }
#subtabs .subtab.active {
    color: #206bc4;
    border-bottom-color: #206bc4;
    font-weight: 600;
    background: #f8f9fa;
}
#subtabs .subtab .badge { font-size: 11px; }

/* ─── 3. ТАБЛИЦА ───────────────────────────────────────────────────────── */
.table-scroll {
    overflow: auto !important;
    max-height: calc(100vh - 260px);
    width: 100%;
    padding-bottom: 16px;
}

/* Отключаем шахматку */
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(even) > td {
    background-color: transparent;
}

/* Sticky шапка */
#orders-table thead th,
#shipped-table thead th {
    position: sticky;
    top: 0;
    z-index: 11;
    background: #eef2f7;
    color: #1e3a5f;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 8px 6px;
    border-bottom: 2px solid #cfd9e3;
    border-right: 1px solid #dde5ee;
    text-align: left;
    white-space: nowrap;
}
#orders-table thead th:last-child,
#shipped-table thead th:last-child { border-right: none; }

/* Ячейки — границы */
#orders-table tbody td,
#shipped-table tbody td {
    font-size: 12.5px;
    padding: 6px 6px;
    border-right: 1px solid #f0f2f5;
    border-bottom: 1px solid #e5eaef;
    color: #1a202c;
    vertical-align: middle;
    line-height: 1.3;
    background-color: #ffffff;
}
#orders-table tbody td:last-child,
#shipped-table tbody td:last-child { border-right: none; }

/* Hover строки — мягкий жёлтый */
/* ─── 4. КОЛОНКИ ───────────────────────────────────────────────────────── */

/* Дата создания — серая моно */
#orders-table tbody td:nth-child(2),
#shipped-table tbody td:nth-child(2) {
    color: #718096;
    font-size: 11.5px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* Номер заказа — синий, кликабельный */
#orders-table tbody td:nth-child(3) a,
#shipped-table tbody td:nth-child(3) a {
    color: #1857a8;
    text-decoration: none;
    font-weight: 500;
}
#orders-table tbody td:nth-child(3) a:hover,
#shipped-table tbody td:nth-child(3) a:hover {
    text-decoration: underline;
}

/* Артикул — моно, тёмно-синий */
#orders-table tbody td:nth-child(6),
#shipped-table tbody td:nth-child(6) {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 600;
    color: #1e40af;
}

/* Наименование — моно, узкое, обрезка + tooltip */
#orders-table tbody td:nth-child(7),
#shipped-table tbody td:nth-child(7) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: #2d3748;
    cursor: help;
    padding-left: 4px;
    padding-right: 4px;
}

/* Ужимаем padding во всех ячейках — влезет больше колонок */
#orders-table tbody td,
#shipped-table tbody td {
    padding: 5px 4px !important;
}

/* Заголовки — компактнее */
#orders-table thead th,
#shipped-table thead th {
    padding: 6px 4px !important;
    font-size: 10.5px !important;
}

/* Числовые колонки — компактнее */
#orders-table tbody td:nth-child(8),
#orders-table tbody td:nth-child(10),
#orders-table tbody td:nth-child(14),
#orders-table tbody td:nth-child(16),
#orders-table tbody td:nth-child(17) {
    padding-left: 3px !important;
    padding-right: 3px !important;
}

/* Артикул компонента — тоже узко */
#orders-table tbody td:nth-child(9) {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Поставщик — узко */
#orders-table tbody td:nth-child(15) {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11.5px;
}

/* Артикул-компонент — моно */
#orders-table tbody td:nth-child(9) {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11.5px;
}

/* Поставщик — обычный */
#orders-table tbody td:nth-child(15) {
    font-size: 12px;
    color: #2d3748;
}

/* ─── 5. БЛОК НАЛИЧИЯ (WMS | 1С МП | 1С Роз.) ─────────────────────────── */
/* ─── 7. ПРОСРОЧКИ (> 5 дней в статусе new) ───────────────────────────── */
#orders-table tbody tr.overdue-row td:first-child {
    box-shadow: inset 4px 0 0 #d63939;
}
#orders-table tbody tr.overdue-row td {
    background-color: #fff5f5;
}
/* Отработанная просрочка — зелёный побеждает */
#orders-table tbody tr.overdue-row.worked-row td {
    background-color: #e6f4ea !important;
    box-shadow: none !important;
}

/* ─── 8. ПЛОЩАДКИ ──────────────────────────────────────────────────────── */
.badge.mp-ozon  { background-color: #005BFF !important; color: #fff !important; font-weight: 600 !important; }
.badge.mp-wb    { background-color: #7B1FA2 !important; color: #fff !important; font-weight: 600 !important; }
.badge.mp-ya    { background-color: #FFCC00 !important; color: #212121 !important; font-weight: 700 !important; }
.badge.mp-other { background-color: #e2e8f0 !important; color: #2d3748 !important; font-weight: 500 !important; }

/* ─── 9. УПРАВЛЕНИЕ ────────────────────────────────────────────────────── */
.t-checkbox {
    width: 17px;
    height: 17px;
    cursor: pointer;
    border: 2px solid #adb5bd;
    border-radius: 4px;
    background-color: #ffffff;
    accent-color: #206bc4;
    vertical-align: middle;
}
.t-checkbox:checked {
    background-color: #206bc4;
    border-color: #1857a8;
}
.t-checkbox:hover { border-color: #206bc4; }
.t-checkbox:focus {
    box-shadow: 0 0 0 3px rgba(32,107,196,0.25);
    outline: none;
}

.comment-input {
    font-size: 12px;
    padding: 3px 6px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
}
.comment-input:focus {
    border-color: #206bc4;
    box-shadow: 0 0 0 0.15rem rgba(32,107,196,.15);
    outline: none;
}

/* ─── 10. РАЗНОЕ ───────────────────────────────────────────────────────── */
.page-body { padding-top: 6px !important; padding-bottom: 40px !important; }
.container-fluid { padding-left: 8px !important; padding-right: 8px !important; }
.card { border-radius: 8px; }

/* Фильтры */
.card-body.py-2 .form-label,
.card-body.py-2 .form-label.small {
    font-size: 11px;
    color: #6c7a91;
    font-weight: 500;
    margin-bottom: 2px;
}

/* KPI (Обзор) */
.kpi-critical { color: #d63939 !important; }
.kpi-warning  { color: #f59f00 !important; }
.kpi-ok       { color: #2fb344 !important; }

/* Heatmap */
.heatmap-table { border-collapse: collapse; font-size: 11px; }
.heatmap-table th { padding: 4px 6px; color: #6c7a91; font-weight: 500; }
.heatmap-table td {
    width: 28px;
    height: 28px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #e5e7eb;
    font-size: 10px;
    color: #111827;
    cursor: help;
}
.heatmap-table td:hover { outline: 2px solid #206bc4; }

/* Flash-уведомления */
.alert.position-fixed { border-radius: 8px; box-shadow: 0 6px 20px rgba(0,0,0,0.15); }

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ ГРАНИЦА СПРАВА ОТ НАЗВАНИЯ + ЧУТЬ ПОШИРЕ СТРОКИ
   ═══════════════════════════════════════════════════════════════════════════ */

/* Граница справа от колонки «Название» (7-я колонка) */
html body #orders-table thead th:nth-child(7),
html body #orders-table tbody td:nth-child(7),
html body #shipped-table thead th:nth-child(7),
html body #shipped-table tbody td:nth-child(7) {
    border-right: 2px solid #a8b8cc !important;
}

/* Строки — чуть пошире (высота) */
html body #orders-table tbody td,
html body #shipped-table tbody td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    line-height: 1.4 !important;
}

/* Заголовки — повыше */
html body #orders-table thead th,
html body #shipped-table thead th {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ РЕСАЙЗ КОЛОНОК — пользователь тянет границу
   ═══════════════════════════════════════════════════════════════════════════ */

/* Каждый <th> — относительно-позиционированный, чтобы внутри был ползунок */
#orders-table thead th,
#shipped-table thead th {
    position: sticky;
    /* position: sticky важнее — оставляем */
}

/* Ползунок ресайза — невидимая полоса справа от каждой колонки */
.col-resizer {
    position: absolute;
    top: 0;
    right: -4px;
    width: 8px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
    z-index: 20;
    background: transparent;
    transition: background 0.15s;
}
.col-resizer:hover,
.col-resizer.resizing {
    background: #206bc4;
    opacity: 0.5;
}

/* При ресайзе — отключаем выделение текста во всей таблице */
body.resizing * {
    user-select: none !important;
    cursor: col-resize !important;
}

/* Кнопка сброса ресайза — маленькая, в правом углу фильтров */
.btn-reset-cols {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f0f2f5;
    border: 1px solid #dee2e6;
    color: #4a5568;
    cursor: pointer;
    margin-left: 8px;
}
.btn-reset-cols:hover {
    background: #e2e8f0;
    color: #1a202c;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ РЕСАЙЗ ТОЛЬКО НА НАЗВАНИИ — жёстко
   ═══════════════════════════════════════════════════════════════════════════ */

/* Убираем ползунки со всех остальных <th> */
#orders-table thead th .col-resizer:not(:only-of-type) {
    display: none;
}

/* Показываем ползунок только на 7-й колонке (Название) */
#orders-table thead th:nth-child(7) .col-resizer {
    display: block;
}

/* Делаем ползунок заметным — тонкая линия на правой границе */
#orders-table thead th:nth-child(7) .col-resizer {
    position: absolute;
    top: 0;
    right: -3px;
    width: 6px;
    height: 100%;
    cursor: col-resize;
    background: #dde5ee;
    transition: background 0.15s;
    z-index: 21;
}
#orders-table thead th:nth-child(7) .col-resizer:hover,
#orders-table thead th:nth-child(7) .col-resizer.resizing {
    background: #206bc4;
}

/* Название — обрезка + минимальная ширина */
#orders-table tbody td:nth-child(7) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 40px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ НАЗВАНИЕ — широкая колонка по умолчанию
   ═══════════════════════════════════════════════════════════════════════════ */

/* Отключаем max-width — JS управляет шириной */
#orders-table thead th:nth-child(7),
#orders-table tbody td:nth-child(7) {
    min-width: 40px;
    /* max-width снимаем полностью */
    max-width: none !important;
}

/* Обрезка срабатывает только когда реально не влезает */
#orders-table tbody td:nth-child(7) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ НАЗВАНИЕ — минимум 20px, БЕЗ ограничений сверху
   ═══════════════════════════════════════════════════════════════════════════ */

html body #orders-table thead th:nth-child(7),
html body #orders-table tbody td:nth-child(7) {
    min-width: 20px !important;
    max-width: none !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Когда колонка сужена до минимума — текст полностью обрезан */
html body #orders-table tbody td:nth-child(7):empty::after {
    content: '';
}

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ РЕСАЙЗ РАБОТАЕТ — принудительный fixed layout
   ═══════════════════════════════════════════════════════════════════════════ */

html body table#orders-table,
html body table#shipped-table {
    table-layout: fixed !important;
    width: 100% !important;
}

/* Все <th> — ширина по содержимому, кроме «Название» */
html body #orders-table thead th,
html body #shipped-table thead th {
    width: auto;
}

/* «Название» — фиксированная, управляется через <col> */
html body #orders-table thead th:nth-child(7) {
    min-width: 20px;
    max-width: none;
    position: relative;
}

/* Ячейки — обрезка */
html body #orders-table tbody td:nth-child(7) {
    min-width: 20px;
    max-width: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ ФИКС: table-layout auto, но «Название» управляется через <col>
   ═══════════════════════════════════════════════════════════════════════════ */

html body table#orders-table,
html body table#shipped-table {
    table-layout: auto !important;
    width: 100% !important;
}

/* Отключить фиксацию остальных колонок */
html body #orders-table thead th,
html body #shipped-table thead th {
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
}

/* «Название» — только эта колонка с фиксированной шириной */
html body #orders-table thead th:nth-child(7),
html body #orders-table tbody td:nth-child(7) {
    min-width: 40px;
    max-width: 2000px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ⚡ НАЗВАНИЕ = АРТИКУЛ × 2 + tooltip при hover
   ═══════════════════════════════════════════════════════════════════════════ */

/* Артикул — фиксированная ширина базы (140px → название 280px) */
html body #orders-table thead th:nth-child(6),
html body #orders-table tbody td:nth-child(6) {
    min-width: 140px !important;
    max-width: 140px !important;
    width: 140px !important;
    box-sizing: border-box !important;
}

/* Название — ровно ×2 от артикула */
html body #orders-table thead th:nth-child(7),
html body #orders-table tbody td:nth-child(7) {
    min-width: 280px !important;
    max-width: 280px !important;
    width: 280px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    cursor: help !important;
}

/* Все колонки — box-sizing для точного расчёта */
html body #orders-table thead th,
html body #orders-table tbody td {
    box-sizing: border-box !important;
}

/* Для скроллируемой таблицы DataTables */
/* Убираем классы сортировки с ячеек */
table.dataTable tbody td.sorting_1,
table.dataTable tbody td.sorting_2,
table.dataTable tbody td.sorting_3,
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
    background-color: inherit !important;
}

/* Шапка тоже синяя */
/* При наведении строки — сохраняем синий фон для этих колонок */
/* Фиксируем ширину колонок во время перерисовки */
table.dataTable.stripe,
table.dataTable.display tbody tr.odd,
table.dataTable.display tbody tr.even {
    background-color: inherit !important;
}

/* Плавная прокрутка */
.dataTables_scrollBody {
    scroll-behavior: auto !important;
}

/* Для скроллируемой области DataTables */
.dataTables_scrollHead thead th,
.dataTables_scrollHead thead th.sorting,
.dataTables_scrollHead thead th.sorting_asc,
.dataTables_scrollHead thead th.sorting_desc {
    background-color: #2c3e50 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #1a252f !important;
}

/* Шапка таблицы "Ушли" */
#shipped-table thead th {
    background-color: #2c3e50 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #1a252f !important;
}

/* При наведении на шапку — чуть светлее */
.dataTables_scrollHead thead th:hover,
#orders-table thead th:hover {
    background-color: #34495e !important;
}

/* Основная шапка */
#orders-table thead th,
#shipped-table thead th {
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
}

/* Для DataTables с scrollX/scrollY */
.dataTables_scrollHead table thead th,
.dataTables_scrollHead table thead th.sorting,
.dataTables_scrollHead table thead th.sorting_asc,
.dataTables_scrollHead table thead th.sorting_desc {
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
}

/* Убираем стрелки сортировки */
.dataTables_scrollHead table thead th::after,
.dataTables_scrollHead table thead th::before {
    display: none !important;
}

/* При наведении — чуть светлее */
.dataTables_scrollHead table thead th:hover {
    background-color: #5dade2 !important;
}

/* Синие колонки наличия в шапке */
/* Контейнер таблицы должен иметь максимальную высоту и скролл */
.dataTables_wrapper {
    max-height: calc(100vh - 250px);
    overflow-y: auto;
    overflow-x: hidden;
}

/* Шапка таблицы — sticky */
#orders-table thead th,
#shipped-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
}

/* Убираем стрелки сортировки */
#orders-table thead th::after,
#orders-table thead th::before,
#shipped-table thead th::after,
#shipped-table thead th::before {
    display: none !important;
}

/* Синие колонки наличия в шапке */
/* При наведении на шапку */
#orders-table thead th:hover,
#shipped-table thead th:hover {
    background-color: #5dade2 !important;
}

/* Фиксация скролла при обновлении */
.dataTables_wrapper {
    overflow-anchor: none !important;
}

/* Все возможные селекторы для шапки */
table.dataTable thead th,
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc,
.dataTables_scrollHead table thead th,
.dataTables_scrollHead table thead th.sorting,
.dataTables_scrollHead table thead th.sorting_asc,
.dataTables_scrollHead table thead th.sorting_desc,
#orders-table thead th,
#shipped-table thead th {
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
}

/* Убираем стрелки сортировки */
table.dataTable thead th::after,
table.dataTable thead th::before,
.dataTables_scrollHead table thead th::after,
.dataTables_scrollHead table thead th::before {
    display: none !important;
    content: none !important;
}

/* Колонки наличия в шапке */
/* При наведении */
table.dataTable thead th:hover,
.dataTables_scrollHead table thead th:hover {
    background-color: #5dade2 !important;
}

/* Скрываем вторую строку шапки, которую создаёт DataTables */
.dataTables_scrollHead table thead tr:nth-child(2),
.dataTables_scrollHead table thead tr + tr {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
}

/* Убираем лишние отступы */
.dataTables_scrollHead {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Фиксируем высоту шапки */
.dataTables_scrollHead table thead tr {
    height: auto !important;
}

/* Увеличиваем пространство внизу таблицы */
.dataTables_scrollBody {
    padding-bottom: 50px !important;
}

/* Шапка таблицы — sticky внутри контейнера */
#orders-table thead th,
#shipped-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
}

/* Убираем дублирующую строку шапки */
.dataTables_scrollHead table thead tr:nth-child(2) {
    display: none !important;
}

/* Колонки наличия в шапке */
/* При наведении на шапку */
#orders-table thead th:hover {
    background-color: #5dade2 !important;
}

/* Убираем стрелки сортировки */
#orders-table thead th::after,
#orders-table thead th::before {
    display: none !important;
    content: none !important;
}

/* Шапка в scrollHead (верхняя таблица) */
.dataTables_scrollHead table thead th {
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
}

/* Колонки наличия в шапке */
/* При наведении */
.dataTables_scrollHead table thead th:hover {
    background-color: #5dade2 !important;
}

/* Убираем стрелки сортировки */
.dataTables_scrollHead table thead th.sorting::after,
.dataTables_scrollHead table thead th.sorting_asc::after,
.dataTables_scrollHead table thead th.sorting_desc::after {
    display: none !important;
}

/* Тело таблицы */
.dataTables_scrollBody {
    overflow-anchor: none !important;
}

/* Горизонтальный скролл для таблицы */
.table-responsive {
    overflow-x: auto !important;
    overflow-y: visible !important;
}

/* Шапка прилипает к верху при прокрутке страницы */
#orders-table thead th,
#shipped-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
}

/* Колонки наличия в шапке */
/* При наведении */
#orders-table thead th:hover {
    background-color: #5dade2 !important;
}

/* Убираем стрелки сортировки */
#orders-table thead th.sorting::after,
#orders-table thead th.sorting_asc::after,
#orders-table thead th.sorting_desc::after {
    display: none !important;
}

/* Убираем дублирующую строку шапки */
.dataTables_scrollHead table thead tr:nth-child(2),
table.dataTable thead tr + tr {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

/* Пространство внизу таблицы */
#orders-table tbody tr:last-child td {
    padding-bottom: 100px !important;
}

/* Контейнер для горизонтального скролла */
.custom-table-wrapper {
    overflow-x: auto !important;
    overflow-y: visible !important;
    max-width: 100% !important;
}

/* Шапка таблицы — sticky к верху viewport */
#orders-table thead th,
#shipped-table thead th {
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
}

/* Колонки наличия в шапке */
/* При наведении */
#orders-table thead th:hover {
    background-color: #5dade2 !important;
}

/* Убираем стрелки сортировки */
#orders-table thead th::after,
#orders-table thead th::before {
    display: none !important;
    content: none !important;
}

/* Пространство внизу таблицы */
#orders-table tbody tr:last-child td {
    padding-bottom: 80px !important;
}

/* === STICKY ШАПКА — УСИЛЕННЫЕ ПРАВИЛА === */

/* Убираем overflow у всех родителей таблицы */
.dataTables_wrapper,
.dataTables_wrapper *,
.custom-table-wrapper,
.custom-table-wrapper *,
#orders-table,
#orders-table * {
    overflow: visible !important;
}

/* Разрешаем overflow-x только для контейнера */
.custom-table-wrapper {
    overflow-x: auto !important;
    overflow-y: visible !important;
}

/* Шапка — sticky с максимальным приоритетом */
#orders-table thead th,
#shipped-table thead th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background-color: #3498db !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 3px solid #2980b9 !important;
    padding: 10px 8px !important;
    white-space: nowrap !important;
    background-clip: padding-box !important;
}

/* Колонки наличия */
/* При наведении */
#orders-table thead th:hover {
    background-color: #5dade2 !important;
}

/* Убираем стрелки */
#orders-table thead th::after,
#orders-table thead th::before {
    display: none !important;
}

/* Пространство внизу */
#orders-table tbody tr:last-child td {
    padding-bottom: 80px !important;
}

/* === РАЗБЛОКИРОВКА STICKY ДЛЯ DATATABLES === */
.dataTables_wrapper,
.dataTables_scroll,
.dataTables_scrollHead,
.dataTables_scrollBody,
.custom-table-wrapper,
.table-responsive {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

/* === БЛОК НАЛИЧИЯ: ВСЕГДА ЧЁРНЫЕ И ЖИРНЫЕ ЦИФРЫ === */

/* Ячейки блока наличия во всех состояниях */
/* Для DataTables с scrollX/scrollY */
/* При наведении — сохраняем чёрный цвет */
/* === УВЕЛИЧЕННАЯ ЖИРНОСТЬ ШРИФТОВ В ТАБЛИЦЕ === */

/* Все ячейки таблицы заказов — medium weight (500) */
#orders-table tbody td,
#orders-table thead th {
    font-weight: 500 !important;
}

/* Таблица "Ушли" — тоже */
#shipped-table tbody td,
#shipped-table thead th {
    font-weight: 500 !important;
}

/* Блок наличия оставляем жирным (700) */
/* Ссылки и артикулы — тоже чуть жирнее */
#orders-table tbody td a,
#orders-table tbody td .badge {
    font-weight: 600 !important;
}

/* Яркий желтый Tabler */
    color: #000000 !important;
}

/* Если класс генерируется динамически и содержит 'yandex' или 'яндекс' */
.badge[class*="yandex" i],
.badge[class*="яндекс" i] {
    background-color: #fcc419 !important;
    color: #000000 !important;
}

/* Яркий желтый Tabler */
    color: #000000 !important;
    font-weight: 600 !important;
}

/* Переопределяем серый mp-other, если там вдруг оказался Яндекс */
.badge.mp-other {
    background-color: #e2e8f0 !important;
    color: #2d3748 !important;
}

/* === БЕЙДЖ ЯНДЕКС — ВСЕГДА ЯРКО-ЖЁЛТЫЙ === */
.badge.mp-ya {
    background-color: #fcc419 !important; /* Яркий желтый Tabler */
    color: #000000 !important;
    font-weight: 600 !important;
    border: 1px solid #e6b800 !important;
}

/* === ЦВЕТА СТРОК ПО СТАТУСАМ (через CSS-классы) === */
tr.row-status-processing {
    background-color: #FFF9C4 !important;
}
tr.row-status-delivery {
    background-color: #C8E6C9 !important;
}
tr.row-status-canceled {
    background-color: #FFCDD2 !important;
}

/* При наведении — чуть темнее */
tr.row-status-processing:hover {
    background-color: #FFF59D !important;
}
tr.row-status-delivery:hover {
    background-color: #A5D6A7 !important;
}
tr.row-status-canceled:hover {
    background-color: #EF9A9A !important;
}

/* =========================================================
   КОПИРОВАНИЕ ПО КЛИКУ
   ========================================================= */
td.copyable {
    cursor: copy !important;
    transition: background-color 0.15s ease;
    position: relative;
}
td.copyable:hover {
    background-color: rgba(52, 152, 219, 0.10) !important;
}
td.copyable.copied::after {
    content: '✓ Скопировано';
    position: absolute;
    top: -22px;
    right: 4px;
    background: #2ecc71;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    pointer-events: none;
    white-space: nowrap;
    z-index: 9999;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
td.copyable.copied::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 12px;
    border: 5px solid transparent;
    border-top-color: #2ecc71;
    pointer-events: none;
    z-index: 9999;
}

/* =========================================================
   ФИЛЬТРЫ ПО КОЛОНКАМ (как в Google Sheets)
   ========================================================= */
.dt-col-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}
.dt-filter-btn {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 11px;
    padding: 0 4px;
    opacity: 0.7;
    transition: opacity 0.15s;
    line-height: 1;
}
.dt-filter-btn:hover {
    opacity: 1;
}
.dt-filter-btn.active {
    opacity: 1;
    color: #fff700;
}
.dt-filter-popup {
    position: fixed;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    min-width: 240px;
    max-width: 320px;
    max-height: 400px;
    overflow: hidden;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    font-size: 13px;
}
.dt-filter-popup .dfp-search {
    padding: 8px;
    border-bottom: 1px solid #eee;
}
.dt-filter-popup .dfp-search input {
    width: 100%;
    padding: 5px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 12px;
}
.dt-filter-popup .dfp-list {
    overflow-y: auto;
    max-height: 260px;
    padding: 4px 0;
}
.dt-filter-popup .dfp-item {
    display: flex;
    align-items: center;
    padding: 4px 12px;
    cursor: pointer;
    user-select: none;
}
.dt-filter-popup .dfp-item:hover {
    background: #f0f6ff;
}
.dt-filter-popup .dfp-item input {
    margin-right: 8px;
}
.dt-filter-popup .dfp-actions {
    display: flex;
    justify-content: space-between;
    padding: 8px;
    border-top: 1px solid #eee;
    gap: 6px;
}
.dt-filter-popup button {
    padding: 5px 12px;
    border-radius: 4px;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
    font-size: 12px;
}
.dt-filter-popup .dfp-apply {
    background: #206bc4;
    border-color: #206bc4;
    color: #fff;
    flex: 1;
}
.dt-filter-popup .dfp-apply:hover {
    background: #1c5da8;
}

/* =========================================================
   CTRL+F — свой поиск (нормализация)
   ========================================================= */
.cf-bar {
    position: fixed;
    top: 12px;
    right: 12px;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    padding: 8px 12px;
    display: none;
    align-items: center;
    gap: 8px;
    z-index: 99999;
    font-size: 13px;
}
.cf-bar.visible {
    display: flex;
}
.cf-bar input {
    padding: 5px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 13px;
    width: 260px;
}
.cf-bar .cf-count {
    color: #666;
    font-size: 12px;
    min-width: 40px;
    text-align: right;
}
.cf-bar button {
    padding: 5px 8px;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 4px;
    cursor: pointer;
}
.cf-bar button:hover {
    background: #f0f6ff;
}
.cf-highlight {
    background-color: #fff700 !important;
    color: #000 !important;
    padding: 0 2px;
    border-radius: 2px;
}
.cf-highlight-active {
    background-color: #ff9500 !important;
    color: #fff !important;
}



/* ═══════════════════════════════════════════════════════════════════════
   ПРАВИЛА ДЛЯ ORDERS TABLE (наши)
   Пересобрано 2026-10-10
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── 1. Размеры шрифта: К-во (nth-child 10), WMS/1С МП/1С Роз. (11-13) ─── */
#orders-table tbody td:nth-child(10) {
    font-size: 12px !important;
    font-weight: 600;
}
/* (удалён старый блок hover/no-stock-row/pinned — теперь в конце файла) */

/* ─── 5. Скрытие колонки «1С Роз.» — только через класс dt-column-hidden ─── */
#orders-table th.dt-column-hidden,
#orders-table td.dt-column-hidden {
    display: none !important;
    width: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* ─── 6. Кнопка «Сбросить фильтры» ─── */
#btn-reset-all-filters {
    white-space: nowrap;
    font-size: 12px;
    padding: 4px 10px;
}
#btn-reset-all-filters:hover {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
}
#btn-reset-all-filters:disabled {
    opacity: 0.6;
    cursor: wait;
}

/* ─── 7. Ctrl+F — подсветка найденных ячеек ─── */
.cf-cell-hl {
    background-color: #FFF59D !important;
    box-shadow: inset 0 0 0 2px #FBC02D !important;
}
.cf-cell-hl-active {
    background-color: #FFB74D !important;
    box-shadow: inset 0 0 0 3px #E65100 !important;
    outline: 2px solid #E65100 !important;
    outline-offset: -2px;
}
#orders-table tbody tr td.cf-cell-hl,
#shipped-table tbody tr td.cf-cell-hl {
    background-color: #FFF59D !important;
    box-shadow: inset 0 0 0 2px #FBC02D !important;
}
#orders-table tbody tr td.cf-cell-hl-active,
#shipped-table tbody tr td.cf-cell-hl-active {
    background-color: #FFB74D !important;
    box-shadow: inset 0 0 0 3px #E65100 !important;
}

/* ─── 8. Фильтр колонок: блок «Все» ─── */
.dt-filter-popup .dfp-all-wrap {
    padding: 4px 8px;
    border-bottom: 1px solid #eee;
    background: #f8f9fa;
}
.dt-filter-popup .dfp-all-item {
    padding: 6px 4px;
    font-weight: 600;
}
.dt-filter-popup .dfp-all-item input {
    margin-right: 8px;
}


/* ═══════════════════════════════════════════════════════════════════
   ФИНАЛЬНЫЙ БЛОК ЦВЕТОВ (Шаг 3 — 2026-10-10)
   
   Приоритеты по возрастанию:
     1. обычная (белая)
     2. worked-row (зелёная) — T=TRUE
     3. no-stock-row (розовая) — WMS=0 И МП=0 И Роз=0 И T≠TRUE
     4. hover (жёлтая)
     5. pinned (оранжевая) — клик, перекрывает всё
   
   Голубые колонки (WMS, 1С МП, 1С Роз.) — поверх любого состояния.
   ═══════════════════════════════════════════════════════════════════ */

/* ─── 2. ОБЫЧНАЯ СТРОКА ─── */
/* Ничего не делаем — Bootstrap/Tabler сам */

/* ─── 3. ОТРАБОТАННАЯ СТРОКА (worked-row) — зелёная ─── */
#orders-table tbody tr.worked-row > td:not([data-col]) {
    background-color: #C8E6C9 !important;
    box-shadow: inset 0 0 0 9999px #C8E6C9 !important;
    --bs-table-accent-bg: #C8E6C9 !important;
}

/* ─── 4. СТРОКА «НЕТ ТОВАРА» (no-stock-row) — бледно-розовая ─── */
/* Вся строка целиком, КРОМЕ голубых колонок */
#orders-table tbody tr.no-stock-row > td:not([data-col]) {
    background-color: #FADBD8 !important;
    box-shadow: inset 0 0 0 9999px #FADBD8 !important;
    --bs-table-accent-bg: #FADBD8 !important;
}

/* Ховер для «нет товара» — чуть ярче */
#orders-table tbody tr.no-stock-row:hover > td:not([data-col]) {
    background-color: #F5B7B1 !important;
    box-shadow: inset 0 0 0 9999px #F5B7B1 !important;
    --bs-table-accent-bg: #F5B7B1 !important;
}

/* ─── 5. HOVER НА ОБЫЧНУЮ СТРОКУ — жёлтая ─── */
#orders-table tbody tr:not(.pinned):not(.no-stock-row):not(.worked-row):hover > td:not([data-col]) {
    background-color: #FFE082 !important;
    transition: background-color 0.1s ease;
}

/* ─── 6. PINNED (закреплённая) — оранжевая, максимальный приоритет ─── */
#orders-table tbody tr.pinned > td:not([data-col]) {
    background-color: #FFB74D !important;
    box-shadow: inset 0 0 0 2px #E65100 !important;
    --bs-table-accent-bg: #FFB74D !important;
    font-weight: 500;
}

#orders-table tbody tr.pinned:hover > td:not([data-col]) {
    background-color: #FF9800 !important;
    box-shadow: inset 0 0 0 2px #E65100 !important;
}

/* Голубые колонки внутри pinned — оставляем голубыми, но с рамкой pinned */
#orders-table tbody tr.pinned > td[data-col] {
    box-shadow: inset 0 0 0 2px #E65100 !important;
}




/* ═══════════════════════════════════════════════════════════════════
   КОЛИЧЕСТВО: ЖЁСТКОЕ ПРАВИЛО — чёрный, жирный, 14px
   Колонки: «Кл.» (qty_order) + «К-во» (qty) — во ВСЕХ таблицах
   Не зависит от состояния строки: обычная / worked / no-stock / pinned / hover.
   ═══════════════════════════════════════════════════════════════════ */

/* База */
#orders-table tbody td[data-col="qty_order"],
#orders-table tbody td[data-col="qty"],
#shipped-table tbody td[data-col="qty"] {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Явно — все состояния строки */
#orders-table tbody tr.worked-row td[data-col="qty_order"],
#orders-table tbody tr.worked-row td[data-col="qty"],
#orders-table tbody tr.no-stock-row td[data-col="qty_order"],
#orders-table tbody tr.no-stock-row td[data-col="qty"],
#orders-table tbody tr.pinned td[data-col="qty_order"],
#orders-table tbody tr.pinned td[data-col="qty"],
#orders-table tbody tr:hover td[data-col="qty_order"],
#orders-table tbody tr:hover td[data-col="qty"],
#shipped-table tbody tr.worked-row td[data-col="qty"],
#shipped-table tbody tr:hover td[data-col="qty"] {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   КОМП. (Артикул компонента) — обрезка, чтобы не залезал на соседей
   ═══════════════════════════════════════════════════════════════════ */

#orders-table tbody td[data-col="comp"] {
    max-width: 140px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}



/* ═══════════════════════════════════════════════════════════════════
   БЛОК НАЛИЧИЯ: ЖЁСТКОЕ ПРАВИЛО — чёрный, жирный, 14px
   
   Колонки: WMS + 1С МП + 1С Роз.
   Не зависит от состояния строки: обычная / worked / no-stock / pinned / hover.
   Голубой фон сохраняется, но текст всегда чёрный жирный 14px.
   ═══════════════════════════════════════════════════════════════════ */

/* База — все три колонки */
#orders-table tbody td[data-col="wms"],
#orders-table tbody td[data-col="mp_1c"],
#orders-table tbody td[data-col="retail_1c"] {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Явно — все состояния строки */
#orders-table tbody tr.worked-row td[data-col="wms"],
#orders-table tbody tr.worked-row td[data-col="mp_1c"],
#orders-table tbody tr.worked-row td[data-col="retail_1c"],
#orders-table tbody tr.no-stock-row td[data-col="wms"],
#orders-table tbody tr.no-stock-row td[data-col="mp_1c"],
#orders-table tbody tr.no-stock-row td[data-col="retail_1c"],
#orders-table tbody tr.pinned td[data-col="wms"],
#orders-table tbody tr.pinned td[data-col="mp_1c"],
#orders-table tbody tr.pinned td[data-col="retail_1c"],
#orders-table tbody tr:hover td[data-col="wms"],
#orders-table tbody tr:hover td[data-col="mp_1c"],
#orders-table tbody tr:hover td[data-col="retail_1c"] {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* И даже для явных классов Bootstrap, которые могут остаться где-то */
#orders-table tbody td[data-col="wms"].text-success,
#orders-table tbody td[data-col="mp_1c"].text-success,
#orders-table tbody td[data-col="retail_1c"].text-success,
#orders-table tbody td[data-col="wms"].text-muted,
#orders-table tbody td[data-col="mp_1c"].text-muted,
#orders-table tbody td[data-col="retail_1c"].text-muted {
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}



/* ═══════════════════════════════════════════════════════════════════
   БЛОК НАЛИЧИЯ: ГОЛУБОЙ ФОН + чёрные жирные 14px
   
   Колонки: WMS + 1С МП + 1С Роз. (#orders-table)
   
   Перебиваем Bootstrap 5 / Tabler table-striped:
   - background-color
   - box-shadow: inset 0 0 0 9999px — глушит чужой accent-bg
   - все accent-переменные Bootstrap / Tabler
   ═══════════════════════════════════════════════════════════════════ */

/* Три колонки наличия — голубой фон + чёрный жирный 14px */
#orders-table tbody td[data-col="wms"],
#orders-table tbody td[data-col="mp_1c"],
#orders-table tbody td[data-col="retail_1c"] {
    background-color: #a9cce3 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 9999px #a9cce3 !important;
    --bs-table-accent-bg: #a9cce3 !important;
    --bs-table-striped-bg: #a9cce3 !important;
    --tblr-table-accent-bg: #a9cce3 !important;
    --tblr-table-striped-bg: #a9cce3 !important;
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Ховер на голубой колонке — чуть темнее */
#orders-table tbody tr:hover td[data-col="wms"],
#orders-table tbody tr:hover td[data-col="mp_1c"],
#orders-table tbody tr:hover td[data-col="retail_1c"] {
    background-color: #93bcd8 !important;
    box-shadow: inset 0 0 0 9999px #93bcd8 !important;
    --bs-table-accent-bg: #93bcd8 !important;
    --tblr-table-accent-bg: #93bcd8 !important;
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Внутри worked-row / no-stock-row / pinned — тоже голубой */
#orders-table tbody tr.worked-row td[data-col="wms"],
#orders-table tbody tr.worked-row td[data-col="mp_1c"],
#orders-table tbody tr.worked-row td[data-col="retail_1c"],
#orders-table tbody tr.no-stock-row td[data-col="wms"],
#orders-table tbody tr.no-stock-row td[data-col="mp_1c"],
#orders-table tbody tr.no-stock-row td[data-col="retail_1c"],
#orders-table tbody tr.pinned td[data-col="wms"],
#orders-table tbody tr.pinned td[data-col="mp_1c"],
#orders-table tbody tr.pinned td[data-col="retail_1c"] {
    background-color: #a9cce3 !important;
    box-shadow: inset 0 0 0 9999px #a9cce3 !important;
    --bs-table-accent-bg: #a9cce3 !important;
    --tblr-table-accent-bg: #a9cce3 !important;
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* Шапка голубых колонок */
#orders-table thead th[data-col="wms"],
#orders-table thead th[data-col="mp_1c"],
#orders-table thead th[data-col="retail_1c"] {
    background-color: #2980b9 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 9999px #2980b9 !important;
    --bs-table-accent-bg: #2980b9 !important;
    --tblr-table-accent-bg: #2980b9 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
}



/* ═══════════════════════════════════════════════════════════════════
   ШАГ 4. КОЛОНКА АРТИКУЛА — фон из JS (inline style) не перебивать
   ═══════════════════════════════════════════════════════════════════
   
   Фон задаётся в JS инлайном через background-color.
   По правилам CSS inline style без !important слабее внешних
   правил с !important. Поэтому для worked-row / no-stock-row / hover
   добавляем !important.
*/

/* Фон артикула — приоритет над worked-row и no-stock-row */
#orders-table tbody tr.worked-row > td[data-col="article"],
#orders-table tbody tr.no-stock-row > td[data-col="article"],
#orders-table tbody tr.pinned > td[data-col="article"] {
    background-color: inherit;
}

/* Inline style на td[data-col="article"] должен побеждать */
#orders-table tbody td[data-col="article"] {
    /* Ничего не форсируем — inline style сам победит
       worked-row / no-stock-row, потому что у них
       селектор с :not([data-col]) */
}

/* На hover — не перебиваем фон артикула жёлтым */
#orders-table tbody tr:not(.pinned):not(.no-stock-row):hover > td[data-col="article"] {
    background-color: inherit;
}


/* ═══════════════════════════════════════════════════════════════════
   ФИКС АРТИКУЛА: Tabler рисует фон через box-shadow
   
   Tabler имеет правило:
     .table-striped > tbody > tr:nth-of-type(odd) > * {
         box-shadow: inset 0 0 0 9999px var(--tblr-table-striped-bg);
     }
   
   box-shadow рисуется ПОВЕРХ background-color, из-за чего наш
   inline background-color (цвет артикула) не виден — ячейка
   кажется белой.
   
   Фикс: убираем box-shadow и обнуляем все accent-переменные
   на ячейке артикула. Inline background-color остаётся.
   ═══════════════════════════════════════════════════════════════════ */

#orders-table tbody td[data-col="article"] {
    box-shadow: none !important;
    background-image: none !important;
    --bs-table-accent-bg: transparent !important;
    --bs-table-striped-bg: transparent !important;
    --bs-table-hover-bg: transparent !important;
    --tblr-table-accent-bg: transparent !important;
    --tblr-table-striped-bg: transparent !important;
    --tblr-table-hover-bg: transparent !important;
}

/* Также при hover — чтобы box-shadow не возвращался */
#orders-table tbody tr:hover td[data-col="article"],
#orders-table tbody tr:nth-of-type(odd) td[data-col="article"] {
    box-shadow: none !important;
    --tblr-table-accent-bg: transparent !important;
    --tblr-table-striped-bg: transparent !important;
    --tblr-table-hover-bg: transparent !important;
}

/* Таблица «Ушли» — на будущее */
#shipped-table tbody td[data-col="article"] {
    box-shadow: none !important;
    --tblr-table-accent-bg: transparent !important;
    --tblr-table-striped-bg: transparent !important;
}


/* ═══════════════════════════════════════════════════════════════════
   КОЛОНКА «1С КОМПЛ.» (kit_1c_stock) — часть блока наличия
   Голубой фон, чёрные жирные цифры — как WMS / 1С МП / 1С Роз.
   ═══════════════════════════════════════════════════════════════════ */

#orders-table tbody td[data-col="kit_1c_stock"] {
    background-color: #a9cce3 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 9999px #a9cce3 !important;
    --bs-table-accent-bg: #a9cce3 !important;
    --bs-table-striped-bg: #a9cce3 !important;
    --bs-table-hover-bg: #a9cce3 !important;
    --tblr-table-accent-bg: #a9cce3 !important;
    --tblr-table-striped-bg: #a9cce3 !important;
    --tblr-table-hover-bg: #a9cce3 !important;
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

#orders-table tbody tr.worked-row td[data-col="kit_1c_stock"],
#orders-table tbody tr.no-stock-row td[data-col="kit_1c_stock"],
#orders-table tbody tr.pinned td[data-col="kit_1c_stock"],
#orders-table tbody tr:hover td[data-col="kit_1c_stock"] {
    background-color: #a9cce3 !important;
    box-shadow: inset 0 0 0 9999px #a9cce3 !important;
    --bs-table-accent-bg: #a9cce3 !important;
    --tblr-table-accent-bg: #a9cce3 !important;
    color: #000000 !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

#orders-table thead th[data-col="kit_1c_stock"] {
    background-color: #2980b9 !important;
    color: #ffffff !important;
    font-weight: 800 !important;
}
