/* ==========================================================================
   kredity — «КредитИнформ». Компоненты дизайн-системы (05-design.md).
   Один класс — один стиль везде; вариации — модификаторы «--».
   Состояния: aria-pressed, aria-selected, aria-sort, aria-expanded, .is-open.
   Хуки скрипта — только data-атрибуты (см. комментарий в начале site.js).

   СПИСОК КОМПОНЕНТОВ
   Кнопка ............... .kr-btn  --primary --secondary --text --on-dark  --s --l --block
   Плитка логотипа ...... .kr-logo  --s --l   (.kr-logo__letter, img)
   Бейдж ................ .kr-badge  --info --ok --warn --lic
   Золотая плашка ....... .kr-max   (только рекорд ставки)
   Ставка «до / от» ..... .kr-rate  --l --m   (.kr-rate__pre + .kr-num)
   Тройка «цифра-условия-источник» .kr-fact (__label __value __cond __src)
   Тёмная шапка панели .. .kr-panel, .kr-panel__head, .kr-panel__body
   Табло лучших ставок... .kr-board (__head __item --extra __row __name __sub __val --max --none --stack __flag __who __bank __cond __key __more)
   Спарклайн ............ .kr-spark  --s ;  большой график .kr-keychart
   Сегмент режима ....... .kr-seg (__btn)
   Поле ................. .kr-field (__label __box __input __unit __hint __error), .kr-range (__fill),
                          .kr-select, .kr-check, .kr-toggle (__track __thumb __text)
   Калькулятор .......... .kr-calc (__body __group __fields __result __total __who __cond __extra __tax __next __top __foot) --compact
   График по месяцам .... .kr-sched (__legend __table __bar __total __more)
   Вкладки .............. .kr-tabs (__tab __n)
   Чипы ................. .kr-chips, .kr-chip  --link ; радио-чип .kr-radio-chip
   Фильтры .............. .kr-filters (__bar __panel __row __group __label __toggles __num __more __foot), .kr-toolbar (__title __count __note), .kr-hint, .kr-terms (__label __body __list __btn __more)
   Таблица рейтинга ..... .kr-table-wrap, .kr-table (__rank __bank __key __second __cond __calc __terms __score __actions __sort)  --key-mark,
                          строка маркетплейса .kr-table__row--market; вид таблицы — атрибут data-view и ячейки data-v,
                          ячейка банка .kr-bank (__name __short __lic __tags); «Показать ещё» .kr-more; пусто .kr-empty
   Оценка ............... .kr-score  --s --none ; разбор .kr-score__rows/.kr-score__row ; шкала .kr-scale
   Раскрытие ............ .kr-disclosure
   Карточка компании .... .kr-card (__head __facts __foot), сетка .kr-cards
   Панель сравнения ..... .kr-cmpbar (__items __item __actions) ; кнопка перехода .kr-gobar ; таблица .kr-cmp
   Пары сравнения ....... .kr-pairs, .kr-pair
   FAQ .................. .kr-faq (__item __q __a)
   Хлебные крошки ....... .kr-crumbs
   Автор и методика ..... .kr-trust (__part __who __dl __crit)
   Текст ................ .kr-prose ; врезка .kr-note --info --warn --max ; «Коротко» .kr-brief ; цитата .kr-quote
   Карточка статьи ...... .kr-posts, .kr-post (__meta __rubric __title __text) --lead
   Рынок в цифрах ....... .kr-stat (__cell __label __value)
   Разделы сайта ........ .kr-seclist (__row __name __text __n __best)
   Списки ссылок ........ .kr-links (__group __title __list), .kr-link (__name __n)
   Плюсы и минусы ....... .kr-proscons (__col __title) ; шаги .kr-steps ; подбор .kr-quiz (__opt)
   Таблица сведений ..... .kr-dtable-wrap, .kr-dtable  (условия построчно, «кто не прошёл»)
   Ответы для новичка ... .kr-explain (__item)
   Критерии методики .... .kr-crit (__row __name __w __how)
   ========================================================================== */

/* ---------- Кнопка ---------- */
.kr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--kr-sp-8);
  min-height: var(--kr-control-h); padding: 0 var(--kr-sp-16);
  border: var(--kr-bw) solid transparent; border-radius: var(--kr-r-1);
  font-family: var(--kr-font-body); font-size: var(--kr-fs-ui); line-height: var(--kr-lh-ui); font-weight: var(--kr-fw-semibold);
  text-decoration: none; text-align: center; white-space: nowrap; cursor: pointer;
  transition: background-color var(--kr-t), color var(--kr-t), border-color var(--kr-t);
}
.kr-btn:hover { text-decoration: none; }
.kr-btn--s { min-height: var(--kr-control-h-s); padding: 0 var(--kr-sp-12); font-size: var(--kr-fs-small); }
.kr-btn--l { min-height: var(--kr-control-h-l); }
.kr-btn--block { display: flex; width: 100%; }

.kr-btn--primary { background: var(--kr-accent); color: var(--kr-on-accent); }
.kr-btn--primary:hover { background: var(--kr-accent-deep); color: var(--kr-on-accent); }
.kr-btn--primary:active { background: var(--kr-accent-press); color: var(--kr-on-accent); }
.kr-btn--primary:disabled, .kr-btn--primary[aria-disabled="true"] { background: var(--kr-bg-3); color: var(--kr-text-muted); cursor: not-allowed; }

.kr-btn--secondary { background: transparent; color: var(--kr-text); border: var(--kr-border-ink); }
.kr-btn--secondary:hover { background: var(--kr-bg-2); color: var(--kr-text); }
.kr-btn--secondary:active { background: var(--kr-bg-3); color: var(--kr-text); }
.kr-btn--secondary:disabled, .kr-btn--secondary[aria-disabled="true"] { border-color: var(--kr-line); color: var(--kr-text-muted); cursor: not-allowed; }

.kr-btn--text {
  min-height: 44px; padding: 0; border: 0; background: none; color: var(--kr-accent); white-space: normal; text-align: left;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}
.kr-btn--text:hover { color: var(--kr-accent-deep); text-decoration: underline; text-decoration-thickness: 2px; }
.kr-btn--text:active { color: var(--kr-accent-press); }
.kr-btn--text:disabled { color: var(--kr-text-muted); text-decoration: none; cursor: not-allowed; }

.kr-btn--on-dark { background: var(--kr-on-dark); color: var(--kr-dark); }
.kr-btn--on-dark:hover { background: var(--kr-surface); color: var(--kr-dark); }
.kr-btn--on-dark:active { background: var(--kr-bg-3); color: var(--kr-dark); }
.kr-btn--on-dark:disabled, .kr-btn--on-dark[aria-disabled="true"] { background: var(--kr-dark-2); color: var(--kr-on-dark-muted); cursor: not-allowed; }
.kr-btn--ghost-dark { color: var(--kr-on-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; padding: 0 var(--kr-sp-8); }
.kr-btn--ghost-dark:hover { color: var(--kr-on-dark); text-decoration-thickness: 2px; }

/* ---------- Плитка логотипа ---------- */
.kr-logo {
  position: relative; overflow: hidden; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--kr-logo-m); height: var(--kr-logo-m);
  background: var(--kr-surface); border: var(--kr-border-strong); border-radius: var(--kr-r-1);
}
.kr-logo__letter { font-family: var(--kr-font-heading); font-weight: var(--kr-fw-bold); font-size: 18px; line-height: 1; color: var(--kr-text); }
.kr-logo img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 6px; object-fit: contain; background: var(--kr-surface); }
.kr-logo--s { width: var(--kr-logo-s); height: var(--kr-logo-s); }
.kr-logo--s .kr-logo__letter { font-size: 15px; }
.kr-logo--s img { padding: 5px; }
.kr-logo--l { width: var(--kr-logo-l); height: var(--kr-logo-l); }
.kr-logo--l .kr-logo__letter { font-size: 24px; }
.kr-logo--l img { padding: 12px; }

/* ---------- Бейдж ---------- */
.kr-badge {
  display: inline-flex; align-items: center; gap: var(--kr-sp-4);
  min-height: 22px; padding: 0 var(--kr-sp-8);
  border: var(--kr-border-strong); border-radius: var(--kr-r-1);
  font-size: var(--kr-fs-micro); line-height: 1.3; font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted);
  background: transparent;
}
.kr-badge--info { background: var(--kr-accent-tint); border-color: var(--kr-accent-tint); color: var(--kr-accent-deep); }
.kr-badge--ok { background: var(--kr-success-tint); border-color: var(--kr-success-tint); color: var(--kr-success); }
.kr-badge--warn { background: var(--kr-warning-tint); border-color: var(--kr-warning-tint); color: var(--kr-warning); }
.kr-badge--lic .kr-num { font-size: var(--kr-fs-num-s); }

/* ---------- Золотая плашка: только рекорд ставки ---------- */
.kr-max {
  display: inline-flex; align-items: center; gap: var(--kr-sp-4);
  height: var(--kr-max-h); padding: var(--kr-max-pad);
  background: var(--kr-accent-2); color: var(--kr-on-accent-2);
  font-size: var(--kr-fs-caps); line-height: 1; font-weight: var(--kr-fw-bold);
  letter-spacing: var(--kr-ls-caps); text-transform: uppercase; white-space: nowrap;
}
.kr-max .kr-icon { width: 14px; height: 14px; }

