/*
 * Тема «sollers» — вид портала Sollers. Умолчание репозитория (src/lib/brand-defaults.ts).
 * Подключается src/app/layout.tsx, только если тема копии — sollers; всё ниже живёт под
 * html[data-brand="sollers"], поэтому ТехноТемп (профиль technotemp, без data-brand) не меняется.
 *
 * ИСТОЧНИК КАЖДОГО ЗНАЧЕНИЯ — пометка в комментарии справа:
 *   [группа] — сайт группы sollers-auto.com, скрап брендинга 21.10.2026: primary #F47C30, textPrimary #010101,
 *              secondary #6C757D, фон #FFFFFF, Montserrat (body и заголовки), кнопка primary: заливка #F47C30,
 *              подпись #010101, радиус 0, без тени; поле ввода и вторичная кнопка — радиус 0.
 *   [наше]   — производное, НЕ из брендбука Sollers: DESIGN_SPEC (demo-sollers/docs/DESIGN_SPEC.md, раздел D и
 *              «Тёмная схема») — оттенки текста, подложек, линий, статусов, марок и вся тёмная тема.
 * Что взято с сайта марки sollers-cargo.ru, а что нет и почему — public/brand/sollers-official/SOURCES.md.
 *
 * Правило оранжевого: белый на #F47C30 запрещён (2,70:1); текст акцентом — только accent-ink
 * (#A8450A, в тёмной #FFA766) — поэтому .text-primary перекрашен ниже. Контраст сторожит
 * src/lib/__tests__/theme-contrast.test.ts.
 */

