// data.jsx — sample data for an MSP / IT-services workspace (Charlotte, NC)

const WORKSPACE = {
  name: "ABC B2B Company",
  plan: "Growth plan",
  initials: "AB",
  industry: "Managed IT Services (MSP)",
  hq: "Charlotte, NC",
};

const ICP = {
  services: ["Managed IT & helpdesk", "Cybersecurity & compliance", "Cloud migration (M365 / Azure)", "Backup & disaster recovery", "vCIO advisory"],
  segments: ["Healthcare practices", "Legal firms", "Accounting / financial services", "Light manufacturing", "Professional services"],
  geos: ["Charlotte metro", "Raleigh–Durham", "Greenville, SC", "Atlanta metro"],
  sizeMin: 25, sizeMax: 300,
  exclusions: ["Enterprise (>500 staff)", "Existing in-house IT teams of 5+", "Single-location retail", "Government / public sector"],
  signals: ["Opening a new office", "Recent funding or acquisition", "Hiring IT/security roles", "Aging infrastructure / EOL Windows", "HIPAA / SOC 2 / PCI pressure", "Recent breach or outage mention"],
  tone: "Consultative, plain-spoken, low-jargon. Lead with risk reduction and uptime, not feature lists.",
};

// Logo color palette per company (deterministic-ish)
const LOGO_COLORS = ["#0ea5e9","#6366f1","#10b981","#f59e0b","#ec4899","#8b5cf6","#14b8a6","#ef4444","#0891b2","#d946ef","#65a30d","#f97316"];

function logoFor(name) {
  let h = 0; for (let i=0;i<name.length;i++) h = (h*31 + name.charCodeAt(i)) >>> 0;
  return LOGO_COLORS[h % LOGO_COLORS.length];
}
function initials(name) {
  return name.replace(/[^A-Za-z0-9 ]/g,"").split(" ").filter(Boolean).slice(0,2).map(w=>w[0]).join("").toUpperCase();
}

const SOURCES_META = {
  "Apollo":      { color: "#5046e5", short: "AP", kind: "Lead database" },
  "Clearbit":    { color: "#3b82f6", short: "CB", kind: "Enrichment API" },
  "Web Research":{ color: "#0f766e", short: "WR", kind: "Agent web search" },
  "Crunchbase":  { color: "#146aff", short: "CR", kind: "Firmographics" },
  "HubSpot List":{ color: "#ff7a59", short: "HS", kind: "CRM import" },
};

