/* ============================================================
   Тема бренда «Федерация» — цветовая система лендинга.

   Источник правды: federation-site/DESIGN-COLORS.md (снят с работающего
   кода лендинга, контрасты посчитаны по WCAG 2.1 фактом). Здесь — только
   маппинг тех же значений на токены оболочки приложения (app-shell.css).
   Подключается ПОСЛЕ app-shell.css, ничего кроме переменных не трогает.

   Решения Романа 07.08.2026: тема только светлая, язык только русский.
   Тёмный блок ниже оставлен как страховка (если кто-то принудительно
   выставит data-theme=dark) и построен на navy, а не на чёрном.
   ============================================================ */

/* Селекторы с html — на ступень специфичнее, чем :root у app-shell.css и
   auth.css, поэтому тема выигрывает независимо от порядка подключения. */
html:root,
html[data-theme="light"] {
  /* ── Поверхности: холст лендинга + белая бумага карточек ── */
  --paper:   #f9f8f6;   /* тёплый холст — фон страницы */
  --paper-2: #ffffff;
  --card:    #ffffff;   /* бумага */
  --card-2:  #f9f8f6;
  --field:   #ffffff;   /* поля ввода — бумага, граница даёт форму */
  --pop-bg:  #ffffff;
  /* Свёрнутая рельса — тёмно-синяя поверхность бренда (как тёмные полосы
     сайта). Раскрытая становится светлой (--card) — см. блок ниже. */
  --rail-bg: #0c1754;

  /* ── Линии: кремовые, НЕ холодный серый (правило §5.3) ── */
  --line:   #f0e9e1;
  --line-2: #f6f1ec;

  /* ── Текст ── */
  --ink:   #171417;     /* угольный, 17,22:1 на холсте */
  --body:  #222222;     /* графит */
  --muted: #6f6f6f;     /* AA 4,73:1 — вместо #969696, который AA не проходит */
  --faint: #969696;     /* только декор и плейсхолдеры */

  /* ── Действие: электрический кобальт ── */
  --accent:      #2545ff;
  --accent-h:    #1b36d6;
  --accent-ink:  #ffffff;   /* белый на кобальте — 6,22:1 */
  --accent-soft: #eaebf8;   /* лавандовая дымка: бейджи, мягкие выделения */

  /* ── Тени: всегда сине-чёрные (правило §4) ── */
  --shadow-sm: 0 1px 2px rgba(12, 23, 84, .06);
  --shadow-md: 0 4px 24px rgba(12, 23, 84, .08);
  --shadow-lg: 0 12px 32px rgba(12, 23, 84, .10);

  /* ── Ошибка (статусы §7) ── */
  --err-bg: #fdecea;
  --err-bd: #f5c9c5;
  --err-tx: #b3261e;

  /* Радиусы, шрифты и форма элементов НЕ трогаем — решение Романа 07.08.2026:
     «шрифты внутри приложения как есть, только цветовые решения». Тема меняет
     исключительно цвет. */

  --star: 0;
}

/* ── Страницы входа (static/auth/auth.css держит СВОЙ набор токенов) ──
   Без этого блока логин/регистрация/инвайт оставались в зелёном TurboSwift,
   хотя всё остальное приложение уже в цветах бренда (поймано скриншотом). */
html:root,
html[data-theme="light"] {
  --azure:      #2545ff;   /* был зелёный — цвет действия на входе */
  --azure-d:    #1b36d6;
  --primary:    #2545ff;   /* заливная кнопка «Войти» */
  --primary-tx: #ffffff;
  --texture:    rgba(12, 23, 84, .05);
}
html[data-theme="dark"] {
  --azure:      #8497ff;
  --azure-d:    #b3beff;
  --primary:    #f9f8f6;
  --primary-tx: #0c1754;
  --texture:    rgba(255, 255, 255, .06);
}

/* Шапка рельсы: слово «Федерация» выравнивается по НИЗУ основания башни
   логотипа (Роман 07.08). Базовая линия текста садится на линию основания —
   лого и слово читаются как единый знак, а не как две плавающие детали. */
.rail-head { align-items: flex-end; }
.rail-wordmark { line-height: 1; padding-bottom: 3px; }

/* ── Рельса: два состояния, два цвета (Роман 07.08) ──────────────────
   СВЁРНУТА — тёмно-синяя поверхность: башня знака белая, подписи и иконки
   светлые. РАСКРЫТА (наведение/закрепление) — становится светлой карточкой:
   знак возвращается в фирменный тёмно-синий, текст тёмный.
   Переопределяем токены на самой рельсе — потомки наследуют, ничего
   переписывать поштучно не нужно. */
