/* Вкладка «РТК» (16.10.2026): таблица — классы «Выполнения GI» (gi.css), здесь — только своё: подсветка строк заявок
   по зелёному отчёту (не оплачен СП — жёлтым, НПП — приглушённо, исключено — зачёркнуто), раскрытие точки, исключения. */
.rk-name { border: 0; background: transparent; padding: 0; font: inherit; font-weight: 600; color: inherit; text-align: left; cursor: pointer;
  text-decoration: underline dotted color-mix(in oklab, var(--ink-3) 70%, transparent); text-underline-offset: 3px; }
.gi-row.rk-open > * { background: var(--surface-2); }
.gi-table td.rk-sp { background: color-mix(in oklab, var(--warn) 22%, transparent); color: var(--ink); font-weight: 700; }
.gi-table td.rk-diff { background: color-mix(in oklab, var(--bad) 16%, transparent); }
.gi-table td.rk-zero { background: color-mix(in oklab, var(--bad) 26%, transparent); color: var(--bad); font-weight: 700; }
.gi-table td.rk-wait { color: var(--ink-3); }
.gi-table td.rk-dash { color: var(--ink-3); }
.gi-table td.rk-vmr { cursor: help; font-weight: 600; }
.gi-table td.rk-vmr small { margin-left: 6px; font-size: 11px; font-weight: 400; color: var(--ink-3); }
.gi-table td.rk-vmr-0 { color: var(--ink-3); }
/* Точка с назначенной инсталляцией — жёлтая строка, как зелёная у закрывших план (17.10.2026). */
.gi-row.rk-inst > * { background: color-mix(in oklab, var(--warn) 16%, var(--surface)); }
.gi-row.rk-inst:nth-child(even) > * { background: color-mix(in oklab, var(--warn) 22%, var(--surface)); }
.gi-row.rk-inst > .gi-name { box-shadow: inset 4px 0 0 var(--warn); }
.gi-row.rk-inst .pill { color: var(--ink); }
/* «Комментарий»: строка на заявку — метка и текст. */
.gi-table td.rk-note-c { text-align: left; vertical-align: top; padding-top: 3px; padding-bottom: 3px; }
.rk-note { display: flex; align-items: baseline; gap: 6px; line-height: 20px; white-space: nowrap; color: var(--ink-2); }
.rk-note b { flex: none; padding: 0 7px; border-radius: 999px; font-size: 11px; font-weight: 700; line-height: 17px; }
.rk-note.sp b { background: color-mix(in oklab, var(--warn) 26%, transparent); color: var(--ink); }
.rk-note.in b { background: color-mix(in oklab, var(--accent) 22%, transparent); color: var(--ink); }
.rk-note.in.late b { background: color-mix(in oklab, var(--bad) 22%, transparent); }
.rk-inst-t { color: var(--ink); white-space: nowrap; }
/* Шапка (17.10.2026): плитки одной высоты на всю ширину, у всех три строки — подпись, цифра, пояснение; ниже полоса
   действий: слева ТМ / точка / выгрузка, справа почта и связка «дата + Загрузить зелёный». Все кнопки и поля — 38 px. */
.rk-head { display: grid; gap: 12px; }
.rk-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.rk-head .gi-k.rk-k { grid-template-rows: 16px 32px 16px; align-content: center; gap: 3px; padding: 11px 14px; min-width: 0; }
.rk-head .gi-k.rk-k .gi-l, .rk-head .gi-k.rk-k .gi-s { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 16px; }
.rk-head .gi-k.rk-k .gi-v { font-size: 26px; line-height: 32px; white-space: nowrap; }
.rk-k .gi-v .ok { color: var(--ok); } .rk-k .gi-v .warn { color: var(--warn); } .rk-k .gi-v .bad { color: var(--bad); }
.rk-k-date .gi-v small { font-size: 15px; font-weight: 600; color: var(--ink-3); }
.gi-k.rk-k-sp { border-color: color-mix(in oklab, var(--warn) 45%, var(--line)); }
.gi-k.rk-k-sp .gi-v { color: var(--warn); }
.rk-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.rk-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rk-btn, .rk-head .rk-sel, .rk-gday { min-height: 38px; height: 38px; font-size: 13.5px; }
.rk-btn { padding: 0 14px; gap: 7px; }
.rk-btn svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rk-gday { border-radius: 10px; border: 1px solid var(--line-2); background: var(--surface-2); color: var(--ink); padding: 0 10px; font: inherit; font-size: 13.5px; }
.rk-up { display: inline-flex; align-items: stretch; }
.rk-up .rk-gday { border-radius: 10px 0 0 10px; border-right: 0; }
.rk-up .rk-btn { border-radius: 0 10px 10px 0; }
/* «Загрузить зелёный» — зелёная, тем же оттенком, что строки закрывших план (Алик 17.10.2026). */
.rk-up .rk-btn.gi-file { background: color-mix(in oklab, var(--ok) 24%, var(--surface)); color: var(--ink);
  border: 1px solid color-mix(in oklab, var(--ok) 55%, var(--line)); }
