/* «ОБЗОР»: ОДНА МОДЕЛЬ СИГНАЛОВ, ВЫБОРКИ ПОД ЧИСЛАМИ, РИСКИ ПОЧЕМУ → ДОКАЗАТЕЛЬСТВО
   → ДЕЙСТВИЕ, ДОВОДЫ ПО СОБЫТИЯМ, ЧИСЛА «ЧТО СДЕЛАЛ AI» СО ССЫЛКАМИ, ИТОГ РЕШЕНИЙ
   AI-СОВЕТА, ОПАСНАЯ ЗОНА КАМПАНИИ (24 сентября 2026, пункты 1–8 задания).
   Логические свойства (inline-start/end): арабский зеркалится сам. Цвета — токены
   redesign.css (--rp-*), у каждого запасное значение на случай старой разметки. */

/* ── Колокол: число — всё, что требует действия; увиденное — спокойнее ───── */
.rp-bell-badge.on.seen {
  background: var(--rp-ink-3, #7d8ba3);
  color: var(--rp-bg, #0b1018);
}

/* ── «Требует внимания сегодня»: заголовок с итогом и дверью в журнал ─────── */
.ov-today-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 12px;
}
.ov-today-total {
  min-width: 22px;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  color: var(--rp-ink-2, #c8d3e6);
  background: rgb(var(--ch-slate, 148 163 184) / 0.14);
}
.ov-today-total.has-items {
  color: #fff;
  background: var(--rp-red, #ef4444);
}
.ov-today-log {
  margin-inline-start: auto;
  font-size: 12px;
  font-weight: 600;
  color: var(--sh-blue-2, #7aa2ff);
  text-decoration: none;
  white-space: nowrap;
}
.ov-today-log:hover { text-decoration: underline; }
.ov-today-log:focus-visible { outline: 2px solid var(--sh-blue-2, #7aa2ff); outline-offset: 2px; border-radius: 4px; }

/* ── Плитки: строка «что считает это число» ──────────────────────────────── */
.rp-kpi-pop {
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.35;
  color: var(--rp-ink-3, #7d8ba3);
}

/* ── «Риски»: почему → доказательство → действие ─────────────────────────── */
.rp-risk-rows .rp-risk-row { display: flex; align-items: flex-start; }
.rp-risk-row .rp-row-copy { display: grid; gap: 4px; min-width: 0; flex: 1 1 auto; }
.rp-risk-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.rp-risk-top .rp-row-title { font-weight: 620; }
.rp-risk-top .rp-row-side { flex: none; font-weight: 700; color: var(--rp-ink, #e6ecf5); font-variant-numeric: tabular-nums; }
.rp-risk-evidence { margin: 0; }
.rp-risk-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.rp-risk-action {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid rgb(var(--ch-blue2, 96 165 250) / 0.45);
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--sh-blue-2, #7aa2ff);
  background: rgb(var(--ch-blue2, 96 165 250) / 0.08);
  text-decoration: none;
  white-space: nowrap;
}
.rp-risk-action:hover { background: rgb(var(--ch-blue2, 96 165 250) / 0.16); }
.rp-risk-action:focus-visible { outline: 2px solid var(--sh-blue-2, #7aa2ff); outline-offset: 2px; }

/* Сделки под риском: строка-кнопка «имя · сумма · дни ▸», под ней — почему и
   доводы. .rp-risk-deal в redesign.css — flex-строка; здесь это блок. */
.rp-risk-rows .rp-risk-deals { display: grid; gap: 4px; margin-top: 2px; }
.rp-risk-rows .rp-risk-deal {
  display: block;
  border: 1px solid var(--rp-line, rgba(127, 127, 127, 0.18));
  border-radius: 8px;
  background: rgb(var(--ch-slate, 148 163 184) / 0.04);
}
/* По центру, а не по базовой линии: на телефоне у кнопки высота не меньше
   40 px (палец), и по базовой линии текст прилипал к верху, оставляя пустоту
   под собой (проверка на 375 px, 24.09.2026). */
.rp-risk-deal-head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  padding: 5px 8px;
  border: 0;
  background: transparent;
  color: var(--rp-ink-2, #c8d3e6);
  font: inherit;
  font-size: 11.5px;
  text-align: start;
  cursor: pointer;
}
.rp-risk-deal-head:focus-visible { outline: 2px solid var(--sh-blue-2, #7aa2ff); outline-offset: -2px; border-radius: 8px; }
.rp-risk-deal-why-toggle { flex: none; color: var(--rp-ink-3, #7d8ba3); }
.rp-risk-deal-body { display: grid; gap: 4px; padding: 0 8px 7px; }
.rp-risk-why { margin: 0; font-size: 11.5px; color: var(--rp-ink-2, #c8d3e6); }
.rp-risk-ev-note { margin: 0; font-size: 11px; color: var(--rp-ink-3, #7d8ba3); }
.rp-risk-ev { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.rp-risk-ev-row { display: flex; align-items: baseline; gap: 6px; font-size: 11.5px; min-width: 0; }
.rp-risk-ev-mark { flex: none; width: 12px; text-align: center; font-weight: 700; }
.rp-risk-ev-row.is-against .rp-risk-ev-mark { color: var(--rp-red, #ef4444); }
.rp-risk-ev-row.is-for .rp-risk-ev-mark { color: var(--rp-green, #22c55e); }
.rp-risk-ev-link {
  min-width: 0;
  color: var(--rp-ink-2, #c8d3e6);
  text-decoration: underline;
  text-decoration-color: rgb(var(--ch-slate, 148 163 184) / 0.4);
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
.rp-risk-ev-link:hover { color: var(--sh-blue-1, #a9c1ff); }
.rp-risk-deal-open { justify-self: start; font-size: 11.5px; font-weight: 600; color: var(--sh-blue-2, #7aa2ff); text-decoration: none; }
.rp-risk-deal-open:hover { text-decoration: underline; }

/* ── «Что сделал AI»: каждое число — ссылка на свои события ──────────────── */
a.ai-wf-num {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgb(var(--ch-blue2, 96 165 250) / 0.5);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  cursor: pointer;
}
a.ai-wf-num:hover { color: var(--sh-blue-1, #a9c1ff); text-decoration-color: currentColor; }
a.ai-wf-num:focus-visible { outline: 2px solid var(--sh-blue-2, #7aa2ff); outline-offset: 2px; border-radius: 3px; }

/* ── «Журнал событий»: список за числом и хронология с отмеченным событием ── */
.ws-journal-back { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12.5px; }
.ws-journal-back .linklike,
.ws-journal-who .linklike {
  padding: 0;
  border: 0;
  background: none;
  color: var(--sh-blue-2, #7aa2ff);
  font: inherit;
  cursor: pointer;
  text-align: start;
}
.ws-journal-back .linklike:hover,
.ws-journal-who .linklike:hover { text-decoration: underline; }
.ws-journal-h { margin: 6px 0 0; font-size: 18px; font-weight: 650; }
.ws-journal-total { margin: 4px 0 0; font-size: 13px; color: var(--rp-ink-3, #7d8ba3); }
.ws-journal-total strong { font-size: 18px; color: var(--rp-ink-max, #fff); font-variant-numeric: tabular-nums; }
.ws-journal-text { flex-basis: 100%; font-size: 12px; color: var(--rp-ink-3, #7d8ba3); overflow-wrap: anywhere; }
.ws-journal-ai .ws-journal-row, .ws-journal-focus .ws-journal-row { flex-wrap: wrap; }
.ws-journal-row.is-focus {
  border-radius: 8px;
  outline: 2px solid var(--rp-amber, #f59e0b);
  outline-offset: 2px;
  background: rgb(var(--ch-amber, 245 158 11) / 0.1);
}
/* Страница — колонка flex: justify-self там ничего не делает, и кнопка
   растягивалась на всю ширину (1180 px на превью 24.09.2026). */
.ws-journal-open-card { justify-self: start; align-self: flex-start; }

/* ── AI-совет: что было после решения ─────────────────────────────────────── */
.aib-outcome {
  margin: 4px 0 0;
  padding: 4px 10px;
  border-inline-start: 3px solid var(--rp-line, rgba(127, 127, 127, 0.3));
  font-size: 12px;
  color: var(--rp-ink-2, #c8d3e6);
}
.aib-outcome.is-done { border-inline-start-color: var(--rp-green, #22c55e); }
.aib-outcome.is-open { border-inline-start-color: var(--sh-blue-2, #7aa2ff); }
.aib-outcome.is-late { border-inline-start-color: var(--rp-red, #ef4444); }
.aib-outcome.is-wait { border-inline-start-color: var(--rp-amber, #f59e0b); }
.aib-outcome-list { display: grid; gap: 4px; }
.aib-outcome-item { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; }
.aib-outcome-state { font-size: 12px; color: var(--rp-ink-3, #7d8ba3); white-space: nowrap; }
.aib-outcome-item.is-done .aib-outcome-state { color: var(--rp-green, #22c55e); }
.aib-outcome-item.is-overdue .aib-outcome-state { color: var(--rp-red, #ef4444); }

/* ── Кампания: опасная зона, отдельно от «Сохранить» ─────────────────────── */
.cpl-danger {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  margin-top: 6px;
  padding: 10px 12px;
  border: 1px solid rgb(239 68 68 / 0.55);
  border-radius: 10px;
  background: rgb(239 68 68 / 0.06);
}
.cpl-danger-title { color: var(--rp-red, #ef4444); font-size: 13px; }
.cpl-danger-what { margin: 0; }
.cpl-danger-confirm { max-width: 420px; }
.cpl-danger-btn {
  justify-self: start;
  padding: 6px 14px;
  border: 1px solid var(--rp-red, #ef4444);
  border-radius: 8px;
  background: var(--rp-red, #ef4444);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}
.cpl-danger-btn:disabled {
  background: transparent;
  color: rgb(239 68 68 / 0.7);
  cursor: not-allowed;
}
.cpl-danger-btn:focus-visible { outline: 2px solid var(--rp-red, #ef4444); outline-offset: 2px; }

/* ── Телефон ─────────────────────────────────────────────────────────────── */
@media (max-width: 700px) {
  .ov-today-log { margin-inline-start: 0; flex-basis: 100%; }
  .rp-risk-top { flex-wrap: wrap; }
  .rp-risk-deal-head { flex-wrap: wrap; }
  .aib-outcome-state { white-space: normal; }
}
