/* Раздел «Сделки» и другие списки: панель вида и фильтров над таблицей — строки полотна без рамки. */
.toolbar { display: flex; flex-direction: column; gap: 8px; padding: 10px 20px; border-bottom: 1px solid var(--color-border-soft); }
/* Панель вида и фильтров — полоса полотна, не карточка. */
.toolbar.panel-card, .toolbar.panel { border: 0; border-bottom: 1px solid var(--color-border-soft); border-radius: 0; box-shadow: none; }
.toolbar-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.toolbar-row.spread { justify-content: space-between; }
/* Поиск по списку раздела (доска, «Контакты», «Компании»): компактное поле в ряду. */
.board-search { flex: 0 1 280px; min-width: 200px; min-height: 28px; padding: 4px 8px; }
.toolbar-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; padding-top: 8px; border-top: 1px solid var(--color-line);
  font-size: 12.5px; color: var(--color-text-muted); }

/* Таблица в духе Attio: полотно без карточки, белая шапка, волосяная сетка, строка 40px, ширина столбцов — перетаскиванием. */
/* Оболочка не обрезает содержимое: список «Столбцы» выходит за её край. */
.table-shell { border: 0; border-radius: 0; background: var(--color-bg-panel); box-shadow: none; }
.table-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-height: 48px; padding: 8px 20px; border-bottom: 1px solid var(--color-border-soft); }
.table-shell > .empty-state { margin: 16px 20px; }
/* Шапка таблицы закреплена у верхнего края окна при прокрутке страницы; вбок прокручивается вместе с телом. */
.table-sticky-head { position: sticky; top: 0; z-index: 20; overflow: hidden; border-bottom: 1px solid var(--color-line); background: var(--color-bg-panel); }
.table-scroll { position: relative; overflow-x: auto; overflow-y: visible; }
/* Выше закреплённой шапки: список «Столбцы» открывается поверх неё. */
.table-head { position: relative; z-index: 25; }
.data-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; background: var(--color-bg-panel);
  font-size: 13px; text-align: left; }
.data-table th { position: relative; height: 34px; padding: 0 10px; border-right: 1px solid var(--color-line); background: var(--color-bg-panel);
  color: var(--color-text-secondary); font-size: 12.5px; font-weight: 500; line-height: 1.2; text-align: left; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }
.data-table td { height: 40px; padding: 8px 10px; border-right: 1px solid var(--color-line); border-bottom: 1px solid var(--color-line); vertical-align: middle;
  font-weight: 400; line-height: 1.3; background: var(--color-bg-panel); overflow-wrap: anywhere; }
.data-table th:last-child, .data-table td:last-child { border-right: 0; }
/* Свободное место справа — пустой последний столбец без ширины: заданные ширины столбцов соблюдаются точно. */
.data-table .col-fill { padding: 0; border-right: 0; }
/* Заполнитель видимой шапки — высотой шапки (34px), а не строки тела; в невидимой шапке — нулевой (правило .sr-head ниже). */
.data-table thead:not(.sr-head) td.col-fill { height: 34px; }
/* Первый столбец закреплён при прокрутке вбок: волосок справа вместо тени. */
.data-table .col-first { position: sticky; left: 0; z-index: 1; box-shadow: 1px 0 0 var(--color-border-soft); }
.data-table th.col-first { z-index: 2; }
/* Заголовок сортируемого столбца — кнопка на всю ячейку; отсортированный столбец отмечен стрелкой направления. */
.data-table .th-sort { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 0; border: 0; background: none;
  color: inherit; font: inherit; font-weight: 500; cursor: pointer; text-align: left; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; }
