/* Сгенерировано из design/tokens.json — руками не править.
   Тема: Б — объект. Правка дизайна: design/tokens.json + python design/build.py
   Своего акцентного цвета нет: цвет дают знаки сервисов, белым отмечено только действие. */

@import url("/fonts/geist.css");

:root {
  color-scheme: dark;
  --scg-font: "Geist", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --scg-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --scg-action: #ffffff;
  --scg-action-hover: #ededed;
  --scg-backdrop: rgba(0,0,0,.62);
  --scg-bad: #ff7a66;
  --scg-bg: #08080a;
  --scg-faint: rgba(255,255,255,.50);
  --scg-field: rgba(255,255,255,.05);
  --scg-field-line: rgba(255,255,255,.22);
  --scg-ink: #ffffff;
  --scg-ink-2: rgba(255,255,255,.72);
  --scg-line: rgba(255,255,255,.14);
  --scg-line-2: rgba(255,255,255,.08);
  --scg-muted: rgba(255,255,255,.56);
  --scg-ok: #5bd08a;
  --scg-on-action: #08080a;
  --scg-placeholder: rgba(255,255,255,.38);
  --scg-surface: #16161b;
  --scg-surface-2: #1e1e25;
  --scg-surface-3: #272730;
  --scg-warn: #ffd27a;
  --scg-r-lg: 18px;
  --scg-r-md: 14px;
  --scg-r-pill: 999px;
  --scg-r-sm: 10px;
  --scg-r-xl: 26px;
  --scg-r-xxl: 30px;
  --scg-s-1: 4px;
  --scg-s-2: 8px;
  --scg-s-3: 12px;
  --scg-s-4: 16px;
  --scg-s-5: 20px;
  --scg-s-6: 26px;
  --scg-s-7: 34px;
  --scg-s-8: 44px;
  --scg-s-9: 64px;
  --scg-shadow-card: inset 0 1px 0 rgba(255,255,255,.05);
  --scg-shadow-lift: inset 0 1px 0 rgba(255,255,255,.06), 0 20px 40px -24px #000000;
  --scg-shadow-overlay: 0 70px 100px -60px #000000, inset 0 1px 0 rgba(255,255,255,.08);
  --scg-shadow-plate: inset 0 1px 0 rgba(255,255,255,.14), inset 0 -1px 0 rgba(0,0,0,.55), 0 6px 14px -8px #000000;
  --scg-brand-claude: #2b1c12;
  --scg-brand-fortnite: #1a1230;
  --scg-brand-gemini: #101827;
  --scg-brand-grok: #000000;
  --scg-brand-openai: #000000;
  --scg-brand-perplexity: #0d2f34;
  --scg-brand-telegram: #0b1d2a;
  --scg-brand-zoom: #1c2a5e;
  --scg-type-body: 17px/1.5 "Geist", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --scg-track-body: 0;
  --scg-weight-body: 400;
  --scg-type-display: 96px/0.92 "Geist", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --scg-track-display: -0.055em;
  --scg-weight-display: 500;
  --scg-type-h1: 46px/1.02 "Geist", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --scg-track-h1: -0.05em;
  --scg-weight-h1: 500;
  --scg-type-h2: 34px/1.02 "Geist", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --scg-track-h2: -0.04em;
  --scg-weight-h2: 500;
  --scg-type-small: 13.5px/1.5 "Geist", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --scg-track-small: 0;
  --scg-weight-small: 400;
  --scg-type-title: 22px/1.2 "Geist", -apple-system, "SF Pro Text", "Segoe UI", Roboto, sans-serif;
  --scg-track-title: -0.03em;
  --scg-weight-title: 500;
}

:root {
  --paper: #16161b;
  --sand: #08080a;
  --card: #16161b;
  --card-hi: #1e1e25;
  --ink: #ffffff;
  --ink-80: rgba(255,255,255,.82);
  --ink-74: rgba(255,255,255,.76);
  --ink-68: rgba(255,255,255,.72);
  --ink-56: rgba(255,255,255,.60);
  --ink-50: rgba(255,255,255,.56);
  --hairline: rgba(255,255,255,.14);
  --field: rgba(255,255,255,.22);
  --banana: #ffffff;
  --banana-press: #ededed;
  --ring: rgba(255,255,255,.55);
  --ok: #5bd08a;
  --error: #ff7a66;
  --r-sm-spec: 14px;
  --r-md-spec: 18px;
  --r-lg-spec: 26px;
  --ap-bg: #08080a;
  --ap-bg-2: #16161b;
  --ap-bg-3: #1e1e25;
  --ap-tint: rgba(255,255,255,.06);
  --ap-ink: #ffffff;
  --ap-ink-2: rgba(255,255,255,.72);
  --ap-ink-3: rgba(255,255,255,.50);
  --ap-line: rgba(255,255,255,.14);
  --ap-line-2: rgba(255,255,255,.08);
  --ap-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  --ap-shadow-sm: inset 0 1px 0 rgba(255,255,255,.05);
  --ap-accent: #ffffff;
  --ap-accent-2: #ededed;
  --ap-on-accent: #08080a;
  --ap-link: #ffffff;
  --ap-green: #5bd08a;
  --ap-green-ink: #5bd08a;
  --ap-red: #ff7a66;
  --ap-red-ink: #ff7a66;
  --bp-banana: #ffffff;
  --bp-banana-hover: #ededed;
  --bp-banana-press: #ededed;
  --bp-ink: #ffffff;
  --bp-paper: #16161b;
  --bp-sand: #08080a;
  --bp-signal: #ffffff;
  --bp-success: #5bd08a;
  --bp-error: #ff7a66;
  --bp-dark-bg: #08080a;
  --bp-dark-card: #16161b;
  --bp-dark-nested: #1e1e25;
  --ap-font: var(--scg-font);
  --ap-mono: var(--scg-mono);
  --bp-display: var(--scg-font);
  --bp-text: var(--scg-font);
  --font-text: var(--scg-font);
  --font-head: var(--scg-font);
  --cb-font: var(--scg-font);
  --cb-mono: var(--scg-mono);
}

