/* Отчёты: ДДС, ОПиУ, Сравнение, Счета. Те же четыре листа, что в таблице.
 *
 * Экран табличный по природе, и это единственное место в приложении, где
 * плотность важнее воздуха: строк тридцать, колонок до тринадцати, и цель —
 * увидеть их вместе, а не пролистать.
 */

.rp-tabs { margin-bottom: var(--s3); }

.rp-meta {
  display: flex;
  align-items: center;
  gap: var(--s3);
  flex-wrap: wrap;
  margin-bottom: var(--s3);
  font-size: var(--t-caption);
  color: var(--ink-3);
}
.rp-meta .fresh { color: var(--income); }
.rp-meta .stale { color: var(--warn); }

/* Роли строк отчёта. Заголовок секции, статья, итог и «справочно» —
   четыре разных веса, иначе таблица читается как сплошное полотно. */
tr.k-section td {
  font-weight: 700;
  background: var(--surface-2);
  letter-spacing: -.01em;
}
tr.k-item td:first-child { padding-left: var(--s5); color: var(--ink-2); }
tr.k-total td, tr.k-net td { font-weight: 700; }
tr.k-net td { border-top: 1px solid var(--hairline-strong); }
tr.k-ratio td { font-style: normal; color: var(--ink-2); }

/* Справочный блок «вне net» — приглушён намеренно: его суммы НЕЛЬЗЯ
   складывать с чистым потоком, и вид должен об этом напоминать. */
tr.is-ref td { opacity: .68; }
tr.is-ref td:first-child::before { content: "· "; color: var(--ink-3); }

/* Сравнение: три числа в ячейке — журнал, банк, разница. */
.cmp-cell { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.cmp-cell .c-j { font-weight: 600; }
.cmp-cell .c-b { color: var(--ink-3); font-size: var(--t-caption); }
.cmp-cell .c-d { font-size: var(--t-caption); font-weight: 600; }
.cmp-cell .c-d.pos { color: var(--income); }
.cmp-cell .c-d.neg { color: var(--expense); }
.cmp-cell .c-d.zero { color: var(--ink-3); }

.cmp-legend {
  display: flex;
  gap: var(--s4);
  flex-wrap: wrap;
  margin-bottom: var(--s3);
  font-size: var(--t-caption);
  color: var(--ink-2);
}

/* ── Счета ──────────────────────────────────────────────────────────── */
.acc-bank { margin-bottom: var(--s3); }
.acc-bank .b-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s3);
  padding: var(--s4) var(--s4) var(--s2);
}
.acc-bank .b-name {
  font-size: var(--t-headline);
  font-weight: 600;
}
.acc-row {
  display: flex;
  align-items: center;
  gap: var(--s3);
  padding: var(--s3) var(--s4);
  position: relative;
}
.acc-row + .acc-row::before {
  content: "";
  position: absolute; top: 0; left: var(--s4); right: 0;
  height: .5px; background: var(--hairline);
}
.acc-row .a-name { flex: 1; min-width: 0; font-size: var(--t-subhead);
                   overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acc-row .a-meta { font-size: var(--t-caption); color: var(--ink-3); }
.acc-row.stale .a-meta { color: var(--warn); }

.acc-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--s3);
  padding: var(--s4);
}
