/* Удержание по месяцам прихода (v3, задача 7). Цвета только токены, обе темы. */
.coh-body { padding: var(--s4); display: grid; gap: var(--s3); }
.coh-scroll { overflow-x: auto; max-width: 100%; border: 1px solid var(--line-soft); border-radius: var(--r-md); }
.coh-scroll:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.coh-table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 560px; font-size: var(--t-md); }
.coh-table th, .coh-table td { padding: var(--s2) var(--s3); border-bottom: 1px solid var(--line-soft); text-align: right; white-space: nowrap; }
.coh-table thead th { font-size: var(--t-sm); font-weight: 600; color: var(--muted); background: var(--sunk); }
.coh-table tbody tr:last-child th, .coh-table tbody tr:last-child td { border-bottom: 0; }
.coh-table .coh-first { text-align: left; position: sticky; left: 0; background: var(--surface); font-weight: 600; z-index: 1; }
.coh-table thead .coh-first { background: var(--sunk); }
.coh-num { font-variant-numeric: tabular-nums; }
.coh-size { color: var(--muted); }
.coh-cell { display: table-cell; }
.coh-pct { display: block; font-size: var(--t-lg); font-weight: 650; font-variant-numeric: tabular-nums; color: var(--ink); }
.coh-n { display: block; font-size: var(--t-xs); color: var(--ink); opacity: .8; font-variant-numeric: tabular-nums; }
.coh-cell.wait { background: transparent; }
.coh-wait { color: var(--muted); font-size: var(--t-sm); }
/* тепловая подложка: акцент разной густоты поверх поверхности; --hm это густота самой тёмной клетки, в тёмной теме меньше, чтобы светлый текст читался */
:root { --hm: 46; }
:root[data-theme="dark"] { --hm: 30; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --hm: 30; } }
.coh-cell.h0 { background: var(--sunk); }
.coh-cell.h1 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 1% / 10), var(--surface)); }
.coh-cell.h2 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 2% / 10), var(--surface)); }
.coh-cell.h3 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 3% / 10), var(--surface)); }
.coh-cell.h4 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 4% / 10), var(--surface)); }
.coh-cell.h5 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 5% / 10), var(--surface)); }
.coh-cell.h6 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 6% / 10), var(--surface)); }
.coh-cell.h7 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 7% / 10), var(--surface)); }
.coh-cell.h8 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 8% / 10), var(--surface)); }
.coh-cell.h9 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 9% / 10), var(--surface)); }
.coh-cell.h10 { background: color-mix(in srgb, var(--accent) calc(var(--hm) * 10% / 10), var(--surface)); }
.coh-small th, .coh-small td { color: var(--muted); }
.coh-small .coh-cell { background: var(--sunk); }
.coh-small .coh-pct, .coh-small .coh-n { color: var(--muted); font-weight: 500; }
@media (max-width: 640px) { .coh-body { padding: var(--s3); } }
