/* ================================================================
   THEME — design tokens (Single Source of Truth for colours)
   ----------------------------------------------------------------
   Light theme = :root. Every light value is the EXACT hex used in
   the original design, so the light theme renders byte-identically.
   Dark theme = html[data-theme="dark"] overrides the same tokens.

   Semantic split note: the brand hex #232B2F historically means BOTH
   "primary ink (text)" AND "dark surface (card/sidebar/button)".
   Tokens separate these roles so they can diverge in the dark theme:
     color:#232B2F      → var(--c-ink)         (flips to light on dark)
     background:#232B2F → var(--c-dark)        (stays a dark surface)
   The same property-aware split applies to #fff, #C9D1C8, #E2E9DF.
   ================================================================ */

:root{
  /* ── Surfaces ─────────────────────────────────────────────── */
  --c-bg:#E2E9DF;            /* page background, topnav, light inner panels */
  --c-surface:#C9D1C8;       /* .card / .card-mid, mid surfaces, secondary btn */
  --c-surface-2:#E2E9DF;     /* lighter inner panel, table row separator */
  --c-white:#fff;            /* white panels, modal, .card-white */
  --c-field:#fff;            /* form fields (inputs, selects, search) */
  --c-dark:#232B2F;          /* .card-dark, sidebar, primary button, dark surfaces */
  --c-dark-2:#2E3A3E;        /* dark elevated / hover (sidebar active, btn-p hover) */
  --c-hover:#d0dad0;         /* light row / button hover background */
  --c-hover-soft:#EEF3EC;    /* light card / matrix-row hover background */
  --c-hover-accent:#f0f4ee;  /* icon-action / product-pill hover background */

  /* ── Text ─────────────────────────────────────────────────── */
  --c-ink:#232B2F;           /* primary text */
  --c-ink-soft:#3a4a38;      /* slightly soft dark text (topnav btn, chart labels) */
  --c-text-2:#627068;        /* secondary text / labels */
  --c-text-3:#8a9888;        /* muted text / hints */
  --c-text-pill:#5a6a58;     /* pill / segmented control inactive text */
  --c-pill-neutral:#eef2ec;  /* neutral pill fill (MSBL unit pill, etc.) */
  --c-on-dark:#fff;          /* text that always sits on a dark surface */
  --c-snav:#3a5038;          /* sidebar section labels */

  /* ── Borders / lines ──────────────────────────────────────── */
  --c-border:#C9D1C8;        /* default border */
  --c-border-2:#b8cbb8;      /* button / topnav / filter border */
  --c-border-soft:#D8E0D5;   /* matrix row border */
  --c-border-hover:#A8BAA4;  /* matrix row hover border */
  --c-border-ico:#9fb09a;    /* icon-action hover border */
  --c-track:#b8c8b8;         /* progress track, dividers, radio border */
  --c-btn-s-hover:#b8c4b8;   /* secondary button hover */

  /* ── Brand (theme-invariant accent) ───────────────────────── */
  --c-brand:#4DB34D;         /* accent / success / active CTA */
  --c-brand-d:#3da33d;       /* brand hover */
  --c-brand-d2:#3da860;      /* signed badge / brand variant */
  --c-scroll:#9aaa98;        /* scrollbar thumb */

  /* ── Primary CTA — единый ОРАНЖЕВЫЙ action (PSB orange) ────────
     Design token `cta.primary.orange` — единственный источник истины
     для главного действия системы «Направить заявку» (и его финальной
     отправки). THEME-INVARIANT: один и тот же оранжевый во всех темах
     (light / dark / psb), как и --c-brand, — чтобы ключевой CTA
     распознавался мгновенно, без чтения текста, на любой странице и в
     любом компоненте. Белый текст на этом оранжевом читаем на всех
     поверхностях. Локальные override цвета этой кнопки запрещены —
     все точки применения берут значение отсюда. */
  --c-cta:#F0591E;           /* default — PSB orange */
  --c-cta-hover:#DB4D14;     /* hover — richer / darker orange */
  --c-cta-active:#BE420C;    /* active/pressed — deeper, затемнённый */
  --c-cta-disabled:#D8B6A8;  /* disabled — приглушённый серо-оранжевый */

  /* ── «Гонка лидеров» / «Мои результаты» — accent геймификации ──
     Бренд-зелёный акцент всей гонки лидеров (кнопки, прогресс-бар,
     иконки этапов/баллов, активные призы, статусы). Бесхозный токен,
     потребляется ИСКЛЮЧИТЕЛЬНО виджетом MSBLiders → переопределение в
     теме ПСБ (ниже) автоматически становится scoped к этому UI, не
     затрагивая другие зелёные элементы системы. По дизайн-системе:
     зелёный в light/dark, корпоративный оранжевый (--c-cta) в ПСБ.
     `-rgb` — триплет для rgba(var(--ldr-acc-rgb),α); `-grad` — тёмный
     стоп градиента прогресс-бара. */
  --ldr-acc:#4DB34D;
  --ldr-acc-rgb:77,179,77;
  --ldr-acc-grad:#3ca83c;

  /* Текстовый акцент «Гонки лидеров» — ВСЕГДА бренд-зелёный МСБЛ #4DB34D
     (эталон — кнопка «Перейти в Гонку лидеров», motivation.js). Только для
     ТЕКСТОВЫХ надписей гонки. В light/dark совпадает с --ldr-acc (тоже
     зелёный) → визуально без изменений. В теме ПСБ НЕ переопределяется
     (остаётся зелёным), тогда как --ldr-acc там оранжевый (--c-cta) —
     им продолжают краситься кнопки, иконки, прогресс-бар, точки, фоны.
     Итог: в ПСБ текст гонки лидеров зелёный, неподписные элементы оранжевые. */
  --ldr-acc-text:#4DB34D;

  /* Always-green companions к --ldr-acc-text (rgb-триплет + тёмный стоп
     градиента). Зеркалят default-значения --ldr-acc-rgb / --ldr-acc-grad
     (бренд-зелёный #4DB34D), но, как и --ldr-acc-text, НЕ переопределяются
     в теме ПСБ. Используются для scoped-восстановления зелёного на вкладке
     «Гонка лидеров → Мои результаты» (прогресс-бар + доступные призы),
     где по требованию дизайна оранжевый --ldr-acc возвращён к зелёному,
     не затрагивая прочие элементы/вкладки гонки. */
  --ldr-acc-green-rgb:77,179,77;
  --ldr-acc-green-grad:#3ca83c;

  /* ── Misc overlays ────────────────────────────────────────── */
  --c-row-hover:rgba(35,43,47,.04);   /* table row hover overlay */
  --c-grid:rgba(0,0,0,.06);           /* chart gridlines (read by charts.js) */

  /* Semantic status INK used as direct text on theme surfaces (not pastel
     chips). Light = the documented status hex; dark brightens for contrast.
     Pastel badge fills keep their own fixed colours and are NOT affected. */
  --c-ok-ink:#166534;
  --c-err-ink:#991b1b;
  --c-warn-ink:#92400e;

  /* ── Translucent overlay base (RGB triplet) ───────────────────
     The pervasive "tint a light surface with the dark ink" idiom —
     rgba(35,43,47,.0X) used for inner panels, dividers, code chips,
     hover backgrounds. Inline usage: rgba(var(--ovl),.0X). The light
     value is the EXACT original ink triplet → opacities preserved
     byte-for-byte; dark flips the base to white so the same tint
     stays visible on dark surfaces instead of vanishing. */
  --ovl:35,43,47;

  color-scheme:light;
}

