/* Экран реестра позиций парка (EQP-21, report_registry.js).
   Только токены (tokens/*.css): тёмная тема получает цвета сама. Ширина
   390 px — карточка позиции уходит под список, фильтры переносятся, таблица
   прокручивается внутри своей обёртки (.table-scroll), страница — нет. */

.rr-back { display: inline-block; margin-bottom: var(--space-1); font-size: 13px; color: var(--text-muted); }
.rr-head { flex-wrap: wrap; gap: var(--space-3); }
.rr-head__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }

/* ── Итог парка ─────────────────────────────────────────────────────── */
.rr-total { margin-bottom: var(--space-3); }
/* Результат позиции, изменённой после расчёта (EQP-21 stale_result): число есть, но не действующее. */
.rr-stale { color: var(--text-muted); }
.rr-total__label { display: flex; align-items: center; gap: var(--space-2); font-size: 13px; color: var(--text-muted); }
.rr-total__amount { font-size: 28px; font-weight: 700; color: var(--text-strong); font-variant-numeric: tabular-nums; margin: 2px 0; }
.rr-total__blocked { margin-top: var(--space-2); }
.rr-total__reasons { margin: 4px 0 0; padding-left: 18px; }
.rr-total__excluded { margin-top: var(--space-2); }
.rr-total__excluded summary { cursor: pointer; font-weight: 600; }
.rr-total__excluded ul { margin: var(--space-2) 0; padding-left: 18px; }

/* ── Раскладка: список + карточка ───────────────────────────────────── */
.rr-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--space-3); align-items: start; }
.rr-layout > .rr-card[hidden] { display: none; }
.rr-layout:has(> .rr-card[hidden]) { grid-template-columns: minmax(0, 1fr); }
.rr-list { min-width: 0; }

.rr-filters { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-2); }
.rr-filters #rr-q { flex: 1 1 240px; min-width: 0; }
/* Native fallback and the adapter shell share the original filter width. */
.rr-filters select,
.rr-filters > .vsel { flex: 0 1 220px; min-width: 0; }

/* Фильтр статусов — .chips > .chip кита; здесь только отступ под рядом. */
.rr-chips { margin-bottom: var(--space-2); }

.rr-bulk {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2);
  margin-bottom: var(--space-2);
  border: 1px solid var(--accent);
  border-radius: 8px;
  background: var(--accent-soft);
  color: var(--on-accent-soft);
  /* На пастели выбора — фиксированный тон и у «призрачных» кнопок. */
  --btn-ghost-text: var(--on-accent-soft);
}
.rr-bulk[hidden] { display: none; }
.rr-bulk__count { font-weight: 600; margin-right: auto; }

.rr-table td, .rr-table th { vertical-align: top; }
.rr-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rr-col-check { width: 32px; }
.rr-row { cursor: pointer; }
.rr-row.is-active td { background: var(--accent-soft); color: var(--on-accent-soft); }
.rr-name { text-align: left; }
.rr-ids { word-break: break-all; }

/* ── Карточка позиции ───────────────────────────────────────────────── */
.rr-card { position: sticky; top: var(--space-3); max-height: calc(100vh - 2 * var(--space-3)); overflow: auto; min-width: 0; }
.rr-card__head { display: flex; justify-content: space-between; gap: var(--space-2); margin-bottom: var(--space-2); }
.rr-card__title { font-weight: 700; color: var(--text-strong); word-break: break-word; }
/* Сведения позиции — `dl.kv-list` > `.kv-row` кита; здесь только отступ. */
.rr-card__facts { margin: 0 0 var(--space-2); font-size: 13px; }
.rr-loading { display: flex; align-items: center; gap: var(--space-2); color: var(--text-muted); font-size: 13px; }
.rr-card__problems ul { margin: 4px 0 0; padding-left: 18px; }
.rr-card__form { display: flex; flex-direction: column; gap: var(--space-2); margin-bottom: var(--space-2); }
.rr-card__form .field { margin-bottom: 0; }
.rr-card__actions, .rr-card__status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.rr-card__status { margin-bottom: var(--space-2); }
.rr-card__extra .kv-list { font-size: 13px; }
.rr-card__extra .kv-row__value { word-break: break-all; }
.rr-card__history ol { margin: var(--space-2) 0 0; padding-left: 18px; font-size: 13px; }
.rr-card__history summary, .rr-card__extra summary { cursor: pointer; }

/* ── Диалоги ────────────────────────────────────────────────────────── */
.rr-reason { resize: vertical; }
.rr-import__mode { margin-bottom: var(--space-2); }
.rr-import__totals { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--space-2); margin-bottom: var(--space-2); }
.rr-import__totals > div { display: flex; justify-content: space-between; gap: var(--space-2); padding: 6px 8px; border: 1px solid var(--border); border-radius: 6px; font-size: 13px; }
.rr-import__errors { margin-bottom: var(--space-2); max-height: 320px; overflow: auto; }

@media (max-width: 900px) {
  .rr-layout, .rr-layout:has(> .rr-card[hidden]) { grid-template-columns: minmax(0, 1fr); }
  .rr-card { position: static; max-height: none; }
  .rr-total__amount { font-size: 22px; }
}
