/* 08 · Рейтинг: таблица 50 компаний, лидеры по блокам, чувствительность, цены */

/* --- Панель управления таблицей --- */
.rt-controls{
  display:grid;gap:.85rem;align-items:end;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--pad-block-sm);margin-bottom:1rem;
}
@media (min-width:768px){.rt-controls{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto}}
.rt-field{display:grid;gap:.35rem;min-width:0}
.rt-field label{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.rt-input,.rt-select{
  width:100%;min-height:48px;padding:.6rem .85rem;font-size:var(--fs-sm);
  background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--r-xs);color:var(--ink);
}
.rt-input:focus-visible,.rt-select:focus-visible{border-color:var(--blue-700)}
.rt-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.rt-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3)}
.rt-count b{color:var(--blue-800);font-size:1.15em}

/* --- Таблица рейтинга --- */
.rt-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}
.rt-scroll{max-height:min(78vh,860px);overflow:auto}
.rt{min-width:940px;font-size:var(--fs-sm)}
.rt thead th{
  position:sticky;top:0;z-index:3;background:var(--bg-soft);
  font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-3);border-bottom:2px solid var(--line-strong);
  padding:.7em .8em;text-align:left;white-space:nowrap;cursor:pointer;user-select:none;
}
.rt thead th[data-sort]:hover{background:var(--blue-50);color:var(--blue-800)}
.rt thead th[aria-sort="ascending"],.rt thead th[aria-sort="descending"]{color:var(--blue-800);background:var(--blue-50)}
.rt thead th[aria-sort="ascending"]::after{content:'▲';font-size:.7em;margin-left:.35em}
.rt thead th[aria-sort="descending"]::after{content:'▼';font-size:.7em;margin-left:.35em}
.rt thead th.rt__num{text-align:right}
.rt tbody tr{--row-bg:var(--surface)}
.rt tbody tr:nth-child(even){--row-bg:var(--bg-soft)}
.rt tbody tr:hover{--row-bg:var(--blue-50)}
.rt tbody td,.rt tbody th{background:var(--row-bg);border-bottom:1px solid var(--line);padding:.7em .8em;vertical-align:middle;text-align:left}
.rt .cell-rank{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--line)}
.rt thead .cell-rank{z-index:4}
.rt__rank{width:4.5rem;text-align:center}
.rt__rank .num{font-size:1.05rem;color:var(--blue-800)}
.rt__name{font-weight:600;color:var(--ink);min-width:15rem}
.rt__meta{display:block;font-size:var(--fs-xs);color:var(--ink-3);font-weight:400;margin-top:.15rem;line-height:1.4}
.rt__site{color:var(--blue-600);text-decoration:underline;text-underline-offset:2px}
.rt__site:hover{color:var(--blue-800)}
.rt__nos{color:var(--ink-3);font-style:italic}
.rt__b,.rt__total{text-align:right;white-space:nowrap}
.rt__b{color:var(--ink-2)}
.rt__total{font-weight:700;color:var(--blue-800);font-size:1.05rem}
.rt tbody tr[data-rank="1"] .rt__total,.rt tbody tr[data-rank="2"] .rt__total,.rt tbody tr[data-rank="3"] .rt__total{color:var(--green-700)}
.rt-empty{
  display:none;padding:1.6rem;text-align:center;font-size:var(--fs-sm);color:var(--ink-3);
  border-top:1px solid var(--line);
}
[data-rating][data-empty="true"] .rt-empty{display:block}
.rt__hint{padding:.8rem 1rem;font-size:var(--fs-xs);color:var(--ink-3);background:var(--bg-soft);border-top:1px solid var(--line)}

/* --- Лидеры по блокам --- */
.leader-card{display:flex;gap:1rem;align-items:flex-start}
.leader-card__code{
  font-family:var(--font-display);font-weight:800;font-size:2rem;line-height:1;
  color:var(--blue-100);flex:0 0 auto;
}
.leader-card__name{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h4);color:var(--blue-900);line-height:1.25}
.leader-card__score{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--green-700);font-weight:600;margin-top:.2rem}
.leader-card__bar{height:8px;border-radius:var(--r-pill);background:var(--blue-50);overflow:hidden;margin-top:.6rem}
.leader-card__bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue-700),var(--blue-500) 60%,var(--green-600));width:var(--w,0%)}
.leader-card__note{font-size:var(--fs-xs);color:var(--ink-3);margin-top:.5rem}

/* --- Чувствительность --- */
.sens-table .num{text-align:right}
.sens-table .delta{font-size:var(--fs-xs)}
.sens-table .up{color:var(--green-700)}
.sens-table .down{color:var(--warn-700)}

/* --- Ориентиры цен --- */
.price-table td:last-child,.price-table th:last-child{text-align:right;white-space:nowrap}
.price-table .num{color:var(--blue-800)}
.price-note{
  display:flex;gap:.8rem;align-items:flex-start;background:var(--warn-100);border:1px solid #F3C9B4;
  border-radius:var(--r-md);padding:var(--pad-block-sm);font-size:var(--fs-sm);color:var(--warn-800);margin-top:1rem;
}
.price-note .icon{width:1.5em;height:1.5em;flex:0 0 auto;margin-top:.1rem}

/* адаптив шапки: без горизонтального переполнения на планшетных ширинах */
@media (max-width:1119px){.header__inner{flex-wrap:wrap;gap:10px 14px}.header__actions{flex:0 0 auto;min-width:0;flex-wrap:wrap;justify-content:flex-end}.header__nav{min-width:0}}
