/*
 * Дизайн-токены приложения jurhelp.
 *
 * Значения выведены из Figma-макета `Jurhelp / UI-kit / components header`
 * (узел 173:5514) — потому что в файле Figma не заведены Variables/Styles,
 * вытаскивать `get_variable_defs` нечего. См. [[decisions]]:
 * 2026-05-22 «локальные CSS-токены вместо Figma Variables».
 *
 * Имена осмысленные, не «синий-1»: при правке палитры дизайнером меняется
 * один токен, а не 50 мест в .templ. Когда в Figma появятся Variables —
 * этот файл станет автогенерируемым.
 */
:root {
  /* Браузерные нативные контролы (скроллбары, формы) — светлая схема. */
  color-scheme: light;

  /* ---------- Поверхности ---------- */
  --c-bg-page: #ffffff;
  --c-bg-body: #f5f5f5;                    /* фон html/body за кабинетом */
  --c-bg-card: #ffffff;
  --c-bg-input: #ebebeb;
  --c-bg-field: #f7f7f7;                   /* Input&Search&Dropdown/bg/main */
  --c-bg-button-primary: #000000;
  --c-divider: rgba(0, 0, 0, 0.05);
  --c-border-input: rgba(0, 0, 0, 0.05);
  --c-shadow-card: 0 4px 3px rgba(0, 0, 0, 0.05);

  /* ---------- Производные поверхности ----------
   * Раньше жили только fallback'ами в app.css (var(--c-bg-hover, #ebebeb));
   * вынесены в токены, чтобы тёмная тема переопределяла их в одном месте. */
  --c-bg-hover: #ebebeb;                   /* hover иконочных кнопок на карточке */
  --c-bg-secondary: #ebebeb;               /* вторичная заливка (узлы степпера, чипы) */
  --c-bg-surface: #ffffff;                 /* карточка заметки */
  --c-bg-subtle: rgba(0, 0, 0, 0.05);      /* лёгкая подложка при hover иконок */
  --c-surface: #ffffff;                    /* поповеры/дропдауны (dict-combo) */
  --c-surface-muted: #f2f3f5;              /* чипы исполнителей, hover строк списков */
  --c-hover: #f2f2f2;                      /* hover опций комбобокса */

  /* ---------- Семантические бледные заливки ----------
   * Канонизированные пары «фон/текст» для баннеров, бейджей и пилюль
   * (ранее — россыпь близких хескодок в app.css). Светлые значения
   * консолидированы до основных вариантов без заметной смены вида. */
  --c-bg-danger-soft: #fff0f0;             /* бледно-красный фон (ошибки/блокировки) */
  --c-border-danger-soft: #ffd6d6;
  --c-text-danger-strong: #c0392b;
  --c-bg-success-soft: #e6f7e6;            /* бледно-зелёный фон (успех/активен) */
  --c-border-success-soft: #d6f0de;
  --c-text-success-strong: #2c7a2c;
  --c-bg-warning-soft: #fff5d9;            /* бледно-жёлтый фон (предупреждения) */
  --c-border-warning-soft: #f0d68b;
  --c-text-warning-strong: #7a5800;
  --c-bg-info-soft: #eef2ff;               /* бледно-синий фон (новое/индификаторы) */
  --c-border-info-soft: #d6e1ff;
  --c-text-info-strong: #3730a3;
  --c-bg-neutral-soft: #ebebeb;            /* нейтральный серый (завершено/отменено) */
  --c-text-neutral-strong: #5a5a5a;

  /* Кнопки danger (сплошная и мягкая). */
  --c-bg-danger: #c0392b;
  --c-bg-danger-hover: #a93226;
  --c-btn-danger-bg: #ffece9;
  --c-btn-danger-bg-hover: #ffdcd6;
  --c-btn-danger-text: #e5484d;

  /* Прозрачные тинты поверх тематических поверхностей. */
  --c-bg-accent-soft: rgba(40, 35, 93, 0.1);   /* бейдж «Система», hover ссылок */
  --c-bg-blue-soft: rgba(49, 127, 242, 0.06);  /* hover «Показать ещё» на доске */
  --c-bg-accent-tint: #efeefb;                 /* drag-over зон загрузки файлов */
  --c-cal-today-overlay: rgba(125, 199, 191, 0.07); /* столбец «сегодня» недели */

  /* Приоритет «без приоритета» / контур заблокированного аватара. */
  --c-prio-none: #b0b0b0;

  /* ---------- Текст ---------- */
  --c-text-primary: #000000;
  --c-text-on-primary: #ffffff;
  --c-text-muted: #787878;
  --c-text-section: rgba(40, 35, 93, 0.7); /* "МЕНЮ", "ДЕЛА", chevron */
  --c-text-accent: #28235d;
  --c-text-blue: #317ff2;                  /* ссылки-акценты (Frame/text/blue) */
  --c-accent: #28235d;                     /* палочка активной карточки */

  /* ---------- Бренд (эпик «Встречи») ----------
   * Синий в цвет логотипа (static/img/logo-glassno.png): им рисуются события
   * встреч в календаре (.cal-task--meeting) и акценты переключателя типа в
   * форме задачи. Отдельный токен, чтобы не путать с палитрой --c-marker-blue
   * (маркеры категорий дел) и --c-text-blue (ссылки). */
  --color-brand: #1f6feb;
  --color-brand-pale: #e7effd;

  /* ---------- Маркеры (категории дел) ---------- */
  --c-marker-orange:  #ffa500;
  --c-marker-green:   #7ac555;
  --c-marker-blue:    #317ff2;
  --c-marker-purple:  #ba79fd;
  --c-marker-red:     #ff0000;
  --c-marker-magenta: #ea00ff;

  /* ---------- Состояния ошибки (Figma 870:2818 «Ошибка входа») ----------
   * Поле с ошибкой и тост: Input&Search&Dropdown/bg/error + Frame/bg pale red
   * (#ffe6e6), текст/иконка — Input text/error + Frame/icon/critical (#ff0000). */
  --c-bg-error:   #ffe6e6;
  --c-text-error: #ff0000;

  /* Снек-бар успеха (Figma 1140:4743) — Frame/bg/pale-green фон, Frame/icon/green
     кружок-галка (переиспользуем --c-marker-green #7ac555). */
  --c-bg-success: #f2faee;

  /* ---------- Типографика ---------- */
  --font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --fs-button: 14px;
  --fs-card-title: 20px;                   /* заголовок карточки сайдбара (Figma H3, JURHELP-80) */
  --fs-nav-link: 14px;
  --fs-section-title: 12px;
  --fs-case-name: 12px;
  --fs-case-type: 11px;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;

  --ls-section-title: 1.5px;

  /* ---------- Spacing-шкала (кратно 2/4px) ---------- */
  --sp-1: 2px;
  --sp-2: 4px;
  --sp-3: 8px;
  --sp-4: 12px;
  --sp-5: 16px;
  --sp-6: 24px;
  --sp-8: 32px;

  /* ---------- Радиусы ---------- */
  --rd-sm: 4px;                            /* Figma Radius/radius 4 (бейджи статуса/приоритета, чипы) */
  --rd-md: 8px;
  --rd-lg: 10px;
  --rd-xl: 16px;                           /* модальное окно (Figma Radius/radius 16) */

  /* ---------- Форма создания дела (Figma node 414-7138) ----------
   * --c-bg-field объявлен в блоке «Поверхности» выше. */
  --c-text-special: #69658e;               /* Frame/text/special */
  --c-bg-brand: #7dc7bf;                    /* Frame/bg/brand — бирюзовый «выполнено» (степпер/чекбоксы) */
  --c-overlay: rgba(0, 0, 0, 0.25);        /* подложка модального окна */
  --sp-5h: 20px;                           /* Spacing/spacing 20 (gap кружков цвета) */
  --modal-width: 704px;

  /* ---------- Размеры компонентов ---------- */
  --sidebar-width: 299px;
  /* Свёрнутый сайдбар (data-sidebar="collapsed" на <html>): узкая панель
   * «только значки» — значки меню, дела кружками, короткий логотип-знак. */
  --sidebar-width-collapsed: 68px;
  --icon-size: 16px;
  --marker-size: 8px;

  /* ---------- Календарь (UC-CAL-1) ----------
   * «Бледная» палитра карточек по коду цвета дела (dict_color) — соответствие
   * Figma Frame/bg/pale * (узлы 835:14062/14369/14870). Фон ячейки «сегодня» —
   * pale brand #dff2ef. Высота часа недельной сетки — переменная (скролл). */
  --c-cal-red:    #ffe6e6;
  --c-cal-amber:  #fff6e6;
  --c-cal-mint:   #f2faee;
  --c-cal-blue:   #ebf3fe;
  --c-cal-violet: #f9f2ff;
  --c-cal-pink:   #fde6ff;
  --c-cal-teal:   #ddf3f0;
  --c-cal-slate:  #ebebeb;
  --c-cal-none:   #f3f3f3;
  --c-cal-today:  #dff2ef;
  /* Границы дней (столбцы недели, ячейки месяца) — темнее общего --c-divider
   * (rgba 0,0,0,0.05), который на части мониторов не виден (JURHELP-160). Только
   * межидневные линии; часовые линии внутри дня остаются на --c-divider — так
   * границы дней доминируют над более мелкой часовой разметкой. */
  --c-cal-grid:   rgba(0, 0, 0, 0.22);
  --cal-hour:     56px;
}

