/* ============================================================
   tokens.css — единый источник правды дизайн-системы СмИТ Биллинг
   Build 490 (2026-05-07): извлечён из theme-smit.css + base.html ЛК
   Подключается:
   - Админка: base_adminlte.html ПЕРЕД theme-smit.css
   - ЛК: lk/templates/lk/base.html ПЕРЕД lk-sidebar.css
   Любое изменение токенов отражается одновременно везде.
============================================================ */

:root {
    /* Brand */
    --brand-primary: #43b77a;
    --brand-primary-dark: #379963;
    --brand-primary-darker: #2f8556;
    --brand-primary-bg: #e8f5e9;
    --brand-primary-12: color-mix(in srgb, var(--brand-primary) 12%, transparent);
    /* Текст-безопасный бренд: фирменный #5BA89D на белом даёт 2.79:1 — для
       ссылок и подписей мало (нужно 4.5). Затемняем производной, чтобы цвет
       по-прежнему зависел от брендинга организации, а не был захардкожен. */
    --brand-text: #2f8556;
    --brand-text: color-mix(in srgb, var(--brand-primary) 72%, #000);
    --brand-primary-25: color-mix(in srgb, var(--brand-primary) 25%, transparent);
    --brand-accent: #3cbfae;
    --brand-accent-dark: #2f9b8d;

    /* Bootstrap-совместимые алиасы */
    --status-success: #15803d;  /* b1877: было #28a745 (3.13:1) — AA 4.54:1 (только текст) */
    --status-warning: #f0ad4e;
    /* build 1722: было #e05555 — 3.75:1 на белом и 4.04:1 на тёмном, то есть
       ниже минимума WCAG AA в ОБЕИХ темах. Токен используется только как цвет
       текста и иконок (не как фон), поэтому затемнение безопасно. */
    --status-danger:  #d63c3c;
    --status-info:    #5bc0de;
    --status-neutral: #6c757d;

    /* Семантические alarm-states (более насыщенные, для прогресс-баров/KPI/чипов) */
    --smit-state-ok:     #198754;
    --smit-state-warn:   #fd7e14;
    --smit-state-danger: #dc3545;
    --smit-state-info:   #0dcaf0;
    --smit-state-muted:  #6c757d;

    /* Surfaces (light) */
    --surface-page:    #f5f6f8;
    --surface-card:    #ffffff;
    --surface-muted:   #f8f9f8;
    --surface-toolbar: #f8f9f8;
    --border-subtle:   #d5ddd5;
    --border-default:  #e0e0e0;

    /* Text */
    --text-primary:    #212529;
    --text-secondary:  #4a5568;
    --text-muted:      #5d6b7f;   /* AA: 4.95 даже на полосатой строке (#f1f5f9), было 4.34 */

    /* Focus & motion */
    --focus-ring:        rgba(67, 183, 122, 0.30);
    --focus-outline:     #43b77a;
    --shadow-sm: 0 1px 3px rgba(0,0,0,.05);
    --shadow-md: 0 4px 12px rgba(0,0,0,.10);
    --shadow-lg: 0 6px 24px rgba(0,0,0,.12);

    /* Radii */
    --radius-xs: 3px;
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 8px;
    --radius-pill: 999px;

    /* Spacing 8-pt scale */
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;

    /* Typography */
    --font-ui: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: ui-monospace, 'JetBrains Mono', Menlo, Consolas, monospace;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 0.9375rem;
    --font-size-lg: 1.05rem;

    /* Backwards-compat алиасы для ЛК (старый namespace --lk-*) */
    --lk-bg: var(--surface-page);
    --lk-card-bg: var(--surface-card);
    --lk-text: var(--text-primary);
    --lk-muted: var(--text-muted);
    --lk-border: var(--border-default);
}

/* Dark theme — поддерживает оба селектора (админский body.dark-theme + ЛК-овский [data-bs-theme="dark"]) */
body.dark-theme,
body[data-theme="dark"],
[data-bs-theme="dark"] {
    --brand-text: var(--brand-primary);   /* в тёмной бренд уже светлый */
    --status-danger: #e86a6a;             /* 4.84:1 на #22262e (тёмный #d63c3c даёт 2.6) */
    --status-success: #4ade80;            /* b1877: на тёмном фоне ~9:1 (тёмный #15803d даёт ~2.5) */
    --surface-page:    #1a1d23;
    --surface-card:    #22262e;
    --surface-muted:   #2a2e37;
    --surface-toolbar: #2a2e37;
    --border-subtle:   #353940;
    --border-default:  #3a3f47;
    --text-primary:    #e4e6ea;
    --text-secondary:  #c0c4cc;
    --text-muted:      #9ca3af;
    --shadow-sm: 0 1px 3px rgba(0,0,0,.30);
    --shadow-md: 0 4px 12px rgba(0,0,0,.45);
    --shadow-lg: 0 6px 24px rgba(0,0,0,.55);
}

/* ============================================================
   Design system v2 (build 1862): типо-шкала + текст-серые + компонент .sc-pill.
   Добавлено к глобальному tokens.css → доступно на ВСЕХ страницах админки и ЛК.
   Ранее жило в support-tokens.css / smit-ui-tokens.css (те файлы дублируют эти
   значения; постепенно уходят — линки можно снять).
============================================================ */
:root {
  --sc-fz-2xs: .68rem;  --sc-fz-xs: .74rem;  --sc-fz-sm: .8rem;
  --sc-fz-md: .9rem;    --sc-fz-lg: 1.05rem; --sc-fz-xl: 1.2rem; --sc-fz-2xl: 1.5rem;
  --sc-text: #334155;  --sc-text-muted: #5d6b7f;  --sc-text-subtle: #94a3b8;
  --sc-border: #e2e8f0; --sc-subtle-bg: #f1f5f9; --sc-brand: #43b77a;
}
[data-bs-theme="dark"], .dark-theme {
  --sc-text: #e4e6ea;  --sc-text-muted: #94a3b8;  --sc-text-subtle: #6b7684;
  --sc-border: #2a2f37; --sc-subtle-bg: #1e222a;
}
.sc-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:10px;font-size:var(--sc-fz-xs);font-weight:600;line-height:1.5;white-space:nowrap;border:1px solid transparent}
.sc-pill--success{background:#e6f5ee;color:#1d7a4d}
.sc-pill--warn{background:#fdf3d8;color:#8a6d00}
.sc-pill--neutral{background:#eef0f2;color:#56606b}
.sc-pill--danger{background:#fbe4e6;color:#a32230}
.sc-pill--info{background:#eef3fb;color:#1565c0}
.sc-pill--brand{background:#eef7f2;color:#1f7a4a;border-color:#cce8db}
.sc-pill--tag{color:#fff;border-color:transparent;margin:0 4px 4px 0}
.sc-pill--sm{padding:1px 7px;border-radius:8px}
.sc-st-1{background:#e6f5ee;color:#1d7a4d}
.sc-st-2{background:#fdf3d8;color:#8a6d00}
.sc-st-3{background:#eef0f2;color:#56606b}
.sc-st-4{background:#fbe4e6;color:#a32230}
[data-bs-theme="dark"] .sc-pill--success,.dark-theme .sc-pill--success{background:rgba(67,183,122,.2);color:#6ee7b7}
[data-bs-theme="dark"] .sc-pill--warn,.dark-theme .sc-pill--warn{background:rgba(224,168,0,.22);color:#fcd34d}
[data-bs-theme="dark"] .sc-pill--neutral,.dark-theme .sc-pill--neutral{background:rgba(148,163,184,.2);color:#cbd5e1}
[data-bs-theme="dark"] .sc-pill--danger,.dark-theme .sc-pill--danger{background:rgba(220,53,69,.22);color:#fca5a5}
[data-bs-theme="dark"] .sc-pill--info,.dark-theme .sc-pill--info{background:#1b2533;color:#7db4ff}
[data-bs-theme="dark"] .sc-pill--brand,.dark-theme .sc-pill--brand{background:rgba(67,183,122,.12);color:#7fd6a8;border-color:#2a5a45}
[data-bs-theme="dark"] .sc-st-1,.dark-theme .sc-st-1{background:rgba(67,183,122,.2);color:#6ee7b7}
[data-bs-theme="dark"] .sc-st-2,.dark-theme .sc-st-2{background:rgba(224,168,0,.22);color:#fcd34d}
[data-bs-theme="dark"] .sc-st-3,.dark-theme .sc-st-3{background:rgba(148,163,184,.2);color:#cbd5e1}
[data-bs-theme="dark"] .sc-st-4,.dark-theme .sc-st-4{background:rgba(220,53,69,.22);color:#fca5a5}
