/* «Досрок» — цвет. Направление «Регистрационный журнал»: стол слоновой
   кости, тёплый белый лист, чернильный текст, гербовая синь печати,
   сургуч просрочки. Каждый цвет несёт данные; сырых #hex вне этого файла
   быть не должно. Дисциплина: красный = просрочка и нить «сегодня»,
   янтарь = требует внимания, зелёный = исполнено, синь = действие. */
:root{
  /* Стол и лист */
  --paper:#f0ebdf;          /* стол — фон приложения */
  --paper-aside:#e9e3d2;    /* регистратура — навигация */
  --surface:#fdfcf7;        /* лист — содержимое, таблицы, поля, окна */
  --surface-dim:#f6f3e9;    /* наведение на строку */
  --surface-sunken:#ece7d8; /* колодцы: kbd, сегменты, формулы */

  /* Чернила. Все три ≥4.5:1 на всех поверхностях, включая регистратуру. */
  --ink:#211d14;
  --ink-2:#514939;
  --ink-3:#655d4a;

  /* Линейки журнала */
  --line:#e0d9c6;           /* волосяная: строки, колонки */
  --line-strong:#c6bda3;    /* рамки блоков, шапки таблиц */
  --line-control:#8b8266;   /* границы органов управления — ≥3:1 к листу */

  /* Гербовая синь — действия, ссылки, активный раздел, слой «Заседания» */
  --accent:#2b3d9c;
  --accent-deep:#22307d;
  --accent-wash:#e8eaf6;
  --accent-wash-line:#c3cae9;
  --on-accent:#ffffff;

  /* Оттиск печати — штамп «Редакция правил» и знак § */
  --seal:#43389b;

  /* Сургуч — просрочка и красная нить «сегодня». Больше нигде. */
  --danger:#a8271a;
  --danger-deep:#8a1f14;
  --danger-wash:#f7e7e0;
  --danger-wash-deep:#f1d9cf;
  --danger-label:#ffffff;

  /* Янтарь — сегодня, скоро, «проверьте», «ждёт решения» */
  --warn:#8a5b06;
  --warn-wash:#f5ecd2;

  /* Исполнено, подтверждено; слой «Задачи» */
  --ok:#2b6a44;
  --ok-wash:#e5efe2;

  /* Слой «Встречи» */
  --meet:#66489c;
  --meet-wash:#ede8f6;

  /* Слои календаря — постоянные цвета во всём продукте */
  --layer-hearing:var(--accent);   --layer-hearing-wash:var(--accent-wash);
  --layer-deadline:var(--danger);  --layer-deadline-wash:var(--danger-wash);
  --layer-task:var(--ok);          --layer-task-wash:var(--ok-wash);
  --layer-meeting:var(--meet);     --layer-meeting-wash:var(--meet-wash);

  /* Служебные */
  --toast-bg:#2a251a;              /* тёмный тост (тёплый) */
  --on-dark:#ffffff;
  --on-dark-quiet:#f0c064;         /* «Отменить» на тёмном тосте */
  --veil:rgba(33,29,20,0.44);      /* подложка модальных окон */
  --hover-veil:rgba(253,252,247,0.55);   /* наведение на регистратуре */
  --hover-veil-strong:rgba(253,252,247,0.85);
  --focus-ring:rgba(43,61,156,0.22);     /* кольцо фокуса полей */
  --mark:#f3e0a4;                  /* подсветка неуверенно разобранного поля */
  --mark-dim:#f0ece0;              /* подложка исходного документа */
  --scroll-shadow:rgba(33,29,20,0.18);   /* «справа есть ещё колонки» */
  --scroll-shadow-fade:rgba(33,29,20,0);
  --surface-fade:rgba(253,252,247,0);
  --line-print:#999999;            /* линейки в печати */

  /* Витрина семей акцента — только кружки в Настройках → «Оформление» */
  --family-ink:#2b3d9c;
  --family-steel:#1d5c86;
  --family-indigo:#3d3a8f;
  --family-pine:#1b5f4b;

  /* Подложка QR-кода. Единственный цвет, одинаковый в обеих темах:
     инвертированный QR камера телефона читает через раз. */
  --qr-plate:#ffffff;

  /* Глифы-формы, несущие цвет: живут в файле токенов, потому что цвет
     внутри data-uri не может читать var(). Стрелка селекта — ink-3,
     галочка чекбокса — on-accent своей темы и семьи. */
  --icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23655d4a' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E");
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* Тёмная тема — «архив вечером»: тёплый графит, чернила слоновой кости.
   Заливки действий пастельные, подпись на них тёмная (пары
   --accent/--on-accent, --danger/--danger-label). Только экран:
   печать всегда светлая. */
@media screen{
html[data-theme='dark']{
  --paper:#191611;
  --paper-aside:#14110c;
  --surface:#211d16;
  --surface-dim:#282318;
  --surface-sunken:#161209;
  --ink:#ebe5d6;
  --ink-2:#bcb4a0;
  --ink-3:#958d78;
  --line:#332e22;
  --line-strong:#4a4331;
  --line-control:#776f58;
  --accent:#a3b0f2;
  --accent-deep:#b6c1f5;
  --accent-wash:#252a48;
  --accent-wash-line:#3e4670;
  --on-accent:#0f1538;
  --seal:#ab9ff0;
  --danger:#ec8b77;
  --danger-deep:#f0a091;
  --danger-wash:#3c1d15;
  --danger-wash-deep:#4c2519;
  --danger-label:#330f08;
  --warn:#dfb266;
  --warn-wash:#3a2d10;
  --ok:#77c495;
  --ok-wash:#16301e;
  --meet:#bda6ee;
  --meet-wash:#2b2142;
  --toast-bg:#332d1f;
  --on-dark:#ffffff;
  --on-dark-quiet:#f0c064;
  --veil:rgba(0,0,0,0.6);
  --hover-veil:rgba(253,252,247,0.05);
  --hover-veil-strong:rgba(253,252,247,0.09);
  --focus-ring:rgba(163,176,242,0.28);
  --mark:#4a3d1c;
  --mark-dim:#282318;
  --scroll-shadow:rgba(0,0,0,0.55);
  --scroll-shadow-fade:rgba(0,0,0,0);
  --surface-fade:rgba(33,29,22,0);
  --family-ink:#a3b0f2;
  --family-steel:#77b9dc;
  --family-indigo:#988ff4;
  --family-pine:#5cc4ab;
  --icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23958d78' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E");
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f1538' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
}

/* Вариации акцента (Настройки → «Оформление»). Меняются семья действий,
   оттиск и кольцо фокуса; статусные цвета и слои «Сроки/Задачи/Встречи»
   постоянны. Семья обязана отличаться в календаре от --ok, --meet
   и --danger, а не только читаться на фоне. */
html[data-accent='steel']:not([data-theme='dark']){
  --accent:#1d5c86;--accent-deep:#174a6c;--accent-wash:#e4eef4;
  --accent-wash-line:#bcd6e6;--seal:#174a6c;--focus-ring:rgba(29,92,134,0.22);
}
html[data-accent='indigo']:not([data-theme='dark']){
  --accent:#3d3a8f;--accent-deep:#2f2d73;--accent-wash:#e9e8f6;
  --accent-wash-line:#cac8ec;--seal:#2f2d73;--focus-ring:rgba(61,58,143,0.22);
}
html[data-accent='pine']:not([data-theme='dark']){
  --accent:#1b5f4b;--accent-deep:#144b3b;--accent-wash:#e2efe8;
  --accent-wash-line:#b8dcca;--seal:#144b3b;--focus-ring:rgba(27,95,75,0.22);
}

/* Те же семьи на графите: пастель с собственной тёмной подписью. Все пары
   держат ≥4.5:1 к поверхностям и к своей подписи. Только экран. */
@media screen{
html[data-theme='dark'][data-accent='steel']{
  --accent:#77b9dc;--accent-deep:#90c8e6;--accent-wash:#173040;
  --accent-wash-line:#2c5268;--on-accent:#04202e;--seal:#90c8e6;
  --focus-ring:rgba(119,185,220,0.28);
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304202e' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
/* Тон индиго держится между «Печатью» и слоем «Встречи», иначе
   индиговое заседание в календаре не отличить от встречи. */
html[data-theme='dark'][data-accent='indigo']{
  --accent:#988ff4;--accent-deep:#aca4f7;--accent-wash:#282348;
  --accent-wash-line:#413a70;--on-accent:#150f38;--seal:#aca4f7;
  --focus-ring:rgba(152,143,244,0.28);
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23150f38' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
html[data-theme='dark'][data-accent='pine']{
  --accent:#5cc4ab;--accent-deep:#79d3bd;--accent-wash:#123329;
  --accent-wash-line:#23554a;--on-accent:#03251d;--seal:#79d3bd;
  --focus-ring:rgba(92,196,171,0.28);
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303251d' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
}