.rk-up .rk-btn.gi-file:hover { background: color-mix(in oklab, var(--ok) 34%, var(--surface)); filter: none; }
.rk-up .rk-btn.gi-file svg { color: var(--ok); }
@media (max-width: 760px) {
  .rk-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rk-tiles > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .rk-act, .rk-act-r { width: 100%; }
  .rk-act .rk-sel { flex: 1 1 calc(50% - 4px); min-width: 0; max-width: none; }
  .rk-act > .rk-btn { flex: 1 1 100%; }
  .rk-up { flex: 1 1 100%; }
  .rk-up .rk-gday { flex: 0 0 auto; }
}
/* Заявки точки — под её строкой. */
.rk-sub-wrap > td { padding: 4px 6px 10px !important; background: var(--surface-2); }
.rk-orders { width: 100%; font-size: 12.5px; }
.rk-orders th { font-size: 11px; color: var(--ink-3); font-weight: 600; text-align: left; white-space: nowrap; }
.rk-orders td { text-align: left; white-space: nowrap; }
.rk-orders tr.rk-sub-first > td { border-top: 1px solid var(--line-2); }
.rk-orders tr.rk-row-sp > td { background: color-mix(in oklab, var(--warn) 22%, transparent); }
.rk-orders tr.rk-row-npp > td { color: var(--ink-3); }
.rk-orders tr.rk-row-ex > td:not(:last-child) { text-decoration: line-through; color: var(--ink-3); }
.rk-orders tr.rk-row-wait > td { color: var(--ink-2); font-style: italic; }
.rk-orders a { color: var(--accent); text-decoration: none; }
.rk-ex-f { display: inline-flex; gap: 6px; align-items: center; }
.rk-ex-f input { width: 130px; min-height: 28px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--surface); color: var(--ink);
  padding: 0 6px; font: inherit; font-size: 12px; }
.rk-ex-c { color: var(--ink-2); }
.rk-ex-t td { text-align: left; }

/* Фильтр выгрузки и переключатель «Подключения РТК / Аналитика». */
.rk-sel-pos { min-width: 200px; }
.rk-sel { min-height: 36px; max-width: 260px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--surface-2); color: var(--ink);
  padding: 0 8px; font: inherit; }
.rk-switch { margin: 0 0 12px; }
/* Аналитика: полоса статусов, причины полосами, столбики по дням, таблицы сотрудников и точек. */
.rk-tips ul { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 13.5px; line-height: 1.45; color: var(--ink); }
/* Ряды аналитики (16.10.2026, «гармонично, размеры одинаковые»): статусы + подсказки, причины + дни — карточки ряда одной
   высоты; таблицы сотрудников и точек — на всю ширину, как ряды над ними. */