.data-table .th-sort:hover, .data-table th.sorted .th-sort { color: var(--color-text-primary); }
.data-table .th-sort:focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; border-radius: 4px; }
.data-table .th-in { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; overflow: hidden; }
.data-table .th-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.data-table .th-icon { flex: none; color: var(--color-text-muted); }
.data-table .sort-mark { flex: none; color: var(--color-text-primary); }
/* Ручка ширины столбца: у правого края заголовка; видна при наведении, тянется мышью и клавишами, двойной щелчок — по содержимому. */
.data-table .col-resize { position: absolute; top: 0; right: 0; bottom: 0; z-index: 4; width: 9px; padding: 0; border: 0; background: transparent;
  cursor: col-resize; touch-action: none; outline: none; }
.data-table .col-resize::after { content: ""; position: absolute; top: 6px; bottom: 6px; right: 3px; width: 3px; border-radius: 2px;
  background: transparent; transition: background-color .12s; }
.data-table th:hover .col-resize::after { background: var(--color-border-strong); }
.data-table .col-resize:hover::after, .data-table .col-resize.active::after, .data-table .col-resize:focus-visible::after { background: var(--color-signal-primary); }
.data-table .col-resize:focus-visible { outline: none; }
/* Шапка таблицы с данными для чтения с экрана: видимая копия — закреплённая таблица выше, здесь строка нулевой высоты. */
.data-table .sr-head th, .data-table .sr-head td { height: 0; padding: 0; border: 0; line-height: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0; }
.data-table tbody tr:hover td { background: var(--color-table-hover-bg); }
.data-table .num { text-align: right; }
/* Невидимый замер содержимого столбца для подгонки ширины двойным щелчком. */
.col-measure { position: absolute; left: -10000px; top: 0; visibility: hidden; white-space: nowrap; font-size: 13px; }
.cell-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
/* Запись — подчёркнутое имя (приём Attio): волосок под названием, на наведении — темнее. */
.deal-link { color: var(--color-text-primary); font-weight: 600; font-size: 13px; line-height: 1.3; text-decoration: underline;
  text-decoration-color: var(--color-border-strong); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.deal-link:hover { text-decoration-color: var(--color-text-primary); }

/* Квалификация: четыре критерия — квадраты 15px: подтверждено, явно нет, неизвестно, скрыто. */
.qual { display: inline-flex; align-items: center; gap: 3px; }
.qual i { display: inline-grid; place-items: center; width: 15px; height: 15px; border: 1px solid var(--color-border-strong); border-radius: 4px;
  background: var(--color-bg-panel); font-style: normal; font-size: 9px; font-weight: 700; color: var(--color-text-muted); }
.qual i.q-yes { border-color: var(--color-status-success-border); background: var(--color-status-success-bg); color: var(--color-status-success); }
.qual i.q-no { border-color: var(--color-status-danger-border); background: var(--color-status-danger-bg); color: var(--color-status-danger); }
.qual i.q-unknown { border-style: dashed; color: var(--color-text-muted); }
.qual i.q-hidden { background: repeating-linear-gradient(135deg, var(--color-bg-panel-strong) 0 2px, var(--color-bg-panel) 2px 4px); }
.qual b { margin-left: 5px; font: 500 12px/1 var(--font-mono); color: var(--color-text-secondary); font-feature-settings: var(--font-mono-features); }

/* Кнопка «Фильтры · N» — только на телефоне (sections.css). */
.toolbar-filters-toggle { display: none; }
@media (max-width: 768px) { .toolbar-filters-toggle { display: inline-flex; } }

/* ===== «Сделки» по макету (19.10): корень .deals-screen — стили не задевают другие разделы с теми же общими классами. ===== */
.deals-screen { display: flex; flex-direction: column; min-width: 0; }
/*
 * Панель в два ряда без рамки снизу: таблица начинается своим волоском, доска — сразу под вторым рядом (как в макете). Отступы от
 * края полотна (20 px, на телефоне 16 px) задают сами ряды (.viewbar, .filterbar — sections.css), у панели своих нет.
 */
.deals-screen > .toolbar.panel-card { gap: 0; padding: 0; border-bottom: 0; }
.deals-screen > .deals-shell { border-top: 1px solid var(--color-border-soft); }
.deals-toolbar .toolbar-row { gap: 8px; }
.deals-toolbar .filterbar { min-height: 28px; }
/* Поиск: значок и поле в одной рамке 280 px. */
.deals-search { display: flex; align-items: center; gap: 6px; flex: 0 1 280px; width: 280px; max-width: 100%; height: 28px; margin: 0; padding: 0 8px;
  border: 1px solid var(--color-border-strong); border-radius: var(--radius-control); background: var(--color-bg-panel); color: var(--color-text-muted); }
.deals-search input { flex: 1; width: 100%; min-width: 0; min-height: 0; height: 26px; padding: 0; border: 0; background: transparent; font-size: 13px; }
.deals-search input:hover, .deals-search input:focus { border: 0; box-shadow: none; }
.deals-search:focus-within { border-color: var(--color-signal-primary); box-shadow: 0 0 0 3px var(--color-signal-soft); }
/* Кнопки второго ряда — без рамки (кнопки фильтров макета); число у подписи — моноширинным. */
.deals-toolbar .pill.ghost { border-color: transparent; background: transparent; box-shadow: none; color: var(--color-text-secondary); }
.deals-toolbar .pill.ghost:hover, .deals-toolbar .pop-anchor.open > .pill.ghost { background: var(--color-table-hover-bg); color: var(--color-text-primary); }
.deals-toolbar .pill.ghost.on { color: var(--color-text-primary); }
.deals-toolbar .pill.ghost .pill-value { color: var(--color-text-primary); }
.deals-toolbar .pill-count { font: 500 11px/1 var(--font-mono); color: var(--color-text-muted); font-feature-settings: var(--font-mono-features); }
.deals-toolbar .segment .icon { color: var(--color-text-muted); }
.deals-toolbar .segment.on .icon { color: var(--color-text-secondary); }
/* Списки панели: выбранное — галочкой справа (как меню макета), слева значок или аватар, справа число. */
.deals-toolbar .popover-option .box { order: 3; width: 16px; height: 16px; border: 0; background: none; color: var(--color-text-primary); }
.deals-toolbar .popover-option .box.on { background: none; }
.deals-screen .popover-option > .icon, .deals-screen .popover-option > .stage-dot { flex: none; color: var(--color-text-muted); }
.deals-screen .popover-option.separated { position: relative; margin-top: 9px; }
.deals-screen .popover-option.separated::before { content: ""; position: absolute; top: -5px; left: 6px; right: 6px; height: 1px; background: var(--color-line); }
/* Итог выборки справа во втором ряду. */
.deals-toolbar .summary { min-width: 0; color: var(--color-text-muted); font-size: 12.5px; }
.deals-toolbar .summary b { color: var(--color-text-secondary); font-weight: 600; }
/* Плашка условия «Поле | — | значение | ×» (как у Attio). */
.fpill { display: inline-flex; align-items: stretch; max-width: 100%; height: 28px; overflow: hidden; border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-control); background: var(--color-bg-panel); box-shadow: var(--shadow-xs); font-size: 12.5px; }
.fpill > * { display: inline-flex; align-items: center; gap: 6px; padding: 0 8px; border: 0; border-right: 1px solid var(--color-border-soft);
  background: transparent; white-space: nowrap; }