/* ---------- Ставка: «до» или «от» и число ---------- */
.kr-rate { display: inline-flex; align-items: baseline; gap: var(--kr-sp-6); white-space: nowrap; }
.kr-rate__pre { font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-rate .kr-num { font-size: var(--kr-fs-num); }
.kr-rate--m .kr-num { font-size: var(--kr-fs-num-m); font-weight: var(--kr-fw-num-strong); }
.kr-rate--l .kr-num { font-size: var(--kr-fs-num-l); font-weight: var(--kr-fw-num-strong); letter-spacing: var(--kr-ls-total); line-height: 1.15; }
.kr-dash { color: var(--kr-text-muted); }

/* ---------- Тройка «значение, условия, источник» ---------- */
.kr-fact { display: grid; gap: var(--kr-sp-4); min-width: 0; }
.kr-fact__label { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-fact__value { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kr-sp-6) var(--kr-sp-12); }
.kr-fact__cond { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-fact__src { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }

/* ---------- Панель с тёмно-синей шапкой ---------- */
.kr-panel { background: var(--kr-surface); border: var(--kr-border-ink); }
.kr-panel__head {
  display: flex; align-items: center; justify-content: space-between; gap: var(--kr-sp-12);
  min-height: var(--kr-panel-head-h); padding: var(--kr-sp-8) var(--kr-sp-16);
  background: var(--kr-dark); color: var(--kr-on-dark);
}
.kr-panel__title { font-family: var(--kr-font-body); font-size: var(--kr-fs-caps); line-height: 1.3; font-weight: var(--kr-fw-bold); letter-spacing: var(--kr-ls-caps); text-transform: uppercase; }
.kr-panel__meta { font-size: var(--kr-fs-micro); color: var(--kr-on-dark-muted); white-space: nowrap; }
.kr-panel__meta a { color: var(--kr-accent-on-dark); }
.kr-panel__body { padding: var(--kr-sp-16); }

/* ---------- Табло лучших ставок ---------- */
.kr-board { background: var(--kr-dark); color: var(--kr-on-dark); display: flex; flex-direction: column; min-width: 0; --kr-board-col: calc(var(--kr-board-val-w) + 32px); }
.kr-board a { color: inherit; text-decoration: none; }
.kr-board__head {
  display: flex; align-items: center; justify-content: space-between; gap: var(--kr-sp-12);
  min-height: var(--kr-panel-head-h); padding: var(--kr-sp-8) var(--kr-sp-16);
  border-bottom: var(--kr-border-dark);
}
.kr-board__title { font-family: var(--kr-font-body); color: var(--kr-on-dark); }
.kr-board__meta { font-size: var(--kr-fs-micro); color: var(--kr-on-dark-muted); white-space: nowrap; }
.kr-board__meta .kr-num, .kr-board__sub .kr-num { font-size: inherit; }
.kr-board__meta a { color: var(--kr-accent-on-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; margin-left: var(--kr-sp-8); }
.kr-board__rows { flex: 1 1 auto; display: flex; flex-direction: column; }
.kr-board__item { border-bottom: var(--kr-border-dark); flex: 1 1 auto; display: flex; }
.kr-board__row {
  flex: 1 1 auto;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--kr-sp-6) var(--kr-sp-12);
  min-height: var(--kr-board-row-h); padding: var(--kr-sp-12) var(--kr-sp-16);
  transition: background-color var(--kr-t);
}
.kr-board__row:hover { background: var(--kr-dark-2); color: var(--kr-on-dark); }
.kr-board__row:hover .kr-board__val { border-color: var(--kr-on-dark-muted); }
.kr-board__name { min-width: 0; display: grid; gap: var(--kr-sp-2); }
.kr-board__sec { font-size: var(--kr-fs-ui); line-height: 1.3; font-weight: var(--kr-fw-semibold); }
.kr-board__sub { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-on-dark-muted); }
.kr-board__sub .kr-num { font-size: inherit; }
.kr-board__valwrap { display: grid; justify-items: stretch; gap: var(--kr-sp-4); min-width: var(--kr-board-val-w); }
.kr-board__flag { font-size: 10px; line-height: 1.1; font-weight: var(--kr-fw-bold); letter-spacing: 0.04em; text-transform: uppercase; color: var(--kr-accent-2); text-align: right; white-space: nowrap; }
.kr-board__val {
  display: flex; align-items: baseline; justify-content: flex-end; gap: var(--kr-sp-6);
  padding: var(--kr-sp-4) var(--kr-sp-8);
  background: var(--kr-dark-2); border: var(--kr-border-dark);
  transition: border-color var(--kr-t);
}
.kr-board__pre { font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-on-dark-muted); }
.kr-board__val .kr-num { font-size: var(--kr-fs-board); font-weight: var(--kr-fw-num-strong); letter-spacing: var(--kr-ls-total); line-height: 1.2; }
.kr-board__val--max { background: var(--kr-accent-2); border-color: var(--kr-accent-2); color: var(--kr-on-accent-2); }
.kr-board__val--max .kr-board__pre { color: var(--kr-on-accent-2); }
.kr-board__val--none .kr-num { color: var(--kr-on-dark-muted); }
.kr-board__val--stack { display: grid; justify-items: end; gap: 0; }
.kr-board__val--stack .kr-board__pre { line-height: 1.2; }
.kr-board__who { grid-column: 1 / -1; min-width: 0; display: grid; gap: var(--kr-sp-2); }
.kr-board__bank { font-size: var(--kr-fs-small); line-height: 1.3; font-weight: var(--kr-fw-semibold); }
.kr-board__cond { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-on-dark-muted); }
.kr-board__go { display: none; color: var(--kr-on-dark-muted); }
.kr-board__item--extra { display: none; }
.kr-board.is-all .kr-board__item--extra { display: flex; }
.kr-board__more {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  min-height: 48px; padding: var(--kr-sp-8) var(--kr-sp-16);
  color: var(--kr-accent-on-dark); font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold);
  border-bottom: var(--kr-border-dark); text-align: left;
}
.kr-board__more:hover { background: var(--kr-dark-2); }
.kr-board.is-all .kr-board__more { display: none; }
.kr-board__key {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--kr-sp-6) var(--kr-sp-16);
  padding: var(--kr-sp-12) var(--kr-sp-16); background: var(--kr-dark-2);
}
.kr-board__key-label { font-size: var(--kr-fs-cond); line-height: 1.3; color: var(--kr-on-dark-muted); }
.kr-board__key-val { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--kr-sp-4) var(--kr-sp-12); }
.kr-board__key-val .kr-num--key { font-size: 20px; font-weight: var(--kr-fw-num-strong); letter-spacing: var(--kr-ls-total); }
.kr-board__key-since { font-size: var(--kr-fs-micro); color: var(--kr-on-dark-muted); }
.kr-board__key-text { grid-column: 1 / -1; font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-on-dark-muted); }
.kr-board__key-text a { color: var(--kr-accent-on-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-board__key-text a:hover { color: var(--kr-on-dark); }

@media (min-width: 768px) {
  .kr-board__row {
    grid-template-columns: minmax(0, 1.2fr) var(--kr-board-col) minmax(0, 2fr) 24px;
    gap: var(--kr-sp-16); padding: var(--kr-sp-8) var(--kr-sp-16);
  }
  .kr-board__item--extra .kr-board__row { padding-block: var(--kr-sp-4); }
  .kr-board__item--extra .kr-board__val { padding-block: 0; }
  .kr-board__item--extra .kr-board__val .kr-num { font-size: var(--kr-fs-num-m); }
  .kr-board__valwrap { min-width: 0; }
  .kr-board__who { grid-column: auto; }
  .kr-board__key { grid-template-columns: auto auto minmax(0, 1fr); gap: var(--kr-sp-24); padding-block: var(--kr-sp-8); }
  .kr-board__key-text { grid-column: auto; }
  .kr-board__go { display: block; }
  .kr-board__item--extra { display: flex; }
  .kr-board__more { display: none; }
  .kr-board__flag { text-align: left; }
}

/* ---------- Спарклайн ключевой ставки ---------- */
.kr-spark { width: var(--kr-spark-w); height: var(--kr-spark-h); flex: none; color: var(--kr-chart-ink); overflow: visible; }
.kr-spark polyline { fill: none; stroke: currentColor; stroke-width: var(--kr-spark-stroke); stroke-linejoin: miter; shape-rendering: crispEdges; }
.kr-spark rect { fill: currentColor; }
.kr-spark--s { width: var(--kr-spark-w-s); height: var(--kr-spark-h-s); }
.kr-on-dark .kr-spark, .kr-topline .kr-spark, .kr-board .kr-spark { color: var(--kr-on-dark); }

.kr-keychart { position: relative; height: 120px; border-bottom: var(--kr-border-ink); border-left: var(--kr-border); }
.kr-keychart svg { width: 100%; height: 100%; }
.kr-keychart polyline { fill: none; stroke: var(--kr-chart-ink); stroke-width: 2px; vector-effect: non-scaling-stroke; stroke-linejoin: miter; }
.kr-keychart__label { position: absolute; font-size: var(--kr-fs-micro); color: var(--kr-text-muted); background: var(--kr-bg); padding: 0 var(--kr-sp-4); }
@media (min-width: 768px) { .kr-keychart { height: 160px; } }

/* ---------- Сегмент режима ---------- */
.kr-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: var(--kr-border-ink); border-radius: var(--kr-r-1); }
.kr-seg__btn {
  min-height: var(--kr-control-h); padding: 0 var(--kr-sp-8);
  font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); color: var(--kr-text); background: var(--kr-surface);
  transition: background-color var(--kr-t), color var(--kr-t);
}
.kr-seg__btn + .kr-seg__btn { border-left: var(--kr-border-ink); }
.kr-seg__btn:hover { background: var(--kr-bg-2); }
.kr-seg__btn[aria-pressed="true"] { background: var(--kr-dark); color: var(--kr-on-dark); }

/* ---------- Поля ---------- */
.kr-field { display: grid; gap: var(--kr-sp-6); min-width: 0; }
.kr-field__label { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-field__box {
  display: flex; align-items: center; min-height: var(--kr-control-h);
  background: var(--kr-surface); border: var(--kr-border-strong); border-radius: var(--kr-r-1);
  transition: border-color var(--kr-t);
}
.kr-field__box:focus-within { border-color: var(--kr-accent); outline: 1px solid var(--kr-accent); outline-offset: 0; }
.kr-field__input {
  flex: 1 1 auto; min-width: 0; width: 100%; height: calc(var(--kr-control-h) - 2px);
  padding: 0 var(--kr-sp-12); border: 0; background: transparent; outline: none;
  font-size: var(--kr-fs-input);
}
.kr-field__input:focus-visible { outline: none; }
.kr-field__unit { padding-right: var(--kr-sp-12); font-size: var(--kr-fs-small); color: var(--kr-text-muted); white-space: nowrap; }
.kr-field__hint { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
.kr-field__error { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-error); }
.kr-field.is-error .kr-field__box { border-color: var(--kr-error); }

.kr-range { position: relative; height: 24px; }
.kr-range::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 4px; background: var(--kr-bg-3); }
.kr-range__fill { position: absolute; left: 0; top: 10px; height: 4px; width: var(--kr-p, 0%); background: var(--kr-accent); }
.kr-range input {
  position: absolute; inset: 0; width: 100%; height: 24px; margin: 0; padding: 0;
  -webkit-appearance: none; appearance: none; background: transparent; cursor: pointer;
}
.kr-range input::-webkit-slider-runnable-track { height: 24px; background: transparent; }
.kr-range input::-moz-range-track { height: 24px; background: transparent; }
.kr-range input::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 24px; height: 24px; margin-top: 0;
  background: var(--kr-accent); border: 0; border-radius: var(--kr-r-1);
}
.kr-range input::-moz-range-thumb { width: 24px; height: 24px; background: var(--kr-accent); border: 0; border-radius: var(--kr-r-1); }
.kr-range input:hover::-webkit-slider-thumb { background: var(--kr-accent-deep); }
.kr-range input:hover::-moz-range-thumb { background: var(--kr-accent-deep); }
.kr-range input:focus-visible { outline: var(--kr-focus); outline-offset: var(--kr-focus-offset); }