const LEADS = [
  {
    id: "LD-4821", company: "Cardinal Family Dental", url: "cardinalfamilydental.com",
    industry: "Healthcare — Dental", location: "Charlotte, NC", size: "60–90", sizeNum: 72,
    source: "Web Research", confidence: 0.92, score: 94, status: "new", found: "2h ago",
    contacts: [{ name: "Dana Whitfield", title: "Practice Administrator", email: "d.whitfield@cardinalfd.com" }, { name: "Dr. Marcus Reyes", title: "Owner / DDS", email: null }],
    signals: ["Opening a new office", "HIPAA / SOC 2 / PCI pressure"],
    next: "Email Practice Administrator — lead with HIPAA risk review + new-office network setup.",
    rationale: "Multi-location dental group (4th office announced) in the Charlotte metro, ~72 staff — squarely in the ICP for healthcare practices. HIPAA exposure and a new clinic build-out are both active buying signals. No in-house IT mentioned anywhere in research.",
    evidence: [
      { src: "Web Research", url: "charlotteobserver.com/business", quote: "Cardinal Family Dental announced its fourth location, opening in Ballantyne this spring, citing rapid patient growth across the metro." },
      { src: "Web Research", url: "cardinalfamilydental.com/careers", quote: "Currently hiring front-desk and clinical staff across all locations — no IT or systems roles listed." },
      { src: "Apollo", url: "apollo.io", quote: "Headcount 72 · Healthcare · Founded 2009 · 4 locations · No technology department identified." },
    ],
    enrich: { revenue: "$8–12M est.", founded: "2009", tech: "Dentrix, Microsoft 365, on-prem server (aging)", locations: "3 (4th opening)" },
  },
  {
    id: "LD-4822", company: "Beacon Legal Partners", url: "beaconlegalpartners.com",
    industry: "Legal", location: "Charlotte, NC", size: "40–60", sizeNum: 48,
    source: "Apollo", confidence: 0.88, score: 91, status: "new", found: "3h ago",
    contacts: [{ name: "Priya Nair", title: "Director of Operations", email: "pnair@beaconlp.com" }],
    signals: ["Aging infrastructure / EOL Windows", "HIPAA / SOC 2 / PCI pressure"],
    next: "Offer a no-cost security & compliance assessment — emphasize client confidentiality + e-discovery.",
    rationale: "Mid-size litigation firm, 48 attorneys + staff, in target geo. Job posting references replacing 'legacy case-management systems' — a strong infra-refresh signal. Legal vertical maps to compliance services.",
    evidence: [
      { src: "Apollo", url: "apollo.io", quote: "48 employees · Legal Services · Charlotte, NC · Tech stack flags: Windows Server 2012 (EOL), on-prem Exchange." },
      { src: "Web Research", url: "linkedin.com/jobs", quote: "Seeking Operations Manager to help modernize legacy case-management and document systems firm-wide." },
    ],
    enrich: { revenue: "$14M est.", founded: "2003", tech: "NetDocuments, Windows Server 2012 (EOL), on-prem Exchange", locations: "1" },
  },
  {
    id: "LD-4823", company: "Piedmont Precision Mfg", url: "piedmontprecision.com",
    industry: "Light Manufacturing", location: "Gastonia, NC", size: "120–160", sizeNum: 140,
    source: "Crunchbase", confidence: 0.81, score: 86, status: "new", found: "5h ago",
    contacts: [{ name: "Tom Becker", title: "VP Operations", email: "tbecker@piedmontprecision.com" }, { name: "Sheila Ortiz", title: "Controller", email: "sortiz@piedmontprecision.com" }],
    signals: ["Recent funding or acquisition", "Aging infrastructure / EOL Windows"],
    next: "Reference the acquisition — pitch network consolidation + OT/IT security for the shop floor.",
    rationale: "Precision parts maker that just acquired a competitor, pushing headcount to ~140 across two plants. Acquisitions almost always create network-consolidation and security gaps. Slightly outside core verticals but strong signal density.",
    evidence: [
      { src: "Crunchbase", url: "crunchbase.com", quote: "Piedmont Precision completed acquisition of Carolina Tool & Die, expanding to two facilities and ~140 employees." },
      { src: "Web Research", url: "manufacturingdive.com", quote: "Regional manufacturers cite cyber-insurance requirements as a growing driver of IT investment in 2026." },
    ],
    enrich: { revenue: "$22M est.", founded: "1998", tech: "Epicor ERP, mixed Windows fleet, no documented MDR", locations: "2" },
  },
  {
    id: "LD-4824", company: "Harborview Wealth Advisors", url: "harborviewwealth.com",
    industry: "Financial Services", location: "Raleigh, NC", size: "30–45", sizeNum: 38,
    source: "Web Research", confidence: 0.90, score: 89, status: "reviewed", found: "Yesterday",
    contacts: [{ name: "Greg Halloran", title: "Managing Partner", email: "ghalloran@harborviewwealth.com" }],
    signals: ["HIPAA / SOC 2 / PCI pressure", "Hiring IT/security roles"],
    next: "Lead with SEC/FINRA recordkeeping + email archiving. Book a 20-min compliance scoping call.",
    rationale: "RIA with ~38 staff in Raleigh. SEC examination priorities for 2026 emphasize cybersecurity and recordkeeping — directly relevant. They posted a part-time 'IT coordinator' role, suggesting they're feeling the gap but not ready to hire in-house.",
    evidence: [
      { src: "Web Research", url: "sec.gov/exams", quote: "2026 examination priorities highlight cybersecurity resilience and electronic recordkeeping for registered advisers." },
      { src: "Web Research", url: "indeed.com", quote: "Harborview Wealth seeks part-time IT coordinator to support 40-person advisory office." },
    ],
    enrich: { revenue: "$11M est.", founded: "2011", tech: "Microsoft 365, Redtail CRM, no SIEM/archiving", locations: "1" },
  },
  {
    id: "LD-4825", company: "Queen City Orthopedics", url: "qcortho.com",
    industry: "Healthcare — Specialty", location: "Charlotte, NC", size: "90–130", sizeNum: 110,
    source: "Apollo", confidence: 0.86, score: 88, status: "reviewed", found: "Yesterday",
    contacts: [{ name: "Renee Caldwell", title: "Chief Administrative Officer", email: "rcaldwell@qcortho.com" }],
    signals: ["Opening a new office", "HIPAA / SOC 2 / PCI pressure"],
    next: "Pitch managed IT + HIPAA for the new imaging center; offer phased migration plan.",
    rationale: "Growing ortho group adding an imaging center. Imaging + PHI = heavy compliance and uptime needs. ~110 staff, healthcare vertical, Charlotte metro — high fit.",
    evidence: [
      { src: "Apollo", url: "apollo.io", quote: "110 employees · Medical Practice · Charlotte · Multi-site · EHR: Athenahealth." },
      { src: "Web Research", url: "bizjournals.com/charlotte", quote: "Queen City Orthopedics breaks ground on dedicated imaging center to open late 2026." },
    ],
    enrich: { revenue: "$30M est.", founded: "2007", tech: "Athenahealth, M365, mixed imaging hardware", locations: "3" },
  },
  {
    id: "LD-4826", company: "Tarheel Tax & Advisory", url: "tarheeltax.com",
    industry: "Accounting", location: "Durham, NC", size: "25–40", sizeNum: 32,
    source: "Clearbit", confidence: 0.79, score: 82, status: "approved", found: "2 days ago",
    contacts: [{ name: "Will Foster", title: "Partner", email: "wfoster@tarheeltax.com" }],
    signals: ["Aging infrastructure / EOL Windows", "HIPAA / SOC 2 / PCI pressure"],
    next: "Time outreach around busy-season prep — pitch secure file exchange + backup.",
    rationale: "CPA firm handling sensitive financial data with an aging on-prem setup. Accounting is a core vertical; PCI/IRS safeguards rule (FTC) creates compliance pull. Smaller but clean fit.",
    evidence: [
      { src: "Clearbit", url: "clearbit.com", quote: "32 employees · Accounting · Durham, NC · Detected: on-prem file server, consumer-grade backup." },
      { src: "Web Research", url: "irs.gov", quote: "IRS requires tax professionals to maintain a written information security plan under the FTC Safeguards Rule." },
    ],
    enrich: { revenue: "$6M est.", founded: "2014", tech: "UltraTax, QuickBooks, on-prem file server", locations: "1" },
  },
  {
    id: "LD-4827", company: "Greenway Logistics Group", url: "greenwaylogistics.com",
    industry: "Transportation / Logistics", location: "Greenville, SC", size: "150–220", sizeNum: 180,
    source: "Crunchbase", confidence: 0.72, score: 74, status: "approved", found: "2 days ago",
    contacts: [{ name: "Marcus Lee", title: "IT Manager", email: "mlee@greenwaylogistics.com" }],
    signals: ["Recent funding or acquisition", "Hiring IT/security roles"],
    next: "Co-managed IT angle — augment their lone IT manager rather than replace.",
    rationale: "180-person logistics firm — at the upper edge of ICP and they have an IT manager, which lowers fit. Best positioned as co-managed IT (overflow + security) rather than full outsource.",
    evidence: [
      { src: "Crunchbase", url: "crunchbase.com", quote: "Greenway Logistics raised a growth round to expand its Southeast distribution footprint." },
      { src: "Web Research", url: "linkedin.com/jobs", quote: "Hiring a systems administrator to support a growing 180-person logistics operation." },
    ],
    enrich: { revenue: "$40M est.", founded: "2005", tech: "Custom TMS, Azure, 1 internal IT staff", locations: "4" },
  },
  {
    id: "LD-4828", company: "Lakeside Pediatrics", url: "lakesidepeds.com",
    industry: "Healthcare — Pediatric", location: "Cornelius, NC", size: "30–50", sizeNum: 42,
    source: "Web Research", confidence: 0.84, score: 85, status: "new", found: "6h ago",
    contacts: [{ name: "Amanda Pierce", title: "Office Manager", email: "apierce@lakesidepeds.com" }],
    signals: ["Recent breach or outage mention", "HIPAA / SOC 2 / PCI pressure"],
    next: "Reference the regional ransomware news — offer a HIPAA risk + backup assessment.",
    rationale: "Pediatric practice in the Lake Norman area, ~42 staff. Local news covered a ransomware incident at a nearby clinic, raising urgency. Healthcare + clear compliance need = strong fit.",
    evidence: [
      { src: "Web Research", url: "wcnc.com/news", quote: "A Charlotte-area medical office disclosed a ransomware incident affecting patient scheduling for several days." },
      { src: "Apollo", url: "apollo.io", quote: "42 employees · Pediatric practice · Cornelius, NC · EHR: eClinicalWorks." },
    ],
    enrich: { revenue: "$5M est.", founded: "2012", tech: "eClinicalWorks, M365, no documented backup tier", locations: "1" },
  },
  {
    id: "LD-4829", company: "Foundry Architecture Co", url: "foundryarch.com",
    industry: "Professional Services", location: "Charlotte, NC", size: "20–35", sizeNum: 28,
    source: "Apollo", confidence: 0.68, score: 67, status: "new", found: "8h ago",
    contacts: [{ name: "Elena Sokolova", title: "Principal", email: "esokolova@foundryarch.com" }],
    signals: ["Opening a new office"],
    next: "Soft-touch nurture — small team, single signal. Send the office-IT-checklist resource.",
    rationale: "Small architecture studio opening a second office. Only one buying signal and headcount near the floor of the ICP. Worth nurturing but not a priority for direct outreach yet.",
    evidence: [
      { src: "Apollo", url: "apollo.io", quote: "28 employees · Architecture & Planning · Charlotte, NC." },
      { src: "Web Research", url: "bizjournals.com/charlotte", quote: "Foundry Architecture plans a second studio in the South End district." },
    ],
    enrich: { revenue: "$4M est.", founded: "2016", tech: "Autodesk suite, Mac + Windows mix, Dropbox", locations: "1 (2nd planned)" },
  },
  {
    id: "LD-4830", company: "Summit View Eye Care", url: "summitvieweye.com",
    industry: "Healthcare — Optometry", location: "Matthews, NC", size: "35–55", sizeNum: 46,
    source: "HubSpot List", confidence: 0.83, score: 84, status: "synced", found: "3 days ago",
    contacts: [{ name: "Brian Tate", title: "Practice Owner", email: "btate@summitvieweye.com" }],
    signals: ["HIPAA / SOC 2 / PCI pressure", "Aging infrastructure / EOL Windows"],
    next: "Already in CRM — schedule the on-site assessment booked by the SDR.",
    rationale: "Imported from the marketing list and confirmed in-ICP: optometry group, 46 staff, Charlotte metro, aging endpoints. Compliance + refresh needs align with managed IT + security bundle.",
    evidence: [
      { src: "HubSpot List", url: "hubspot.com", quote: "Source: 2025 healthcare webinar registrants. Lifecycle stage: marketing qualified lead." },
      { src: "Clearbit", url: "clearbit.com", quote: "46 employees · Optometry · Detected aging Windows 10 fleet approaching end-of-support." },
    ],
    enrich: { revenue: "$7M est.", founded: "2010", tech: "RevolutionEHR, Windows 10 (EOL 2025), M365", locations: "2" },
  },
  {
    id: "LD-4831", company: "Atlas Property Management", url: "atlaspm.com",
    industry: "Real Estate", location: "Atlanta, GA", size: "70–110", sizeNum: 88,
    source: "Clearbit", confidence: 0.64, score: 58, status: "rejected", found: "4 days ago",
    contacts: [{ name: "Sandra Kim", title: "Operations Director", email: "skim@atlaspm.com" }],
    signals: ["Hiring IT/security roles"],
    next: "Rejected — has a growing in-house IT team; poor fit for managed services.",
    rationale: "Atlanta is in-geo and size fits, but research shows they're building a 4-person internal IT team — which conflicts with the exclusion rule for in-house IT of 5+. Low fit for full managed services.",
    evidence: [
      { src: "Clearbit", url: "clearbit.com", quote: "88 employees · Real Estate · Atlanta, GA · IT department: 3 staff and growing." },
      { src: "Web Research", url: "linkedin.com/jobs", quote: "Atlas Property Management hiring a Senior Systems Administrator and a Help Desk Lead." },
    ],
    enrich: { revenue: "$18M est.", founded: "2009", tech: "Yardi, Azure, internal IT team", locations: "5" },
  },
  {
    id: "LD-4832", company: "Riverside Surgical Center", url: "riversidesurgical.com",
    industry: "Healthcare — Surgical", location: "Charlotte, NC", size: "80–120", sizeNum: 96,
    source: "Web Research", confidence: 0.91, score: 93, status: "new", found: "1h ago",
    contacts: [{ name: "Dr. Helen Vargas", title: "Medical Director", email: null }, { name: "Joel Ramsey", title: "Facility Administrator", email: "jramsey@riversidesurgical.com" }],
    signals: ["HIPAA / SOC 2 / PCI pressure", "Recent breach or outage mention", "Aging infrastructure / EOL Windows"],
    next: "High priority — lead with uptime SLA + HIPAA. Offer same-week risk assessment.",
    rationale: "Ambulatory surgical center, ~96 staff in Charlotte, with three active signals including a regional breach reference and EOL infrastructure. Surgical settings demand high uptime and tight PHI controls — top-tier fit.",
    evidence: [
      { src: "Web Research", url: "modernhealthcare.com", quote: "Ambulatory surgery centers face rising ransomware targeting due to high-value patient data and uptime sensitivity." },
      { src: "Apollo", url: "apollo.io", quote: "96 employees · Surgical center · Charlotte · Flags: Windows Server 2012, no managed detection." },
      { src: "Web Research", url: "riversidesurgical.com", quote: "Patient portal downtime notice posted twice in the last quarter, indicating reliability issues." },
    ],
    enrich: { revenue: "$26M est.", founded: "2006", tech: "HST Pathways, Windows Server 2012 (EOL), no MDR", locations: "1" },
  },
  {
    id: "LD-4833", company: "Cornerstone Credit Union", url: "cornerstonecu.org",
    industry: "Financial Services", location: "Charlotte, NC", size: "200–280", sizeNum: 240,
    source: "Apollo", confidence: 0.70, score: 71, status: "reviewed", found: "Yesterday",
    contacts: [{ name: "Patricia Owens", title: "VP Technology", email: "powens@cornerstonecu.org" }],
    signals: ["HIPAA / SOC 2 / PCI pressure", "Hiring IT/security roles"],
    next: "Co-managed / project-based only — they have internal IT leadership.",
    rationale: "Credit union at the top of the ICP size band (240) with a VP of Technology, so full outsource is unlikely. Strong compliance needs (NCUA/PCI) make them a fit for project-based security work or co-managed support.",
    evidence: [
      { src: "Apollo", url: "apollo.io", quote: "240 employees · Credit Union · Charlotte · IT leadership present; security team forming." },
      { src: "Web Research", url: "ncua.gov", quote: "NCUA emphasizes information security exam expectations for credit unions in 2026." },
    ],
    enrich: { revenue: "n/a (member assets $1.2B)", founded: "1972", tech: "Symitar core, Azure, internal IT + forming security team", locations: "6" },
  },
  {
    id: "LD-4834", company: "Bluegrass Veterinary Group", url: "bluegrassvet.com",
    industry: "Healthcare — Veterinary", location: "Greenville, SC", size: "45–70", sizeNum: 58,
    source: "Web Research", confidence: 0.80, score: 81, status: "exported", found: "3 days ago",
    contacts: [{ name: "Dr. Nathan Cole", title: "Owner", email: "ncole@bluegrassvet.com" }],
    signals: ["Opening a new office", "PCI / payment compliance"],
    next: "Exported to CSV for the SC territory rep — multi-clinic IT standardization pitch.",
    rationale: "Expanding veterinary group, 58 staff across clinics in the Greenville area. Multi-site standardization + PCI for payments is a clean managed-IT story. Solid mid-tier fit in a target geo.",
    evidence: [
      { src: "Web Research", url: "greenvillenews.com", quote: "Bluegrass Veterinary Group adds a fourth clinic amid strong demand for pet care in the Upstate." },
      { src: "Clearbit", url: "clearbit.com", quote: "58 employees · Veterinary Services · multiple locations · mixed practice-management software." },
    ],
    enrich: { revenue: "$9M est.", founded: "2013", tech: "ezyVet, Square payments, mixed network gear", locations: "3 (4th opening)" },
  },
];