html,
body {
  background: var(--sand);
  color: var(--ink);
  font-family: var(--scg-font);
}

.mono, code, kbd, pre, .ord-id, .dl-body { font-family: var(--scg-mono); }

/* Вордмарк набран тем же шрифтом: отдельной гарнитуры у лого больше нет.
   Селекторы длиннее, чем хочется, — в cabinet.css и на партнёрской лежат
   правила с !important и своей вложенностью, короткие им проигрывают. */
.logo-text, .logo-endorse, .o-logo-text, .o-logo-endorse, .lock b, .lock span, .wordmark,
.fn-header .logo-text, .fn-header .logo-endorse, .logo .lt b, .logo .lt span,
.logo b, .logo span, .em-total b {
  font-family: var(--scg-font) !important;
}

/* Моноширинный — тоже один: номера заказов набраны Geist Mono. */
.fail-order b, .os-id, .ord-num, .pay-id, .id-mono {
  font-family: var(--scg-mono) !important;
}

.card, .panel, .box, .tile, .sheet, .modal, .dialog,
.faq-item, .doc, .doc-body, .article, .article-body {
  background: var(--card);
  color: var(--ink);
  box-shadow: var(--scg-shadow-card);
}

/* Поля и кнопки не наследуют шрифт сами — у <select> он остаётся системным. */
button, input, textarea, select { font-family: var(--scg-font); }

input, textarea, select {
  background: var(--scg-field);
  color: var(--ink);
  border-color: var(--scg-field-line);
}

input::placeholder, textarea::placeholder { color: var(--scg-placeholder); }

hr { border-color: var(--hairline); }

/* Знаки сервисов: чёрные варианты логотипов на тёмном не видны. Пока разметка
   отдаёт тёмный файл, разворачиваем его в светлый. */
img[src*="openai.svg"],
img[src*="grok.svg"],
img[src*="fortnite.svg"] { filter: invert(1); }

/* BananPay в sellchatgpt больше нет: ни подписи под вордмарком, ни маскота.
   В разметке остатки вычищены, правило страхует старые кэши страниц. */
.lock-sub, .wordmark-sub, .logo-endorse, .o-logo-endorse,
.logo-mascot, .auth-mascot, .mascot { display: none !important; }


/* ── Лендинги сервисов в композиции Б ─────────────────────────────────────
   Разметку не трогаем. Меняем масштаб заголовков, форму карточек и метки:
   тариф — поверхность с волосяной обводкой, выбранный — светлая рамка,
   шаги — строки со знаком, сравнение — таблица без бумаги. */

.o-h1 {
  font-size: 56px !important;
  line-height: 0.98 !important;
  font-weight: 500 !important;
  letter-spacing: -0.05em !important;
}

.o-h2 {
  font-size: 34px !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.04em !important;
}

.o-kicker, .o-tag, .o-cmp-hint, .o-steps-note, .o-note {
  color: var(--scg-muted) !important;
}

.o-lead, .o-sub { color: var(--scg-ink-2) !important; }

.o-plan, .o-cmp-card, .o-why-card, .o-more-card, .o-step, .o-faq-i, .o-learn-in, .o-need {
  border-radius: var(--scg-r-xl) !important;
  background: var(--scg-surface) !important;
  box-shadow: var(--scg-shadow-card) !important;
  border: 0 !important;
}

/* Выбранный тариф: светлая рамка вместо жёлтой заливки */
.o-plan--hot, .o-cmp-card--hot {
  background: var(--scg-surface-2) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22) !important;
}

.o-plan-pr, .o-cmp-pr {
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: var(--scg-ink) !important;
}

.o-plan-nm, .o-cmp-nm, .o-more-nm, .o-step-t {
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: var(--scg-ink) !important;
}

.o-plan-ds, .o-plan-l, .o-more-ds, .o-step-s, .o-cmp-for { color: var(--scg-muted) !important; }

/* Номер шага — знак, а не жёлтый кружок */
.o-step-n {
  border-radius: var(--scg-r-md) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--scg-ink) !important;
  font-weight: 600 !important;
}

.o-tags .o-tag {
  border-radius: var(--scg-r-pill) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink-2) !important;
}

/* Липкая полоса покупки внизу */
.o-sticky {
  background: rgba(8, 8, 10, 0.86) !important;
  border-top: 1px solid var(--scg-line) !important;
  backdrop-filter: saturate(140%) blur(14px);
}

.o-buy, .o-sticky-btn, .o-final-btn, .o-learn-btn, .o-cmp-btn, .o-more-go, .o-mini {
  border-radius: var(--scg-r-pill) !important;
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
  box-shadow: none !important;
}

.o-final-btn--sec {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}

.o-back, .o-foot-links a, .o-foot-nav a { color: var(--scg-ink-2) !important; }
.o-foot { border-top: 1px solid var(--scg-line) !important; }

/* ── Оплата, отказ, успех ──────────────────────────────────────────────── */
.os-card, .os-box, .os-sum, .os-row, .pay-card, .pay-box {
  border-radius: var(--scg-r-xl) !important;
  background: var(--scg-surface) !important;
  box-shadow: var(--scg-shadow-card) !important;
}


/* ── Оплата, отказ и успех: общая воронка ──────────────────────────────────
   Три страницы делят разметку (card, order-summary, steps, nf). Приводим их
   к одному виду: поверхность радиуса xl, шаги строкой, действие — пилюля. */

