/* Админ-панель — поверх общего dash.css. Только таблицы и мелочи. */

/* Широкий контейнер: 12 колонок таблицы должны влезать без горизонтального скролла.
   Тянем почти на всю ширину страницы. */
.container { max-width: 96vw; }
/* Длинные ячейки переносим, а не растягиваем — чтобы убрать нижний ползунок. */
.a-table td.a-name, .a-table td.a-fabric { white-space: normal; word-break: break-word; }
.a-table td.a-name { min-width: 130px; }
.a-table td.a-fabric { min-width: 110px; }

/* Подвкладки-фильтр по этапу — тот же приём, что в /sewing/ (.tab-btn), вместо
   выпадающего списка: список позиций раньше был одной огромной сплошной
   таблицей на все этапы разом, тяжело листать. 23.08.2026. */
.stage-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--border); margin-bottom: 14px; flex-wrap: wrap; }
.stage-tab {
    padding: 10px 16px; border: none; background: none; cursor: pointer; font-family: inherit;
    font-size: 13.5px; font-weight: 600; color: var(--text-2); border-bottom: 2px solid transparent;
    margin-bottom: -1px; transition: color .15s, border-color .15s;
}
.stage-tab:hover { color: var(--text); }
.stage-tab.active { color: var(--accent-ink); border-bottom-color: var(--accent); }

.admin-toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.admin-toolbar input[type="text"], .admin-toolbar select {
    padding: 9px 12px; border: 1px solid var(--border); border-radius: 10px;
    background: var(--surface); color: var(--text); font-family: inherit; font-size: 14px;
}
.admin-toolbar input[type="text"] { flex: 1; min-width: 220px; }
.admin-count { color: var(--muted); font-size: 13px; margin-left: auto; }

.a-table-wrap { overflow-x: auto; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.a-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.a-table thead th {
    text-align: left; padding: 10px 9px; background: var(--surface-2); color: var(--muted);
    font-weight: 650; font-size: 11px; text-transform: uppercase; letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border); white-space: nowrap; position: sticky; top: 0; z-index: 2;
}
.a-table tbody td { padding: 9px 9px; border-bottom: 1px solid var(--border); vertical-align: middle; color: var(--text); }
.a-table tbody tr:hover td { background: var(--surface-2); }
.a-table tbody tr:last-child td { border-bottom: none; }
.th-sortable { cursor: pointer; user-select: none; }
.th-sortable:hover { color: var(--text); }
.th-sort-active { color: var(--accent-ink); }
.a-num { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.a-name { font-weight: 600; }
.a-sub { font-size: 11px; color: var(--muted); }
.a-fabric { color: var(--text-2); }
.a-center { text-align: center; }
.file-link { color: var(--accent-ink); font-weight: 600; text-decoration: none; font-size: 15px; }
.file-link:hover { text-decoration: none; opacity: .75; }
.a-right { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* мини-статусы отделов */
.dep { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; white-space: nowrap; }
.dep .who { color: var(--text-2); font-size: 11.5px; }
.dep-ok { color: var(--good); font-weight: 650; }
.dep-wait { color: var(--muted); }
.dep-run { color: var(--warn); font-weight: 650; }
.dep-na { color: var(--border-strong); }

.ost-neg { color: var(--crit); font-weight: 700; }
.ost-low { color: var(--warn); font-weight: 700; }
.ost-ok  { color: var(--good); font-weight: 700; }