// ---- Agent runs ----
const RUNS = [
  { id: "RUN-2291", started: "Today, 9:04 AM", status: "completed", duration: "6m 12s", found: 18, qualified: 11, sources: ["Web Research","Apollo","Clearbit"], calls: 142, tokens: 486000, cost: 4.82 },
  { id: "RUN-2290", started: "Today, 6:00 AM", status: "completed", duration: "5m 48s", found: 14, qualified: 8, sources: ["Web Research","Crunchbase"], calls: 118, tokens: 392000, cost: 3.71 },
  { id: "RUN-2289", started: "Yesterday, 6:00 PM", status: "completed", duration: "7m 02s", found: 22, qualified: 13, sources: ["Apollo","Web Research","Clearbit"], calls: 167, tokens: 551000, cost: 5.44 },
  { id: "RUN-2288", started: "Yesterday, 12:00 PM", status: "partial", duration: "3m 19s", found: 6, qualified: 3, sources: ["Clearbit"], calls: 54, tokens: 161000, cost: 1.60, note: "Apollo rate limit hit — retried 2 sources" },
  { id: "RUN-2287", started: "Yesterday, 6:00 AM", status: "completed", duration: "6m 41s", found: 19, qualified: 10, sources: ["Web Research","Apollo"], calls: 151, tokens: 503000, cost: 4.98 },
  { id: "RUN-2286", started: "2 days ago, 6:00 PM", status: "failed", duration: "0m 22s", found: 0, qualified: 0, sources: [], calls: 4, tokens: 9000, cost: 0.09, note: "Model provider timeout — auto-retry scheduled" },
];

