/* Раскладка реестра прав НМА. Реестр позиций машин живёт в столе оценщика
   (DEV-103 П6, `ReportRegistry.mount`) и собирается только из кита.
   На 390 px таблица прокручивается внутри .table-scroll.
   Прежнее оформление реестра прав ограничено категорией INTANGIBLE. */

.rr-back { display: inline-block; margin-bottom: var(--space-1); }
[data-rr-category="INTANGIBLE"] .rr-back { 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): число есть, но не действующее. */
[data-rr-category="INTANGIBLE"] .rr-stale { color: var(--text-muted); }
.rr-total__label { display: flex; align-items: center; gap: var(--space-2); }

[data-rr-category="INTANGIBLE"] .rr-total__label { font-size: 13px; color: var(--text-muted); }
.rr-total__amount { margin: 2px 0; }

[data-rr-category="INTANGIBLE"] .rr-total__amount { font-size: 28px; font-weight: 700; color: var(--text-strong); font-variant-numeric: tabular-nums; }
.rr-total__blocked { margin-top: var(--space-2); }
.rr-total__reasons { margin: var(--space-1) 0 0; padding-left: 18px; }
.rr-total__excluded { margin-top: var(--space-2); }

[data-rr-category="INTANGIBLE"] .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: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 кита; рядом — чип-переключатель «Только с
   проблемами» (DEV-77 W4, Е-4: флажок заменён чипом кита с aria-pressed). */
.rr-chip-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.rr-chips { margin-bottom: 0; }

.rr-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); padding: var(--space-2); margin-bottom: var(--space-2); }

[data-rr-category="INTANGIBLE"] .rr-bulk { 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__count { margin-right: auto; }

[data-rr-category="INTANGIBLE"] .rr-bulk__count { font-weight: 600; }

.rr-table td, .rr-table th { vertical-align: top; }
.rr-table .num { text-align: right; white-space: nowrap; }

[data-rr-category="INTANGIBLE"] .rr-table .num { font-variant-numeric: tabular-nums; }
.rr-col-check { width: 32px; }

[data-rr-category="INTANGIBLE"] .rr-row { cursor: pointer; }
/* Выбранная строка остаётся выбранной и под курсором: наведение таблицы кита
   (`.table tr:hover td`, 0,2,2) перебивало выделение (0,2,1), и в тёмной теме
   тёмный текст выбора ложился на тёмную заливку наведения (1,16:1). */
[data-rr-category="INTANGIBLE"] .rr-row.is-active td,
[data-rr-category="INTANGIBLE"] .rr-row.is-active:hover td { background: var(--accent-soft); color: var(--on-accent-soft); }
/* Выбранная строка отличима от наведённой не только заливкой (DEV-77 W4,
   Е-14): наведение — нейтральная `--surface-hover`, выбор — пастель плюс
   линии сверху и снизу тоном `--accent-press`. */
[data-rr-category="INTANGIBLE"] .rr-row.is-active td { box-shadow: inset 0 1px 0 var(--accent-press), inset 0 -1px 0 var(--accent-press); }
/* Текст на пастели выбора — фиксированный тон в обеих темах (DEV-77 W4, Е-1:
   ссылка-название в тёмной теме давала 1,69:1). */
[data-rr-category="INTANGIBLE"] .rr-row.is-active .rr-name,
[data-rr-category="INTANGIBLE"] .rr-item.is-active .rr-name { color: var(--on-accent-soft); }

[data-rr-category="INTANGIBLE"] .rr-row.is-active .muted,
[data-rr-category="INTANGIBLE"] .rr-row.is-active .rr-ids,
[data-rr-category="INTANGIBLE"] .rr-item.is-active .item-card__meta { color: var(--alert-muted); }
.rr-name { text-align: left; }

[data-rr-category="INTANGIBLE"] .rr-row.is-active .rr-name { font-weight: 700; }

/* Реестр на телефоне — карточки `.item-list` (Е-3). */
.rr-items__all { margin-bottom: var(--space-2); }

[data-rr-category="INTANGIBLE"] .rr-item { cursor: pointer; }
.rr-item .item-card__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.rr-item .rr-name { flex: 1 1 auto; min-width: 0; padding-left: 0; padding-right: 0; white-space: normal; justify-content: flex-start; text-align: left; }

[data-rr-category="INTANGIBLE"] .rr-item.is-active { background: var(--accent-soft); color: var(--on-accent-soft); border-color: var(--accent-press); }
.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 { word-break: break-word; }

[data-rr-category="INTANGIBLE"] .rr-card__title { font-weight: 700; color: var(--text-strong); }
/* Сведения позиции — `dl.kv-list` > `.kv-row` кита; здесь только отступ. */
.rr-card__facts { margin: 0 0 var(--space-2); }
/* Сведения позиции — `dl.kv-list` > `.kv-row` кита; здесь только отступ. */
[data-rr-category="INTANGIBLE"] .rr-card__facts { font-size: 13px; }
.rr-loading { display: flex; align-items: center; gap: var(--space-2); }

[data-rr-category="INTANGIBLE"] .rr-loading { color: var(--text-muted); font-size: 13px; }
.rr-card__problems ul { margin: var(--space-1) 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); }
/* «Сохранить» — справа, пояснение — слева от неё (Е-8). */
.rr-card__actions { justify-content: flex-end; }
.rr-card__actions .fs-caption { flex: 1 1 160px; }
.rr-card__status { margin-bottom: var(--space-2); }

[data-rr-category="INTANGIBLE"] .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; }

[data-rr-category="INTANGIBLE"] .rr-card__history ol { font-size: 13px; }

[data-rr-category="INTANGIBLE"] .rr-card__history summary,
[data-rr-category="INTANGIBLE"] .rr-card__extra summary { cursor: pointer; }

/* ── Диалоги ────────────────────────────────────────────────────────── */
.rr-reason { resize: vertical; }
.rr-import__mode { margin-bottom: var(--space-2); }

[data-rr-category="INTANGIBLE"] .rr-import__drop { cursor: pointer; }
.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: var(--space-2); }

[data-rr-category="INTANGIBLE"] .rr-import__totals > div { 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; }

[data-rr-category="INTANGIBLE"] .rr-total__amount { font-size: 22px; }
}

/* ── Реестр позиций машин в столе (DEV-103 П6) ───────────────────────────
   Только раскладка: на узкой колонке действия шапки панели переносятся под
   заголовок, а не сжимают его в столбик. */
[data-rw-registry] .dash-panel__head { flex-wrap: wrap; }
/* У панели списка в шапке только действия — прижаты вправо, как в шапке блока. */
[data-rw-registry-actions] { margin-left: auto; }
/* Подписи колонок — одной строкой (ревью П6, P2-1): дорожка подписи у
   сортировки кита — minmax(0, 1fr), и узкая числовая колонка рвала слово
   посреди («ОСТА/ТОК»). В реестре стола подпись берёт свою ширину целиком —
   колонка расширяется под неё. Только раскладка, вид — кита. */
[data-rw-registry] .table th > .table-sort { grid-template-columns: max-content auto; }
