// Forge — vertical-specific BOM fixtures (Mittelstand + Process Equipment)

// ── Mittelstand: MTL-220 · 5-axis bridge mill (machine-tool BOM) ──
const MITTELSTAND_BOM_FLAT = [
  // Top assembly
  { num:"00.00",    p:null,    name:"MTL-220 · 5-axis bridge mill",         qty:1,  d:62, m:22, t:0,
    cost_eur:384000, tolerance:"—",       lead_time_days:0,   supplier:"in-house" },

  // Level-2 subassemblies
  { num:"10.00",    p:"00.00", name:"Granite-bed substructure",             qty:1,  d:88, m:55, t:5,
    cost_eur:48000,  tolerance:"±0.01mm", lead_time_days:75,  supplier:"in-house" },
  { num:"20.00",    p:"00.00", name:"X-axis carriage assy",                 qty:1,  d:82, m:48, t:0,
    cost_eur:36500,  tolerance:"—",       lead_time_days:60,  supplier:"in-house" },
  { num:"30.00",    p:"00.00", name:"Y-axis bridge assy",                   qty:1,  d:80, m:42, t:0,
    cost_eur:42000,  tolerance:"—",       lead_time_days:65,  supplier:"in-house" },
  { num:"40.00",    p:"00.00", name:"Z-axis ram assy",                      qty:1,  d:78, m:40, t:0,
    cost_eur:38500,  tolerance:"—",       lead_time_days:60,  supplier:"in-house" },
  { num:"50.00",    p:"00.00", name:"A/C tilting head (spindle module)",    qty:1,  d:74, m:35, t:0,
    cost_eur:86000,  tolerance:"—",       lead_time_days:90,  supplier:"Kessler" },
  { num:"60.00",    p:"00.00", name:"ATC carousel (24-pocket)",             qty:1,  d:85, m:62, t:8,
    cost_eur:24500,  tolerance:"—",       lead_time_days:55,  supplier:"DMG Mori" },
  { num:"70.00",    p:"00.00", name:"Control cabinet · Heidenhain TNC 640", qty:1,  d:90, m:65, t:10,
    cost_eur:52000,  tolerance:"—",       lead_time_days:45,  supplier:"Heidenhain" },
  { num:"80.00",    p:"00.00", name:"Coolant & chip mgmt unit",             qty:1,  d:84, m:58, t:0,
    cost_eur:18000,  tolerance:"—",       lead_time_days:35,  supplier:"in-house" },
  { num:"90.00",    p:"00.00", name:"Machine enclosure",                    qty:1,  d:78, m:50, t:0,
    cost_eur:22000,  tolerance:"—",       lead_time_days:40,  supplier:"in-house" },

  // Level-3 leaves under 10.00 Granite-bed
  { num:"10.01",    p:"10.00", name:"Granite base block",                   qty:1,  d:95, m:78, t:15,
    cost_eur:18000,  tolerance:"±0.005mm",lead_time_days:120, supplier:"in-house" },
  { num:"10.02",    p:"10.00", name:"Granite cross-beam",                   qty:1,  d:92, m:72, t:10,
    cost_eur:14500,  tolerance:"±0.005mm",lead_time_days:110, supplier:"in-house" },
  { num:"10.03",    p:"10.00", name:"Levelling foot · vibration-isolated",  qty:6,  d:100,m:90, t:20,
    cost_eur:380,    tolerance:"±0.02mm", lead_time_days:25,  supplier:"Schaeffler" },

  // Level-3 leaves under 20.00 X-axis carriage
  { num:"20.01",    p:"20.00", name:"Linear guide rail · X-axis",           qty:2,  d:96, m:85, t:18,
    cost_eur:2400,   tolerance:"H7",      lead_time_days:42,  supplier:"Bosch Rexroth" },
  { num:"20.02",    p:"20.00", name:"Ball-screw assy · X-axis Ø50",         qty:1,  d:94, m:82, t:15,
    cost_eur:5800,   tolerance:"IT5",     lead_time_days:90,  supplier:"NSK" },
  { num:"20.03",    p:"20.00", name:"Linear encoder · LC 415 X",            qty:1,  d:98, m:90, t:20,
    cost_eur:3200,   tolerance:"±0.5µm",  lead_time_days:60,  supplier:"Heidenhain" },
  { num:"20.04",    p:"20.00", name:"Servo motor · X-axis (Sinamics)",      qty:1,  d:92, m:78, t:12,
    cost_eur:4100,   tolerance:"—",       lead_time_days:50,  supplier:"Siemens" },

  // Level-3 leaves under 30.00 Y-axis bridge
  { num:"30.01",    p:"30.00", name:"Linear guide rail · Y-axis",           qty:2,  d:95, m:82, t:14,
    cost_eur:2200,   tolerance:"H7",      lead_time_days:42,  supplier:"Schaeffler" },
  { num:"30.02",    p:"30.00", name:"Ball-screw assy · Y-axis Ø50",         qty:1,  d:90, m:80, t:10,
    cost_eur:5400,   tolerance:"IT5",     lead_time_days:90,  supplier:"Hiwin" },

  // Level-3 leaves under 40.00 Z-axis ram
  { num:"40.01",    p:"40.00", name:"Ball-screw assy · Z-axis Ø40",         qty:1,  d:92, m:80, t:12,
    cost_eur:4900,   tolerance:"IT5",     lead_time_days:90,  supplier:"NSK" },
  { num:"40.02",    p:"40.00", name:"Counterbalance hydraulic cyl.",        qty:1,  d:85, m:72, t:0,
    cost_eur:2600,   tolerance:"H8",      lead_time_days:45,  supplier:"Bosch Rexroth" },

  // Level-3 leaves under 50.00 A/C tilting head
  { num:"50.01",    p:"50.00", name:"Main spindle · HSK-A63 24k rpm",       qty:1,  d:90, m:70, t:8,
    cost_eur:32000,  tolerance:"Ra 0.4",  lead_time_days:180, supplier:"GMN" },
  { num:"50.02",    p:"50.00", name:"A-axis torque motor (DDR)",            qty:1,  d:86, m:62, t:0,
    cost_eur:9800,   tolerance:"—",       lead_time_days:75,  supplier:"Siemens" },
  { num:"50.03",    p:"50.00", name:"C-axis rotary table",                  qty:1,  d:84, m:60, t:0,
    cost_eur:11500,  tolerance:"±0.005°", lead_time_days:80,  supplier:"Kessler" },
  { num:"50.04",    p:"50.00", name:"HSK-A63 toolholder set",               qty:24, d:100,m:95, t:20,
    cost_eur:240,    tolerance:"AT3",     lead_time_days:30,  supplier:"DMG Mori" },

  // Level-3 leaves under 60.00 ATC carousel
  { num:"60.01",    p:"60.00", name:"ATC pickup arm",                       qty:1,  d:90, m:78, t:12,
    cost_eur:3400,   tolerance:"±0.01mm", lead_time_days:50,  supplier:"in-house" },
  { num:"60.02",    p:"60.00", name:"Pneumatic clamp cylinder",             qty:1,  d:96, m:88, t:18,
    cost_eur:520,    tolerance:"—",       lead_time_days:20,  supplier:"Bosch Rexroth" },

  // Level-3 leaves under 70.00 Control cabinet
  { num:"70.01",    p:"70.00", name:"TNC 640 control unit",                 qty:1,  d:92, m:70, t:10,
    cost_eur:18500,  tolerance:"—",       lead_time_days:60,  supplier:"Heidenhain" },
  { num:"70.02",    p:"70.00", name:"Sinamics S120 drive · 5-axis pack",    qty:1,  d:90, m:68, t:8,
    cost_eur:14200,  tolerance:"—",       lead_time_days:55,  supplier:"Siemens" },
  { num:"70.03",    p:"70.00", name:"Safety relay & E-stop loop",           qty:1,  d:95, m:85, t:18,
    cost_eur:1200,   tolerance:"—",       lead_time_days:14,  supplier:"Omron" },

  // Level-3 leaves under 90.00 Enclosure
  { num:"90.01",    p:"90.00", name:"Sliding door · safety-glass",          qty:1,  d:88, m:72, t:0,
    cost_eur:3600,   tolerance:"±0.5mm",  lead_time_days:35,  supplier:"in-house" },
];

