/* Бухгалтерия (б0.1): очередь оплат и счетов-фактур. Макет Accounting. Только var(--…) токенов пакета, классы rd-acc-*. */

.app .rd-shell-col > .page:has(.rd-acc) { padding-top: 4px; }
.rd-acc { display: flex; flex-direction: column; gap: var(--gap); min-width: 0; font-family: var(--font); font-size: var(--fs-body); color: var(--text-body); }
.rd-acc *, .rd-acc *::before, .rd-acc *::after { box-sizing: border-box; }
.rd-acc button, .rd-acc input { font-family: inherit; }

/* Шапка: название, мета, справа отбор */
.rd-acc-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; min-width: 0; }
.rd-acc-bar__t { flex: 1; min-width: 0; }
.rd-acc-title { margin: 0; font-size: var(--fs-page-title); font-weight: var(--fw-page-title); letter-spacing: var(--ls-page-title); color: var(--text-primary); }
.rd-acc-sub { margin: 4px 0 0; font-size: var(--fs-meta); color: var(--text-muted); }
.rd-acc-bar .rd-seg { background: var(--bg-hover); }

/* Карточка-список */
.rd-acc-list.rd-card { padding: 8px 4px 10px; }
.rd-acc-head { display: flex; align-items: baseline; gap: 10px; padding: 10px 20px 12px; }
.rd-acc-head__t { margin: 0; flex: 1; font-size: var(--fs-card-title); font-weight: var(--fw-card-title); color: var(--text-primary); }
.rd-acc-meta { font-size: var(--fs-meta); color: var(--text-muted); }
.rd-acc-note { margin: 0; padding: 12px 20px; font-size: var(--fs-meta); color: var(--text-muted); }
.rd-acc-list .rd-empty, .rd-acc-list .rd-r3-fail { margin: 0 20px 12px; }

/* Сетка строки: монограмма, счёт, менеджер, срок, сумма, остаток, кнопка */
.rd-acc-q { display: grid; grid-template-columns: 36px minmax(0, 1fr) 170px 150px 190px 150px 150px; align-items: center; column-gap: 16px; }
.rd-acc-cols { font-size: var(--fs-label); color: var(--text-muted); padding: 0 20px 6px; }
.rd-acc-grp { font-size: var(--fs-group); font-weight: 600; letter-spacing: 0.04em; color: var(--text-muted); padding: 16px 20px 8px; }
.rd-acc-row { padding: 12px 20px; border-top: 1px solid var(--line); }
.rd-acc-grp + .rd-acc-row, .rd-acc-cols + .rd-acc-row { border-top: none; }
.rd-acc-span2 { grid-column: span 2; min-width: 0; }
.rd-acc-r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rd-acc-rest .rd-bar { margin-top: 6px; }
.rd-acc-act { justify-self: end; }
.rd-acc-act .rd-btn { height: 32px; padding: 0 12px; font-size: var(--fs-meta); }

.rd-acc-main { min-width: 0; }
.rd-acc-t { display: block; max-width: 100%; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; font-size: 15px; font-weight: 500; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-acc-t:hover { color: var(--brand-blue-text); }
.rd-acc-code { color: var(--text-muted); font-weight: 400; }
.rd-acc-line { margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-acc-line > span::before { content: " · "; }
.rd-acc-link { padding: 0; border: 0; background: none; cursor: pointer; font-size: inherit; color: var(--brand-blue-text); text-align: left; }
.rd-acc-link:hover { text-decoration: underline; }
.rd-acc-who { display: flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; overflow: hidden; }
.rd-acc-who__n { overflow: hidden; text-overflow: ellipsis; color: var(--text-primary); }
.rd-acc-due .rd-state { white-space: nowrap; }

/* Форма на месте строки */
.rd-acc-open { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 12px; margin: 2px 12px 8px; padding: 14px 16px; border-radius: 12px; background: var(--bg-subtle); }
.rd-acc-f { display: flex; flex-direction: column; gap: 5px; font-size: var(--fs-label); color: var(--text-muted); }
.rd-acc-open .rd-r3-input { background: var(--bg-surface); }
.rd-acc-w170 { width: 170px; }
.rd-acc-w210 { width: 210px; }
.rd-acc-hint { align-self: center; font-size: var(--fs-meta); color: var(--text-muted); }
.rd-acc-fail { flex-basis: 100%; margin: 0; font-size: var(--fs-body); color: var(--state-late-text); }

/* Узкий экран: колонки встают под названием, кнопка — во всю ширину */
@media (max-width: 1100px) {
  .rd-acc-cols { display: none; }
  .rd-acc-q { grid-template-columns: 36px minmax(0, 1fr) auto; row-gap: 6px; }
  .rd-acc-q > :nth-child(n+3) { grid-column: 2 / -1; text-align: left; }
  .rd-acc-q > .rd-acc-act { grid-column: 2 / -1; justify-self: start; }
  .rd-acc-span2 { grid-column: 2 / -1; }
}
@media (max-width: 600px) {
  .rd-acc-row { padding: 12px 14px; }
  .rd-acc-head, .rd-acc-grp { padding-left: 14px; padding-right: 14px; }
  .rd-acc-open { margin: 2px 4px 8px; }
  .rd-acc-open .rd-acc-f, .rd-acc-open .rd-r3-input, .rd-acc-open .rd-btn { width: 100%; }
  .rd-acc-act .rd-btn { height: var(--btn-h); }
}