.fpill > :last-child { border-right: 0; }
.fpill .k { color: var(--color-text-secondary); }
.fpill .k .icon, .fpill-x .icon { color: var(--color-text-muted); }
.fpill .op { color: var(--color-text-muted); }
.fpill .v { display: block; min-width: 0; max-width: 220px; overflow: hidden; color: var(--color-text-primary); font-weight: 600; line-height: 26px;
  text-overflow: ellipsis; }
.fpill-x { cursor: pointer; }
.fpill-x:hover { background: var(--color-table-hover-bg); }
.fpill-x:hover .icon { color: var(--color-text-primary); }
/* Всплывающие панели «Фильтр» и «Поля карточки»: меню строками, разделитель, условия чипами. */
.float-panel .popover-title { padding: 6px 8px 4px; font-size: 11.5px; font-weight: 600; }
.menu-row { font-weight: 400; }
.menu-row .menu-check { display: grid; place-items: center; flex: none; width: 16px; color: var(--color-text-primary); }
.menu-lead-blank { width: 14px; flex: none; }
.menu-sep { height: 1px; margin: 4px 6px; background: var(--color-line); }
.filter-panel { position: absolute; width: 560px; max-width: calc(100vw - 32px); max-height: min(70vh, 620px); overflow-y: auto; }
.menu-panel { min-width: 240px; }
.fp-rows { display: grid; gap: 2px; padding: 0 2px 4px; }
.fp-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: start; gap: 8px; padding: 5px 6px; border-radius: 6px; }
.fp-row:hover { background: var(--color-table-hover-bg); }
.fp-label { display: inline-flex; align-items: center; gap: 6px; min-width: 0; padding-top: 3px; color: var(--color-text-secondary); font-size: 12.5px;
  font-weight: 500; overflow-wrap: anywhere; }