html[data-theme="dark"]{
  /* ── Surfaces — единая корпоративная ТЁМНАЯ среда на базе #232B2F ──
     Вся тёмная тема выстроена как ramp тинтов одного цвета #232B2F
     (cool teal-charcoal, МСБ): постоянный hue, отношение B/R≈1,3 на каждом
     шаге → НИ одного «случайного» серо-синего оттенка извне палитры.
       L0 #232B2F — page background (доминирующая база, самый тёмный)
       L1 #2A3237 — recessed accent (.card-dark, сайдбар, primary btn)
       L2 #323C42 — surface (обычная .card)
       L3 #3C474E — elevated (вложенные панели, hover, поля)
       L3+ #414D55 — top elevation (модалки/поповеры)
     Прежняя палитра (#111827/#1F2937/#374151 — Tailwind slate, синий
     отлив, вне линейки МСБ) полностью заменена. */
  --c-bg:#232B2F;            /* L0 — доминирующий фон всей dark theme */
  --c-surface:#323C42;       /* L2 — .card / mid surfaces */
  --c-surface-2:#3C474E;     /* L3 — светлее: вложенная панель, разделитель строк */
  --c-white:#414D55;         /* L3+ — модалки/поповеры/белые карточки (top elevation) */
  --c-field:#3C474E;         /* L3 — поля ввода (читаемы на L2-карточках) */
  --c-dark:#2A3237;          /* L1 — .card-dark, сайдбар, primary btn (recessed accent) */
  --c-dark-2:#3C474E;        /* L3 — dark elevated / hover (sidebar active, btn-p hover) */
  --c-hover:#3C474E;         /* L3 — row / button hover background */
  --c-hover-soft:rgba(255,255,255,.06);
  --c-hover-accent:rgba(255,255,255,.06);

  /* ── Text — нейтрализован под семейство #232B2F, высокий контраст ──
     Контраст на L0 #232B2F: primary ~15:1, secondary ~7,4:1, muted ~4,9:1
     (muted больше НЕ «исчезает» на тёмно-сером). Тёплый отлив убран —
     серо-синий cast прежней палитры заменён нейтрально-холодным. */
  --c-ink:#F3F5F4;           /* primary text (near-white, ~15:1) */
  --c-ink-soft:#DCE1DF;      /* slightly soft dark text */
  --c-text-2:#B4BEBA;        /* secondary text / labels (~7,4:1) */
  --c-text-3:#929E99;        /* muted text / hints (~4,9:1 — читаем, не сливается) */
  --c-pill-neutral:rgba(255,255,255,.08);
  --c-text-pill:#B4BEBA;
  --c-on-dark:#F3F5F4;
  --c-snav:#7f9b7d;          /* sidebar section labels (muted brand-green) */

  /* ── Borders / lines — производные L4/L5, чётко различимы на слоях ──
     Прежние #4B5563/#6B7280 (синий slate) заменены тинтами #232B2F:
     L4 #46535B (бордеры/треки) выше поверхностей → границы карточек и
     разделители видимы; L5 #56646C — hover. */
  --c-border:#46535B;        /* L4 — default border (виден на L2-картах) */
  --c-border-2:#46535B;      /* L4 — button / topnav / filter border */
  --c-border-soft:#3C474E;   /* L3 — тонкий разделитель внутри карточек */
  --c-border-hover:#56646C;  /* L5 — hover border */
  --c-border-ico:#56646C;    /* L5 — icon-action hover border */
  --c-track:#46535B;         /* L4 — progress track / dividers / radio border */
  --c-btn-s-hover:#46535B;   /* L4 — secondary button hover */
  /* dark-only: light side uses the inline var() fallback (#DCE3D8) so the
     light theme stays byte-identical; dark gets a translucent row hover. */
  --c-hover-row:rgba(255,255,255,.06);
  /* dark-only gauge needle/hub colours (SVG fill); light uses inline fallback */
  --c-gauge-needle:#DCE1DF;
  --c-gauge-needle2:#929E99;
  /* dark-only readonly/disabled field bg; light uses inline fallback (#f8f8f8) */
  --c-field-ro:#2A3237;      /* L1 — recessed readonly well */
  /* dark-only neutral status-pill bg; light uses inline fallback (#eef2ec) */
  --c-pill-neutral:rgba(255,255,255,.08);
  /* dark-only login secondary link colour; light uses inline fallback (#4a5a48) */
  --c-login-link:#9fb3a8;

  /* ── Brand (kept identical for consistency) ───────────────── */
  --c-brand:#4DB34D;
  --c-brand-d:#43a047;
  --c-brand-d2:#43a860;
  --c-scroll:#46535B;        /* L4 — scrollbar thumb */

  /* ── Сегментированные переключатели: активная кнопка (ТОЛЬКО dark) ──
     Активное состояние сегментов выделяется фирменным зелёным (а не просто
     более тёмной/светлой поверхностью) — единый язык выделения с .mrow.sel
     в «Матрице АВ». Сохранено при переходе на ramp #232B2F: даже теперь, когда
     var(--c-dark) (L1 #2A3237) и var(--c-surface) (L2 #323C42) различаются,
     зелёный «ринг» остаётся каноничным выделением выбора.
     Решение в той же дизайн-системе, что и .mrow.sel: лёгкий зелёный тинт +
     яркий фирменный зелёный «ринг» (box-shadow вместо реальной рамки — без
     сдвига box-model) + мягкое зелёное свечение. Эти токены НЕ объявлены в
     :root (светлая тема) → инлайновые fallback'и сохраняют светлую тему
     байт-в-байт; переопределяется только тёмная. Применяются обоими экранами
     («Структура банка» и «Все заявки») через инлайновый var() — без правки
     логики/анимаций и без !important. */
  --c-seg-active-bg:rgba(77,179,77,.18);
  --c-seg-active-ring:0 0 0 1.5px var(--c-brand),0 2px 12px rgba(77,179,77,.28);

  /* ── Misc overlays ────────────────────────────────────────── */
  --c-row-hover:rgba(255,255,255,.05);
  --c-grid:rgba(255,255,255,.08);

  /* Flip the overlay base to white so rgba(var(--ovl),.0X) tints
     lighten the dark surface (the light-ink tint would be invisible). */
  --ovl:255,255,255;

  /* Brightened status ink for legibility on dark surfaces */
  --c-ok-ink:#5dc878;
  --c-err-ink:#f08a8a;
  --c-warn-ink:#e3b341;

  color-scheme:dark;
}

