/* Токены интерфейса EMoney — единственный источник правды по цвету,
   размеру и движению. Любой новый экран берёт значения отсюда.
   Свой цвет в коде компонента = ошибка: через полгода он разъедется с темой.

   Правила — docs/DESIGN.md. Живой образец — docs/audit/ios_prototype.html.
*/
:root{
  --bg:#EEF0F6; --bg-2:#FFFFFF; --group:rgba(255,255,255,.72);
  --glass-edge:rgba(255,255,255,.9); --glass-hi:rgba(255,255,255,1);
  --glow-1:rgba(255,221,45,.42); --glow-2:rgba(255,180,40,.26); --glow-3:rgba(120,140,255,.14);
  --ink:#000000; --ink-2:#3C3C43; --ink-3:#6E6E76; --ink-4:#C7C7CC;
  --sep:rgba(60,60,67,.16); --sep-solid:#E5E5EA;
  --go:#C99A00; --go-ink:#1A1300;
  /* Жёлтый на светлом фоне читается как 2.3:1 — для заливки кнопки это
     неважно (текст на ней тёмный), но как ЦВЕТ ТЕКСТА он почти не виден.
     Отдельный токен: тот же смысл «здесь работать», годный контраст. */
  --go-text:#7A5C00; --go-tint:rgba(255,221,45,.22);
  --wait:#6B7280; --wait-tint:rgba(60,60,67,.08);
  --new:#0A6DD6; --new-tint:#E7F0FB;
  --stop:#D2352B; --stop-tint:#FDECEA;
  --chrome:rgba(248,249,252,.66);
  --sheet:rgba(252,252,254,.86); --scrim:rgba(0,0,0,.26);
  --gap:14px; --gap-lg:18px;
  --r-card:12px; --r-sheet:14px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:20px; --space-6:24px; --space-8:32px;
  --text-caption:12.5px; --text-body:16px; --text-heading:19px; --text-title:22px;
  --control-size:44px; --step-size:28px; --content-width:860px; --form-width:480px;
  --tabbar-height:calc(56px + max(env(safe-area-inset-bottom), 20px));
  --dock-space:128px;
  /* Встроенные кривые слишком вялые. Эти дают отклик, который читается
     как «интерфейс услышал» — сильный выход и iOS-кривая для листов. */
  /* ── время и кривые ──
     Одно значение на весь интерфейс: когда длительность прописана в каждом
     компоненте отдельно, они рано или поздно расходятся, и панель начинает
     двигаться вразнобой. */
  --duration-tap:120ms;       /* отклик на само нажатие */
  --duration-fast:150ms;      /* отклик на нажатие, наведение */
  --duration-normal:250ms;    /* появление, исчезновение, смена содержимого */
  --duration-slow:400ms;      /* большие поверхности: лист, экран */
  --timing-smooth:cubic-bezier(.4,0,.2,1);
  /* Отпускание кнопки: лёгкий перелёт за конечную точку — палец отпустил, а
     кнопка ещё чуть качнулась. Только для отпускания: на въезде экрана такой
     перелёт читается как неточность. */
  --spring-back:cubic-bezier(.175,.885,.32,1.275);
  --out:cubic-bezier(.23,1,.32,1);
  --drawer:cubic-bezier(.32,.72,0,1);
  /* ── пары цветов статусов (дизайн 26.08, эталон 4b) ──
     Закрытый список: подложка + буквы. Правила: жёлтый достаётся ровно
     одному статусу — «На выдаче» (единственный, где шаг за оператором);
     серого «ждём» нет; цвет никогда не единственный признак — рядом всегда
     слово и иконка. Новый статус — только новой парой здесь, не в компоненте. */
  --st-new-bg:#FDE4E1;   --st-new-ink:#C53128;
  --st-work-bg:#E9E9FB;  --st-work-ink:#4B45C6;
  --st-pay-bg:#FBEBDA;   --st-pay-ink:#A15707;
  --st-paid-bg:#DFF0EE;  --st-paid-ink:#0C6F68;
  --st-issue-bg:#F2E4B2; --st-issue-ink:#806100;
  --st-done-bg:#E7F0FB;  --st-done-ink:#096AD1;
  --st-fin-bg:#D4F3DD;   --st-fin-ink:#097A36;
  --st-off-bg:#EEE4E4;   --st-off-ink:#79393A;
  --st-stop-bg:#FDE7E5;  --st-stop-ink:#C53128;
  --tip-bg:#1C1C22;
  /* промо-карточка партнёра: бренд одинаков в обеих темах */
  --promo-bg:#101114;  --promo-accent:#FFDD2D;  --promo-mut:rgba(255,255,255,.55);
  /* ── палитра графиков аналитики ──
     Алиасы статусных чернил: линии различимы между собой, но остаются
     в общем сдержанном тоне панели и сами переключаются с темой.
     Каждой метрике — свой номер, а не свой хекс в компоненте. */
  --ch-1:var(--st-done-ink);   /* синий: просмотры, процессор */
  --ch-2:var(--st-paid-ink);   /* бирюза: посетители, отклик базы */
  --ch-3:var(--st-work-ink);   /* фиолетовый: расчёты, память */
  --ch-4:var(--st-pay-ink);    /* янтарный: часы, диск */
  --ch-5:var(--st-fin-ink);    /* зелёный: деньги */

}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --go-text:var(--go);
  --bg:#0A0A11; --bg-2:#15151C; --group:rgba(255,255,255,.075);
  --glass-edge:rgba(255,255,255,.10); --glass-hi:rgba(255,255,255,.16);
  --ink:#FFFFFF; --ink-2:rgba(235,235,245,.78); --ink-3:rgba(235,235,245,.56);
  --ink-4:rgba(235,235,245,.26);
  --sep:rgba(255,255,255,.075); --sep-solid:rgba(255,255,255,.12);
  --go:#FFDD2D; --go-ink:#151004; --go-tint:rgba(255,221,45,.15);
  --wait:rgba(235,235,245,.55); --wait-tint:rgba(255,255,255,.08);
  --new:#6FB0FF; --new-tint:rgba(111,176,255,.14);
  --stop:#FF6F60; --stop-tint:rgba(255,111,96,.15);
  --chrome:rgba(18,18,24,.62);
  --sheet:rgba(26,26,33,.82); --scrim:rgba(0,0,0,.42);
  --glow-1:rgba(255,214,40,.34); --glow-2:rgba(255,160,30,.24); --glow-3:rgba(120,110,255,.16);
  --st-new-bg:rgba(255,111,96,.17);   --st-new-ink:#FF8C7F;
  --st-work-bg:rgba(150,145,255,.16); --st-work-ink:#A8A2FF;
  --st-pay-bg:rgba(255,159,60,.16);   --st-pay-ink:#FFB259;
  --st-paid-bg:rgba(80,220,205,.15);  --st-paid-ink:#5FD8C8;
  --st-issue-bg:rgba(255,221,45,.16); --st-issue-ink:#FFDD2D;
  --st-done-bg:rgba(111,176,255,.15); --st-done-ink:#6FB0FF;
  --st-fin-bg:rgba(80,235,140,.18);   --st-fin-ink:#57E38C;
  --st-off-bg:rgba(230,160,160,.13);  --st-off-ink:#D69C9C;
  --st-stop-bg:rgba(255,111,96,.16);  --st-stop-ink:#FF8C7F;
  --tip-bg:#26262E;

}}
:root[data-theme="dark"]{
  --bg:#0A0A11; --bg-2:#15151C; --group:rgba(255,255,255,.075);
  --glass-edge:rgba(255,255,255,.10); --glass-hi:rgba(255,255,255,.16);
  --ink:#FFFFFF; --ink-2:rgba(235,235,245,.78); --ink-3:rgba(235,235,245,.56);
  --ink-4:rgba(235,235,245,.26);
  --sep:rgba(255,255,255,.075); --sep-solid:rgba(255,255,255,.12);
  --go:#FFDD2D; --go-ink:#151004; --go-tint:rgba(255,221,45,.15);
  --wait:rgba(235,235,245,.55); --wait-tint:rgba(255,255,255,.08);
  --new:#6FB0FF; --new-tint:rgba(111,176,255,.14);
  --stop:#FF6F60; --stop-tint:rgba(255,111,96,.15);
  --chrome:rgba(18,18,24,.62);
  --sheet:rgba(26,26,33,.82); --scrim:rgba(0,0,0,.42);
  --glow-1:rgba(255,214,40,.34); --glow-2:rgba(255,160,30,.24); --glow-3:rgba(120,110,255,.16);
  --st-new-bg:rgba(255,111,96,.17);   --st-new-ink:#FF8C7F;
  --st-work-bg:rgba(150,145,255,.16); --st-work-ink:#A8A2FF;
  --st-pay-bg:rgba(255,159,60,.16);   --st-pay-ink:#FFB259;
  --st-paid-bg:rgba(80,220,205,.15);  --st-paid-ink:#5FD8C8;
  --st-issue-bg:rgba(255,221,45,.16); --st-issue-ink:#FFDD2D;
  --st-done-bg:rgba(111,176,255,.15); --st-done-ink:#6FB0FF;
  --st-fin-bg:rgba(80,235,140,.18);   --st-fin-ink:#57E38C;
  --st-off-bg:rgba(230,160,160,.13);  --st-off-ink:#D69C9C;
  --st-stop-bg:rgba(255,111,96,.16);  --st-stop-ink:#FF8C7F;
  --tip-bg:#26262E;

}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
body{margin:0; background:#DDDFE3; color:var(--ink);
  font:16px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
/* Крупные числа и заголовки — вариант Display: у него уже другая прорисовка
   и посадка. Плюс межбуквенное расстояние подбирается под размер: одно
   значение на все кегли всегда где-то неверно. */
.display{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif}
@media (prefers-color-scheme:dark){body{background:#17181B}}