.fn-main h1, .nf-main h1, .card h1, .os-title {
  font-size: 40px !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
}

.card, .order-summary, .next-steps, .fail-sum, .fail-tips, .fail-help,
.cap-box, .reasons, .nf, .os-body {
  border-radius: var(--scg-r-xl) !important;
  background: var(--scg-surface) !important;
  box-shadow: var(--scg-shadow-card) !important;
  border: 0 !important;
}

.os-price { font-weight: 600 !important; letter-spacing: -0.03em !important; }
.os-sub, .os-meta, .ns-t, .consent-note, .note, .cap-note, .fail-copy { color: var(--scg-ink-2) !important; }

.step-dot {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: var(--scg-line) !important;
}
/* Кружок шага залит, значит знак внутри должен быть тёмным. Заливку ставит этот
   слой, а цвет знака — funnel.css, и на шаге с ошибкой они сошлись в один тон:
   красная «2» на красном кружке. На экране это выглядело как пустая точка. */
.step.is-done .step-dot { background: var(--scg-ok) !important; color: var(--scg-on-action) !important; }
.step.is-now .step-dot, .step.is-active .step-dot { background: var(--scg-action) !important; color: var(--scg-on-action) !important; }
.step.is-error .step-dot { background: var(--scg-bad) !important; color: var(--scg-on-action) !important; }

.btn-primary, .btn-lg, .btn-full { border-radius: var(--scg-r-pill) !important; }
.btn-secondary, .btn-tg {
  border-radius: var(--scg-r-pill) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}

.field, .field-row input, .field--code input {
  background: var(--scg-field) !important;
  border-radius: var(--scg-r-md) !important;
  border-color: var(--scg-field-line) !important;
  color: var(--scg-ink) !important;
}

.alert, .alert--error, .field-err, .err {
  border-radius: var(--scg-r-lg) !important;
  background: rgba(255, 122, 102, 0.12) !important;
  color: #ff9d8b !important;
  border: 0 !important;
}

/* Пустая коробка ошибки — место, которое держат заранее, чтобы форма не
   прыгала при первой ошибке. Заливать её нельзя: на форме входа в CRM под
   кнопкой постоянно висела красная полоса без текста. */
.alert:empty, .alert--error:empty, .field-err:empty, .err:empty {
  background: transparent !important;
  padding: 0 !important;
}

.fn-header { border-bottom: 1px solid var(--scg-line) !important; }

/* Шапки страниц второго уровня. apple.css красит .header и .hdr в светлое
   матовое стекло rgba(245,245,247,.94); тёмный слой его не перекрывал, и на
   оферте, политике, возврате, 404, партнёрской и в академии сверху висела
   белая полоса с белым же вордмарком и белыми ссылками — не видно ничего.
   Селектор повторяет апловский целиком, иначе .header.scrolled его переспорит. */
.header, .header.scrolled, .header--past, .hdr {
  background: rgba(8, 8, 10, 0.86) !important;
  border-bottom: 1px solid var(--scg-line) !important;
  box-shadow: none !important;
}
.fn-foot { border-top: 1px solid var(--scg-line) !important; color: var(--scg-muted) !important; }

/* Знак сервиса в сводке заказа — подложка тона бренда */
.os-g-gpt { background: var(--scg-brand-openai) !important; }
.os-g-claude { background: var(--scg-brand-claude) !important; }
.os-g-gemini { background: var(--scg-brand-gemini) !important; }
.os-g-other { background: rgba(255, 255, 255, 0.08) !important; }
.os-mark { border-radius: var(--scg-r-md) !important; }

/* ── Документы и длинные тексты ────────────────────────────────────────── */
.legal-page h1, .doc h1 {
  font-size: 46px !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.05em !important;
}

.legal-page h2, .doc h2 {
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em !important;
}

.legal-page p, .legal-page li, .doc p, .doc li {
  color: var(--scg-ink-2) !important;
  line-height: 1.7 !important;
}

/* ── Кабинет: свой набор --cb-* и белые карточки с !important ──────────────
   Перекрываем и переменные, и те места, где белый прибит жёстко. */
:root {
  --cb-bg: var(--scg-bg);
  --cb-ink: var(--scg-ink);
  --cb-ink-2: var(--scg-ink-2);
  --cb-muted: var(--scg-muted);
  --cb-line: var(--scg-line);
  --cb-card: var(--scg-shadow-card);
  --cb-card-hover: var(--scg-shadow-lift);
  --cb-banana: var(--scg-action);
  --cb-ok: var(--scg-ok);
  --cb-soon: var(--scg-warn);
}

