/* «Динамика финансов» (static/findyn.js). Окно на весь экран: шапка и фильтры неподвижны,
   прокручивается только матрица; колонки «узел» и «метрика» и строка периодов прилипают. */
.fd-modal{z-index:19;padding:12px}                 /* карточка товара (.modal, z 20) открывается поверх */
.fd-shell{width:98vw;height:94vh;max-width:none;padding:0;margin:0;overflow:hidden;display:flex;flex-direction:column}
.fd-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line)}
.fd-title h2{margin:0;font-size:17px}
.fd-fresh{font-size:var(--fs-cap);min-height:14px}
.fd-mp{display:flex;gap:6px}
.fd-mpchip{min-width:64px}
.fd-status{min-width:220px;text-align:right;font-size:var(--fs-cap)}
.fd-bar{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);background:var(--panel2)}
.fd-field{display:flex;flex-direction:column;gap:2px;min-width:120px}
.fd-field .lbl{font-size:var(--fs-cap);color:var(--muted);font-weight:600}
.fd-field .msel{position:relative;min-width:140px;margin:0}
/* кнопка списка — той же высоты, что поле даты и select (32px): подписи и поля в ряд, без ступенек */
.fd-field .msel-btn{height:32px;padding:0 9px;box-sizing:border-box}
.fd-wide .msel{min-width:190px}
.fd-dates{display:flex;gap:4px}
.fd-dates input{width:128px}
.fd-body{flex:1;display:flex;min-height:0}
.fd-side{width:230px;flex:none;overflow-y:auto;border-right:1px solid var(--line);padding:var(--sp-2) var(--sp-3);background:var(--panel)}
.fd-block{margin-bottom:var(--sp-3)}
.fd-block h4{margin:4px 0 6px;font-size:13px}
.fd-block .fd-field{margin-bottom:6px}
.fd-hier{display:flex;align-items:center;gap:6px;font-size:13px;padding:2px 0;cursor:pointer}
.fd-ord{margin-left:auto;background:var(--accent);color:#fff;border-radius:9px;font-size:10px;min-width:17px;text-align:center;padding:0 5px}
.fd-hint{font-size:var(--fs-cap);margin-top:4px}
.fd-main{flex:1;min-width:0;display:flex;flex-direction:column}
.fd-scroll{flex:1;overflow:auto}
.fd-empty{padding:var(--sp-5)}
.fd-table{border-collapse:separate;border-spacing:0;font-size:var(--fs-base);width:max-content}
.fd-table th,.fd-table td{padding:2px 8px;border-bottom:1px solid #eef0f3;white-space:nowrap;text-align:right;background:var(--panel)}
.fd-table thead th{position:sticky;top:0;z-index:3;background:#dcebf7;font-weight:700;border-bottom:1px solid var(--line-strong)}
/* ширина первой колонки фиксирована: от неё отсчитывается прилипание второй */
.fd-table .fd-c1{position:sticky;left:0;z-index:2;text-align:left;vertical-align:top;width:260px;min-width:260px;max-width:260px;white-space:normal;border-right:1px solid var(--line)}
.fd-table .fd-c2{position:sticky;left:260px;z-index:2;text-align:left;min-width:190px;font-weight:600;color:#394150;border-right:1px solid var(--line)}
.fd-table thead .fd-c1,.fd-table thead .fd-c2{z-index:4}
.fd-table .fd-tot{font-weight:700;background:#f7f9fb}
.fd-table tr.fd-first td{border-top:1px solid var(--line-strong)}
.fd-table td.fd-c1{background:#fff}
/* подсветка строк — как в PBI, но приглушённо: цифры читаются, цвет подсказывает статью */
.fd-g1 td:not(.fd-c1){background:#b9dca6;font-weight:700}
.fd-g2 td:not(.fd-c1){background:#dcefd2;font-weight:700}
.fd-b1 td:not(.fd-c1){background:#dbe8f7;font-weight:700}
.fd-b2 td:not(.fd-c1){background:#bcd3ef;font-weight:700}
.fd-y1 td:not(.fd-c1){background:#fbe7a6;font-weight:700}
.fd-tog{width:20px;height:20px;line-height:16px;padding:0;margin-right:6px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;cursor:pointer;font-weight:700;vertical-align:top}
.fd-tog-sp{display:inline-block;width:26px}
.fd-lab{display:inline-flex;gap:6px;align-items:flex-start;vertical-align:top}
.fd-img{width:34px;height:45px;object-fit:cover;border-radius:4px;flex:none}
.fd-sub{font-size:var(--fs-cap);white-space:normal;max-width:220px}
.fd-more td{background:#fafbfc}

/* «Google формат»: метрики столбцами, дат в столбцах нет — период целиком из фильтров.
   Заголовок столбца переносится по словам (иначе «Итого к оплате за вычетом» растягивает
   таблицу), первая колонка с иерархией прилипает слева. */
.fd-tcols th.fd-mh{white-space:normal;width:96px;min-width:96px;vertical-align:bottom;font-size:var(--fs-cap);line-height:1.2}
.fd-tcols .fd-c1{width:320px;min-width:320px;max-width:320px}
.fd-tcols tr.fd-grand td{font-weight:700;background:#f7f9fb}
.fd-tcols tr:hover td:not(.fd-c1){background:#f2f7fb}
.fd-tcols th.fd-c-g1{background:#b9dca6}.fd-tcols th.fd-c-g2{background:#dcefd2}
.fd-tcols th.fd-c-b1{background:#dbe8f7}.fd-tcols th.fd-c-b2{background:#bcd3ef}
.fd-tcols th.fd-c-y1{background:#fbe7a6}
.fd-tcols td.fd-c-g1,.fd-tcols td.fd-c-g2{background:#f4faf0}
.fd-tcols td.fd-c-b1,.fd-tcols td.fd-c-b2{background:#f2f6fc}
.fd-tcols td.fd-c-y1{background:#fdf8e8}
/* «Генеральный дашборд»: шапка в два ряда — площадка (ozon · wb · Всего) над мерами.
   Оба ряда прилипают: второй — ниже первого на его высоту. */
.fd-gdt .fd-gd-h1 th{height:22px;box-sizing:border-box}
.fd-gdt .fd-gd-h2 th{top:22px}
.fd-gdt th.fd-gd-grp{text-align:center;background:#cfe2f3;font-size:var(--fs-cap);text-transform:lowercase}
.fd-gdt .fd-gd-first{border-left:1px solid var(--line-strong)}
/* «Дефицит»: нижняя сводка по направлениям под верхним деревом (fdDeficitSummaryHtml). */
.fd-sub-title{margin:20px 8px 6px;font-size:13px;font-weight:700;color:var(--muted)}

@media (max-width:700px){
  .fd-modal{padding:0}
  .fd-shell{width:100vw;height:100vh;border-radius:0}
  .fd-head{flex-wrap:wrap;gap:var(--sp-2)}
  .fd-status{min-width:0;text-align:left}
  .fd-body{flex-direction:column}
  .fd-side{width:auto;max-height:32vh;border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width:900px){
  .fd-side{width:180px}
  .fd-table .fd-c1{width:160px;min-width:160px;max-width:160px}
  .fd-table .fd-c2{left:160px;min-width:150px}
}
