/* =====================================================
   TOIR Design Tokens — мост на Industrial Swiss
   ---------------------------------------------------------
   Имена --toir-* сохранены (1000+ употреблений), значения
   перепривязаны к ролям из static/marketing/tokens.css
   (единственный источник правды, docs/DESIGN_SYSTEM.md).
   Подключается ПОСЛЕ marketing/tokens.css, до base.css.
   ===================================================== */

:root {
    /* ---------- Brand colors ---------- */
    --toir-primary:        var(--p-500);
    --toir-primary-rgb:    31, 80, 117;
    --toir-secondary:      var(--n-500);
    --toir-success:        var(--ok);
    --toir-info:           var(--info);
    --toir-warning:        var(--warn);
    --toir-danger:         var(--stop);

    /* Soft / subtle backgrounds */
    --toir-primary-soft:   rgba(var(--toir-primary-rgb), 0.08);
    --toir-primary-soft-2: rgba(var(--toir-primary-rgb), 0.16);

    /* Accent / KPI palette (наследие; уходит в Phase 3 — графики) */
    --toir-accent-violet:  #6f42c1;
    --toir-accent-teal:    #20c997;
    --toir-accent-orange:  #fd7e14;

    /* ---------- Neutrals ---------- */
    --toir-bg-body:        var(--bg-sunken);
    --toir-bg-surface:     var(--surface);
    --toir-bg-muted:       var(--n-50);
    --toir-bg-hover:       var(--n-50);

    --toir-text:           var(--text);
    --toir-text-muted:     var(--text-muted);
    --toir-text-subtle:    var(--n-600);

    --toir-border:         var(--border);
    --toir-border-light:   var(--border-faint);

    /* ---------- Spacing scale ---------- */
    --toir-space-1: 0.25rem;   /*  4px */
    --toir-space-2: 0.5rem;    /*  8px */
    --toir-space-3: 0.75rem;   /* 12px */
    --toir-space-4: 1rem;      /* 16px */
    --toir-space-5: 1.5rem;    /* 24px */
    --toir-space-6: 2rem;      /* 32px */
    --toir-space-7: 3rem;      /* 48px */

    /* ---------- Typography ---------- */
    --toir-font-body: var(--font-sans);
    --toir-font-mono: var(--font-mono);

    --toir-fs-xs:   0.75rem;   /* 12px */
    --toir-fs-sm:   0.875rem;  /* 14px */
    --toir-fs-base: 1rem;      /* 16px */
    --toir-fs-lg:   1.125rem;  /* 18px */
    --toir-fs-xl:   1.5rem;    /* 24px */

    --toir-lh-tight: 1.25;
    --toir-lh-base:  1.5;
    --toir-lh-loose: 1.75;

    /* ---------- Radius: шкала сплющена сверху (§5) ---------- */
    --toir-radius-xs: var(--r-xs);
    --toir-radius-sm: var(--r-sm);
    --toir-radius-md: var(--r-md);
    --toir-radius-lg: var(--r-lg);
    --toir-radius-xl: var(--r-lg);
    /* Пилюля запрещена системой (§8.14); токен жив до зачистки
       употреблений в dashboard/billing (Phase 3). */
    --toir-radius-pill: 50rem;

    /* ---------- Shadows: иерархия линией, а не размытием (§5) ---------- */
    --toir-shadow-xs: var(--sh-hair);
    --toir-shadow-sm: var(--sh-hair);
    --toir-shadow-md: var(--sh-raise);
    --toir-shadow-lg: var(--sh-pop);

    /* ---------- Transitions: механизм, а не желе (§6) ---------- */
    --toir-transition-fast:  var(--d-fast) var(--e-out);
    --toir-transition-base:  var(--d-base) var(--e-out);
    --toir-transition-slow:  var(--d-slow) var(--e-out);

    /* ---------- Touch target (a11y) ---------- */
    --toir-touch-target: 44px;

    /* ---------- Legacy aliases (KPI widgets) ---------- */
    /* Keep templates that reference --kpi-* working; values map to toir tokens. */
    --kpi-primary:        var(--toir-primary);
    --kpi-primary-soft:   rgba(var(--toir-primary-rgb), 0.12);
    --kpi-success:        var(--toir-success);
    --kpi-success-soft:   var(--ok-bg);
    --kpi-warning:        var(--toir-warning);
    --kpi-warning-soft:   var(--warn-bg);
    --kpi-danger:         var(--toir-danger);
    --kpi-danger-soft:    var(--stop-bg);
    --kpi-info:           var(--toir-info);
    --kpi-info-soft:      var(--info-bg);
    --kpi-secondary:      var(--toir-secondary);
    --kpi-secondary-soft: var(--n-100);

    /* ---------- Z-index scale ---------- */
    --toir-z-sticky:   1020;
    --toir-z-fixed:    1030;
    --toir-z-modal-backdrop: 1040;
    --toir-z-offcanvas: 1045;
    --toir-z-modal:    1055;
    --toir-z-popover:  1070;
    --toir-z-tooltip:  1080;
    --toir-z-toast:    1090;
}

/* Тёмная тема удалена 2026-07-18: ничто в приложении не ставит
   data-bs-theme="dark", решение владельца — не используем. */

/* =====================================================
   Utility — touch-friendly button (a11y)
   ===================================================== */

.btn-touch {
    min-height: var(--toir-touch-target);
    min-width:  var(--toir-touch-target);
}

@media (max-width: 768px) {
    /* On phones, ensure all interactive controls reach 44px */
    .table .btn-sm,
    .btn-group-sm > .btn,
    .form-select-sm {
        min-height: var(--toir-touch-target);
    }
}
