/* COMERCIAL · CARTEIRA — dados mock partilhados entre tabela e drawer. */

const CARTEIRA_CLIENTES = [
  {
    id: 'grafica-norte', name: 'Gráfica Norte Lda', logo: 'GN', logoBg: 'oklch(0.58 0.14 28)',
    city: 'Porto', sector: 'Sinalética', size: 28,
    brands: ['Mimaki', 'Decal', 'PPE100'],
    ltv: 487234, monthlyAvg: 18450, ticketAvg: 9200,
    lastBuy: { date: '16 Fev', daysAgo: 67, value: 11240 },
    nextBuy: { date: 'Indefinida', confidence: 22, note: 'padrão quebrou há 30d' },
    health: 'risco',
    ops: [{ id: 1847, stage: 80, value: 340000, product: 'UCJV330-160', days: 12 }],
    contact: 'João Afonso · CEO',
    note: '12 dias parada em stage 80 · concorrência Roland',
    activity: 67,
  },
  {
    id: 'signpro', name: 'SignPro', logo: 'SP', logoBg: 'oklch(0.56 0.16 256)',
    city: 'Leiria', sector: 'Sinalética', size: 15,
    brands: ['Mimaki', 'AllDecor'],
    ltv: 156780, monthlyAvg: 5240, ticketAvg: 3800,
    lastBuy: { date: '18 Abr', daysAgo: 5, value: 2890 },
    nextBuy: { date: '10 Mai', confidence: 78, note: 'padrão 28d · PPE100' },
    health: 'saudavel',
    ops: [],
    contact: 'Maria Almeida · Gerente',
    note: 'Compra regular · PrintPlan em análise',
    activity: 5,
  },
  {
    id: 'olimpo', name: 'Olimpo Lda', logo: 'OL', logoBg: 'oklch(0.58 0.14 20)',
    city: 'Braga', sector: 'Gráfica', size: 42,
    brands: ['Mimaki', 'BIOND', 'Decal'],
    ltv: 892340, monthlyAvg: 32100, ticketAvg: 15600,
    lastBuy: { date: '02 Abr', daysAgo: 21, value: 28900 },
    nextBuy: { date: '05 Mai', confidence: 92, note: 'padrão 30d · tinta UV' },
    health: 'recompra',
    ops: [{ id: 1902, stage: 65, value: 78000, product: 'UJV100-160', days: 3 }],
    contact: 'Rui Barros · Director Op.',
    note: 'Cliente TOP · pronto para recompra em 12d',
    activity: 21,
  },
  {
    id: 'visualmax', name: 'Visualmax Publicidade', logo: 'VM', logoBg: 'oklch(0.58 0.14 152)',
    city: 'Leiria', sector: 'Publicidade', size: 22,
    brands: ['Roland (concorrência)'],
    ltv: 0, monthlyAvg: 0, ticketAvg: 0,
    lastBuy: { date: '—', daysAgo: null, value: 0 },
    nextBuy: { date: '—', confidence: 0, note: 'prospecto · nunca comprou' },
    health: 'prospecto',
    ops: [{ id: 1915, stage: 65, value: 95000, product: 'UCJV330-160', days: 8 }],
    contact: 'Pedro Costa · Sócio',
    note: 'Roland VG3 há 6 anos · switch potencial',
    activity: null,
  },
  {
    id: 'multiprint', name: 'Multiprint Lda', logo: 'MP', logoBg: 'oklch(0.58 0.11 60)',
    city: 'Aveiro', sector: 'Gráfica', size: 34,
    brands: ['Mimaki', 'PPE100', 'Sensek'],
    ltv: 234560, monthlyAvg: 9800, ticketAvg: 5400,
    lastBuy: { date: '28 Mar', daysAgo: 26, value: 7800 },
    nextBuy: { date: '—', confidence: 40, note: 'limite crédito atingido' },
    health: 'atraso',
    ops: [],
    contact: 'Ana Rocha · Financeira',
    note: '11.240 € em atraso · 45d · limite próximo',
    activity: 26,
  },
  {
    id: 'grupo-siena', name: 'Grupo Siena', logo: 'GS', logoBg: 'oklch(0.56 0.14 300)',
    city: 'Coimbra', sector: 'Gráfica', size: 34,
    brands: ['Mimaki', 'Decal'],
    ltv: 421900, monthlyAvg: 14600, ticketAvg: 6700,
    lastBuy: { date: '11 Abr', daysAgo: 12, value: 6450 },
    nextBuy: { date: '15 Mai', confidence: 71, note: 'padrão 35d' },
    health: 'saudavel',
    ops: [{ id: 1894, stage: 90, value: 145000, product: 'CJV330-160', days: 2 }],
    contact: 'Ricardo Dias · CEO',
    note: 'OP em fecho iminente · expansão 2ª unidade',
    activity: 12,
  },
  {
    id: 'printnow', name: 'PrintNow', logo: 'PN', logoBg: 'oklch(0.56 0.14 186)',
    city: 'Aveiro', sector: 'Sinalética', size: 18,
    brands: ['Mimaki'],
    ltv: 89400, monthlyAvg: 3100, ticketAvg: 2100,
    lastBuy: { date: '06 Fev', daysAgo: 77, value: 1950 },
    nextBuy: { date: '—', confidence: 28, note: 'quebra padrão · esfriar' },
    health: 'esfria',
    ops: [],
    contact: 'Sofia Mendes · Gerente',
    note: 'Reduziu volume 40% nos últimos 60d',
    activity: 77,
  },
  {
    id: 'digimedia', name: 'DigiMedia Coimbra', logo: 'DM', logoBg: 'oklch(0.60 0.14 100)',
    city: 'Coimbra', sector: 'Gráfica', size: 19,
    brands: ['Mimaki'],
    ltv: 67200, monthlyAvg: 2400, ticketAvg: 1850,
    lastBuy: { date: '20 Jan', daysAgo: 94, value: 1680 },
    nextBuy: { date: '—', confidence: 12, note: 'sem contacto · 94d' },
    health: 'risco',
    ops: [],
    contact: 'Luís Sá · Director',
    note: '94d sem compra · sem resposta a WA',
    activity: 94,
  },
  {
    id: 'bannermax', name: 'BannerMax', logo: 'BM', logoBg: 'oklch(0.58 0.12 230)',
    city: 'Porto', sector: 'Sinalética', size: 41,
    brands: ['Mimaki', 'Decal', 'BIOND'],
    ltv: 612300, monthlyAvg: 22800, ticketAvg: 11400,
    lastBuy: { date: '09 Abr', daysAgo: 14, value: 9800 },
    nextBuy: { date: '12 Mai', confidence: 83, note: 'padrão 32d · tinta + media' },
    health: 'saudavel',
    ops: [],
    contact: 'Tiago Moreira · Director',
    note: 'Cross-sell: nunca comprou PPE100 (fit perfeito)',
    crossSell: true,
    activity: 14,
  },
  {
    id: 'tekgraphic', name: 'TekGraphic SA', logo: 'TG', logoBg: 'oklch(0.54 0.16 10)',
    city: 'Lisboa', sector: 'Gráfica', size: 56,
    brands: ['Mimaki', 'Decal', 'Sensek', 'BIOND'],
    ltv: 1240800, monthlyAvg: 42000, ticketAvg: 21000,
    lastBuy: { date: '22 Abr', daysAgo: 1, value: 18400 },
    nextBuy: { date: '24 Mai', confidence: 88, note: 'padrão 32d · volume crescente' },
    health: 'saudavel',
    ops: [{ id: 1927, stage: 80, value: 220000, product: 'Tx300P-1800', days: 6 }],
    contact: 'Catarina Silva · CEO',
    note: 'Cliente top 3 · expansão têxtil confirmada',
    activity: 1,
  },
  {
    id: 'fastprint', name: 'FastPrint Algarve', logo: 'FP', logoBg: 'oklch(0.60 0.15 60)',
    city: 'Faro', sector: 'Gráfica', size: 12,
    brands: ['Mimaki'],
    ltv: 42300, monthlyAvg: 1800, ticketAvg: 1400,
    lastBuy: { date: '25 Fev', daysAgo: 58, value: 1200 },
    nextBuy: { date: '—', confidence: 38, note: 'padrão esporádico' },
    health: 'esfria',
    ops: [],
    contact: 'Miguel Santos · Gerente',
    note: 'Sazonalidade verão · ligar em Mai',
    activity: 58,
  },
  {
    id: 'colorpro', name: 'ColorPro Lda', logo: 'CP', logoBg: 'oklch(0.58 0.18 340)',
    city: 'Braga', sector: 'Gráfica', size: 24,
    brands: ['Mimaki', 'BIOND'],
    ltv: 198450, monthlyAvg: 7600, ticketAvg: 4200,
    lastBuy: { date: '15 Abr', daysAgo: 8, value: 4890 },
    nextBuy: { date: '18 Mai', confidence: 74, note: 'padrão 33d' },
    health: 'recompra',
    ops: [],
    contact: 'Nuno Fonseca · Sócio',
    note: '⚡ Padrão aponta recompra esta semana',
    activity: 8,
  },
];

const HEALTH_META = {
  saudavel:  { emoji: '🟢', label: 'Saudável',       color: 'var(--success)', short: 'Saudável' },
  recompra:  { emoji: '⚡', label: 'Pronto recompra', color: '#a78bfa',         short: 'Pronto' },
  esfria:    { emoji: '🟡', label: 'A esfriar',       color: 'var(--warning)', short: 'A esfriar' },
  risco:     { emoji: '🔴', label: 'Risco churn',     color: 'var(--danger)',  short: 'Risco' },
  atraso:    { emoji: '💳', label: 'Em atraso',       color: '#64748b',        short: 'Atraso' },
  prospecto: { emoji: '✨', label: 'Prospecto',       color: 'var(--ai-500)',  short: 'Prospecto' },
};

window.CARTEIRA_CLIENTES = CARTEIRA_CLIENTES;
window.HEALTH_META = HEALTH_META;
