// === Module 3 - Scenarii pentru simulator ===
// Fiecare scenariu = 8-10 evenimente de decizie cu 3 opțiuni fiecare.
// Efectele se aplică pe: buget, zile, moral (0-100), calitate (0-100).

const SCENARIOS = [
  {
    id: "it",
    title: "Lansare aplicație mobilă",
    subtitle: "Retailer mid-market · digital transformation",
    blurb: "Conduci dezvoltarea unei aplicații mobile B2C pentru un retailer cu 50 magazine. Buget 250.000 RON, deadline 6 luni, echipă de 6 oameni. Reușești sau e dezastru?",
    color: "indigo",
    icon: "✦",
    difficulty: 3,
    initialBudget: 250000,
    initialDays: 180,
    initialMorale: 75,
    initialQuality: 75,
    teamSize: 6,
    events: [
      {
        id: "kickoff",
        day: 0,
        title: "Ședința de kick-off",
        context: "Prima zi. Sponsorul cere update săptămânal. Echipa cere claritate pe scope. Stakeholderii sunt entuziaști dar vagi.",
        choices: [
          {
            label: "Workshop de 2 zile pentru scope clar",
            blurb: "Investește 4 zile (planning) + 12.000 RON pe facilitator extern. Aliniere completă.",
            effects: { budget: -12000, days: 4, morale: 8, quality: 15 },
            feedback: "Investiția în kick-off plătește dividende pe tot proiectul. Scope clar = mai puține surprize. Excelent."
          },
          {
            label: "Brief de 2 ore + email-uri",
            blurb: "Rapid, eficient. Spui că ajustezi pe parcurs.",
            effects: { budget: 0, days: 1, morale: 0, quality: -8 },
            feedback: "Ai economisit timp acum, dar scope creep e aproape garantat. Tipic — 60% din PM-i fac asta."
          },
          {
            label: "Pașii sunt clari, sărim direct la code",
            blurb: "Echipa începe deja săptămâna viitoare. Documentația vine pe parcurs.",
            effects: { budget: 0, days: 0, morale: -5, quality: -15 },
            feedback: "Periculos. Vei plăti dublu mai târziu în rework. Lecția: kick-off slab = proiect slab."
          }
        ]
      },
      {
        id: "tech-choice",
        day: 14,
        title: "Decizia tehnică: nativă vs. cross-platform?",
        context: "Lead dev propune React Native (1 codebase pentru iOS+Android). CTO-ul clientului spune că vrea „native pură” pentru performanță. Costul: native = +40.000 RON și +30 zile.",
        choices: [
          {
            label: "React Native — pragmatic și economic",
            blurb: "Negociezi cu CTO-ul: prototip rapid, validare performanță, pivotezi dacă e cazul.",
            effects: { budget: 0, days: 0, morale: 5, quality: 0 },
            feedback: "Decizie informată. 80% din apps mobile retailer nu au nevoie de native pură. Educă-l pe CTO cu date."
          },
          {
            label: "Native — ce vrea clientul",
            blurb: "Acceptezi cerința. Mai mult buget, mai mult timp, dar pace în relație.",
            effects: { budget: -40000, days: 30, morale: -5, quality: 10 },
            feedback: "Bagajul de cost ar fi putut fi evitat printr-un PoC. Dar relația cu clientul valorează ceva."
          },
          {
            label: "Cere prototip rapid de comparat",
            blurb: "2 săptămâni de PoC pe ambele tehnologii. Decizi pe date.",
            effects: { budget: -8000, days: 14, morale: 10, quality: 8 },
            feedback: "Cea mai matură decizie. Date > opinii. PoC-ul te salvează de greșeli de 6 cifre."
          }
        ]
      },
      {
        id: "team-leaves",
        day: 45,
        title: "Senior backend dev pleacă din firmă",
        context: "Cea mai bună persoană din echipă demisionează. Are 2 săptămâni de preaviz. Backend-ul e 40% gata, restul depinde de ea.",
        choices: [
          {
            label: "Pair programming intensiv 2 săptămâni",
            blurb: "Toți seniorii lucrează cu ea, documentează, transferă knowledge.",
            effects: { budget: -8000, days: 10, morale: -10, quality: 0 },
            feedback: "Cea mai bună mitigare. Plecările key persons sunt risc #1 — un risk register bun ar fi prevenit asta."
          },
          {
            label: "Contractează freelancer ca să o înlocuiască",
            blurb: "30.000 RON/lună pentru 2 luni. Începe în paralel ca să-i ia locul.",
            effects: { budget: -60000, days: 20, morale: -15, quality: -5 },
            feedback: "Soluție valabilă dar scumpă. Onboarding-ul costă oricum timp și moral."
          },
          {
            label: "Redistribuie task-urile între restul echipei",
            blurb: "Echipa va lucra suplimentar. Vom recupera diferența cu efort.",
            effects: { budget: 0, days: 25, morale: -25, quality: -15 },
            feedback: "Burnout-ul te paște. Echipa va livra dar moralul se prăbușește — și asta produce mai multe demisii."
          }
        ]
      },
      {
        id: "scope-creep",
        day: 75,
        title: "Marketing cere „doar o mică funcție”",
        context: "Departamentul marketing al clientului cere integrare cu sistemul lor de loyalty puncte. „E doar un mic feature, 2 ecrane.”",
        choices: [
          {
            label: "NU. Trimite cererea la change request formal",
            blurb: "Explici impactul (3 săptămâni + 35.000 RON). Cereți aprobare sponsor.",
            effects: { budget: 0, days: 0, morale: 5, quality: 5 },
            feedback: "Disciplina PM-ului. Scope creep e cauza #1 de eșec — bravo că ai zis NU."
          },
          {
            label: "DA, includem. E rezonabil, sprijinăm clientul",
            blurb: "Echipa absoarbe efortul. Probabil vom recupera cu ore suplimentare.",
            effects: { budget: -10000, days: 18, morale: -20, quality: -10 },
            feedback: "Capcana clasică. „Mica funcție” e niciodată mică. Echipa te urăște pentru asta."
          },
          {
            label: "DA, dar amânăm pentru faza 2 post-lansare",
            blurb: "Documentezi cererea oficial, dar o programezi după go-live.",
            effects: { budget: 0, days: 0, morale: 8, quality: 8 },
            feedback: "Excelent compromis. Validează cererea, nu sacrifici proiectul actual. Diplomatie + disciplină."
          }
        ]
      },
      {
        id: "qa-decision",
        day: 110,
        title: "QA descoperă 23 de bug-uri majore",
        context: "Cu 8 săptămâni înainte de lansare, testarea găsește probleme serioase. Dezvoltarea e 85% gata.",
        choices: [
          {
            label: "Freeze features. Doar bug fixing 3 săptămâni.",
            blurb: "Toți dezvoltatorii pe bug-uri. Niciun feature nou până la 0 critical bugs.",
            effects: { budget: 0, days: 14, morale: 0, quality: 20 },
            feedback: "Cea mai matură decizie. Calitatea e mai importantă decât bifa de feature-uri. Stable > complete."
          },
          {
            label: "Continuăm features + bug fixing în paralel",
            blurb: "Echipa face ambele. Vom prinde tot la final.",
            effects: { budget: -5000, days: 5, morale: -15, quality: -10 },
            feedback: "Multitasking distruge calitatea. Sunteți pe pilot automat spre catastrofa de la lansare."
          },
          {
            label: "Lansăm cu bug-uri, fixăm post-go-live",
            blurb: "Comunicăm transparent: launch v1, patch-uri în primele 2 săptămâni.",
            effects: { budget: 0, days: -7, morale: -8, quality: -25 },
            feedback: "Risc enorm pentru brand. Recenziile App Store sunt unforgiving. Doar pentru cazuri extreme."
          }
        ]
      },
      {
        id: "performance",
        day: 135,
        title: "Aplicația e prea lentă la 1000+ produse",
        context: "Performance test arată că pe device-uri vechi (Android 8) aplicația merge în 5+ secunde per ecran. Clienții 30% au astfel de telefoane.",
        choices: [
          {
            label: "Optimizări profunde de performanță",
            blurb: "1 lună de muncă. Refactor lista de produse cu virtualizare, lazy loading, cache.",
            effects: { budget: -15000, days: 21, morale: -5, quality: 25 },
            feedback: "Investiție corectă. Pe mobile, performance = experiență. Plătești acum sau pierzi 30% utilizatori."
          },
          {
            label: "Reducem nr. produse afișate inițial",
            blurb: "Implementăm paginare agresivă. Limită 20 produse per pagină.",
            effects: { budget: -3000, days: 5, morale: 0, quality: 8 },
            feedback: "Compromis acceptabil. Nu rezolvă root cause, dar e suficient pentru lansare. Datoria tehnică crește."
          },
          {
            label: "Ignorăm Android 8 — e legacy",
            blurb: "Setăm versiune minimă Android 10. Acceptăm că pierdem 30% utilizatori.",
            effects: { budget: 0, days: 0, morale: -5, quality: -15 },
            feedback: "Decizie de business defectuoasă. Sponsorul te va întreba unde sunt acei utilizatori."
          }
        ]
      },
      {
        id: "marketing",
        day: 160,
        title: "Marketing cere lansare cu 1 săptămână mai devreme",
        context: "Marketing a rezervat campanie TV pe data X. Vor lansare cu o săptămână înainte de planul tehnic. Echipa zice că se poate cu efort suplimentar.",
        choices: [
          {
            label: "NU. Lansare conform planului tehnic",
            blurb: "Marketing-ul ajustează campania. Lansare doar când e stable.",
            effects: { budget: 0, days: 0, morale: 8, quality: 5 },
            feedback: "Curaj. Decizia corectă — calitatea peste presiunea internă. Sponsorul va întreba inițial, dar va înțelege."
          },
          {
            label: "DA — un push final cu plata orelor suplimentare",
            blurb: "Echipa lucrează weekend-uri. Bonus de 15.000 RON.",
            effects: { budget: -15000, days: -7, morale: -15, quality: -8 },
            feedback: "Risc. Echipa epuizată face bug-uri. Bonus-ul ajută moral pe termen scurt dar nu rezolvă oboseala."
          },
          {
            label: "Lansare beta închisă pe data X, full pe data planificată",
            blurb: "100 utilizatori VIP testează cu o săptămână înainte.",
            effects: { budget: -3000, days: 0, morale: 5, quality: 10 },
            feedback: "Excelent compromis. Marketing-ul are eveniment, tehnicul are stabilitate. Win-win."
          }
        ]
      },
      {
        id: "launch",
        day: 175,
        title: "Ziua lansării — cum comunicăm?",
        context: "Aplicația e gata. Decizia finală: cum o lansezi?",
        choices: [
          {
            label: "Soft launch — lansăm fără marketing agresiv",
            blurb: "Observăm 2 săptămâni, ajustăm dacă apar probleme, apoi PR mare.",
            effects: { budget: 0, days: 5, morale: 5, quality: 15 },
            feedback: "Conservator dar înțelept. Real users găsesc bug-uri pe care testerii nu le-au prins."
          },
          {
            label: "Big bang — TV + influencer + push notification",
            blurb: "Lansare cu tobe și trompete. 200.000 useri în prima săptămână.",
            effects: { budget: -5000, days: 0, morale: 10, quality: -5 },
            feedback: "Riscant dar cu impact. Dacă există un bug critical, va fi mediatizat. Asigură-te că ai war room."
          },
          {
            label: "Lansare regională (5 orașe), apoi extindere",
            blurb: "București + 4 orașe. Învățăm și ajustăm înainte de național.",
            effects: { budget: -2000, days: 14, morale: 8, quality: 18 },
            feedback: "Strategia cea mai matură. Bandă de testare reală. Risc de business minim."
          }
        ]
      }
    ]
  },

  {
    id: "social",
    title: "Centru cultural local",
    subtitle: "ONG · fonduri europene · 18 luni",
    blurb: "Conduci proiectul de renovare a unei foste școli abandonate în centru cultural pentru comunitate. Fonduri europene 800.000 RON, 18 luni, 12 angajați parteneriați.",
    color: "coral",
    icon: "◈",
    difficulty: 4,
    initialBudget: 800000,
    initialDays: 540,
    initialMorale: 70,
    initialQuality: 70,
    teamSize: 12,
    events: [
      {
        id: "stakeholders",
        day: 0,
        title: "Întâlnirea cu comunitatea locală",
        context: "Primarul, profesori, părinți, tineri, vârstnici — toți au păreri diferite despre cum trebuie să arate centrul. Sala plină. Trei facțiuni clare.",
        choices: [
          {
            label: "Facilitarea unui proces de design participativ",
            blurb: "3 luni de workshop-uri cu fiecare grup. Decizia finală prin consens.",
            effects: { budget: -25000, days: 60, morale: 15, quality: 25 },
            feedback: "Investiție în legitimitate. Comunitatea va simți că e proiectul lor — esențial pentru sustenabilitate pe termen lung."
          },
          {
            label: "Sondaj online + 2 ședințe publice",
            blurb: "Rapid și democratic. Decidem pe baza majorității.",
            effects: { budget: -5000, days: 20, morale: 5, quality: 10 },
            feedback: "Onorabil dar superficial. Vocile minoritare vor reveni mai târziu cu opoziție."
          },
          {
            label: "Mergem cu planul deja aprobat de finanțator",
            blurb: "Comunitatea va vedea rezultatul. Nu putem mulțumi pe toată lumea.",
            effects: { budget: 0, days: 0, morale: -15, quality: -10 },
            feedback: "Capcana #1 a proiectelor sociale. Centrul va fi gol pentru că nu-l simt al lor."
          }
        ]
      },
      {
        id: "permits",
        day: 60,
        title: "Autorizațiile de construcție întârzie",
        context: "Primăria spune că dosarul e incomplet. Sezonul de iarnă vine peste 3 luni. Fără autorizație, nu putem începe lucrările grele.",
        choices: [
          {
            label: "Angajezi un consultant urbanism specializat",
            blurb: "Plătești 18.000 RON pentru cineva care cunoaște procesul. Reducem ciclul cu 2 luni.",
            effects: { budget: -18000, days: -45, morale: 5, quality: 10 },
            feedback: "Experiență locală e neprețuită. PM-ii buni cumpără timp cu bani."
          },
          {
            label: "Insiști pe procedura standard",
            blurb: "Toate hârtiile, toți funcționarii, toți pașii. Va dura, dar fără riscuri.",
            effects: { budget: -3000, days: 75, morale: -10, quality: 0 },
            feedback: "Curat dar lent. Vei pierde sezonul cald — costuri de iarnă mai mari pentru lucrări."
          },
          {
            label: "Începi lucrări pregătitoare în paralel",
            blurb: "Demolări interioare, curățenie, măsurători — fără autorizație. Sper că vom obține rapid.",
            effects: { budget: -8000, days: -30, morale: 0, quality: -15 },
            feedback: "Risc legal. Dacă te prinde inspecția, amenzi mari + pierdere finanțare. Nu merită."
          }
        ]
      },
      {
        id: "asbestos",
        day: 120,
        title: "Surpriză: azbest în acoperiș",
        context: "Demolarea descoperă plăci de azbest în vechea tavană. Tratament specializat: 60.000 RON și 3 săptămâni. Sau nu îl atingi.",
        choices: [
          {
            label: "Tratezi corect, conform normelor de mediu",
            blurb: "Firmă specializată. Decontaminare, depozitare, certificat.",
            effects: { budget: -60000, days: 21, morale: -5, quality: 20 },
            feedback: "Singura decizie etică și legală. Sănătatea utilizatorilor centrului > bugetul."
          },
          {
            label: "Sigilezi cu tencuială specială și acoperi",
            blurb: "Soluție mai ieftină. Azbestul rămâne, dar e izolat.",
            effects: { budget: -15000, days: 7, morale: -10, quality: -20 },
            feedback: "Risc pe termen lung. Va fi descoperit la viitoare renovări — și moștenirea ta va fi pătată."
          },
          {
            label: "Nu raportezi. E vechi, nu se vede.",
            blurb: "Mascăm zonele afectate, continuăm planul.",
            effects: { budget: 0, days: 0, morale: -25, quality: -40 },
            feedback: "Ilegal și imoral. Riscul ca un copil să se îmbolnăvească e prea mare. Nu, niciodată."
          }
        ]
      },
      {
        id: "funding",
        day: 200,
        title: "Auditul intermediar al finanțatorului",
        context: "Echipa de audit verifică progresul. Au observații despre eligibilitatea unor cheltuieli. Riscă să oprească 80.000 RON din tranșa următoare.",
        choices: [
          {
            label: "Răspuns documentat în 48h cu toate justificările",
            blurb: "Echipa lucrează nopți să adune dovezi. Răspuns oficial complet.",
            effects: { budget: -5000, days: 5, morale: -10, quality: 15 },
            feedback: "Profesional. Auditorii respectă răspunsurile rapide și complete. 90% din observații se rezolvă astfel."
          },
          {
            label: "Solicită întâlnire față în față",
            blurb: "Sponsor + auditor + tu. 1 zi de discuții. Clarifici contextul.",
            effects: { budget: -2000, days: 14, morale: 5, quality: 10 },
            feedback: "Bună abordare relațională. Auditorii preferă oameni care colaborează."
          },
          {
            label: "Tratezi ca formalitate, răspunzi pe ultima sută",
            blurb: "Nu te grăbi. Răspuns la final, în limita legală.",
            effects: { budget: -10000, days: 0, morale: -20, quality: -25 },
            feedback: "Risc enorm. Finanțatorii păstrează un dosar. Asta se reflectă la următoarele aplicații."
          }
        ]
      },
      {
        id: "partner-conflict",
        day: 280,
        title: "Partenerul implementator vrea să iasă",
        context: "Cea mai mare ONG-parteneră (ținea componenta culturală) are conflict intern și amenință că se retrage. 35% din scope depinde de ei.",
        choices: [
          {
            label: "Mediezi personal — întâlnire 1:1 cu ambele tabere",
            blurb: "3 zile de discuții. Ascultare activă. Propui un compromis.",
            effects: { budget: -3000, days: 10, morale: 10, quality: 15 },
            feedback: "Leadership autentic. Conflictele se rezolvă cu empatie, nu cu email-uri."
          },
          {
            label: "Cauți partener de înlocuire",
            blurb: "Refacem partea contractelor. Pierdem 1 lună dar avem opțiuni.",
            effects: { budget: -25000, days: 45, morale: -10, quality: -10 },
            feedback: "Decizie defensivă. Validă, dar înlocuirea de partener mid-project costă scump."
          },
          {
            label: "Ignori — sper că se rezolvă singur",
            blurb: "Continuăm planul. Conflictul lor nu e problema noastră.",
            effects: { budget: 0, days: 0, morale: -20, quality: -30 },
            feedback: "Naiv. Conflictul va exploda la momentul cel mai prost — probabil la inaugurare."
          }
        ]
      },
      {
        id: "winter",
        day: 360,
        title: "Iarna oprește șantierul 6 săptămâni",
        context: "Temperatura sub -5°C. Tencuielile nu se pot pune. Echipa civilă vrea să fie plătită oricum sau pleacă. 6 săptămâni inutile.",
        choices: [
          {
            label: "Mută echipa pe lucrări interioare + training comunitate",
            blurb: "Reorganizezi planul. Interioare, instalații electrice, plus workshop-uri comunitate.",
            effects: { budget: -5000, days: -14, morale: 15, quality: 20 },
            feedback: "Reziliență. Bun PM nu pierde timp — îl recanalizează. Dublu beneficiu: progres + relație cu comunitatea."
          },
          {
            label: "Plătești echipa redusă pe perioada iernii",
            blurb: "Reții doar 30% din echipă cu salariul redus. Restul concediu.",
            effects: { budget: -20000, days: 42, morale: -10, quality: 0 },
            feedback: "Pragmatic. Pierzi timpul, dar nu și echipa. Plan B respectat."
          },
          {
            label: "Continui cu metode improvizate",
            blurb: "Foi de plastic, lampi de încălzit. Lucrări forțate.",
            effects: { budget: -10000, days: 14, morale: -20, quality: -35 },
            feedback: "Calitate compromisă. Tencuiala uscată forțat crapă în 6 luni. Vei avea returnări."
          }
        ]
      },
      {
        id: "opening",
        day: 480,
        title: "Inaugurare — cum o facem?",
        context: "Centrul e gata 95%. Decizi formatul inaugurării.",
        choices: [
          {
            label: "Eveniment comunitar 3 zile — porțile deschise",
            blurb: "Atelier-uri, concerte, mâncare locală. Comunitatea e gazdă.",
            effects: { budget: -30000, days: 7, morale: 25, quality: 20 },
            feedback: "Inaugurarea ideală pentru un proiect social. Investiție mică, impact uriaș."
          },
          {
            label: "Ceremonie oficială cu primarul",
            blurb: "Tăiere panglică, presă, oficialități. 1 oră, formal.",
            effects: { budget: -8000, days: 1, morale: 5, quality: 5 },
            feedback: "Onorabil dar rece. Centrele care încep cu eveniment formal rămân formale."
          },
          {
            label: "Inaugurare discretă — nu mai amână",
            blurb: "Deschidem ușile, anunțăm pe Facebook. Important e că funcționează.",
            effects: { budget: 0, days: 0, morale: -5, quality: -5 },
            feedback: "Pierdere de oportunitate. Inaugurarea e moment de comunicare a misiunii — nu doar tăiere panglică."
          }
        ]
      },
      {
        id: "sustainability",
        day: 520,
        title: "Sustenabilitate după proiect",
        context: "Finanțarea se închide. Centrul trebuie să se susțină singur. Lunar trebuie 18.000 RON: salarii, utilități, mentenanță.",
        choices: [
          {
            label: "Plan de business mixt — subvenții + servicii plătite",
            blurb: "Cursuri plătite + chirie spațiu evenimente + parteneriat primărie.",
            effects: { budget: -10000, days: 14, morale: 10, quality: 25 },
            feedback: "Sustenabilitate adevărată. Centrele care rezistă au mix de venituri, nu o singură sursă."
          },
          {
            label: "Negociezi finanțare anuală cu primăria",
            blurb: "Convenția cu primăria pe 3 ani. Bani publici garantați.",
            effects: { budget: -3000, days: 7, morale: 5, quality: 15 },
            feedback: "Sigur dar dependent. Schimbarea politică = risc."
          },
          {
            label: "Las pe seama partenerilor — nu e treaba mea",
            blurb: "Proiectul s-a închis. Sustenabilitatea e a comunității.",
            effects: { budget: 0, days: 0, morale: -15, quality: -30 },
            feedback: "PM bun planifică tranziția. Fără ea, în 2 ani centrul e închis și moștenirea ta e eșec."
          }
        ]
      }
    ]
  },

  {
    id: "infra",
    title: "Modernizare hală industrială",
    subtitle: "Producție · automatizare · 9 luni",
    blurb: "Companie de producție din regiune. Modernizezi o hală de 4.000 mp: linii noi de asamblare, automatizare, eficiență energetică. Buget 1.500.000 RON, 9 luni, fără oprire producție.",
    color: "indigo",
    icon: "▣",
    difficulty: 5,
    initialBudget: 1500000,
    initialDays: 270,
    initialMorale: 80,
    initialQuality: 80,
    teamSize: 25,
    events: [
      {
        id: "downtime",
        day: 0,
        title: "Cât oprim producția?",
        context: "Fabrica nu poate sta închisă. Pierderi 80.000 RON/zi. Echipa tehnică zice că un downtime de 2 săptămâni e cel mai eficient pentru lucrări.",
        choices: [
          {
            label: "Zero downtime — lucrări nocturne și weekend",
            blurb: "Echipa civilă lucrează 22:00-06:00. Producție neîntreruptă.",
            effects: { budget: -180000, days: 30, morale: -15, quality: -10 },
            feedback: "Decizia șefului. Echipele de noapte sunt mai puțin eficiente și calitatea suferă. Costă mai mult decât pare."
          },
          {
            label: "Downtime fazat — câte 3 zile pe linie",
            blurb: "4 linii × 3 zile downtime = 12 zile fără producție pe fiecare, eșalonat.",
            effects: { budget: -50000, days: 14, morale: 5, quality: 10 },
            feedback: "Bun compromis. Pierdere acceptabilă. Echipa lucrează în condiții normale."
          },
          {
            label: "Downtime concentrat — 14 zile total shutdown",
            blurb: "Pierdere directă 1.120.000 RON, dar lucrările sunt eficiente.",
            effects: { budget: -200000, days: -20, morale: 10, quality: 20 },
            feedback: "Sponsorul te va întreba dacă e ok. Dar pe termen lung, calitatea lucrărilor compensează."
          }
        ]
      },
      {
        id: "supplier",
        day: 45,
        title: "Furnizorul de echipamente întârzie 6 săptămâni",
        context: "Linia automată din Germania nu vine la timp. Producătorul e copleșit. Tu ai planul fixat pe data X.",
        choices: [
          {
            label: "Caut furnizor alternativ chinezesc",
            blurb: "Echipament similar, mai ieftin, livrare în 4 săptămâni.",
            effects: { budget: 80000, days: 14, morale: -5, quality: -25 },
            feedback: "Risc tehnic mare. Echipamentele chinezești pe automatizare industrială variază mult — service-ul local e o problemă."
          },
          {
            label: "Negociez penalități + plan B parțial",
            blurb: "Penalitate 60.000 RON la furnizor + echipament temporar inchiriat 3 săptămâni.",
            effects: { budget: -30000, days: 21, morale: 5, quality: 15 },
            feedback: "Abordare profesională. Folosești contractul. Furnizorul german știe că ești serios la următoarea comandă."
          },
          {
            label: "Aștept liniștit — echipa lucrează la alte secțiuni",
            blurb: "Reorganizezi planul. Lucrările civile, instalațiile, electrica.",
            effects: { budget: -10000, days: 35, morale: 0, quality: 8 },
            feedback: "Acceptabil dar costă timp. Decizia minimă — funcționează doar dacă alte activități sunt suficiente."
          }
        ]
      },
      {
        id: "union",
        day: 80,
        title: "Sindicatul cere garanții pentru locuri de muncă",
        context: "Automatizarea va însemna că 8 din 60 muncitori vor avea joburi diferite. Sindicatul vrea garanție scrisă că nu se concediază nimeni.",
        choices: [
          {
            label: "Negociezi plan de reconversie + garanție 2 ani",
            blurb: "Curs de operator echipamente automate pentru cei afectați. Salarii garantate.",
            effects: { budget: -45000, days: 14, morale: 25, quality: 15 },
            feedback: "Leadership uman. Echipa simte că o respecti — productivitatea pe șantier va fi mai bună."
          },
          {
            label: "Garanție de 12 luni, fără reconversie",
            blurb: "Promisiune minimă. Vedem în 12 luni ce se întâmplă.",
            effects: { budget: -8000, days: 7, morale: -5, quality: 0 },
            feedback: "Pas în direcția bună, dar incomplet. Tensiunea va reveni în lună 13."
          },
          {
            label: "Refuz orice garanție — depinde de business",
            blurb: "Sindicatul are dreptul la opinie, nu la decizie.",
            effects: { budget: 0, days: 0, morale: -30, quality: -25 },
            feedback: "Greva e probabilă. Costă mai mult decât negocierea. Și reputația companiei suferă."
          }
        ]
      },
      {
        id: "safety",
        day: 120,
        title: "Incident de siguranță — muncitor rănit",
        context: "Pe șantier, un muncitor (sub-contractor) cade de pe schela. Nu e grav, dar e raportabil. ITM va veni la verificare.",
        choices: [
          {
            label: "Stop șantier 3 zile. Audit complet siguranță.",
            blurb: "Toți muncitorii cu training. EPP nou. Procedurile reverificate.",
            effects: { budget: -25000, days: 5, morale: 10, quality: 20 },
            feedback: "Decizie etică și legală. Demonstrează cultură de siguranță. ITM va apreca."
          },
          {
            label: "Investigație internă + măsuri punctuale",
            blurb: "Identifici cauza, schimbi schela, training pe echipa afectată.",
            effects: { budget: -8000, days: 2, morale: 0, quality: 5 },
            feedback: "Acceptabil. Răspuns rapid și focalizat. Asigură-te că documentezi tot."
          },
          {
            label: "Continui lucrările — a fost o greșeală a sub-contractorului",
            blurb: "Nu e responsabilitatea noastră directă. Sub-contractorul a violat procedurile.",
            effects: { budget: -3000, days: 0, morale: -20, quality: -25 },
            feedback: "Etic și legal periculos. Ești beneficiar — răspunzi solidar. Și echipa observă atitudinea."
          }
        ]
      },
      {
        id: "energy",
        day: 165,
        title: "Decizia despre eficiența energetică",
        context: "Planul include panouri solare opționale. Cost: 120.000 RON. ROI: 5-7 ani. Sponsorul nu vede valoarea imediată.",
        choices: [
          {
            label: "Construiești business case pentru sponsor",
            blurb: "Tabel cu ROI, impact PR, certificare ESG, subvenții potențiale.",
            effects: { budget: -120000, days: 14, morale: 5, quality: 25 },
            feedback: "Excelent. Conving deciziile cu date, nu cu argumente. Sustenabilitatea e și business decision."
          },
          {
            label: "Pregătești infrastructura, dar amâni panourile",
            blurb: "Cabluri, prize, suporți pregătite. Panourile se pot adăuga oricând în 5 ani.",
            effects: { budget: -15000, days: 5, morale: 0, quality: 10 },
            feedback: "Decizie pragmatică. Future-proof fără investiția mare imediat."
          },
          {
            label: "Renunți complet la componenta verde",
            blurb: "Concentrare pe producție. ESG e modă, nu necesitate.",
            effects: { budget: 0, days: 0, morale: -5, quality: -10 },
            feedback: "Pe termen lung, presiunea ESG vine oricum. Vei face investiția mai târziu, mai scump."
          }
        ]
      },
      {
        id: "scope-extra",
        day: 210,
        title: "Sponsorul cere extindere la hala 2",
        context: "După rezultatele bune pe hala 1, sponsorul propune extinderea la hala 2 (echivalentă). Buget extra 800.000 RON, +5 luni.",
        choices: [
          {
            label: "Finalizezi hala 1 perfect, apoi hala 2 ca proiect nou",
            blurb: "Refuzi extinderea. Hala 1 livrată la termen, hala 2 — proiect Q1 anul următor.",
            effects: { budget: 0, days: 0, morale: 10, quality: 15 },
            feedback: "Disciplină. Scope creep mascat ca oportunitate. PM matur refuză cu zâmbet."
          },
          {
            label: "Accepți cu rebaseline complet — timp + buget revizuite",
            blurb: "Refaci planul, contractul, comunici toți stakeholderii.",
            effects: { budget: 0, days: 90, morale: -10, quality: -5 },
            feedback: "Validă dar costisitoare în coordonare. Două proiecte separate ar fi fost mai curate."
          },
          {
            label: "Accepți discret și speri să recuperezi din eficiență",
            blurb: "Spui DA, începi în paralel, vom rezolva.",
            effects: { budget: -50000, days: 60, morale: -25, quality: -30 },
            feedback: "Capcana eroului. Vei livra ambele halele rău în loc de una bine. Anti-pattern clasic."
          }
        ]
      },
      {
        id: "commissioning",
        day: 240,
        title: "Probleme la punerea în funcțiune",
        context: "Linia automată merge, dar randamentul e 75% din spec. Furnizorul zice că e normal la început. Producția cere 100% până luna viitoare.",
        choices: [
          {
            label: "Joint troubleshooting cu furnizorul, 2 săptămâni intensiv",
            blurb: "Inginerii furnizorului + echipa ta + datele din senzori. Pas cu pas.",
            effects: { budget: -22000, days: 14, morale: 5, quality: 25 },
            feedback: "Abordare corectă. Datele rezolvă disputele. 95% din probleme se găsesc în calibrare."
          },
          {
            label: "Reclamație formală și solicitare conformitate",
            blurb: "Folosești contractul. Inițiezi procedura de defect.",
            effects: { budget: 0, days: 30, morale: -5, quality: 5 },
            feedback: "Validă dar lentă. Vei câștiga procesul peste 6 luni, dar acum nu produci."
          },
          {
            label: "Accept randamentul de 75% temporar",
            blurb: "Compensezi cu schimburi suplimentare. Recuperăm cu timpul.",
            effects: { budget: -45000, days: 0, morale: -20, quality: -25 },
            feedback: "Mascare a problemei. Echipa va lucra mai mult pentru deficiența unui echipament. Demotivare."
          }
        ]
      },
      {
        id: "handover",
        day: 265,
        title: "Predarea către operațiuni",
        context: "Hala e gata. Trebuie să predai operațiunilor. Documentația, training, garanțiile — toate trebuie transferate corect.",
        choices: [
          {
            label: "Predare cu 2 săptămâni de overlap + documentație completă",
            blurb: "Manual operare, mentenanță preventivă, contacte furnizori, training echipa operațională.",
            effects: { budget: -18000, days: 14, morale: 15, quality: 25 },
            feedback: "Predarea ideală. Operațiunile preiau cu încredere. Tu rămâi în istorie ca PM-ul care livrează curat."
          },
          {
            label: "Predare standard cu manual + 1 zi training",
            blurb: "Documentele oficiale, sesiune de tranziție, semnături. Curat și rapid.",
            effects: { budget: -5000, days: 3, morale: 5, quality: 10 },
            feedback: "Acceptabil pentru proiecte simple. La complexitatea asta, va fi mai mult support post-handover."
          },
          {
            label: "Predare oficială, soluționăm întrebările pe parcurs",
            blurb: "Documente finale. Restul îl rezolvăm prin email-uri.",
            effects: { budget: 0, days: 0, morale: -10, quality: -15 },
            feedback: "Predare slabă = call-uri la 2 noaptea peste 3 luni. Documentează acum, dormi liniștit."
          }
        ]
      }
    ]
  }
];

Object.assign(window, { SCENARIOS });
