/* telegram-collector design tokens
   single source of truth for all UI work
   v0.8 · stage 5 handoff */

:root {
  /* surfaces */
  --tc-bg:        #f8fafc;
  --tc-card:      #ffffff;
  --tc-border:    #e2e8f0;
  --tc-divider:   #f1f5f9;

  /* text */
  --tc-text:      #0f172a;
  --tc-muted:     #64748b;
  --tc-faint:     #94a3b8;

  /* brand + actions */
  --tc-primary:   #4f46e5;   /* indigo-600 — главное действие */
  --tc-primary-bg:#eef2ff;   /* indigo-50  — активный пункт меню, выделение */

  /* statuses (lead lifecycle) */
  --tc-new:       #94a3b8;   /* slate-400 */
  --tc-qualifying:#3b82f6;   /* blue-500 */
  --tc-quoted:    #8b5cf6;   /* violet-500 */
  --tc-won:       #10b981;   /* emerald-500 */
  --tc-lost:      #f43f5e;   /* rose-500 */
  --tc-cancelled: #71717a;   /* zinc-500 */

  /* semantic */
  --tc-ok:        #10b981;
  --tc-ok-money:  #047857;   /* для денег: чуть темнее, контрастнее */
  --tc-warn:      #f59e0b;
  --tc-urgent:    #e11d48;   /* rose-600 — срочный лид */
  --tc-bad-money: #be123c;

  /* sources */
  --tc-tg:        #0ea5e9;   /* sky-500 */
  --tc-wa:        #22c55e;   /* green-500 */

  /* radii */
  --tc-r-sm: 4px;            /* badge, chip */
  --tc-r:    6px;            /* button, input */
  --tc-r-md: 8px;            /* card */
  --tc-r-lg: 10px;           /* modal */
  --tc-r-xl: 16px;           /* push toast */

  /* spacing — 4-multiple */
  --tc-s-1: 4px;
  --tc-s-2: 8px;
  --tc-s-3: 12px;
  --tc-s-4: 16px;
  --tc-s-5: 20px;
  --tc-s-6: 24px;
  --tc-s-8: 32px;

  /* heights */
  --tc-row:     50px;        /* table row, timeline row */
  --tc-touch:   44px;        /* mobile hit target — минимум */
  --tc-btn:     32px;        /* desktop button */
  --tc-input:   34px;

  /* type */
  --tc-font: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --tc-mono: ui-monospace, "SF Mono", Menlo, monospace;
  --tc-fs-xs:  11px;         /* мета, лейблы */
  --tc-fs-sm:  12px;         /* основной текст плотных интерфейсов */
  --tc-fs:     13px;         /* AppShell */
  --tc-fs-md:  14px;         /* карточка */
  --tc-fs-lg:  16px;
  --tc-fs-xl:  20px;         /* page title */
  --tc-fs-xxl: 32px;         /* dashboard metric */

  /* shadows */
  --tc-shadow-card: 0 1px 2px rgba(15,23,42,.04);
  --tc-shadow-pop:  0 12px 40px rgba(15,23,42,.12);
  --tc-shadow-toast:0 24px 64px rgba(15,23,42,.2);

  /* animation */
  --tc-fast:   .12s ease-out;
  --tc-base:   .2s  ease-out;
  --tc-slow:   1.6s ease-out;  /* highlight fade-out */
}

/* numbers / money */
.tc-num     { font-variant-numeric: tabular-nums; }
.tc-money   { font-variant-numeric: tabular-nums; white-space: nowrap; }

/* status helpers */
.tc-status-new        { background: rgba(148,163,184,.18); color: #334155; }
.tc-status-qualifying { background: rgba(59,130,246,.14);  color: #1d4ed8; }
.tc-status-quoted     { background: rgba(139,92,246,.16);  color: #6d28d9; }
.tc-status-won        { background: rgba(16,185,129,.16);  color: #047857; }
.tc-status-lost       { background: rgba(244,63,94,.14);   color: #be123c; }
.tc-status-cancelled  { background: rgba(113,113,122,.16); color: #52525b; }