.lk-side, .as-card, .ord, .dl-copy, .dl-row, .xs-card, .lk-nav, .lk-card,
.fn-header {
  background: var(--scg-surface) !important;
  color: var(--scg-ink) !important;
  border-color: var(--scg-line) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.ord-act.is-primary {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
}


/* ── Кабинет в композиции Б ────────────────────────────────────────────────
   Разметку и скрипты не трогаем: меняем только то, как это выглядит.
   Боковые вкладки — пилюли, панели — поверхности радиуса xl, заказ — строка
   с моноширинным номером и знаком состояния, действие — белая пилюля. */

.lk-side {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.lk-nav {
  background: transparent !important;
  box-shadow: none !important;
  gap: 4px !important;
}

.lk-tab {
  border-radius: var(--scg-r-pill) !important;
  background: transparent !important;
  color: var(--scg-ink-2) !important;
  border: 0 !important;
  font-weight: 500 !important;
}

.lk-tab:hover { background: rgba(255, 255, 255, 0.06) !important; }

.lk-tab.on {
  background: rgba(255, 255, 255, 0.10) !important;
  color: var(--scg-ink) !important;
  font-weight: 600 !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}

.lk-tab svg { opacity: .9; }

.lk-head h1 {
  font-size: 44px !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
}

.lk-pane, .tk-sec {
  background: transparent !important;
  box-shadow: none !important;
}

/* ── Знак сервиса: одна плитка на сайт, кабинет и письма ───────────────────
   covers.css рисует прямоугольник 1.586 со светлым градиентом бренда — на
   тёмной странице такие плитки светятся белыми пятнами, и кабинет выглядит
   иначе, чем витрина. На витрине знак устроен так: КВАДРАТ в тоне бренда
   и одноцветная марка поверх. Повторяем это здесь, чтобы страницы совпадали.

   Марки лежат разные: openai/grok/fortnite — белые, claude/gemini/telegram/
   perplexity — цветные. Приводим к одному тону фильтром, а не новыми файлами:
   brightness(0) гасит цвет в чёрный, invert(1) поднимает в белый. */

.cv {
  aspect-ratio: 1 !important;
  width: 44px !important;
  border-radius: var(--scg-r-md) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.10) !important;
}

.cv img {
  width: 52% !important;
  filter: brightness(0) invert(1) !important;
  opacity: .92;
}

/* Крупная обложка на первом экране страницы сервиса (/grok, /perplexity, /zoom,
   /fortnite, /telegram-premium). Разметка и covers.css для неё уже выложены, а
   общее правило .cv прибивает плитку к 44 px с !important — знак висел крошечным
   квадратом посреди пустой колонки шириной 428. Вариант задаёт свой размер. */
.cv--hero {
  width: 100% !important;
  max-width: 440px !important;
  border-radius: var(--scg-r-xl) !important;
}
.cv--hero img { width: 34% !important; }

.cv[data-svc="chatgpt"]    { background: #000000 !important; }
.cv[data-svc="claude"]     { background: #2b1c12 !important; }
.cv[data-svc="gemini"]     { background: #101827 !important; }
.cv[data-svc="grok"]       { background: #000000 !important; }
.cv[data-svc="perplexity"] { background: #0d2f34 !important; }
.cv[data-svc="telegram"]   { background: #0b1d2a !important; }
.cv[data-svc="zoom"]       { background: #1c2a5e !important; }
.cv[data-svc="fortnite"]   { background: #1a1230 !important; }

/* Крупные плитки в шапке подписки и в карточке заказа — тот же квадрат */
.as-cv { width: 48px !important; }
.ord-cv { width: 44px !important; }

/* Аватар в профиле: буква была белой на белом кружке — её просто не видно */
.pf-av {
  background: rgba(255, 255, 255, 0.10) !important;
  color: var(--scg-ink) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  font-weight: 600 !important;
}

/* Заказ — строка на поверхности, а не бумажная карточка */
.ord {
  border-radius: var(--scg-r-xl) !important;
  background: var(--scg-surface) !important;
  box-shadow: var(--scg-shadow-card) !important;
  border: 0 !important;
}

.ord-top, .ord-body, .ord-next { border-color: var(--scg-line-2) !important; }

.ord-plan { font-weight: 500 !important; letter-spacing: -0.02em !important; }
.ord-price { font-weight: 600 !important; letter-spacing: -0.025em !important; }
.ord-cv, .ord-meta, .ord-sub, .ord-term, .ord-hint { color: var(--scg-muted) !important; }

.ord-st {
  border-radius: var(--scg-r-pill) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink-2) !important;
}

.ord-act {
  border-radius: var(--scg-r-pill) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}

.ord-act.is-primary {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
  box-shadow: none !important;
}

/* ── Обращения и сообщения ─────────────────────────────────────────────────
   В account.html остался кусок прежней светлой темы, и он написан с
   !important: `.tk-card,.msg{background:#FFFFFF!important}`. Текст к этому
   времени уже белый — получалась белая карточка с белыми буквами, то есть
   пустое пятно во всю ширину. Перебиваем тем же !important: b.css грузится
   позже, при равной силе выигрывает последний. */

.tk-card, .msg {
  background: var(--scg-surface) !important;
  color: var(--scg-ink) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  border-radius: var(--scg-r-xl) !important;
}

.tk-card:hover, .msg:hover {
  box-shadow: inset 0 0 0 1px var(--scg-line-strong, rgba(255, 255, 255, 0.18)) !important;
}

.tk-card.is-new { box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.28) !important; }

.vbanner {
  background: var(--scg-surface-2) !important;
  color: var(--scg-ink-2) !important;
  border-radius: var(--scg-r-lg) !important;
}

/* Тип обращения: знак — плитка, а не эмодзи на цветном кружке */
.tk-ico, .tk-ico-refund, .tk-ico-payment {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--scg-ink) !important;
  border-radius: var(--scg-r-sm) !important;
}

.tk-type { color: var(--scg-ink) !important; }
.tk-txt, .tk-ans-t { color: var(--scg-ink-2) !important; }
.tk-no, .tk-ord, .tk-eta, .tk-hint { color: var(--scg-muted) !important; }

/* Состояние — та же пилюля, что у заказа */
.tk-badge {
  border-radius: var(--scg-r-pill) !important;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink-2) !important;
}
.tk-b-ok   { background: rgba(255, 255, 255, 0.14) !important; color: var(--scg-ink) !important; }
.tk-b-no   { background: rgba(255, 255, 255, 0.06) !important; color: var(--scg-bad) !important; }
.tk-b-work { background: rgba(255, 255, 255, 0.10) !important; color: var(--scg-ink) !important; }

/* Ответ оператора — врезка слева, а не жёлтая полоса */
.tk-ans {
  background: rgba(255, 255, 255, 0.04) !important;
  border-left: 2px solid var(--scg-line-strong, rgba(255, 255, 255, 0.28)) !important;
  border-radius: 0 var(--scg-r-md) var(--scg-r-md) 0 !important;
}
.tk-ans-h { color: var(--scg-muted) !important; }

.tk-note {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  border-radius: var(--scg-r-md) !important;
  color: var(--scg-ink-2) !important;
}

.tk-add {
  border-radius: var(--scg-r-pill) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}
.tk-add:hover { background: rgba(255, 255, 255, 0.10) !important; }

/* Баллы: крупное число и полоса, а не текстовая простыня */
.bn-main, .bn-sum, .bn-hist, .bn-how {
  background: var(--scg-surface) !important;
  border-radius: var(--scg-r-xl) !important;
  box-shadow: var(--scg-shadow-card) !important;
  border: 0 !important;
}

.bn-eq {
  font-size: 44px !important;
  font-weight: 500 !important;
  letter-spacing: -0.05em !important;
  color: var(--scg-ink) !important;
}

.bn-hold-bar {
  background: rgba(255, 255, 255, 0.08) !important;
  border-radius: var(--scg-r-pill) !important;
  overflow: hidden !important;
}

.bn-hold-bar > * { background: var(--scg-action) !important; }

.bn-cap, .bn-hint, .bn-small, .bn-act-note { color: var(--scg-muted) !important; }

.lk-bal-chip {
  border-radius: var(--scg-r-pill) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}

/* ── Лендинги сервисов и длинные страницы ──────────────────────────────────
   offer.css и styles.css держат бумажный #FAF7F0 в своих наборах. */
:root {
  --bg1: var(--scg-bg);
  --bg2: var(--scg-bg);
  --white: var(--scg-surface);
  --surface: var(--scg-surface);
}

.o-why-card, .o-plan, .o-step, .o-cmp-card, .o-req, .o-need, .o-vpn,
.o-learn-in, .cm-msg, .chat-mock, .cm-head, .form-notice,
.legal-page, .pp-ex, .modal, .form-group input {
  background: var(--scg-surface) !important;
  color: var(--scg-ink) !important;
  border-color: var(--scg-line) !important;
}

.form-group input,
.form-group input:focus {
  background: var(--scg-field) !important;
  border-color: var(--scg-field-line) !important;
}


/* ── Текст лендингов: две переменные, из-за которых было чёрное по чёрному
   У каждой страницы сервиса есть свой встроенный <style>:root со старой светлой
   палитрой — всего 14 страниц. Основные имена (--tx, --bg, --surface, --line,
   --acc) слой переводил, а два пропустил: --tx-dim и --tx-mut. Именно ими
   окрашен весь текст карточек, списки возможностей, «/мес» у цены, подписи
   полей и юридическая строка в подвале. На тёмном фоне получался контраст 1,02:1 —
   то есть текста просто не видно.
   Сами страницы не правим: их 14, а слой один. */
:root {
  --tx-dim: var(--scg-ink-2);
  --tx-mut: var(--scg-muted);
  --halo1: transparent;
  --halo2: transparent;
  --glow: transparent;
  /* Макет переписки на лендингах — шесть страниц */
  --mock-shell: var(--scg-surface);
  --mock-bg: var(--scg-bg);
  --mock-ai-bg: var(--scg-surface-2);
  --mock-ai-tx: var(--scg-ink);
  --mock-line: var(--scg-line);
}

/* ── Партнёрская страница ──────────────────────────────────────
   В styles.css суммы в расчёте окрашены значением (rgb(20,18,14)),
   а номер шага — старым жёлтым. Переменных там нет, правим селекторами. */

.pp-row b, .pp-row--sum b, .pp-ex b, .pp-ex strong { color: var(--scg-ink) !important; }
.pp-step, .pp-calc { background: rgba(255, 255, 255, 0.04) !important; }
.pp-step .pp-n {
  background: rgba(255, 255, 255, 0.10) !important;
  color: var(--scg-ink) !important;
}

/* ── Переменная --white работает в styles.css за двоих ──────────────
   В styles.css её используют и как светлую поверхность (19 мест), и как белый
   текст на тёмном блоке (10 мест). Слой переводит её в поверхность — и тогда
   вторая десятка получает текст цвета #0f0f12 на тёмном фоне. Так на 404,
   оферте и партнёрской весь подвал был чёрным по чёрному.
   Переменную не трогаем (иначе сломается 19 фонов), правим те самые десять мест. */

.footer,
.footer-brand .logo,
.features,
.features .section-header h2,
.cta-banner { color: var(--scg-ink) !important; }

.footer p,
.footer li,
.footer-links a,
.footer-contact a,
.footer-bottom { color: var(--scg-ink-2) !important; }

.footer-links a:hover,
.footer-contact a:hover { color: var(--scg-ink) !important; }

.step-number,
.pricing-badge {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
}

.btn-white {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
  border-color: transparent !important;
}

/* --dark в styles.css — старые чернила #14120E, слой её не переводил */
:root { --dark: var(--scg-bg); }

/* ── Статьи: врезка с предложением и подписи к картинкам ─────────────
   Врезка .art-cta попадала под общее правило белых кнопок и получала тёмный
   цвет текста, а фон ей слой сделал тёмным — выходило тёмное по тёмному.
   Это главный переход на покупку внутри 148 статей, так что собираем его явно:
   тёмная поверхность, светлый текст, белая кнопка внутри. */

.art-cta {
  background: var(--scg-surface) !important;
  color: var(--scg-ink) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  border-radius: var(--scg-r-xl) !important;
}
.art-cta-t, .art-cta-t b { color: var(--scg-ink) !important; }
.art-cta-t span { color: var(--scg-muted) !important; }
.art-cta .btn, .art-cta .btn-primary {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
}

.art-fig figcaption { color: var(--scg-muted) !important; }

/* ── Окно оформления на лендингах ─────────────────────────────
   В offer.css лежит целый блок старой светлой темы, написанный с !important,
   и среди него `.modal, .modal * { color: #14120E }` — чёрный цвет на ВСЁ,
   что внутри окна. Фон окна слой уже сделал тёмным, а текст остался чёрным:
   название тарифа, цена, подписи полей и подсказки не читались вообще.
   Это экран, на котором человек расстаётся с деньгами, так что разбираем его
   подробно: главное — белым, второстепенное — приглушённым, подсказки — серым. */

.modal, .modal * { color: var(--scg-ink) !important; }

.modal-overlay { background: var(--scg-backdrop) !important; }

.modal-header h2, .modal-header strong,
.modal .ord-sum-body b, .modal .ord-sum-price,
.modal .em-acc-body b, .modal .em-bal-body b { color: var(--scg-ink) !important; }

.modal-header p,
.modal .ord-sum-body span,
.modal .em-acc-body span, .modal .em-bal-note,
.form-group label { color: var(--scg-ink-2) !important; }

.field-hint, .modal .opt, .modal .consent-note,
.modal small { color: var(--scg-muted) !important; }

/* Поля: тёмный колодец, светлый текст, белая рамка в фокусе */
.form-group input, .modal input[type="text"], .modal input[type="email"], .modal input[type="tel"] {
  background: var(--scg-field) !important;
  color: var(--scg-ink) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--scg-field-line) !important;
}
.form-group input::placeholder, .modal input::placeholder { color: var(--scg-placeholder) !important; }
.form-group input:focus, .modal input:focus {
  background: var(--scg-field) !important;
  box-shadow: inset 0 0 0 1.5px var(--scg-ink) !important;
}

/* Крестик и кнопки — после общего `.modal *`, иначе он их закрасит */
.modal-close {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--scg-ink) !important;
  border-radius: var(--scg-r-pill) !important;
}
.modal-close:hover { background: rgba(255, 255, 255, 0.14) !important; }

.modal .btn-primary, .modal .btn-pay, .modal button[type="submit"] {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
}
.modal .btn-primary *, .modal .btn-pay *, .modal button[type="submit"] * { color: var(--scg-on-action) !important; }

/* Сводка заказа и блоки внутри окна — поверхность, а не бумага */
.modal .ord-sum, .modal .em-acc, .modal .em-bal {
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--scg-ink) !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  border-radius: var(--scg-r-lg) !important;
}

/* Пояснение под формой: в offer.css у него !important и селектор сильнее,
   чем общее `.modal *`, — перебиваем тем же селектором. */
.form-notice { background: rgba(255, 255, 255, 0.04) !important; border: 0 !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important; border-radius: var(--scg-r-md) !important; }
.form-notice p, .form-notice { color: var(--scg-ink-2) !important; }
.form-notice a { color: var(--scg-ink) !important; }

/* Шапка макета переписки: цвета забиты значениями, переменной тут нет */
.cm-name { color: var(--scg-ink) !important; }
.cm-status { color: var(--scg-muted) !important; }
.cm-ava { background: rgba(255, 255, 255, 0.10) !important; color: var(--scg-ink) !important; }
.cm-user { background: var(--scg-action) !important; color: var(--scg-on-action) !important; }

/* Юридическая строка в подвале — цвет из brand.css, тоже значением */
.ftr-legal, .ftr-legal a { color: var(--scg-muted) !important; }

/* Подпись в подвале академии: academy.css красит её значением
   rgba(20,18,14,.62) — почти чёрным, и на тёмном фоне строки не было видно. */
footer .wrap { color: var(--scg-muted) !important; }

/* Звёзды оценки в кабинете заливались старым жёлтым #F0B60A */
.rv-star.on svg, .rv-star.on path, .rv-star.on { fill: var(--scg-action) !important; color: var(--scg-action) !important; }


/* ── Акцент лендингов: жёлтая кнопка заменена белой пилюлей ────────────────
   offer.css держит #FFC61E в своём наборе и в правилах с !important. */
:root {
  --acc: var(--scg-action);
  --grad: var(--scg-action);
  --prod: var(--scg-action);
}

.btn, .btn-primary, .btn-pay, .o-mini, a.btn,
.o-cmp-btn, .o-final-btn, .pp-btn, .pp-n, .ok, .ki, .vi, .ri,
/* .art-cta и .em-acc отсюда убраны: это не кнопки, а блоки.
   От белой кнопки им доставался тёмный цвет текста, а фон у них свой,
   тёмный — выходило тёмное по тёмному. Их вид собран ниже отдельно. */
.os-promo, .ok-ico, .pi,
.guarantee-ico, .way-ico, .em-acc-ico, .chat-agent-avatar, .chat-mini {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

.plan-btn.btn-primary, .btn-primary, .btn-pay, .o-mini, a.btn.btn-primary {
  color: var(--scg-on-action) !important;
}

.btn.is-ghost, .btn.secondary, .btn-ghost {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}

#authView, .pay-guarantee, .cm-body, .pp-head, .o-note, .o-hint {
  background: var(--scg-surface) !important;
  color: var(--scg-ink-2) !important;
}

/* Вход в админку: страница со своей палитрой, приводим к системе. */
body.adm-login, .adm-login, .adm-card, .adm-box {
  background: var(--scg-bg) !important;
  color: var(--scg-ink) !important;
}

/* ── Академия в композиции Б ──────────────────────────────────────────────
   У раздела свой набор имён (academy/academy.css) и своя гарнитура
   заголовков — переводим и то, и другое. */
:root {
  --paper: var(--scg-surface);
  --paper-2: var(--scg-surface-2);
  --serif: var(--scg-font);
  --sans: var(--scg-font);
  --tx-3: var(--scg-muted);
  --acc-3: var(--scg-action-hover);
}

.academy h1, .academy h2, .academy h3,
body h1, body h2, body h3, dt, summary, .chip, .btn {
  font-family: var(--scg-font);
}

.chip {
  background: rgba(255, 255, 255, 0.07) !important;
  color: var(--scg-ink-2) !important;
  border-color: transparent !important;
}

.nav a.btn {
  background: var(--scg-action) !important;
  color: var(--scg-on-action) !important;
  border-radius: var(--scg-r-pill) !important;
}

.btn.sec {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--scg-ink) !important;
  border-color: var(--scg-line) !important;
}
.btn.sec:hover { background: rgba(255, 255, 255, 0.10) !important; }

/* Предложение купить в конце урока. В academy.css у него фон --paper, а лежит
   он внутри article.doc с тем же --paper: на тёмном два одинаковых тона слились
   и плашка перестала читаться как плашка. Поднимаем на ступень и добавляем
   волосяную рамку. Растворение текста над ней уводило в цвет страницы, хотя
   под ним поверхность статьи, — ведём градиент в неё. */
.gate-in {
  background: var(--scg-surface-2) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}
.gate::before {
  background: linear-gradient(rgba(22, 22, 27, 0), var(--scg-surface)) !important;
}

/* Окно заказа на лендингах: подложка и радиус из набора. В offer.css они заданы
   с !important кофейным цветом бренда, который на тёмном читается как грязь. */
.modal-overlay { background: var(--scg-backdrop) !important; }
.modal-overlay .modal { border-radius: var(--scg-r-xl) !important; }
.modal-close {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--scg-ink) !important;
  border-radius: var(--scg-r-pill) !important;
}
.modal-close:hover { background: rgba(255, 255, 255, 0.14) !important; }
.modal-header, .modal-header * { color: var(--scg-ink) !important; }
.form-group input, .form-group textarea, .form-group select {
  background: var(--scg-field) !important;
  color: var(--scg-ink) !important;
  border-color: var(--scg-field-line) !important;
}
.form-notice { color: var(--scg-muted) !important; }