// ---- Connectors ----
const CONNECTORS = {
  sources: [
    { name: "Apollo", kind: "Lead database", status: "connected", color: "#5046e5", short: "AP", detail: "12,400 records in scope · synced 2h ago" },
    { name: "Clearbit", kind: "Enrichment API", status: "connected", color: "#3b82f6", short: "CB", detail: "Firmographic + tech enrichment" },
    { name: "Web Research", kind: "Agent web search", status: "connected", color: "#0f766e", short: "WR", detail: "Live web + news research" },
    { name: "Crunchbase", kind: "Firmographics", status: "connected", color: "#146aff", short: "CR", detail: "Funding & acquisition signals" },
    { name: "ZoomInfo", kind: "Lead database", status: "available", color: "#e11d48", short: "ZI", detail: "Add contact & intent data" },
    { name: "LinkedIn Sales Nav", kind: "Prospecting", status: "available", color: "#0a66c2", short: "in", detail: "Connect for org & people signals" },
  ],
  crm: [
    { name: "HubSpot", kind: "CRM", status: "connected", color: "#ff7a59", short: "HS", detail: "Contacts · Companies · Notes · approval-based sync" },
    { name: "Salesforce", kind: "CRM", status: "available", color: "#00a1e0", short: "SF", detail: "Connect to sync to Leads & Accounts" },
    { name: "Pipedrive", kind: "CRM", status: "available", color: "#1a1a1a", short: "PD", detail: "Connect to sync to Deals & Persons" },
  ],
  models: [
    { name: "Claude Sonnet", kind: "Reasoning & scoring", status: "connected", color: "#d97757", short: "AI", detail: "Default model for enrichment & rationale" },
    { name: "Claude Haiku", kind: "Fast classification", status: "connected", color: "#cc785c", short: "AI", detail: "Used for triage & dedupe" },
  ],
};

