@charset "UTF-8";
/* ───────── #46 этап 2 (23.09.2026): таблица листа сеткой по макету (import/redant-dashboard-mockups/project/WB.dc.html,
   States.dc.html; стили — как есть). Все правила ограничены контейнером .gt: имена макета (.r, .fc, .bk, .grp…) на
   прочих страницах не действуют. Рисуется только видимое окно (grid.js); шаблон столбцов окна — переменная --gtc. ───────── */
.gt{position:relative;font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:13px;line-height:1.35;color:#1c1e22;background:#ffffff;min-width:100%}
.gt .r{display:grid;grid-template-columns:var(--gtc);height:24px;background:#ffffff;border-bottom:1px solid #eeeeea}
.gt .r > div{padding:0 8px;display:flex;align-items:center;justify-content:flex-end;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px;border-right:1px solid #f0f0ec;overflow:hidden;position:relative;min-width:0}
.gt .r > .pad{padding:0;border-right:0}
.gt .r > .fc{position:sticky;left:0;z-index:2;background:inherit;justify-content:flex-start;gap:6px;border-right:1px solid #d6d6d0;overflow:hidden}
.gt .r > .fc .lt{overflow:hidden;text-overflow:ellipsis}
.gt .r > .bs{border-left:2px solid transparent}
.gt .wd{font-size:11px;color:#8a8e95;font-weight:400}
.gt .wd.we{color:#b4473f}
/* строки */
/* наведение на день — слой поверх заливки каждой ячейки, а не фон строки: фон строки закрывали ручной ввод, формула, «нужно
   внести», ДРР выше порога (владелец 24.09). На белом = #f5f8fd макета. Рамки правки и ошибки — ниже, вместе со слоем. */
.gt .r-day:hover > div{box-shadow:inset 0 0 0 9999px rgba(31,79,184,.045)}
.gt .r-day .fc{color:#33373d}
/* 20.10.2026 (#160; владелец «да и на товары», «я думаю взять нейтральный серый вариант 1»; дизайнер: периоды — нейтральный серый, ДРР — мягкий фон Д1, формулы — без фона Ф3; было: #ea9999 / #f4cccc, ДРР #fde4e1 600, формулы #eef4fb) */
.gt .r-month{background:#d7d7d7;font-weight:600;height:26px}
/* 21.10.2026 (#165; руководитель: «текущий месяц… Потемнее можно его просто сделать»; владелец «да»): строка текущего месяца — на шаг
   темнее (#d7d7d7 → #c6c6c6, тот же шаг, что неделя → месяц: #e8e8e8 → #d7d7d7); вес как у .r-month — правило ниже по файлу */
.gt .r-cur{background:#c6c6c6}
.gt .r-week{background:#e8e8e8;font-weight:600}
.gt .r-year{background:#9fc5e8;font-weight:600;height:26px}
.gt .r-cumul{background:#cfe2f3;font-weight:600}
.gt .r.yr-sep{border-top:2px solid #9199a3}
/* стрелка раскрытия (класс wktoggle — общий обработчик app.js initWeekToggle) */
.gt .tg{width:18px;height:18px;border:1px solid #cfb3b3;border-radius:4px;background:#ffffff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#6b4545;flex-shrink:0;font:inherit}
.gt .tg svg{transition:transform .15s}
.gt .tg.closed svg{transform:rotate(-90deg)}
.gt .tg:focus-visible{outline:2px solid #1f4fb8;outline-offset:1px}
@media (prefers-reduced-motion: reduce){.gt .tg svg{transition:none}}
/* шапка: строка блоков + заголовки, закреплены сверху */
.gt .gt-hd{position:sticky;top:0;z-index:5}
.gt .r-blk{height:26px;background:#f2f2ee;border-bottom:0}
.gt .r-blk > div{overflow:visible}
.gt .r-blk > .fc{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#6f737a;font-weight:600;background:#fff2cc;overflow:hidden}
.gt .r-blk > .bk{justify-content:flex-start;padding:0;border-left:2px solid transparent;border-right:0;min-width:0}
.gt .r-blk > .bk.nog{background:#fff2cc}
.gt .bk-name{position:sticky;left:156px;display:block;padding:0 10px;font-weight:600;font-size:12.5px;color:#1c1e22;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* 24.09.2026: подпись кампании (ID / SKU / статус, app.js blockNote) — после названия блока, тише; не влезло — «…», полностью в подсказке */
.gt .bk-note{font-weight:400;font-size:11.5px;color:rgba(28,30,34,.68)}
/* 23.09 (вариант Б дизайнера): заголовок до 3 строк, строка 54 px; не влезло при 120 px — «…», полный текст в подсказке */
.gt .r-head{height:54px;background:#d9ead3;border-bottom:1px solid #b7cfae}
.gt .r-head > div{white-space:normal;text-align:right;line-height:1.2;font-size:11.5px;color:#33373d;font-weight:600;border-right:1px solid #e2e2dc;align-items:flex-end;padding-bottom:6px;justify-content:flex-end}
.gt .r-head .ht{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-width:0;overflow-wrap:anywhere;hyphens:manual;text-align:right}
.gt .r-head > .fc{text-align:left;align-items:flex-end;background:#fff2cc;justify-content:flex-start}
/* 07.10.2026 (макет ColIcons, README «Значки «ручной ввод» и «формула» в заголовках столбцов», выбор владельца 07.10): значок типа
   столбца — Lucide pen-line (ручной ввод) / sigma (формула), 12 px, серый полупрозрачный, при наведении не меняется (без :hover — иначе
   выглядит кнопкой). Стоит перед первым словом и приклеен к нему (.col-nw — перенос между ними невозможен, значок никогда не остается
   один в строке); ширину столбца под «значок + 3 px + первое слово» считает grid.js (gridLines). Было: символы ✎ / ƒ через ::before. */
.gt .r-head .col-nw{white-space:nowrap}
.gt .r-head .col-ic{display:inline-block;vertical-align:-2px;margin-right:3px;color:#6f737a;opacity:.5}
.gt .r-head > [data-tip]{cursor:help}
.gt .arch-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:#5a5e65;background:#ecece8;border-radius:4px;padding:1px 6px;text-transform:none;letter-spacing:0;white-space:nowrap}
/* низ: «Итого за период» закреплена; «Доля продаж» и «Прогноз» — под ней, прокручиваются */
.gt .gt-ft{position:sticky;bottom:0;z-index:4;background:#f7f7f4;border-top:1px solid #d6d6d0;box-shadow:0 -6px 12px -8px rgba(20,20,19,.14)}
.gt .gt-ft .r{height:28px;font-weight:600;background:#ffffff;border-bottom:0}
.gt .gt-ft .r > div{border-right-color:#ebebe6}
.gt .gt-ft .r > .fc{font-weight:600;color:#1c1e22}
/* 21.10.2026 (#165): «Прогноз» — в закрепленном блоке над «Итого» (был .gt-after в потоке); вид прежний: фон #f7f7f4, вес 500, черта снизу */
.gt .gt-ft .r-forecast{background:#f7f7f4;font-weight:500;border-bottom:1px solid #ebebe6}
.gt .r-share{color:#6f737a}
.gt .r-share > .fc{font-weight:500;color:#4a4e55}
.gt .r-forecast{color:#33373d;font-weight:500}
/* 21.10.2026 (#164): важные столбцы листа «Общая» (grid.js gridKeyCols) — цвета дизайнера (import/colors-7-full.png): день #e7faf3,
   неделя #d6e9e2, месяц #c5d8d1, в заголовке полоса снизу #207963 3 px; «Итого» и «Прогноз» — без подсветки. Ручной ввод, «нужно внести»,
   ДРР выше порога, выделение, ошибка и поле ввода — поверх: их правила ниже по файлу при том же весе или с !important */
.gt .r-day > .c-key{background:#e7faf3}
.gt .r-week > .c-key{background:#d6e9e2}
.gt .r-month > .c-key{background:#c5d8d1}
.gt .r-cur > .c-key{background:#b4c7c0}   /* 21.10.2026 (#165): важный столбец в строке текущего месяца — на тот же шаг темнее #c5d8d1 */
.gt .r-head > .h-key{box-shadow:inset 0 -3px 0 #207963}
/* тип столбца — только в строках-днях */
.gt .r-day > .c-hand{background:#fff3cd}
.gt .r-day > .c-formula{color:#33373d}   /* 20.10.2026 (#160 Ф3): без фона — столбец формулы отмечен значком sigma в заголовке */
/* «нужно внести» — «дыхание» (решение владельца 18.09, цвета макета); без анимации в системе — ровная заливка */
@keyframes gtBreathe{0%,100%{background:#fff3cd}50%{background:#ffd98a}}
.gt .r-day > .c-todo{animation:gtBreathe 2.6s ease-in-out infinite;cursor:cell}
@media (prefers-reduced-motion: reduce){.gt .r-day > .c-todo{animation:none;background:#ffe3a0}}
/* ДРР выше порога — поверх заливки типа */
.gt .r > .drr-hot{background:#fbeeec !important;color:#a3261c;font-weight:500}   /* 20.10.2026 (#160 Д1) */
.gt .r > .neg{color:#a3261c}
.gt .r > .zero{color:#a3a7ad}
/* неполная сумма — кружок «?» вплотную слева от числа, отступ 4 px; левый отступ ячейки 4 px (README 23.09; было — у левого края, 22 px) */
.gt .r > .c-partial{padding-left:4px}
.gt .pq{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:13px;height:13px;margin-right:4px;border-radius:50%;background:#d9730d;color:#ffffff;font:700 9.5px/13px 'IBM Plex Sans',system-ui,sans-serif;font-style:normal;pointer-events:none}
/* уголки: перебито вручную — темный слева вверху; другая формула — синий справа вверху; заметка — оранжевый справа вверху даты */
.gt .r > .c-frozen::before{content:"";position:absolute;top:0;left:0;border-style:solid;border-width:7px 7px 0 0;border-color:#5a5e65 transparent transparent transparent}
.gt .r > .c-exc::after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 7px 7px 0;border-color:transparent #3d6bb3 transparent transparent}
.gt .r > .fc.note::after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 8px 8px 0;border-color:transparent #d9730d transparent transparent}
/* столбец «Заметки» (если включен в «Столбцах») — текст слева с многоточием */
.gt .r > .c-note{justify-content:flex-start;color:#5a5e65;font-size:12px}
/* 02.10.2026 (TODO #83): окно заметки — только карандашом (restyle.css .npen; кому — grid.js gridNotePen); у даты и «Заметок» нет курсора-
   руки: щелчок по ячейке окно не открывает. Карандаш — у правого края ячейки, по центру высоты, поверх свободного места (не сдвигает дату,
   день недели и текст; уголок заметки — правый верх, выше и правее). Виден при наведении на ячейку и при фокусе с клавиатуры. В «Заметках»
   он ложится на конец текста — под ним фон строки (и слой наведения строки), чтобы текст не просвечивал. */
.gt .r > .fc > .npen,.gt .r > .c-note > .npen{position:absolute;right:6px;top:50%;margin-top:-10px}
.gt .r > .c-note > .npen{right:2px;background:#ffffff}
.gt .r-day:hover > .c-note > .npen{box-shadow:inset 0 0 0 9999px rgba(31,79,184,.045)}
.gt .r > .c-note > .npen:hover{background:#ebebe6}
.gt .r > .fc:hover > .npen,.gt .r > .c-note:hover > .npen{opacity:1}
.gt .nt-t{overflow:hidden;text-overflow:ellipsis}
/* архивный год — серый текст, без заливок ручного ввода, без правки */
.gt .r.arch > div{color:#8a8e95}
.gt .r-day.arch > .c-hand,.gt .r-day.arch > .c-formula,.gt .r-day.arch > .c-todo{background:#fafaf8;animation:none}
/* ввод числа в ячейке (app.js openCellEditor): синяя рамка 2 px; сохраняется — бледно + индикатор; ошибка — красная рамка + «!» */
.gt .r > .c-editing{padding:0;box-shadow:inset 0 0 0 2px #1f4fb8;background:#ffffff;z-index:3;animation:none;overflow:visible}
.gt .c-editing .cell-input{width:100%;height:100%;box-sizing:border-box;border:0;font:inherit;font-variant-numeric:tabular-nums;text-align:right;padding:0 8px;outline:none;background:transparent;color:#1c1e22}
.gt .c-editing .cell-input:disabled{color:#9a9ea5}
.gt .r > .c-saving{color:#9a9ea5;animation:none}
.gt .r > .c-saving::before{content:"";position:absolute;left:6px;top:50%;margin-top:-5px;width:10px;height:10px;border:1.5px solid #c9ccd2;border-top-color:#1f4fb8;border-radius:50%;animation:gtSpin .8s linear infinite;box-sizing:border-box}
@keyframes gtSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.gt .r > .c-saving::before{animation:none}}
.gt .r > .c-failed{box-shadow:inset 0 0 0 1.5px #c0392b;background:#fff5f4;animation:none;padding-left:22px}
.gt .r-day:hover > .c-editing{box-shadow:inset 0 0 0 2px #1f4fb8}
.gt .r-day:hover > .c-failed{box-shadow:inset 0 0 0 1.5px #c0392b,inset 0 0 0 9999px rgba(31,79,184,.045)}
.gt .r > .c-failed::before{content:"!";position:absolute;left:5px;top:50%;margin-top:-6.5px;width:13px;height:13px;border-radius:50%;background:#c0392b;color:#ffffff;font:700 9.5px/13px 'IBM Plex Sans',system-ui,sans-serif;text-align:center}
/* строка-подсказка под полем ввода — оформлена в restyle.css (этап 4, общая для всех окон) */
/* карточка заметки при наведении на дату (#46 порция 3; States.dc.html .notecard, без автора и времени — дизайнер 23.09).
   Живет в body (position: fixed), место считает grid.js (под ячейкой / над ней / сдвиг от правого края). */
.gt-notecard{position:fixed;z-index:60;box-sizing:border-box;width:250px;max-width:calc(100vw - 16px);background:#ffffff;border:1px solid #d9d9d3;border-radius:7px;box-shadow:0 8px 24px rgba(20,20,19,.14);padding:9px 11px;font:12.5px/1.4 'IBM Plex Sans',system-ui,sans-serif;color:#1c1e22;display:flex;flex-direction:column;gap:6px;pointer-events:none}
.gt-notecard[hidden]{display:none}
.gt-notecard .nc-text{white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:10;overflow:hidden}
.gt-notecard .nc-lnk{font-size:12px;color:#1f4fb8;font-weight:500}
/* #50: плавное раскрытие и сворачивание групп — одна обертка на группу (README дизайнера «Раскрытие и скрытие недель и месяца»),
   высота в пикселях (ставит grid.js); overflow: clip, а не hidden — hidden делает обертку контейнером прокрутки и ломает закрепленный
   столбец даты */
.gt .gb{overflow:clip;transition:height .24s ease}
/* и область строк — вместе с оберткой: нижние строки («Итого», «Доля», «Прогноз») едут плавно (владелец 23.09) */
.gt .gt-body.folding{transition:height .24s ease}
@media (prefers-reduced-motion: reduce){.gt .gb,.gt .gt-body.folding{transition:none}}
/* ───────── 25.09.2026 (#53): ИИ-помощник в таблице — README макета «ИИ-помощник» п. 3 и 5, «Анимации в панели»; AI.dc.html .tip-chip,
   .tr .hl, @keyframes hl (стили — как есть, цвета — переменными макета: --acc #1f4fb8, --acc-soft #eaf0fb, --acc-soft-2 #c9d6f0,
   --acc-ink #173c8c) ───────── */
/* значок «совет» — последним в строке блока, после названия · ID · SKU · статуса; название сжимается «…», значок — нет (grid.js gridTipChip) */
.gt .bk-name.has-tip{display:flex;align-items:center;gap:8px}
.gt .bk-name.has-tip .bk-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.gt .ai-chip{flex:none;display:inline-flex;align-items:center;gap:4px;height:20px;box-sizing:border-box;padding:0 7px 0 6px;border-radius:10px;background:#ffffff;border:1px solid #c9d6f0;color:#173c8c;font:500 11.5px/1 'IBM Plex Sans',system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out,box-shadow .14s ease-out}
.gt .ai-chip svg{flex:none;color:#1f4fb8}
.gt .ai-chip:hover{background:#eaf0fb}
.gt .ai-chip:active{transition-duration:0s;background:#ebebe6}
.gt .ai-chip:focus-visible{outline:2px solid #1f4fb8;outline-offset:1px}
/* «Показать в таблице»: рамка 2 px внутрь и мягкое кольцо, гаснущее за 1,6 с; класс снимает grid.js по таймеру. Поверх заливок
   ручного ввода, формулы, «нужно внести», ДРР выше порога; z-index 1 — кольцо над соседними ячейками, но под столбцом даты и шапкой */
.gt .r > .ai-hl,.gt .r-blk > .bk.ai-hl{box-shadow:inset 0 0 0 2px #1f4fb8;background:#eaf0fb !important;animation:gtAiHl 1.6s ease-out;z-index:1}
.gt .r-day:hover > .ai-hl{box-shadow:inset 0 0 0 2px #1f4fb8}
@keyframes gtAiHl{0%{box-shadow:inset 0 0 0 2px #1f4fb8,0 0 0 6px rgba(31,79,184,.25)}100%{box-shadow:inset 0 0 0 2px #1f4fb8,0 0 0 0 rgba(31,79,184,0)}}
@media (prefers-reduced-motion: reduce){.gt .r > .ai-hl,.gt .r-blk > .bk.ai-hl{animation:none}.gt .ai-chip{transition:none}}
/* ───────── 25.09.2026 (#46, «Столбцы»): наведение на столбец в меню «Столбцы» — столбец в таблице подсвечен целиком (README макета
   «Меню «Столбцы»», Columns.dc.html .tbl .hv / .ch.hv): фон #eaf0fb, рамка #c9d6f0 по обе стороны столбца, заголовок — #173c8c. Класс
   col-hl ставит grid.js (gridHighlightCol). Фон — !important: поверх заливок ручного ввода, формулы, «нужно внести» (у нее фон —
   анимация), ДРР выше порога (у нее !important) и цвета заголовка (он в style ячейки). Без перехода: класс ставится при перерисовке
   окна до первого кадра — не мигает. Ввод числа, ошибка сохранения и подсветка помощника остаются своими (правила ниже). ───────── */
.gt .r > .col-hl{background:#eaf0fb !important;box-shadow:inset 1px 0 0 #c9d6f0,inset -1px 0 0 #c9d6f0}
.gt .r-head > .col-hl{color:#173c8c}
.gt .r-day:hover > .col-hl{box-shadow:inset 1px 0 0 #c9d6f0,inset -1px 0 0 #c9d6f0,inset 0 0 0 9999px rgba(31,79,184,.045)}
.gt .r > .col-hl.c-editing{background:#ffffff !important;box-shadow:inset 0 0 0 2px #1f4fb8}
.gt .r > .col-hl.c-failed{background:#fff5f4 !important;box-shadow:inset 0 0 0 1.5px #c0392b}
.gt .r > .col-hl.ai-hl{box-shadow:inset 0 0 0 2px #1f4fb8}

/* 01.10.2026 (созвон по МП; владелец: «сумму выделенных ячеек нужно сделать», вариант «а»): выделенные ячейки — цвета подсветки столбца
   (.col-hl: #eaf0fb, линия #c9d6f0), рамкой #c9d6f0; поверх заливок ручного ввода и формул (как col-hl — !important). Итог — плашка #selsum
   в стиле подсказки (#tip, restyle.css). При протяжке — без выделения текста (.gt-selecting). */
.gt .r > .c-sel{background:#eaf0fb !important;box-shadow:inset 0 0 0 1px #c9d6f0}
.gt .r-day:hover > .c-sel{box-shadow:inset 0 0 0 1px #c9d6f0,inset 0 0 0 9999px rgba(31,79,184,.045)}
.gt.gt-selecting,.gt.gt-selecting *{user-select:none;-webkit-user-select:none}
/* 01.10.2026 (владелец: «запоминать первую ячейку диапазона приходится в уме. ее бы тоже подсвечивать»): опорная ячейка — рамка 2 px
   #1f4fb8 (как поле ввода .c-editing и «Показать в таблице» .ai-hl); у поля ввода — его белый фон поверх выделения (как .col-hl.c-editing) */
.gt .r > .c-anchor,.gt .r-day:hover > .c-anchor{box-shadow:inset 0 0 0 2px #1f4fb8}
.gt .r > .c-sel.c-editing,.gt .r > .c-anchor.c-editing{background:#ffffff !important;box-shadow:inset 0 0 0 2px #1f4fb8}
#selsum{position:fixed;z-index:100;background:#1c1e22;color:#fff;font-size:12px;line-height:1.4;padding:6px 9px;border-radius:5px;
  box-shadow:0 8px 24px rgba(20,20,19,.2);pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums}
#selsum[hidden]{display:none}
/* ───────── 23.10.2026: загрузка таблицы — каркас с бликом (README макетов «Загрузка таблицы: каркас с бликом», TableLoading.dc.html) ─────────
   Общие классы для таблиц листов (grid.js) и разделов «Товары», «Юнит-экономика», «Доли» (поток B):
   .sk     — полоска загрузки: рисует ::after элемента — 44 × 8 px, скругление 4, одна полупрозрачная rgba(28,30,34,.075) на любом фоне строки
             (на белом ≈ #eeeeea, на сером и цветном — чуть темнее фона); прижата вправо, как число (во flex-ячейке — к правому краю, в блочной —
             margin-left:auto). Длина — переменная --sk-w (по умолчанию 44px; можно %), не шире своего элемента. Неподвижная.
   .glint  — один слой-блик (вариант C, «по всей области»): ставит тот, кто его показывает, — положение и размер стилем left/top/width/height
             (по умолчанию position:fixed; можно absolute внутри своей области); внутри один <i> — полоса 50 % ширины слоя, белая к середине,
             наклон −20° (нижние строки чуть отстают), идет transform за 1,2 с по кругу. Не ловит мышь; появляется за 0,12 с;
             prefers-reduced-motion — слоя нет (полоски стоят). */
.sk::after{content:"";display:block;width:var(--sk-w,44px);max-width:100%;height:8px;margin-left:auto;border-radius:4px;background:rgba(28,30,34,.075)}
.glint{position:fixed;overflow:hidden;pointer-events:none;z-index:2;animation:glintIn .12s ease-out both}
.glint i{position:absolute;top:0;bottom:0;left:0;width:50%;animation:glint 1.2s linear infinite;will-change:transform}
.glint i::before{content:"";position:absolute;top:0;bottom:0;left:-12%;right:-12%;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.6),rgba(255,255,255,0));transform:skewX(-20deg)}
@keyframes glint{from{transform:translateX(-100%)}to{transform:translateX(200%)}}
@keyframes glintIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){.glint{display:none}}
/* каркас листа (.gt.sw-skel): стрелки свертки видны, неактивны (курсор обычный); наведения на строку нет */
.gt.sw-skel .tg{cursor:default}
.gt.sw-skel .r-day:hover > div{box-shadow:none}
/* появление каркаса — opacity 0 → 1 за 0,12 с (README п. 2.3; класс на #content ставит app.js) */
.tablewrap.sw-shell{animation:swShell .12s ease-out both}
@keyframes swShell{from{opacity:0}to{opacity:1}}
/* числа поверх каркаса (README п. 2.4; grid.js gridMountOverShell): под новым окном 0,18 с — копия окна с полосками (.gt-under), новое окно
   (тело и строки «Прогноз» / «Итого») проявляется одним слоем, без сдвига */
.gt > .gt-under{position:absolute;left:0;z-index:1;pointer-events:none}
.gt .gt-ft > .gt-under{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:0;pointer-events:none}
.gt.reveal > .gt-body{position:relative;z-index:3;animation:gtReveal .18s ease-out both}
.gt.reveal .gt-ft > .r{position:relative;z-index:1;animation:gtReveal .18s ease-out both}
@keyframes gtReveal{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){.tablewrap.sw-shell,.gt.reveal > .gt-body,.gt.reveal .gt-ft > .r{animation:none}}