/* Сводка заказа в воронке. Название тарифа брало кегль заголовка и вылезало
   из строки многоточием — это строка списка, а не заголовок. */
.os-title {
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: var(--scg-ink) !important;
}
.os-sub { font-size: 13px !important; color: var(--scg-muted) !important; }
.os-price {
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
  color: var(--scg-ink) !important;
}

/* Знаки платёжных систем: на тёмной плашке их почти не было видно. */
.pay-methods { font-size: 13px !important; color: var(--scg-muted) !important; }
.pay-methods .pay-mark {
  background: rgba(255, 255, 255, 0.10) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  border-radius: var(--scg-r-sm) !important;
  color: var(--scg-ink) !important;
}
/* Сами знаки нарисованы заливкой чернилами (funnel.css) — на тёмном их не было
   видно. Перекрашиваем в приглушённый белый, Mastercard оставляем двухтоновым. */
.pay-mark svg * { fill: rgba(255, 255, 255, 0.82) !important; }
.pay-mark[title="Mastercard"] svg circle { fill: rgba(255, 255, 255, 0.82) !important; }
.pay-mark[title="Mastercard"] svg path { fill: rgba(255, 255, 255, 0.34) !important; }
.pay-mark .icn, .pay-crypto .icn { stroke: var(--scg-ink) !important; fill: none !important; }
.pay-mark .pm-t { color: var(--scg-ink-2) !important; }

