/* Reputation CRM – компонентный слой поверх токенов.
   Токены живут в rc-tokens.css и являются единственным источником значений:
   ни одного hex-кода ниже этой строки быть не должно. */

/* ─────────────────────────────────────────────── каркас */

body {
  margin: 0;
  background: var(--rc-canvas);
  color: var(--rc-text-primary);
  font: 400 14px/20px var(--rc-font);
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }

a { color: var(--rc-brand-500); text-decoration: none; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--rc-brand-500); outline-offset: 2px; }
.rc-num { font-variant-numeric: tabular-nums; }
.rc-mono { font: var(--rc-t-mono); }

/* ─────────────────────────────────────────────── каркас (артборды 1.3, 1.4) */

.rc-skip {
  position: absolute; left: -9999px; top: 0; z-index: 300;
  padding: var(--rc-space-3) var(--rc-space-4);
  background: var(--rc-surface-1); color: var(--rc-text-primary);
  border: 1px solid var(--rc-border-strong); border-radius: var(--rc-radius-md);
}
.rc-skip:focus { left: var(--rc-space-3); top: var(--rc-space-3); }

.rc-i { flex: none; }

/* Шапка – единственная тёмная плоскость в системе: она отделяет
   рабочую область от всего остального и не меняется между разделами. */
.rc-top {
  position: sticky; top: 0; z-index: 120;
  height: var(--rc-header-h);
  display: flex; align-items: center; gap: var(--rc-space-2);
  padding: 0 var(--rc-space-3);
  background: var(--rc-brand-900);
  color: #fff;
}
.rc-top a { color: #C6D2E4; }
.rc-top a:hover { text-decoration: none; }
.rc-top__logo {
  flex: none; display: flex; align-items: center;
  height: 40px; padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-sm);
}
.rc-top__logo:hover { background: var(--rc-brand-800); }
/* Знак белый и широкий: даём ему высоту и не режем в квадрат. */
.rc-top__logo img { height: 18px; width: auto; display: block; }
.rc-top__spacer { flex: 1; }

.rc-top__project { display: none; }

.rc-top__nav { display: flex; align-items: center; gap: var(--rc-space-1); margin-left: var(--rc-space-2); }
.rc-top__nav a {
  height: 32px; padding: 0 var(--rc-space-3);
  display: inline-flex; align-items: center;
  border-radius: var(--rc-radius-sm);
  font: 400 14px/20px var(--rc-font); white-space: nowrap;
}
.rc-top__nav a:hover { background: var(--rc-brand-800); }
.rc-top__nav a[aria-current="page"] { background: var(--rc-brand-800); color: #fff; font-weight: 600; }

.rc-top__search {
  display: flex; align-items: center; gap: var(--rc-space-2);
  height: 32px; width: min(340px, 32vw); padding: 0 var(--rc-space-3);
  border: 1px solid #2C4062; border-radius: var(--rc-radius-sm);
  background: var(--rc-brand-800); color: #8FA5C4;
}
.rc-top__search input {
  flex: 1; min-width: 0; height: 100%;
  border: 0; background: transparent; color: #fff;
  font: 400 13px/20px var(--rc-font); outline: none;
}
.rc-top__search input::placeholder { color: #8FA5C4; }
.rc-top__icon {
  width: 44px; height: 44px; flex: none;
  display: grid; place-items: center;
  border-radius: var(--rc-radius-sm); color: #C6D2E4;
}
.rc-top__icon:hover { background: var(--rc-brand-800); }
/* На широком экране поле поиска уже в шапке, отдельная иконка не нужна. */
.rc-top__search-link { display: none; }

.rc-avatar {
  width: 28px; height: 28px; flex: none;
  display: grid; place-items: center; border-radius: 50%;
  background: var(--rc-brand-600); color: #fff;
  font: 600 12px/1 var(--rc-font);
}

/* Меню на <details>: раскрытие без единой строки скрипта переживает
   и отключённый JS, и кэширование страницы. */
.rc-menu { position: relative; }
.rc-menu > summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; gap: var(--rc-space-2);
  height: 40px; padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-sm); color: #fff;
  font: 500 13px/18px var(--rc-font);
}
.rc-menu > summary::-webkit-details-marker { display: none; }
.rc-menu > summary:hover { background: var(--rc-brand-800); }
.rc-menu__body {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 130;
  min-width: 260px; padding: var(--rc-space-2);
  background: var(--rc-surface-1); color: var(--rc-text-primary);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  box-shadow: var(--rc-shadow-2);
  display: flex; flex-direction: column; gap: 2px;
}
.rc-menu__head {
  display: flex; flex-direction: column; gap: 2px;
  padding: var(--rc-space-2) var(--rc-space-3) var(--rc-space-3);
  border-bottom: 1px solid var(--rc-border); margin-bottom: var(--rc-space-2);
}
.rc-menu__head span { font: 400 13px/18px var(--rc-font); color: var(--rc-text-secondary); }
.rc-menu__body a,
.rc-menu__body button {
  display: flex; align-items: center; min-height: var(--rc-touch-min);
  padding: 0 var(--rc-space-3); width: 100%;
  border: 0; background: transparent; text-align: left; cursor: pointer;
  border-radius: var(--rc-radius-sm);
  color: var(--rc-text-primary); font: 400 14px/20px var(--rc-font);
}
.rc-menu__body a:hover,
.rc-menu__body button:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-top__user-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.rc-shell { display: flex; min-height: calc(100vh - var(--rc-header-h)); }
.rc-col { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.rc-side {
  width: var(--rc-sidebar-w); flex: 0 0 var(--rc-sidebar-w);
  display: flex; flex-direction: column;
  background: var(--rc-surface-1);
  border-right: 1px solid var(--rc-border);
}
.rc-side__head {
  display: flex; align-items: center; gap: var(--rc-space-2);
  padding: var(--rc-space-3);
  border-bottom: 1px solid var(--rc-border);
}
.rc-side__back {
  width: 32px; height: 32px; flex: none;
  display: grid; place-items: center;
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-sm);
  color: var(--rc-text-secondary);
}
.rc-side__back:hover { background: var(--rc-surface-2); text-decoration: none; }
/* Короткое имя проекта крупно, полное – подписью под ним. */
.rc-side__project { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rc-side__project-short {
  font: 600 14px/19px var(--rc-font); color: var(--rc-text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rc-side__project span + span {
  font: var(--rc-t-caption); color: var(--rc-text-secondary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Свойства данных под шапкой: период и дата среза. */
.rc-page-note {
  margin: calc(-1 * var(--rc-space-3)) 0 var(--rc-space-5);
  font: var(--rc-t-small); color: var(--rc-text-secondary);
}
.rc-side__nav { flex: 1; padding: var(--rc-space-2); display: flex; flex-direction: column; gap: 2px; }
.rc-side__foot { padding: var(--rc-space-2); border-top: 1px solid var(--rc-border); }

.rc-nav-item {
  display: flex; align-items: center; gap: var(--rc-space-3);
  min-height: 36px; padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-sm);
  color: var(--rc-text-secondary); font: 400 14px/20px var(--rc-font);
}
.rc-nav-item:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-nav-item__label { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rc-nav-item__count { font: var(--rc-t-caption); color: var(--rc-text-secondary); }
/* Активный раздел помечен и цветом, и засечкой слева: одного цвета мало. */
.rc-nav-item[aria-current="page"] {
  background: var(--rc-brand-100); color: var(--rc-brand-700); font-weight: 600;
  box-shadow: inset 3px 0 0 var(--rc-brand-700);
}
.rc-nav-item[aria-current="page"] .rc-nav-item__count { color: var(--rc-brand-700); }

/* Колонка контента ограничена по ширине: на широком мониторе строка в
   полтора метра не читается, глаз теряет начало следующей. Реестры и
   таблицы внутри при необходимости прокручиваются сами. */
.rc-main { flex: 1; min-width: 0; padding: var(--rc-space-6) var(--rc-space-7); }
/* Колонка содержимого стоит по центру рабочей области. Прижатая к левому
   краю, на широком мониторе она оставляла справа пустое поле в треть
   экрана, и страница выглядела недоделанной. */
.rc-main > * { max-width: var(--rc-content-max); margin-inline: auto; }
/* Режим сосредоточения и печатные шаблоны шириной управляют сами. */
.rc-body--focus .rc-main > * { max-width: none; }
.rc-page-title { margin: 0 0 var(--rc-space-2); font: var(--rc-t-display); letter-spacing: -.01em; }
.rc-page-sub { margin: 0 0 var(--rc-space-6); color: var(--rc-text-secondary); }
.rc-page-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: var(--rc-space-6); flex-wrap: wrap; margin-bottom: var(--rc-space-6);
}
.rc-page-head__main { flex: 1 1 420px; }
.rc-page-head > .rc-page-head__mark { flex: none; }
.rc-page-head .rc-page-title, .rc-page-head .rc-page-sub { margin-bottom: var(--rc-space-2); }
.rc-page-actions { display: flex; gap: var(--rc-space-2); flex-wrap: wrap; }

.rc-crumbs {
  display: flex; align-items: center; gap: var(--rc-space-2);
  margin-bottom: var(--rc-space-2);
  font: var(--rc-t-small); color: var(--rc-text-secondary);
}
.rc-crumbs .rc-i { color: var(--rc-text-muted); }

.rc-foot {
  flex: none;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--rc-space-6); flex-wrap: wrap;
  padding: var(--rc-space-3) var(--rc-space-7);
  border-top: 1px solid var(--rc-border); background: var(--rc-surface-1);
  font: 500 12px/16px var(--rc-font); color: var(--rc-text-muted);
}
.rc-foot__left, .rc-foot__right { display: flex; gap: var(--rc-space-5); flex-wrap: wrap; }
.rc-foot a { color: var(--rc-text-muted); }

.rc-section { margin-bottom: var(--rc-space-7); }
.rc-section__title { margin: 0 0 var(--rc-space-3); font: var(--rc-t-h2); }
/* Свёрнутый блок списка: дальние сроки не должны вытеснять срочное. */
.rc-fold > summary {
  display: flex; align-items: baseline; gap: var(--rc-space-3);
  cursor: pointer; list-style: none;
}
.rc-fold > summary::-webkit-details-marker { display: none; }
.rc-fold__hint { font: var(--rc-t-caption); color: var(--rc-brand-500); }
.rc-fold[open] > summary .rc-fold__hint::after { content: ' ↑'; }
.rc-fold[open] > summary .rc-fold__hint { visibility: hidden; }
.rc-fold > summary:hover .rc-fold__hint { text-decoration: underline; }
.rc-section__count {
  display: inline-block; margin-left: var(--rc-space-2); padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-pill); background: var(--rc-surface-3);
  font: var(--rc-t-caption); color: var(--rc-text-secondary);
  font-variant-numeric: tabular-nums; vertical-align: middle;
}
/* Код записи рядом с названием: нужен, когда о ней говорят вслух, но
   читать его первым незачем. */
.rc-table__title .rc-table__meta { display: block; margin-top: 2px; }
.rc-section__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--rc-space-3); margin-bottom: var(--rc-space-3);
}
.rc-section__head .rc-section__title { margin: 0; }
.rc-section__head a { font: 400 13px/18px var(--rc-font); }
.rc-card__head a { font: 400 13px/18px var(--rc-font); }

/* Нижняя навигация телефона: показывается только на узких экранах */
.rc-tabs { display: none; }

/* ─────────────────────────────────────────────── карточки и плитки */

.rc-card {
  background: var(--rc-surface-1);
  border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-md);
  box-shadow: var(--rc-shadow-1);
  padding: var(--rc-space-5);
}
.rc-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--rc-space-3); margin-bottom: var(--rc-space-3); }
.rc-card__title { margin: 0; font: var(--rc-t-h3); }
/* Заголовок микрографики в макетах набран прописными с разрядкой. */
.rc-card__title--kicker { text-transform: uppercase; letter-spacing: .04em; }
.rc-card__link { font: 400 13px/18px var(--rc-font); }
.rc-metric { font: var(--rc-t-metric); color: var(--rc-text-primary); }

.rc-grid { display: grid; gap: var(--rc-space-4); }
.rc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* Элемент сетки по умолчанию не уже своего содержимого, и длинная строка
   внутри карточки распирает колонку вместе со всей страницей. */
.rc-grid > * { min-width: 0; }
.rc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.rc-tile {
  background: var(--rc-surface-1); border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-md); padding: var(--rc-space-4);
  box-shadow: var(--rc-shadow-1);
}
.rc-tile__label { display: flex; align-items: center; justify-content: space-between; gap: var(--rc-space-2); font: var(--rc-t-small); color: var(--rc-text-secondary); }
/* Кегль показателя из макета. Цифра брендовая и кликабельная: она ведёт
   к записям, из которых посчитана, иначе крупное число ни на что не
   отвечает и только перетягивает внимание. */
.rc-tile__value {
  display: block; margin: var(--rc-space-2) 0 var(--rc-space-1);
  font: var(--rc-t-metric); font-variant-numeric: tabular-nums;
  color: var(--rc-brand-500);
}
.rc-tile__value:hover { text-decoration: none; color: var(--rc-brand-700); }
.rc-tile__delta { display: flex; align-items: center; gap: var(--rc-space-1); font: var(--rc-t-caption); }
.rc-tile__delta--up { color: var(--rc-positive-ink); }
.rc-tile__delta--down { color: var(--rc-critical-ink); }
.rc-tile__delta--flat { color: var(--rc-text-secondary); }
.rc-tile__at { display: block; margin-top: var(--rc-space-1); font: var(--rc-t-caption); color: var(--rc-text-muted); }

.rc-tile__meta { font: var(--rc-t-caption); color: var(--rc-text-secondary); }

/* ─────────────────────────────────────────────── бейджи */

.rc-badge {
  display: inline-flex; align-items: center; gap: var(--rc-space-1);
  height: 22px; padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-sm);
  font: 500 12px/16px var(--rc-font); white-space: nowrap;
}
/* Черновик и автоматически проставленное отличаются от подтверждённого
   не только цветом: пунктир виден и на чёрно-белой печати. */
.rc-badge--auto { border: 1px dashed var(--rc-border-strong); }

.rc-badge--fact       { background: var(--rc-fact-soft);       color: var(--rc-fact-ink); }
.rc-badge--hypothesis { background: var(--rc-hypothesis-soft); color: var(--rc-hypothesis-ink); }
.rc-badge--positive   { background: var(--rc-positive-soft);   color: var(--rc-positive-ink); }
.rc-badge--attention  { background: var(--rc-attention-soft);  color: var(--rc-attention-ink); }
.rc-badge--critical   { background: var(--rc-critical-soft);   color: var(--rc-critical-ink); }
.rc-badge--media      { background: var(--rc-media-soft);      color: var(--rc-media-ink); }
.rc-badge--legal      { background: var(--rc-legal-soft);      color: var(--rc-legal-ink); }

.rc-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.rc-dot--fact { background: var(--rc-fact); }
.rc-dot--hypothesis { background: var(--rc-hypothesis); }
.rc-dot--positive { background: var(--rc-positive); }
.rc-dot--attention { background: var(--rc-attention); }
.rc-dot--critical { background: var(--rc-critical); }
.rc-dot--media { background: var(--rc-media); }
.rc-dot--legal { background: var(--rc-legal); }
.rc-dot--unknown { background: transparent; border: 1.5px dashed var(--rc-border-strong); }