.kr-select { position: relative; display: block; min-width: 0; }
.kr-select select {
  -webkit-appearance: none; appearance: none; width: 100%; min-height: var(--kr-control-h);
  padding: 0 var(--kr-sp-40) 0 var(--kr-sp-12);
  background: var(--kr-surface); border: var(--kr-border-strong); border-radius: var(--kr-r-1);
  font-size: var(--kr-fs-input); line-height: 1.2; text-overflow: ellipsis; cursor: pointer;
}
.kr-select select:focus-visible { outline: none; border-color: var(--kr-accent); outline: 1px solid var(--kr-accent); }
.kr-select .kr-icon { position: absolute; right: var(--kr-sp-12); top: 50%; margin-top: -10px; pointer-events: none; }

.kr-check { display: inline-flex; align-items: center; gap: var(--kr-sp-8); min-height: 44px; font-size: var(--kr-fs-small); cursor: pointer; }
.kr-check input {
  -webkit-appearance: none; appearance: none; flex: none; width: 18px; height: 18px; margin: 0;
  background: var(--kr-surface); border: var(--kr-border-strong); border-radius: var(--kr-r-1); cursor: pointer;
  display: inline-grid; place-content: center;
}
.kr-check input::after { content: ""; width: 10px; height: 10px; background: transparent; }
.kr-check input:checked { border-color: var(--kr-accent); }
.kr-check input:checked::after { background: var(--kr-accent); }
.kr-check:hover input { border-color: var(--kr-line-ink); }

.kr-toggle { display: inline-flex; align-items: center; gap: var(--kr-sp-8); min-height: 44px; cursor: pointer; font-size: var(--kr-fs-small); line-height: 1.3; }
.kr-toggle__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.kr-toggle__track {
  position: relative; flex: none; width: 40px; height: 22px;
  background: var(--kr-bg-3); border: var(--kr-border-strong); border-radius: var(--kr-r-1);
  transition: background-color var(--kr-t), border-color var(--kr-t);
}
.kr-toggle__thumb { position: absolute; left: 2px; top: 2px; width: 16px; height: 16px; background: var(--kr-text); border-radius: 1px; transition: background-color var(--kr-t); }
.kr-toggle__input:checked + .kr-toggle__track { background: var(--kr-accent); border-color: var(--kr-accent); }
.kr-toggle__input:checked + .kr-toggle__track .kr-toggle__thumb { left: 20px; background: var(--kr-on-accent); }
.kr-toggle__input:focus-visible + .kr-toggle__track { outline: var(--kr-focus); outline-offset: var(--kr-focus-offset); }

/* ---------- Калькулятор ---------- */
.kr-calc { display: flex; flex-direction: column; min-width: 0; }
.kr-calc__body { flex: 1 1 auto; display: flex; flex-direction: column; gap: var(--kr-sp-16); padding: var(--kr-sp-16); }
.kr-calc__group { display: flex; flex-wrap: wrap; gap: var(--kr-sp-8); }
.kr-calc__fields { display: grid; gap: var(--kr-sp-16); grid-template-columns: minmax(0, 1fr); }
.kr-calc__fields > * { min-width: 0; }
.kr-calc__result { margin-top: auto; border-top: var(--kr-rule); padding-top: var(--kr-sp-12); display: grid; gap: var(--kr-sp-4); }
.kr-calc__label { font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-calc__total { font-size: var(--kr-fs-total); line-height: 1.1; font-weight: var(--kr-fw-num-strong); letter-spacing: var(--kr-ls-total); }
.kr-calc__who { font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-calc__who .kr-num { font-size: inherit; font-weight: var(--kr-fw-num-strong); }
.kr-calc__cond { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-calc__extra { font-size: var(--kr-fs-small); }
.kr-calc__tax { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-calc__tax .kr-num { font-size: inherit; color: var(--kr-text); font-weight: var(--kr-fw-num-strong); }
.kr-calc__extra .kr-num { font-size: var(--kr-fs-num-m); font-weight: var(--kr-fw-num-strong); margin-left: var(--kr-sp-6); }
.kr-calc__result > * { min-width: 0; }
.kr-calc__next { margin-top: var(--kr-sp-8); }
.kr-calc__next-title { font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-calc__top { border-top: var(--kr-border); margin-top: var(--kr-sp-4); }
.kr-calc__top li { display: flex; justify-content: space-between; align-items: baseline; gap: var(--kr-sp-12); padding: var(--kr-sp-6) 0; border-bottom: var(--kr-border); font-size: var(--kr-fs-small); }
.kr-calc__top .kr-num { font-size: var(--kr-fs-num); }
.kr-calc__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--kr-sp-24); }

@media (min-width: 768px) {
  .kr-calc__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-calc__fields--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kr-range { height: 20px; }
  .kr-range::before, .kr-range__fill { top: 8px; }
  .kr-range input { height: 20px; }
  .kr-range input::-webkit-slider-runnable-track { height: 20px; }
  .kr-range input::-moz-range-track { height: 20px; }
  .kr-range input::-webkit-slider-thumb { width: 20px; height: 20px; }
  .kr-range input::-moz-range-thumb { width: 20px; height: 20px; }
  .kr-check, .kr-toggle { min-height: 32px; }
  .kr-calc__foot .kr-btn--text { min-height: 32px; }
  .kr-calc--compact .kr-calc__body { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--kr-sp-24); align-items: start; }
  .kr-calc--compact .kr-calc__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-calc--compact .kr-calc__result { margin-top: 0; border-top: 0; padding-top: 0; border-left: var(--kr-rule); padding-left: var(--kr-sp-24); }
}
@media (min-width: 1200px) {
  .kr-calc:not(.kr-calc--compact) .kr-calc__body { gap: var(--kr-sp-12); }   /* полный калькулятор главной: вместе с табло входит в экран 900px */
}

/* ---------- График по месяцам таблицей ---------- */
.kr-sched { min-width: 0; }
.kr-sched__controls { display: grid; gap: var(--kr-sp-12); padding: var(--kr-sp-16); border-bottom: var(--kr-border); }
.kr-sched__legend { display: flex; flex-wrap: wrap; gap: var(--kr-sp-4) var(--kr-sp-16); font-size: var(--kr-fs-cond); color: var(--kr-text-muted); }
.kr-sched__key { display: inline-flex; align-items: center; gap: var(--kr-sp-6); }
.kr-sched__key::before { content: ""; width: 10px; height: 10px; background: var(--kr-chart-1); }
.kr-sched__key--2::before { background: var(--kr-chart-2); }
.kr-sched__key--track::before { background: var(--kr-bg-3); }
.kr-sched__table { width: 100%; display: block; }
.kr-sched__table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kr-sched__table tbody, .kr-sched__table tfoot { display: block; }
.kr-sched__table tr {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--kr-sp-4) var(--kr-sp-12); align-items: baseline;
  padding: var(--kr-sp-8) var(--kr-sp-16); border-bottom: var(--kr-border);
}
.kr-sched__table td, .kr-sched__table tfoot th { display: block; padding: 0; text-align: right; font-size: var(--kr-fs-num); }
.kr-sched__table td:first-child, .kr-sched__table tfoot th { text-align: left; }
.kr-sched__table .kr-num { font-size: inherit; }
.kr-sched__m { font-family: var(--kr-font-mono); font-weight: var(--kr-fw-num); }
.kr-sched__date { font-size: var(--kr-fs-micro); color: var(--kr-text-muted); margin-left: var(--kr-sp-6); font-family: var(--kr-font-body); }
.kr-sched__table td[data-part] { grid-column: auto; font-size: var(--kr-fs-micro); color: var(--kr-text-muted); text-align: left; order: 5; }
.kr-sched__table td[data-part]::before, .kr-sched__table td[data-main]::before { content: attr(data-label) " "; font-family: var(--kr-font-body); font-size: var(--kr-fs-micro); color: var(--kr-text-muted); }
.kr-sched__table td[data-part] .kr-num { font-size: inherit; }
.kr-sched__table td.kr-sched__barcell { grid-column: 1 / -1; order: 4; }
.kr-sched__bar { display: block; height: var(--kr-sched-bar-h); background: var(--kr-chart-2); position: relative; }
.kr-sched__bar::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--kr-p, 0%); background: var(--kr-chart-1); }
.kr-sched__bar--save { background: var(--kr-bg-3); }
.kr-sched__total { border-top: var(--kr-rule-double); border-bottom: 0 !important; }
.kr-sched__total th, .kr-sched__total td { font-weight: var(--kr-fw-semibold); }
.kr-sched__total .kr-num { font-weight: var(--kr-fw-num-strong); }
.kr-sched__more { padding: var(--kr-sp-4) var(--kr-sp-16); border-top: var(--kr-border); }
.kr-sched__note { padding: var(--kr-sp-12) var(--kr-sp-16); border-top: var(--kr-border); font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }

@media (min-width: 768px) {
  .kr-sched__controls { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); align-items: end; gap: var(--kr-sp-24); }
  .kr-sched__table { display: table; }
  .kr-sched__table thead { position: static; width: auto; height: auto; clip: auto; display: table-header-group; }
  .kr-sched__table tbody { display: table-row-group; }
  .kr-sched__table tfoot { display: table-footer-group; }
  .kr-sched__table tr { display: table-row; }
  .kr-sched__table th, .kr-sched__table td, .kr-sched__table tfoot th { display: table-cell; padding: var(--kr-sp-8) var(--kr-sp-16); height: 40px; vertical-align: middle; border-bottom: var(--kr-border); }
  .kr-sched__table thead th { background: var(--kr-bg-2); border-bottom: var(--kr-rule); font-size: var(--kr-fs-th); font-weight: var(--kr-fw-semibold); text-align: right; height: 36px; }
  .kr-sched__table thead th:first-child { text-align: left; }
  .kr-sched__table td[data-part] { font-size: var(--kr-fs-num); color: var(--kr-text); text-align: right; }
  .kr-sched__table td[data-part]::before, .kr-sched__table td[data-main]::before { content: none; }
  .kr-sched__table td.kr-sched__barcell { width: 22%; min-width: 120px; }
  .kr-sched__table .kr-sched__total > * { border-top: var(--kr-rule-double); border-bottom: 0; }
}

/* ---------- Вкладки ---------- */
.kr-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--kr-sp-8); }
.kr-tabs__tab {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--kr-sp-6);
  min-height: var(--kr-tab-h); padding: var(--kr-sp-4) var(--kr-sp-12);
  border: var(--kr-border-strong); background: var(--kr-surface); color: var(--kr-text);
  font-size: var(--kr-fs-ui); line-height: 1.2; font-weight: var(--kr-fw-semibold); text-align: center;
  transition: background-color var(--kr-t), color var(--kr-t);
}
.kr-tabs__tab:hover { background: var(--kr-bg-2); }
.kr-tabs__n { font-size: var(--kr-fs-num-s); color: var(--kr-text-muted); }
.kr-tabs__tab[aria-selected="true"] { background: var(--kr-dark); border-color: var(--kr-dark); color: var(--kr-on-dark); }
.kr-tabs__tab[aria-selected="true"] .kr-tabs__n { color: var(--kr-on-dark-muted); }
@media (min-width: 768px) {
  .kr-tabs { display: flex; flex-wrap: wrap; gap: 0; border-bottom: var(--kr-rule); }
  .kr-tabs__tab { border: 0; background: transparent; padding: 0 var(--kr-sp-16); }
}

/* ---------- Чипы ---------- */
.kr-chips { display: flex; flex-wrap: wrap; gap: var(--kr-sp-8); min-width: 0; }
.kr-chip {
  display: inline-flex; align-items: center; gap: var(--kr-sp-6);
  min-height: var(--kr-chip-h); padding: var(--kr-sp-4) var(--kr-sp-12);
  background: var(--kr-surface); border: var(--kr-border-strong); border-radius: var(--kr-r-1);
  font-size: var(--kr-fs-small); line-height: 1.25; font-weight: var(--kr-fw-medium); color: var(--kr-text);
  text-decoration: none; cursor: pointer; max-width: 100%;
  transition: background-color var(--kr-t), color var(--kr-t), border-color var(--kr-t);
}
.kr-chip:hover { background: var(--kr-bg-2); color: var(--kr-text); text-decoration: none; }
.kr-chip .kr-icon { display: none; }
.kr-chip[aria-pressed="true"] { background: var(--kr-dark); border-color: var(--kr-dark); color: var(--kr-on-dark); }
.kr-chip[aria-pressed="true"] .kr-icon { display: block; }
.kr-chip:disabled { background: var(--kr-bg-3); color: var(--kr-text-muted); cursor: not-allowed; }
.kr-chip--link { color: var(--kr-accent); }
.kr-chip--link .kr-icon { display: block; }
.kr-chip--link:hover { color: var(--kr-accent-deep); }
.kr-chip--link[aria-current] { border: var(--kr-border-ink); color: var(--kr-text); cursor: default; }
.kr-chip--link[aria-current]:hover { background: var(--kr-surface); }
.kr-chip__n { font-family: var(--kr-font-mono); font-size: var(--kr-fs-num-s); color: var(--kr-text-muted); }

.kr-radio-chip { position: relative; display: inline-flex; }
.kr-radio-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.kr-radio-chip input:checked + .kr-chip { background: var(--kr-dark); border-color: var(--kr-dark); color: var(--kr-on-dark); }
.kr-radio-chip input:focus-visible + .kr-chip { outline: var(--kr-focus); outline-offset: var(--kr-focus-offset); }

/* ---------- Фильтры и строка над таблицей ---------- */
.kr-filters { display: grid; gap: var(--kr-sp-12); margin-block: var(--kr-sp-16); }
.kr-filters__bar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--kr-sp-8); }
.kr-filters__bar .kr-btn .kr-num { font-size: var(--kr-fs-num-s); background: var(--kr-dark); color: var(--kr-on-dark); padding: 1px 6px; border-radius: var(--kr-r-1); }
.kr-filters__panel { display: none; gap: var(--kr-sp-16); padding: var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-strong); }
.kr-filters.is-open .kr-filters__panel { display: grid; }
.kr-filters__group { display: grid; gap: var(--kr-sp-8); min-width: 0; }
.kr-filters__label { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-filters__hint { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
.kr-filters__toggles { display: grid; gap: 0 var(--kr-sp-24); }
.kr-filters__num { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--kr-sp-12); align-items: center; max-width: 420px; }
.kr-filters__foot { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--kr-sp-16); align-items: center; }
.kr-filters__more > summary { display: inline-flex; align-items: center; gap: var(--kr-sp-6); min-height: 44px; list-style: none; font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-filters__more > summary::-webkit-details-marker { display: none; }
.kr-filters__more > summary:hover { color: var(--kr-accent-deep); text-decoration-thickness: 2px; }
.kr-filters__more[open] > summary { margin-bottom: var(--kr-sp-8); }
.kr-filters__more-body { display: grid; gap: var(--kr-sp-12); }

.kr-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kr-sp-4) var(--kr-sp-24); margin-block: var(--kr-sp-12); }
.kr-toolbar__title { font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }
.kr-toolbar__title .kr-num { font-size: inherit; font-weight: var(--kr-fw-num-strong); }
.kr-toolbar__count { font-size: var(--kr-fs-small); color: var(--kr-text-muted); }
.kr-toolbar__count .kr-num { color: var(--kr-text); font-weight: var(--kr-fw-num-strong); }
.kr-toolbar .kr-btn--text { min-height: 44px; font-size: var(--kr-fs-small); }
.kr-toolbar__note { flex-basis: 100%; font-size: var(--kr-fs-cond); color: var(--kr-text-muted); }

.kr-hint-btn { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; color: var(--kr-text-muted); vertical-align: middle; }
.kr-hint-btn:hover { color: var(--kr-accent); }
.kr-hint { position: absolute; z-index: var(--kr-z-popover); max-width: 280px; padding: var(--kr-sp-8) var(--kr-sp-12); background: var(--kr-dark); color: var(--kr-on-dark); font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); font-weight: var(--kr-fw-regular); text-transform: none; letter-spacing: 0; }
.kr-hint-wrap { position: relative; display: inline-flex; }

/* Термины над таблицей: слово-кнопка, подсказка раскрывается под строкой на ширину блока.
   На телефоне блок свёрнут (details), от 768px раскрыт скриптом и стоит одной строкой. */
.kr-terms { position: relative; margin-bottom: var(--kr-sp-12); font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-terms__label { display: flex; align-items: center; justify-content: space-between; gap: var(--kr-sp-8); min-height: 44px; font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); color: var(--kr-text); border-top: var(--kr-border); border-bottom: var(--kr-border); cursor: pointer; list-style: none; }
.kr-terms__label::-webkit-details-marker { display: none; }
.kr-terms__label:hover { color: var(--kr-accent); }
.kr-terms[open] > .kr-terms__label .kr-icon { transform: scaleY(-1); }
.kr-terms__body { display: grid; gap: var(--kr-sp-4); padding-block: var(--kr-sp-4) var(--kr-sp-8); }
.kr-terms__list { display: flex; flex-wrap: wrap; gap: 0 var(--kr-sp-16); }
.kr-terms .kr-hint-wrap { position: static; }
.kr-terms .kr-hint-wrap[hidden] { display: none; }
.kr-terms__btn { display: inline-flex; align-items: center; gap: var(--kr-sp-4); min-height: 40px; color: var(--kr-text); font-size: var(--kr-fs-small); text-decoration: underline dotted; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-terms__btn .kr-icon { color: var(--kr-text-muted); }
.kr-terms__btn:hover, .kr-terms__btn[aria-expanded="true"] { color: var(--kr-accent); }
.kr-terms__btn:hover .kr-icon, .kr-terms__btn[aria-expanded="true"] .kr-icon { color: var(--kr-accent); }
.kr-terms .kr-hint { left: 0; top: 100%; margin-top: var(--kr-sp-4); width: max-content; max-width: min(100%, 520px); }
.kr-terms__more { justify-self: start; }

@media (min-width: 768px) {
  .kr-filters__bar { display: none; }
  .kr-filters__panel, .kr-filters.is-open .kr-filters__panel { display: grid; gap: var(--kr-sp-12); padding: 0; background: transparent; border: 0; }
  .kr-filters__group { grid-template-columns: 128px minmax(0, 1fr); align-items: center; gap: var(--kr-sp-12); }
  .kr-filters__toggles { display: flex; flex-wrap: wrap; }
  .kr-filters__foot { display: none; }
  .kr-filters__more > summary { min-height: 32px; }
  .kr-filters__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kr-sp-8) var(--kr-sp-32); }
  .kr-filters__row > .kr-filters__group { grid-template-columns: auto minmax(0, 1fr); }
  .kr-toolbar__note { flex-basis: auto; margin-left: auto; font-size: var(--kr-fs-small); }
  .kr-toolbar .kr-btn--text { min-height: 32px; }
  .kr-terms[open] { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: var(--kr-sp-4) var(--kr-sp-16); }
  .kr-terms__label { min-height: 0; border: 0; font-size: var(--kr-fs-micro); color: var(--kr-text-muted); }
  .kr-terms[open] > .kr-terms__label .kr-icon { display: none; }
  .kr-terms__body { grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: var(--kr-sp-4) var(--kr-sp-16); padding: 0; }
  .kr-terms__btn { min-height: 28px; }
}