/* [группа] Montserrat — шрифт body и заголовков sollers-auto.com. SIL OFL (fonts/OFL.txt), свои файлы, без CDN. */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/app/brand/fonts/montserrat-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/app/brand/fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308,
    U+0329, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html[data-brand="sollers"] {
  --radius: 0;  /* [группа] радиус кнопки и поля ввода 0 */

  /* поверхности и текст (D.2) */
  --background: #FFFFFF;  /* [группа] фон #FFFFFF */
  --foreground: #0A0A0A;  /* [наше] ink DESIGN_SPEC D.2; у группы textPrimary #010101 */
  --card: #FFFFFF;  /* [группа] фон #FFFFFF */
  --card-foreground: #0A0A0A;  /* [наше] = --foreground */
  --popover: #FFFFFF;  /* [группа] фон #FFFFFF */
  --popover-foreground: #0A0A0A;  /* [наше] = --foreground */
  --muted: #F6F5F2;  /* [наше] тёплая подложка D.2 */
  --muted-foreground: #4C5057;  /* [наше] text-3 D.2: secondary группы #6C757D (4,69:1) затемнён до 8,10:1 */
  --secondary: #F4F4F4;  /* [наше] плитка D.2 */
  --secondary-foreground: #24262A;  /* [наше] text-2 D.2 */

  /* акцент: заливка и текст разведены */
  --primary: #F47C30;  /* [группа] primary #F47C30, заливка кнопки */
  --primary-foreground: #010101;  /* [группа] подпись кнопки primary #010101 (7,73:1) */
  --accent: #FDF0E7;  /* [наше] accent-tint D.2 */
  --accent-foreground: #A8450A;  /* [наше] accent-ink D.2 */
  --accent-ink: #A8450A;  /* [наше] текст акцентом D.2 (5,96:1) */

  /* статусы: ink — текст, fill — заливка */
  --success: #0E6B33;  /* [наше] ok-ink D.2 */
  --warning: #7A5300;  /* [наше] warn-ink D.2 */
  --danger: #9E1B32;  /* [наше] bad-ink D.2 */
  --destructive: #B32340;  /* [наше] bad-fill D.2 */
  --ok-ink: #0E6B33;  --ok-fill: #17904A;  --ok-tint: #E8F2EB;  --ok-line: #BFDCC9;  /* [наше] статусы D.2 */
  --warn-ink: #7A5300; --warn-fill: #C08800; --warn-tint: #FAF1DE; --warn-line: #E8D5A6;  /* [наше] статусы D.2 */
  --bad-ink: #9E1B32;  --bad-fill: #B32340;  --bad-tint: #FBEAEC;  --bad-line: #EDC8CE;  /* [наше] статусы D.2 */
  --idle-ink: #61666D; --idle-fill: #9A9A9A; --idle-tint: #F1EFEA; --idle-line: #DAD6CE;  /* [наше] статусы D.2 */

  /* цвета графиков компонентов (src/lib/brand-palette.ts): статусные — заливки статусов, прочие — прежние */
  --palette-ok: var(--ok-fill);  /* [наше] статусы D.2 */
  --palette-warn: var(--warn-fill);  /* [наше] статусы D.2 */
  --palette-bad: var(--bad-fill);  /* [наше] статусы D.2 */
  --palette-rose: var(--bad-fill);  /* [наше] статусы D.2 */
  --palette-red: var(--bad-fill);  /* [наше] статусы D.2 */
  --palette-green: var(--ok-fill);  /* [наше] статусы D.2 */
  --palette-slate: var(--idle-fill);  /* [наше] статусы D.2 */

  /* марки: только идентификация бренда, не статус */
  --mk-sollers: #A8450A;  /* [наше] DESIGN_SPEC */
  --mk-lada: #1D4ED8;  /* [наше] DESIGN_SPEC */
  --mk-gaz: #0A6E63;  /* [наше] DESIGN_SPEC */
  --mk-uaz: #5A35D0;  /* [наше] DESIGN_SPEC */
  --mk-asp: #177A3C;  /* [наше] DESIGN_SPEC */

  /* линии и фокус */
  --border: #D8D5CF;  /* [наше] line-2 D.2 */
  --input: #8A857C;  /* [наше] рамка полей 3,7:1; line-3 #B9B5AD давала 2,0:1 (WCAG 1.4.11, UX-разбор 21.10) */
  /* Температура клиента текстом: общие #E8584E / #FFCC00 / #5AC8FA давали 3,5 / 1,5 / 1,9:1 на белом. */
  --hot: #B3261E;  --warm: #7A5300;  --cold: #0B5E8A;  /* [наше] bad/warn-ink D.2 и синий 7:1, UX-разбор 21.10 */
  --ring: #101010;  /* [наше] line-ink D.2 */

  /* графики */
  --chart-3: #F47C30;  /* [группа] primary #F47C30 */
  --chart-surface: #FFFFFF;  /* [группа] фон #FFFFFF */
  --chart-grid: #E5E5E5;  /* [наше] line-1 D.2 */
  --chart-axis: #B9B5AD;  /* [наше] line-3 D.2 */

  /* боковая панель: светлая (инверсная зона D.2 требует правки компонентов панели) */
  --sidebar: #FFFFFF;  /* [группа] фон #FFFFFF */
  --sidebar-foreground: #0A0A0A;  /* [наше] = --foreground */
  --sidebar-primary: #F47C30;  /* [группа] primary #F47C30 */
  --sidebar-primary-foreground: #010101;  /* [группа] подпись кнопки primary #010101 */
  --sidebar-accent: #F4F4F4;  /* [наше] плитка D.2 */
  --sidebar-accent-foreground: #0A0A0A;  /* [наше] = --foreground */
  --sidebar-border: #D8D5CF;  /* [наше] line-2 D.2 */
  --sidebar-ring: #101010;  /* [наше] line-ink D.2 */

  /* теней нет (D.7) */
  --shadow-sm: none;  /* [группа] без тени */
  --shadow-md: none;  /* [группа] без тени */
  --shadow-lg: none;  /* [группа] без тени */
  --shadow-hover: none;  /* [группа] без тени */
}