/* Уровень доказательности: различим без цвета – буква и тип рамки */
.rc-evidence {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: var(--rc-radius-sm);
  font: 500 12px/16px var(--rc-font-mono);
}
.rc-evidence--A { border: 2px solid var(--rc-brand-700); color: var(--rc-brand-700); }
.rc-evidence--B { border: 2px solid var(--rc-brand-500); color: var(--rc-brand-500); }
.rc-evidence--C { border: 1.5px solid var(--rc-border-strong); color: var(--rc-text-secondary); }
.rc-evidence--D { border: 1.5px dashed var(--rc-border-strong); color: var(--rc-text-muted); }
.rc-evidence--E { border: 1.5px dashed var(--rc-border); color: var(--rc-text-muted); }
.rc-evidence--none { border: 1.5px dashed var(--rc-border); color: var(--rc-text-muted); }

/* Артборд 6.3: у уровня риска цветная только точка. Цветная плашка
   выглядит как статус и пропадает при чёрно-белой печати. */
.rc-badge--level { background: var(--rc-surface-2); color: var(--rc-text-primary); }
.rc-badge--level .rc-dot { flex: none; }
/* Отсутствие данных подаётся пунктиром, а не как нейтральная оценка. */
.rc-badge--unknown { background: transparent; color: var(--rc-text-muted); border: 1px dashed var(--rc-border-strong); }

.rc-class { letter-spacing: .04em; display: inline-flex; align-items: center; height: 22px; padding: 0 var(--rc-space-2); border-radius: var(--rc-radius-sm); font: 500 12px/16px var(--rc-font); }
.rc-class--C0 { background: var(--rc-surface-2); color: var(--rc-text-secondary); }
.rc-class--C1 { background: var(--rc-surface-3); color: var(--rc-text-primary); }
.rc-class--C2 { background: var(--rc-fact-soft); color: var(--rc-fact-ink); }
.rc-class--C3 { background: var(--rc-critical-soft); color: var(--rc-critical-ink); }
/* К4 различается и без цвета: штриховка 4px поверх подложки. */
.rc-class--C4 {
  color: var(--rc-legal-ink);
  background:
    repeating-linear-gradient(45deg, transparent 0 3px, rgba(0, 0, 0, .06) 3px 4px),
    var(--rc-legal-soft);
}

/* ─────────────────────────────────────────────── таблицы и реестры */

/* Полоса фильтров по артборду 3.1: высота 36, поиск с иконкой внутри,
   выбор применяется сразу, справа переключатель плотности. */
/* Панель фильтров: одна карточка, а не россыпь контролов по полю.
   Поиск занимает оставшееся место, переключатели прижаты вправо. */
.rc-filters, .rc-toolbar {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--rc-space-2);
  margin-bottom: var(--rc-space-3);
  padding: var(--rc-space-3);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1);
}
.rc-filters__spacer { flex: 1; }
.rc-filters .rc-search { flex: 1 1 240px; width: auto; min-width: 200px; }
.rc-filters .rc-select, .rc-toolbar .rc-select { flex: 0 0 auto; width: auto; min-width: 190px; max-width: 260px; }
.rc-toolbar .rc-input { flex: 1 1 220px; min-width: 180px; }
/* Разделитель внутри панели: слева отбор, справа вид. */
.rc-filters__spacer { flex: 1 1 var(--rc-space-4); min-width: var(--rc-space-4); }

/* Представления – первой строкой панели, во всю ширину. */
.rc-filters__views {
  flex: 1 0 100%; display: flex; flex-wrap: wrap; gap: var(--rc-space-2);
  padding-bottom: var(--rc-space-3); margin-bottom: var(--rc-space-1);
  border-bottom: 1px solid var(--rc-border);
}
.rc-filters + .rc-chipline { margin-top: calc(-1 * var(--rc-space-1)); }
.rc-search {
  display: flex; align-items: center; gap: var(--rc-space-2);
  height: 36px; width: 300px; max-width: 100%; padding: 0 var(--rc-space-3);
  border: 1px solid var(--rc-border-control); border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-1); color: var(--rc-text-muted);
}
.rc-search input {
  flex: 1; min-width: 0; height: 100%; border: 0; background: transparent;
  color: var(--rc-text-primary); font: var(--rc-t-body); outline: none;
}
.rc-select--sm { height: 36px; font: var(--rc-t-body); }

.rc-seg { display: inline-flex; border: 1px solid var(--rc-border-strong); border-radius: var(--rc-radius-sm); overflow: hidden; }
.rc-seg__opt {
  display: inline-flex; align-items: center; height: 36px; padding: 0 var(--rc-space-3);
  font: 500 13px/18px var(--rc-font); color: var(--rc-text-secondary); background: var(--rc-surface-1);
}
.rc-seg__opt + .rc-seg__opt { border-left: 1px solid var(--rc-border-strong); }
.rc-seg__opt:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-seg__opt[aria-current="true"] { background: var(--rc-brand-100); color: var(--rc-brand-700); }

.rc-chipline { display: flex; align-items: center; gap: var(--rc-space-3); margin-bottom: var(--rc-space-3); min-width: 0; }
.rc-chipline__label { font: var(--rc-t-caption); color: var(--rc-text-secondary); white-space: nowrap; }
.rc-chipline__reset { font: var(--rc-t-caption); color: var(--rc-brand-500); align-self: center; }
.rc-chip--active { background: var(--rc-brand-100); border-color: var(--rc-brand-300); color: var(--rc-brand-700); padding-right: var(--rc-space-2); }

/* Компактная плотность: строка 36 вместо 44, кегль тот же. */
.rc-table--compact td { height: var(--rc-row-h-compact); padding-top: 2px; padding-bottom: 2px; }


/* Чипы прокручиваются по горизонтали внутри своей полосы: их больше,
   чем влезает в узкий экран, а переносить их в три строки хуже. */
.rc-chips {
  display: flex; gap: var(--rc-space-2); min-width: 0;
  overflow-x: auto; scrollbar-width: thin;
  padding-bottom: var(--rc-space-1);
}
.rc-chips > * { flex: none; }
.rc-chip {
  display: inline-flex; align-items: center; gap: var(--rc-space-1);
  height: 28px; padding: 0 var(--rc-space-3);
  border: 1px solid var(--rc-border-strong); border-radius: var(--rc-radius-pill);
  background: var(--rc-surface-1); color: var(--rc-text-primary);
  font: 500 12px/16px var(--rc-font); white-space: nowrap;
}
.rc-chip__count { color: var(--rc-text-muted); font-variant-numeric: tabular-nums; }
.rc-chip[aria-pressed="true"] .rc-chip__count { color: inherit; }
.rc-chip:hover { text-decoration: none; background: var(--rc-surface-2); }
.rc-chip[aria-pressed="true"] { background: var(--rc-brand-100); border-color: var(--rc-brand-300); color: var(--rc-brand-700); font-weight: 600; }

.rc-input, .rc-select {
  height: 40px; padding: 0 var(--rc-space-3);
  border: 1px solid var(--rc-border-control); border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-1); color: var(--rc-text-primary);
  font: 400 14px/20px var(--rc-font);
}

.rc-table-wrap { overflow-x: auto; background: var(--rc-surface-1); border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md); }
.rc-table { width: 100%; border-collapse: collapse; }
.rc-table th {
  position: sticky; top: 0; z-index: 1;
  height: 40px; padding: 0 var(--rc-space-3); text-align: left;
  background: var(--rc-surface-2); color: var(--rc-text-secondary);
  font: 500 12px/16px var(--rc-font); white-space: nowrap;
}
.rc-table td { height: var(--rc-row-h); padding: var(--rc-space-2) var(--rc-space-3); border-top: 1px solid var(--rc-border); vertical-align: middle; }
.rc-table tbody tr:hover { background: var(--rc-surface-2); }
.rc-table__id { font: 500 13px/18px var(--rc-font-mono); white-space: nowrap; }
.rc-table__title { max-width: 420px; }
/* Служебная строка светлее основного текста, но всё же читаемая:
   text-muted на белом даёт слишком слабый контраст для целых абзацев. */
.rc-table__meta { color: var(--rc-text-secondary); font-size: 13px; }
.rc-table__nested td:first-child { padding-left: var(--rc-space-6); }

/* ─────────────────────────────────────────────── прочее */

.rc-bar { display: block; height: 8px; border-radius: 4px; background: var(--rc-surface-3); overflow: hidden; }
/* Заливка блочная: у строчного элемента высота не действует, и полоса
   выглядела пустой при любом значении. */
.rc-bar__fill { display: block; height: 100%; background: var(--rc-brand-700); }
.rc-bar__fill--fact { background: var(--rc-fact); }
.rc-bar__fill--positive { background: var(--rc-positive); }
.rc-bar__fill--attention { background: var(--rc-attention); }
.rc-bar__fill--critical { background: var(--rc-critical); }
.rc-bar__fill--hypothesis { background: var(--rc-hypothesis); }
/* Артборды 10.1, 10.4, 10.7: тянется полоса, подпись фиксирована. При
   обратном порядке полоса выглядела обрубком при любом значении. */
.rc-meter { display: grid; grid-template-columns: 150px 1fr 36px; align-items: center; gap: var(--rc-space-3); margin-bottom: var(--rc-space-2); }
.rc-meter--wide { grid-template-columns: 210px 1fr 44px; }
.rc-meter__name { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-meter__value { text-align: right; font: 500 13px/18px var(--rc-font); }
.rc-meter__mark { position: absolute; top: -2px; bottom: -2px; width: 2px; background: var(--rc-text-muted); }
@media (max-width: 560px) {
  .rc-meter, .rc-meter--wide { grid-template-columns: 1fr 44px; }
  .rc-meter .rc-bar { grid-column: 1 / -1; order: 3; }
}

/* Артборд 10.3: горизонтальная ось с точками и датами над ней.
   Вертикальный список остаётся на узком экране. */
.rc-timeline--h { list-style: none; margin: 0; padding: var(--rc-space-6) 0 0; border: 0; position: relative; display: grid; gap: var(--rc-space-3); }
.rc-timeline--h::before { content: ""; position: absolute; left: 0; right: 0; top: 54px; height: 2px; background: var(--rc-border-strong); }
.rc-timeline--h > li { position: relative; padding: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.rc-timeline--h > li::before { content: none; }
.rc-timeline__date { font: 500 12px/16px var(--rc-font-mono); color: var(--rc-text-muted); }
.rc-timeline__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--rc-hypothesis); box-shadow: 0 0 0 3px var(--rc-surface-1); }
.rc-timeline__dot[data-semantic="media"] { background: var(--rc-media); }
.rc-timeline__dot[data-semantic="legal"] { background: var(--rc-legal); }
.rc-timeline__dot[data-semantic="fact"] { background: var(--rc-fact); }
.rc-timeline__dot[data-semantic="positive"] { background: var(--rc-positive); }
.rc-timeline__dot[data-semantic="critical"] { background: var(--rc-critical); }
.rc-timeline__text { display: flex; align-items: flex-start; gap: 4px; font: var(--rc-t-small); color: var(--rc-text-primary); text-wrap: pretty; }
.rc-timeline__text svg { flex: none; margin-top: 2px; color: var(--rc-text-muted); }
@media (max-width: 767px) {
  .rc-timeline--h { grid-template-columns: 1fr !important; padding-top: 0; }
  .rc-timeline--h::before { content: none; }
}

.rc-timeline { list-style: none; margin: 0; padding: 0 0 0 var(--rc-space-4); border-left: 2px solid var(--rc-border-strong); }
.rc-timeline li { position: relative; padding: 0 0 var(--rc-space-4) var(--rc-space-4); }
.rc-timeline li::before { content: ""; position: absolute; left: calc(-1 * var(--rc-space-4) - 6px); top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--rc-hypothesis); }
.rc-timeline li[data-semantic="media"]::before { background: var(--rc-media); }
.rc-timeline li[data-semantic="legal"]::before { background: var(--rc-legal); }
.rc-timeline li[data-semantic="fact"]::before { background: var(--rc-fact); }
.rc-timeline li[data-semantic="positive"]::before { background: var(--rc-positive); }
.rc-timeline li[data-semantic="critical"]::before { background: var(--rc-critical); }

.rc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--rc-space-2);
  height: 40px; padding: 0 var(--rc-space-4);
  border: 1px solid transparent; border-radius: var(--rc-radius-md);
  font: 600 14px/20px var(--rc-font); cursor: pointer;
}
.rc-btn--primary { background: var(--rc-brand-700); color: var(--rc-text-inverse); }
.rc-btn--primary:hover { background: var(--rc-brand-600); text-decoration: none; }
.rc-btn--secondary { background: var(--rc-surface-1); color: var(--rc-text-primary); border-color: var(--rc-border-strong); }
.rc-btn--secondary:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-btn--danger { background: var(--rc-critical); color: #fff; }
.rc-btn--danger:hover { background: var(--rc-critical-ink); text-decoration: none; }
.rc-btn--quiet { background: transparent; color: var(--rc-text-secondary); }
.rc-btn--quiet:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-btn:active { transform: translateY(1px); }
.rc-btn--primary:active { background: var(--rc-brand-800); }
/* Заблокированная кнопка должна выглядеть заблокированной: раньше
   «Выпустить версию» при непройденном контроле качества оставалась
   брендовой и звала нажать. */
.rc-btn:disabled,
.rc-btn[disabled] {
  background: var(--rc-surface-3); color: var(--rc-text-muted);
  border-color: var(--rc-border); cursor: not-allowed; transform: none;
}
.rc-btn--lg { height: 48px; padding: 0 var(--rc-space-5); font-size: 15px; }
.rc-btn--icon { width: 40px; padding: 0; }

/* Артборд 6.14: по левому краю, иконка 32 без круглой подложки –
   пустой экран не должен выглядеть торжественнее заполненного. */
.rc-empty {
  display: flex; flex-direction: column; align-items: flex-start; gap: var(--rc-space-2);
  padding: var(--rc-space-6) var(--rc-space-4); color: var(--rc-text-secondary);
}
.rc-empty__icon { color: var(--rc-text-muted); }
.rc-empty__icon svg { width: 32px; height: 32px; }
.rc-empty__title { font: var(--rc-t-h3); color: var(--rc-text-primary); margin-bottom: var(--rc-space-2); }

.rc-alert {
  display: flex; align-items: flex-start; gap: var(--rc-space-3);
  padding: var(--rc-space-3) var(--rc-space-4); border-radius: var(--rc-radius-md);
  margin-bottom: var(--rc-space-4); box-shadow: var(--rc-shadow-2);
  border: 1px solid transparent;
}
.rc-alert__icon { flex: none; margin-top: 2px; }
.rc-alert__body { flex: 1; min-width: 0; }
.rc-alert__action { flex: none; margin-left: auto; }
.rc-alert--info { background: var(--rc-brand-050); color: var(--rc-brand-700); }
.rc-alert--error { background: var(--rc-critical-soft); color: var(--rc-critical-ink); border-color: var(--rc-critical); }
.rc-alert--success { background: var(--rc-positive-soft); color: var(--rc-positive-ink); }

.rc-claim { border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md); background: var(--rc-surface-1); padding: var(--rc-space-5); margin-bottom: var(--rc-space-6); }
.rc-claim__pair {
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1); margin-bottom: var(--rc-space-4);
}
.rc-claim__pair > .rc-claim__block { padding: var(--rc-space-4); margin: 0; }
.rc-claim__block--established { border-top: 1px solid var(--rc-border); background: var(--rc-surface-2); border-radius: 0 0 var(--rc-radius-md) var(--rc-radius-md); }
/* Текст утверждения это главное на экране, поэтому он крупнее всего
   остального: при кегле служебной подписи его перестают читать. */