/* ---------- Таблица рейтинга ---------- */
.kr-table-wrap { min-width: 0; }
.kr-table { width: 100%; display: block; font-size: var(--kr-fs-table); line-height: var(--kr-lh-table); }
.kr-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kr-table tbody { display: block; }
.kr-table__row {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--kr-sp-12);
  padding: var(--kr-sp-16); margin-bottom: var(--kr-sp-12);
  background: var(--kr-surface); border: var(--kr-border-strong);
}
.kr-table__row > * { display: block; min-width: 0; padding: 0; }
.kr-table td[data-label]::before {
  content: attr(data-label); display: block; margin-bottom: var(--kr-sp-2);
  font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted);
}
/* вид таблицы: ячейки чужого вида скрыты */
.kr-table[data-view="vklady"] [data-v]:not([data-v~="vklady"]),
.kr-table[data-view="scheta"] [data-v]:not([data-v~="scheta"]),
.kr-table[data-view="kredity"] [data-v]:not([data-v~="kredity"]),
.kr-table[data-view="ipoteka"] [data-v]:not([data-v~="ipoteka"]) { display: none !important; }

.kr-table__rank { position: absolute; right: var(--kr-sp-16); top: var(--kr-sp-16); font-family: var(--kr-font-mono); font-size: var(--kr-fs-num-s); color: var(--kr-text-muted); }
.kr-table__rank::before { content: "№\00a0"; }
.kr-table__bank { grid-column: 1 / -1; padding-right: var(--kr-sp-40) !important; }
.kr-table__key { grid-column: 1 / -1; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--kr-sp-2) var(--kr-sp-8); padding-top: var(--kr-sp-12) !important; border-top: var(--kr-border); }
.kr-table__key[data-label]::before { margin: 0; }
.kr-table__key .kr-rate { grid-column: 1 / -1; grid-row: 2; }
.kr-table__key .kr-max { grid-column: 2; grid-row: 1; }
.kr-table__key .kr-table__sub { grid-column: 1 / -1; }
.kr-table__sub { display: block; font-size: var(--kr-fs-cond); color: var(--kr-text-muted); }
.kr-table__sub .kr-num { font-size: var(--kr-fs-num); color: var(--kr-text); }
.kr-table__bank { order: 1; }
.kr-table__key { order: 2; }
.kr-table__cond { grid-column: 1 / -1; order: 3; margin-top: calc(var(--kr-sp-8) * -1); }
.kr-table td.kr-table__cond::before, .kr-table td.kr-table__calc::before { content: none; }
.kr-table__calc { order: 4; }
.kr-table__second, .kr-table__terms { order: 5; grid-column: 1 / -1; }
.kr-table__second { display: flex !important; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--kr-sp-2) var(--kr-sp-12); }
.kr-table td.kr-table__second::before, .kr-table td.kr-table__terms::before { margin: 0; }
.kr-table__second .kr-table__sub { flex-basis: 100%; text-align: right; }
.kr-table__score { order: 6; }
.kr-table__actions { order: 7; }
.kr-table__actions .kr-check { order: -1; }
.kr-table__cond-text { font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-table__src { margin-top: var(--kr-sp-4); font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
.kr-table__src .kr-num { font-size: inherit; }
.kr-table__calc {
  grid-column: 1 / -1; display: flex !important; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--kr-sp-2) var(--kr-sp-12);
  padding: var(--kr-sp-8) var(--kr-sp-12) !important; background: var(--kr-accent-tint);
}
.kr-table__calc-label { font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-table__calc-label::before { content: attr(data-long) " "; }
.kr-table__calc-label > span { display: none; }
.kr-table__calc .kr-num { font-size: var(--kr-fs-num-m); font-weight: var(--kr-fw-num-strong); }
.kr-table__calc-note { flex-basis: 100%; font-size: var(--kr-fs-micro); color: var(--kr-text-muted); }
.kr-table__terms { display: flex !important; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--kr-sp-2) var(--kr-sp-12); }
.kr-table td.kr-table__terms::before { flex: 1 1 100%; }
.kr-table__score { grid-column: 1 / -1; display: flex !important; align-items: center; gap: var(--kr-sp-12); padding-top: var(--kr-sp-12) !important; border-top: var(--kr-border); }
.kr-table__score[data-label]::before { margin: 0; }
.kr-table__actions { grid-column: 1 / -1; display: grid !important; gap: var(--kr-sp-8); }
.kr-table__actions .kr-btn { min-height: 44px; font-size: var(--kr-fs-ui); }
.kr-table__actions .kr-btn--primary { min-height: 48px; }
.kr-table__go-note { font-size: var(--kr-fs-micro); color: var(--kr-text-muted); text-align: center; }
.kr-table__row--market { border-style: dashed; }

.kr-table__sort { display: inline-flex; align-items: center; gap: var(--kr-sp-4); color: inherit; font: inherit; text-align: inherit; min-height: 24px; }
.kr-table__sort:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-table__sort .kr-icon { width: 16px; height: 16px; stroke-width: 2; color: var(--kr-on-dark-muted); }
.kr-table__sort [data-i="asc"], .kr-table__sort [data-i="desc"] { display: none; color: var(--kr-on-dark); }
th[aria-sort="ascending"] .kr-table__sort [data-i="none"], th[aria-sort="descending"] .kr-table__sort [data-i="none"] { display: none; }
th[aria-sort="ascending"] .kr-table__sort [data-i="asc"] { display: block; }
th[aria-sort="descending"] .kr-table__sort [data-i="desc"] { display: block; }
.kr-table__sort[aria-pressed="false"] [data-i="asc"], .kr-table__sort[aria-pressed="false"] [data-i="desc"] { display: none !important; }
.kr-table__sort[aria-pressed="false"] [data-i="none"] { display: block !important; }

/* ячейка банка */
.kr-bank { display: grid; grid-template-columns: var(--kr-logo-m) minmax(0, 1fr); gap: var(--kr-sp-12); align-items: start; text-align: left; }
.kr-bank__body { min-width: 0; display: grid; gap: var(--kr-sp-4); justify-items: start; }
.kr-bank__name { font-size: 16px; line-height: 1.3; font-weight: var(--kr-fw-semibold); color: var(--kr-text); text-decoration: none; overflow-wrap: anywhere; }
.kr-bank__name:hover { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; }
.kr-bank__short { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); font-weight: var(--kr-fw-regular); color: var(--kr-text-muted); }
.kr-bank__lic { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--kr-sp-4); font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-regular); color: var(--kr-text-muted); }
.kr-bank__lic .kr-icon { width: 14px; height: 14px; stroke-width: 2; }
.kr-bank__lic a { color: var(--kr-text-muted); }
.kr-bank__lic a:hover { color: var(--kr-accent); }
.kr-bank__lic .kr-num { font-size: var(--kr-fs-num-s); }
.kr-bank__tags { display: flex; flex-wrap: wrap; gap: var(--kr-sp-4); }

.kr-more { display: grid; justify-items: stretch; margin-top: var(--kr-sp-4); }
.kr-more .kr-btn { width: 100%; }
.kr-empty { padding: var(--kr-sp-24) var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-strong); font-size: var(--kr-fs-small); color: var(--kr-text-muted); }
.kr-empty strong { display: block; margin-bottom: var(--kr-sp-4); color: var(--kr-text); font-size: var(--kr-fs-body); }