/* Тёмная схема — самостоятельная система, значения из раздела «Тёмная схема». */
html[data-brand="sollers"].dark {
  --background: #100F0E;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --foreground: #F7F6F3;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --card: #181716;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --card-foreground: #F7F6F3;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --popover: #181716;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --popover-foreground: #F7F6F3;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --muted: #201E1C;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --muted-foreground: #A9A59C;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --secondary: #2B2926;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --secondary-foreground: #E3E1DC;  /* [наше] «Тёмная схема» DESIGN_SPEC */

  --primary: #F47C30;  /* [группа] primary #F47C30 (на тёмном фоне сайта нет: только заливка) */
  --primary-foreground: #100F0E;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --accent: #2A1B10;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --accent-foreground: #FFA766;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --accent-ink: #FFA766;  /* [наше] «Тёмная схема» DESIGN_SPEC */

  --success: #4CB57C;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --warning: #E6C24E;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --danger: #EE7A6B;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --destructive: #B32340;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --ok-ink: #4CB57C;  --ok-fill: #4CB57C;  --ok-tint: #12241B;  /* [наше] статусы D.2 / «Тёмная схема» */
  --warn-ink: #E6C24E; --warn-fill: #E6C24E; --warn-tint: #241F0D;  /* [наше] статусы D.2 / «Тёмная схема» */
  --bad-ink: #EE7A6B;  --bad-fill: #EE7A6B;  --bad-tint: #2A1613;  /* [наше] статусы D.2 / «Тёмная схема» */
  --idle-ink: #A9A59C; --idle-fill: #757166; --idle-tint: #201E1C;  /* [наше] статусы D.2 / «Тёмная схема» */

  --border: #4A4740;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --input: #757166;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  /* Температура в тёмной схеме — общие значения globals.css (.dark): светлые выше их перекрыли бы. */
  --hot: oklch(0.65 0.16 25);  --warm: oklch(0.78 0.15 85);  --cold: oklch(0.70 0.12 230);  /* [наше] = globals .dark */
  --ring: #FFA766;  /* [наше] «Тёмная схема» DESIGN_SPEC */

  --chart-surface: #181716;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --chart-grid: #2E2C29;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --chart-axis: #605C53;  /* [наше] «Тёмная схема» DESIGN_SPEC */

  --sidebar: #181716;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --sidebar-foreground: #F7F6F3;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --sidebar-primary: #F47C30;  /* [группа] primary #F47C30 (на тёмном фоне сайта нет: только заливка) */
  --sidebar-primary-foreground: #100F0E;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --sidebar-accent: #201E1C;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --sidebar-accent-foreground: #F7F6F3;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --sidebar-border: #4A4740;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --sidebar-ring: #FFA766;  /* [наше] «Тёмная схема» DESIGN_SPEC */

  --shadow-sm: none;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --shadow-md: none;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --shadow-lg: none;  /* [наше] «Тёмная схема» DESIGN_SPEC */
  --shadow-hover: none;  /* [наше] «Тёмная схема» DESIGN_SPEC */
}

/* [группа] гарнитура Montserrat; [наше] минимальный вес 400 (D.4.8). */
html[data-brand="sollers"],
html[data-brand="sollers"] body {
  font-family: 'Montserrat', system-ui, sans-serif;
}
html[data-brand="sollers"] .font-sans,
html[data-brand="sollers"] .font-display {
  font-family: 'Montserrat', system-ui, sans-serif;
}
html[data-brand="sollers"] .font-light,
html[data-brand="sollers"] .font-thin,
html[data-brand="sollers"] .font-extralight {
  font-weight: 400;
}

/* Текст акцентом — только accent-ink: заливка #F47C30 как текст даёт 2,70:1 (D.2). */
html[data-brand="sollers"] .text-primary,
html[data-brand="sollers"] .hover\:text-primary:hover,
html[data-brand="sollers"] .focus\:text-primary:focus {
  color: var(--accent-ink);
}

/* [группа] кнопка primary: подпись #010101 на #F47C30, радиус 0; [наше] прописные, 700, разрядка .08em (D.2, п. 1). */
html[data-brand="sollers"] [data-slot="button"].bg-primary {
  color: var(--primary-foreground);
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .08em;
}

/* [группа] радиус 0, без тени; [наше] то же для всех элементов и без градиентов (D.4.4, D.7). Кольцо фокуса остаётся. */
html[data-brand="sollers"] *,
html[data-brand="sollers"] *::before,
html[data-brand="sollers"] *::after {
  border-radius: 0 !important;
  --tw-shadow: 0 0 #0000 !important;  /* [группа] без тени */
}
html[data-brand="sollers"] [class*="bg-gradient-"],
html[data-brand="sollers"] [class*="bg-[radial-gradient"],
html[data-brand="sollers"] [class*="bg-[linear-gradient"] {
  background-image: none !important;
}
/* Размытые декоративные пятна на входе — тот же градиент по сути. */
html[data-brand="sollers"] .blur-3xl {
  display: none;
}

