/* © 2026 VEYRO (ИП Макаров И. В.). appagent — проприетарная программа. Использование — по лицензионному договору https://appagent.ru/legal/offer/. Копирование и распространение без разрешения запрещены. */
/* Блоки подэкрана «Публикации»: «Итоги публикаций» (modules-reels-publish-report.js) и «Instagram» (modules-reels-publish-ig.js).
   Значения — только из tokens.css, размеры в rem, обе темы через переменные. Плашки — кольцо --shadow-ring вместо рамки (макет b2), отступ как у карточек; статус и победитель —
   точка и серый текст, без цветных заливок; числа отчёта — Geist Mono. Чипы и кнопки — из kit. Подключается из index.html. */

.rl-pub-h { margin: 0; color: var(--color-ink); font: var(--text-h3-weight) var(--text-h3-size)/var(--text-h3-line) var(--text-h3-family); letter-spacing: var(--text-h3-track); }
.rl-pub-note { margin: 0; color: var(--color-ink2); font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); overflow-wrap: anywhere; }
.rl-pub-note[hidden] { display: none; }
.rl-pub-note--reason { color: var(--color-ink); }
.rl-pub-empty { margin: 0; color: var(--color-ink2); font: var(--text-ui-weight) var(--text-ui-size)/var(--text-ui-line) var(--font-sans); }

/* Плашка: белая поверхность, рамка 1 px вместо кольца-тени, отступ карточки. */
.tile.rl-pub-report, .tile.rl-pub-ig__card {
  box-sizing: border-box; padding: var(--card-pad); background: var(--color-panel);
  border: 0; border-radius: var(--radius-card); box-shadow: var(--shadow-ring);
}

/* ---------- Итоги ---------- */
.rl-pub-report { display: grid; gap: var(--space-4); min-width: 0; align-content: start; }
.rl-pub-rep-body { display: grid; gap: var(--space-4); min-width: 0; }
.rl-pub-replist { list-style: none; margin: 0; padding: 0; display: grid; min-width: 0; }
.rl-pub-rep { display: grid; gap: var(--space-3); min-width: 0; }
.rl-pub-rep + .rl-pub-rep { margin-top: var(--space-6); padding-top: var(--space-6); border-top: 1px solid var(--color-line); }
.rl-pub-rep__h { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); min-width: 0; }
.rl-pub-rep__t { margin: 0; flex: 1 1 10rem; min-width: 0; overflow-wrap: anywhere; color: var(--color-ink); font: var(--text-ui-strong-weight) var(--text-ui-strong-size)/var(--text-ui-strong-line) var(--font-sans); }
.rl-pub-rep__notes { display: grid; gap: var(--space-1); }

/* Фокус — общий :focus-visible из base.css. */
/* Таблица: варианты — столбцы, показатели — строки; если не помещается, прокручивается внутри своей рамки. Без заливки. */
.rl-pub-scroll {
  min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain;
  background: transparent; border: 1px solid var(--color-line); border-radius: var(--radius-ctl);
}
.rl-pub-table { width: 100%; border-collapse: collapse; font: var(--text-caption-weight) var(--text-caption-size)/var(--text-caption-line) var(--font-sans); }
.rl-pub-th, .rl-pub-td { padding: var(--space-2) var(--space-3); text-align: end; vertical-align: top; border-bottom: 1px solid var(--color-line); }
.rl-pub-table tbody tr:last-child > * { border-bottom: 0; }
.rl-pub-th { font-weight: var(--weight-medium); color: var(--color-ink); }
.rl-pub-th--metric { text-align: start; color: var(--color-ink2); min-width: 7rem; font-weight: var(--weight-regular); }
/* Числа — моно с табличными цифрами; подписи показателей — серые. */
.rl-pub-td { color: var(--color-ink); font-family: var(--font-num); font-size: var(--text-mono-size); font-variant-numeric: tabular-nums; }
.rl-pub-td[data-empty="true"] { color: var(--color-ink3); font-family: var(--font-sans); font-size: var(--text-caption-size); }
.rl-pub-var { display: block; overflow-wrap: anywhere; }
/* Победитель в таблице — точка перед названием варианта, без заливки столбца. */
.rl-pub-th[data-winner="true"] .rl-pub-var { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-2); }
.rl-pub-th[data-winner="true"] .rl-pub-var::before {
  content: ""; flex: none; width: var(--size-dot); height: var(--size-dot); border-radius: var(--radius-round); background: var(--color-dot-ok);
}
.rl-pub-link {
  display: flex; align-items: center; justify-content: flex-end; min-height: var(--size-touch-min); color: var(--color-ink2);
  font-weight: var(--weight-regular); text-decoration: underline; text-underline-offset: 0.2em; overflow-wrap: anywhere;
  transition: color var(--duration-fast) var(--ease-out);
}
.rl-pub-link:hover { color: var(--color-ink); }

/* ---------- Instagram ---------- */
.rl-pub-ig { display: grid; gap: var(--tile-gap); min-width: 0; align-content: start; }
.rl-pub-ig__card { display: grid; gap: var(--space-3); min-width: 0; align-content: start; }
.rl-pub-ig__chip { min-width: 0; }
.rl-pub-ig__chip .ui-chip { white-space: normal; }
.rl-pub-ig__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); min-width: 0; }
.rl-pub-ig__row .btn { min-height: var(--size-touch-min); }
.rl-pub-ig .btn[hidden] { display: none; }
.rl-pub-ig > .btn { justify-self: start; min-height: var(--size-touch-min); }
/* Повторить и «Опубликовать вручную» при ошибке чтения (в том числе «нет связи с Instagram»). */
.rl-pub-ig__acts { display: flex; flex-wrap: wrap; gap: var(--space-2); min-width: 0; }
.rl-pub-ig__acts:not(:has(.btn:not([hidden]))) { display: none; }
.rl-pub-ig__acts .btn { min-height: var(--size-touch-min); }
.rl-pub-ig__keys { min-width: 0; }
.rl-pub-ig__keys .btn, .rl-pub-ig__keys .input { min-height: var(--size-touch-min); }

@media (max-width: 30rem) {
  .tile.rl-pub-report, .tile.rl-pub-ig__card { padding: var(--space-4); }
  .rl-pub-ig__acts, .rl-pub-ig__acts .btn { width: 100%; }
  .rl-pub-ig__acts .btn { justify-content: center; }
  .rl-pub-ig__row .btn { width: 100%; justify-content: center; }
  .rl-pub-th, .rl-pub-td { padding-inline: var(--space-2); }
  .rl-pub-th--metric { min-width: 5.5rem; }
}