.fp-label .icon { flex: none; color: var(--color-text-muted); }
.fp-chips { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
.fp-chip { display: inline-flex; align-items: center; min-height: 22px; max-width: 100%; padding: 2px 7px; border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-chip); background: var(--color-bg-panel); color: var(--color-text-secondary); font-size: 12px; font-weight: 500;
  line-height: 1.2; text-align: left; overflow-wrap: anywhere; }
.fp-chip:hover { border-color: var(--color-border-strong); color: var(--color-text-primary); }
.fp-chip.on { border-color: var(--color-signal-border); background: var(--color-signal-soft); color: var(--color-signal-ink); }
.fp-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin-top: 4px; padding: 8px 8px 4px;
  border-top: 1px solid var(--color-line); }
.fp-foot .muted { font-size: 12px; }

/* Таблица «Сделок»: строка 40 px в одну строку с обрезкой; значок в шапке; сумма — по правому краю; строка итогов. */
.deals-table td { padding: 0 10px; white-space: nowrap; overflow-wrap: normal; line-height: 1.3; cursor: pointer; }
.deals-table td > :not(.pop-anchor):not(.badge):not(.cell):not(.owner-chip):not(.stage-chip) { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deals-table td > .badge { display: inline-block; max-width: 100%; overflow: hidden; line-height: 20px; text-overflow: ellipsis; }
.deals-table td > .cell, .deals-screen .cell { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; }
.deals-screen .cell .tx { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.deals-screen .cell .tx.strong { font-weight: 500; }
.deals-screen .cell .muted, .deals-screen .cell .tx.muted { font-size: inherit; }
.deals-screen .cell > .badge, .deals-screen .cell > .due { flex: none; }
.deals-table .th-icon { margin-right: 6px; color: var(--color-text-muted); vertical-align: -2px; }
.deals-table th.num, .deals-table td.num { text-align: right; }
.deals-table th.num { padding-right: 14px; }
.deals-table td.num > * { margin-left: auto; }
.deals-table tfoot td { height: 34px; border-top: 1px solid var(--color-border-soft); border-bottom: 0; color: var(--color-text-muted); font-size: 12px;
  cursor: default; }
.deals-table tfoot b { color: var(--color-text-secondary); font-weight: 600; }
.deals-table tbody tr:last-child td { border-bottom: 1px solid var(--color-line); }
/* Сделка: звёздочка, плитка, компания жирно ссылкой, название приглушённо. */
.deal-cell .fav-star { flex: none; width: 20px; min-height: 20px; height: 20px; padding: 0; color: var(--color-text-muted); }
.deal-cell .deal-name { flex: 0 0 auto; max-width: 72%; min-width: 0; overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.deal-cell .deal-name .nm { overflow: hidden; text-overflow: ellipsis; }
.deals-screen .record-logo.small { width: 20px; height: 20px; border-radius: 5px; font-size: 8.5px; }
.deals-screen .record-logo.round.small { border-radius: 50%; }
/* Стадия — белый чип с точкой синей шкалы; со списком — со стрелкой. */
.stage-chip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; height: 22px; padding: 0 7px; border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-chip); background: var(--color-bg-panel); color: var(--color-text-primary); font-size: 12.5px; font-weight: 500;
  line-height: 1; white-space: nowrap; }
.stage-chip .nm, .stage-chip > span:not(.stage-dot) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pill.small.stage-chip { min-height: 22px; height: 22px; padding: 0 7px; gap: 5px; border-color: var(--color-border-strong); border-radius: var(--radius-chip); }
.pill.small.stage-chip:hover { border-color: var(--color-text-muted); background: var(--color-bg-panel); }
.stage-chip .chevron, .owner-pill .chevron { width: 12px; height: 12px; opacity: .6; }
/* Человек — пилюля с аватаром (передача — списком на ней). */
.pill.small.owner-pill { gap: 6px; height: 24px; padding: 0 8px 0 2px; }
.deals-screen .owner-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; height: 24px; padding: 0 8px 0 2px;
  border: 1px solid var(--color-border-soft); border-radius: 999px; background: var(--color-bg-panel); color: var(--color-text-primary);
  font-size: 12.5px; font-weight: 500; white-space: nowrap; }
