/* Токены оформления — подмножество wh24-ui (packages/tokens/src/tokens.css),
   скопированное значениями, а не импортом: у сервиса не должно быть
   зависимости от сборки портала. Светлая тема по умолчанию, тёмная — по
   системной настройке, как в портале. */
:root {
  --terra: #dd6731;
  --terra-d: #b8501f;
  --terra-bg: #fbeee5;

  --ink: #1a1a1a;
  --ink-2: #3d3d3d;
  --ink-3: #7a7a7a;
  --ink-4: #b4b2a9;

  --bd: rgba(0, 0, 0, 0.08);
  --bd-soft: rgba(0, 0, 0, 0.05);
  --bd-strong: rgba(0, 0, 0, 0.12);

  --bg: #fafaf7;
  --surf: #ffffff;
  --surf-2: #f7f5f0;
  --surf-3: #efece4;

  --good: #4a8a1f;
  --good-bg: #eef6e3;
  --warn: #a86a16;
  --warn-bg: #faecd6;
  --bad: #a32d2d;
  --bad-bg: #fceaea;

  --font-sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: ui-monospace, 'SF Mono', Monaco, Consolas, monospace;

  --fs-h1: 38px;
  --fs-h2: 22px;
  --fs-h3: 18px;
  --fs-body: 15px;
  --fs-card: 14px;
  --fs-meta: 12px;

  --sp-1: 4px;
  --sp-3: 8px;
  --sp-5: 12px;
  --sp-7: 16px;
  --sp-8: 20px;
  --sp-9: 24px;
  --sp-10: 32px;

  --r-sm: 5px;
  --r-md: 7px;
  --r-lg: 10px;
  --r-xl: 12px;
  --r-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.06);
}

@media (prefers-color-scheme: dark) {
  :root {
    --ink: #f2f2ef;
    --ink-2: #d8d8d1;
    --ink-3: #a9aa9f;
    --ink-4: #7b7d74;
    --bd: rgba(255, 255, 255, 0.1);
    --bd-soft: rgba(255, 255, 255, 0.07);
    --bd-strong: rgba(255, 255, 255, 0.16);
    --bg: #121412;
    --surf: #161816;
    --surf-2: #1c1f1c;
    --surf-3: #272b27;
    --terra-bg: rgba(221, 103, 49, 0.2);
    --good-bg: rgba(74, 138, 31, 0.18);
    --warn-bg: rgba(168, 106, 22, 0.18);
    --bad-bg: rgba(163, 45, 45, 0.18);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.45);
  }
}

/* ── Токены дизайн-системы UnitBIM (UnitBIM/design, mockups/_base.css) ──────
   Блок ниже байт в байт совпадает с viewer/tokens.css в lmv-core: одни имена
   переменных у каталога и вьюера, правка — в обоих. Каталог включает акцент
   терракоты через <html data-accent="terra"> (решение владельца 03.10.2026:
   терракота остаётся в каталоге, синий — во вьюере). Старые имена выше
   (--terra, --ink, --surf…) пока живут рядом: на них вся прежняя вёрстка,
   новая (строка чертежа, планшетные карточки) берёт --bg0…4, --fg…4, --acc. */
/* tokens.css — токены дизайн-системы UnitBIM (UnitBIM/design, mockups/_base.css,
   утверждено 03.10.2026). Один и тот же файл лежит в lmv-core (viewer/) и в
   каталоге rvt-viewer-backend (web/): имена переменных общие, правка — в обоих.

   Светлая тема по умолчанию, тёмная — по системной настройке
   (prefers-color-scheme) или принудительно через <html data-theme="dark">;
   data-theme="light" перебивает системную тёмную. Акцент вьюера — синий;
   каталог оставлен в терракоте (data-accent="terra" на <html>): так выглядит
   принятый компромисс «терракота в каталоге, синий во вьюпорте». */