/* [наше] --destructive здесь заливка (bad-fill), текстом на тёмном фоне не читается (axe: 2,75). Текст ошибок
   (.text-destructive) — чернилами --danger (bad-ink), как .text-primary выше. Вне темы Sollers не действует. */
html[data-brand="sollers"] .text-destructive {
  color: var(--danger);
}

/* [наше] тёмная: вес кнопки на ступень ниже («Тёмная схема», раздел 5). */
html[data-brand="sollers"].dark [data-slot="button"].bg-primary {
  font-weight: 600;
}

/* ── [наше] Места, где цвет задавал компонент: крючки data-* (у ТТ правил нет, вид прежний) ───────── */

/* Шкалы и спидометры карточки (CallCluster): зоны — заливки статусов, стрелка — цвет текста. */
html[data-brand="sollers"] [data-gauge] [data-zone="bad"] { stroke: var(--bad-fill); }
html[data-brand="sollers"] [data-gauge] [data-zone="warn"] { stroke: var(--warn-fill); }
html[data-brand="sollers"] [data-gauge] [data-zone="ok"] { stroke: var(--ok-fill); }
html[data-brand="sollers"] [data-gauge] [data-zone="idle"] { stroke: var(--idle-fill); }
html[data-brand="sollers"] [data-gauge] [data-needle] { color: var(--foreground); }

/* Плашки этапов «К П Пр ТД Ш С»: тройка tint/ink статуса (D.4.3), не засечки моноширинного. */
html[data-brand="sollers"] [data-stage="done"] { background: var(--ok-tint); color: var(--ok-ink); }
html[data-brand="sollers"] [data-stage="partial"] { background: var(--warn-tint); color: var(--warn-ink); }
html[data-brand="sollers"] [data-stage="todo"] { color: var(--idle-ink); }

/* Числа — Montserrat с табличными цифрами (D.5): моноширинной гарнитуры в теме нет. */
html[data-brand="sollers"] .font-mono {
  font-family: 'Montserrat', system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
}

/* Крупные числа не красятся (D.2 п. 5): цвет текста, рядом маркер 4 px акцентом. Ссылки не трогаем. */
html[data-brand="sollers"] p.font-bold.text-primary:is(.text-lg, .text-2xl, .text-3xl, .text-4xl) {
  color: var(--foreground);
  border-left: 4px solid var(--primary);
  padding-left: 8px;
}

/* Мелкий серый текст (D.4.8): 11–12 px приглушённых подписей поднят до 13 px. Только серый. */
html[data-brand="sollers"] .text-xs.text-muted-foreground,
html[data-brand="sollers"] .text-\[11px\].text-muted-foreground {
  font-size: 13px;
}

/* Контрольные лампы под шкалами («риск», «конкурент»…): горящая — текст ink статуса, маркер fill. */
html[data-brand="sollers"] [data-lamp="bad"] { color: var(--bad-ink); }
html[data-brand="sollers"] [data-lamp="warn"] { color: var(--warn-ink); }
html[data-brand="sollers"] [data-lamp="idle"] { color: var(--idle-ink); }
html[data-brand="sollers"] [data-lamp] > span:last-child { color: inherit; }
html[data-brand="sollers"] [data-lamp="bad"] > span:first-child { background: var(--bad-fill); }
html[data-brand="sollers"] [data-lamp="warn"] > span:first-child { background: var(--warn-fill); }
html[data-brand="sollers"] [data-lamp="idle"] > span:first-child { background: var(--idle-fill); }

/* [наше] Официальный знак со словом (og_img.svg) — тёмное слово на прозрачном: белой версии у Sollers нет,
   поэтому в тёмной теме под ним подложка цвета карточки светлой темы (#FFFFFF). Файл не меняется. */
html[data-brand="sollers"] { --logo-plate: #FFFFFF; }
html[data-brand="sollers"].dark img[data-logo="wide"] {
  background: var(--logo-plate);
  padding: 4px 8px;
  box-sizing: content-box;
}