.deals-screen .owner-chip .nm, .owner-pill > span:not(.record-logo) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
/* Срок: обычный текст; окрашены только просрочка и «сегодня». */
.deals-screen .due { display: inline-flex; align-items: center; gap: 4px; flex: none; color: var(--color-text-muted); font-size: 12.5px; white-space: nowrap; }
.deals-screen .due.due-over, .deals-screen .due.due-today { height: 20px; padding: 0 6px; border-radius: 5px; font-weight: 500; }
.deals-screen .due.due-over { background: var(--color-status-danger-bg); color: var(--color-status-danger); }
.deals-screen .due.due-today { background: var(--color-status-warning-bg); color: var(--color-status-warning); }
.deals-screen .due .icon { width: 11px; height: 11px; }
/* Пусто и скрыто: приглушённо; скрытое — курсивом со значком. */
.deals-screen .nil { color: var(--color-text-muted); }
.deals-screen .hid { display: inline-flex; align-items: center; gap: 5px; color: var(--color-text-muted); font-style: italic; }
.deals-screen .hid .icon { flex: none; }
.deals-screen .chips { gap: 4px; }
/* Теги: чип — плашка и «Устарел?» в одной строке; в ячейке таблицы чипы не переносятся (у всех строк одна высота), плашка сокращается
   многоточием (полное значение — в подсказке), значок «Устарел?» — только иконка (подпись — в подсказке и для экранного диктора). */