/* Примеры запросов в «успехе» — список, а не строки с точкой впереди. */
.pp { margin: 8px 0 0; padding-left: 18px; list-style: disc; }
.pp li { margin: 0 0 6px; color: var(--scg-ink-2); }

/* Страница оплаты: что будет после платежа — плитками со знаками, как «Условия»
   на главной. Текстовых блоков подряд там больше нет. */
.pay-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.pay-after li {
  display: block;
  padding: 14px 16px;
  border-radius: var(--scg-r-lg) !important;
  background: rgba(255, 255, 255, 0.05);
}
.pay-after .pa-i {
  display: flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: var(--scg-r-sm);
  background: rgba(255, 255, 255, 0.09);
  color: var(--scg-ink);
}
.pay-after .pa-i svg { width: 18px; height: 18px; }
.pay-after b {
  display: block;
  margin-top: 11px;
  font-size: 14.5px;
  font-weight: 500;
  letter-spacing: -0.015em;
  color: var(--scg-ink);
}
.pay-after span:not(.pa-i) {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--scg-muted);
}
@media (max-width: 560px) {
  .pay-after { grid-template-columns: 1fr; }
}

/* Согласие — мелкий служебный текст, а не часть предложения. */
.consent-note {
  margin-top: 18px !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  color: var(--scg-faint) !important;
}
.consent-note a { color: var(--scg-ink-2) !important; }