.rc-claim__quote { margin: 0; font: 400 18px/26px var(--rc-font); text-wrap: pretty; }
.rc-claim__neutral { margin: 0; font: 400 16px/24px var(--rc-font); }

/* Плашки: предупреждение и предложение ИИ */
.rc-plate {
  display: flex; flex-direction: column; gap: var(--rc-space-1);
  padding: 14px var(--rc-space-4); margin-bottom: var(--rc-space-4);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-sm);
  font: var(--rc-t-small);
}
.rc-plate--attention {
  border-left: 3px solid var(--rc-attention-icon);
  background: var(--rc-attention-soft); color: var(--rc-attention-ink);
}
.rc-plate--attention strong { font: var(--rc-t-body-strong); }
/* Пунктир означает «предложено автоматикой»: отличимо и на чёрно-белой печати */
.rc-plate--ai { border: 1px dashed var(--rc-border-strong); background: var(--rc-hypothesis-soft); }
.rc-plate__kicker { font: var(--rc-t-caption); color: var(--rc-hypothesis-ink); }
/* Сигналы портфеля: цветная левая граница, кликабельная строка целиком. */
.rc-plate--critical {
  border-left: 3px solid var(--rc-critical); background: var(--rc-critical-soft); color: var(--rc-critical-ink);
}
a.rc-plate { text-decoration: none; margin-bottom: var(--rc-space-2); }
a.rc-plate:hover { text-decoration: none; border-color: var(--rc-border-strong); }
a.rc-plate:last-child { margin-bottom: 0; }
.rc-plate__title { font: var(--rc-t-body); color: var(--rc-text-primary); }
.rc-plate__meta { font: var(--rc-t-caption); color: var(--rc-text-secondary); }

/* Артборд 2.1: матрица фиксированной ширины, остальное тянется. */
.rc-grid--matrix { grid-template-columns: 520px minmax(0, 1fr); }
@media (max-width: 1023px) { .rc-grid--matrix { grid-template-columns: 1fr; } }
.rc-claim__block { margin-bottom: var(--rc-space-4); }
.rc-claim__label { font: var(--rc-t-caption); color: var(--rc-text-secondary); text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--rc-space-1); }
/* Панель решений закреплена внизу: она нужна на каждом утверждении,
   и искать её прокруткой не должно приходиться. */
.rc-claim__actions {
  position: sticky; bottom: 0; z-index: 5;
  display: flex; flex-wrap: wrap; gap: var(--rc-space-2);
  padding: var(--rc-space-3) 0;
  border-top: 1px solid var(--rc-border); background: var(--rc-surface-1);
}
.rc-claim__actions .rc-key { font: var(--rc-t-mono); opacity: .7; margin-left: 4px; }

/* Основание утверждения: строка-ссылка на источник */
/* Строка основания. Колонок может быть разное число – где-то есть уровень
   доказательности, где-то только код и название, – поэтому раскладка
   гибкая, а не сеткой с жёстким числом колонок: при несовпадении элементы
   налезали друг на друга. */
.rc-ground {
  display: flex; align-items: flex-start; gap: var(--rc-space-3); flex-wrap: wrap;
  min-height: var(--rc-row-h); padding: var(--rc-space-1) var(--rc-space-2);
  margin-bottom: var(--rc-space-2);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-sm);
  color: var(--rc-text-primary);
}
.rc-ground > .rc-mono { flex: none; padding-top: 2px; }
/* Основание читают целиком: именно текст утверждения и решает, годится
   ли тезис. Раньше строка обрезалась троеточием, и главное пряталось. */
.rc-ground { min-width: 0; max-width: 100%; padding-block: var(--rc-space-2); }
.rc-ground > .rc-badge { flex: none; margin-left: auto; }
.rc-ground > svg:last-child { flex: none; margin-left: auto; }
.rc-ground > .rc-badge + svg:last-child { margin-left: 0; }
.rc-ground:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-ground > .rc-evidence { flex: 0 0 auto; }
.rc-ground__title { flex: 1 1 240px; min-width: 0; text-wrap: pretty; }
.rc-ground__date { flex: none; font: var(--rc-t-caption); color: var(--rc-text-secondary); white-space: nowrap; }

/* ─────────────────────────────────────────────── вход (артборды 1.1, 1.2) */

.rc-auth { min-height: 100vh; display: grid; place-items: center; padding: var(--rc-space-6); }
.rc-auth__box {
  width: 100%; max-width: 1040px; min-height: 560px;
  display: grid; grid-template-columns: 1fr 480px;
  border-radius: var(--rc-radius-lg); overflow: hidden;
  background: var(--rc-surface-1); box-shadow: var(--rc-shadow-2);
}
.rc-auth__brand {
  background: var(--rc-brand-900); color: #fff;
  padding: var(--rc-space-10);
  display: flex; flex-direction: column; justify-content: space-between; gap: var(--rc-space-8);
}
.rc-auth__logo { height: 40px; width: auto; align-self: flex-start; }
.rc-auth__promise { margin: 0 0 var(--rc-space-4); font: var(--rc-t-display); max-width: 22ch; }
.rc-auth__note { margin: 0; font: var(--rc-t-body); color: #C6D2E4; max-width: 46ch; }
.rc-auth__service { display: flex; flex-wrap: wrap; gap: var(--rc-space-6); font: var(--rc-t-caption); color: #8FA5C4; }

.rc-auth__form {
  padding: var(--rc-space-10) var(--rc-space-8);
  display: flex; flex-direction: column; justify-content: center; gap: var(--rc-space-5);
}
.rc-auth__title { margin: 0 0 var(--rc-space-1); font: var(--rc-t-h1); }
.rc-auth__sub { margin: 0; font: var(--rc-t-body); color: var(--rc-text-secondary); }
.rc-auth__fields { display: flex; flex-direction: column; gap: var(--rc-space-5); }
.rc-auth__field { display: flex; flex-direction: column; gap: 6px; }
.rc-auth__field > span { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-auth__field .rc-input { width: 100%; }
.rc-auth__field .rc-input[aria-invalid="true"] { border-color: var(--rc-critical); }
.rc-auth__hint { font: var(--rc-t-caption); color: var(--rc-critical-ink); }
.rc-auth__error {
  display: flex; gap: var(--rc-space-3); align-items: flex-start;
  padding: 14px var(--rc-space-4);
  border: 1px solid var(--rc-critical); border-radius: var(--rc-radius-sm);
  background: var(--rc-critical-soft); color: var(--rc-critical-ink);
  font: var(--rc-t-small);
}
.rc-auth__footnote {
  margin: 0; padding-top: var(--rc-space-4);
  border-top: 1px solid var(--rc-border);
  font: var(--rc-t-caption); color: var(--rc-text-secondary);
}

@media (max-width: 900px) {
  .rc-auth { padding: 0; align-items: stretch; }
  .rc-auth__box { max-width: none; min-height: 100vh; grid-template-columns: 1fr; border-radius: 0; box-shadow: none; }
  .rc-auth__brand { padding: var(--rc-space-6) var(--rc-space-4); gap: var(--rc-space-4); }
  .rc-auth__logo { height: 28px; }
  .rc-auth__promise { font: var(--rc-t-h1); margin-bottom: var(--rc-space-2); }
  .rc-auth__service { display: none; }
  .rc-auth__form { padding: var(--rc-space-6) var(--rc-space-4) var(--rc-space-8); justify-content: flex-start; }
}

/* ─────────────────────────────────────────────── формы и списки */

.rc-form { max-width: 720px; }
.rc-field { margin-bottom: var(--rc-space-4); }
.rc-field > label { display: block; margin-bottom: var(--rc-space-1); font: 500 13px/18px var(--rc-font); }
.rc-field .rc-input, .rc-field .rc-select, .rc-field .rc-textarea { width: 100%; }
.rc-field--pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rc-space-3); }
.rc-field--pair label { display: block; margin-bottom: var(--rc-space-1); font: 500 13px/18px var(--rc-font); }
.rc-textarea { height: auto; padding: var(--rc-space-3); line-height: 20px; resize: vertical; }
.rc-date { display: flex; gap: var(--rc-space-2); }
.rc-date__text { flex: 1; min-width: 0; }
.rc-date__pick {
  width: 44px; flex: none; padding: 0 var(--rc-space-2);
  border: 1px solid var(--rc-border-control); border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-1); color: var(--rc-text-secondary);
  height: 40px; cursor: pointer;
}
.rc-date__pick::-webkit-datetime-edit,
.rc-date__pick::-webkit-inner-spin-button,
.rc-date__pick::-webkit-clear-button { display: none; }
.rc-date__pick::-webkit-calendar-picker-indicator { opacity: .6; cursor: pointer; }

.rc-hint--error { color: var(--rc-critical-ink); font-weight: 500; }
.rc-hint { display: block; margin-top: var(--rc-space-1); font: 400 12px/16px var(--rc-font); color: var(--rc-text-secondary); }
.rc-check { display: flex; align-items: center; gap: var(--rc-space-2); min-height: var(--rc-touch-min); }
.rc-check input { width: 20px; height: 20px; }

.rc-list { display: flex; flex-direction: column; background: var(--rc-surface-1); border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md); overflow: hidden; }
.rc-list a {
  display: flex; align-items: center; gap: var(--rc-space-3);
  min-height: 44px; padding: 0 var(--rc-space-3);
  color: var(--rc-text-primary); font: 400 14px/20px var(--rc-font);
}
.rc-list a + a { border-top: 1px solid var(--rc-border); }
.rc-list a:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-list a > span { flex: 1; }
.rc-list a > .rc-i:last-child { color: var(--rc-text-muted); }

.rc-person { display: flex; align-items: center; gap: var(--rc-space-3); }
.rc-avatar--lg { width: 44px; height: 44px; font-size: 15px; background: var(--rc-brand-100); color: var(--rc-brand-700); }

.rc-defs { display: grid; grid-template-columns: auto 1fr; gap: var(--rc-space-2) var(--rc-space-3); margin: 0; align-items: start; }
.rc-defs dt { padding-top: 2px; }
.rc-defs dd { margin: 0; font: 400 14px/20px var(--rc-font); }

/* Флажки множественного выбора */
.rc-checks { border: 0; margin: 0 0 var(--rc-space-5); padding: 0; min-width: 0; }
.rc-checks legend { padding: 0; margin-bottom: var(--rc-space-2); font: 600 15px/20px var(--rc-font); }
.rc-checks__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rc-space-1) var(--rc-space-4); }
.rc-checks[data-columns="1"] .rc-checks__grid { grid-template-columns: 1fr; }
.rc-checks .rc-check { align-items: flex-start; padding: var(--rc-space-1) 0; }
.rc-checks .rc-check input { margin-top: 2px; }
.rc-checks .rc-check span { line-height: 20px; }
.rc-checks .rc-hint { margin-top: var(--rc-space-2); }

.rc-btn--small { height: 32px; padding: 0 var(--rc-space-3); font-size: 13px; }
.rc-token {
  display: block; margin: var(--rc-space-2) 0;
  padding: var(--rc-space-3); border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-2); border: 1px solid var(--rc-border-strong);
  font: 500 13px/20px var(--rc-font-mono); word-break: break-all; user-select: all;
}
.rc-code {
  padding: 2px 6px; border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-2); font: 500 12px/18px var(--rc-font-mono);
  word-break: break-all;
}

.rc-inline-form { display: flex; gap: var(--rc-space-2); align-items: center; }
.rc-select--compact { height: 32px; padding: 0 var(--rc-space-2); font-size: 13px; max-width: 200px; }

.rc-block { padding: var(--rc-space-3) 0; border-top: 1px solid var(--rc-border); }
.rc-block:first-of-type { border-top: 0; padding-top: 0; }

.rc-plain { margin: 0; padding-left: var(--rc-space-5); line-height: 22px; }

/* ─────────────────────────────────────────────── микрографики */

.rc-caption {
  margin: var(--rc-space-3) 0 0;
  font: var(--rc-t-caption); color: var(--rc-text-secondary);
}

.rc-how { position: relative; }
/* Кнопка «как рассчитано» из макета: рамка и вторичный текст, а не ссылка */
.rc-how > summary {
  list-style: none; cursor: pointer;
  display: inline-flex; align-items: center; height: 24px; padding: 0 var(--rc-space-2);
  border: 1px solid var(--rc-border-strong); border-radius: var(--rc-radius-sm);
  font: var(--rc-t-caption); color: var(--rc-text-secondary); white-space: nowrap;
}
.rc-how > summary:hover { background: var(--rc-surface-2); }
.rc-how > summary::-webkit-details-marker { display: none; }
.rc-how > div {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: 320px;
  padding: var(--rc-space-3); border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-md); background: var(--rc-surface-1);
  box-shadow: var(--rc-shadow-2);
  font: 400 13px/18px var(--rc-font); color: var(--rc-text-secondary);
}

.rc-pulse__value { display: flex; align-items: baseline; gap: var(--rc-space-2); margin-bottom: var(--rc-space-4); }
.rc-pulse__value > .rc-num { font: var(--rc-t-metric-lg); color: var(--rc-brand-700); }
.rc-pulse__max { font: 400 16px/20px var(--rc-font); color: var(--rc-text-muted); }
.rc-delta { margin-left: auto; font: 500 12px/16px var(--rc-font); }
.rc-delta--up { color: var(--rc-positive-ink); }
.rc-delta--down { color: var(--rc-critical-ink); }

/* Матрица 3×3: подписи по краям, девять ячеек, точки внутри. */
.rc-matrix {
  display: grid;
  grid-template-columns: auto auto repeat(3, minmax(0, 1fr));
  gap: var(--rc-space-1);
  align-items: stretch;
}
.rc-matrix__ylabel {
  grid-row: 1 / span 3; writing-mode: vertical-rl; transform: rotate(180deg);
  display: grid; place-items: center;
  font: 500 12px/16px var(--rc-font); color: var(--rc-text-muted);
}
.rc-matrix__ytick, .rc-matrix__xtick {
  display: grid; place-items: center; padding: 0 var(--rc-space-2);
  font: 500 12px/16px var(--rc-font); color: var(--rc-text-secondary);
}
.rc-matrix__xlabel {
  grid-column: 1 / -1; text-align: center; padding-top: var(--rc-space-1);
  font: 500 12px/16px var(--rc-font); color: var(--rc-text-muted);
}
.rc-matrix__cell {
  min-height: 64px; padding: var(--rc-space-2);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-2);
  display: flex; flex-wrap: wrap; gap: var(--rc-space-1); align-content: flex-start;
}
.rc-matrix__dot {
  display: inline-flex; align-items: center; height: 20px; padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-pill); color: #fff;
  font: 500 11px/16px var(--rc-font-mono); white-space: nowrap;
}
.rc-matrix__dot.rc-dot--critical { background: var(--rc-critical); }
.rc-matrix__dot.rc-dot--attention { background: var(--rc-attention-icon); }
.rc-matrix__dot.rc-dot--positive { background: var(--rc-positive); }
.rc-matrix__dot.rc-dot--media { background: var(--rc-media); }
.rc-matrix__dot.rc-dot--fact { background: var(--rc-fact); }
.rc-matrix__dot.rc-dot--hypothesis { background: var(--rc-hypothesis); }
.rc-matrix__dot.rc-dot--legal { background: var(--rc-legal); }
.rc-matrix__dot { width: auto; height: 20px; }

