/* v2-screens.css — дизайн-система v2 (docs/37). Подключается в index.html ПОСЛЕ app.css.
 * Слайс «Экраны»: Поиск (#/icp), Аналитика (#/analytics), B2C-экраны, Подписка, Сохранённые,
 * Авто-правила, Конструктор бота. Только переопределения/новые классы v2s-*; app.css не трогаем.
 * Правило цвета: коралл --accent — ТОЛЬКО главная кнопка экрана; статусы — --st-*; «почему
 * сейчас» — --why-*; красный — только ошибки/просрочено. */

/* ═════════════ общий словарь v2s (kit.js) ═════════════ */

/* подпись группы: 12/600 капс, faint */
.v2s-label {
  font-size: 12px; font-weight: var(--weight-semibold); letter-spacing: .04em;
  text-transform: uppercase; color: var(--text-faint); padding: 0 4px;
}
.v2s-sec { display: flex; flex-direction: column; gap: 8px; }
.v2s-foot { margin: 0; padding: 0 4px; font-size: 13px; color: var(--text-faint); line-height: 1.4; }

/* группа строк (Settings.dc.html .grp) */
.v2s-grp {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-lg); overflow: hidden;
}
.v2s-row {
  display: flex; align-items: center; gap: 12px; width: 100%;
  min-height: 52px; padding: 8px 14px; box-sizing: border-box;
  background: transparent; border: 0; font: inherit; color: var(--text); text-align: left;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
button.v2s-row { cursor: pointer; }
button.v2s-row:active { background: var(--surface-hover); }
button.v2s-row:focus-visible { outline: none; box-shadow: inset var(--shadow-focus); }
button.v2s-row:disabled { cursor: default; opacity: .55; }
button.v2s-row:disabled:active { background: transparent; }
.v2s-row + .v2s-row { border-top: 1px solid var(--surface-sunken); }
.v2s-row__ic {
  width: 30px; height: 30px; border-radius: 8px; background: var(--surface-sunken);
  display: flex; align-items: center; justify-content: center; flex: none; color: var(--text-muted);
}
.v2s-row__ic .icon { width: 16px; height: 16px; }
.v2s-row__text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.v2s-row__title { font-size: 15px; font-weight: var(--weight-medium); line-height: 1.3; overflow-wrap: anywhere; }
.v2s-row__sub { font-size: 13px; color: var(--text-faint); line-height: 1.35; overflow-wrap: anywhere; }
.v2s-row__val { font-size: 14px; color: var(--text-faint); flex: none; font-variant-numeric: tabular-nums; }
.v2s-row__chev { width: 16px; height: 16px; color: #A8A29E; flex: none; }
.v2s-row .btn { flex: none; }

/* статус-чип: точка + текст на --st-*-bg */
.v2s-st {
  display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px;
  border-radius: var(--radius-pill); font-size: 13px; font-weight: var(--weight-medium);
  white-space: nowrap; line-height: 1; flex: none;
}
.v2s-st__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
.v2s-st--new { background: var(--st-new-bg); color: var(--st-new-fg); }
.v2s-st--new .v2s-st__dot { background: var(--col-new); }
.v2s-st--work { background: var(--st-work-bg); color: var(--st-work-fg); }
.v2s-st--work .v2s-st__dot { background: var(--col-in_progress); }
.v2s-st--contact { background: var(--st-contact-bg); color: var(--st-contact-fg); }
.v2s-st--contact .v2s-st__dot { background: var(--col-contacted); }
.v2s-st--meet { background: var(--st-meet-bg); color: var(--st-meet-fg); }
.v2s-st--meet .v2s-st__dot { background: var(--col-meeting); }
.v2s-st--won { background: var(--st-won-bg); color: var(--st-won-fg); }
.v2s-st--won .v2s-st__dot { background: var(--col-won); }
.v2s-st--lost { background: var(--st-lost-bg); color: var(--st-lost-fg); }
.v2s-st--lost .v2s-st__dot { background: var(--col-lost); }
.v2s-st--overdue { background: var(--st-overdue-bg); color: var(--st-overdue-fg); }
.v2s-st--overdue .v2s-st__dot { background: #DC2626; }

/* сегмент-контрол: трек sunken, активный — белый */
.v2s-seg { display: flex; gap: 4px; padding: 4px; border-radius: var(--radius-md); background: var(--surface-sunken); }
.v2s-seg__btn {
  flex: 1 1 0; min-width: 0; min-height: 36px; border: 0; border-radius: var(--radius-sm);
  background: transparent; font: inherit; font-size: 14px; font-weight: var(--weight-medium);
  color: var(--text-muted); cursor: pointer; padding: 0 8px;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.v2s-seg__btn.is-active { background: var(--surface); color: var(--text); box-shadow: var(--shadow-seg); }
.v2s-seg__btn:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

/* тихая кнопка-ссылка (Search.dc.html «Уточнить вручную») */
.v2s-quiet {
  display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%;
  min-height: 44px; border: 0; background: transparent; font: inherit; font-size: 15px;
  font-weight: var(--weight-medium); color: var(--text-muted); cursor: pointer;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation; border-radius: var(--radius-md);
}
.v2s-quiet:active { background: var(--surface-hover); }
.v2s-quiet:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.v2s-quiet--inline { width: auto; justify-content: flex-start; font-size: 13px; color: var(--text-faint); padding: 0 4px; margin-left: -4px; }
.v2s-quiet .icon { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; }
.v2s-quiet.is-recording { color: var(--accent-strong); }

/* главная кнопка экрана (коралл, 50px, радиус 12) */
.btn.v2s-primary { width: 100%; min-height: 50px; border-radius: var(--radius-md); font-size: 16px; font-weight: var(--weight-semibold); }

/* чип-выбор (отрасль/фильтр): 36px пилюля; выбранный — графит */
.v2s-ind, .chip-group .chip {
  display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px;
  border-radius: var(--radius-pill); border: 1px solid var(--border); background: var(--surface);
  font: inherit; font-size: 14px; font-weight: var(--weight-medium); color: #44403C;
  white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.v2s-ind.is-selected, .chip-group .chip.is-selected {
  background: var(--text); border-color: var(--text); color: #fff; font-weight: var(--weight-medium);
}
.v2s-ind--more { color: var(--text-faint); }
.v2s-ind:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

/* заголовок экрана v2: 28/600 */
.v2s-h1, .icp__title, .analytics__title {
  margin: 0; font-size: 28px; font-weight: var(--weight-semibold); letter-spacing: -0.02em;
  line-height: 1.15; color: var(--text);
}

/* ═════════════ Поиск (#/icp) — Search.dc.html ═════════════ */
.v2s-icp { max-width: 640px; }
.v2s-icp .icp__head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 18px; }
.icp__step { font-size: 13px; color: var(--text-faint); }
.v2s-icp .icp-form { gap: 22px; }

/* свободное описание — без рамки-карточки, как в макете */
.v2s-icp .field--freetext {
  border: 0; padding: 0; background: transparent !important; box-shadow: none;
  -webkit-backdrop-filter: none; backdrop-filter: none; display: flex; flex-direction: column; gap: 8px;
}
.icp-freetext__label { font-size: 14px; color: var(--text-muted); }
.v2s-icp .field--freetext .textarea {
  min-height: 96px; border: 1px solid var(--border-strong); border-radius: var(--radius-lg);
  padding: 14px; font-size: 16px; line-height: 24px; resize: none; background: var(--surface);
}
.icp-freetext__tools { display: flex; }

.v2s-icp .preset-block { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.v2s-icp .preset-block .v2s-label { padding: 0; }
.preset-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.preset-chips .v2s-ind { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }

/* «Ваш рынок» — нейтральная белая карточка (не коралловая) */
.v2s-icp .market-est {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: none; padding: 16px; display: flex; flex-direction: column; gap: 10px;
}
.v2s-icp .market-est .v2s-label { padding: 0; }
.v2s-icp .market-est__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.v2s-icp .market-est__val { font-size: var(--text-title-1); font-weight: var(--weight-semibold); line-height: 1.1; letter-spacing: -0.02em; }
.v2s-icp .market-est__val--pos { color: var(--st-won-fg); }
.v2s-icp .market-est__cap { font-size: 13px; color: var(--text-faint); }
.v2s-icp .market-est__note { margin: 0; font-size: 13px; color: var(--text-muted); }
.v2s-icp .market-est__hint { font-size: 14px; color: var(--text-muted); }

.v2s-icp .icp-form__actions { flex-direction: column; gap: 6px; padding-top: 0; }
.v2s-icp .icp-form__actions .btn { flex: none; min-width: 0; }

/* ручная форма: белая карточка с полями, разделёнными hairline */
.v2s-icp .icp-advanced {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 4px 16px 16px; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
}
.v2s-icp .icp-advanced .field { padding: 16px 0; border-bottom: 1px solid var(--surface-sunken); }
.v2s-icp .icp-advanced .field:last-of-type { border-bottom: 0; }
.v2s-icp .icp-advanced .field__title { font-size: 15px; }
.v2s-icp .icp-advanced .chip-group { gap: 8px; }
.icp-advanced__actions { display: flex; padding-top: 4px; }
.icp-advanced__actions .btn { flex: 1; }
.v2s-icp .signal-row { padding: 6px 0; }
.v2s-icp .signal-seg { background: var(--surface-sunken); border: 0; border-radius: var(--radius-md); padding: 3px; }
.v2s-icp .signal-seg__btn { min-height: 36px; border-radius: var(--radius-sm); color: var(--text-muted); background: transparent; }
.v2s-icp .signal-seg__btn.is-active { background: var(--surface); color: var(--text); box-shadow: var(--shadow-seg); font-weight: var(--weight-semibold); }
.v2s-icp .signal-seg__btn.is-active[data-mode="require"] { color: var(--st-won-fg); }
.v2s-icp .signal-seg__btn.is-active[data-mode="forbid"] { color: var(--st-overdue-fg); }

/* итог распознавания */
.v2s-icp .extract-notice { margin-top: 4px; border-radius: var(--radius-lg); background: var(--surface); }
.v2s-icp .extract-notice--warn { background: var(--why-bg); border-color: var(--why-border); }

/* нижние секции (соседние/автоматизация/профили) — воздух между ними */
.v2s-icp > .xsell-slot:not(:empty), .v2s-icp > .v2s-sec { margin-top: 28px; }
.v2s-icp .xsell { background: transparent; border: 0; box-shadow: none; padding: 0; }
.v2s-icp .icp-saved { margin-top: 28px; }
.v2s-icp .search-progress { margin-top: 8px; }

/* B2C-линза «Найти поставщика» — спокойная карточка */
.v2s-icp .field--supplier-lens {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;
}
.v2s-icp .supplier-lens__actions .btn { width: 100%; }

/* ═════════════ Аналитика (#/analytics) — Analytics.dc.html ═════════════ */
.v2s-analytics { max-width: 640px; gap: 16px; }
.v2s-analytics .analytics__head { display: flex; align-items: center; gap: 12px; }
.v2s-analytics .analytics__title { flex: 1; min-width: 0; }
.v2s-analytics .roi__export { color: var(--text-muted); min-height: 36px; }

/* 3 KPI-плитки */
.an-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.an-kpi {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.an-kpi__top { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.an-kpi__val { font-size: 24px; font-weight: var(--weight-semibold); line-height: 1.15; letter-spacing: -0.02em; color: var(--text); }
.an-kpi__cap { font-size: 13px; color: var(--text-faint); line-height: 1.3; overflow-wrap: anywhere; }
.an-kpi .roi__delta { margin: 0; font-size: 12px; }
.an-kpi .roi__delta--up { color: var(--st-won-fg); }

/* панели сегмент-контрола */
.an-pane { display: flex; flex-direction: column; gap: 12px; }
.an-pane[hidden] { display: none !important; }

/* карточка v2 (белая, hairline, 14, без тяжёлой тени) */
.v2s-analytics .analytics-block, .an-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 16px; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
  display: flex; flex-direction: column; gap: 12px;
}
.an-card__head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.an-card__title { font-size: 15px; font-weight: var(--weight-semibold); color: var(--text); flex: 1; min-width: 0; }
.an-card__meta { font-size: 13px; color: var(--text-faint); }
.an-empty { margin: 0; font-size: 14px; color: var(--text-muted); line-height: 1.45; }
.an-pane > .an-empty { padding: 8px 4px; }

/* воронка: ярлык · бар · число (Analytics.dc.html .fr) */
.v2s-analytics .funnel-rows { gap: 12px; }
.v2s-analytics .funnel-row { grid-template-columns: 92px 1fr 28px; gap: 10px; }
.v2s-analytics .funnel-row__label { font-size: 14px; color: #44403C; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.v2s-analytics .funnel-row__val { font-size: 14px; }
.v2s-analytics .abar__track { height: 10px; border-radius: 5px; box-shadow: none; }
.v2s-analytics .abar__fill { background: var(--accent); border-radius: 5px; }
.v2s-analytics .transitions { margin: 0; padding-top: 12px; border-top: 1px solid var(--surface-sunken); display: flex; flex-direction: column; gap: 2px; }
.v2s-analytics .transitions__title { font-size: 12px; font-weight: var(--weight-semibold); letter-spacing: .04em; margin-bottom: 6px; }
.v2s-analytics .transition { background: transparent; border: 0; padding: 6px 0; font-size: 14px; border-radius: 0; }
.v2s-analytics .transition + .transition { border-top: 1px solid var(--surface-sunken); }
.v2s-analytics .transition__arrow { width: auto; height: auto; transform: none; color: var(--text-faint); }
.v2s-analytics .transition__n { color: var(--text); }

/* «Что сделать» */
.an-todo { gap: 6px; }
.an-todo__text { margin: 0; font-size: 14px; line-height: 20px; color: var(--text-muted); }
.an-todo__cta {
  align-self: flex-start; min-height: 44px; margin: -2px 0 -10px -8px; padding: 0 8px;
  border: 0; background: transparent; font: inherit; font-size: 14px; font-weight: var(--weight-semibold);
  color: var(--accent-strong); cursor: pointer; border-radius: var(--radius-sm);
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.an-todo__cta:active { background: var(--accent-soft); }
.an-todo__cta:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

/* тренд — графит, без коралла */
.v2s-analytics .trend { margin: 0; }
.v2s-analytics .trend__area { fill: var(--col-new); fill-opacity: .10; }
.v2s-analytics .trend__line { stroke: var(--col-new); }
.v2s-analytics .trend__dot { fill: var(--col-new); }

/* win-rate */
.v2s-seg--sm .v2s-seg__btn { min-height: 32px; font-size: 13px; }
.v2s-analytics .wr-rows { gap: 14px; }
.v2s-analytics .wr-row { display: flex; flex-direction: column; align-items: stretch; gap: 6px; }
.v2s-analytics .wr-row .abar__track { flex: none; width: 100%; }
.wr-row__top { display: flex; align-items: baseline; gap: 8px; }
.v2s-analytics .wr-row__key { flex: 1; min-width: 0; font-size: 14px; overflow-wrap: anywhere; }
.v2s-analytics .wr-row__meta { margin: 0; font-size: 12px; }

/* сводка сервера — тихий футнот */
.an-foot { padding: 4px 4px 0; display: flex; flex-direction: column; gap: 6px; }
.an-foot .roi__summary { margin: 0; font-size: 14px; color: var(--text-muted); line-height: 1.45; }
.an-foot .roi__note { margin: 0; font-size: 12px; color: var(--text-faint); }

/* «Рынок»: пульс ниши + «Рынок и рост» */
.v2s-analytics .niche-pulse__fact { margin: 0; font-size: 15px; line-height: 1.45; }
.v2s-analytics .niche-pulse__link { color: var(--text-muted); min-height: 44px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.v2s-analytics .market-slot { display: flex; flex-direction: column; gap: 12px; }
.v2s-analytics .market-slot:empty { display: none; }
.v2s-analytics .market-head { margin: 8px 0 0; padding: 0 4px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.v2s-analytics .market-head .analytics-block__title { font-size: 12px; font-weight: var(--weight-semibold); letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint); }
.v2s-analytics .market-head .analytics__sub { margin: 0; font-size: 13px; color: var(--text-faint); line-height: 1.4; }
.v2s-analytics .analytics-block__title .icon { display: none; }
.v2s-analytics .market-card .analytics-block__head { margin: 0; }
.v2s-analytics .market-card .analytics-block__title { font-size: 15px; font-weight: var(--weight-semibold); color: var(--text); text-transform: none; letter-spacing: 0; }
.v2s-analytics .market-card__num { color: var(--text); font-size: 24px; font-weight: var(--weight-semibold); }
.v2s-analytics .market-metrics { gap: 8px; }
.v2s-analytics .market-metric { background: var(--surface-sunken); border: 0; border-radius: var(--radius-md); padding: 10px 6px; }
.v2s-analytics .market-metric__val { font-size: 20px; font-weight: var(--weight-semibold); }
.v2s-analytics .market-metric__cap { font-size: 12px; color: var(--text-faint); }
.v2s-analytics .market-adjacent { gap: 0; }
.v2s-analytics .market-adjacent__row { background: transparent; border: 0; border-radius: 0; padding: 12px 0; box-shadow: none; }
.v2s-analytics .market-adjacent__row + .market-adjacent__row { border-top: 1px solid var(--surface-sunken); }
.v2s-analytics .market-adjacent__title { font-size: 15px; font-weight: var(--weight-medium); }
.v2s-analytics .market-adjacent__reason { font-size: 13px; color: var(--text-faint); }
.v2s-analytics .community-slot:empty { display: none; }

/* комьюнити-плашка в «Рынке»: спокойная, без коралла (главной кнопки на вкладке нет) */
.v2s-analytics .community-banner { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: none; }
.v2s-analytics .community-banner__icon { background: var(--surface-sunken); color: var(--text-muted); }
.v2s-analytics .community-banner__cta { background: var(--surface); color: var(--text); border: 1px solid var(--border-strong); }

/* ═════════════ B2C: общий ряд фильтров + карточки (Board.dc.html) ═════════════ */
.v2s-head { margin-bottom: 12px; }
.v2s-head .v2s-h1 { margin: 0; }
.v2s-sub { margin: 4px 0 0; font-size: 14px; color: var(--text-muted); line-height: 1.4; }

.v2s-filterbar { display: flex; align-items: center; gap: 8px; min-width: 0; }
.v2s-chips {
  display: flex; gap: 8px; flex: 1 1 0; min-width: 0; overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
  padding: 4px 2px; margin: -4px -2px;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
  mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
}
.v2s-chips::-webkit-scrollbar { display: none; }
.v2s-fchip {
  display: inline-flex; align-items: center; gap: 6px; flex: none; min-height: 36px; padding: 0 14px;
  border-radius: var(--radius-pill); border: 1px solid var(--border); background: var(--surface);
  font: inherit; font-size: 14px; font-weight: var(--weight-medium); color: var(--text-muted);
  white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
  position: relative;
}
/* тап-зона ≥44px при визуальных 36px */
.v2s-fchip::after { content: ""; position: absolute; inset: -4px 0; }
.v2s-fchip__n { color: #A8A29E; font-variant-numeric: tabular-nums; }
.v2s-fchip.is-active { background: var(--text); border-color: var(--text); color: #fff; }
.v2s-fchip.is-active .v2s-fchip__n { color: rgba(255, 255, 255, .7); }
.v2s-fchip:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

.v2s-filter-btn {
  position: relative; flex: none; width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--border); background: var(--surface); color: var(--text);
  display: flex; align-items: center; justify-content: center; cursor: pointer;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.v2s-filter-btn::after { content: ""; position: absolute; inset: -4px; }
.v2s-filter-btn .icon { width: 18px; height: 18px; }
.v2s-filter-btn.is-open { background: var(--surface-sunken); }
.v2s-filter-btn.has-dot::before {
  content: ""; position: absolute; top: 1px; right: 1px; width: 9px; height: 9px; border-radius: 50%;
  background: var(--text); border: 2px solid var(--bg);
}
.v2s-filter-btn:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

.v2s-filters-panel {
  display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin: 0;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 14px;
}
.v2s-filters-panel[hidden] { display: none !important; }
.v2s-filters-panel .v2s-label { padding: 0; }
.v2s-chipwrap { flex-wrap: wrap !important; overflow: visible !important; -webkit-mask-image: none !important; mask-image: none !important; }
.v2s-filters-panel .seg-chip { min-height: 36px; padding: 0 14px; font-size: 14px; background: var(--surface); border: 1px solid var(--border); color: var(--text-muted); }
.v2s-filters-panel .seg-chip.is-active { background: var(--text); border-color: var(--text); color: #fff; }
.v2s-filters-panel .seg-chip__count { color: #A8A29E; font-weight: var(--weight-medium); }
.v2s-filters-panel .seg-export { width: 100%; }

.v2s-active-seg {
  display: inline-flex; align-self: flex-start; align-items: center; gap: 4px; padding-left: 12px;
  border-radius: var(--radius-pill); background: var(--surface-sunken); font-size: 13px; color: var(--text-muted);
}
.v2s-active-seg__x { width: 36px; height: 36px; border: 0; background: transparent; color: var(--text-muted); display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 50%; }
.v2s-active-seg__x .icon { width: 14px; height: 14px; }

.v2s-b2c { gap: 12px; }
.v2s-b2c .b2c-list, .v2s-b2c .b2c-conv-list { gap: 10px; }

/* карточка человека: белая, hairline, 14, имя 16/600, мета faint */
.v2s-b2c .b2c-item {
  border-radius: var(--radius-lg); border: 1px solid var(--border); box-shadow: none;
  padding: 14px 16px; gap: 8px; background: var(--surface);
}
.v2s-b2c .b2c-item--needs-human { border-color: var(--why-border); box-shadow: none; }
.v2s-b2c .b2c-avatar, .b2c-card .b2c-avatar, .v2s-b2c .b2c-conv__avatar {
  background: var(--surface-sunken); color: var(--text-muted); box-shadow: none;
  font-weight: var(--weight-semibold); font-size: 15px;
}
.v2s-b2c .b2c-item__name { font-size: 16px; font-weight: var(--weight-semibold); line-height: 22px; }
.v2s-b2c .b2c-item__handle { font-size: 13px; color: var(--text-faint); }
.b2c-score {
  min-width: 34px; height: 34px; padding: 0 4px; border-radius: 17px; display: inline-flex;
  align-items: center; justify-content: center; font-size: 13px; font-weight: var(--weight-semibold);
  font-variant-numeric: tabular-nums;
}
.b2c-score--hot  { background: var(--st-won-bg); color: var(--st-won-fg); }
.b2c-score--warm { background: var(--st-work-bg); color: var(--st-work-fg); }
.b2c-score--cold { background: var(--st-lost-bg); color: var(--st-lost-fg); }
.v2s-b2c .b2c-item__unread { background: var(--col-new); }
.v2s-b2c .b2c-item__preview { font-size: 14px; color: #44403C; line-height: 20px; }
.v2s-b2c .b2c-item__reason { color: var(--text-faint); font-size: 13px; }
.v2s-b2c .b2c-item__reason .icon { color: var(--why-icon); }
/* «нужен человек» — повод действовать: янтарная подложка «почему сейчас», не коралл */
.chip--needs-human {
  height: 26px; padding: 0 10px; background: var(--why-bg); color: #92400E;
  border: 1px solid var(--why-border); font-weight: var(--weight-medium); font-size: 13px;
}
.chip--needs-human .icon { color: var(--why-icon); }
.v2s-b2c .stage-empty { margin: 0; padding: 24px 4px; text-align: center; color: var(--text-faint); font-size: 14px; }

/* «Диалоги» — список-группа как в мессенджере: одна белая карточка, hairline между строками */
.v2s-b2c .b2c-conv-list {
  gap: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden;
}
.v2s-b2c .b2c-conv { border: 0; border-radius: 0; padding: 12px 14px; min-height: 64px; }
.v2s-b2c .b2c-conv + .b2c-conv { border-top: 1px solid var(--surface-sunken); }
.v2s-b2c .b2c-conv__name { font-size: 16px; font-weight: var(--weight-semibold); }
.v2s-b2c .b2c-conv.is-unread .b2c-conv__name { font-weight: var(--weight-semibold); }
.v2s-b2c .b2c-conv--needs-human .b2c-conv__name { color: var(--text); }
.v2s-b2c .b2c-conv__time { font-size: 12px; }
.v2s-b2c .b2c-conv__preview { font-size: 14px; color: var(--text-muted); }
.v2s-b2c .b2c-conv.is-unread .b2c-conv__preview { color: var(--text); }
.v2s-b2c .b2c-conv__score { font-size: 12px; font-weight: var(--weight-medium); color: var(--text-faint); }
.v2s-b2c .b2c-conv__score .icon { color: var(--text-faint); }
.v2s-b2c .b2c-conv__score--hot { color: var(--st-won-fg); }
.v2s-b2c .b2c-conv__score--hot .icon { color: var(--st-won-fg); }
.v2s-b2c .b2c-conv__dot { background: var(--col-new); }
.v2s-b2c .b2c-conv .b2c-avatar { width: 40px; height: 40px; }

/* «Каналы для продвижения» */
.v2s-channels .channels-form { margin: 0; gap: 10px; }
.v2s-channels .channels-input {
  border: 1px solid var(--border-strong); border-radius: var(--radius-lg); padding: 14px;
  font: inherit; font-size: 16px; line-height: 24px; background: var(--surface); resize: none;
}
.v2s-channels .channels-input:focus { border-color: var(--text-muted); box-shadow: var(--shadow-focus); }
.v2s-channels .channels-hint { color: var(--text-faint); }
.v2s-channels .channels-hint .icon { color: var(--text-faint); width: 28px; height: 28px; }
.v2s-channels .channels-fallback-note { background: var(--why-bg); border-color: var(--why-border); color: #44403C; border-radius: var(--radius-lg); }
.v2s-channels .channels-fallback-note .icon { color: var(--why-icon); }
.v2s-channels .channel-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  padding: 14px 16px; box-shadow: none;
}
.v2s-channels .channel-card__title { font-size: 16px; }
.v2s-channels .channel-chip { background: var(--surface-sunken); border: 0; color: var(--text-muted); height: 24px; display: inline-flex; align-items: center; }
.v2s-channels .channel-chip--topic { color: var(--text-muted); }
.v2s-channels .channel-card__reason { color: #44403C; }
.v2s-channels .channel-card__handle { color: var(--text-faint); }

/* «События»: список-группа, иконки по смыслу (горячий=успех, нужен человек=повод, просрочен=красный) */
.v2s-b2c .alert-list { gap: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.v2s-b2c .alert-item { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 12px 14px; min-height: 64px; }
.v2s-b2c .alert-item + .alert-item { border-top: 1px solid var(--surface-sunken); }
.v2s-b2c .alert-item__icon { width: 36px; height: 36px; border-radius: 10px; }
.v2s-b2c .alert-item__icon .icon { width: 18px; height: 18px; }
.v2s-b2c .alert-item__icon--hot { background: var(--st-won-bg); }
.v2s-b2c .alert-item__icon--hot .icon { color: var(--st-won-fg); }
.v2s-b2c .alert-item__icon--escalation { background: var(--why-bg); }
.v2s-b2c .alert-item__icon--escalation .icon { color: var(--why-icon); }
.v2s-b2c .alert-item__icon--sla { background: var(--st-overdue-bg); }
.v2s-b2c .alert-item__icon--sla .icon { color: var(--st-overdue-fg); }
.v2s-b2c .alert-item__kind { font-size: 15px; }
.v2s-b2c .alert-item__reason { font-size: 14px; }
.v2s-b2c .alert-item__dot { background: var(--col-new); }
.v2s-b2c .page-head__row { align-items: center; }
.v2s-b2c .link-btn { color: var(--text-muted); min-height: 44px; }

/* B2C «Аналитика бота» — тот же словарь, что B2B-аналитика (класс v2s-analytics) */
.b2c-analytics.v2s-analytics .funnel-row { grid-template-columns: 116px 1fr 24px 36px; gap: 8px; }
.b2c-analytics.v2s-analytics .funnel-row__label { display: inline-flex; align-items: center; gap: 6px; }
.b2c-analytics.v2s-analytics .market-head { margin-top: 12px; }
.b2c-analytics.v2s-analytics .market-head .page-head__title { font-size: 12px; font-weight: var(--weight-semibold); letter-spacing: .04em; text-transform: uppercase; color: var(--text-faint); }
.b2c-analytics.v2s-analytics .market-head .page-head__sub { font-size: 13px; color: var(--text-faint); margin: 0; }
.v2s-analytics .analytics-block__head { margin: 0; }
.v2s-analytics .analytics-block__title { font-size: 15px; font-weight: var(--weight-semibold); color: var(--text); text-transform: none; letter-spacing: 0; }
.v2s-analytics .b2c-kpi { background: var(--surface-sunken); border: 0; box-shadow: none; border-radius: var(--radius-md); }
.v2s-analytics .donut__bar { stroke: var(--col-won) !important; }
.v2s-analytics .split-bar__seg--human, .v2s-analytics .split-legend__dot--human { background: var(--col-meeting); }
.v2s-analytics .split-bar__seg--bot, .v2s-analytics .split-legend__dot--bot { background: var(--col-new); }

/* B2C-карточка человека: нейтральные вердикт-бейджи (без коралла) */
.b2c-card .b2c-verdict { border: 0; height: 26px; display: inline-flex; align-items: center; gap: 4px; padding: 0 10px; border-radius: var(--radius-pill); font-size: 13px; font-weight: var(--weight-medium); }
.b2c-card .b2c-verdict--hot { background: var(--st-won-bg); color: var(--st-won-fg); }
.b2c-card .b2c-verdict--hot .icon { color: var(--st-won-fg); }
.b2c-card .b2c-verdict--warm { background: var(--st-work-bg); color: var(--st-work-fg); }
.b2c-card .b2c-verdict--cold { background: var(--st-lost-bg); color: var(--st-lost-fg); }
.b2c-card .b2c-unread-badge { color: var(--col-new); }
.b2c-card .b2c-unread-badge__dot { background: var(--col-new); }
.b2c-card .b2c-mode__chip--human { color: var(--st-work-fg); }

/* ═════════════ Подписка (#/billing) + paywall — Settings.dc.html ═════════════ */
.v2s-billing { max-width: 560px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; }
.v2s-billing .page-head { margin-bottom: 4px; }
.v2s-billing .billing-card, .v2s-billing .billing-plan, .v2s-billing .billing-plan.billing-plan--featured, .v2s-billing .recap, .paywall {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg);
  box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; padding: 16px; max-width: none; margin: 0;
}
.v2s-billing .billing-card { gap: 14px; }
.billing-state { background: var(--surface-sunken); color: var(--text-muted); border: 0; height: 26px; padding: 0 10px; font-size: 13px; }
.billing-state--active { background: var(--st-won-bg); color: var(--st-won-fg); }
.billing-state--expired { background: var(--st-overdue-bg); color: var(--st-overdue-fg); }
.v2s-billing .billing-card__plan { font-size: 13px; color: var(--text-faint); text-transform: none; letter-spacing: 0; }
.v2s-billing .billing-expiry__cap { font-size: 13px; color: var(--text-faint); text-transform: none; letter-spacing: 0; font-weight: var(--weight-regular); }
.v2s-billing .billing-expiry__val { font-size: var(--text-title-2); font-weight: var(--weight-semibold); letter-spacing: -0.02em; }
.v2s-billing .billing-expiry__date { font-size: 13px; color: var(--text-faint); }
.v2s-billing .billing-usage__cap { font-size: 14px; color: var(--text-muted); }
.v2s-billing .billing-usage__val { font-size: 14px; }
.v2s-billing .billing-usage__track { height: 6px; border-radius: 3px; background: var(--surface-sunken); }
.v2s-billing .billing-usage__fill { background: var(--accent); border-radius: 3px; }
.v2s-billing .billing-active-note { color: var(--st-won-fg); }

/* карточка плана: без коралловой рамки/градиента; «Полный доступ» — слева, без центровки */
.v2s-billing .billing-plan { gap: 14px; }
.v2s-billing .billing-plan__head { flex-direction: column; gap: 8px; }
.v2s-billing .billing-plan__title { flex-direction: row; align-items: center; gap: 8px; flex-wrap: wrap; }
.v2s-billing .billing-plan__name { font-size: var(--text-headline); font-weight: var(--weight-semibold); }
.billing-plan__badge { background: var(--surface-sunken); color: var(--text-muted); border: 0; text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: var(--weight-medium); height: 24px; padding: 0 8px; }
.billing-plan__badge .icon { color: var(--text-faint); }
.v2s-billing .billing-plan__price { text-align: left; align-items: flex-start; }
.v2s-billing .billing-plan__price-lead { font-size: 15px; font-weight: var(--weight-semibold); color: var(--text); }
.v2s-billing .billing-plan__price-sub { font-size: 13px; color: var(--text-faint); }
.plan-features { gap: 10px; }
.plan-features__item { font-size: 14px; color: #44403C; gap: 10px; }
.plan-features__item .icon { color: var(--st-won-fg); }
.v2s-billing .billing-card__hint { font-size: 13px; color: var(--text-faint); text-align: center; }

/* «Что уже принесла подписка» */
.v2s-billing .recap__head { color: var(--text-faint); font-size: 12px; font-weight: var(--weight-semibold); letter-spacing: .04em; }
.v2s-billing .recap__head .icon { display: none; }
.v2s-billing .recap__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.v2s-billing .recap__val { font-size: 24px; font-weight: var(--weight-semibold); }
.v2s-billing .recap__cap { font-size: 13px; color: var(--text-faint); }
.v2s-billing .recap__note { font-size: 13px; color: var(--text-muted); }

/* paywall (доска/подписка): спокойная карточка, тарифы — строками */
.paywall { gap: 12px; }
.paywall__icon { background: var(--surface-sunken); color: var(--text-muted); }
.paywall__title { font-size: 20px; font-weight: var(--weight-semibold); }
.paywall__hint { font-size: 14px; }
.paywall-plan { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: none; }
.paywall-plan__price-lead { font-size: 15px; font-weight: var(--weight-semibold); }

/* ═════════════ Сохранённые поиски (#/saved) ═════════════ */
.v2s-saved {
  gap: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden;
}
.v2s-saved .saved-row {
  background: transparent; border: 0; border-radius: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
  padding: 14px; align-items: flex-start; gap: 12px;
}
.v2s-saved .saved-row + .saved-row { border-top: 1px solid var(--surface-sunken); }
.v2s-saved .saved-row__label { font-size: 15px; font-weight: var(--weight-semibold); white-space: normal; overflow-wrap: anywhere; }
.v2s-saved .saved-row__meta { font-size: 13px; line-height: 1.4; }
.v2s-saved .saved-row__nonew { font-style: normal; color: var(--text-faint); }
.v2s-saved .saved-row__run { margin-top: 8px; min-height: 36px; }
/* тумблер — iOS-переключатель: трек sunken, вкл — зелёный (смысл «работает»), не коралл */
.v2s-saved .saved-toggle {
  position: relative; width: 51px; height: 31px; padding: 0; border: 0; border-radius: var(--radius-pill);
  background: var(--border-strong); flex: none; justify-content: flex-start;
}
.v2s-saved .saved-toggle::after { content: ""; position: absolute; inset: -7px -2px; }
.v2s-saved .saved-toggle.is-active { background: var(--col-won); }
.v2s-saved .saved-toggle__label {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.v2s-saved .saved-toggle__knob {
  position: absolute; top: 2px; left: 2px; width: 27px; height: 27px; background: #fff;
  box-shadow: var(--shadow-knob); transition: transform var(--dur-base) var(--ease-out);
}
.v2s-saved .saved-toggle.is-active .saved-toggle__knob { background: #fff; transform: translateX(20px); }
.v2s-saved .saved-toggle:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.v2s-saved .saved-row__controls { gap: 4px; }
.v2s-saved .saved-row__delete { width: 44px; height: 44px; margin: -6px -8px 0 0; }

/* ═════════════ Авто-правила (#/rules) ═════════════ */
.v2s-rules { max-width: 640px; gap: 18px; }
.v2s-rules .page-head { margin-bottom: 0; }
.v2s-rules .rules-list.v2s-grp { gap: 0; }
.v2s-rules .v2s-grp .rules-row {
  border: 0; border-radius: 0; box-shadow: none; background: transparent; padding: 14px; animation: none;
}
.v2s-rules .v2s-grp .rules-row + .rules-row { border-top: 1px solid var(--surface-sunken); }
.v2s-rules .rules-row__niche { font-size: 15px; }
.v2s-rules .sig-chip { background: var(--surface-sunken); border: 0; color: var(--text-muted); height: 24px; }
.v2s-rules .sig-chip .icon { color: var(--why-icon); }
.v2s-rules .rules-row__del { width: 44px; height: 44px; margin: -6px -8px -6px 0; }
.v2s-rules .rules-form { box-shadow: none; padding: 4px 16px 16px; margin: 0; }
.v2s-rules .rules-form .chip-group .chip .icon { color: var(--text-faint); width: 12px; height: 12px; margin-right: 4px; }
.v2s-rules .rules-form .chip-group .chip.is-selected .icon { color: #fff; }
.v2s-rules .rules-form__create { width: 100%; }
/* тумблер «работает» — зелёный смысл, не коралл (rules + конструктор бота) */
.v2s-rules .switch.is-on, .v2s-bots .switch.is-on { background: var(--col-won); border-color: var(--col-won); }
.v2s-rules .switch { position: relative; }
.v2s-rules .switch::after { content: ""; position: absolute; inset: -8px -2px; }

/* ═════════════ Конструктор бота — список (#/bots) ═════════════ */
.v2s-bots { max-width: 640px; gap: 16px; }
.v2s-bots .page-head { margin-bottom: 0; }
.v2s-bots .bots-create { align-self: stretch; }
.v2s-bots .bots-list { gap: 0; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); overflow: hidden; }
.v2s-bots .bots-list > * + * { border-top: 1px solid var(--surface-sunken); }
.v2s-bots .bots-row { border: 0; border-radius: 0; box-shadow: none; background: var(--surface); }
.v2s-bots .bots-row--card { padding: 14px; }
.v2s-bots .bots-row--card .bots-row__icon { width: 36px; height: 36px; border-radius: 10px; background: var(--surface-sunken); color: var(--text-muted); border: 0; }
.v2s-bots .bots-row--card .bots-row__icon .icon { width: 18px; height: 18px; }
.v2s-bots .bots-row__name { font-size: 16px; font-weight: var(--weight-semibold); }
.v2s-bots .bots-row__sub { font-size: 13px; color: var(--text-faint); }
.v2s-bots .badge { border: 0; height: 24px; display: inline-flex; align-items: center; padding: 0 9px; border-radius: var(--radius-pill); font-size: 12px; font-weight: var(--weight-medium); text-transform: none; letter-spacing: 0; }
.v2s-bots .badge--clear { background: var(--st-won-bg); color: var(--st-won-fg); }
.v2s-bots .badge--maybe { background: var(--st-work-bg); color: var(--st-work-fg); }
.v2s-bots .badge--muted { background: var(--st-lost-bg); color: var(--st-lost-fg); }
.v2s-bots .bots-row__tg, .v2s-bots .bots-row__sales { color: var(--text-faint); font-size: 12px; }
.v2s-bots .bots-row__tg .icon, .v2s-bots .bots-row__sales .icon { color: var(--text-faint); }
.v2s-bots .bots-swipe { border-radius: 0; box-shadow: none; border: 0; }
.v2s-bots .bots-swipe__del { background: var(--danger); }
.v2s-rules .field__note { display: flex; gap: 6px; align-items: flex-start; }
.v2s-rules .field__note .icon { flex: none; margin-top: 2px; }