/* ── Статьи в композиции Б ────────────────────────────────────────────────
   Колонка текста остаётся узкой, меняем только поверхности: бумага уходит,
   таблица и врезка держатся на волосяной линии. */
.art-page { background: var(--scg-bg) !important; }
.art-wrap h1 {
  font-size: clamp(34px, 4.6vw, 46px) !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.05em !important;
}
.art-body h2 { font-weight: 500 !important; letter-spacing: -0.035em !important; }
.art-body h3 { font-weight: 500 !important; letter-spacing: -0.025em !important; }
.art-body { color: var(--scg-ink-2) !important; line-height: 1.7 !important; }
.art-body h2, .art-body h3, .art-body b, .art-body strong { color: var(--scg-ink) !important; }
.art-body a { color: var(--scg-ink) !important; text-decoration-color: rgba(255, 255, 255, 0.45) !important; }

.art-body blockquote, .art-body table, .art-faq details, .art-card, .art-empty {
  background: var(--scg-surface) !important;
  border-radius: var(--scg-r-xl) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  color: var(--scg-ink-2) !important;
}
.art-body th { background: rgba(255, 255, 255, 0.05) !important; color: var(--scg-ink) !important; }
.art-body th, .art-body td { border-bottom-color: var(--scg-line-2) !important; }
.art-card:hover { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22) !important; }
.art-card b, .art-empty b, .art-faq summary { color: var(--scg-ink) !important; }
.art-card-img { background: var(--scg-surface-2) !important; }
.art-fig img { box-shadow: inset 0 0 0 1px var(--scg-line) !important; }