/* Расшифровка матрицы: код и название рядом. Без неё коды в клетках
   ничего не значат (ТЗ на оформление, 10.2). */
.rc-matrix__legend {
  display: grid; gap: 6px; margin: var(--rc-space-4) 0 var(--rc-space-2); padding: 0; list-style: none;
}
.rc-matrix__legend li {
  display: flex; align-items: baseline; gap: var(--rc-space-2);
  font: var(--rc-t-small); min-width: 0;
}
.rc-matrix__legend .rc-mono { color: var(--rc-text-muted); flex: none; }
.rc-matrix__legend a { color: var(--rc-text-primary); text-decoration: none; }
.rc-matrix__legend a:hover { text-decoration: underline; }

/* Плашка проекта в клетке матрицы портфеля: коды рисков в разных
   проектах повторяются, поэтому здесь подписан проект и число. */
.rc-matrix__chip {
  display: inline-flex; align-items: center; gap: var(--rc-space-1);
  max-width: 100%; height: 22px; padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-pill); color: #fff;
  font: 500 11px/16px var(--rc-font); white-space: nowrap;
}
.rc-matrix__chip-name { overflow: hidden; text-overflow: ellipsis; }
.rc-matrix__chip-count {
  padding: 0 5px; border-radius: var(--rc-radius-pill);
  background: rgb(255 255 255 / .25); font-variant-numeric: tabular-nums;
}
.rc-matrix__chip.rc-dot--critical { background: var(--rc-critical); }
.rc-matrix__chip.rc-dot--attention { background: var(--rc-attention-icon); }
.rc-matrix__chip.rc-dot--positive { background: var(--rc-positive); }
.rc-matrix__chip.rc-dot--media { background: var(--rc-media); }
.rc-matrix__chip.rc-dot--fact { background: var(--rc-fact); }
.rc-matrix__chip.rc-dot--hypothesis { background: var(--rc-hypothesis); }
.rc-matrix__chip.rc-dot--legal { background: var(--rc-legal); }

/* Карточка проекта в портфеле и списке проектов. Не счётчики сущностей,
   а состояние дела: о чём проект, что горит, чего не хватает. */
/* Сетка карточек: без min-width длинное название проекта распирает
   карточку и страница уезжает вбок на телефоне. */
.rc-pcards { display: grid; gap: var(--rc-space-3); }
.rc-pcards > *, .rc-pcard > *, .rc-pcard__head > * { min-width: 0; }
.rc-pcard {
  padding: var(--rc-space-5);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1); box-shadow: var(--rc-shadow-1);
}
.rc-pcard__head {
  display: flex; align-items: center;
  gap: var(--rc-space-3); margin-bottom: var(--rc-space-3);
}
.rc-pcard__ident { min-width: 0; flex: 1 1 auto; }
.rc-pcard__full {
  margin: 2px 0 0; font: var(--rc-t-small); color: var(--rc-text-secondary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.rc-pcard__state { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); flex: none; }
.rc-pcard__title { margin: 0; font: var(--rc-t-h2); min-width: 0; }
.rc-pcard__title a { color: var(--rc-text-primary); text-decoration: none; }
.rc-pcard__title a:hover { text-decoration: underline; }
.rc-pcard__client {
  margin: 0 0 var(--rc-space-3); font: var(--rc-t-small); color: var(--rc-text-secondary);
}
.rc-pcard__about {
  margin: 0 0 var(--rc-space-3); max-width: 80ch;
  font: var(--rc-t-body); color: var(--rc-text-secondary); text-wrap: pretty;
}
.rc-pcard__signals { display: grid; gap: var(--rc-space-2); margin: 0 0 var(--rc-space-3); padding: 0; list-style: none; }
.rc-pcard__signal {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--rc-space-2);
  padding-left: var(--rc-space-3); border-left: 3px solid var(--rc-border);
  font: var(--rc-t-body); min-width: 0;
}
.rc-pcard__signal--critical { border-left-color: var(--rc-critical); }
.rc-pcard__signal--attention { border-left-color: var(--rc-attention-icon); }
.rc-pcard__signal-label {
  flex: 0 0 auto; font: var(--rc-t-caption); color: var(--rc-text-muted);
  text-transform: uppercase; letter-spacing: .04em;
}
/* Линейка типов документов: одна база – несколько представлений. */
.rc-types { display: grid; gap: var(--rc-space-3); grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.rc-type {
  display: grid; gap: 2px; padding: var(--rc-space-3) var(--rc-space-4);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1); text-decoration: none;
}
a.rc-type:hover { border-color: var(--rc-brand-300); background: var(--rc-brand-050); }
.rc-type__name { font: var(--rc-t-body-strong); color: var(--rc-text-primary); }
.rc-type__who { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-type__size { font: var(--rc-t-caption); color: var(--rc-text-muted); }

/* Быстрое заведение записи прямо в реестре. Раскрывающаяся панель, а
   не модальное окно: по ТЗ на оформление запись редактируется в панели. */
.rc-quickadd {
  margin-bottom: var(--rc-space-4);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1);
}
.rc-quickadd > summary {
  display: flex; align-items: center; gap: var(--rc-space-2);
  padding: var(--rc-space-3) var(--rc-space-4);
  cursor: pointer; list-style: none;
  font: var(--rc-t-body-strong); color: var(--rc-brand-500);
}
.rc-quickadd > summary::-webkit-details-marker { display: none; }
.rc-quickadd[open] > summary { border-bottom: 1px solid var(--rc-border); }
.rc-quickadd__form {
  display: flex; flex-wrap: wrap; gap: var(--rc-space-3);
  padding: var(--rc-space-4); align-items: flex-end;
}
.rc-quickadd__field { display: flex; flex-direction: column; gap: 4px; min-width: 160px; flex: 1 1 160px; }
.rc-quickadd__field--wide { flex: 4 1 320px; }
.rc-quickadd__field > span { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-quickadd__actions { display: flex; gap: var(--rc-space-2); flex: 0 0 auto; }

/* Стадия работы – нейтральный бейдж. Проект в предконтракте и проект в
   реализации различаются словом, а не цветом: цвет в системе занят
   риском и статусом проверки. */
.rc-badge--stage {
  background: var(--rc-surface-2); color: var(--rc-text-secondary);
  border: 1px solid var(--rc-border);
}

/* Ссылка на проект в сквозных реестрах: метка и короткое имя. */
.rc-projref { display: inline-flex; align-items: center; gap: var(--rc-space-2); white-space: nowrap; }
.rc-warn { color: var(--rc-critical-ink); }

/* Метка проекта: цветной квадрат с монограммой. По длинному названию
   глаз проект не находит, по цвету и двум буквам – находит сразу. */
.rc-mark {
  display: inline-grid; place-items: center; flex: none;
  border-radius: var(--rc-radius-md);
  background: var(--rc-tint, var(--rc-brand-700)); color: #fff;
  font-weight: 600; letter-spacing: .01em; line-height: 1;
  font-feature-settings: 'ss01';
}
.rc-mark--sm { width: 24px; height: 24px; font-size: 10px; border-radius: var(--rc-radius-sm); }
.rc-mark--md { width: 34px; height: 34px; font-size: 13px; }
.rc-mark--lg { width: 44px; height: 44px; font-size: 16px; }

/* Постоянный цвет проекта (категориальная палитра, ТЗ 2.4).
   Нужен там, где проекты стоят рядом. Цвет не статус, поэтому он живёт
   только в тонкой полосе и в плашке, но никогда не заливает карточку. */
.rc-tint-1 { --rc-tint: var(--rc-series-1); }
.rc-tint-2 { --rc-tint: var(--rc-series-2); }
.rc-tint-3 { --rc-tint: var(--rc-series-3); }
.rc-tint-4 { --rc-tint: var(--rc-series-4); }
.rc-tint-5 { --rc-tint: var(--rc-series-5); }
.rc-tint-6 { --rc-tint: var(--rc-series-6); }
.rc-tint-7 { --rc-tint: var(--rc-series-7); }
.rc-tint-8 { --rc-tint: var(--rc-series-8); }

/* Цвет проекта – тонкой полосой слева, не заливкой карточки. */
.rc-pcard { border-left: 3px solid var(--rc-tint, var(--rc-border)); }
.rc-matrix__chip[class*="rc-tint-"] { background: var(--rc-tint); }


/* Шапка страницы: заголовок, одна строка подписи, метки отдельной
   строкой. Раньше класс материала стоял в ряду кнопок и читался как
   ещё одна кнопка. */
.rc-page-head__main { min-width: 0; }
/* Метка проекта в шапке: точка опоры слева от заголовка. */
.rc-page-head__mark { margin-top: 2px; }
.rc-page-marks {
  display: flex; flex-wrap: wrap; gap: var(--rc-space-2); margin-top: var(--rc-space-2);
}

/* Объём собранного материала. Каждое число – ссылка в свой реестр. */
.rc-pcard__volume {
  display: flex; flex-wrap: wrap; gap: var(--rc-space-4);
  margin: 0 0 var(--rc-space-3); font: var(--rc-t-small); color: var(--rc-text-secondary);
}
.rc-pcard__volume a { color: var(--rc-text-secondary); text-decoration: none; }
.rc-pcard__volume a:hover { color: var(--rc-brand-500); text-decoration: underline; }
.rc-pcard__volume .rc-num {
  margin-left: 6px; font-weight: 600; color: var(--rc-text-primary);
  font-variant-numeric: tabular-nums;
}

.rc-pcard__foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--rc-space-3); padding-top: var(--rc-space-3); border-top: 1px solid var(--rc-border);
}
.rc-pcard__ready { display: inline-flex; align-items: center; gap: var(--rc-space-2); }
.rc-pcard__ready-label { font: var(--rc-t-caption); color: var(--rc-text-secondary); }
.rc-pcard__meta { font: var(--rc-t-caption); color: var(--rc-text-muted); }
.rc-pcard__actions { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); }

/* Карточка риска в блоке «Три главных риска» */
.rc-riskcard {
  display: block; padding: var(--rc-space-3);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1); color: var(--rc-text-primary);
}
.rc-riskcard + .rc-riskcard { margin-top: var(--rc-space-2); }
.rc-riskcard:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-riskcard__top { display: flex; align-items: center; gap: var(--rc-space-2); margin-bottom: var(--rc-space-1); }
.rc-riskcard__name { font: 500 14px/20px var(--rc-font); }
.rc-riskcard__meta { margin-top: var(--rc-space-1); font: var(--rc-t-caption); font-weight: 400; color: var(--rc-text-secondary); }

/* Реестр с правкой в строке: раскрывается на месте, без ухода со страницы */
.rc-rows { display: flex; flex-direction: column; gap: var(--rc-space-2); }
.rc-row { border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md); background: var(--rc-surface-1); }
.rc-row > summary {
  list-style: none; cursor: pointer;
  display: flex; align-items: center; gap: var(--rc-space-3);
  padding: var(--rc-space-3); min-height: var(--rc-touch-min);
}
.rc-row > summary::-webkit-details-marker { display: none; }
.rc-row > summary:hover { background: var(--rc-surface-2); border-radius: var(--rc-radius-md); }
.rc-row__body { flex: 1; min-width: 0; }
.rc-row__chevron { color: var(--rc-text-muted); display: grid; place-items: center; }
.rc-row[open] > summary .rc-row__chevron { transform: rotate(180deg); }
.rc-row__form { padding: 0 var(--rc-space-3) var(--rc-space-3); border-top: 1px solid var(--rc-border); }
.rc-row__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--rc-space-4); padding-top: var(--rc-space-4);
}

/* Находка в поиске: сразу видно, что это, где лежит и когда заведено */
.rc-hit {
  display: flex; align-items: center; gap: var(--rc-space-3);
  padding: var(--rc-space-3); min-height: var(--rc-touch-min);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1); color: var(--rc-text-primary);
}
.rc-hit:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-hit--exact { border-color: var(--rc-brand-300); }
.rc-hit__main { flex: 1; min-width: 0; }
.rc-hit__title { display: block; font: 500 14px/20px var(--rc-font); }
.rc-hit__meta { display: block; font: 400 12px/16px var(--rc-font); color: var(--rc-text-secondary); }
.rc-hit__code { color: var(--rc-text-secondary); white-space: nowrap; }

/* Объекты проекта: кто именно фигурирует в деле */
.rc-objects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rc-space-3); }
.rc-object {
  display: flex; gap: var(--rc-space-3); align-items: flex-start;
  padding: var(--rc-space-3); border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-md); background: var(--rc-surface-1);
  color: var(--rc-text-primary);
}
.rc-object:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-object__icon {
  width: 36px; height: 36px; flex: none; display: grid; place-items: center;
  border-radius: 50%; background: var(--rc-brand-100); color: var(--rc-brand-700);
}
.rc-object__name { display: block; font: 600 14px/20px var(--rc-font); }
.rc-object__meta { display: block; font: var(--rc-t-caption); font-weight: 400; color: var(--rc-text-secondary); }
.rc-object__body { min-width: 0; }

/* Аспекты проекта: явные и неявные цели, влияние, вводные */
.rc-aspects { display: grid; gap: var(--rc-space-4); }
.rc-aspect__label {
  font: var(--rc-t-caption); color: var(--rc-text-secondary);
  text-transform: uppercase; letter-spacing: .04em; margin-bottom: var(--rc-space-1);
}
.rc-aspect__body { font: 400 14px/20px var(--rc-font); white-space: pre-line; }

/* Предпросмотр документа: узкая колонка, как на печатной странице */
/* Колонка документа держит комфортную строку и стоит по центру листа:
   прижатая влево, она оставляла пустой всю правую половину карточки. */
.rc-doc { max-width: 760px; margin-inline: auto; }
/* Таблице нужна вся ширина листа: в колонку текста четыре колонки
   данных не помещаются и переносятся по слогам. */
.rc-doc .rc-table-wrap { width: 100%; }
.rc-doc__kicker { font: 700 11px/16px var(--rc-font); color: var(--rc-text-muted); letter-spacing: .06em; text-transform: uppercase; }
.rc-doc__headline { margin: var(--rc-space-1) 0 var(--rc-space-4); font: 600 22px/28px var(--rc-font); }
.rc-doc__section {
  margin: var(--rc-space-6) 0 var(--rc-space-2);
  font: 600 11px/16px var(--rc-font); color: var(--rc-text-secondary);
  letter-spacing: .06em; text-transform: uppercase;
}
.rc-doc__meta { margin-bottom: var(--rc-space-4); }
/* Подзаголовок внутри раздела справки аналитика («4.1. Санкционная тень»). */
.rc-doc__subhead { margin: var(--rc-space-4) 0 var(--rc-space-1); font: 600 15px/20px var(--rc-font); }