/*
 * Тёмная тема.
 *
 * Включается атрибутом data-theme="dark" на <html> (ставит inline-скрипт
 * view.themeInitScript до первой отрисовки — без «вспышки» светлой темы).
 * Выбор пользователя живёт в localStorage("theme"); по умолчанию —
 * системная (prefers-color-scheme). Решение — client-side, без хранения
 * в профиле (см. [[decisions]] «тёмная тема на localStorage»).
 *
 * Переопределяются ТОЛЬКО цвета: типографика, spacing, радиусы и маркеры
 * категорий дел наследуются из светлого корня.
 */
:root[data-theme="dark"] {
  color-scheme: dark;

  /* ---------- Поверхности ----------
   * 2026-11-08: палитра затемнена (~на ступень) — на прежних сероватых
   * поверхностях (#1e1f24/#242629) сливались тёмные элементы, напр. логотип.
   * Все ступени сдвинуты вниз пропорционально, чтобы сохранить относительный
   * контраст карточка/страница/инпут/hover. */
  --c-bg-page: #131418;
  --c-bg-body: #0c0d10;
  --c-bg-card: #191b1f;
  --c-bg-input: #25272c;
  --c-bg-field: #1e2025;
  --c-bg-button-primary: #f2f2f2;          /* инверсия: светлая кнопка на тёмном */
  --c-divider: rgba(255, 255, 255, 0.08);
  --c-border-input: rgba(255, 255, 255, 0.12);
  --c-shadow-card: 0 4px 3px rgba(0, 0, 0, 0.45);

  /* ---------- Производные поверхности ---------- */
  --c-bg-hover: #2d2f34;
  --c-bg-secondary: #25272c;
  --c-bg-surface: #191b1f;
  --c-bg-subtle: rgba(255, 255, 255, 0.07);
  --c-surface: #191b1f;
  --c-surface-muted: #242630;
  --c-hover: #292b30;

  /* ---------- Текст ---------- */
  --c-text-primary: #ececec;
  --c-text-on-primary: #17181c;            /* тёмный текст на светлой primary-кнопке */
  --c-text-muted: #9b9b9b;
  --c-text-section: rgba(214, 211, 240, 0.62);
  --c-text-accent: #b9b3f2;
  --c-text-blue: #7db1ff;
  --c-accent: #b9b3f2;

  /* ---------- Бренд ---------- */
  --color-brand: #4c8dff;
  --color-brand-pale: #1d2f4a;

  /* Бирюзовый «выполнено» — затемнён, чтобы белый текст/галочка читались. */
  --c-bg-brand: #1f6f63;

  /* ---------- Семантические бледные заливки (тёмные аналоги) ---------- */
  --c-bg-danger-soft: #3d2628;
  --c-border-danger-soft: #63393c;
  --c-text-danger-strong: #ff9d9d;
  --c-bg-success-soft: #22331f;
  --c-border-success-soft: #3a5741;
  --c-text-success-strong: #93d6a0;
  --c-bg-warning-soft: #38311f;
  --c-border-warning-soft: #635634;
  --c-text-warning-strong: #e6c36b;
  --c-bg-info-soft: #262e4d;
  --c-border-info-soft: #3a4670;
  --c-text-info-strong: #b6c0ff;
  --c-bg-neutral-soft: #25272c;
  --c-text-neutral-strong: #b5b5b5;

  /* Кнопки danger — приглушённые тёмные варианты. */
  --c-bg-danger: #b03a2e;
  --c-bg-danger-hover: #c74a3c;
  --c-btn-danger-bg: #43292a;
  --c-btn-danger-bg-hover: #55312f;
  --c-btn-danger-text: #ff8f85;

  /* Ошибки/успехи по Figma-токенам (инпут с ошибкой, тосты, снек-бары). */
  --c-bg-error: #40272b;
  --c-text-error: #ff7d7d;
  --c-bg-success: #243226;

  /* Прозрачные тинты. */
  --c-bg-accent-soft: rgba(185, 179, 242, 0.16);
  --c-bg-blue-soft: rgba(125, 177, 255, 0.12);
  --c-bg-accent-tint: #26284a;
  --c-cal-today-overlay: rgba(31, 111, 99, 0.28);
  --c-prio-none: #6a6b70;

  --c-text-special: #a9a5c7;
  --c-danger: #ff7070;
  --c-text-danger: #ff7d7d;
  --c-overlay: rgba(0, 0, 0, 0.6);

  /* ---------- Календарь — приглушённые тёмные аналоги бледной палитры ---------- */
  --c-cal-red:    #42282a;
  --c-cal-amber:  #403523;
  --c-cal-mint:   #243620;
  --c-cal-blue:   #23324d;
  --c-cal-violet: #342a47;
  --c-cal-pink:   #42293f;
  --c-cal-teal:   #1e3a34;
  --c-cal-slate:  #25272c;
  --c-cal-none:   #202227;
  --c-cal-today:  #1d3f38;
  --c-cal-grid:   rgba(255, 255, 255, 0.22);
}
