/* ================================================================
   Nocturne — токены дизайн-системы.
   Источник правды: Claude Design, проект «EcoLife»,
   _ds/nocturne-0abe3ce4.../styles.css

   Файл общий для трёх приложений (биллинг, реестр ЛС, документы) —
   правим здесь и копируем целиком, не переписывая по месту.
   Значения ниже — ровно те, что в дизайне; ничего не «подгоняем».
   ================================================================ */

html.is-theme-nocturne,
body.is-theme-nocturne {
  /* ---- База ---- */
  --noct-bg: #161826;
  --noct-surface: #232532;
  --noct-text: #e9e9ed;
  --noct-accent: #9184d9;
  --noct-accent-2: #a7a1db;
  --noct-divider: color-mix(in srgb, #e9e9ed 16%, transparent);

  /* ---- Нейтральная рампа (одна шкала светлоты с акцентной) ---- */
  --noct-neutral-100: #f3f5fe;
  --noct-neutral-200: #e4e7f5;
  --noct-neutral-300: #cfd3e5;
  --noct-neutral-400: #b2b6ca;
  --noct-neutral-500: #9397ab;
  --noct-neutral-600: #75798c;
  --noct-neutral-700: #595d6c;
  --noct-neutral-800: #3f424d;
  --noct-neutral-900: #292b31;

  /* ---- Акцентная рампа ---- */
  --noct-accent-100: #f5f4ff;
  --noct-accent-200: #e7e5fe;
  --noct-accent-300: #d2cefd;
  --noct-accent-400: #b5abfc;
  --noct-accent-500: #968ae0;
  --noct-accent-600: #796cbf;
  --noct-accent-700: #5d5294;
  --noct-accent-800: #423a6a;
  --noct-accent-900: #2b2741;

  /* ---- Вторая акцентная рампа ---- */
  --noct-accent-2-100: #f5f4ff;
  --noct-accent-2-200: #e7e5fe;
  --noct-accent-2-300: #d2cefd;
  --noct-accent-2-400: #b5afe8;
  --noct-accent-2-500: #9690c9;
  --noct-accent-2-600: #7972a9;
  --noct-accent-2-700: #5c5783;
  --noct-accent-2-800: #423e5d;
  --noct-accent-2-900: #2b293a;

  /* ---- Семантика статусов (дизайн задаёт их в OKLCH) ---- */
  --noct-ok: oklch(78% 0.09 155);
  --noct-warn: oklch(80% 0.1 85);
  --noct-err: oklch(72% 0.13 25);

  /* Заливка бейджа — 15 % от цвета статуса, как в дизайне */
  --noct-ok-bg: color-mix(in srgb, var(--noct-ok) 15%, transparent);
  --noct-warn-bg: color-mix(in srgb, var(--noct-warn) 15%, transparent);
  --noct-err-bg: color-mix(in srgb, var(--noct-err) 15%, transparent);
  --noct-accent-bg: color-mix(in srgb, var(--noct-accent) 15%, transparent);

  /* Рамки статусных плашек и «опасных» кнопок */
  --noct-ok-border: color-mix(in srgb, var(--noct-ok) 45%, transparent);
  --noct-warn-border: color-mix(in srgb, var(--noct-warn) 45%, transparent);
  --noct-err-border: color-mix(in srgb, var(--noct-err) 45%, transparent);

  /* ---- Производные тона интерфейса ---- */
  --noct-header: #2a2c3b;
  --noct-hover: color-mix(in srgb, var(--noct-text) 5%, transparent);
  --noct-selected: color-mix(in srgb, var(--noct-accent) 14%, transparent);
  /* Непрозрачные эквиваленты — нужны sticky-ячейкам: сквозь
     полупрозрачный фон видно прокручиваемое под ними содержимое. */
  --noct-hover-solid: #2d2f3b;
  --noct-selected-solid: #323249;

  /* ---- Типографика ---- */
  --noct-font: Inter, "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --noct-font-heading-weight: 500;

  /* ---- Радиусы ---- */
  --noct-radius-sm: 4px;
  --noct-radius-md: 8px;
  --noct-radius-lg: 14px;
  --noct-radius-badge: 6px;

  /* ---- Шкала отступов ---- */
  --noct-space-1: 2.8px;
  --noct-space-2: 5.6px;
  --noct-space-3: 8.4px;
  --noct-space-4: 11.2px;
  --noct-space-6: 16.8px;
  --noct-space-8: 22.4px;

  /* ---- Тени: контурная линия + рассеянная темнота ---- */
  --noct-shadow-sm: 0 0 0 1px var(--noct-neutral-800);
  --noct-shadow-md: 0 0 0 1px var(--noct-neutral-700), 0 6px 18px rgba(0, 0, 0, 0.55);
  --noct-shadow-lg: 0 0 0 1px var(--noct-neutral-500), 0 16px 40px rgba(0, 0, 0, 0.65);
}