/* ─────────────────────────────────────────────── адаптив */

@media (max-width: 1279px) {
  .rc-top__search { width: 240px; }
}

/* Страница «Справочник и разделы». Список разделов и карточка пользователя
   там нужны только там, где боковое меню спрятано: на широком экране это
   дословный повтор того, что уже на экране. Порог совпадает с моментом,
   когда прячется .rc-side. */
.rc-only-narrow { display: none; }
@media (max-width: 1023px) { .rc-only-narrow { display: block; } }


@media (max-width: 1023px) {
  .rc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-grid--3, .rc-grid--2 { grid-template-columns: 1fr; }

  /* Боковая навигация уходит: на планшете и телефоне её роль
     берут на себя таб-бар и страница «Ещё». */
  .rc-side { display: none; }

  /* На планшете шапка не вмещает и поле поиска, и имя целиком:
     имя уходит, поиск ужимается до иконки с полем. */
  .rc-top__user-name { display: none; }
  .rc-top__search { width: 180px; }
  .rc-main { padding: var(--rc-space-5); }
  .rc-foot { padding: var(--rc-space-3) var(--rc-space-5); }
}

@media (max-width: 1023px) {


  .rc-main { padding: var(--rc-space-4) var(--rc-space-4) var(--rc-space-6); }

  .rc-foot {
    padding: var(--rc-space-4) var(--rc-space-4) calc(var(--rc-tabbar-h) + var(--rc-space-6));
    flex-direction: column; align-items: flex-start; gap: var(--rc-space-2);
  }

  .rc-foot__note { display: none; }

  .rc-page-title { font: 600 22px/28px var(--rc-font); }

  .rc-page-head { gap: var(--rc-space-3); }

  .rc-page-actions { width: 100%; }

  .rc-page-actions .rc-btn { flex: 1; white-space: nowrap; }

  /* Гриф класса занимает свою строку: рядом с кнопкой он ужимает её
     подпись в две строки. */
  .rc-page-actions .rc-class { flex-basis: 100%; }


  .rc-tabs {
    display: grid; grid-template-columns: repeat(5, 1fr);
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 110;
    height: calc(var(--rc-tabbar-h) + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    background: var(--rc-surface-1); border-top: 1px solid var(--rc-border);
  }

  .rc-tabs a {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px; font: 500 11px/14px var(--rc-font); color: var(--rc-text-secondary);
    min-height: var(--rc-touch-min);
  }

  .rc-tabs a[aria-current="page"] { color: var(--rc-brand-700); }
  .rc-tabs__icon { position: relative; display: grid; place-items: center; }
  .rc-tabs__badge {
    position: absolute; top: -4px; left: 12px;
    min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px;
    background: var(--rc-critical); color: #fff;
    font: 600 10px/16px var(--rc-font); text-align: center;
  }

  .rc-tabs a:hover { text-decoration: none; }


  /* Реестр перестраивается в карточки: пять полей, порядок один во всех
     реестрах системы (ТЗ оформления, 4.1). */
  .rc-table-wrap { border: 0; background: transparent; overflow: visible; }

  .rc-table, .rc-table tbody, .rc-table tr, .rc-table td { display: block; width: 100%; }

  .rc-table thead { display: none; }

  .rc-table tr {
    background: var(--rc-surface-1); border: 1px solid var(--rc-border);
    border-radius: var(--rc-radius-md); margin-bottom: var(--rc-space-3);
    padding: var(--rc-space-3);
  }

  .rc-table td { height: auto; border: 0; padding: 2px 0; }

  .rc-table td[data-label]::before {
    content: attr(data-label) " · ";
    color: var(--rc-text-muted); font-size: 12px;
  }

  .rc-table td.rc-cell--head::before { content: none; }

  .rc-table__title { max-width: none; }

  /* Пустая ячейка в карточном режиме не должна печатать свою подпись:
     строки «Флаги ·» без содержимого – мусор. */
  .rc-table td:empty { display: none; }


  /* Главное действие на телефоне закреплено внизу и достаётся большим пальцем */
  .rc-claim__actions { position: sticky; bottom: var(--rc-tabbar-h); background: var(--rc-surface-1); }

  .rc-claim__actions .rc-btn { flex: 1 1 30%; height: 48px; }


  .rc-input, .rc-select { height: 48px; font-size: 16px; }


  /* Идентификаторы – основной способ провалиться в запись, на телефоне
     им нужна область касания не меньше 24px (WCAG 2.5.8). */
  .rc-table__id,
  .rc-table td a,
  .rc-ground a,
  .rc-page-sub a,
  a.rc-mono { display: inline-block; min-height: 24px; padding: var(--rc-space-1) 0; }


  .rc-tile__value { min-height: 44px; }


  /* На узком экране заголовок источника не должен ужиматься в колонку
     шириной в три слова: уровень и идентификатор уходят в первую строку. */
  .rc-ground { flex-wrap: wrap; row-gap: var(--rc-space-1); }

  .rc-ground > span:not(.rc-badge) { flex-basis: 100%; }


  /* Чипы фильтров на телефоне – основной способ переключать представления,
     поэтому им нужна комфортная высота, а не декоративные 28px. */
  .rc-chip { height: 36px; padding: 0 var(--rc-space-4); }


  /* Подпись показателя не должна ужиматься в колонку в три слова,
     пока полоса занимает фиксированные 120px. */
  .rc-meter { grid-template-columns: 1fr auto; gap: var(--rc-space-1) var(--rc-space-3); margin-bottom: var(--rc-space-3); }

  .rc-meter > :first-child { grid-column: 1 / -1; }


  /* Поля фильтра занимают всю ширину. Ширина select определяется самым
     длинным вариантом («Д – Неподтверждённая гипотеза, сигнал ИИ…»),
     и без ограничения он вылезает за край экрана. */
  .rc-checks__grid { grid-template-columns: 1fr; }

  .rc-objects { grid-template-columns: 1fr; }
  .rc-row__grid { grid-template-columns: 1fr; }
  .rc-row > summary { flex-wrap: wrap; }

  .rc-matrix { grid-template-columns: auto auto repeat(3, minmax(0, 1fr)); font-size: 11px; }

  .rc-matrix__cell { min-height: 52px; padding: var(--rc-space-1); }

  /* Артборд 2.2: плитки в два столбца. Подпись и кнопка «как рассчитано»
     переносятся, кнопка ужимается – иначе строка вылезала за край. */
  .rc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-tile { padding: var(--rc-space-3); }
  .rc-tile__label { flex-wrap: wrap; }
  .rc-how { max-width: 100%; }
  .rc-how > summary { white-space: normal; font-size: 11px; padding: 0 var(--rc-space-1); }

  /* Полоса фильтров на узком экране в один столбец, плотность не нужна:
     строки там и так собраны в карточки. */
  .rc-filters { flex-direction: column; align-items: stretch; }
  .rc-search { width: 100%; height: 48px; }
  .rc-search input { font-size: 16px; }
  .rc-select--sm { height: 48px; width: 100%; }
  .rc-seg, .rc-filters__spacer { display: none; }
  .rc-chipline { flex-direction: column; align-items: stretch; gap: var(--rc-space-2); }

  .rc-how > div { position: fixed; left: var(--rc-space-3); right: var(--rc-space-3); width: auto; }

  .rc-pulse__value > .rc-num { font-size: 40px; line-height: 44px; }

  .rc-toolbar { flex-direction: column; align-items: stretch; }

  .rc-toolbar .rc-input,
  .rc-toolbar .rc-select,
  .rc-toolbar .rc-btn { width: 100%; max-width: 100%; min-width: 0; }
}

@media (max-width: 767px) {
  /* Шапка на телефоне: слева проект, справа поиск и профиль.
     Разделы верхнего уровня дублируются таб-баром внизу. */
  .rc-top { padding: 0 var(--rc-space-2); gap: var(--rc-space-1); }

  .rc-top__nav { display: none; }

  .rc-top__search { display: none; }

  .rc-top__search-link { display: grid; }

  .rc-top__user-name { display: none; }

  .rc-top__logo--with-project { display: none; }

  .rc-top__project {
    display: flex; flex-direction: column; min-width: 0; flex: 1;
    padding: 0 var(--rc-space-2); min-height: var(--rc-touch-min);
    justify-content: center;
  }

  .rc-top__project-id { font: 500 12px/16px var(--rc-font-mono); color: #8FA5C4; }

  .rc-top__project-name {
    font: 600 14px/18px var(--rc-font); color: #fff;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }

  .rc-menu__body { position: fixed; left: var(--rc-space-3); right: var(--rc-space-3); top: calc(var(--rc-header-h) + 6px); min-width: 0; }
}

@media print {
  .rc-top, .rc-side, .rc-tabs, .rc-toolbar, .rc-foot, .rc-skip { display: none; }
  .rc-main { padding: 0; }
}

/* Источник под утверждением: доказательная цепочка видна отступом. */
.rc-ground--nested { margin-left: var(--rc-space-5); background: var(--rc-surface-2); }

/* Врезка-объяснение: зачем эта страница и что с ней делать. */
.rc-lead { margin: 0; font: var(--rc-t-h3); font-weight: 400; color: var(--rc-text-secondary); max-width: 72ch; text-wrap: pretty; }
/* Вводный абзац прямо в колонке страницы встаёт по её левому краю, а не
   прижимается к краю окна: margin: 0 выше сбивал центрирование колонки. */
.rc-main > .rc-lead { max-width: var(--rc-content-max); margin: 0 auto var(--rc-space-5); }

/* Отчёт контроля качества (ТЗ FR-M12-20): состояние, объяснение, переход. */
.rc-qa { list-style: none; margin: var(--rc-space-4) 0 0; padding: 0; }
.rc-qa__bar { margin-top: var(--rc-space-2); }
.rc-qa__item {
  display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: var(--rc-space-3);
  align-items: start; padding: var(--rc-space-2) 0; border-top: 1px solid var(--rc-border);
}
.rc-qa__item:first-child { border-top: 0; }
.rc-qa__mark { display: grid; place-items: center; margin-top: 2px; }
.rc-qa__item--ok .rc-qa__mark { color: var(--rc-positive-icon); }
.rc-qa__item--warn .rc-qa__mark { color: var(--rc-attention-icon); }
.rc-qa__item--block .rc-qa__mark { color: var(--rc-critical); }
.rc-qa__body { display: grid; gap: 2px; min-width: 0; }
.rc-qa__title { font: var(--rc-t-body); }
.rc-qa__item--ok .rc-qa__title { color: var(--rc-text-secondary); }
.rc-qa__detail { font: var(--rc-t-small); color: var(--rc-text-secondary); text-wrap: pretty; }
.rc-qa__side { display: flex; align-items: center; gap: var(--rc-space-3); font: var(--rc-t-small); }
.rc-qa__code { color: var(--rc-text-muted); font-size: 12px; }
@media (max-width: 640px) {
  .rc-qa__item { grid-template-columns: 20px minmax(0, 1fr); }
  .rc-qa__side { grid-column: 2; }
}

/* Загрузка файла (артборд 6.13): зона перетаскивания и цепочка стадий. */
.rc-drop {
  display: grid; justify-items: center; gap: var(--rc-space-1);
  min-height: 120px; padding: var(--rc-space-5);
  border: 2px dashed var(--rc-border-strong); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-2); color: var(--rc-text-secondary); cursor: pointer;
}
.rc-drop:hover, .rc-drop:focus-within { border-color: var(--rc-brand-500); background: var(--rc-brand-050); }
.rc-drop svg { color: var(--rc-text-muted); }
.rc-drop__title { font: var(--rc-t-body-strong); color: var(--rc-text-primary); }
.rc-drop__hint { font: var(--rc-t-small); }
.rc-drop input[type="file"] { margin-top: var(--rc-space-2); font: var(--rc-t-small); }
.rc-upload__stages {
  display: flex; flex-wrap: wrap; gap: var(--rc-space-2); list-style: none;
  margin: var(--rc-space-3) 0 0; padding: 0;
  font: var(--rc-t-caption); color: var(--rc-text-muted);
}
.rc-upload__stages li { display: flex; align-items: center; gap: var(--rc-space-2); }
.rc-upload__stages li + li::before { content: "→"; color: var(--rc-border-strong); }

/* Режим сосредоточения: очередь проверки (артборд 4.1).
   Три колонки – очередь, утверждение, контекст. Без навигации по
   разделам: в очереди человек занят одним делом. */
.rc-body--focus { background: var(--rc-surface-2); }
.rc-top--focus { gap: var(--rc-space-3); }
.rc-top__focus-title { font: var(--rc-t-h3); color: #fff; }
.rc-top__focus-meta { font: 500 12px/16px var(--rc-font-mono); color: #8FA5C4; }
.rc-top__focus-counter { font: var(--rc-t-body-strong); color: #fff; }
/* Кнопка на тёмной шапке: обычная вторичная там нечитаема. */
.rc-top--focus .rc-btn--secondary {
  background: rgba(255, 255, 255, .10); border-color: rgba(255, 255, 255, .28); color: #fff;
}
.rc-top--focus .rc-btn--secondary:hover { background: rgba(255, 255, 255, .18); }
.rc-focus { padding: var(--rc-space-6); max-width: 1600px; margin: 0 auto; }
.rc-focus__alert { max-width: 860px; margin-inline: auto; }
.rc-focus__empty { max-width: 560px; margin: var(--rc-space-8) auto; }
.rc-focus__grid { display: grid; grid-template-columns: 280px minmax(0, 1fr) 360px; gap: var(--rc-space-6); align-items: start; }

/* min-width: 0 обязателен: иначе горизонтальная лента внутри растягивает
   колонку сетки и вся страница едет вправо. */
.rc-queue { display: flex; flex-direction: column; gap: var(--rc-space-1); min-width: 0; max-height: calc(100vh - 140px); overflow-y: auto; }
.rc-queue__item {
  display: grid; gap: 2px; padding: var(--rc-space-3);
  border: 1px solid transparent; border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-1); color: var(--rc-text-primary); text-decoration: none;
}
.rc-queue__item:hover { text-decoration: none; border-color: var(--rc-border-strong); }
.rc-queue__item--on { border-color: var(--rc-brand-300); background: var(--rc-brand-050); }
.rc-queue__id { font: 500 12px/16px var(--rc-font-mono); color: var(--rc-text-muted); }
.rc-queue__text { font: var(--rc-t-small); }
.rc-queue__meta { display: flex; align-items: center; gap: var(--rc-space-1); font: var(--rc-t-caption); color: var(--rc-text-secondary); }

.rc-context { display: flex; flex-direction: column; gap: var(--rc-space-5); }
.rc-context__block { background: var(--rc-surface-1); border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md); padding: var(--rc-space-4); }
.rc-context__object { display: grid; gap: 2px; font: var(--rc-t-small); text-decoration: none; color: var(--rc-text-primary); }
.rc-context__object:hover { text-decoration: underline; }
.rc-context__facts { display: flex; gap: var(--rc-space-5); margin: 0 0 var(--rc-space-3); }
.rc-context__facts dt { font: var(--rc-t-caption); color: var(--rc-text-muted); }
.rc-context__facts dd { margin: 0; font: var(--rc-t-body-strong); }
.rc-context__levels { display: flex; gap: var(--rc-space-2); flex-wrap: wrap; }
.rc-context__level { display: inline-flex; align-items: center; gap: 4px; font: var(--rc-t-small); }
.rc-context__level--empty { opacity: .4; }
.rc-context__similar { display: grid; gap: 2px; padding: var(--rc-space-2) 0; border-top: 1px solid var(--rc-border); font: var(--rc-t-small); }
.rc-context__similar:first-of-type { border-top: 0; }
.rc-context__keys { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--rc-space-1); font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-key {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 5px; margin-left: var(--rc-space-1);
  border: 1px solid var(--rc-border-strong); border-radius: 4px;
  background: var(--rc-surface-2); color: var(--rc-text-secondary);
  font: 500 11px/14px var(--rc-font-mono);
}
.rc-btn--primary .rc-key { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .12); color: #fff; }
.rc-claim__more > summary { list-style: none; }
.rc-claim__more > summary::-webkit-details-marker { display: none; }
.rc-menu__item {
  display: block; width: 100%; text-align: left; padding: var(--rc-space-2) var(--rc-space-3);
  border: 0; background: transparent; color: var(--rc-text-primary);
  font: var(--rc-t-body); cursor: pointer;
}
.rc-menu__item:hover { background: var(--rc-surface-2); }

@media (max-width: 1279px) {
  .rc-focus__grid { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); }
  .rc-context { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
  .rc-context__block { flex: 1 1 260px; }
}
@media (max-width: 767px) {
  .rc-focus { padding: var(--rc-space-3); }
  /* minmax(0,…) вместо 1fr: колонка с горизонтальной лентой иначе
     растягивается по содержимому и уводит страницу вправо. */
  .rc-focus__grid { grid-template-columns: minmax(0, 1fr); }
  /* Очередь на телефоне сворачивается: экран занимает одно утверждение. */
  .rc-queue { flex-direction: row; overflow-x: auto; max-height: none; padding-bottom: var(--rc-space-2); }
  .rc-queue__item { flex: none; width: 200px; max-width: 70vw; }
  .rc-queue__text { display: none; }
  .rc-key { display: none; }
  /* Шапка: выход остаётся иконкой, подпись съедает всю строку. */
  .rc-top--focus { padding: 0 var(--rc-space-2); }
  .rc-top--focus .rc-btn { width: 40px; padding: 0; overflow: hidden; text-indent: -999px; }
  .rc-top--focus .rc-btn::after {
    content: "✕"; text-indent: 0; float: left; width: 40px; text-align: center;
  }
  .rc-top__focus-meta { display: none; }
}

/* Кризис-комната (артборд 6.2): три цифры сверху, дальше только позиция,
   запреты и действия. Реестров и графиков здесь нет намеренно. */
.rc-crisis__head { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rc-space-6); align-items: start; }
.rc-crisis__timer { font: var(--rc-t-metric); color: var(--rc-text-primary); font-variant-numeric: tabular-nums; }
.rc-crisis__escalate { justify-self: end; text-align: right; }
.rc-crisis__horizon { border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md); padding: var(--rc-space-4); }
.rc-crisis__horizon-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--rc-space-2); margin-bottom: var(--rc-space-3); }
.rc-crisis__task {
  display: grid; grid-template-columns: 16px 1fr; gap: var(--rc-space-1) var(--rc-space-2);
  padding: var(--rc-space-2) 0; border-top: 1px solid var(--rc-border);
  font: var(--rc-t-small); color: var(--rc-text-primary); text-decoration: none;
}
.rc-crisis__task:hover { text-decoration: none; background: var(--rc-surface-2); }
.rc-crisis__task svg { color: var(--rc-text-muted); margin-top: 2px; }
.rc-crisis__task > span:last-child { grid-column: 2; }
.rc-crisis__task-done { color: var(--rc-text-muted); text-decoration: line-through; }
@media (max-width: 767px) {
  .rc-crisis__head { grid-template-columns: 1fr; gap: var(--rc-space-4); }
  .rc-crisis__escalate { justify-self: stretch; text-align: left; }
  .rc-crisis__escalate .rc-btn { width: 100%; }
}

