/* Base design tokens and normalization.
   Current full historical tokens remain in legacy_overrides.css for safe compatibility. */

:root {
  --storage-note: "Theme variables are still generated in templates/base.html and legacy_overrides.css";
}

/* =============================================
   JIT PLATFORM — ТИПОГРАФИЧЕСКАЯ СИСТЕМА
   Правила применяются глобально ко всем страницам
   ============================================= */

/* БАЗОВЫЙ СБРОС ВЕСОВ */
* {
  font-weight: 400;
}

/* УРОВЕНЬ 1 — Заголовок страницы */
.page-title,
h1 {
  font-size: 16px;
  font-weight: 500;
  color: var(--text);
  line-height: 1.3;
}

/* УРОВЕНЬ 2 — Заголовок секции / панели */
.section-title,
h2,
h3 {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  line-height: 1.4;
}

/* УРОВЕНЬ 3 — Лейбл поля формы
   ВАЖНО: только классы. Голый селектор `label` НЕ используем — в проекте
   <label> служит обёрткой для дропзон, чекбоксов и контролов, и общий стиль
   делал их мелкими uppercase. Лейбл получает стиль только через класс. */
.field-label,
.f-label,
.lbl {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--muted);
  display: block;
  margin-bottom: 3px;
}

/* ГРУППА ПОЛЯ — лейбл + контрол в колонку (компонент, наследуется новыми страницами) */
.fld,
.field-group,
.form-group {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

/* УРОВЕНЬ 4 — Значение / контент */
input,
select,
textarea,
.value,
td,
p {
  font-size: 12px;
  font-weight: 400;
  color: var(--text);
  line-height: 1.5;
}

/* Важное значение */
.value-primary,
.product-name,
.order-number,
.client-name {
  font-size: 12px;
  font-weight: 500;
  color: var(--text);
}

/* ТАБЛИЦЫ */
th,
.table-header,
.col-header {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
}
td {
  font-size: 12px;
  font-weight: 400;
  color: var(--text);
}

/* ПОДСКАЗКИ И ХИНТЫ */
.hint,
.helper-text,
.field-hint,
small {
  font-size: 10px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.4;
}
.nav-item.active {
  font-weight: 500;
  color: var(--text);
}

/* ХЛЕБНЫЕ КРОШКИ */
.bc-item {
  font-size: 11px;
  font-weight: 400;
  color: var(--muted);
}
.bc-current {
  font-size: 11px;
  font-weight: 500;
  color: var(--text);
}

/* КНОПКИ */
button,
.btn,
.sh-btn,
.fact-btn,
.btn-order,
.btn-primary,
.btn-outline {
  font-size: 12px;
  font-weight: 500;
}

/* БЕЙДЖИ И СТАТУСЫ */
.badge,
.order-badge,
.stock-badge,
.qf-btn {
  font-size: 11px;
  font-weight: 500;
}

/* ЗАГОЛОВКИ КОЛОНОК ТАБЛИЦЫ */
.orders-table thead th,
.table thead th {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--muted);
}

/* МЕТКИ СЕКЦИЙ */
.section-label,
.group-label {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 6px;
}

/* НЕЙТРАЛИЗОВАТЬ ПЕРЕОПРЕДЕЛЕНИЯ */
strong { font-weight: 500; }
b { font-weight: 500; }

/* ФОРМ-КОНТРОЛЫ — единый акцент чекбоксов/радио (правило системы: #1a1a1a = --dark).
   Глобальная база; точечные .check-line/.access-row-v69 и т.п. её подтверждают. */
input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--dark);
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