/* ================================================================
   PSB THEME — официальная корпоративная тема банка ПСБ
   ----------------------------------------------------------------
   Светлая по базе (как :root), но в фирменной палитре ПСБ из брендбука:
     • тёмно-синий / индиго (navy)  — сайдбар, первичные кнопки, активные
       вкладки/пункты меню (фирменный «синий» для основных действий);
     • лавандовые нейтрали          — фон страницы и поверхности карточек;
     • чернильный navy-текст        — высокий контраст на лаванде;
     • зелёный (--c-brand)          — успех/положительная динамика (в самом
       брендбуке зелёные стрелки роста — стр. 7/11/12/13), сохранён;
     • оранжевый                    — акцент (графики/бейджи/важное).
   Все значения подобраны под высокий контраст (мелкие подписи,
   placeholder, disabled, бейджи читаемы). Перекрываются только токены —
   ни один компонент не дублируется. PSB — light-based, поэтому
   isDarkTheme()===false и «светлые» ветки логики (карта, доноты) подходят.
   ================================================================ */
html[data-theme="psb"]{
  /* ── Surfaces ─────────────────────────────────────────────── */
  --c-bg:#EAECF8;            /* page background, topnav, light inner panels */
  --c-surface:#DCDFF4;       /* .card / .card-mid, mid surfaces, secondary btn */
  --c-surface-2:#F0F1FB;     /* lighter inner panel, table row separator */
  --c-white:#FFFFFF;         /* white panels, modal, .card-white */
  --c-field:#FFFFFF;         /* form fields (inputs, selects, search) */
  --c-dark:#1E2562;          /* .card-dark, sidebar, primary button, dark surfaces (PSB navy) */
  --c-dark-2:#2A3280;        /* dark elevated / hover (sidebar active, btn-p hover) */
  --c-hover:#DDE1F4;         /* light row / button hover background */
  --c-hover-soft:#EEF0FB;    /* light card / matrix-row hover background */
  --c-hover-accent:#EFF1FC;  /* icon-action / product-pill hover background */

  /* ── Text ─────────────────────────────────────────────────── */
  --c-ink:#1A2150;           /* primary text (deep navy, ~14:1 on white) */
  --c-ink-soft:#2A3270;      /* slightly soft dark text (topnav btn, chart labels) */
  --c-text-2:#4F5489;        /* secondary text / labels (~7:1 on white) */
  --c-text-3:#6A6FA0;        /* muted text / hints (~4.6:1 on white) */
  --c-text-pill:#565B92;     /* pill / segmented control inactive text */
  --c-pill-neutral:#E6E8F6;  /* neutral pill fill */
  --c-on-dark:#FFFFFF;       /* text that always sits on a dark surface */
  --c-snav:#9AA0DA;          /* sidebar section labels (light periwinkle on navy) */

  /* ── Borders / lines ──────────────────────────────────────── */
  --c-border:#CCD0EC;        /* default border */
  --c-border-2:#BEC3E5;      /* button / topnav / filter border */
  --c-border-soft:#DBDFF3;   /* matrix row border */
  --c-border-hover:#9AA1D6;  /* matrix row hover border */
  --c-border-ico:#A6ADDA;    /* icon-action hover border */
  --c-track:#C6CBEB;         /* progress track, dividers, radio border */
  --c-btn-s-hover:#CCD0EC;   /* secondary button hover */

  /* ── Brand (зелёный = успех/рост, сохранён как в брендбуке) ── */
  --c-brand:#4DB34D;         /* accent / success / positive / active CTA */
  --c-brand-d:#43a047;       /* brand hover */
  --c-brand-d2:#3da860;      /* signed badge / brand variant */
  --c-scroll:#AEB4DD;        /* scrollbar thumb (visible lavender) */

  /* «Гонка лидеров» — весь зелёный акцент геймификации → корпоративный
     оранжевый ПСБ (--c-cta). Зелёный success-mapping в ПСБ отключён;
     neutral / red(delta) / gold(медали) не затрагиваются. См. :root. */
  --ldr-acc:#F0591E;
  --ldr-acc-rgb:240,89,30;
  --ldr-acc-grad:#DB4D14;

  /* ── Прогресс-бары вкладки «Конверсия» — единый монохром ──────
     В теме ПСБ все Chart.js-графики приводятся к монохрому плагином
     psbMono (charts.js); на светлой лавандовой карте линия виджета
     «Динамика конверсии» становится тёмно-серой RAMP_LIGHT[0] (#2E3346).
     HTML-прогресс-бары (scoringFill/takeFill/lpdFill) плагин не трогает —
     синхронизируем их вручную с эталоном. В light/dark токен не задан →
     инлайновый fallback var(--c-conv-bar,#4DB34D) сохраняет бренд-зелёный. */
  --c-conv-bar:#2E3346;      /* = psbMono RAMP_LIGHT[0] (эталон «Динамика конверсии») */

  /* ── Misc overlays ────────────────────────────────────────── */
  --c-row-hover:rgba(26,33,80,.05);   /* table row hover overlay */
  --c-grid:rgba(26,33,80,.08);        /* chart gridlines (read by charts.js) */

  /* Semantic status INK (direct text on theme surfaces) */
  --c-ok-ink:#1B7A3E;
  --c-err-ink:#B3261E;
  --c-warn-ink:#945200;

  /* Translucent overlay base → navy ink triplet (light-based tinting) */
  --ovl:26,33,80;

  /* Дополнительные токены (имеют инлайновые light-fallback'и; задаём
     явно под ПСБ, чтобы спец-поверхности были фирменными). */
  --c-hover-row:rgba(26,33,80,.05);   /* table row hover (apps list) */
  --c-field-ro:#EFF0F9;               /* readonly / disabled field bg */
  --c-login-link:#3A3F8F;             /* login secondary link */

  color-scheme:light;
}