/* Подсказка сочетания клавиш в поле поиска и счётчик у колокольчика. */
.rc-kbd {
  flex: none; padding: 2px 6px; border-radius: var(--rc-radius-sm);
  border: 1px solid rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .08);
  font: 500 11px/14px var(--rc-font-mono); color: #8FA5C4;
}
.rc-top__icon { position: relative; }
.rc-top__badge {
  position: absolute; top: 4px; right: 2px; min-width: 16px; height: 16px; padding: 0 4px;
  display: grid; place-items: center; border-radius: var(--rc-radius-pill);
  background: var(--rc-critical); color: #fff; font: 600 10px/14px var(--rc-font);
}
@media (max-width: 1023px) { .rc-kbd { display: none; } }

/* Панель массовых действий (артборд 3.1): появляется только при выборе,
   держится у нижнего края и не перекрывает последнюю строку таблицы. */
.rc-table__pick { width: 32px; padding-right: 0; }
.rc-table__pick input { width: 16px; height: 16px; accent-color: var(--rc-brand-700); cursor: pointer; }
.rc-bulkbar {
  position: sticky; bottom: var(--rc-space-3); z-index: 5;
  display: flex; align-items: center; gap: var(--rc-space-2); flex-wrap: wrap;
  margin-top: var(--rc-space-3); padding: var(--rc-space-3) var(--rc-space-4);
  border: 1px solid var(--rc-brand-300); border-radius: var(--rc-radius-md);
  background: var(--rc-brand-050); box-shadow: var(--rc-shadow-2);
}
.rc-bulkbar__count { font: var(--rc-t-body-strong); color: var(--rc-brand-700); margin-right: var(--rc-space-2); }
.rc-bulkbar [data-rc-clear] { margin-left: auto; }
@media (max-width: 767px) {
  .rc-table__pick { display: none; }
  .rc-bulkbar { display: none; }
}

/* Постраничная навигация */
.rc-pager {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--rc-space-4); flex-wrap: wrap;
  padding-top: var(--rc-space-4); border-top: 1px solid var(--rc-border);
}
.rc-pager__note { font-size: var(--rc-t-small-size); color: var(--rc-text-secondary); }
.rc-pager__pages { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.rc-pager__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 34px; padding: 0 10px;
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-sm);
  background: var(--rc-surface-1); color: var(--rc-text-primary);
  font-size: var(--rc-t-small-size); text-decoration: none;
}
a.rc-pager__btn:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-pager__btn--on { background: var(--rc-brand-700); border-color: var(--rc-brand-700); color: var(--rc-text-inverse); }
.rc-pager__btn--off { color: var(--rc-text-muted); background: transparent; border-color: transparent; }
.rc-pager__gap { padding: 0 4px; color: var(--rc-text-muted); }
@media (max-width: 640px) {
  .rc-pager { justify-content: center; }
  .rc-pager__note { width: 100%; text-align: center; }
}


/* ─────────────────────────────────────────────── реестры */

/* Разговорный номер записи: «У-46», «Т-05». Колонка узкая и не тянется –
   восьмизначный код занимал полстроки и ничего не сообщал. */
.rc-col-num {
  width: 1%; white-space: nowrap; text-align: left;
  font: 500 13px/18px var(--rc-font-mono); color: var(--rc-text-secondary);
}

/* Метки у заголовка записи: тип, острота, класс. */
.rc-marks { display: flex; flex-wrap: wrap; gap: var(--rc-space-1); margin-top: var(--rc-space-1); }

/* Тон тезиса – тонкая метка, а не колонка текста. */
.rc-tone {
  display: inline-flex; align-items: center; height: 22px; padding: 0 var(--rc-space-2);
  border-radius: var(--rc-radius-sm); font: 500 12px/16px var(--rc-font);
  background: var(--rc-surface-2); color: var(--rc-text-secondary);
  box-shadow: inset 2px 0 0 var(--rc-border-strong);
}
.rc-tone--positive  { box-shadow: inset 2px 0 0 var(--rc-positive); }
.rc-tone--negative  { box-shadow: inset 2px 0 0 var(--rc-critical); }
.rc-tone--crisis    { box-shadow: inset 2px 0 0 var(--rc-critical); }
.rc-tone--defensive { box-shadow: inset 2px 0 0 var(--rc-attention); }
.rc-tone--explanatory { box-shadow: inset 2px 0 0 var(--rc-media); }

/* Раскладка по статусам над таблицей: доля и переход к отбору. */
.rc-tallies {
  display: flex; flex-wrap: wrap; gap: var(--rc-space-2);
  margin-bottom: var(--rc-space-4);
}
.rc-tally {
  display: flex; flex-direction: column; gap: 2px; min-width: 128px;
  padding: var(--rc-space-2) var(--rc-space-3);
  border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md);
  background: var(--rc-surface-1); color: inherit; text-decoration: none;
}
.rc-tally:hover { background: var(--rc-surface-2); text-decoration: none; }
.rc-tally--on { border-color: var(--rc-brand-500); background: var(--rc-surface-2); }
.rc-tally__n { font: var(--rc-t-h2); font-variant-numeric: tabular-nums; }
.rc-tally__label {
  display: flex; align-items: center; gap: var(--rc-space-1);
  font: var(--rc-t-caption); color: var(--rc-text-secondary);
}

.rc-pager-wrap { margin-top: var(--rc-space-4); }


/* ─────────────────────────────────────────────── ссылка быстрого входа */

/* Ссылка длинная и её выделяют целиком, поэтому моноширинный шрифт и
   щелчок по полю выделяет всё: набирать её руками никто не будет. */
.rc-entry__url {
  width: 100%; font: var(--rc-t-mono); cursor: text;
  background: var(--rc-surface-2);
}
.rc-entry__form { display: grid; gap: var(--rc-space-3); max-width: 560px; }
.rc-entry__check { min-height: auto; }

/* Анкета топ-лица: единственная страница системы без навигации.
   Колонка шире, чем у входа: в форме восемь блоков и полсотни вопросов,
   и читать её человек будет с ноутбука между встречами. */
.rc-intake { background: var(--rc-surface-2); min-height: 100vh; }
.rc-intake__page { padding: var(--rc-space-6) var(--rc-space-4); display: grid; place-items: start center; }
.rc-intake__box {
  width: 100%; max-width: 480px; padding: var(--rc-space-6);
  background: var(--rc-surface-1); border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-md); box-shadow: var(--rc-shadow-1);
}
.rc-intake__box--wide { max-width: 760px; }
.rc-intake__title { font: var(--rc-t-h1); margin: 0 0 var(--rc-space-3); }
.rc-intake__lead { font: var(--rc-t-body); color: var(--rc-text-secondary); margin: 0 0 var(--rc-space-5); }
.rc-intake__error, .rc-intake__ok {
  padding: var(--rc-space-3); border-radius: var(--rc-radius-sm);
  margin-bottom: var(--rc-space-4); font: var(--rc-t-body);
}
.rc-intake__error { background: var(--rc-critical-bg); color: var(--rc-critical-ink); }
.rc-intake__ok { background: var(--rc-positive-bg, var(--rc-surface-2)); color: var(--rc-text-primary); }
.rc-intake__form { max-width: none; }
.rc-intake__block { margin-bottom: var(--rc-space-6); padding-top: var(--rc-space-4); border-top: 1px solid var(--rc-border); }
.rc-intake__block:first-of-type { border-top: 0; padding-top: 0; }
.rc-intake__block-title { font: var(--rc-t-h2); margin: 0 0 var(--rc-space-2); }
.rc-intake__note { font: var(--rc-t-caption); color: var(--rc-text-secondary); margin: 0 0 var(--rc-space-4); }
.rc-intake__req { color: var(--rc-critical-ink); margin-left: 2px; }
.rc-intake__table { width: 100%; border-collapse: collapse; }
.rc-intake__table th {
  text-align: left; font: var(--rc-t-caption); color: var(--rc-text-secondary);
  padding-bottom: var(--rc-space-1); font-weight: 500;
}
.rc-intake__table td { padding: 0 var(--rc-space-1) var(--rc-space-1) 0; }
.rc-intake__priority { display: grid; gap: var(--rc-space-1); }
.rc-intake__priority-row {
  display: grid; grid-template-columns: 1fr 72px; gap: var(--rc-space-3);
  align-items: center; font: var(--rc-t-body);
}
.rc-intake__actions { display: flex; flex-wrap: wrap; gap: var(--rc-space-3); margin: var(--rc-space-5) 0 var(--rc-space-3); }

@media (max-width: 640px) {
  .rc-intake__page { padding: var(--rc-space-3); }
  .rc-intake__box { padding: var(--rc-space-4); }
  .rc-intake__actions .rc-btn { width: 100%; }
  .rc-intake__table { display: block; overflow-x: auto; }
}

/* Заметки проекта: текст из Markdown без собственных классов. */
.rc-prose { line-height: 1.55; }
.rc-prose > * + * { margin-top: .6em; }
.rc-prose ul, .rc-prose ol { padding-left: 1.4em; }
.rc-prose li + li { margin-top: .25em; }
.rc-prose h1, .rc-prose h2, .rc-prose h3 { font-size: 1.05em; font-weight: 600; margin-top: 1em; }
.rc-prose a { color: var(--rc-accent, inherit); text-decoration: underline; }
.rc-prose li:has(> input[type="checkbox"]) { list-style: none; margin-left: -1.4em; }
.rc-prose li > input[type="checkbox"] { margin-right: .5em; }

/* Архив проекта: карточка файла и чтение транскрипта. */
.rc-dl { display: grid; grid-template-columns: minmax(120px, max-content) 1fr; gap: .35em 1.2em; margin: 0; }
.rc-dl dt { color: var(--rc-text-2, inherit); }
.rc-dl dd { margin: 0; }
.rc-reader { max-width: 980px; overflow-wrap: anywhere; }
.rc-reader h1 { font-size: 1.35em; margin-top: 1.2em; }
.rc-reader h2 { font-size: 1.15em; margin-top: 1.6em; padding-top: .8em; border-top: 1px solid var(--rc-border); }
.rc-reader h3 { font-size: 1.02em; }
.rc-reader table { width: 100%; border-collapse: collapse; font-size: .92em; display: block; overflow-x: auto; }
.rc-reader th, .rc-reader td { border: 1px solid var(--rc-border); padding: .35em .55em; vertical-align: top; text-align: left; }
.rc-reader th { background: var(--rc-surface-2, transparent); font-weight: 600; }
.rc-reader pre { white-space: pre; overflow-x: auto; font-size: .82em; line-height: 1.35; padding: .8em; background: var(--rc-surface-2, transparent); border-radius: var(--rc-radius-md, 6px); }
.rc-reader blockquote { margin-left: 0; padding-left: 1em; border-left: 3px solid var(--rc-border); }
.rc-reader hr { border: 0; border-top: 1px solid var(--rc-border); }
@media (max-width: 640px) { .rc-dl { grid-template-columns: 1fr; } .rc-dl dt { margin-top: .4em; } }

/* ─────────────────────────────────────────────── реестр источников: сводка и медиалента */