.deals-screen .cell.chips { flex-wrap: nowrap; }
.deals-screen .tag-chip { display: inline-flex; align-items: center; gap: 4px; flex: 0 1 auto; min-width: 0; max-width: 100%; }
.deals-screen .tag-chip > .badge { display: block; flex: 0 1 auto; min-width: 0; overflow: hidden; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
.deals-screen .tag-chip > .stale-mark { flex: none; }
.deals-screen .tag-chip .stale-label { display: none; }
.deals-screen .how { color: var(--color-text-muted); }
/* Квалификация: галочка и крестик — значками. */
.qual i .icon { width: 9px; height: 9px; stroke-width: 3; }
.deals-screen > .deals-shell > .empty-state { margin: 24px 20px; padding: 32px 16px; }

/* Список сделок на телефоне (макет 390): компания и стадия, название, шаг со сроком, ответственный и сумма. */
.deals-list.mobile-cards { flex-direction: column; gap: 0; padding: 0; }
.drow { display: grid; gap: 6px; padding: 12px 16px; border-bottom: 1px solid var(--color-line); cursor: pointer; }
.drow:hover { background: var(--color-table-hover-bg); }
.drow-top, .drow-step, .drow-meta { display: flex; align-items: center; gap: 8px; min-width: 0; }
.drow-top .drow-name { min-width: 0; overflow: hidden; font-size: 14px; font-weight: 600; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.drow-top > .stage-chip, .drow-top > .badge { flex: none; max-width: 50%; }
.drow-title { color: var(--color-text-secondary); font-size: 13px; overflow-wrap: anywhere; }
.drow-step { font-size: 13px; }
.drow-step > .icon { flex: none; color: var(--color-text-muted); }
.drow-step > .tx { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drow-step > .badge, .drow-step > .due { flex: none; }
.drow > .chips { display: flex; flex-wrap: wrap; }
.drow-meta { color: var(--color-text-secondary); font-size: 12.5px; }
/* Ответственный в строке — аватар 16 px с именем, без рамки пилюли (как в макете 390). */
.deals-screen .drow-meta .owner-chip { height: auto; padding: 0; border: 0; background: none; color: inherit; font-size: inherit; font-weight: 400; }
.deals-screen .drow-meta .record-logo.round.small { width: 16px; height: 16px; font-size: 7px; }
.drow-meta .amt { white-space: nowrap; }

@media (max-width: 768px) {
  /* Телефон (макет 390): воронка, вид, «Теги» / «Поля карточки», поиск на всю ширину; второй ряд — «Фильтры · N» и итог. */
  .deals-toolbar .viewbar > .grow { display: none; }
  .deals-toolbar .deals-search { order: 5; flex: 1 1 100%; width: 100%; }
  .deals-toolbar .filterbar > .grow { display: none; }
  .deals-toolbar .summary { flex-basis: 100%; }
  .deals-toolbar .segment[data-mobile-label] .segment-label { display: none; }
  .deals-toolbar .segment[data-mobile-label]::after { content: attr(data-mobile-label); }
  .deals-toolbar .fpill .v { max-width: 160px; }
  .fp-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
.deals-toolbar .seg-mobile { display: none; }
@media (max-width: 768px) {
  .deals-toolbar .seg-desk { display: none; }
  .deals-toolbar .seg-mobile { display: inline; }
}
/* «Столбцы таблицы» (все списки): первая строка — главный столбец «всегда»: отмечен, приглушён, не выбирается. */
.popover-option.fixed { color: var(--color-text-muted); cursor: default; }
.popover-option.fixed:hover { background: transparent; }
.popover-option.fixed .box { color: var(--color-text-muted); }
/* Пометка «всегда» — обычным шрифтом, как пояснение в меню макета (не число: не моноширинным). */
.popover-option .popover-always { flex: none; margin-left: 8px; color: var(--color-text-muted); font-size: 11.5px; font-weight: 400; white-space: nowrap; }
/* Окно «Теги сделок» (администратор CRM): теги строками — название, описание, действия; значения чипами с числом сделок; ниже —
   «Новое значение». Общие классы панели (.tag-settings) без рамки: рамка — у окна. */
.modal .tag-settings.tag-sets { gap: 14px; padding: 0; border: 0; border-radius: 0; }
.tag-sets .tag-settings-list { gap: 0; }
.tag-sets .tag-set { gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--color-line); }
.tag-sets .tag-set:first-child { padding-top: 0; }
.tag-set-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; }
.tag-set-h b { font-size: 14px; }
.tag-set-h .muted, .tag-set-h .link-button { font-size: 12.5px; }
.tag-sets .tag-pills > .muted { font-size: 12.5px; }
/* «Столбцы» (все списки) — как в макете, без стрелки. */
.columns-chooser > .pill .chevron { display: none; }
/* Списки панели и ячеек — по ширине пунктов (как меню макета), а не по ширине кнопки. */
.deals-screen .popover:not(.float-panel):not(.date-range-panel) { width: max-content; }
/* Настройка тегов (администратор CRM) — под панелью: кнопки — по содержимому. */
.deals-toolbar .tag-settings { border-radius: var(--radius-card); }
.deals-toolbar .tag-settings > .secondary { justify-self: start; }