/* ── PSB component overrides (как у dark — точечно, где токенов мало) ──
   1) Сайдбар-ссылки (.slink) красятся в --c-text-2 (тёмный navy-текст для
      основного контента) → на ТЁМНОМ navy-сайдбаре он нечитаем. Декаплим:
      на сайдбаре ПСБ — светлый перивинкль. 2) Логин-панель справа — навешиваем
      фирменный indigo→navy градиент вместо серо-чёрного дефолтного. */
html[data-theme="psb"] .slink{color:#C5C9EC}
html[data-theme="psb"] .slink:hover{color:#FFFFFF}

/* ── PSB · «Гонка лидеров» → подвкладка «Условия» — восстановление
   исходного бренд-зелёного акцента (до оранжевого изменения) ─────────
   В ПСБ корневой блок выше мапит --ldr-acc* на корпоративный оранжевый
   (--c-cta) для ВСЕЙ «Гонки лидеров». Здесь scoped-оверрайдом возвращаем
   эти токены к их ОРИГИНАЛЬНЫМ :root-значениям (бренд-зелёный МСБЛ #4DB34D,
   тот же, что --c-brand) ТОЛЬКО внутри контейнера «Условий» (.ldr-cond).
   Эффект: иконки (глиф + плашка), кнопка «Смотреть призы», свечение и
   бордюры подвкладки «Условия» снова зелёные — как в исходном дизайне.
   Scope строго: только data-theme="psb" (light/dark не затронуты — там
   --ldr-acc* и так зелёные) и только .ldr-cond (другие подвкладки гонки —
   «Мои результаты»/«Призы»/«Лидеры» — остаются оранжевыми в ПСБ). Новых
   оттенков/HEX не вводится: значения = оригинальные :root-токены гонки. */
html[data-theme="psb"] .ldr-cond{
  --ldr-acc:#4DB34D;
  --ldr-acc-rgb:77,179,77;
  --ldr-acc-grad:#3ca83c;
}
html[data-theme="psb"] .lr{background:linear-gradient(135deg,#3A3F8F,#1A2150);color:#EEF0FB}
/* Раздел «Партнёры» форсирует тёмную поверхность хардкодом #232B2F (не токен)
   → в теме ПСБ выравниваем на фирменный navy, чтобы не выбиваться. */
html[data-theme="psb"] .partners-dark .card{background:#1E2562}

/* ── PSB accent re-distribution (только тема PSB) ──────────────────
   Перенос оранжевого primary-акцента (--c-cta) в теме ПСБ:
   1) Топ-нав «Направить заявку» (.tnbtn.cta) — НЕ выделяется оранжевым,
      а выглядит нейтрально, как соседняя «Все заявки» (.tnbtn). Зеркалит
      базовые состояния .tnbtn / :hover / .active (base.css). Специфичность
      html[data-theme] + .tnbtn.cta перекрывает базовые cta-правила.
   2) Pipeline «Открыть доску» (.stage-open-link) — становится акцентной
      оранжевой текст-ссылкой (--c-cta) вместо зелёной: главное действие
      виджета. Структура/hover-анимация ссылки не меняются — только цвет.
   В light/dark обе кнопки сохраняют задокументированное поведение
   (оранжевый CTA «Направить заявку», зелёная «Открыть доску») — оверрайды
   действуют ИСКЛЮЧИТЕЛЬНО при data-theme="psb". Новых цветов не вводится:
   переиспользуются существующие токены --c-cta / --c-cta-hover. */
html[data-theme="psb"] .tnbtn.cta{background:transparent;border-color:var(--c-border-2);color:var(--c-ink-soft);font-weight:500}
html[data-theme="psb"] .tnbtn.cta:hover{background:var(--c-hover);border-color:var(--c-border-2)}
html[data-theme="psb"] .tnbtn.cta:active{background:var(--c-hover);border-color:var(--c-border-2)}
html[data-theme="psb"] .tnbtn.cta.active{background:var(--c-dark);border-color:var(--c-dark);color:#fff}
html[data-theme="psb"] .stage-open-link{color:var(--c-cta)}
html[data-theme="psb"] .nav-card:hover .stage-open-link{color:var(--c-cta-hover)}
html[data-theme="psb"] .pipeline-card.nav-card:hover .stage-open-link{color:var(--c-cta)}

/* ================================================================
   DARK-THEME COMPONENT OVERRIDES
   For components where simple token-flipping is not enough
   (pastel status blocks, overlays, chat bubble differentiation).
   These rules apply ONLY in dark theme — light stays untouched.
   ================================================================ */

/* INN-check result blocks are coloured "alert islands": pastel background +
   fixed status-coloured (dark) text. They read fine on a dark page, so we KEEP
   them light in the dark theme and locally redefine the tokens back to their
   light values inside .inn-result — so every descendant var(--c-*) (markers,
   secondary text, white sub-cards) resolves to the light palette and the whole
   block renders exactly as in the light theme. */
html[data-theme="dark"] .inn-result{
  --c-white:#fff; --c-field:#fff;
  --c-ink:#232B2F; --c-text-2:#627068; --c-text-3:#8a9888;
  --c-surface:#C9D1C8; --c-surface-2:#E2E9DF; --c-border:#C9D1C8; --c-bg:#E2E9DF;
}

/* Chat bubbles: bank uses --c-dark (L1 #2A3237), msbl uses --c-surface
   (L2 #323C42). They differ on the new ramp, but lifting msbl to surface-2
   (L3 #3C474E) gives a clearer two-bubble separation. */
html[data-theme="dark"] .chat-msg.msbl{background:var(--c-surface-2)}

/* Матрица АВ — выбранный параметр в ТЁМНОЙ теме.
   На «светлых» карточках (.card: Фин. состояние / Размер аванса /
   Ликвидность) выбранная строка .mrow.sel использует background+border
   var(--c-dark) = L1 #2A3237, близкий к фону карточки (--c-surface = L2
   #323C42) → на тёмной теме разница слоёв слишком мала для «выбора».
   Заменяем заливку на лёгкий зелёный тинт, контур — фирменный ярко-зелёный
   (--c-brand #4DB34D) 2px + мягкое зелёное свечение. box-sizing:border-box
   глобальный → утолщение рамки не двигает соседние строки. Светлая тема
   и логика расчёта АВ не затрагиваются — только оформление активного
   состояния. Плавность сохранена базовым transition:all .18s у .mrow. */
html[data-theme="dark"] .mrow.sel{
  background:rgba(77,179,77,.18);
  color:#fff;
  border-color:var(--c-brand);
  border-width:2px;
  box-shadow:0 0 0 1px rgba(77,179,77,.28),0 2px 12px rgba(77,179,77,.24);
}
html[data-theme="dark"] .mrow.sel .mdiv{background:rgba(77,179,77,.45)}

/* «Факторы риска» (.card-dark) — active state = корпоративный PSB orange
   (token --c-cta). Контур 2px + свечение тем же accent-токеном, оттенки
   тинта/свечения произведены из токена через color-mix (без нового hex).
   Единый CTA-оранжевый во всех темах; зелёные карточки параметров выше
   (Фин/Аванс/Ликвидность) НЕ затронуты — правка точечная. */
html[data-theme="dark"] .card-dark .mrow.sel{
  background:color-mix(in srgb,var(--c-cta) 22%,transparent);
  border-color:var(--c-cta);
  border-width:2px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--c-cta) 28%,transparent),0 2px 12px color-mix(in srgb,var(--c-cta) 24%,transparent);
}

/* Login left panel: the B&W logo is meant for a light background; on the dark
   panel render it as a white silhouette so it stays visible. */
html[data-theme="dark"] .ll img{filter:brightness(0) invert(1)}

/* Status badges keep their light pastel fills (colourful chips read fine on
   dark); only the neutral ones are token-driven. The pastel ones stay as-is. */

/* Login right panel keeps its brand gradient; left panel follows --c-bg. */

/* D3 map reset button uses an inline light background — handled in charts.js. */