@media (min-width: 768px) {
  .kr-table-wrap { background: var(--kr-surface); border: var(--kr-border-strong); overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .kr-table { display: table; table-layout: fixed; min-width: 1240px; }   /* 768–1199px: таблица шире экрана, прокрутка внутри обёртки, банк закреплён */
  .kr-table thead { position: static; width: auto; height: auto; clip: auto; overflow: visible; display: table-header-group; }
  .kr-table tbody { display: table-row-group; }
  .kr-table__row { display: table-row; position: static; margin: 0; padding: 0; border: 0; background: transparent; transition: background-color var(--kr-t); }
  .kr-table__row:hover > * { background: var(--kr-bg); }
  .kr-table__row > *,
  .kr-table__key, .kr-table__second, .kr-table__calc, .kr-table__terms, .kr-table__score, .kr-table__actions {
    display: table-cell !important; padding: var(--kr-sp-12) !important; vertical-align: top;
    border-top: 0; border-bottom: var(--kr-border); margin: 0;
  }
  .kr-table tbody tr:last-child > * { border-bottom: 0; }
  .kr-table td[data-label]::before, .kr-table__rank::before { content: none; }

  .kr-table thead th {
    height: var(--kr-panel-head-h); padding: var(--kr-sp-8) var(--kr-sp-12); vertical-align: middle;
    background: var(--kr-dark); color: var(--kr-on-dark);
    font-size: var(--kr-fs-th); line-height: var(--kr-lh-th); font-weight: var(--kr-fw-semibold);
    border-bottom: var(--kr-bw-mark) solid var(--kr-dark);
    position: sticky; top: 0; z-index: var(--kr-z-sticky);
  }
  .kr-table thead th[aria-sort="ascending"], .kr-table thead th[aria-sort="descending"] { border-bottom-color: var(--kr-on-dark); }
  .kr-table thead th.kr-table__th--num { text-align: right; }
  .kr-table thead th.kr-table__th--num .kr-table__sort { justify-content: flex-end; }
  .kr-table__th-stack { display: grid; gap: var(--kr-sp-2); justify-items: end; }

  .kr-table__rank { position: static; width: 44px; padding-right: 0 !important; text-align: right; }
  .kr-table__th--rank { width: 44px; }
  .kr-table__th--bank { width: 256px; }
  .kr-table__th--key { width: 196px; }
  .kr-table__th--second { width: 104px; }
  .kr-table__th--calc { width: 136px; }
  .kr-table__th--terms { width: 116px; }
  .kr-table__th--score { width: 92px; }
  .kr-table__th--actions { width: 132px; }

  .kr-table__bank, .kr-table thead th.kr-table__th--bank { position: sticky; left: 0; z-index: 1; }
  .kr-table thead th.kr-table__th--bank { z-index: calc(var(--kr-z-sticky) + 1); }
  .kr-table__bank { background: var(--kr-surface); border-right: var(--kr-border); padding-right: var(--kr-sp-12) !important; }
  .kr-bank__short { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }

  .kr-table__key, .kr-table__second, .kr-table__terms { text-align: right; }
  .kr-table__key .kr-rate { justify-content: flex-end; }
  .kr-table__key .kr-max { margin-top: var(--kr-sp-6); font-size: 11px; }
  .kr-table__key .kr-max .kr-icon { display: none; }
  .kr-table__key .kr-table__sub { margin-top: var(--kr-sp-4); }
  .kr-table__cond { margin-top: 0; }
  .kr-table__calc { background: var(--kr-accent-tint) !important; text-align: right; }
  .kr-table__row:hover > .kr-table__calc { background: var(--kr-accent-tint); }
  .kr-table__calc-label { display: block; }
  .kr-table__calc-label::before { content: none; }
  .kr-table__calc-label > span { display: inline; }
  .kr-table__calc-note { display: block; margin-top: var(--kr-sp-4); }
  .kr-table__terms > * { display: block; }
  .kr-table__actions .kr-btn { display: flex; width: 100%; min-height: var(--kr-control-h-s); font-size: var(--kr-fs-small); margin-bottom: var(--kr-sp-6); padding: 0 var(--kr-sp-8); }
  .kr-table__actions .kr-btn--primary { min-height: var(--kr-control-h-s); }
  .kr-table__actions .kr-check { min-height: 24px; font-size: var(--kr-fs-cond); }
  .kr-table__go-note { display: none; }
  .kr-table__row--market > * { border-top: var(--kr-border-strong); }
  /* столбец, по которому идёт отбор подборки */
  .kr-table--key-mark .kr-table__key, .kr-table--key-mark .kr-table__row:hover > .kr-table__key { background: var(--kr-accent-2-tint); }

  .kr-more { justify-items: start; margin-top: var(--kr-sp-16); }
  .kr-more .kr-btn { width: auto; }
}
@media (min-width: 1200px) {
  .kr-table-wrap { overflow: visible; }
  .kr-table { min-width: 0; }
  .kr-table__bank { border-right: 0; }
}

/* ---------- Оценка ---------- */
.kr-score { display: grid; gap: var(--kr-sp-4); justify-items: start; }
.kr-score__value { font-family: var(--kr-font-mono); font-size: var(--kr-fs-total); line-height: 1.05; font-weight: var(--kr-fw-num-strong); letter-spacing: var(--kr-ls-total); font-variant-numeric: tabular-nums; }
.kr-score__of { font-size: var(--kr-fs-small); color: var(--kr-text-muted); }
.kr-score__date { font-size: var(--kr-fs-micro); color: var(--kr-text-muted); }
.kr-score--s { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--kr-sp-4) var(--kr-sp-8); }
.kr-score--s .kr-score__value { font-size: var(--kr-fs-num-m); letter-spacing: 0; line-height: 1.2; }
.kr-score--s .kr-score__of { font-size: var(--kr-fs-micro); }
.kr-score--s .kr-scale { width: 40px; height: 4px; }
.kr-score--none { display: inline-flex; align-items: flex-start; gap: var(--kr-sp-4); font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-warning); text-align: left; }
.kr-score--none .kr-icon { width: 16px; height: 16px; stroke-width: 2; margin-top: 1px; }
.kr-scale { position: relative; display: block; width: 100%; height: var(--kr-scale-h); background: var(--kr-bg-3); }
.kr-scale::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--kr-p, 0%); background: var(--kr-chart-1); }
.kr-score__rows { display: grid; }
.kr-score__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--kr-sp-4) var(--kr-sp-12); align-items: center; padding: var(--kr-sp-8) 0; border-bottom: var(--kr-border); font-size: var(--kr-fs-ui); }
.kr-score__row .kr-scale { grid-column: 1 / -1; grid-row: 2; }
.kr-score__row .kr-score__ball { grid-column: 2; grid-row: 1; }   /* телефон: балл справа от критерия, шкала под строкой */
.kr-score__crit { min-width: 0; }
.kr-score__w { font-family: var(--kr-font-mono); font-size: var(--kr-fs-num-s); color: var(--kr-text-muted); margin-left: var(--kr-sp-6); }
.kr-score__ball { font-family: var(--kr-font-mono); font-weight: var(--kr-fw-num-strong); font-size: var(--kr-fs-num); }
.kr-score__na { grid-column: 1 / -1; font-size: var(--kr-fs-cond); color: var(--kr-text-muted); }
@media (min-width: 768px) {
  .kr-table__score { text-align: left; }
  .kr-score__row { grid-template-columns: minmax(0, 1.4fr) minmax(80px, 1fr) 40px; }
  .kr-score__row .kr-scale { grid-column: auto; grid-row: auto; }
  .kr-score__row .kr-score__ball { grid-column: auto; grid-row: auto; }
  .kr-score__ball { text-align: right; }
}

/* ---------- Раскрытие ---------- */
.kr-disclosure {
  display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: var(--kr-sp-8); align-items: start;
  margin-top: var(--kr-sp-16); padding-block: var(--kr-sp-12);
  border-top: var(--kr-border); border-bottom: var(--kr-border);
  font-size: var(--kr-fs-cond); line-height: 1.5; color: var(--kr-text-muted);
}
.kr-disclosure .kr-icon { margin-top: 1px; }
.kr-disclosure p { max-width: 110ch; }

/* ---------- Карточка компании ---------- */
.kr-cards { display: grid; gap: var(--kr-gap); grid-template-columns: minmax(0, 1fr); }
.kr-cards > * { min-width: 0; }
.kr-card { position: relative; display: flex; flex-direction: column; gap: var(--kr-sp-12); padding: var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-strong); transition: border-color var(--kr-t); }
.kr-card:hover { border-color: var(--kr-line-ink); }
.kr-card__head { display: grid; grid-template-columns: var(--kr-logo-m) minmax(0, 1fr); gap: var(--kr-sp-12); align-items: start; }
.kr-card__name { font-size: 16px; line-height: 1.3; font-weight: var(--kr-fw-semibold); color: var(--kr-text); text-decoration: none; }
.kr-card__name::after { content: ""; position: absolute; inset: 0; }
.kr-card__name:hover { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; }
.kr-card__rank { font-family: var(--kr-font-mono); font-size: var(--kr-fs-num-s); color: var(--kr-text-muted); }
.kr-card__short { margin-top: var(--kr-sp-2); font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-card__facts { display: grid; }
.kr-card__fact { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--kr-sp-2) var(--kr-sp-12); padding: var(--kr-sp-8) 0; border-top: var(--kr-border); }
.kr-card__fact dt { font-size: var(--kr-fs-cond); color: var(--kr-text-muted); }
.kr-card__fact dd { font-family: var(--kr-font-mono); font-size: var(--kr-fs-num); font-weight: var(--kr-fw-num); word-spacing: var(--kr-ws-num); }
.kr-card__fact .kr-cond { flex-basis: 100%; font-family: var(--kr-font-body); word-spacing: normal; }
.kr-card__text { font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-card__foot { margin-top: auto; display: grid; gap: var(--kr-sp-8); position: relative; z-index: 1; }
.kr-card__foot .kr-btn { width: 100%; }
@media (min-width: 768px) {
  .kr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-card__foot { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
  .kr-card__foot > .kr-score, .kr-card__foot > .kr-score--none { grid-column: 1 / -1; }
}
@media (min-width: 1200px) { .kr-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Панель сравнения, кнопка перехода, таблица сравнения ---------- */
.kr-cmpbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--kr-z-cmpbar); background: var(--kr-dark); color: var(--kr-on-dark); border-top: var(--kr-border-dark); }
.kr-cmpbar__in { display: flex; align-items: center; justify-content: space-between; gap: var(--kr-sp-12); min-height: var(--kr-cmpbar-h); }
.kr-cmpbar__title { font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); white-space: nowrap; }
.kr-cmpbar__title .kr-num { font-size: inherit; }
.kr-cmpbar__items { display: none; flex: 1 1 auto; min-width: 0; gap: var(--kr-sp-12); overflow: hidden; }
.kr-cmpbar__item { display: inline-flex; align-items: center; gap: var(--kr-sp-8); min-width: 0; font-size: var(--kr-fs-cond); }
.kr-cmpbar__item span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 140px; }
.kr-cmpbar__item button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: var(--kr-on-dark-muted); }
.kr-cmpbar__item button:hover { color: var(--kr-on-dark); }
.kr-cmpbar__actions { display: flex; align-items: center; gap: var(--kr-sp-8); }
.kr-cmpbar :focus-visible { outline: var(--kr-focus-on-dark); }
body.kr-lock .kr-cmpbar, body.kr-lock .kr-gobar { display: none; }
@media (min-width: 768px) { .kr-cmpbar__items { display: flex; } }

.kr-gobar { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--kr-z-gobar); background: var(--kr-surface); border-top: var(--kr-border-ink); padding: var(--kr-sp-8) var(--kr-gutter); display: grid; gap: var(--kr-sp-2); justify-items: center; }
.kr-gobar .kr-btn { width: 100%; }
.kr-gobar__note { font-size: var(--kr-fs-micro); color: var(--kr-text-muted); }
@media (min-width: 768px) { .kr-gobar { display: none; } }

.kr-cmp-wrap { background: var(--kr-surface); border: var(--kr-border-strong); overflow-x: auto; }
.kr-cmp { width: 100%; font-size: var(--kr-fs-table); line-height: var(--kr-lh-table); }
.kr-cmp thead th { background: var(--kr-dark); color: var(--kr-on-dark); padding: var(--kr-sp-12); vertical-align: top; font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); min-width: 140px; }
.kr-cmp tbody th { padding: var(--kr-sp-12); font-size: var(--kr-fs-cond); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); border-bottom: var(--kr-border); vertical-align: top; background: var(--kr-bg-2); }
.kr-cmp td { padding: var(--kr-sp-12); border-bottom: var(--kr-border); border-left: var(--kr-border); vertical-align: top; min-width: 140px; }
.kr-cmp td.is-best { background: var(--kr-accent-tint); }
.kr-cmp__best { display: inline-flex; align-items: center; gap: var(--kr-sp-4); margin-left: var(--kr-sp-8); font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-accent-deep); }
.kr-cmp__best .kr-icon { width: 14px; height: 14px; stroke-width: 2; }
.kr-cmp .kr-cond { display: block; margin-top: var(--kr-sp-4); }