:root {
  --bg0: #eceef2; --bg1: #ffffff; --bg2: #f5f6f8; --bg3: #e7eaef; --bg4: #dde1e7;
  --line: rgba(20, 30, 50, .10); --line2: rgba(20, 30, 50, .18);
  --fg: #1c2430; --fg2: #596273; --fg3: #8a93a3; --fg4: #b4bac6;
  --acc: #2f7fe0; --acc-h: #2a70c7; --acc-soft: rgba(47, 127, 224, .13); --on-acc: #fff;
  --ok: #3f8f3f; --warn: #c27a12; --err: #d33f3f;
  --ok-bg: rgba(63, 143, 63, .14); --warn-bg: rgba(194, 122, 18, .14); --err-bg: rgba(211, 63, 63, .14);
  --sel: #2f7fe0; --sel-fill: rgba(47, 127, 224, .35); --hov3d: rgba(47, 127, 224, .16);
  --ghost: rgba(120, 128, 140, .18); --meas: #1f9d55; --cap: #d9842f; --clash: #e23c3c;
  /* разделы проекта */
  --ar: #4a8fe0; --kr: #2e9e6b; --ov: #e58a2e; --vk: #1ea7b8; --eom: #d4a60f;
  --ss: #8e5bd6; --pt: #d64545; --gs: #c94b9b; --tx: #7a7f8a;
  --shadow: 0 1px 2px rgba(0, 0, 0, .08), 0 8px 24px rgba(0, 0, 0, .08);
  --r1: 3px; --r2: 6px; --r3: 10px;
  --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
:root[data-accent="terra"] {
  --acc: #c4541f; --acc-h: #a84615; --acc-soft: rgba(196, 84, 31, .13);
  --sel: #c4541f; --sel-fill: rgba(196, 84, 31, .35); --hov3d: rgba(196, 84, 31, .16);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg0: #1a1c20; --bg1: #22252a; --bg2: #2a2e34; --bg3: #343941; --bg4: #3e444d;
    --line: rgba(255, 255, 255, .09); --line2: rgba(255, 255, 255, .16);
    --fg: #e6e8ec; --fg2: #a0a6b1; --fg3: #737a86; --fg4: #555b66;
    --acc: #4894fe; --acc-h: #5ba4ff; --acc-soft: rgba(72, 148, 254, .18);
    --ok: #5fbf5f; --warn: #e2a23a; --err: #ef6b6b;
    --ok-bg: rgba(95, 191, 95, .16); --warn-bg: rgba(226, 162, 58, .16); --err-bg: rgba(239, 107, 107, .16);
    --sel: #4894fe; --sel-fill: rgba(72, 148, 254, .38); --hov3d: rgba(72, 148, 254, .18);
    --ghost: rgba(150, 158, 170, .14); --meas: #4fd184; --cap: #f0a04b; --clash: #ff5c5c;
    --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 30px rgba(0, 0, 0, .45);
    color-scheme: dark;
  }
  :root:not([data-theme="light"])[data-accent="terra"] {
    --acc: #e8794a; --acc-h: #f08a5a; --acc-soft: rgba(232, 121, 74, .18);
    --sel: #e8794a; --sel-fill: rgba(232, 121, 74, .38); --hov3d: rgba(232, 121, 74, .18);
  }
}
:root[data-theme="dark"] {
  --bg0: #1a1c20; --bg1: #22252a; --bg2: #2a2e34; --bg3: #343941; --bg4: #3e444d;
  --line: rgba(255, 255, 255, .09); --line2: rgba(255, 255, 255, .16);
  --fg: #e6e8ec; --fg2: #a0a6b1; --fg3: #737a86; --fg4: #555b66;
  --acc: #4894fe; --acc-h: #5ba4ff; --acc-soft: rgba(72, 148, 254, .18);
  --ok: #5fbf5f; --warn: #e2a23a; --err: #ef6b6b;
  --ok-bg: rgba(95, 191, 95, .16); --warn-bg: rgba(226, 162, 58, .16); --err-bg: rgba(239, 107, 107, .16);
  --sel: #4894fe; --sel-fill: rgba(72, 148, 254, .38); --hov3d: rgba(72, 148, 254, .18);
  --ghost: rgba(150, 158, 170, .14); --meas: #4fd184; --cap: #f0a04b; --clash: #ff5c5c;
  --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 30px rgba(0, 0, 0, .45);
  color-scheme: dark;
}
:root[data-theme="dark"][data-accent="terra"] {
  --acc: #e8794a; --acc-h: #f08a5a; --acc-soft: rgba(232, 121, 74, .18);
  --sel: #e8794a; --sel-fill: rgba(232, 121, 74, .38); --hov3d: rgba(232, 121, 74, .18);
}