// ---- Uploaded context docs ----
const DOCS = [
  { id: "DOC-01", name: "ABC B2B Company — Service Catalog.pdf", type: "Service descriptions", size: "2.1 MB", v: 3, updated: "Apr 12, 2026", chunks: 64, status: "indexed" },
  { id: "DOC-02", name: "ICP & Qualification Criteria.docx", type: "Qualification criteria", size: "180 KB", v: 5, updated: "May 28, 2026", chunks: 22, status: "indexed" },
  { id: "DOC-03", name: "Case Study — Lakeshore Dental.pdf", type: "Case study", size: "1.4 MB", v: 1, updated: "Mar 02, 2026", chunks: 31, status: "indexed" },
  { id: "DOC-04", name: "Case Study — Apex Law Group.pdf", type: "Case study", size: "1.2 MB", v: 2, updated: "Mar 19, 2026", chunks: 28, status: "indexed" },
  { id: "DOC-05", name: "Objection Handling Playbook.docx", type: "Messaging", size: "240 KB", v: 4, updated: "May 10, 2026", chunks: 40, status: "indexed" },
  { id: "DOC-06", name: "HIPAA Compliance One-Pager.pdf", type: "Messaging", size: "620 KB", v: 1, updated: "Feb 24, 2026", chunks: 12, status: "indexed" },
  { id: "DOC-07", name: "Target Account List — Q2.csv", type: "Target accounts", size: "94 KB", v: 1, updated: "Apr 30, 2026", chunks: 0, status: "processing" },
];

