/* ============================================================
   NZT Business Lab — Design System, светлая производная («NZT light»)

   Источник правды: ~/projects/nzt-businesslab/design-system
   (раздаётся с https://ds.nzt-businesslab.ru/css/nzt-ds.css).

   Сама DS — dark-only: «void» #000, hairline-границы, glass-панели.
   Для плотного табличного интерфейса берём тот же приём, что в MVP-прототипах
   Кровельного: светлые поверхности при сохранении идентичности — фирменный
   plum, amber, Unbounded + PT Sans. Примитивы DS приведены дословно, роли
   переопределены под светлый фон; значения продублированы литералами, чтобы
   прототип открывался и без ds-хоста.
   ============================================================ */

/* --- шрифты DS, завендорены локально: идентичность не теряется с file:// --- */

@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-Light.ttf") format("truetype");
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-Regular.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Unbounded";
  src: url("../fonts/Unbounded-Black.ttf") format("truetype");
  font-weight: 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "PT Sans";
  src: url("../fonts/PTSans-Regular.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "PT Sans";
  src: url("../fonts/PTSans-Bold.ttf") format("truetype");
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  /* --- примитивы NZT DS (дословно из tokens/color.css) --- */
  --void:     #000000;
  --bone:     #ffffff;
  --ash:      #bdbdbd;
  --smoke:    #9a9a9a;
  --plum:     #8052ff;   /* фирменный акцент */
  --plum-dim: #6a40e0;
  --amber:    #ffb829;
  --lichen:   #15846e;
  --danger:   #ff5a5a;
  --info:     #57aaff;

  --plum-008:  rgba(128, 82, 255, 0.08);
  --plum-012:  rgba(128, 82, 255, 0.12);
  --plum-016:  rgba(128, 82, 255, 0.16);
  --amber-010: rgba(255, 184, 41, 0.10);

  /* --- светлая производная: поверхности --- */
  --paper:    #f6f6f8;   /* фон страницы */
  --paper-2:  #ffffff;   /* панели и карточки */
  --paper-3:  #f0f0f4;   /* мягкая заливка, hover */
  --ink:      #101016;   /* основной текст */
  --ink-2:    #17171f;   /* тёмная шапка и сайдбар */
  --ink-3:    #23232e;
  --graphite: #23232e;
  --muted:    #63636d;
  --line:     rgba(10, 10, 22, 0.12);
  --line-2:   rgba(10, 10, 22, 0.07);
  --line-dark: rgba(255, 255, 255, 0.14);

  --text:   #101016;
  --text-2: #3a3a46;
  --text-3: #63636d;

  --on-dark:   #ffffff;
  --on-dark-2: rgba(255, 255, 255, 0.74);
  --on-dark-3: rgba(255, 255, 255, 0.52);

  /* --- роли действий и статусов --- */
  --accent:      var(--plum);
  --accent-hover: var(--plum-dim);
  --accent-2:    var(--amber);

  /* статусные цвета: тёмные производные примитивов для контраста на светлом */
  --green: #15846e;   /* lichen как есть — контраста хватает */
  --red:   #c9314a;   /* тёмная производная danger */
  --blue:  #2f74c0;   /* тёмная производная info */

  --green-soft:  #e2f1ed;
  --red-soft:    #fbe7ea;
  --blue-soft:   #e6f0fb;
  --amber-soft:  #fff3d9;
  --accent-soft: #efe9ff;

  --radius: 8px;
  --shadow-1: 0 1px 2px rgba(10, 10, 22, 0.05);
  --shadow-2: 0 8px 24px rgba(10, 10, 22, 0.08);
  --shadow-3: 0 18px 48px rgba(10, 10, 22, 0.14);
  --shadow: var(--shadow-3);

  --sidebar-w: 264px;
  --header-h: 64px;
  --gap: 16px;

  /* --- типографика DS --- */
  --font-display: "Unbounded", "Segoe UI", system-ui, sans-serif;
  --font-sans:    "PT Sans", "Helvetica Neue", Arial, sans-serif;
  --font-serif:   var(--font-display);   /* легаси-имя: заголовки теперь Unbounded */
  --font-mono:    "IBM Plex Mono", "SF Mono", Consolas, monospace;

  /* приоритеты претензий: red → plum → amber → info */
  --p1: #b02a3c;  --p1-bg: #fbe7ea;
  --p2: #5b34c7;  --p2-bg: #efe9ff;
  --p3: #8a5c00;  --p3-bg: #fff3d9;
  --p4: #2f74c0;  --p4-bg: #e6f0fb;
}

/* --- сброс --- */
* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: var(--paper);   /* перекрывает void из base.css DS */
}

body {
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; height: auto; }

h1, h2, h3, h4 { margin: 0; font-weight: 700; letter-spacing: -0.01em; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
