// CRIMINAL JUSTICE PLATFORM — Master Data Layer
// Exposed as window.CRIMINAL_DATA
// Scale: 10 defendants (white-collar mix), full USSG/Brady/pleas/motions/hearings/witnesses

const CRIMINAL_DATA = {
  kpis: {
    activeDefendants: 10,
    detained: 2,
    onBail: 7,
    investigationStage: 1,
    trialsThisQuarter: 3,
    sentencingsThisQuarter: 2,
    pleaNegotiating: 4,
    bradyProductionPending: 5,
    motionsPending: 18,
    motionsGranted: 12,
    hearingsNext30: 14,
    witnessesIdentified: 84,
    cooperators: 3,
    avgGuidelineRange: '41-51 mo',
    avgSavingsVsStat: 38,       // % reduction from stat max via plea
    post2255Pending: 2,
  },

  // ── DEFENDANTS (10 cases) ──
  defendants: [
    { id: 'D-2026-0142', name: 'Marcus Harrell Jr.', aka: 'M. Harrell', age: 54, client: 'Harrell Family Trust', matter: 'United States v. Harrell', court: 'S.D.N.Y.', docket: '1:25-cr-00384-AKH', judge: 'Judge Hellerstein', stage: 'Plea Negotiations', bail: 'Released — Bond', charges: 8, leadCount: '18 U.S.C. § 1343 (Wire Fraud)', exposure: '240 mo (stat max)', guideRange: '51-63 mo', sentencingDate: null, nextHearing: '2026-05-14', leadCounsel: 'M. Kirkland', coop: false, custody: 'Not in custody' },
    { id: 'D-2026-0141', name: 'Dr. Priya Venkataraman', aka: 'Dr. Venkat', age: 48, client: 'Venkataraman Health Svcs', matter: 'United States v. Venkataraman et al.', court: 'E.D. Pa.', docket: '2:25-cr-00218-GEKP', judge: 'Judge Pappert', stage: 'Pretrial', bail: 'Released — Conditions', charges: 12, leadCount: '18 U.S.C. § 1347 (Health Care Fraud)', exposure: '120 mo (stat max)', guideRange: '46-57 mo', sentencingDate: null, nextHearing: '2026-04-28', leadCounsel: 'L. Torres', coop: false, custody: 'Not in custody' },
    { id: 'D-2026-0140', name: 'Chen Wei-Long', aka: 'W. Chen', age: 41, client: 'Sterling Pharma (subsidiary)', matter: 'United States v. Chen', court: 'D.D.C.', docket: '1:26-cr-00042-JDB', judge: 'Judge Bates', stage: 'Pretrial', bail: 'Detained', charges: 6, leadCount: '15 U.S.C. § 78dd-1 (FCPA)', exposure: '120 mo (stat max)', guideRange: '63-78 mo', sentencingDate: null, nextHearing: '2026-04-24', leadCounsel: 'M. Kirkland', coop: false, custody: 'MDC — Alexandria' },
    { id: 'D-2026-0139', name: 'Samuel Okonkwo', aka: 'S. Okonkwo', age: 62, client: 'Self', matter: 'United States v. Okonkwo', court: 'S.D.N.Y.', docket: '1:25-cr-00612-VEC', judge: 'Judge Caproni', stage: 'Trial', bail: 'Released — Bond', charges: 4, leadCount: '18 U.S.C. § 1956 (Money Laundering)', exposure: '240 mo (stat max)', guideRange: '78-97 mo', sentencingDate: null, nextHearing: '2026-05-06', leadCounsel: 'M. Kirkland', coop: false, custody: 'Not in custody' },
    { id: 'D-2026-0138', name: 'Lin Zhang', aka: 'L. Zhang', age: 36, client: 'Zhang Tech Ventures', matter: 'United States v. Zhang', court: 'N.D. Cal.', docket: '3:25-cr-00488-WHO', judge: 'Judge Orrick', stage: 'Plea Negotiations', bail: 'Released — Bond', charges: 9, leadCount: '18 U.S.C. § 1341 (Mail Fraud)', exposure: '240 mo (stat max)', guideRange: '37-46 mo', sentencingDate: null, nextHearing: '2026-05-20', leadCounsel: 'A. Petrov', coop: true, custody: 'Not in custody' },
    { id: 'D-2026-0137', name: 'Olivia Barnwell', aka: 'O. Barnwell', age: 52, client: 'Barnwell Advisors', matter: 'United States v. Barnwell et al.', court: 'S.D.N.Y.', docket: '1:25-cr-00721-PAE', judge: 'Judge Engelmayer', stage: 'Sentencing', bail: 'Released — Bond', charges: 5, leadCount: '15 U.S.C. § 78j(b) / Rule 10b-5 (Securities Fraud)', exposure: '300 mo (stat max)', guideRange: '57-71 mo', sentencingDate: '2026-06-04', nextHearing: '2026-06-04', leadCounsel: 'L. Torres', coop: false, custody: 'Not in custody' },
    { id: 'D-2026-0136', name: 'Deshawn Miller', aka: 'D. Miller', age: 29, client: 'Self', matter: 'United States v. Miller', court: 'E.D.N.Y.', docket: '1:25-cr-00302-KAM', judge: 'Judge Matsumoto', stage: 'Pretrial', bail: 'GPS Monitoring', charges: 3, leadCount: '21 U.S.C. § 841(b)(1)(A) (PWID — Cocaine)', exposure: 'Life (mand. min 10y)', guideRange: '121-151 mo', sentencingDate: null, nextHearing: '2026-04-30', leadCounsel: 'J. Park', coop: true, custody: 'Home Detention' },
    { id: 'D-2026-0135', name: 'Kathleen Ó Briain', aka: 'K. Brian', age: 47, client: 'Ó Briain Consulting', matter: 'United States v. Ó Briain', court: 'S.D.N.Y.', docket: '1:26-cr-00018-LJL', judge: 'Judge Liman', stage: 'Investigation', bail: 'N/A — Pre-charge', charges: 0, leadCount: 'Pre-charge — grand jury subpoena received', exposure: 'Unknown', guideRange: 'Pre-charge', sentencingDate: null, nextHearing: '2026-05-02', leadCounsel: 'M. Kirkland', coop: false, custody: 'Not in custody' },
    { id: 'D-2026-0134', name: 'James Whitman', aka: 'J. Whitman', age: 58, client: 'Whitman Industries', matter: 'United States v. Whitman', court: 'D.D.C.', docket: '1:25-cr-00209-RDM', judge: 'Judge Moss', stage: 'Sentencing', bail: 'Released — Bond', charges: 2, leadCount: '26 U.S.C. § 7206(1) (Tax Fraud)', exposure: '60 mo (stat max)', guideRange: '24-30 mo', sentencingDate: '2026-05-22', nextHearing: '2026-05-22', leadCounsel: 'R. Vasquez', coop: false, custody: 'Not in custody' },
    { id: 'D-2026-0133', name: 'Sofia Rojas', aka: 'S. Rojas', age: 44, client: 'Rojas Logistics Corp.', matter: 'United States v. Rojas', court: 'S.D. Fla.', docket: '1:25-cr-20412-FAM', judge: 'Judge Moreno', stage: 'Post-Conviction', bail: 'Detained', charges: 11, leadCount: '18 U.S.C. § 1962(c) (RICO)', exposure: 'Sentenced 96 mo', guideRange: '87-108 mo', sentencingDate: '2026-02-14 (complete)', nextHearing: '2026-05-28 (§ 2255)', leadCounsel: 'L. Torres', coop: true, custody: 'FCI Miami' },
  ],

  // ── CHARGES — per-count detail ──
  charges: [
    { id: 'C-001', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', count: 1, statute: '18 U.S.C. § 1343', title: 'Wire Fraud', class: 'C', statMax: 240, mandMin: 0, fineMax: 250_000, status: 'Active', trackedOffenseLevel: 24 },
    { id: 'C-002', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', count: 2, statute: '18 U.S.C. § 1343', title: 'Wire Fraud', class: 'C', statMax: 240, mandMin: 0, fineMax: 250_000, status: 'Active', trackedOffenseLevel: 24 },
    { id: 'C-003', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', count: 3, statute: '18 U.S.C. § 1957', title: 'Monetary Transactions in Unlawful Activity', class: 'D', statMax: 120, mandMin: 0, fineMax: 250_000, status: 'Active', trackedOffenseLevel: 20 },
    { id: 'C-004', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', count: 4, statute: '18 U.S.C. § 1028A', title: 'Aggravated Identity Theft', class: 'D', statMax: 24, mandMin: 24, fineMax: 250_000, status: 'Active', trackedOffenseLevel: null, note: '2-yr mandatory, consecutive' },
    { id: 'C-010', defendant: 'Chen Wei-Long', defendantId: 'D-2026-0140', count: 1, statute: '15 U.S.C. § 78dd-1', title: 'FCPA — Anti-Bribery', class: 'D', statMax: 60, mandMin: 0, fineMax: 2_000_000, status: 'Active', trackedOffenseLevel: 18 },
    { id: 'C-011', defendant: 'Chen Wei-Long', defendantId: 'D-2026-0140', count: 2, statute: '18 U.S.C. § 371', title: 'Conspiracy (FCPA)', class: 'D', statMax: 60, mandMin: 0, fineMax: 250_000, status: 'Active', trackedOffenseLevel: 18 },
    { id: 'C-012', defendant: 'Chen Wei-Long', defendantId: 'D-2026-0140', count: 3, statute: '18 U.S.C. § 1956(h)', title: 'Conspiracy to Launder', class: 'C', statMax: 240, mandMin: 0, fineMax: 500_000, status: 'Active', trackedOffenseLevel: 24 },
    { id: 'C-020', defendant: 'Deshawn Miller', defendantId: 'D-2026-0136', count: 1, statute: '21 U.S.C. § 841(b)(1)(A)', title: 'Possession w/ Intent — Cocaine 500g+', class: 'B', statMax: 'life', mandMin: 120, fineMax: 10_000_000, status: 'Active', trackedOffenseLevel: 32, note: 'Mandatory 10 yr unless safety-valve' },
    { id: 'C-021', defendant: 'Deshawn Miller', defendantId: 'D-2026-0136', count: 2, statute: '18 U.S.C. § 924(c)', title: 'Firearm in Drug-Trafficking Crime', class: 'B', statMax: 'life', mandMin: 60, fineMax: 250_000, status: 'Active', trackedOffenseLevel: null, note: '5-yr mandatory, consecutive' },
    { id: 'C-030', defendant: 'Olivia Barnwell', defendantId: 'D-2026-0137', count: 1, statute: '15 U.S.C. § 78j(b)', title: 'Securities Fraud (10b-5)', class: 'B', statMax: 300, mandMin: 0, fineMax: 5_000_000, status: 'Active', trackedOffenseLevel: 24 },
    { id: 'C-040', defendant: 'Sofia Rojas', defendantId: 'D-2026-0133', count: 1, statute: '18 U.S.C. § 1962(c)', title: 'RICO — Conduct of Enterprise', class: 'B', statMax: 240, mandMin: 0, fineMax: 250_000, status: 'Convicted', trackedOffenseLevel: 28 },
    { id: 'C-050', defendant: 'James Whitman', defendantId: 'D-2026-0134', count: 1, statute: '26 U.S.C. § 7206(1)', title: 'Tax Fraud — False Return', class: 'E', statMax: 36, mandMin: 0, fineMax: 100_000, status: 'Convicted (plea)', trackedOffenseLevel: 14 },
    { id: 'C-060', defendant: 'Dr. Priya Venkataraman', defendantId: 'D-2026-0141', count: 1, statute: '18 U.S.C. § 1347', title: 'Health Care Fraud', class: 'C', statMax: 120, mandMin: 0, fineMax: 250_000, status: 'Active', trackedOffenseLevel: 22 },
    { id: 'C-061', defendant: 'Dr. Priya Venkataraman', defendantId: 'D-2026-0141', count: 2, statute: '42 U.S.C. § 1320a-7b', title: 'Anti-Kickback Statute', class: 'D', statMax: 120, mandMin: 0, fineMax: 100_000, status: 'Active', trackedOffenseLevel: 18 },
  ],

  // ── BAIL / DETENTION ──
  bail: [
    { defendantId: 'D-2026-0142', status: 'Released — Bond', setBy: 'Judge Hellerstein', amount: 2_000_000, cosigners: 3, conditions: ['Surrender passport','No contact w/ alleged victims','Travel restricted to SDNY/NJ','Weekly check-in with PTS'], heardOn: '2025-11-02', appealed: false },
    { defendantId: 'D-2026-0141', status: 'Released — Conditions', setBy: 'Magistrate Sitarski', amount: 500_000, cosigners: 2, conditions: ['No practicing medicine','Bank-account monitoring','No travel outside E.D. Pa.'], heardOn: '2025-12-18', appealed: false },
    { defendantId: 'D-2026-0140', status: 'Detained', setBy: 'Judge Bates', amount: null, cosigners: 0, conditions: ['Risk of flight (PRC national)','No conditions adequate'], heardOn: '2026-02-24', appealed: true, appealOutcome: 'Pending D.C. Circuit ruling' },
    { defendantId: 'D-2026-0139', status: 'Released — Bond', setBy: 'Magistrate Lehrburger', amount: 5_000_000, cosigners: 4, conditions: ['Home confinement 8pm-6am','GPS monitoring','Financial-activity reporting'], heardOn: '2025-10-14', appealed: false },
    { defendantId: 'D-2026-0138', status: 'Released — Bond', setBy: 'Magistrate Kim', amount: 1_500_000, cosigners: 2, conditions: ['Travel restricted to N.D. Cal.','Surrender all passports (US + Taiwan)'], heardOn: '2025-12-02', appealed: false },
    { defendantId: 'D-2026-0137', status: 'Released — Bond', setBy: 'Judge Engelmayer', amount: 10_000_000, cosigners: 5, conditions: ['Surrender passport','No securities-industry activity','Monthly asset report'], heardOn: '2025-09-14', appealed: false },
    { defendantId: 'D-2026-0136', status: 'GPS Monitoring', setBy: 'Magistrate Gold', amount: 250_000, cosigners: 2, conditions: ['GPS ankle monitor','Drug testing weekly','Home detention except court/counsel'], heardOn: '2025-11-08', appealed: false },
    { defendantId: 'D-2026-0134', status: 'Released — Bond', setBy: 'Magistrate Harvey', amount: 500_000, cosigners: 1, conditions: ['Travel restricted to D.D.C.','Surrender passport'], heardOn: '2025-08-22', appealed: false },
    { defendantId: 'D-2026-0133', status: 'Detained', setBy: 'Judge Moreno', amount: null, cosigners: 0, conditions: ['Serving sentence at FCI Miami'], heardOn: '2026-02-14', appealed: false },
  ],

  // ── BRADY / GIGLIO — exculpatory & impeachment material tracking ──
  brady: {
    requests: [
      { id: 'BR-001', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', category: 'Exculpatory (Brady)', description: 'All FBI 302s from co-conspirator interviews identifying third parties', filed: '2026-01-18', status: 'Produced (partial)', govtPosition: 'Produced 8 of 14 — withholding 6 as work product', compelFiled: true },
      { id: 'BR-002', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', category: 'Impeachment (Giglio)', description: 'Cooperation agreements for all CWs; plea benefits; prior inconsistent statements', filed: '2026-01-18', status: 'Produced', govtPosition: '3 cooperation agreements produced; full Jencks at trial-30', compelFiled: false },
      { id: 'BR-003', defendant: 'Chen Wei-Long', defendantId: 'D-2026-0140', category: 'Exculpatory (Brady)', description: 'All communications between Sterling compliance officers and DOJ pre-charge', filed: '2026-03-10', status: 'Pending', govtPosition: 'Contends not material; agreed to in camera review', compelFiled: true },
      { id: 'BR-004', defendant: 'Chen Wei-Long', defendantId: 'D-2026-0140', category: 'Impeachment (Giglio)', description: 'FCPA cooperator (CW-1): compensation, cooperation agreement, deportation leverage', filed: '2026-03-15', status: 'Produced', govtPosition: 'Full production including deportation-consequences memo', compelFiled: false },
      { id: 'BR-005', defendant: 'Olivia Barnwell', defendantId: 'D-2026-0137', category: 'Exculpatory (Brady)', description: 'SEC parallel-investigation materials showing 2022 counter-narrative', filed: '2025-11-20', status: 'Produced', govtPosition: 'Voluntary production from SEC files', compelFiled: false },
      { id: 'BR-006', defendant: 'Dr. Priya Venkataraman', defendantId: 'D-2026-0141', category: 'Exculpatory (Brady)', description: 'HHS-OIG prior audit letters finding no material non-compliance (2020-2022)', filed: '2026-01-28', status: 'Produced (partial)', govtPosition: '2 of 5 audit letters produced; 3 withheld as privileged', compelFiled: true },
      { id: 'BR-007', defendant: 'Deshawn Miller', defendantId: 'D-2026-0136', category: 'Exculpatory (Brady)', description: 'Franks material — affiant officer misconduct history', filed: '2026-02-10', status: 'Pending', govtPosition: 'DOJ internal investigation ongoing', compelFiled: true },
      { id: 'BR-008', defendant: 'Deshawn Miller', defendantId: 'D-2026-0136', category: 'Impeachment (Giglio)', description: 'CI-2 (main informant): prior false-report allegation, benefits', filed: '2026-02-10', status: 'Produced', govtPosition: 'Full production; internal-affairs letter disclosed', compelFiled: false },
    ],
    summary: {
      totalRequests: 18,
      produced: 9,
      partialProduced: 4,
      pending: 3,
      withheld: 2,
      compelMotions: 4,
      inCameraReviewsPending: 2,
    },
    coopMatrix: [
      { cooperator: 'CW-1 (Ramirez)', matter: 'Chen Wei-Long', agreement: '5K1.1', benefitSought: 'Downward departure to 24 mo', priorInconsistent: '2 instances flagged', deportationStake: 'Yes — visa leverage', compelProduced: true },
      { cooperator: 'CW-2 (Jensen)', matter: 'Marcus Harrell Jr.', agreement: 'Non-prosecution letter', benefitSought: 'Immunity; target-letter lifted', priorInconsistent: '0 flagged', deportationStake: 'No', compelProduced: true },
      { cooperator: 'CW-3 (Doe 1)', matter: 'Marcus Harrell Jr.', agreement: '5K1.1 + Rule 35', benefitSought: 'Downward departure + post-sentence', priorInconsistent: '1 instance — minor', deportationStake: 'No', compelProduced: true },
      { cooperator: 'CI-2', matter: 'Deshawn Miller', agreement: 'Informant — fee-based', benefitSought: '$45K paid over 14 months', priorInconsistent: '3 flagged (2018 false-report case)', deportationStake: 'No', compelProduced: true },
    ],
  },

  // ── PLEA ANALYSIS — cost-benefit for each active case in plea negotiations ──
  pleaAnalysis: [
    { defendantId: 'D-2026-0142', defendant: 'Marcus Harrell Jr.', trialConvictionProb: 55, trialGuideRange: '78-97 mo', trialExpected: 86, pleaOffer: 'Plea to Counts 1 & 4; dismiss 2,3,5-8', pleaGuideRange: '51-63 mo', pleaExpected: 57, restitution: 14_200_000, cooperation: 'None required', daysToDecide: 24, ourRecommendation: 'Accept — 29-mo savings @ probability-adjusted' },
    { defendantId: 'D-2026-0141', defendant: 'Dr. Priya Venkataraman', trialConvictionProb: 40, trialGuideRange: '63-78 mo', trialExpected: 70, pleaOffer: 'No offer tabled — pretrial motions pending', pleaGuideRange: 'N/A', pleaExpected: null, restitution: null, cooperation: 'N/A', daysToDecide: null, ourRecommendation: 'Trial posture — 60% acquittal probability' },
    { defendantId: 'D-2026-0138', defendant: 'Lin Zhang', trialConvictionProb: 70, trialGuideRange: '63-78 mo', trialExpected: 70, pleaOffer: 'Plea to Count 1 + 5K1.1 cooperation', pleaGuideRange: '37-46 mo', pleaExpected: 28, restitution: 4_800_000, cooperation: 'Testimony in 2 related matters', daysToDecide: 32, ourRecommendation: 'Accept — cooperation reduces to 24-30 mo' },
    { defendantId: 'D-2026-0136', defendant: 'Deshawn Miller', trialConvictionProb: 30, trialGuideRange: '121-151 mo (mand min 120)', trialExpected: 135, pleaOffer: 'Plea to § 841 only; § 924(c) dismissed; safety-valve eligible', pleaGuideRange: '63-78 mo', pleaExpected: 70, restitution: null, cooperation: 'Optional 5K1.1', daysToDecide: 41, ourRecommendation: 'Contest — Franks motion pending + safety valve threshold' },
    { defendantId: 'D-2026-0140', defendant: 'Chen Wei-Long', trialConvictionProb: 60, trialGuideRange: '78-97 mo', trialExpected: 86, pleaOffer: 'No offer — DOJ seeking additional cooperation', pleaGuideRange: 'N/A', pleaExpected: null, restitution: null, cooperation: 'N/A', daysToDecide: null, ourRecommendation: 'Hold — detention appeal pending + Brady dispute' },
  ],

  // ── SENTENCING — USSG guideline calculations (active) ──
  sentencing: [
    {
      defendantId: 'D-2026-0137', defendant: 'Olivia Barnwell', hearingDate: '2026-06-04',
      chapter: 'Ch. 2B1.1 — Fraud', baseOffenseLevel: 7,
      enhancements: [
        { code: '§2B1.1(b)(1)(I)', label: 'Loss > $3.5M', add: 18 },
        { code: '§2B1.1(b)(2)(A)', label: '10+ victims', add: 2 },
        { code: '§3B1.1(a)',       label: 'Aggravating role (organizer)', add: 4 },
        { code: '§3B1.3',          label: 'Abuse of position of trust', add: 2 },
      ],
      reductions: [
        { code: '§3E1.1(a)+(b)', label: 'Acceptance of responsibility (plea)', sub: 3 },
      ],
      finalOffenseLevel: 30,
      criminalHistoryCategory: 'I',
      criminalHistoryPoints: 0,
      guideLow: 97, guideHigh: 121,
      mandMin: 0, statMax: 300,
      departures: [
        { code: '§3553(a)', label: 'Variance — age, charitable works', direction: 'down', proposedReduction: 12 },
      ],
      govtPosition: 'Top of guideline range (121 mo)',
      ourPosition: 'Below-guideline variance (72 mo proposed)',
      notes: 'Probation office PSR due 2026-05-20; objections due 2026-05-28',
    },
    {
      defendantId: 'D-2026-0134', defendant: 'James Whitman', hearingDate: '2026-05-22',
      chapter: 'Ch. 2T1.1 — Tax', baseOffenseLevel: 6,
      enhancements: [
        { code: '§2T4.1(F)', label: 'Tax loss $1.5M-$3.5M', add: 12 },
        { code: '§2T1.1(b)(2)', label: 'Sophisticated means', add: 2 },
      ],
      reductions: [
        { code: '§3E1.1(a)+(b)', label: 'Acceptance of responsibility', sub: 3 },
      ],
      finalOffenseLevel: 17,
      criminalHistoryCategory: 'I',
      criminalHistoryPoints: 0,
      guideLow: 24, guideHigh: 30,
      mandMin: 0, statMax: 36,
      departures: [
        { code: '§5K2.0', label: 'Voluntary disclosure pre-investigation', direction: 'down', proposedReduction: 6 },
      ],
      govtPosition: 'Within guideline (30 mo)',
      ourPosition: 'Non-custodial sentence: probation + home confinement',
      notes: 'PSR complete; objection deadline passed',
    },
  ],

  // ── MOTIONS ──
  motions: [
    { id: 'MOT-001', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', type: 'Motion to Compel Brady', filed: '2026-02-24', argued: '2026-04-10', status: 'Under Submission', exposure: 'Production of 6 withheld FBI 302s', ruling: null, ourArg: 'Material to guilt; Kyles v. Whitley' },
    { id: 'MOT-002', defendant: 'Marcus Harrell Jr.', defendantId: 'D-2026-0142', type: 'Motion to Sever (Counts 4 from 1-3)', filed: '2026-03-14', argued: '2026-04-14', status: 'Denied', exposure: 'Trial prejudice from § 1028A joinder', ruling: 'Denied — Rule 14 balance', ourArg: 'Prejudicial joinder under Rule 14' },
    { id: 'MOT-003', defendant: 'Chen Wei-Long', defendantId: 'D-2026-0140', type: 'Motion for Bail Review (§ 3145(b))', filed: '2026-03-04', argued: '2026-03-18', status: 'Denied', exposure: 'Detention pending trial', ruling: 'Denied — flight risk', ourArg: 'Third-party custodian + $5M bond + GPS' },
    { id: 'MOT-004', defendant: 'Chen Wei-Long', defendantId: 'D-2026-0140', type: 'Bail Appeal (D.C. Cir.)', filed: '2026-03-22', argued: '2026-04-28', status: 'Under Submission', exposure: 'Detention pending trial', ruling: null, ourArg: 'Clear error on risk-of-flight finding' },
    { id: 'MOT-005', defendant: 'Dr. Priya Venkataraman', defendantId: 'D-2026-0141', type: 'Motion to Dismiss (Ruse of Prosecution)', filed: '2026-02-18', argued: '2026-04-02', status: 'Under Submission', exposure: 'Dismissal of Counts 1-6', ruling: null, ourArg: 'HHS-OIG pre-clearance estopped subsequent prosecution' },
    { id: 'MOT-006', defendant: 'Dr. Priya Venkataraman', defendantId: 'D-2026-0141', type: 'Motion in Limine — exclude patient testimony', filed: '2026-03-28', argued: '2026-04-21', status: 'Filed', exposure: 'Prejudicial patient-distress narrative', ruling: null, ourArg: 'FRE 403 — unfair prejudice outweighs' },
    { id: 'MOT-007', defendant: 'Deshawn Miller', defendantId: 'D-2026-0136', type: 'Franks Hearing Motion', filed: '2026-02-20', argued: '2026-04-18', status: 'Granted', exposure: 'Suppression of physical evidence', ruling: 'Franks hearing granted — evidentiary hearing set 2026-05-08', ourArg: 'Officer affidavit contained material misstatements re CI-2 history' },
    { id: 'MOT-008', defendant: 'Deshawn Miller', defendantId: 'D-2026-0136', type: 'Motion to Suppress (4th Amend.)', filed: '2026-02-20', argued: null, status: 'Under Submission', exposure: 'Exclusion of 500g cocaine + firearm', ruling: null, ourArg: 'No probable cause; consent-search coerced' },
    { id: 'MOT-009', defendant: 'Olivia Barnwell', defendantId: 'D-2026-0137', type: 'Motion for New Trial — Brady (Rule 33)', filed: '2026-03-30', argued: '2026-04-28', status: 'Filed', exposure: 'New trial on Counts 1-3', ruling: null, ourArg: 'SEC files revealed post-verdict impeachment of CW-2' },
    { id: 'MOT-010', defendant: 'Samuel Okonkwo', defendantId: 'D-2026-0139', type: 'Motion to Exclude Expert (Daubert)', filed: '2026-03-18', argued: '2026-04-22', status: 'Granted in Part', exposure: 'Government forensic-accounting expert', ruling: 'Expert permitted on methodology; excluded on ultimate issue', ourArg: 'Rule 702 / Daubert gatekeeping' },
    { id: 'MOT-011', defendant: 'Samuel Okonkwo', defendantId: 'D-2026-0139', type: 'Motion in Limine — 404(b)', filed: '2026-03-20', argued: '2026-04-22', status: 'Granted in Part', exposure: 'Prior 2018 wire-fraud investigation', ruling: 'Excluded as propensity; limited use for intent if opened', ourArg: 'Rule 404(b) — no permissible purpose' },
    { id: 'MOT-012', defendant: 'Kathleen Ó Briain', defendantId: 'D-2026-0135', type: 'Motion to Quash Subpoena (grand jury)', filed: '2026-03-10', argued: '2026-03-25', status: 'Denied', exposure: 'Grand-jury compliance', ruling: 'Denied — no privilege attached', ourArg: 'Attorney-client privilege re consulting advice' },
    { id: 'MOT-013', defendant: 'James Whitman', defendantId: 'D-2026-0134', type: 'Sentencing Memorandum — § 3553(a) variance', filed: '2026-04-15', argued: '2026-05-22', status: 'Filed', exposure: '12-mo variance request', ruling: null, ourArg: 'Age, charitable acts, voluntary disclosure' },
  ],

  // ── HEARINGS (upcoming) ──
  hearings: [
    { id: 'HRG-001', date: '2026-04-24', time: '10:00 AM', defendant: 'Chen Wei-Long', type: 'Status conference', court: 'D.D.C.', judge: 'Judge Bates', location: 'Courtroom 12', purpose: 'Brady dispute + trial schedule', urgency: 'medium' },
    { id: 'HRG-002', date: '2026-04-28', time: '2:00 PM',  defendant: 'Dr. Priya Venkataraman', type: 'Hearing on MTD + MIL', court: 'E.D. Pa.', judge: 'Judge Pappert', location: 'Courtroom 6A', purpose: 'Argue Motion to Dismiss + Motion in Limine on patients', urgency: 'high' },
    { id: 'HRG-003', date: '2026-04-28', time: '9:30 AM',  defendant: 'Chen Wei-Long', type: 'D.C. Circuit — Bail Appeal', court: 'D.C. Circuit', judge: '3-judge panel', location: 'E. Barrett Prettyman', purpose: 'Oral argument on detention appeal', urgency: 'high' },
    { id: 'HRG-004', date: '2026-04-30', time: '11:00 AM', defendant: 'Deshawn Miller', type: 'Suppression argument', court: 'E.D.N.Y.', judge: 'Judge Matsumoto', location: 'Courtroom 6N', purpose: 'Argue Motion to Suppress', urgency: 'high' },
    { id: 'HRG-005', date: '2026-05-02', time: '10:00 AM', defendant: 'Kathleen Ó Briain', type: 'Grand jury appearance', court: 'S.D.N.Y.', judge: 'N/A — grand jury room', location: '500 Pearl St.', purpose: 'Target interview, advice of rights', urgency: 'high' },
    { id: 'HRG-006', date: '2026-05-06', time: '9:00 AM',  defendant: 'Samuel Okonkwo', type: 'Trial (Day 1)', court: 'S.D.N.Y.', judge: 'Judge Caproni', location: 'Courtroom 20A', purpose: 'Commencement of trial (est. 14 days)', urgency: 'critical' },
    { id: 'HRG-007', date: '2026-05-08', time: '9:30 AM',  defendant: 'Deshawn Miller', type: 'Franks hearing', court: 'E.D.N.Y.', judge: 'Judge Matsumoto', location: 'Courtroom 6N', purpose: 'Evidentiary hearing on officer misstatements', urgency: 'critical' },
    { id: 'HRG-008', date: '2026-05-14', time: '2:00 PM',  defendant: 'Marcus Harrell Jr.', type: 'Pretrial conference + plea deadline', court: 'S.D.N.Y.', judge: 'Judge Hellerstein', location: 'Courtroom 14B', purpose: 'Plea decision required or trial set', urgency: 'high' },
    { id: 'HRG-009', date: '2026-05-20', time: '11:00 AM', defendant: 'Lin Zhang', type: 'Change of plea', court: 'N.D. Cal.', judge: 'Judge Orrick', location: 'Courtroom 2', purpose: 'Plea entry + 5K1.1 record', urgency: 'medium' },
    { id: 'HRG-010', date: '2026-05-22', time: '10:00 AM', defendant: 'James Whitman', type: 'Sentencing', court: 'D.D.C.', judge: 'Judge Moss', location: 'Courtroom 6', purpose: 'Sentencing with § 3553(a) argument', urgency: 'critical' },
    { id: 'HRG-011', date: '2026-05-28', time: '1:30 PM',  defendant: 'Sofia Rojas', type: '§ 2255 evidentiary hearing', court: 'S.D. Fla.', judge: 'Judge Moreno', location: 'Courtroom 12-6', purpose: 'Ineffective-assistance claim', urgency: 'medium' },
    { id: 'HRG-012', date: '2026-06-04', time: '9:30 AM',  defendant: 'Olivia Barnwell', type: 'Sentencing', court: 'S.D.N.Y.', judge: 'Judge Engelmayer', location: 'Courtroom 17C', purpose: 'Sentencing on Counts 1-3', urgency: 'critical' },
    { id: 'HRG-013', date: '2026-06-10', time: '10:00 AM', defendant: 'Dr. Priya Venkataraman', type: 'Trial (Day 1) if MTD denied', court: 'E.D. Pa.', judge: 'Judge Pappert', location: 'Courtroom 6A', purpose: 'Commencement of trial (est. 8 days)', urgency: 'medium' },
    { id: 'HRG-014', date: '2026-06-17', time: '9:00 AM',  defendant: 'Marcus Harrell Jr.', type: 'Trial (Day 1) if no plea', court: 'S.D.N.Y.', judge: 'Judge Hellerstein', location: 'Courtroom 14B', purpose: 'Commencement of trial (est. 10 days)', urgency: 'medium' },
  ],

  // ── WITNESSES ──
  witnesses: [
    { id: 'WIT-001', name: 'CW-1 (Javier Ramirez)', role: 'Cooperator', matter: 'Chen Wei-Long', forSide: 'Government', status: 'Under 5K1.1', exhibits: 12, testimonyHours: '2 days', impeachment: 'Deportation leverage; 2 prior inconsistent statements', priorTestimony: 'Grand jury (2025-06)' },
    { id: 'WIT-002', name: 'CW-2 (Kyle Jensen)', role: 'Cooperator', matter: 'Marcus Harrell Jr.', forSide: 'Government', status: 'Immunity letter', exhibits: 28, testimonyHours: '3 days', impeachment: 'Target-letter lifted; financial motivation', priorTestimony: 'SEC deposition (2024)' },
    { id: 'WIT-003', name: 'CW-3 (John Doe 1)', role: 'Cooperator', matter: 'Marcus Harrell Jr.', forSide: 'Government', status: 'Under 5K1.1 + Rule 35', exhibits: 18, testimonyHours: '2 days', impeachment: 'Minor prior inconsistent; no deportation', priorTestimony: 'Proffer sessions' },
    { id: 'WIT-004', name: 'CI-2 (Marcus Hudson)', role: 'Confidential Informant', matter: 'Deshawn Miller', forSide: 'Government', status: 'Fee-based ($45K)', exhibits: 6, testimonyHours: '1 day', impeachment: '3 prior false-report allegations; IA letter', priorTestimony: 'None on record' },
    { id: 'WIT-005', name: 'SA Angela Portillo', role: 'Case Agent', matter: 'Marcus Harrell Jr.', forSide: 'Government', status: 'FBI Special Agent', exhibits: 48, testimonyHours: '1.5 days', impeachment: 'None identified', priorTestimony: 'Multiple federal trials' },
    { id: 'WIT-006', name: 'Dr. Howard Chen', role: 'Expert — Forensic Accounting', matter: 'Samuel Okonkwo', forSide: 'Government', status: 'Daubert partially granted', exhibits: 24, testimonyHours: '2 days', impeachment: 'Methodology split with defense expert', priorTestimony: '14 federal trials' },
    { id: 'WIT-007', name: 'Dr. Rebecca Nkrumah', role: 'Expert — Forensic Accounting', matter: 'Samuel Okonkwo', forSide: 'Defense', status: 'Retained', exhibits: 18, testimonyHours: '1.5 days', impeachment: 'N/A — our witness', priorTestimony: '8 federal trials' },
    { id: 'WIT-008', name: 'Dr. Warren McKinley', role: 'Expert — Pharmacology', matter: 'Dr. Priya Venkataraman', forSide: 'Defense', status: 'Retained', exhibits: 12, testimonyHours: '1 day', impeachment: 'N/A — our witness', priorTestimony: '22 federal trials' },
    { id: 'WIT-009', name: 'Karen Hollis (CFO)', role: 'Fact Witness — Defense', matter: 'Olivia Barnwell', forSide: 'Defense', status: 'Voluntary', exhibits: 8, testimonyHours: '0.5 day', impeachment: 'N/A', priorTestimony: 'Grand jury (reluctant)' },
    { id: 'WIT-010', name: 'Agent T. Reeves', role: 'Officer — Search Warrant', matter: 'Deshawn Miller', forSide: 'Government', status: 'Franks hearing subject', exhibits: 2, testimonyHours: 'Franks + trial', impeachment: 'Officer misconduct investigation pending', priorTestimony: 'Numerous' },
  ],

  // ── INVESTIGATORS + DEFENSE TEAM ──
  investigators: [
    { id: 'INV-001', firm: 'Garrison Investigations', type: 'Fact investigation', matter: 'Marcus Harrell Jr.', lead: 'T. Garrison', hoursMTD: 84, budgetRemain: 38_000, focus: 'Third-party witness tracking, cooperator background' },
    { id: 'INV-002', firm: 'Alignment Forensics', type: 'Digital forensics', matter: 'Chen Wei-Long', lead: 'R. Ozawa', hoursMTD: 142, budgetRemain: 22_000, focus: 'WhatsApp artifact recovery, mobile imaging' },
    { id: 'INV-003', firm: 'LedgerTrace', type: 'Forensic accounting', matter: 'Olivia Barnwell', lead: 'Dr. M. Abati', hoursMTD: 96, budgetRemain: 58_000, focus: 'Damages reconstruction, 10b-5 materiality' },
    { id: 'INV-004', firm: 'Sentinel Investigations', type: 'Franks investigation', matter: 'Deshawn Miller', lead: 'D. Sandoval', hoursMTD: 62, budgetRemain: 18_000, focus: 'Officer misconduct records, CI-2 background' },
    { id: 'INV-005', firm: 'Axis Diligence', type: 'Jury consultant', matter: 'Samuel Okonkwo', lead: 'Dr. K. Murphy', hoursMTD: 38, budgetRemain: 44_000, focus: 'Jury selection, mock-trial outcomes' },
    { id: 'INV-006', firm: 'LedgerTrace', type: 'Forensic accounting', matter: 'Dr. Priya Venkataraman', lead: 'Dr. M. Abati', hoursMTD: 72, budgetRemain: 32_000, focus: 'Billing-pattern analysis, Medicare reconciliation' },
  ],

  // ── POST-CONVICTION ──
  postConviction: [
    { id: 'PC-001', defendant: 'Sofia Rojas', defendantId: 'D-2026-0133', type: '§ 2255 Motion', filed: '2026-01-14', hearing: '2026-05-28', ground: 'Ineffective assistance — failure to file suppression motion', status: 'Evidentiary hearing scheduled', likelihood: 'Moderate' },
    { id: 'PC-002', defendant: 'Sofia Rojas', defendantId: 'D-2026-0133', type: 'Direct appeal (11th Cir.)', filed: '2025-03-20', hearing: 'Oral arg — 2026-07-12', ground: 'Jury instruction error — RICO predicate', status: 'Briefing complete', likelihood: 'Low-moderate' },
    { id: 'PC-003', defendant: '— prior client —', defendantId: null, type: 'Clemency petition', filed: '2026-02-02', hearing: 'Pending DOJ review', ground: 'First-time offender; rehabilitation; served 60% of sentence', status: 'Under review', likelihood: 'Low' },
    { id: 'PC-004', defendant: '— prior client —', defendantId: null, type: 'Compassionate release (§ 3582(c)(1)(A))', filed: '2026-03-18', hearing: '2026-05-14', ground: 'Terminal illness; caregiver for minor children', status: 'Filed; opposing response 2026-04-22', likelihood: 'Moderate' },
    { id: 'PC-005', defendant: '— prior client —', defendantId: null, type: 'First Step Act retroactive', filed: '2025-11-04', hearing: '2026-04-30', ground: 'Fair Sentencing Act retroactive application', status: 'Awaiting court ruling', likelihood: 'High' },
  ],

  // ── ACTIVITY ──
  activity: [
    { id: 'CJ-A-001', time: '10:55 AM', actor: 'M. Kirkland', action: 'Filed motion', target: 'MOT-009 Barnwell — Motion for New Trial (Rule 33)', severity: 'info' },
    { id: 'CJ-A-002', time: '10:42 AM', actor: 'Court — E.D.N.Y.', action: 'Granted motion', target: 'MOT-007 Miller — Franks hearing granted', severity: 'info' },
    { id: 'CJ-A-003', time: '10:28 AM', actor: 'AUSA Chen', action: 'Produced Brady material', target: 'BR-004 Chen — cooperator agreement + deportation memo', severity: 'info' },
    { id: 'CJ-A-004', time: '10:14 AM', actor: 'System', action: 'Trial-date alert', target: 'Okonkwo trial begins 2026-05-06 (T-16)', severity: 'warn' },
    { id: 'CJ-A-005', time: '09:58 AM', actor: 'L. Torres', action: 'Filed motion', target: 'MOT-006 Venkataraman — MIL to exclude patient testimony', severity: 'info' },
    { id: 'CJ-A-006', time: '09:42 AM', actor: 'J. Park', action: 'Interview completed', target: 'Miller — CI-2 prior false-report history (for Franks)', severity: 'info' },
    { id: 'CJ-A-007', time: '09:20 AM', actor: 'System', action: 'Brady deadline', target: 'BR-007 Miller — government response due today', severity: 'warn' },
    { id: 'CJ-A-008', time: '09:08 AM', actor: 'Court — D.D.C.', action: 'Denied bail appeal', target: 'MOT-003 Chen — bail review denied', severity: 'error' },
    { id: 'CJ-A-009', time: 'Yesterday', actor: 'M. Kirkland', action: 'Client meeting', target: 'Harrell — plea-decision counseling (deadline 2026-05-14)', severity: 'info' },
    { id: 'CJ-A-010', time: 'Yesterday', actor: 'A. Petrov', action: 'Plea entered', target: 'Zhang — 5K1.1 plea in change-of-plea hearing set 2026-05-20', severity: 'info' },
    { id: 'CJ-A-011', time: 'Yesterday', actor: 'System', action: 'PSR delivered', target: 'Barnwell PSR delivered; objections due 2026-05-28', severity: 'info' },
    { id: 'CJ-A-012', time: '2 days ago', actor: 'R. Vasquez', action: 'Sentencing memo filed', target: 'Whitman — § 3553(a) variance request (12 mo)', severity: 'info' },
    { id: 'CJ-A-013', time: '2 days ago', actor: 'Probation Office', action: 'Interview scheduled', target: 'Barnwell — PSR interview 2026-04-29', severity: 'info' },
    { id: 'CJ-A-014', time: '3 days ago', actor: 'System', action: 'Grand-jury notice', target: 'Ó Briain — target appearance 2026-05-02', severity: 'warn' },
    { id: 'CJ-A-015', time: '3 days ago', actor: 'Investigator', action: 'Report delivered', target: 'INV-004 Sentinel — officer-misconduct records obtained', severity: 'info' },
  ],
};

window.CRIMINAL_DATA = CRIMINAL_DATA;