// ---- Reporting metrics ----
const REPORT = {
  weeks: [
    { label: "Apr 6", found: 64, approved: 31 },
    { label: "Apr 13", found: 72, approved: 38 },
    { label: "Apr 20", found: 81, approved: 41 },
    { label: "Apr 27", found: 69, approved: 36 },
    { label: "May 4", found: 88, approved: 49 },
    { label: "May 11", found: 94, approved: 52 },
    { label: "May 18", found: 103, approved: 58 },
    { label: "May 25", found: 97, approved: 61 },
  ],
  sourcePerf: [
    { name: "Web Research", found: 312, approved: 198, cost: 1.94, color: "#0f766e" },
    { name: "Apollo", found: 268, approved: 141, cost: 0.82, color: "#5046e5" },
    { name: "Clearbit", found: 154, approved: 71, cost: 1.12, color: "#3b82f6" },
    { name: "Crunchbase", found: 98, approved: 44, cost: 0.71, color: "#146aff" },
    { name: "HubSpot List", found: 61, approved: 39, cost: 0.0, color: "#ff7a59" },
  ],
  industries: [
    { name: "Healthcare", pct: 38 }, { name: "Legal", pct: 21 }, { name: "Financial Svcs", pct: 17 },
    { name: "Manufacturing", pct: 13 }, { name: "Professional Svcs", pct: 11 },
  ],
};

// ---- Usage ----
const USAGE = {
  monthTokens: 18420000, monthCalls: 4912, monthCost: 184.30, budget: 300,
  costByDay: [5.2,4.8,6.1,5.9,7.2,3.1,2.4,6.8,7.4,6.2,5.5,8.1,7.9,6.4,3.0,2.8,7.1,8.4,7.7,6.9,5.8,3.2,2.6,7.8,8.9,8.2,7.4,6.1,5.9,4.2],
  breakdown: [
    { label: "Enrichment & scoring (Sonnet)", calls: 2840, tokens: 12600000, cost: 126.0 },
    { label: "Triage & dedupe (Haiku)", calls: 1610, tokens: 4100000, cost: 18.4 },
    { label: "Web research fetches", calls: 412, tokens: 1420000, cost: 22.6 },
    { label: "Data-source lookups (Apollo/Clearbit)", calls: 50, tokens: 300000, cost: 17.3 },
  ],
};

Object.assign(window, {
  WORKSPACE, ICP, LEADS, RUNS, CONNECTORS, DOCS, REPORT, USAGE,
  SOURCES_META, logoFor, initials,
});