.rc-srcsum {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 2fr);
  gap: 1px; margin-bottom: var(--rc-space-4);
  background: var(--rc-border); border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-md); overflow: hidden; box-shadow: var(--rc-shadow-1);
}
.rc-srcsum__cell {
  display: flex; flex-direction: column; gap: 2px; min-width: 0;
  padding: var(--rc-space-3) var(--rc-space-4); background: var(--rc-surface-1);
  color: var(--rc-text-primary); text-decoration: none;
}
a.rc-srcsum__cell:hover { background: var(--rc-brand-050); text-decoration: none; }
.rc-srcsum__label { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-srcsum__value { font: 600 24px/30px var(--rc-font); font-variant-numeric: tabular-nums; color: var(--rc-brand-700); }
.rc-srcsum__value--warn { color: var(--rc-attention-ink); }
.rc-srcsum__note { font: var(--rc-t-caption); color: var(--rc-text-secondary); }
.rc-srcsum__cell--wide { justify-content: center; gap: var(--rc-space-2); }
.rc-srcsum__legend { display: flex; flex-wrap: wrap; gap: var(--rc-space-1) var(--rc-space-3); font: var(--rc-t-caption); color: var(--rc-text-primary); }
.rc-srcsum__legend a, .rc-srcsum__legend span { display: inline-flex; align-items: center; gap: 5px; color: inherit; }

.rc-stackbar { display: flex; height: 12px; border-radius: 6px; overflow: hidden; background: var(--rc-surface-3); gap: 1px; }
.rc-stackbar__seg { display: block; min-width: 3px; }
.rc-stackbar__seg--positive { background: var(--rc-positive); }
.rc-stackbar__seg--hypothesis { background: #9AA0A8; }
.rc-stackbar__seg--attention { background: var(--rc-attention); }
.rc-stackbar__seg--critical { background: var(--rc-critical); }
.rc-stackbar__seg--fact { background: var(--rc-brand-500); }
.rc-stackbar__seg--none { background: repeating-linear-gradient(45deg, var(--rc-surface-3) 0 4px, var(--rc-surface-2) 4px 8px); }

.rc-stone { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
a.rc-stone { white-space: normal; }
.rc-stone .rc-dot { flex: none; }
.rc-stone--none { color: var(--rc-text-secondary); font: var(--rc-t-small); }

.rc-feed {
  margin-bottom: var(--rc-space-4); background: var(--rc-surface-1);
  border: 1px solid var(--rc-border); border-left: 4px solid var(--rc-media);
  border-radius: var(--rc-radius-md); box-shadow: var(--rc-shadow-1);
}
.rc-feed__head {
  display: flex; align-items: center; gap: var(--rc-space-3); flex-wrap: wrap;
  padding: var(--rc-space-3) var(--rc-space-4); cursor: pointer; list-style: none;
}
.rc-feed__head::-webkit-details-marker { display: none; }
.rc-feed__title { display: inline-flex; align-items: center; gap: var(--rc-space-2); font: var(--rc-t-h3); color: var(--rc-media-ink); }
.rc-feed__meta { flex: 1 1 auto; font: var(--rc-t-small); color: var(--rc-text-primary); }
.rc-feed__state { font: var(--rc-t-caption); padding: 2px 8px; border-radius: var(--rc-radius-pill); background: var(--rc-critical-soft); color: var(--rc-critical-ink); }
.rc-feed__state--ok { background: var(--rc-positive-soft); color: var(--rc-positive-ink); }
.rc-feed[open] > .rc-feed__head { border-bottom: 1px solid var(--rc-border); }
.rc-feed[open] > .rc-feed__head .rc-i { transform: rotate(180deg); }
.rc-feed__body { padding: var(--rc-space-4); display: grid; gap: var(--rc-space-4); }
.rc-feed__lead { margin: 0; font: var(--rc-t-body); color: var(--rc-text-primary); max-width: 110ch; }
.rc-feed__warn { margin: 0; padding: var(--rc-space-3); border-radius: var(--rc-radius-sm); background: var(--rc-attention-soft); color: var(--rc-attention-ink); }
.rc-feed__mask { font: var(--rc-t-mono); color: var(--rc-text-secondary); overflow-wrap: anywhere; }
.rc-feed__actions { white-space: nowrap; }
.rc-feed__actions form { display: inline; }
.rc-feed__new > summary { display: inline-flex; align-items: center; gap: var(--rc-space-2); cursor: pointer; font: var(--rc-t-body-strong); color: var(--rc-brand-500); list-style: none; }
.rc-feed__new > summary::-webkit-details-marker { display: none; }
.rc-feed__form { margin-top: var(--rc-space-3); display: grid; gap: var(--rc-space-3); max-width: 900px; }
.rc-feed__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--rc-space-3); }

@media (max-width: 1023px) {
  .rc-srcsum { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-srcsum__cell--wide { grid-column: 1 / -1; }
  .rc-feed__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rc-bulkbar[hidden] { display: none !important; }

/* ─────────────────────────────────────────────── объекты: свой и чужой */

.rc-duel { background: var(--rc-surface-1); border: 1px solid var(--rc-border); border-radius: var(--rc-radius-md); box-shadow: var(--rc-shadow-1); padding: var(--rc-space-4) var(--rc-space-5); }
.rc-duel__bar { display: flex; height: 28px; border-radius: 6px; overflow: hidden; gap: 2px; font: 600 13px/28px var(--rc-font); color: #fff; }
.rc-duel__seg { display: block; padding: 0 var(--rc-space-3); white-space: nowrap; min-width: 48px; }
.rc-duel__seg--client { background: var(--rc-brand-600); }
.rc-duel__seg--rival { background: var(--rc-series-2); text-align: right; }
.rc-duel__sides { display: grid; grid-template-columns: 1fr 1fr; gap: var(--rc-space-5); margin-top: var(--rc-space-3); }
.rc-duel__side--rival { text-align: right; }
.rc-duel__side--rival .rc-duel__tones { justify-content: flex-end; }
.rc-duel__name { font: var(--rc-t-body-strong); }
.rc-duel__num { font: 600 22px/28px var(--rc-font); font-variant-numeric: tabular-nums; }
.rc-duel__num span { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-duel__side--client .rc-duel__num { color: var(--rc-brand-600); }
.rc-duel__side--rival .rc-duel__num { color: #B5461C; }
.rc-duel__tones { display: flex; flex-wrap: wrap; gap: var(--rc-space-1) var(--rc-space-3); font: var(--rc-t-small); }
.rc-duel__tones > span { display: inline-flex; align-items: center; gap: 5px; }

.rc-objside { display: inline-flex; align-items: center; gap: var(--rc-space-2); }
.rc-objside::before { content: ''; width: 10px; height: 10px; border-radius: 3px; background: var(--rc-border-strong); }
.rc-objside--client::before { background: var(--rc-brand-600); }
.rc-objside--rival::before { background: var(--rc-series-2); }
.rc-object__icon--client { background: var(--rc-brand-100); color: var(--rc-brand-700); }
.rc-object__icon--rival { background: #FCE6DC; color: #9A3A12; }

.rc-objrow > summary { display: grid; grid-template-columns: auto minmax(180px, 1.6fr) 96px 110px minmax(160px, 1.3fr) 96px 20px; align-items: center; gap: var(--rc-space-4); }
.rc-objrow .rc-object__name { font: var(--rc-t-body-strong); color: var(--rc-text-primary); }
.rc-objrow__metric { display: flex; flex-direction: column; text-align: right; }
.rc-objrow__metric strong { font: 600 16px/20px var(--rc-font); font-variant-numeric: tabular-nums; }
.rc-objrow__metric span { font: var(--rc-t-caption); color: var(--rc-text-secondary); }
.rc-objrow__tone { display: flex; flex-direction: column; gap: 4px; }
.rc-objrow__neg { font: var(--rc-t-caption); color: var(--rc-text-secondary); }
.rc-objrow__neg--high { color: var(--rc-critical-ink); font-weight: 600; }

@media (max-width: 1023px) {
  .rc-objrow > summary { grid-template-columns: auto 1fr 20px; }
  .rc-objrow__metric, .rc-objrow__tone { grid-column: 2 / 3; text-align: left; }
  .rc-objrow__metric { flex-direction: row; gap: var(--rc-space-2); align-items: baseline; }
  .rc-duel__sides { grid-template-columns: 1fr; }
  .rc-duel__side--rival { text-align: left; }
  .rc-duel__side--rival .rc-duel__tones { justify-content: flex-start; }
}

/* ─────────────────────────────────────────────── обзор проекта: ход и сроки */

.rc-pace {
  display: grid; grid-template-columns: minmax(0, 2.4fr) repeat(4, minmax(0, 1fr));
  gap: 1px; background: var(--rc-border); border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-md); overflow: hidden; box-shadow: var(--rc-shadow-1);
}
.rc-pace > * { background: var(--rc-surface-1); padding: var(--rc-space-4); min-width: 0; }
.rc-pace__main { display: grid; gap: var(--rc-space-2); }
.rc-pace__title { display: flex; align-items: center; gap: var(--rc-space-3); font: var(--rc-t-h3); }
.rc-pace__row { display: grid; grid-template-columns: 64px 1fr 44px; align-items: center; gap: var(--rc-space-3); font: var(--rc-t-small); }
.rc-pace__row .rc-num { text-align: right; font-weight: 600; }
.rc-pace__meta { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-pace__cell { display: flex; flex-direction: column; justify-content: center; gap: 2px; color: var(--rc-text-primary); text-decoration: none; }
.rc-pace__cell:hover { background: var(--rc-brand-050); text-decoration: none; }
.rc-pace__value { font: 600 26px/32px var(--rc-font); font-variant-numeric: tabular-nums; color: var(--rc-brand-700); }
.rc-pace__value small { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-pace__value--bad { color: var(--rc-critical-ink); }
.rc-pace__value--text { font: 600 16px/22px var(--rc-font); }
.rc-pace__label { font: var(--rc-t-small); color: var(--rc-text-secondary); }

.rc-stage { display: grid; gap: 4px; margin-bottom: var(--rc-space-3); }
.rc-stage__head { display: flex; justify-content: space-between; align-items: center; gap: var(--rc-space-2); }
.rc-stage__name { font: var(--rc-t-body-strong); }
.rc-stage__meta { display: flex; justify-content: space-between; gap: var(--rc-space-2); font: var(--rc-t-caption); color: var(--rc-text-secondary); }

@media (max-width: 1023px) {
  .rc-pace { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-pace__main { grid-column: 1 / -1; }
}

/* Миниатюры типов документов. */
.rc-type { gap: 4px; }
.rc-thumb { display: block; width: 100%; height: 92px; margin-bottom: var(--rc-space-2); background: var(--rc-surface-2); border-radius: var(--rc-radius-sm); padding: 4px 0; }
a.rc-type:hover .rc-thumb { background: var(--rc-brand-100); }
.rc-thumb__page { fill: #fff; stroke: var(--rc-border-strong); stroke-width: 1; }
.rc-thumb__back { fill: #F7F7F5; stroke: var(--rc-border-strong); stroke-width: 1; }
.rc-thumb__ink { fill: var(--rc-brand-700); }
.rc-thumb__line { fill: #B9BEC6; }
.rc-thumb__accent { fill: var(--rc-series-2); }
.rc-thumb__alert { fill: var(--rc-critical); }
.rc-thumb__box { fill: var(--rc-brand-100); }
.rc-thumb__cell { fill: var(--rc-surface-2); stroke: var(--rc-border-strong); stroke-width: .6; }
.rc-thumb__chart { fill: none; stroke: var(--rc-media); stroke-width: 2; stroke-linejoin: round; }
.rc-type__size { color: var(--rc-text-secondary); }
a.rc-type:hover, a.rc-type:hover * { text-decoration: none; }

/* Хронология событий по месяцам. */
.rc-chrono { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rc-space-4) var(--rc-space-6); }
.rc-chrono__label { font: var(--rc-t-body-strong); margin-bottom: var(--rc-space-2); padding-bottom: 4px; border-bottom: 1px solid var(--rc-border); }
.rc-chrono__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--rc-space-2); }
.rc-chrono__item { display: grid; grid-template-columns: 40px 10px 1fr; gap: var(--rc-space-2); align-items: start; font: var(--rc-t-small); }
.rc-chrono__item .rc-timeline__dot { margin-top: 5px; }
.rc-chrono__date { font: var(--rc-t-mono); color: var(--rc-text-secondary); }
.rc-chrono__text .rc-i { vertical-align: -2px; margin-right: 4px; color: var(--rc-text-secondary); }
.rc-chrono__tag { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: var(--rc-radius-sm); background: var(--rc-surface-2); font: var(--rc-t-caption); color: var(--rc-text-primary); }
.rc-chrono__tag--rival { background: #FCE6DC; color: #9A3A12; }
@media (max-width: 1279px) { .rc-chrono { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .rc-chrono { grid-template-columns: 1fr; } }
.rc-persons-sum__groups { display: flex; flex-wrap: wrap; gap: var(--rc-space-2); margin-top: var(--rc-space-3); }

/* Ход проекта: основной блок, задачи, документы, вердикт. */
.rc-pace { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.6fr); }
.rc-pace__row { grid-template-columns: 124px 1fr 44px; }
.rc-pace__cell--wide .rc-pace__value--text { font: 600 15px/20px var(--rc-font); }
@media (max-width: 1023px) { .rc-pace { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Колонка страницы: прямые потомки всегда по центру, даже с инлайн-отступом
   margin: 0 – иначе абзац или подпись уезжали к левому краю окна. */
.rc-main > * { margin-left: auto !important; margin-right: auto !important; }

/* Карточки типов документов – ссылки без подчёркивания. */
.rc-types a.rc-type, .rc-types a.rc-type:hover, .rc-types a.rc-type:focus,
.rc-types a.rc-type *, .rc-types a.rc-type:hover * { text-decoration: none !important; }

/* Аналитика: вердикт, доля голоса по парам, плитки показателей. */
.rc-an-verdict { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--rc-space-5); flex-wrap: wrap; border-left: 4px solid var(--rc-brand-600); }
.rc-an-verdict__main { flex: 1 1 420px; min-width: 0; }
.rc-an-verdict__label { font: var(--rc-t-small); color: var(--rc-text-secondary); text-transform: uppercase; letter-spacing: .04em; }
.rc-an-verdict__value { font: 600 26px/32px var(--rc-font); color: var(--rc-brand-700); margin: var(--rc-space-1) 0 var(--rc-space-2); }
.rc-an-verdict__value--empty { color: var(--rc-text-secondary); }
.rc-an-verdict__note { font: var(--rc-t-body); color: var(--rc-text-primary); margin: 0 0 var(--rc-space-1); max-width: 72ch; }
.rc-an-verdict__form { flex: 0 1 420px; min-width: 280px; }
.rc-an-verdict__form > summary { list-style: none; display: inline-flex; cursor: pointer; }
.rc-an-verdict__form > summary::-webkit-details-marker { display: none; }
.rc-an-sov { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: var(--rc-space-4); }
.rc-an-pair { display: grid; gap: var(--rc-space-2); }
.rc-an-pair__names { display: flex; justify-content: space-between; gap: var(--rc-space-3); font: var(--rc-t-body-strong); }
.rc-an-pair__names span { color: #B5461C; font: var(--rc-t-body-strong); }
.rc-an-pair__meta { display: flex; justify-content: space-between; gap: var(--rc-space-3); font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-an-pair__meta span:last-child { text-align: right; }
.rc-an-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--rc-space-4); }
.rc-an-tile { display: grid; gap: 4px; align-content: start; }
.rc-an-tile__label { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-an-tile__value { font: 600 30px/36px var(--rc-font); font-variant-numeric: tabular-nums; color: var(--rc-brand-700); }
.rc-an-tile__value small { font: var(--rc-t-body); color: var(--rc-text-secondary); }
.rc-an-tile__note { font: var(--rc-t-caption); color: var(--rc-text-secondary); }
.rc-an-tile__target { font: var(--rc-t-caption); margin-top: 4px; padding: 2px 8px; border-radius: 999px; width: fit-content; }
.rc-an-tile__target--ok { background: var(--rc-positive-soft); color: var(--rc-positive-ink); }
.rc-an-tile__target--bad { background: var(--rc-attention-soft); color: var(--rc-attention-ink); }
.rc-an-how > summary { cursor: pointer; font: var(--rc-t-body-strong); color: var(--rc-brand-600); }
.rc-an-bad { color: var(--rc-critical-ink); font-weight: 600; }

/* Карточка задачи: постановка слева, итог справа. */
.rc-taskcard__kicker { display: flex; flex-wrap: wrap; gap: var(--rc-space-2) var(--rc-space-3); align-items: center; font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-taskcard__title { font: var(--rc-t-h2); margin: var(--rc-space-2) 0 var(--rc-space-2); }
.rc-taskcard__meta { display: flex; flex-wrap: wrap; gap: var(--rc-space-1) var(--rc-space-4); font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-taskcard__sub { font: var(--rc-t-body-strong); margin: var(--rc-space-3) 0 var(--rc-space-1); }
.rc-taskcard__text { font: var(--rc-t-body); color: var(--rc-text-primary); margin: 0; max-width: 72ch; }
.rc-taskcard__text--result { line-height: 1.55; }
.rc-taskcard__result { border-left: 4px solid var(--rc-positive); }
.rc-taskcard__result--empty { border-left-color: var(--rc-border); }
.rc-taskcard__form { margin-top: var(--rc-space-3); }
.rc-taskcard__form > summary { list-style: none; display: inline-flex; cursor: pointer; }
.rc-taskcard__form > summary::-webkit-details-marker { display: none; }
.rc-taskcard__list li { display: grid; grid-template-columns: 72px 1fr auto; gap: var(--rc-space-3); padding: var(--rc-space-1) 0; border-bottom: 1px solid var(--rc-border); font: var(--rc-t-small); }
.rc-task__result { color: var(--rc-text-secondary); margin-top: 2px; }
.rc-evidence-row { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.rc-evidence-row__text { font: var(--rc-t-caption); color: var(--rc-text-secondary); }

/* Шестерёнка настроек проекта в заголовке: заметна при наведении. */
.rc-page-gear { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; margin-left: 6px; vertical-align: middle; border-radius: 50%; color: var(--rc-text-muted); opacity: .55; transition: opacity .15s, background .15s; }
.rc-page-gear:hover, .rc-page-gear:focus { opacity: 1; background: var(--rc-brand-050); color: var(--rc-brand-600); }
.rc-settings__members li { display: flex; justify-content: space-between; align-items: center; gap: var(--rc-space-3); padding: var(--rc-space-2) 0; border-bottom: 1px solid var(--rc-border); }
.rc-settings__add { margin-top: var(--rc-space-4); }
.rc-queue__filter { padding: 0 0 var(--rc-space-2); position: sticky; top: 0; background: inherit; }
.rc-queue__filter .rc-select { width: 100%; max-width: none; }

/* Поток топ-лиц: сводка по группе над таблицей. */
.rc-cohort__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--rc-space-2) var(--rc-space-4); margin-bottom: var(--rc-space-3); }
.rc-cohort__sum { display: flex; flex-wrap: wrap; gap: var(--rc-space-1) var(--rc-space-4); font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-cohort__sum strong { color: var(--rc-text-primary); font-variant-numeric: tabular-nums; }
.rc-cohort__table td { vertical-align: top; }

/* Карточка топ-лица: портрет, паспорт, стадии и документы в шапке. */
.rc-person { display: grid; grid-template-columns: 132px minmax(0, 1fr) auto; gap: var(--rc-space-4) var(--rc-space-5); align-items: start; }
.rc-person__portrait { width: 132px; height: 132px; border-radius: 50%; overflow: hidden; background: var(--rc-brand-050); display: flex; align-items: center; justify-content: center; color: var(--rc-brand-300); }
.rc-person__portrait img { width: 100%; height: 100%; object-fit: cover; }
.rc-person__name { font: var(--rc-t-h2); margin: 0 0 var(--rc-space-2); display: flex; flex-wrap: wrap; align-items: center; gap: var(--rc-space-2); }
.rc-person__passport { font: var(--rc-t-small); }
.rc-person__how { margin-top: var(--rc-space-2); max-width: 70ch; }
.rc-person__how summary { cursor: pointer; }
.rc-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 84px); gap: var(--rc-space-2); }
.rc-stages li { display: grid; justify-items: center; text-align: center; gap: 4px; font: var(--rc-t-caption); color: var(--rc-text-secondary); }
.rc-stages li small { display: block; color: var(--rc-text-muted); }
.rc-stages__mark { width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--rc-border-strong); display: inline-flex; align-items: center; justify-content: center; font: 600 12px/1 var(--rc-font); color: var(--rc-text-secondary); }
.rc-stages__item--done { color: var(--rc-text-primary); }
.rc-stages__item--done .rc-stages__mark { background: var(--rc-positive); border-color: var(--rc-positive); color: #fff; }
.rc-person__docs { grid-column: 1 / -1; display: grid; gap: 4px; border-top: 1px solid var(--rc-border); padding-top: var(--rc-space-3); }
.rc-person__doc { display: grid; grid-template-columns: minmax(220px, 300px) minmax(120px, 1fr) auto; align-items: center; gap: var(--rc-space-3); font: var(--rc-t-small); padding: 4px 0; }
.rc-person__doc--none .rc-person__doc-name { color: var(--rc-text-secondary); }
.rc-person__doc--all { border-top: 1px dashed var(--rc-border); margin-top: 4px; padding-top: var(--rc-space-2); }
.rc-person__doc-name { color: var(--rc-text-primary); font: var(--rc-t-body-strong); }
.rc-person__doc-links { display: flex; gap: 6px; justify-content: flex-end; white-space: nowrap; }
.rc-person__nums { display: flex; flex-wrap: wrap; gap: var(--rc-space-4); margin-bottom: var(--rc-space-2); }
.rc-person__nums div { display: grid; }
.rc-person__nums strong { font: 600 22px/26px var(--rc-font); font-variant-numeric: tabular-nums; color: var(--rc-brand-700); }
.rc-person__nums span { font: var(--rc-t-caption); color: var(--rc-text-secondary); }
.rc-barriers { padding-left: 1.2em; margin: 0; display: grid; gap: var(--rc-space-2); font: var(--rc-t-small); }
.rc-barriers__do { color: var(--rc-brand-600); margin-top: 2px; }
@media (max-width: 900px) { .rc-person { grid-template-columns: 1fr; } .rc-person__portrait { width: 96px; height: 96px; } .rc-person__doc { grid-template-columns: 1fr; } .rc-person__doc-links { justify-content: flex-start; } }
.rc-ready { display: inline-flex; align-items: center; gap: 4px; font: var(--rc-t-caption); color: var(--rc-text-secondary); white-space: nowrap; }
.rc-ready__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--rc-border-strong); display: inline-block; }
.rc-ready__dot--on { background: var(--rc-positive); }
.rc-ready__text { margin-left: 4px; color: var(--rc-text-primary); }
.rc-cohort__person { display: inline-flex; align-items: center; gap: var(--rc-space-2); }
.rc-cohort__face { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; flex: 0 0 36px; background: var(--rc-brand-050); color: var(--rc-brand-600); display: inline-flex; align-items: center; justify-content: center; font: 600 14px/1 var(--rc-font); }
.rc-cohort__face img { width: 100%; height: 100%; object-fit: cover; }
.rc-cohort__note { display: block; font: var(--rc-t-caption); color: var(--rc-text-secondary); margin-top: 2px; }
.rc-cohort__note--vip { color: var(--rc-attention-ink); font-weight: 600; }
.rc-cohort__docs { white-space: nowrap; }
.rc-cohort__docs .rc-badge + .rc-badge { margin-left: 2px; }
.rc-cohort__table td.rc-cell--head { min-width: 280px; }
.rc-cohort__table td.rc-cell--head .rc-table__meta { margin-left: 44px; max-width: 360px; }
.rc-cohort__clarify { color: var(--rc-attention-ink); }
.rc-pr__summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--rc-space-2) var(--rc-space-3); cursor: pointer; list-style: revert; }
.rc-pr__hook { font: var(--rc-t-small); color: var(--rc-text-secondary); flex: 1 1 320px; }
.rc-pr[open] .rc-pr__summary { margin-bottom: var(--rc-space-3); }
.rc-pr__label { font: var(--rc-t-small); font-weight: 600; margin: var(--rc-space-2) 0 var(--rc-space-1); }
.rc-pr__goals { margin-bottom: var(--rc-space-3); list-style: none; padding-left: 0; }
.rc-pr__goals li::before { content: "– "; color: var(--rc-text-secondary); }
.rc-pr__offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: var(--rc-space-3); margin-bottom: var(--rc-space-3); }
.rc-pr__offer { border: 1px solid var(--rc-border, #e3e3ea); border-radius: 10px; padding: var(--rc-space-3); }
.rc-pr__offer p { margin: var(--rc-space-1) 0; }
.rc-pr__meta { display: flex; flex-wrap: wrap; gap: var(--rc-space-1); margin-bottom: var(--rc-space-1); }
.rc-pr__title { font-size: 15px; font-weight: 600; margin: 0 0 var(--rc-space-1); }
.rc-pr__steps { font: var(--rc-t-small); margin: var(--rc-space-1) 0; }
.rc-pr__steps li { margin-bottom: 2px; }

/* ─────────────────────────────────────────────── просмотр документа в окне */

.rc-viewer-open, .rc-viewer-open body { overflow: hidden; }
.rc-viewer {
  position: fixed; inset: 0; z-index: 400;
  display: flex; flex-direction: column;
  background: var(--rc-brand-900);
  color: var(--rc-text-inverse);
}
.rc-viewer[hidden] { display: none; }
.rc-viewer__bar {
  flex: none; display: flex; align-items: center; gap: var(--rc-space-3);
  min-height: 52px; padding: var(--rc-space-2) var(--rc-space-3);
  background: var(--rc-brand-800);
}
.rc-viewer__title {
  flex: 1; min-width: 0; font: var(--rc-t-body-strong);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.rc-viewer__nav, .rc-viewer__tools { flex: none; display: flex; align-items: center; gap: var(--rc-space-1); }
.rc-viewer__count { min-width: 64px; text-align: center; color: var(--rc-brand-100); }
.rc-viewer__btn {
  min-width: 40px; height: 40px; padding: 0 var(--rc-space-2);
  border: 0; border-radius: var(--rc-radius-sm);
  background: transparent; color: var(--rc-text-inverse);
  font-size: 22px; line-height: 1; cursor: pointer;
}
.rc-viewer__btn:hover:not(:disabled) { background: var(--rc-brand-700); }
.rc-viewer__btn:disabled { opacity: .35; cursor: default; }
.rc-viewer__link { color: var(--rc-brand-100); padding: 0 var(--rc-space-2); }
.rc-viewer__link:hover { color: var(--rc-text-inverse); }
.rc-viewer__stage {
  flex: 1; min-height: 0; position: relative;
  display: flex; align-items: center; justify-content: center;
  padding: var(--rc-space-4); overflow: hidden;
}
.rc-viewer--pages .rc-viewer__stage {
  display: block; overflow-y: auto; padding: var(--rc-space-4) var(--rc-space-3);
}
.rc-viewer__sheet { display: block; background: var(--rc-surface-1); box-shadow: var(--rc-shadow-3); }
.rc-viewer__page {
  max-width: 100%; margin: 0 auto var(--rc-space-4);
  background: var(--rc-surface-1); box-shadow: var(--rc-shadow-3);
}
.rc-viewer__page .rc-viewer__sheet { width: 100%; height: auto; box-shadow: none; }
.rc-viewer__status { max-width: 420px; text-align: center; color: var(--rc-brand-100); line-height: 1.6; }
.rc-viewer__status .rc-btn { margin-top: var(--rc-space-3); }
.rc-viewer__thumbs {
  flex: none; display: flex; gap: var(--rc-space-2);
  padding: var(--rc-space-2) var(--rc-space-3);
  overflow-x: auto; background: var(--rc-brand-800);
}
.rc-viewer--pages .rc-viewer__thumbs { display: none; }
.rc-viewer__thumb {
  flex: none; position: relative; width: 110px; min-height: 62px; padding: 0;
  border: 2px solid transparent; border-radius: var(--rc-radius-sm);
  background: var(--rc-brand-700); cursor: pointer; overflow: hidden;
}
.rc-viewer__thumb canvas { display: block; width: 100%; height: auto; }
.rc-viewer__thumb--on { border-color: var(--rc-brand-300); }
.rc-viewer__thumb-n {
  position: absolute; right: 4px; bottom: 2px;
  font: var(--rc-t-caption); color: var(--rc-text-inverse);
  text-shadow: 0 0 3px var(--rc-brand-900);
}
@media (max-width: 640px) {
  .rc-viewer__link { display: none; }
  .rc-viewer__thumbs { display: none; }
  .rc-viewer__stage { padding: var(--rc-space-2); }
}

/* ─────────────────────────────────────────────── аналитика потока топ-лиц */
.rc-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--rc-space-3); }
.rc-kpi { background: var(--rc-surface, #fff); border: 1px solid var(--rc-border, #e3e3ea); border-radius: 10px; padding: var(--rc-space-3); }
.rc-kpi strong { display: block; font: 600 26px/1.1 var(--rc-font); font-variant-numeric: tabular-nums; }
.rc-kpi span { font: var(--rc-t-small); color: var(--rc-text-secondary); }
.rc-bars__row { display: grid; grid-template-columns: minmax(140px, 38%) 1fr 74px; align-items: center; gap: var(--rc-space-2); margin-bottom: 6px; font: var(--rc-t-small); }
.rc-bars__row i { display: block; height: 10px; border-radius: 5px; background: var(--rc-brand-600, #3f3d6b); }
.rc-bars__row b { font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; color: var(--rc-text-secondary); }
.rc-vis { display: inline-block; width: 60px; height: 6px; border-radius: 3px; background: var(--rc-brand-050, #eceaf5); vertical-align: middle; margin-right: 4px; overflow: hidden; }
.rc-vis i { display: block; height: 100%; background: var(--rc-brand-600, #3f3d6b); }
.rc-clusters li, .rc-risks li { margin-bottom: var(--rc-space-2); }
