/* «Отчёт ROI» (static/roi.js). Каркас — классы «Динамики финансов» (fd-*) и «Анализа компании»
   (ca-*): здесь только своё — две панели рядом, блоки динамики «узел × меры», выбранная строка.
   Цвета — как на странице PBI «Отчёт ROI»: голубые полосы, зелёный/розовый порог ROI и маржи,
   сиреневый «Оборот себеса/дн», белые шапки таблиц, голубые плашки заголовков блоков. */
.ro-modal{--ro-bar:#9dc3e6;--ro-good:#a9d18e;--ro-bad:#f4b6b6;--ro-pur:#c9b1e4;--ro-band:#cfe2f3;--ro-sel:#e8f1fc}
/* панель фильтров: все поля одной высоты (28 px), шрифта (12 px) и ширины — ряды ровные */
.ro-modal .fd-bar{align-items:flex-end;gap:8px 12px}
.ro-modal .fd-bar .fd-field{width:150px;min-width:150px}
.ro-modal .fd-bar .fd-field.ro-wide2{width:312px;min-width:312px}
.ro-modal .fd-bar .fd-dates{display:flex;gap:12px}
.ro-modal .fd-bar .fd-dates input{width:150px}
.ro-modal .fd-bar .ctrl-input,.ro-modal .fd-bar select,.ro-modal .fd-bar .msel-btn,.ro-modal .fd-bar .ro-reset{
  box-sizing:border-box;height:28px;font-size:12px;line-height:26px;padding:0 8px;border:1px solid var(--line-strong);
  border-radius:4px;background:#fff;color:var(--text)}
.ro-modal .fd-bar .msel{width:100%;min-width:0}
.ro-modal .fd-bar .msel-btn{width:100%;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ro-modal .fd-bar .msel-btn.on{border-color:var(--accent);background:var(--ro-sel)}
.ro-modal .fd-bar .ro-reset{width:100%;cursor:pointer}
.ro-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1px;background:var(--line)}
.ro-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel)}
.ro-ptitle{font-size:13px;font-weight:700;text-align:center;padding:6px 8px;background:var(--ro-band);border-bottom:1px solid var(--line-strong)}
/* шапки таблиц — белые с жирным текстом, как в визуалах PBI */
.ro-modal .fd-table thead th{background:#fff;color:#1a1f2b;font-weight:700;border-bottom:2px solid var(--line-strong)}
.ro-panel .fd-scroll{flex:1;min-height:0}
/* динамика: узел — первая колонка на весь блок мер, мера — вторая */
.ro-dyntab td{font-variant-numeric:tabular-nums}
.ro-dyntab .fd-c1{width:150px;min-width:150px;max-width:150px}
.ro-dyntab .ro-mname{text-align:left;color:#394150;min-width:140px;position:sticky;left:150px;z-index:2;background:var(--panel)}
.ro-dyntab thead .ro-mname{z-index:4;background:#fff}
.ro-dyntab td.ro-node{vertical-align:top;font-weight:600;background:#fff}
.ro-dyntab tr.ro-blockend td{border-bottom:1px solid var(--line-strong)}
.ro-dyntab tr.fd-grand td{font-weight:700;background:#f7f9fb}
.ro-dyntab th:not(.fd-c1):not(.ro-mname){min-width:92px}
.ro-dyntab td.ca-bad,.ro-table td.ca-bad{background:var(--ro-bad) !important}
.ro-dyntab td.ca-good,.ro-table td.ca-good{background:var(--ro-good) !important}
.ro-pur{background:var(--ro-pur) !important}
/* таблица сравнения: строка — фильтр для динамики */
.ro-table .fd-c1{width:230px;min-width:230px;max-width:230px}
.ro-table td.ro-pick{cursor:pointer}
.ro-table td.ro-pick:hover{text-decoration:underline}
.ro-table tr.ro-selrow td.fd-c1{background:var(--ro-sel);box-shadow:inset 3px 0 0 var(--accent)}
@media (max-width:1100px){
  .ro-main{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr)}
}
@media (max-width:700px){
  .ro-dyntab .fd-c1,.ro-table .fd-c1{width:140px;min-width:140px;max-width:140px}
  .ro-dyntab .ro-mname{left:140px;min-width:120px}
}