.kr-pairs { display: grid; gap: var(--kr-sp-12); grid-template-columns: minmax(0, 1fr); }
.kr-pair {
  display: grid; grid-template-columns: auto minmax(0, 1fr) 20px; align-items: center; gap: var(--kr-sp-12);
  min-height: 64px; padding: var(--kr-sp-12) var(--kr-sp-16);
  background: var(--kr-surface); border: var(--kr-border-strong); color: var(--kr-text); text-decoration: none;
  transition: border-color var(--kr-t), background-color var(--kr-t);
}
.kr-pair:hover { border-color: var(--kr-line-ink); color: var(--kr-text); text-decoration: none; }
.kr-pair:hover .kr-pair__name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-pair__logos { display: inline-flex; gap: var(--kr-sp-4); }
.kr-pair__body { min-width: 0; display: grid; gap: var(--kr-sp-2); }
.kr-pair__name { font-size: var(--kr-fs-ui); line-height: 1.3; font-weight: var(--kr-fw-semibold); }
.kr-pair__text { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-pair__text .kr-num { font-size: inherit; }
.kr-pair .kr-icon { color: var(--kr-text-muted); }
@media (min-width: 768px) { .kr-pairs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- FAQ ---------- */
.kr-faq { max-width: 880px; border-top: var(--kr-border); }
.kr-faq__item { border-bottom: var(--kr-border); }
.kr-faq__q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--kr-sp-16);
  min-height: 48px; padding: var(--kr-sp-16) 0; list-style: none;
  font-size: var(--kr-fs-body); line-height: 1.4; font-weight: var(--kr-fw-semibold);
  transition: color var(--kr-t);
}
.kr-faq__q::-webkit-details-marker { display: none; }
.kr-faq__q:hover { color: var(--kr-accent); }
.kr-faq__q [data-i="minus"] { display: none; }
.kr-faq__item[open] .kr-faq__q [data-i="plus"] { display: none; }
.kr-faq__item[open] .kr-faq__q [data-i="minus"] { display: block; }
.kr-faq__a { padding-bottom: var(--kr-sp-16); max-width: var(--kr-measure); display: grid; gap: var(--kr-sp-12); }

/* ---------- Хлебные крошки ---------- */
.kr-crumbs { padding-block: var(--kr-sp-12) var(--kr-sp-16); font-size: var(--kr-fs-cond); line-height: 1.5; }
.kr-crumbs ol { display: flex; flex-wrap: wrap; gap: var(--kr-sp-2) var(--kr-sp-8); }
.kr-crumbs li { display: inline-flex; align-items: center; gap: var(--kr-sp-8); color: var(--kr-text); }
.kr-crumbs li + li::before { content: "/"; color: var(--kr-line-strong); }
.kr-crumbs a { color: var(--kr-text-muted); text-decoration: none; display: inline-flex; align-items: center; min-height: 28px; }
.kr-crumbs a:hover { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; }

