/* Shared HQ palette: the CRM and its apartment editor use one set of tokens. */
:root.crm-app, :root.crm-editor{
  /* Токены из crm-ui.md. Акцент пока здесь — по макету его предстоит
     вынести в настройку, поэтому он один и используется только отсюда. */
  /* Иерархия поверхностей, а не два цвета: подложка → меню → карточка →
     то, что лежит НА карточке. Глубина делается уровнями, а не тенями. */
  --page:#F2F2EF;      /* подложка страницы — самый дальний уровень */
  --menu:#EAEAE6;      /* меню: между подложкой и карточкой */
  --bg:#FFFFFF;        /* карточка — ближайший уровень */
  --raise:#F7F7F5;     /* то, что лежит на карточке: шапка таблицы, плашка */
  --hover:#F0F0ED;     /* наведение — смена уровня, а не вспышка */
  --line:#E2E2DE;
  --text:#1A1A18;      /* не чистый чёрный: мягче на белом */
  --text2:#6E6E68;     /* вторичный приглушён заметно сильнее */
  --accent:var(--text);    /* акцент неяркий */
  --overdue:#E11D1D;        /* тот же цвет, что --task-red */
  /* ⚠️ Три цвета состояния задачи — ТОКЕНАМИ и чистыми (п. 250, решение
     владельца Д119). Прежде жёлтый (#BA8A31) и зелёный (#4C896C) стояли
     прямо в `crm_mobile_compact.css`, а «просрочено» было #A8481A —
     отсюда и жалобы: жёлтый уходил в оранжевый, красный в бордовый,
     зелёный выглядел грязно-тёмным, и три цвета путались между собой.
     Взяты ясно различимые тона; светлота разная, чтобы их различал и
     тот, кто путает красный с зелёным. */
  --task-yellow:#F2B600;
  --task-red:#E11D1D;
  --task-green:#16A34A;
  /* ⚠️ Цвета ТИПОВ задач (п. 353, 06.11.2026). Три токена выше — про
     СРОК (просрочено / сегодня / в порядке), эти — про СМЫСЛ задачи, и
     путать их нельзя: на карточке они стоят рядом.
     Тона взяты различимыми по светлоте, чтобы их различал и тот, кто
     путает красный с зелёным — тот же принцип, что у сроков.
     ⚠️ Это НЕ цвета amoCRM: их взять не удалось (разбор — в шапке
     `static/crm_task_colors.js`), и они ждут сверки. */
  --task-purple:#7C4DBE;
  --task-pink:#D6388B;
  --task-cyan:#0E8FA8;
  --task-indigo:#3F51B5;
  --task-teal:#0F8B7E;
  --task-brown:#8A5A2B;
  --task-orange:#E06A10;
  --task-lime:#4B8A16;
  --task-grey:#7A8290;
  /* ⚠️ Цвет отказа. Токена НЕ БЫЛО вовсе, а `var(--bad)` стоял у плашки
     ошибки (`.le-flash--bad`), счётчика лишних фото и текста `.rz-error`.
     Невалидный `background:var(--bad)` давал ПРОЗРАЧНЫЙ фон, а `color`
     оставался белым — белый текст по белой карточке. Человек видел
     пустой прозрачный прямоугольник по центру и не узнавал причину
     отказа (п. 131). Тон взят из `--overdue`, но заметнее. */
  --bad:#B3261E;
  /* Прежние имена тех же цветов: встречаются в отдельных файлах и без
     объявления вели себя так же, как `--bad` (п. 131). */
  --danger:var(--bad);
  --muted:var(--text2);
  --panel:var(--raise);
  --shadow:0 1px 2px rgba(20,20,20,.05), 0 8px 24px rgba(20,20,20,.05);
  --chip-blue-bg:#E8EDFB; --chip-blue-tx:#1B4DDB;
  --chip-green-bg:#E4F2E8; --chip-green-tx:#1F6B3B;
  --chip-orange-bg:#FBEBE2; --chip-orange-tx:#B4400B;
  /* Отменённый показ — красным, перенесённый — оранжевым: разные
     вещи, и на экране они не должны выглядеть одинаково. */
  --chip-red-bg:#FBE4E4; --chip-red-tx:#A32020;
  --chip-grey-bg:#EDEDEA; --chip-grey-tx:#5E5E5A;
  /* Комментарий в истории квартиры (п. 190): шестой цвет пары. */
  --chip-violet-bg:#EFEAFB; --chip-violet-tx:#5B3FC4;
  --r-s:6px; --r-m:8px; --r-l:10px;
  --side:248px; --tap:44px;
  /* Один шрифт на латиницу и кириллицу — Onest (подмножества latin,
     latin-ext, cyrillic, cyrillic-ext проверены у Google Fonts 19.10.2026).
     Грузинского в нём НЕТ (диапазон U+10A0–10FF не отдаётся вовсе), а у нас
     грузинские имена в названиях объектов — поэтому вторым в стеке стоит
     Noto Sans Georgian. Порядок важен: Noto Sans Georgian тоже содержит
     латиницу, и будь он первым, он забрал бы её себе. */
  --font:'Onest','Noto Sans Georgian',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* Тёмная тема — ОТДЕЛЬНЫЙ набор тех же токенов. Новые экраны получают её
   сами: они пользуются токенами, а не цветами напрямую. Ключ выбора общий
   со старым HQ (`flipflat_theme`), поэтому тема одна на оба интерфейса. */
:root.crm-app[data-theme="dark"], :root.crm-editor[data-theme="dark"]{
  /* Фон — настоящий чёрный: на OLED он не светится вовсе. Глубина дальше
     делается уровнями серого, а не осветлением фона. */
  --page:#000000;
  --menu:#0D0D0D;
  --bg:#141414;        /* карточка */
  --raise:#1C1C1C;     /* то, что лежит на карточке */
  --hover:#222222;     /* наведение — следующий уровень, без вспышки */
  --line:#272726;
  --text:#E6E6E6;      /* мягкий белый, не #FFF: чистый белый на чёрном режет */
  --text2:#8A8A86;     /* вторичный приглушён сильнее, чем в светлой */
  --bad:#F2655C;           /* на тёмном фоне светлее, иначе не читается */
  --danger:var(--bad);
  --muted:var(--text2);
  --panel:var(--raise);
  --accent:var(--text);    /* акцент неяркий */
  --overdue:#FF5A5A;        /* тот же цвет, что --task-red */
  /* На тёмном фоне те же три цвета берутся светлее: на #16–#1C чистый
     #E11D1D читается глухо. */
  --task-yellow:#FFC935;
  --task-red:#FF5A5A;
  --task-green:#35C46B;
  /* Те же цвета типов, светлее — на тёмном фоне насыщенные тона
     читаются глухо (п. 353). */
  --task-purple:#B18AE8;
  --task-pink:#F277B4;
  --task-cyan:#4FC3DC;
  --task-indigo:#8C9EFF;
  --task-teal:#4FC2B6;
  --task-brown:#C79563;
  --task-orange:#FF9A4D;
  --task-lime:#94D45A;
  --task-grey:#9AA3B0;
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 12px 40px rgba(0,0,0,.45);
  --chip-blue-bg:#17203A; --chip-blue-tx:#8FA9E8;
  --chip-green-bg:#16271C; --chip-green-tx:#79BE94;
  --chip-orange-bg:#2C1C12; --chip-orange-tx:#D99A72;
  --chip-red-bg:#2E1414; --chip-red-tx:#E08585;
  --chip-grey-bg:#1F1F1E; --chip-grey-tx:#95958F;
  --chip-violet-bg:#1E1930; --chip-violet-tx:#A796E8;
}