// ── Pump: PMP-300 · ATEX submersible slurry pump 300mm ──
const PUMP_BOM_FLAT = [
  // Top assembly
  { num:"00.00",    p:null,    name:"PMP-300 · ATEX submersible slurry pump", qty:1,  d:65, m:24, t:0,
    pressure_rating:"16 bar", material_grade:"—",                     cert:"ATEX II 2G + IECEx", is_spare:false },

  // Level-2 subassemblies
  { num:"10.00",    p:"00.00", name:"Hydraulic end",                          qty:1,  d:85, m:55, t:5,
    pressure_rating:"16 bar", material_grade:"CD4MCu",                cert:"ATEX II 2G",         is_spare:false },
  { num:"20.00",    p:"00.00", name:"Motor end",                              qty:1,  d:80, m:48, t:0,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G + IECEx", is_spare:false },
  { num:"30.00",    p:"00.00", name:"Sealing system",                         qty:1,  d:78, m:45, t:0,
    pressure_rating:"25 bar", material_grade:"WC-Co (tungsten carbide)", cert:"ATEX II 2G",       is_spare:false },
  { num:"40.00",    p:"00.00", name:"Cable assembly",                         qty:1,  d:88, m:62, t:8,
    pressure_rating:"—",      material_grade:"EPDM",                  cert:"ATEX II 2G",         is_spare:false },
  { num:"50.00",    p:"00.00", name:"Cooling jacket",                         qty:1,  d:82, m:52, t:0,
    pressure_rating:"10 bar", material_grade:"AISI 316L",             cert:"CE",                 is_spare:false },
  { num:"60.00",    p:"00.00", name:"Junction box (Ex-d)",                    qty:1,  d:90, m:65, t:10,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G + IECEx", is_spare:false },
  { num:"70.00",    p:"00.00", name:"Suction strainer",                       qty:1,  d:92, m:70, t:0,
    pressure_rating:"—",      material_grade:"Duplex 2205",           cert:"—",                  is_spare:true  },
  { num:"80.00",    p:"00.00", name:"Instrumentation pack",                   qty:1,  d:75, m:42, t:0,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G",         is_spare:false },

  // Level-3 leaves under 10.00 Hydraulic end
  { num:"10.01",    p:"10.00", name:"Volute casing",                          qty:1,  d:92, m:72, t:12,
    pressure_rating:"25 bar", material_grade:"CD4MCu",                cert:"API 610",            is_spare:false },
  { num:"10.02",    p:"10.00", name:"Suction cover",                          qty:1,  d:90, m:70, t:10,
    pressure_rating:"25 bar", material_grade:"CD4MCu",                cert:"API 610",            is_spare:false },
  { num:"10.03",    p:"10.00", name:"Impeller · 5-vane closed",               qty:1,  d:94, m:82, t:18,
    pressure_rating:"25 bar", material_grade:"CD4MCu",                cert:"API 610",            is_spare:true  },
  { num:"10.04",    p:"10.00", name:"Wear plate · impeller side",             qty:1,  d:96, m:88, t:20,
    pressure_rating:"16 bar", material_grade:"CD4MCu",                cert:"—",                  is_spare:true  },
  { num:"10.05",    p:"10.00", name:"Wear plate · back side",                 qty:1,  d:96, m:88, t:20,
    pressure_rating:"16 bar", material_grade:"CD4MCu",                cert:"—",                  is_spare:true  },
  { num:"10.06",    p:"10.00", name:"Diffuser",                               qty:1,  d:88, m:76, t:10,
    pressure_rating:"16 bar", material_grade:"CD4MCu",                cert:"—",                  is_spare:false },
  { num:"10.07",    p:"10.00", name:"Shaft sleeve",                           qty:1,  d:95, m:90, t:18,
    pressure_rating:"16 bar", material_grade:"WC-Co (tungsten carbide)", cert:"—",                is_spare:true  },
  { num:"10.08",    p:"10.00", name:"Discharge flange",                       qty:1,  d:90, m:80, t:8,
    pressure_rating:"40 bar", material_grade:"AISI 316L",             cert:"CE",                 is_spare:false },

  // Level-3 leaves under 20.00 Motor end
  { num:"20.01",    p:"20.00", name:"Motor stator (Ex-d)",                    qty:1,  d:86, m:60, t:5,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G + IECEx", is_spare:false },
  { num:"20.02",    p:"20.00", name:"Motor rotor",                            qty:1,  d:84, m:58, t:0,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"—",                  is_spare:false },
  { num:"20.03",    p:"20.00", name:"Rotor shaft (martensitic SS)",           qty:1,  d:88, m:72, t:10,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"—",                  is_spare:false },
  { num:"20.04",    p:"20.00", name:"Thrust bearing assy",                    qty:1,  d:92, m:80, t:15,
    pressure_rating:"—",      material_grade:"Inconel 625",           cert:"—",                  is_spare:true  },
  { num:"20.05",    p:"20.00", name:"Radial bearing assy",                    qty:2,  d:92, m:80, t:15,
    pressure_rating:"—",      material_grade:"Inconel 625",           cert:"—",                  is_spare:true  },

  // Level-3 leaves under 30.00 Sealing system
  { num:"30.01",    p:"30.00", name:"Mechanical seal · primary",              qty:1,  d:90, m:75, t:12,
    pressure_rating:"25 bar", material_grade:"WC-Co (tungsten carbide)", cert:"API 610",          is_spare:true  },
  { num:"30.02",    p:"30.00", name:"Mechanical seal · secondary",            qty:1,  d:90, m:75, t:12,
    pressure_rating:"16 bar", material_grade:"WC-Co (tungsten carbide)", cert:"API 610",          is_spare:true  },
  { num:"30.03",    p:"30.00", name:"O-ring set · FKM",                       qty:1,  d:100,m:95, t:20,
    pressure_rating:"16 bar", material_grade:"FKM/Viton",             cert:"—",                  is_spare:true  },
  // Level-3 leaves under 40.00 Cable assembly
  { num:"40.01",    p:"40.00", name:"Power cable assy · 10m EPDM",            qty:1,  d:92, m:80, t:14,
    pressure_rating:"—",      material_grade:"EPDM",                  cert:"ATEX II 2G",         is_spare:false },
  { num:"40.02",    p:"40.00", name:"Cable gland · ATEX",                     qty:2,  d:96, m:88, t:18,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G + IECEx", is_spare:true  },

  // Level-3 leaves under 60.00 Junction box
  { num:"60.01",    p:"60.00", name:"Terminal box housing",                   qty:1,  d:90, m:78, t:10,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G",         is_spare:false },

  // Level-3 leaves under 80.00 Instrumentation
  { num:"80.01",    p:"80.00", name:"Moisture sensor (stator)",               qty:1,  d:88, m:65, t:8,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G",         is_spare:true  },
  { num:"80.02",    p:"80.00", name:"PT100 stator temp sensor",               qty:3,  d:90, m:72, t:10,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G",         is_spare:true  },
  { num:"80.03",    p:"80.00", name:"Vibration sensor",                       qty:1,  d:85, m:60, t:5,
    pressure_rating:"—",      material_grade:"AISI 316L",             cert:"ATEX II 2G",         is_spare:false },

  // Top-level external/structural item
  { num:"91.00",    p:"00.00", name:"Top lifting bail",                       qty:1,  d:96, m:90, t:18,
    pressure_rating:"—",      material_grade:"Duplex 2205",           cert:"CE",                 is_spare:false },
];

Object.assign(window, { MITTELSTAND_BOM_FLAT, PUMP_BOM_FLAT });