/* ---------- Автор и методика ---------- */
.kr-trust { background: var(--kr-surface); border: var(--kr-border-strong); border-top: var(--kr-rule); display: grid; grid-template-columns: minmax(0, 1fr); }
.kr-trust__part { min-width: 0; padding: var(--kr-sp-16); display: grid; gap: var(--kr-sp-12); align-content: start; }
.kr-trust__part + .kr-trust__part { border-top: var(--kr-border); }
.kr-trust__title { color: var(--kr-text-muted); }
.kr-trust__who { display: grid; grid-template-columns: var(--kr-logo-m) minmax(0, 1fr); gap: var(--kr-sp-12); align-items: start; }
.kr-trust__name { font-size: 16px; line-height: 1.3; font-weight: var(--kr-fw-semibold); }
.kr-trust__role { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-trust__dl { display: grid; gap: var(--kr-sp-8); font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-trust__dl div { display: grid; gap: var(--kr-sp-2); }
.kr-trust__dl dt { font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-trust__crit { display: grid; font-size: var(--kr-fs-small); }
.kr-trust__crit li { display: flex; justify-content: space-between; gap: var(--kr-sp-12); padding: var(--kr-sp-4) 0; border-bottom: var(--kr-border); }
.kr-trust__crit .kr-num { font-size: var(--kr-fs-num-s); color: var(--kr-text-muted); }
.kr-trust__link { font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); }
@media (min-width: 1200px) {
  .kr-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kr-trust__part { padding: var(--kr-sp-24); }
  .kr-trust__part + .kr-trust__part { border-top: 0; border-left: var(--kr-border); }
}

/* ---------- Текст ---------- */
.kr-prose { max-width: var(--kr-measure); font-size: var(--kr-fs-prose); line-height: var(--kr-lh-prose); }
.kr-prose > * + * { margin-top: var(--kr-sp-16); }
.kr-prose h2 { border-top: var(--kr-rule); padding-top: var(--kr-sp-16); margin-top: var(--kr-sp-40); }
.kr-prose h2:first-child { margin-top: 0; }
.kr-prose h3 { margin-top: 28px; }
.kr-prose ul, .kr-prose ol { display: grid; gap: var(--kr-sp-8); }
.kr-prose ul > li { position: relative; padding-left: var(--kr-sp-20); }
.kr-prose ul > li::before { content: ""; position: absolute; left: 2px; top: 0.62em; width: 6px; height: 6px; background: var(--kr-text); }
.kr-prose ol { counter-reset: kr-ol; }
.kr-prose ol > li { position: relative; padding-left: var(--kr-sp-32); counter-increment: kr-ol; }
.kr-prose ol > li::before { content: counter(kr-ol) "."; position: absolute; left: 0; top: 0; font-family: var(--kr-font-mono); font-weight: var(--kr-fw-num); color: var(--kr-text-muted); }
.kr-prose__table { overflow-x: auto; }
.kr-prose table { width: 100%; font-size: var(--kr-fs-table); line-height: var(--kr-lh-table); }
.kr-prose thead th { background: var(--kr-bg-2); border-bottom: var(--kr-rule); padding: var(--kr-sp-8) var(--kr-sp-12); font-size: var(--kr-fs-th); font-weight: var(--kr-fw-semibold); }
.kr-prose td { padding: var(--kr-sp-8) var(--kr-sp-12); border-bottom: var(--kr-border); }
.kr-prose td.kr-num, .kr-prose th.kr-th-num { text-align: right; }

.kr-note { padding: var(--kr-sp-16); border-left: var(--kr-bw-mark) solid var(--kr-line-ink); background: var(--kr-bg-2); display: grid; align-content: start; gap: var(--kr-sp-8); font-size: var(--kr-fs-small); line-height: 1.55; }
.kr-note__title { font-size: var(--kr-fs-caps); font-weight: var(--kr-fw-bold); letter-spacing: var(--kr-ls-caps); text-transform: uppercase; font-family: var(--kr-font-body); }
.kr-note--info { background: var(--kr-accent-tint); border-left-color: var(--kr-accent); }
.kr-note--warn { background: var(--kr-warning-tint); border-left-color: var(--kr-warning); }
.kr-note--warn .kr-note__title { color: var(--kr-warning); }
.kr-note--max { background: var(--kr-accent-2-tint); border-left-color: var(--kr-accent-2); }

.kr-brief { padding: var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-ink); font-family: var(--kr-font-heading); font-weight: var(--kr-fw-regular); font-size: var(--kr-fs-quote); line-height: var(--kr-lh-quote); display: grid; gap: var(--kr-sp-8); }
.kr-brief__title { font-family: var(--kr-font-body); color: var(--kr-text-muted); }
.kr-quote { padding-left: var(--kr-sp-16); border-left: var(--kr-bw-mark) solid var(--kr-line-ink); font-family: var(--kr-font-heading); font-style: italic; font-size: var(--kr-fs-quote); line-height: var(--kr-lh-quote); }

/* ---------- Карточка статьи ---------- */
.kr-posts { border-top: var(--kr-border); }
.kr-post { position: relative; display: grid; gap: var(--kr-sp-6); padding: var(--kr-sp-16) 0; border-bottom: var(--kr-border); }
.kr-post__meta { display: flex; flex-wrap: wrap; gap: var(--kr-sp-2) var(--kr-sp-12); font-size: var(--kr-fs-micro); color: var(--kr-text-muted); }
.kr-post__meta .kr-num { font-size: var(--kr-fs-num-s); }
.kr-post__body { min-width: 0; display: grid; gap: var(--kr-sp-6); }
.kr-post__rubric { font-size: var(--kr-fs-caps); font-weight: var(--kr-fw-bold); letter-spacing: var(--kr-ls-caps); text-transform: uppercase; color: var(--kr-accent); }
.kr-post__title { font-family: var(--kr-font-heading); font-weight: var(--kr-fw-bold); font-size: var(--kr-fs-h3); line-height: var(--kr-lh-h3); }
.kr-post__title a { color: var(--kr-text); text-decoration: none; }
.kr-post__title a::after { content: ""; position: absolute; inset: 0; }
.kr-post:hover .kr-post__title a { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-post__text { font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); color: var(--kr-text-muted); }
.kr-post__author { font-size: var(--kr-fs-micro); color: var(--kr-text-muted); }
@media (min-width: 768px) {
  .kr-post { grid-template-columns: 96px minmax(0, 1fr); gap: var(--kr-sp-16); }
  .kr-post__meta { flex-direction: column; }
  .kr-post--lead { grid-template-columns: minmax(0, 1fr); }
  .kr-post--lead .kr-post__meta { flex-direction: row; }
  .kr-post--lead .kr-post__title { font-size: 24px; line-height: 1.25; }
}

/* ---------- Рынок в цифрах ---------- */
.kr-stat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: var(--kr-rule); border-bottom: var(--kr-rule); }
.kr-stat__cell { min-width: 0; padding: var(--kr-sp-12) var(--kr-sp-12) var(--kr-sp-12) 0; display: grid; gap: var(--kr-sp-2); align-content: start; }
.kr-stat__cell:nth-child(even) { padding-left: var(--kr-sp-12); border-left: var(--kr-border); }
.kr-stat__cell:nth-child(n+3) { border-top: var(--kr-border); }
.kr-stat__label { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); }
.kr-stat__value { font-family: var(--kr-font-mono); font-size: var(--kr-fs-num-l); line-height: 1.2; font-weight: var(--kr-fw-num-strong); letter-spacing: var(--kr-ls-total); word-spacing: var(--kr-ws-num); white-space: nowrap; }
.kr-stat__value small { font-family: var(--kr-font-body); font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); letter-spacing: 0; margin-right: var(--kr-sp-4); }
.kr-stat__note { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
@media (min-width: 768px) {
  .kr-stat { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .kr-stat__cell, .kr-stat__cell:nth-child(even), .kr-stat__cell:nth-child(n+3) { padding: var(--kr-sp-16); border-left: var(--kr-border); border-top: 0; }
  .kr-stat__cell:first-child { padding-left: 0; border-left: 0; }
}

/* ---------- Разделы сайта: строки-ссылки ---------- */
.kr-seclist { border-top: var(--kr-border); }
.kr-seclist__row {
  display: grid; grid-template-columns: minmax(0, 1fr) 20px; gap: var(--kr-sp-4) var(--kr-sp-12); align-items: center;
  min-height: 56px; padding: var(--kr-sp-12) 0; border-bottom: var(--kr-border);
  color: var(--kr-text); text-decoration: none; transition: background-color var(--kr-t);
}
.kr-seclist__row:hover { background: var(--kr-bg-2); color: var(--kr-text); text-decoration: none; }
.kr-seclist__row:hover .kr-seclist__name { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-seclist__main { min-width: 0; display: grid; gap: var(--kr-sp-2); }
.kr-seclist__name { font-size: 16px; line-height: 1.3; font-weight: var(--kr-fw-semibold); }
.kr-seclist__text { font-size: var(--kr-fs-cond); line-height: var(--kr-lh-cond); color: var(--kr-text-muted); }
.kr-seclist__n, .kr-seclist__best { font-size: var(--kr-fs-cond); color: var(--kr-text-muted); grid-column: 1; }
.kr-seclist__n .kr-num, .kr-seclist__best .kr-num { color: var(--kr-text); font-size: var(--kr-fs-num); }
.kr-seclist__row > .kr-icon { grid-column: 2; grid-row: 1; color: var(--kr-text-muted); }
@media (min-width: 768px) {
  .kr-seclist__row { grid-template-columns: minmax(0, 1fr) 110px 220px 20px; gap: var(--kr-sp-16); padding-inline: var(--kr-sp-8); }
  .kr-seclist__n, .kr-seclist__best { grid-column: auto; }
  .kr-seclist__row > .kr-icon { grid-column: auto; grid-row: auto; }
  .kr-seclist__main { grid-template-columns: 220px minmax(0, 1fr); align-items: baseline; gap: var(--kr-sp-16); }
}

/* ---------- Списки ссылок со счётчиком ---------- */
.kr-links { display: grid; gap: var(--kr-sp-24) var(--kr-gap); grid-template-columns: minmax(0, 1fr); }
.kr-links__group { min-width: 0; }
.kr-links__title { margin-bottom: var(--kr-sp-8); color: var(--kr-text-muted); }
.kr-links__list { border-top: var(--kr-border); }
.kr-link {
  display: flex; align-items: center; justify-content: space-between; gap: var(--kr-sp-12);
  min-height: 48px; padding: var(--kr-sp-8) 0; border-bottom: var(--kr-border);
  color: var(--kr-text); text-decoration: none; font-size: var(--kr-fs-ui); line-height: 1.3;
}
.kr-link:hover { color: var(--kr-accent); text-decoration: none; }
.kr-link:hover .kr-link__name { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.kr-link__name { min-width: 0; }
.kr-link__n { flex: none; font-size: var(--kr-fs-cond); color: var(--kr-text-muted); white-space: nowrap; text-align: right; }
.kr-link__n .kr-num { font-size: var(--kr-fs-num-s); }
@media (min-width: 768px) {
  .kr-links--2, .kr-links--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kr-link { min-height: 44px; }
}
@media (min-width: 1200px) { .kr-links--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Плюсы и минусы, шаги, подбор ---------- */
.kr-proscons { display: grid; gap: var(--kr-sp-24) var(--kr-gap); grid-template-columns: minmax(0, 1fr); }
.kr-proscons__title { display: flex; align-items: center; gap: var(--kr-sp-8); margin-bottom: var(--kr-sp-8); }
.kr-proscons__col--plus .kr-proscons__title { color: var(--kr-success); }
.kr-proscons__col--minus .kr-proscons__title { color: var(--kr-error); }
.kr-proscons__list { display: grid; gap: var(--kr-sp-8); font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-proscons__list li { padding-left: var(--kr-sp-16); border-left: var(--kr-border-strong); }
@media (min-width: 768px) { .kr-proscons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.kr-steps { display: grid; gap: var(--kr-sp-16); counter-reset: kr-step; max-width: 880px; }
.kr-steps__item { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--kr-sp-12); counter-increment: kr-step; }
.kr-steps__item::before {
  content: counter(kr-step); display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  background: var(--kr-dark); color: var(--kr-on-dark); font-family: var(--kr-font-mono); font-size: var(--kr-fs-num); font-weight: var(--kr-fw-num-strong);
}
.kr-steps__title { font-size: var(--kr-fs-h4); line-height: var(--kr-lh-h4); font-weight: var(--kr-fw-bold); }
.kr-steps__text { margin-top: var(--kr-sp-4); font-size: var(--kr-fs-small); line-height: 1.55; color: var(--kr-text-muted); max-width: var(--kr-measure); }

.kr-quiz { display: grid; gap: var(--kr-sp-8); }
.kr-quiz__opt { display: flex; align-items: center; gap: var(--kr-sp-12); min-height: 56px; padding: var(--kr-sp-8) var(--kr-sp-16); background: var(--kr-surface); border: var(--kr-border-strong); cursor: pointer; }
.kr-quiz__opt:hover { background: var(--kr-bg-2); }
.kr-quiz__opt input { -webkit-appearance: none; appearance: none; flex: none; width: 20px; height: 20px; margin: 0; border: var(--kr-border-strong); border-radius: var(--kr-r-round); background: var(--kr-surface); display: inline-grid; place-content: center; }
.kr-quiz__opt input::after { content: ""; width: 10px; height: 10px; border-radius: var(--kr-r-round); background: transparent; }
.kr-quiz__opt input:checked { border-color: var(--kr-accent); }
.kr-quiz__opt input:checked::after { background: var(--kr-accent); }
.kr-quiz__opt.is-checked { border: 2px solid var(--kr-accent); padding: calc(var(--kr-sp-8) - 1px) calc(var(--kr-sp-16) - 1px); }

/* ---------- Таблица сведений (условия построчно, кто не прошёл отбор) ---------- */
.kr-dtable-wrap { background: var(--kr-surface); border: var(--kr-border-strong); }
.kr-dtable { width: 100%; display: block; font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); }
.kr-dtable thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kr-dtable tbody { display: block; }
.kr-dtable tr { display: grid; gap: var(--kr-sp-8); padding: var(--kr-sp-16); border-bottom: var(--kr-border); }
.kr-dtable tr:last-child { border-bottom: 0; }
.kr-dtable th, .kr-dtable td { display: block; padding: 0; min-width: 0; }
.kr-dtable td[data-label]::before { content: attr(data-label); display: block; font-size: var(--kr-fs-micro); font-weight: var(--kr-fw-semibold); color: var(--kr-text-muted); margin-bottom: var(--kr-sp-2); }
.kr-dtable__bank { display: flex; align-items: center; gap: var(--kr-sp-8); font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }
.kr-dtable__bank a { color: var(--kr-text); text-decoration: none; }
.kr-dtable__bank a:hover { color: var(--kr-accent); text-decoration: underline; text-decoration-thickness: 1px; }
.kr-dtable .kr-num { font-size: var(--kr-fs-num); }
.kr-dtable ul { display: grid; gap: var(--kr-sp-4); }
.kr-dtable ul li { position: relative; padding-left: var(--kr-sp-16); }
.kr-dtable ul li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; background: var(--kr-line-strong); }
@media (min-width: 768px) {
  .kr-dtable { display: table; }
  .kr-dtable thead { position: static; width: auto; height: auto; clip: auto; display: table-header-group; }
  .kr-dtable tbody { display: table-row-group; }
  .kr-dtable tr { display: table-row; }
  .kr-dtable th, .kr-dtable td { display: table-cell; padding: var(--kr-sp-12); vertical-align: top; border-bottom: var(--kr-border); }
  .kr-dtable tbody tr:last-child > * { border-bottom: 0; }
  .kr-dtable thead th { background: var(--kr-dark); color: var(--kr-on-dark); font-size: var(--kr-fs-th); line-height: var(--kr-lh-th); font-weight: var(--kr-fw-semibold); height: var(--kr-panel-head-h); vertical-align: middle; border-bottom: 0; }
  .kr-dtable td[data-label]::before { content: none; }
  .kr-dtable__num { text-align: right; white-space: nowrap; }
}

/* ---------- Ответы для новичка ---------- */
.kr-explain { display: grid; gap: var(--kr-gap); grid-template-columns: minmax(0, 1fr); border-top: var(--kr-border); }
.kr-explain__item { min-width: 0; padding-block: var(--kr-sp-16); border-bottom: var(--kr-border); display: grid; gap: var(--kr-sp-8); align-content: start; }
.kr-explain__text { font-size: var(--kr-fs-small); line-height: 1.55; }
.kr-explain__src { font-size: var(--kr-fs-micro); line-height: var(--kr-lh-micro); color: var(--kr-text-muted); }
.kr-explain__link { font-size: var(--kr-fs-small); font-weight: var(--kr-fw-semibold); }
@media (min-width: 1200px) {
  .kr-explain { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: var(--kr-rule); border-bottom: var(--kr-border); }
  .kr-explain__item { padding: var(--kr-sp-20) var(--kr-sp-24); border-bottom: 0; }
  .kr-explain__item:first-child { padding-left: 0; }
  .kr-explain__item + .kr-explain__item { border-left: var(--kr-border); }
}

/* ---------- Критерии методики ---------- */
.kr-crit { border-top: var(--kr-border); max-width: 1040px; }
.kr-crit__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--kr-sp-4) var(--kr-sp-16); padding: var(--kr-sp-12) 0; border-bottom: var(--kr-border); align-items: baseline; }
.kr-crit__name { font-size: var(--kr-fs-ui); font-weight: var(--kr-fw-semibold); }
.kr-crit__w { font-family: var(--kr-font-mono); font-size: var(--kr-fs-num); font-weight: var(--kr-fw-num-strong); white-space: nowrap; }
.kr-crit__how { grid-column: 1 / -1; font-size: var(--kr-fs-small); line-height: var(--kr-lh-small); color: var(--kr-text-muted); }
.kr-crit__bar { grid-column: 1 / -1; }
@media (min-width: 768px) {
  .kr-crit__row { grid-template-columns: 250px 64px minmax(0, 1fr); gap: var(--kr-sp-16); }
  .kr-crit__how { grid-column: auto; }
  .kr-crit__w { text-align: right; }
}