/* Врезка «купить» и плашка черновика: без жёлтой заливки. */
.art-cta {
  background: var(--scg-surface-2) !important;
  border-radius: var(--scg-r-xl) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22) !important;
}
.art-preview {
  background: rgba(255, 210, 122, 0.14) !important;
  color: var(--scg-warn) !important;
  border-radius: var(--scg-r-md) !important;
}
.art-crumbs, .art-meta, .art-card-plan { color: var(--scg-muted) !important; }
.art-lead { color: var(--scg-ink-2) !important; }

/* Списки шагов на «Как купить»: белые кружки номеров и белые строки. */
.kk-steps li, .steps li, ol.steps > li {
  background: var(--scg-surface) !important;
  color: var(--scg-ink) !important;
}


/* ── Главная и партнёрская: свой набор имён (home.css) ────────────────────
   Там жила светлая палитра со своим шрифтом. Переводим набор целиком и
   гасим те места, где цвет прописан значением, а не переменной. */
:root {
  --bg: var(--scg-bg);
  --bg-2: var(--scg-surface);
  --surface: var(--scg-surface);
  --surface-2: var(--scg-surface-2);
  --surface-3: var(--scg-surface-3);
  --input: var(--scg-field);
  --card: var(--scg-surface);
  --card-hi: var(--scg-surface-2);
  --line-in: var(--scg-line-2);
  --line: var(--scg-line);
  --line-2: var(--scg-line);
  --line-strong: rgba(255, 255, 255, 0.18);
  --tx: var(--scg-ink);
  --tx-2: var(--scg-ink-2);
  --tx-3: var(--scg-muted);
  --mut-2: var(--scg-muted);
  --text: var(--scg-ink);
  --text-dim: var(--scg-ink-2);
  --gray: var(--scg-muted);
  --acc: var(--scg-action);
  --acc-2: var(--scg-ink);
  --acc-3: var(--scg-action-hover);
  --acc-ink: var(--scg-on-action);
  --acc-soft: rgba(255, 255, 255, 0.10);
  --acc-line: rgba(255, 255, 255, 0.18);
  --grad-acc: var(--scg-action);
  --star: var(--scg-warn);
  --danger: var(--scg-bad);
  --glass: rgba(255, 255, 255, 0.05);
  --glass-hover: rgba(255, 255, 255, 0.08);
  --font: var(--scg-font);
  --font-display: var(--scg-font);
  --r-sm: var(--scg-r-md);
  --r: var(--scg-r-lg);
  --r-lg: var(--scg-r-xl);
  --bg2: var(--scg-surface);
  --surface2: var(--scg-surface-2);
  --surface3: rgba(255, 255, 255, 0.10);
  --tx2: var(--scg-ink-2);
  --mut: var(--scg-muted);
  --mut2: var(--scg-muted);
  --acc2: var(--scg-ink);
  --acc-d: var(--scg-action-hover);
  --blue: var(--scg-ink);
  --blue2: var(--scg-ink-2);
  --amber: var(--scg-warn);
  --red: var(--scg-bad);
  --line2: var(--scg-line);
  --mono: var(--scg-mono);
  --sh-card: var(--scg-shadow-card);
  --sh-float: var(--scg-shadow-overlay);
}

/* Переключатель «вход / регистрация» на партнёрской. */
.seg { background: var(--scg-field) !important; border-color: var(--scg-line) !important; }
.seg button.on {
  background: rgba(255, 255, 255, 0.10) !important;
  color: var(--scg-ink) !important;
  box-shadow: none !important;
}

/* Карточки главной: поверхность с волосяной обводкой вместо белой бумаги. */
.pricing-card,
.pricing-card.plan--gpt, .pricing-card.plan--claude, .pricing-card.plan--gemini,
.plan--gpt, .plan--claude, .plan--gemini,
.way, .acad-card, .review-card, .qz-res, .qz-res--claude, .qz-res--gemini,
#safety .safety-item, .safety-item, .buy-error {
  background: var(--scg-surface) !important;
  border: 0 !important;
  border-radius: var(--scg-r-xl) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
  color: var(--scg-ink) !important;
}

/* Выделенные карточки: светлая рамка, а не кремовая заливка. */
.pricing-card.is-featured, .pricing-card--featured,
.way--buy, #safety .guarantee {
  background: var(--scg-surface-2) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22) !important;
}

/* Знак сервиса в строке заказа: подложка тёмная, знак светлый. */
.pc-mark, .plan-mark, .pay-mark {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--scg-ink) !important;
  box-shadow: inset 0 0 0 1px var(--scg-line) !important;
}

.chat-toggle { color: var(--scg-on-action) !important; }