.rk-grid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); margin: 0 0 14px; align-items: stretch; }
@media (min-width: 1100px) {
  .rk-g1 { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
  .rk-g1.rk-solo { grid-template-columns: minmax(0, 1fr); }
  .rk-g2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
.rk-grid > .card { margin: 0; display: flex; flex-direction: column; min-width: 0; }
.gi-card.rk-full { width: auto; }
.gi-card.rk-full + .gi-card.rk-full { margin-top: 14px; }
.rk-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
@media (max-width: 560px) { .rk-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rk-kpi { display: grid; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--surface-2); }
.rk-kpi span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-3); white-space: nowrap; }
.rk-kpi i { width: 8px; height: 8px; border-radius: 2px; display: inline-block; }
.rk-kpi b { font-size: 22px; line-height: 1.15; color: var(--ink); font-variant-numeric: tabular-nums; }
.rk-kpi small { font-size: 12px; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.rk-kpi i.ok { background: var(--ok); }
.rk-kpi i.acc { background: var(--accent); }
.rk-kpi i.bad { background: var(--bad); }
.rk-kpi i.warn { background: var(--warn); }
.rk-stack { display: flex; height: 16px; border-radius: 8px; overflow: hidden; background: var(--surface-3); }
.rk-stack i { display: block; height: 100%; }
.rk-stack i.ok, .rk-legend i.ok, .rk-bar i.ok, .rk-cols i.ok { background: var(--ok); }
.rk-stack i.acc, .rk-legend i.acc, .rk-cols i.acc { background: var(--accent); }
.rk-stack i.bad, .rk-legend i.bad, .rk-bar i.bad { background: var(--bad); }
.rk-stack i.warn, .rk-legend i.warn, .rk-bar i.warn { background: var(--warn); }
.rk-legend i.mute, .rk-bar i.mute { background: var(--ink-3); }
.rk-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 12.5px; color: var(--ink-2); }
.rk-legend.rk-legend-top { margin: 0 0 4px; }
.card-h .rk-legend { margin-top: 0; }
.rk-legend span { display: inline-flex; align-items: center; gap: 6px; }
.rk-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.rk-legend b { color: var(--ink); font-variant-numeric: tabular-nums; }
.rk-l-sp b { color: var(--warn); }
.rk-rs { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.rk-rs li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(60px, 34%) 28px; gap: 10px; align-items: center; font-size: 13px; }
.rk-rs-t { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink); }
.rk-rs b { text-align: right; font-variant-numeric: tabular-nums; }
.rk-bar { display: block; height: 8px; border-radius: 4px; background: var(--surface-3); overflow: hidden; }
.rk-bar i { display: block; height: 100%; border-radius: inherit; }
.rk-days { display: flex; align-items: flex-end; gap: 4px; flex: 1 1 auto; min-height: 150px; margin-top: 10px; }
.rk-day { flex: 1 1 0; min-width: 8px; height: 100%; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 2px; text-align: center; }
.rk-cols { display: flex; align-items: flex-end; justify-content: center; gap: 2px; height: 100%; }
.rk-cols i { width: 45%; max-width: 12px; min-height: 1px; border-radius: 3px 3px 0 0; display: block; }
.rk-day small { font-size: 10.5px; color: var(--ink-3); }
.rk-an-t th, .rk-an-t td { white-space: nowrap; }
.rk-an-t a { color: var(--accent); text-decoration: none; }
.rk-top { color: var(--ink-2); font-size: 12.5px; text-align: left; }
.gi-table.rk-an-t td.rk-top { white-space: normal; min-width: 220px; text-align: left; }
.gi-row.rk-warn-row > .gi-name { box-shadow: inset 4px 0 0 var(--bad); }
/* Ошибки сотрудника под его строкой. */
.gi-num .rk-name { font-weight: 700; color: inherit; }
.rk-p-h { margin: 2px 0 6px; font-size: 12.5px; color: var(--ink-2); text-align: left; }
.rk-p-h a { color: var(--accent); text-decoration: none; }
.rk-orders tr.rk-row-staff > td:first-child { box-shadow: inset 3px 0 0 var(--bad); }
.rk-orders td.rk-reason { white-space: normal; min-width: 220px; max-width: 420px; }
.rk-cat { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 11.5px; font-weight: 600; background: var(--surface-3); color: var(--ink-2); }
.rk-cat.bad { background: color-mix(in oklab, var(--bad) 18%, transparent); color: var(--bad); }
.rk-cat.warn { background: color-mix(in oklab, var(--warn) 22%, transparent); color: var(--ink); }

/* «Номера заявок» и «ФИО» в таблице точек — строка к строке. */
.gi-table td.rk-items { text-align: left; vertical-align: top; }
.rk-items span { display: block; line-height: 20px; white-space: nowrap; }
.rk-items small { color: var(--ink-3); }

/* «Чья заявка». */
.rk-own-t { min-width: 0; }
.gi-table.rk-own-t th, .gi-table.rk-own-t td.rk-l { text-align: left; }
.rk-own-t td { vertical-align: middle; }
.rk-own-sel { min-height: 30px; max-width: 300px; font-size: 12.5px; }
.gi-row.rk-own-set > .gi-name { box-shadow: inset 4px 0 0 var(--accent); }
.rk-own-t td.rk-was { color: var(--ink-3); text-decoration: line-through; }
.rk-own-t td.rk-other { color: var(--warn); font-weight: 600; }
.rk-own-t td.rk-by { color: var(--ink-3); }