.rail {
  --ink:   #ffffff;
  --body:  #e6eaff;
  /* Иконки неактивных пунктов — почти белые: на тёмно-синем «приглушённый»
     серый сливался с фоном (Роман 07.08: «иконок вообще не видно»).
     Контраст #dfe5ff на #0c1754 ≈ 12:1. */
  --muted: #dfe5ff;
  --faint: #aab6e4;
  --line:   rgba(255, 255, 255, .18);
  --line-2: rgba(255, 255, 255, .12);
  --field:  rgba(255, 255, 255, .14);
  --accent-soft: rgba(132, 151, 255, .26);
  --signal: #ffffff;   /* активный пункт на тёмном — белый, максимум контраста */
}
/* Обводки иконок в рельсе рисуются currentColor — задаём его явно, чтобы
   не зависеть от того, какой токен использует конкретный пункт. */
.rail .rail-item { color: #dfe5ff; }
.rail .rail-item:hover { color: #ffffff; background: rgba(255, 255, 255, .14); }
.rail .rail-item[aria-current="page"] { color: #ffffff; }
.rail .rail-item .ic svg { stroke-width: 2; }

/* Порядок пунктов: Снабжение — второе, сразу после «Сегодня» (Роман 07.08).
   Это профиль партнёра: у Федерации снабжение — основная работа, а не
   раздел «где-то внизу». Ядро не трогаем — .rail-group это flex-колонка,
   порядок задаётся order'ом прямо в теме бренда. */
.rail-group > *                    { order: 5; }   /* всё прочее — после */
.rail-group > a[href="/crm"]       { order: 1; }
.rail-group > a[href^="/supply"]   { order: 2; }
.rail-group > a[href="/mail"]      { order: 3; }
.rail-group > a[href="/assistant"] { order: 4; }
.rail-group > a[href^="/upgrade"]  { order: 8; }

.rail-logo-img { filter: brightness(0) invert(1); transition: filter .24s; }

.rail:hover, .rail.pinned {
  --ink:   #171417;
  --body:  #222222;
  --muted: #6f6f6f;
  --faint: #969696;
  --line:   #f0e9e1;
  --line-2: #f6f1ec;
  --field:  #f9f8f6;
  --accent-soft: #eaebf8;
  --signal: #2545ff;
}
.rail:hover .rail-item,
.rail.pinned .rail-item { color: #6f6f6f; }
.rail:hover .rail-item:hover,
.rail.pinned .rail-item:hover { color: #171417; background: #f9f8f6; }
.rail:hover .rail-item[aria-current="page"],
.rail.pinned .rail-item[aria-current="page"] { color: #2545ff; }
.rail:hover .rail-logo-img,
.rail.pinned .rail-logo-img { filter: none; }

/* Тач-устройства: наведения нет, рельса остаётся свёрнутой и тёмной —
   значит и знак должен остаться белым (иначе пропадёт на тёмном). */
@media (hover: none) and (min-width: 561px) {
  .rail:hover:not(.pinned) { --ink: #ffffff; --muted: #dfe5ff; --faint: #aab6e4;
    --line: rgba(255,255,255,.18); --field: rgba(255,255,255,.14);
    --signal: #ffffff; }
  .rail:hover:not(.pinned) .rail-item { color: #dfe5ff; }
  .rail:hover:not(.pinned) .rail-item[aria-current="page"] { color: #ffffff; }
  .rail:hover:not(.pinned) .rail-logo-img { filter: brightness(0) invert(1); }
}

/* Оттенки отделов: у Федерации палитра узкая и деловая. Снабжение — золото
   бренда, остальные от кобальта, чтобы синий не спорил сам с собой. */
html:root {
  --ag-supply: #d9ab2e;
  --ag-sales:  #2545ff;
  --ag-mail:   #2545ff;
  --ag-analytics: #6b80ff;
  --ag-market: #8497ff;
  --ag-voice:  #8497ff;
}

/* Тёмная страховка на navy (DESIGN-COLORS §8): кобальт на тёмном нечитаем
   (2,66:1) → действие подсвечивается светлее. */
html[data-theme="dark"] {
  --paper:   #080f36;
  --paper-2: #0c1754;
  --card:    #0c1754;
  --card-2:  #111d5e;
  --field:   #111d5e;
  --pop-bg:  #0c1754;
  --rail-bg: #050a24;

  --line:   rgba(255, 255, 255, .15);
  --line-2: rgba(255, 255, 255, .10);

  --ink:   #f9f8f6;
  --body:  #cfd6f5;
  --muted: #9aa5d6;
  --faint: #7c88bb;

  --accent:      #8497ff;   /* AA 6,20:1 на navy */
  --accent-h:    #b3beff;
  --accent-ink:  #0c1754;
  --accent-soft: rgba(132, 151, 255, .14);

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);
  --shadow-md: 0 4px 24px rgba(0, 0, 0, .45);
  --shadow-lg: 0 12px 32px rgba(0, 0, 0, .50);

  --err-bg: rgba(255, 138, 138, .12);
  --err-bd: rgba(255, 138, 138, .35);
  --err-tx: #ff8a8a;

  --star: 1;
}
