<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

/**
 * InPractice — Marketing Generic Cases [05/10]
 * Campaign Planning & Execution: MG-CP-01 to MG-CP-05
 *
 * Run: php artisan db:seed --class=MarketingGenericCaseSeeder_05
 */
class MarketingGenericCaseSeeder_05 extends Seeder
{
    public function run(): void
    {
        $this->command->info('📢 [05/10] Campaign Planning & Execution (1-5) ...');

        $hub   = DB::table('hubs')->where('slug', 'marketing')->first();
        $admin = DB::table('users')->where('role', 'admin')->first();

        if (! $hub || ! $admin) {
            $this->command->error('Hub or admin not found. Run HubSeeder and AdminSeeder first.');
            return;
        }

        $hubId   = $hub->id;
        $adminId = $admin->id;
        $now     = now();


        $cases = [
        
                // ── MG-CP-01 ──────────────────────────────────────────────────
            [
                'topic_slug'    => 'campaign_planning',
                'topic_name_en' => 'Campaign Planning & Execution',
                'topic_name_ar' => 'تخطيط الحملات وتنفيذها',
                'difficulty'    => 'beginner',
                'sort_order'    => 401,
                'read_time_minutes' => 10,
        
                'title_en'    => 'The Campaign Without a Brief',
                'subtitle_en' => 'Why a great creative brief is worth more than a great creative idea',
                'situation_en' => "You are a junior marketing executive at **Nada Home Insurance**, a startup offering simplified home insurance products in Egypt. Your manager calls you into her office:\n\n*'I need you to run a Ramadan campaign for us. Budget is EGP 85,000. I want it to feel warm and family-focused. Start talking to agencies tomorrow.'*\n\nYou ask: 'What's the objective?'\n\nShe says: 'Brand awareness. And sales. Both.'\n\nYou ask: 'Who are we targeting?'\n\nShe says: 'Homeowners. You figure out the rest — I trust you.'\n\nYou now have to brief three agencies tomorrow morning. You have tonight to prepare the brief. You have never written a campaign brief before.",
                'challenge_questions_en' => json_encode([
                    "What is a campaign brief and why is it the most important document in a marketing campaign — more important than the creative idea?",
                    "Your manager said the objective is 'brand awareness AND sales.' Why are these often in tension — and how do you decide which to prioritise for a Ramadan campaign?",
                    "Write a complete campaign brief for the Nada Home Insurance Ramadan campaign using the standard brief format: objective, target audience, insight, key message, proof points, tone, mandatories, budget, timeline.",
                    "You receive three creative concepts from agencies. One is emotional and beautiful but hard to measure. One is promotional (10% discount offer). One is educational (what home insurance covers). How do you evaluate which is right — against the brief?",
                ]),
                'solution_en' => "## The Campaign Brief: The Foundation of Everything That Follows\n\n### Why the Brief Matters More Than the Idea\n\nA great creative idea without a clear brief is like a beautiful car without a steering wheel. It might look impressive but it has no direction. The brief:\n- Forces strategic clarity before creative work begins\n- Aligns agency and client on what success looks like\n- Becomes the evaluation tool for all creative work ('Does this answer the brief?')\n- Prevents the most expensive marketing mistake: brilliant creative that solves the wrong problem\n\n### Resolving the 'Awareness AND Sales' Tension\n\nFor a home insurance startup in its first Ramadan campaign:\n- Brand awareness is the *longer-term* need — no one buys from a brand they've never heard of\n- Sales is the *short-term* need — but requires an established brand to convert\n\nFor a brand with low awareness, a Ramadan campaign that tries to do both will likely achieve neither.\n\n**Decision:** Primary objective = Awareness (get Nada into consideration). Secondary = generate leads (not immediate sales — insurance has a longer decision cycle).\n\n### The Nada Home Insurance Ramadan Campaign Brief\n\n**Campaign Name:** Nada Ramadan 2026\n\n**Background:** Nada is a new home insurance provider in Egypt. Most Egyptian homeowners either have no home insurance or are unaware of affordable options. Ramadan is a time when Egyptians focus on family, home, and protecting what matters.\n\n**Objective:** Build brand awareness among target homeowners in Cairo and Giza. Secondary: generate 300+ qualified leads (WhatsApp contacts or website enquiries) for the sales team.\n\n**Target Audience:**\n- Primary: Egyptian homeowners aged 30–50, family decision-makers, Cairo/Giza, middle to upper-middle income\n- Mindset during Ramadan: reflective, family-focused, thinking about stability and the home\n\n**Consumer Insight:** Most Egyptian families invest heavily in their home — furnishings, renovations, memories built over years — but never think about what happens if something goes wrong. The home is their most valuable asset, but also their most unprotected one.\n\n**Key Message:** 'Your home holds everything that matters. Nada protects it.'\n\n**Proof Points:**\n- Simple monthly payment (starting from EGP X)\n- Covers fire, flood, theft, and accidental damage\n- Claims process in 48 hours\n\n**Tone:** Warm, reassuring, Egyptian family spirit — not fearful or transactional. Ramadan-appropriate without being religious.\n\n**Mandatories:** Nada logo, tagline, WhatsApp number visible, website URL\n\n**Budget:** EGP 85,000 (media + production)\n**Timeline:** Campaign live from Day 1 of Ramadan for 3 weeks\n\n### Evaluating the Three Creative Concepts Against the Brief\n\n| Concept | Does it build awareness? | Does it fit the warm/family tone? | Does it drive leads? | Verdict |\n|---|---|---|---|---|\n| Emotional/beautiful film | ✅ Yes | ✅ Yes | ❌ Hard to measure | Best if awareness is primary — add a lead mechanic |\n| 10% discount | ❌ Misses the moment | ❌ Feels transactional in Ramadan | ✅ Yes | Wrong for this objective |\n| Educational (coverage) | ✅ Yes | ⚠️ Neutral | ✅ Some | Good supporting content, not hero campaign |\n\n**Recommendation:** The emotional film with one modification — end with a clear call to action: 'Protect what matters. Get a quote in 2 minutes on WhatsApp.' The emotional story builds the brand. The CTA captures the lead.",
        
                'bigger_lesson_en' => "**A campaign brief is a strategic decision document, not an admin exercise.**\n\nEvery hour spent sharpening the brief saves ten hours of revision when the creative comes back wrong. The brief forces the hardest conversation in marketing: *'If we can only say one thing to one person to achieve one result — what is it?'* Answering that question well is the entire job of a marketing strategist.",
        
                'skills_taught_en' => json_encode([
                    'Campaign brief writing',
                    'Marketing objective setting',
                    'Consumer insight development',
                    'Creative concept evaluation',
                    'Ramadan campaign strategy',
                ]),
        
                'title_ar'    => 'الحملة بلا موجز',
                'subtitle_ar' => 'لماذا موجز إبداعي رائع يساوي أكثر من فكرة إبداعية رائعة',
                'situation_ar' => "أنت منفذ تسويق مبتدئ في **ندا للتأمين المنزلي**، ناشئة تقدم منتجات تأمين منزلي مبسطة في مصر. تستدعيك مديرتك:\n\n*'أريد منك إدارة حملة رمضان. الميزانية 85,000 جنيه. أريدها دافئة وعائلية. ابدأ في التحدث مع الوكالات غداً.'*\n\nتسأل عن الهدف: *'الوعي والمبيعات. كلاهما.'*\nتسأل عن الجمهور: *'أصحاب المنازل. فكّر في الباقي — أثق بك.'*\n\nيجب أن تقدم موجزاً لثلاث وكالات غداً صباحاً. لديك الليلة للتحضير. لم تكتب موجز حملة من قبل.",
                'challenge_questions_ar' => json_encode([
                    "ما موجز الحملة ولماذا هو أهم وثيقة في الحملة التسويقية — أهم من الفكرة الإبداعية؟",
                    "قالت مديرتك الهدف 'الوعي والمبيعات'. لماذا هذان في توتر غالباً — وكيف تقرر أيهما تُعطي الأولوية لحملة رمضان؟",
                    "اكتب موجز حملة كامل لحملة ندا للتأمين المنزلي في رمضان.",
                    "تتلقى ثلاثة مفاهيم إبداعية من وكالات. كيف تُقيّم أيها صحيح بالقياس على الموجز؟",
                ]),
                'solution_ar' => "## موجز الحملة: أساس كل ما يليه\n\n### موجز حملة رمضان 2026 — ندا للتأمين المنزلي\n\n**الهدف:** بناء الوعي بالعلامة بين أصحاب المنازل المستهدفين في القاهرة والجيزة. ثانوي: توليد 300+ عميل محتمل مؤهل (واتساب أو استفسارات موقع).\n\n**الجمهور المستهدف:** أصحاب المنازل المصريون 30-50 سنة، صانعو قرار العائلة، القاهرة/الجيزة، دخل متوسط إلى متوسط مرتفع\n\n**رؤية المستهلك:** معظم العائلات المصرية تستثمر كثيراً في منزلها لكن لا تفكر أبداً فيما يحدث لو حدث شيء ما. المنزل أثمن أصولهم لكن الأقل حمايةً.\n\n**الرسالة الرئيسية:** 'بيتك فيه كل اللي بيهمك. ندا بتحميه.'\n\n**النبرة:** دافئة ومطمئنة وروح العائلة المصرية — لا مخيفة ولا معاملاتية\n\n**تقييم المفاهيم الثلاثة:**\n\n| المفهوم | يبني وعياً | يناسب النبرة | يولد عملاء | الحكم |\n|---|---|---|---|---|\n| الفيلم العاطفي | ✅ | ✅ | ❌ صعب القياس | الأفضل مع إضافة آلية توليد عملاء |\n| خصم 10% | ❌ | ❌ معاملاتي في رمضان | ✅ | خاطئ لهذا الهدف |\n| تعليمي (ماذا يغطي التأمين) | ✅ | ⚠️ محايد | ✅ بعض | محتوى داعم لا حملة رئيسية |",
        
                'bigger_lesson_ar' => "**موجز الحملة وثيقة قرار استراتيجي لا تمرين إداري.**\n\nكل ساعة تُقضى في صقل الموجز توفر عشر ساعات مراجعة حين يعود العمل الإبداعي خاطئاً. الموجز يفرض المحادثة الأصعب في التسويق: *'إن استطعنا قول شيء واحد فقط لشخص واحد لتحقيق نتيجة واحدة — ما هي؟'*",
        
                'skills_taught_ar' => json_encode([
                    'كتابة موجز الحملة',
                    'تحديد أهداف التسويق',
                    'تطوير رؤية المستهلك',
                    'تقييم المفاهيم الإبداعية',
                    'استراتيجية حملات رمضان',
                ]),
                'created_at' => $now,
                'updated_at' => $now,
            ],
        
                // ── MG-CP-02 ──────────────────────────────────────────────────
            [
                'topic_slug'    => 'campaign_planning',
                'topic_name_en' => 'Campaign Planning & Execution',
                'topic_name_ar' => 'تخطيط الحملات وتنفيذها',
                'difficulty'    => 'intermediate',
                'sort_order'    => 402,
                'read_time_minutes' => 12,
        
                'title_en'    => 'The Media Plan Nobody Questioned',
                'subtitle_en' => 'When media buying becomes a habit instead of a strategy',
                'situation_en' => "You are a marketing manager at **Pharos Building Materials**, a B2B Egyptian company selling tiles, flooring, and finishing materials to contractors, developers, and individual homeowners through 8 branches in Cairo and Giza.\n\nThe company has run the same media plan for 3 years:\n- 2 outdoor billboards on Ring Road: EGP 18,000/month\n- Full-page ad in a construction trade magazine: EGP 8,500/month\n- Radio spot (Nogoum FM, morning drive): EGP 6,200/month\n- Facebook page management + boosts: EGP 4,500/month\n- Total: EGP 37,200/month / EGP 446,400/year\n\nNew management has asked you to justify the media spend or reallocate it. You have 30 days. No research budget — just analysis of what you already have.",
                'challenge_questions_en' => json_encode([
                    "Without a formal research budget, how do you evaluate the effectiveness of each channel in the current media mix?",
                    "For a B2B building materials company serving contractors, developers, AND homeowners — these are fundamentally different buyers. How should this affect the media strategy?",
                    "The Ring Road billboards cost EGP 216,000/year. Make the case FOR keeping them and make the case AGAINST. Which argument is stronger and why?",
                    "Redesign the media plan for Pharos Building Materials with the same total budget (EGP 446,400/year) — allocate by channel, justify each choice, and add at least 2 channels that are not currently being used.",
                ]),
                'solution_en' => "## Media Planning: Earning Every Pound the Budget Spends\n\n### Evaluating Effectiveness Without a Research Budget\n\nYou have more data than you think. For each channel:\n\n**Outdoor (Ring Road):** Ask the branch team — do walk-in customers mention seeing the billboard? Check Google Maps search volume for 'Pharos' or 'building materials near me' — is there a spike after the billboards went up? If the answer is 'we don't know,' that is the answer.\n\n**Trade magazine:** Call 10 contractor clients and ask: 'Do you read [magazine name]?' and 'Have you ever seen our ad?' If 3 or fewer have seen it, the reach is insufficient.\n\n**Radio:** Track inbound calls in the morning drive window (7–9am). Is there a pattern? WhatsApp contact form asks where they heard about us.\n\n**Facebook:** Pull actual data — post reach, engagement rate, messages received, website clicks. Any of these convertible to attributed sales?\n\n### The Two-Buyer Problem\n\nPharos serves three genuinely different buyers:\n\n| Buyer Type | How They Decide | How They Find Suppliers | Right Channel |\n|---|---|---|---|\n| Contractors | Specs, relationship, credit terms | Word of mouth, trade show, phone | Direct sales, WhatsApp groups, trade events |\n| Developers | Value engineering, volume pricing | Direct BD, referrals from consultants | LinkedIn, industry associations, face-to-face |\n| Homeowners | Inspiration, price, trust | Instagram, Google, showroom visit | Instagram, Google Search, showroom experience |\n\nThe current media plan (billboard, radio, magazine) is designed for broad reach — it serves none of these three buyer types with precision.\n\n### The Billboards Case For and Against\n\n**Case FOR (EGP 216,000/year):**\n- High visibility asset — 12+ times/day for every Ring Road commuter\n- Builds brand familiarity passively — contractors and homeowners who later search for materials recognise the name\n- Pharos has 8 branches — a physical presence brand benefits from broad awareness advertising\n- Cannot be easily replicated by online-only competitors\n\n**Case AGAINST:**\n- EGP 216,000 = 48% of total annual budget for a channel with zero measurability\n- Ring Road commuters are a broad, mixed audience — not specifically contractors, developers, or homeowners\n- No call to action, no conversion mechanism, no way to know if a single customer came from the billboard\n- The same investment in Google Search Ads would put Pharos in front of people actively searching for building materials\n\n**Verdict:** The case AGAINST is stronger. A brand with 8 branches and a specific B2B/B2C hybrid audience cannot justify 48% of media budget on unmeasured outdoor. Reduce to 1 billboard (most strategic location, EGP 9,000/month) and reallocate the saving.\n\n### Redesigned Media Plan (Same EGP 446,400/year)\n\n| Channel | Annual Budget | Why | Audience |\n|---|---|---|---|\n| Google Search Ads | EGP 96,000 | People searching 'tiles Cairo', 'building materials' — highest intent | Homeowners + small contractors |\n| 1 Strategic Outdoor Billboard | EGP 108,000 | Brand presence, most strategic location | All |\n| Instagram Ads + content | EGP 60,000 | Inspiration-driven homeowner audience | Homeowners |\n| WhatsApp Business (managed) | EGP 24,000 | Contractor relationship management, quotes, follow-up | Contractors |\n| LinkedIn Ads (developer outreach) | EGP 48,000 | Decision-makers at real estate developers | Developers |\n| Trade show presence (2/year) | EGP 60,000 | Direct contractor relationship, sampling | Contractors |\n| Branch experience upgrade | EGP 36,000 | In-showroom displays, lighting, samples — conversion at point of decision | All |\n| Radio (reduced) | EGP 14,400 | Retained for general awareness, reduced frequency | All |\n\nRemoved: Trade magazine (insufficient reach for the cost, replace with LinkedIn for B2B reach).",
        
                'bigger_lesson_en' => "**Media planning is not choosing channels — it is choosing audiences.**\n\nEvery channel is a path to a specific type of person at a specific moment in their buying journey. The right question is never 'should we be on radio?' The right question is 'where are our buyers when they are most open to considering us — and how do we reach them there?'",
        
                'skills_taught_en' => json_encode([
                    'Media mix evaluation and optimisation',
                    'B2B vs. B2C media channel selection',
                    'Channel effectiveness without formal research',
                    'Media budget reallocation',
                    'Audience-first media planning',
                ]),
        
                'title_ar'    => 'خطة الإعلام التي لم يتساءل أحد عنها',
                'subtitle_ar' => 'حين يصبح شراء الإعلام عادةً بدل استراتيجية',
                'situation_ar' => "أنت مدير تسويق في **فاروس لمواد البناء**، شركة مصرية B2B تبيع البلاط والأرضيات ومواد التشطيب للمقاولين والمطورين وأصحاب المنازل من خلال 8 فروع في القاهرة والجيزة.\n\nتدير الشركة نفس خطة الإعلام منذ 3 سنوات:\n- 2 لوحات خارجية على الطريق الدائري: 18,000 جنيه/شهر\n- صفحة كاملة في مجلة تجارية للبناء: 8,500 جنيه/شهر\n- إعلان راديو (نجوم FM): 6,200 جنيه/شهر\n- إدارة فيسبوك + تعزيزات: 4,500 جنيه/شهر\n- الإجمالي: 37,200 جنيه/شهر / 446,400 جنيه/سنة\n\nالإدارة الجديدة طلبت منك تبرير الإنفاق أو إعادة توزيعه. لديك 30 يوماً. لا ميزانية بحث.",
                'challenge_questions_ar' => json_encode([
                    "بلا ميزانية بحث رسمية، كيف تُقيّم فعالية كل قناة في مزيج الإعلام الحالي؟",
                    "لشركة مواد البناء تخدم مقاولين ومطورين وأصحاب منازل — هؤلاء مشترون مختلفون جوهرياً. كيف يؤثر هذا على استراتيجية الإعلام؟",
                    "اللوحات الخارجية تكلف 216,000 جنيه/سنة. قدّم الحجة للإبقاء عليها والحجة ضدها. أيهما أقوى ولماذا؟",
                    "أعد تصميم خطة إعلام فاروس بنفس الميزانية الإجمالية — خصص لكل قناة وبرر كل خيار وأضف قناتين على الأقل غير مستخدمتين.",
                ]),
                'solution_ar' => "## تخطيط الإعلام: تبرير كل جنيه من الميزانية\n\n### مشكلة المشترين المتعددين\n\n| نوع المشتري | كيف يقرر | القناة الصحيحة |\n|---|---|---|\n| المقاولون | علاقة، مواصفات، ائتمان | واتساب، مجموعات، معارض |\n| المطورون | هندسة القيمة، أسعار الحجم | لينكدإن، العلاقات المباشرة |\n| أصحاب المنازل | إلهام، سعر، ثقة | إنستغرام، جوجل، الصالة |\n\n### خطة إعلام معاد تصميمها (نفس الـ446,400 جنيه)\n\n| القناة | الميزانية السنوية | السبب |\n|---|---|---|\n| إعلانات جوجل | 96,000 | بحث نية عالية |\n| لوحة خارجية واحدة استراتيجية | 108,000 | حضور العلامة |\n| إعلانات إنستغرام + محتوى | 60,000 | أصحاب المنازل |\n| واتساب بيزنس مُدار | 24,000 | إدارة علاقة المقاولين |\n| إعلانات لينكدإن | 48,000 | صانعو قرار المطورين |\n| حضور معارض (2/سنة) | 60,000 | علاقة مقاولين مباشرة |\n| ترقية تجربة الفروع | 36,000 | التحويل عند نقطة القرار |\n| راديو مخفض | 14,400 | وعي عام بتردد أقل |\n\nتم حذف: المجلة التجارية (وصول غير كافٍ للتكلفة، يُستبدل بلينكدإن)",
        
                'bigger_lesson_ar' => "**تخطيط الإعلام ليس اختيار قنوات — بل اختيار جماهير.**\n\nكل قناة مسار لنوع محدد من الناس في لحظة محددة من رحلة الشراء. السؤال الصحيح ليس 'هل نكون على الراديو؟' بل 'أين يكون مشترونا حين يكونون أكثر انفتاحاً للنظر فينا؟'",
        
                'skills_taught_ar' => json_encode([
                    'تقييم وتحسين مزيج الإعلام',
                    'اختيار قنوات الإعلام B2B مقابل B2C',
                    'تقييم فعالية القنوات بلا بحث رسمي',
                    'إعادة توزيع ميزانية الإعلام',
                    'تخطيط الإعلام أولاً بالجمهور',
                ]),
                'created_at' => $now,
                'updated_at' => $now,
            ],
        
            // ── MG-CP-03 to MG-CP-06 (condensed but complete)
            [
                'topic_slug'    => 'campaign_planning',
                'topic_name_en' => 'Campaign Planning & Execution',
                'topic_name_ar' => 'تخطيط الحملات وتنفيذها',
                'difficulty'    => 'intermediate',
                'sort_order'    => 403,
                'read_time_minutes' => 12,
        
                'title_en'    => 'The Launch That Launched Too Early',
                'subtitle_en' => 'Why readiness, not excitement, should determine a campaign launch date',
                'situation_en' => "You are a brand manager at **ClickShip**, a new Egyptian same-day courier startup. The CEO is pushing to launch the marketing campaign in 3 weeks to coincide with a competitor's bad PR moment. The product works but there are known issues:\n- The mobile app crashes on Android 12 (35% of Egyptian Android users)\n- Customer service team is not hired yet (3 staff needed, only 1 trained)\n- The tracking system shows wrong updates 18% of the time\n- Payment gateway only accepts credit cards (90% of Egyptian online shoppers prefer debit or wallet)\n\nThe CEO says: *'A bad product launch is better than a missed market opportunity. Marketing can manage expectations.'*\n\nYou have a different view.",
                'challenge_questions_en' => json_encode([
                    "Make the case against launching in 3 weeks — with specific numbers estimating the cost of a bad launch vs. a delayed launch.",
                    "What is the minimum viable product readiness standard a startup should meet before launching a marketing campaign?",
                    "The CEO says 'marketing can manage expectations.' What does this actually mean in practice — and what are its limits?",
                    "Design a 6-week sprint plan that fixes the critical issues and allows a confident launch in week 7.",
                ]),
                'solution_en' => "## The Cost of Launching Too Early\n\n### The Numbers Case Against a 3-Week Launch\n\nAssumptions:\n- Campaign reaches 50,000 people\n- 8% try the service = 4,000 first-time users\n- 35% encounter the Android crash = 1,400 bad first experiences\n- 18% get wrong tracking = 720 frustrated users\n- 90% want to pay by debit/wallet but cannot = 3,600 abandoned purchases\n\nEstimated outcomes:\n- Churn rate from bad experience: 70% of affected users never return\n- Negative word-of-mouth: each unhappy user tells 3–5 people\n- Google Play/App Store rating: likely 2.1–2.8 stars after first 1,000 reviews\n- A 2.5-star app rating permanently harms organic discovery\n\n**The cost of a bad launch is not a 3-week delay — it is 6–18 months of reputation repair.**\n\n### Minimum Viable Product Readiness for a Campaign Launch\n\n| Requirement | Standard | ClickShip Status |\n|---|---|---|\n| App works on top 3 Android versions | ✅ No crashes | ❌ Crashes on Android 12 |\n| Customer service coverage | Full hours covered | ❌ 1 of 3 trained |\n| Core feature accuracy | >95% correct | ❌ 82% tracking accuracy |\n| Payment methods | 2+ options | ❌ Credit only |\n| Stress tested at 10× expected volume | Yes | Unknown |\n\nClick Ship meets 0 of 5 minimum standards. No marketing campaign should launch against this product state.\n\n### What 'Marketing Can Manage Expectations' Actually Means\n\nMarketing can: set accurate expectations about delivery times, coverage areas, and service conditions.\n\nMarketing cannot: compensate for a product that crashes, tracks incorrectly, or cannot accept the customer's preferred payment method. Expectation management works for imperfection. It does not work for non-function.\n\n### 6-Week Sprint to a Confident Launch\n\n| Week | Priority |\n|---|---|\n| 1–2 | Android 12 bug fix (P0 engineering sprint) |\n| 2–3 | Hire and train 3 CS staff; build response playbook |\n| 3–4 | Fix payment gateway: add Meeza, Fawry, wallet options |\n| 4–5 | Fix tracking accuracy; stress test at 5× expected volume |\n| 5–6 | Soft launch with 500 beta users; measure satisfaction |\n| Week 7 | Campaign launch if satisfaction >80% |\n\nThe competitor's bad PR will not have been forgotten in 6 weeks. But even if it had been — launching a broken product is worse than missing the window.",
        
                'bigger_lesson_en' => "**Marketing amplifies what is already there — good or bad.**\n\nA great marketing campaign for a broken product is the fastest way to accelerate your own failure. The campaign will reach more people, who will all have a bad experience, who will all tell their network. The first marketing principle for any product launch: the product must work before you invite the world to try it.",
        
                'skills_taught_en' => json_encode([
                    'Product launch readiness criteria',
                    'Cost-of-bad-launch analysis',
                    'MVP standards for marketing campaigns',
                    'Sprint planning for launch preparation',
                    'Expectation management limits',
                ]),
        
                'title_ar'    => 'الإطلاق الذي أُطلق مبكراً جداً',
                'subtitle_ar' => 'لماذا يجب أن تحدد الجاهزية لا الحماس تاريخ إطلاق الحملة',
                'situation_ar' => "أنت مدير علامة في **كليك شيب**، ناشئة توصيل مصرية في نفس اليوم. الرئيس يدفع لإطلاق حملة تسويقية في 3 أسابيع لمصادفة لحظة علاقات عامة سيئة للمنافس. المنتج يعمل لكن هناك مشاكل معروفة:\n- التطبيق يتعطل على أندرويد 12 (35% من مستخدمي أندرويد المصريين)\n- فريق خدمة العملاء لم يُوظَّف (3 موظفين مطلوبين، 1 فقط مدرّب)\n- نظام التتبع يُظهر تحديثات خاطئة 18% من الوقت\n- بوابة الدفع تقبل بطاقات الائتمان فقط (90% من المتسوقين يفضلون الخصم أو المحافظ)\n\nالرئيس: *'الإطلاق السيئ أفضل من فرصة السوق الضائعة. التسويق يمكنه إدارة التوقعات.'*",
                'challenge_questions_ar' => json_encode([
                    "قدّم الحجة ضد الإطلاق في 3 أسابيع — بأرقام محددة تُقدّر تكلفة الإطلاق السيئ مقابل المتأخر.",
                    "ما معيار الحد الأدنى لجاهزية المنتج الذي يجب أن تحققه ناشئة قبل إطلاق حملة تسويقية؟",
                    "يقول الرئيس 'التسويق يمكنه إدارة التوقعات'. ماذا يعني هذا فعلاً — وما حدوده؟",
                    "صمم خطة سباق 6 أسابيع تُصلح المشاكل الحرجة وتتيح إطلاقاً واثقاً في الأسبوع السابع.",
                ]),
                'solution_ar' => "## تكلفة الإطلاق المبكر جداً\n\n### الحجة بالأرقام ضد الإطلاق المبكر\n\n- 8% يجربون الخدمة = 4,000 مستخدم أول\n- 35% يواجهون عطل أندرويد = 1,400 تجربة أولى سيئة\n- 70% من المتأثرين لن يعودوا + كل منهم يُخبر 3-5 أشخاص\n- تقييم جوجل بلاي على الأرجح 2.1-2.8 نجوم — يُضر بالاكتشاف العضوي بشكل دائم\n\n**تكلفة الإطلاق السيئ ليست تأخيراً 3 أسابيع — بل 6-18 شهراً لإصلاح السمعة.**\n\n### خطة سباق 6 أسابيع\n\n| الأسبوع | الأولوية |\n|---|---|\n| 1-2 | إصلاح عطل أندرويد 12 |\n| 2-3 | توظيف وتدريب 3 موظفي خدمة عملاء |\n| 3-4 | إضافة ميزة وفوري ومحافظ رقمية |\n| 4-5 | إصلاح دقة التتبع + اختبار الضغط |\n| 5-6 | إطلاق تجريبي مع 500 مستخدم بيتا |\n| الأسبوع 7 | إطلاق الحملة إذا كان الرضا >80% |",
        
                'bigger_lesson_ar' => "**التسويق يُضخّم ما هو موجود — جيداً كان أم سيئاً.**\n\nحملة تسويقية رائعة لمنتج معطوب هي أسرع طريقة لتسريع فشلك. المبدأ التسويقي الأول لأي إطلاق: المنتج يجب أن يعمل قبل أن تدعو العالم لتجربته.",
        
                'skills_taught_ar' => json_encode([
                    'معايير جاهزية إطلاق المنتج',
                    'تحليل تكلفة الإطلاق السيئ',
                    'معايير MVP للحملات التسويقية',
                    'تخطيط السباق للتحضير للإطلاق',
                    'حدود إدارة التوقعات',
                ]),
                'created_at' => $now,
                'updated_at' => $now,
            ],
        
            // ── MG-CP-04 ──────────────────────────────────────────────────
            [
                'topic_slug'    => 'campaign_planning',
                'topic_name_en' => 'Campaign Planning & Execution',
                'topic_name_ar' => 'تخطيط الحملات وتنفيذها',
                'difficulty'    => 'advanced',
                'sort_order'    => 404,
                'read_time_minutes' => 14,
        
                'title_en'    => 'The Crisis Campaign',
                'subtitle_en' => 'Managing brand communications when your product is at the centre of public controversy',
                'situation_en' => "You are the marketing director at **Safwa Mineral Water**, one of Egypt's top-three selling bottled water brands. A viral Facebook post by a credible Egyptian doctor claims that Safwa's water contains 'unusually high levels of sodium' — citing a privately conducted lab test. The post has 340,000 shares in 48 hours.\n\nThe claims may or may not be true. Your quality team says the product meets all Egyptian standards (ES). The doctor's lab results show sodium at 92mg/L — which is within ES limits but higher than European standards and higher than your two main competitors.\n\nConsumer sentiment is collapsing:\n- Sales in modern trade down 31% in 48 hours\n- 7,400 social media comments, majority negative\n- Two retail chains have threatened to delist the product\n- Three journalists have called requesting comments\n\nYou have 6 hours to draft the crisis communication plan.",
                'challenge_questions_en' => json_encode([
                    "The product meets Egyptian standards but exceeds European standards. Is this a real product problem, a perception problem, or both — and how does your answer change your crisis strategy?",
                    "Design the 6-hour crisis communication plan: what do you say, to whom, through which channels, and in what sequence?",
                    "Two retail chains are threatening to delist. What is your conversation with them in the next 24 hours — and what can you offer them?",
                    "Once the immediate crisis is contained, design a 90-day reputation recovery campaign that addresses the sodium perception honestly without undermining consumer confidence further.",
                ]),
                'solution_en' => "## Crisis Communication: The First 6 Hours Define the Next 6 Months\n\n### Is This a Real Problem or Perception Problem?\n\nIt is both — and this distinction is critical for strategy:\n\n**The real problem:** Safwa's sodium level (92mg/L) is genuinely higher than competitors and higher than European standards — even if legally compliant in Egypt. This is a factual vulnerability that cannot be denied.\n\n**The perception problem:** The viral post has associated Safwa with 'unsafe' in 340,000 people's feeds. Even if Safwa corrects the record, 'Safwa sodium controversy' will live in search results for years.\n\n**Crisis strategy implication:** A purely defensive 'we meet standards' response will be seen as evasive. An acknowledgment of the factual gap + a commitment to improvement is the only credible path.\n\n### The 6-Hour Crisis Communication Plan\n\n**Hour 1–2: Internal alignment**\n- Convene: CEO, legal, quality, PR agency, marketing\n- Agree on the facts: what is the exact sodium level? What do all applicable standards say?\n- Establish the single narrative the company will hold consistently across all channels\n- Designate one spokesperson for all media\n\n**Hour 2–4: First public statement (Facebook + press release)**\n\nTone: Honest, responsible, not defensive.\n\n> *'We have seen the post circulating about Safwa's sodium content and we take it seriously. Here are the facts: Safwa's sodium level is [X]mg/L, which meets all Egyptian regulatory standards. We acknowledge that this level is higher than some European benchmarks, and we understand why this raises questions. We are commissioning an independent lab review of all our products and will share the full results publicly within 7 days. Your health and your trust in Safwa are our first priority — and if we can do better, we will.'*\n\n**Hour 4–6: Stakeholder calls**\n- Retail chain buyers: personal call, not email. Acknowledge the situation. Share the statement. Commit to sharing the independent lab results within 7 days. Ask for 7 days before any listing decision.\n- Key media: brief the most credible journalists with facts before they publish speculation\n- Sales team: align all field staff on the statement — no improvisation\n\n### 24-Hour Retail Conversation\n\nWhat to offer retailers:\n1. **7-day commitment:** Full independent lab results within 7 days — ask them to hold the listing decision until results are in\n2. **In-store support:** Offer to fund a 'Safwa Transparency' shelf card with QR code linking to test results — turns a crisis into a transparency play\n3. **No-questions return policy:** For 30 days, any consumer who returns Safwa product in their stores gets a full refund funded by Safwa — this removes the retailer's financial risk entirely\n\n### 90-Day Reputation Recovery\n\n**Days 1–7:** Publish the independent lab results on all channels. If sodium is within acceptable levels — publish the full report. If further action is needed — announce the reformulation commitment with a timeline.\n\n**Days 8–30:** 'Safwa Transparency' campaign — publish Safwa's full water composition report (not just sodium), how it compares to competitors and to global standards, what the Egyptian body's actual sodium requirements are. Turn the transparency into a brand equity driver.\n\n**Days 31–90:** Launch a reformulation programme (if warranted) or a 'Safwa Pure' line with demonstrably lower sodium. This gives consumers a clear signal that Safwa heard the concern and acted — regardless of whether the original product was technically safe.",
        
                'bigger_lesson_en' => "**In a crisis, the cover-up always does more damage than the event.**\n\nConsumers in 2025 can fact-check a corporate response in minutes. 'We meet standards' without acknowledging 'our standards may not be high enough' reads as evasion. Brands that emerge from crises stronger are those that acknowledge the legitimate concern, commit to transparency, and deliver on the commitment — not those that hide behind compliance.",
        
                'skills_taught_en' => json_encode([
                    'Crisis communication planning',
                    'Real vs. perception problem diagnosis',
                    'Stakeholder management in crisis',
                    'Retail relationship management during controversy',
                    'Reputation recovery campaign design',
                ]),
        
                'title_ar'    => 'حملة الأزمة',
                'subtitle_ar' => 'إدارة اتصالات العلامة حين يكون منتجك في قلب جدل عام',
                'situation_ar' => "أنت مدير التسويق في **صفوة للمياه المعدنية**، إحدى أكثر ثلاث علامات مياه مبيعاً في مصر. منشور فيسبوك فيروسي من طبيب مصري موثوق يدّعي أن مياه صفوة تحتوي 'مستويات مرتفعة غير معتادة من الصوديوم'. المنشور حصل على 340,000 مشاركة في 48 ساعة.\n\nفريقك للجودة يقول المنتج يستوفي جميع المعايير المصرية. نتائج المختبر: صوديوم 92 ملغ/لتر — ضمن حدود المعايير المصرية لكن أعلى من المعايير الأوروبية وأعلى من منافسيك الرئيسيين.\n\n- المبيعات في التجارة الحديثة انخفضت 31% في 48 ساعة\n- سلسلتان تجاريتان هدّدتا بشطب المنتج\n\nlديك 6 ساعات لصياغة خطة اتصالات الأزمة.",
                'challenge_questions_ar' => json_encode([
                    "المنتج يستوفي المعايير المصرية لكن يتجاوز الأوروبية. هل هذه مشكلة منتج حقيقية أم إدراك أم كلاهما — وكيف يغيّر إجابتك استراتيجية الأزمة؟",
                    "صمم خطة اتصالات أزمة لـ6 ساعات: ماذا تقول، لمن، عبر أي قنوات، وبأي تسلسل؟",
                    "سلسلتان تجاريتان تهدّدان بالشطب. ما محادثتك معهما في الـ24 ساعة القادمة — وما الذي يمكنك تقديمه؟",
                    "صمم حملة استعادة سمعة لـ90 يوماً تتناول إدراك الصوديوم بصدق دون المزيد من تقويض ثقة المستهلك.",
                ]),
                'solution_ar' => "## اتصالات الأزمة: الـ6 ساعات الأولى تحدد الـ6 أشهر القادمة\n\n### البيان العام الأول (الساعة 2-4)\n\n> *'رأينا المنشور المتداول حول محتوى الصوديوم في صفوة ونأخذه بجدية. الحقائق: مستوى الصوديوم في صفوة [X] ملغ/لتر، يستوفي جميع المعايير التنظيمية المصرية. نقرّ بأن هذا المستوى أعلى من بعض المعايير الأوروبية، ونفهم لماذا يطرح تساؤلات. نكلّف مختبراً مستقلاً بمراجعة جميع منتجاتنا وسننشر النتائج الكاملة خلال 7 أيام.'*\n\n### محادثة التجزئة في 24 ساعة\n\n1. طلب 7 أيام قبل أي قرار شطب\n2. 'بطاقة شفافية صفوة' على الرف مع كود QR لنتائج الاختبار\n3. سياسة إرجاع بدون أسئلة لـ30 يوماً يموّلها صفوة\n\n### استعادة السمعة 90 يوماً\n\nالأيام 1-7: نشر نتائج المختبر المستقل\nالأيام 8-30: حملة 'شفافية صفوة' — تقرير التركيب الكامل\nالأيام 31-90: إطلاق برنامج إصلاح التركيبة أو خط 'صفوة بيور'",
        
                'bigger_lesson_ar' => "**في الأزمة، التغطية دائماً تسبب أضراراً أكثر من الحدث نفسه.**\n\nالعلامات التي تخرج من الأزمات أقوى هي تلك التي تُقرّ بالمخاوف المشروعة وتلتزم بالشفافية وتفي بالالتزام — لا تلك التي تختبئ خلف الامتثال.",
        
                'skills_taught_ar' => json_encode([
                    'تخطيط اتصالات الأزمة',
                    'تشخيص مشكلة المنتج الحقيقية مقابل الإدراك',
                    'إدارة أصحاب المصلحة في الأزمة',
                    'إدارة علاقة التجزئة أثناء الجدل',
                    'تصميم حملة استعادة السمعة',
                ]),
                'created_at' => $now,
                'updated_at' => $now,
            ],
        
            // ── MG-CP-05 ──────────────────────────────────────────────────
            [
                'topic_slug'    => 'campaign_planning',
                'topic_name_en' => 'Campaign Planning & Execution',
                'topic_name_ar' => 'تخطيط الحملات وتنفيذها',
                'difficulty'    => 'advanced',
                'sort_order'    => 405,
                'read_time_minutes' => 13,
        
                'title_en'    => 'The Campaign That Offended Everyone',
                'subtitle_en' => 'Understanding cultural intelligence in Egyptian marketing',
                'situation_en' => "You are the marketing director at **FreshMart**, a fast-growing Egyptian grocery delivery app. A global creative agency produced a Ramadan campaign concept — a 60-second film showing a modern Cairo family ordering groceries for iftar, with the following elements:\n\n- The mother is shown making iftar alone while the husband is on his phone\n- A daughter is shown wearing very casual clothing during the family gathering\n- The tagline: 'FreshMart — So you can focus on what really matters'\n- The cast is visibly upper-class and foreign-looking (non-Egyptian appearance)\n- The music is a Western-style orchestral piece\n\nThe global agency is proud of the work. Your Egyptian team is deeply uncomfortable but cannot articulate exactly why in a way the international team understands.\n\nYou have 48 hours before the final decision on whether to produce the film.",
                'challenge_questions_en' => json_encode([
                    "Without using the words 'offensive' or 'inappropriate,' articulate the specific cultural disconnects in each element of the campaign — as a marketing effectiveness problem, not a values judgment.",
                    "The global agency argues: 'Modern Egyptian consumers are sophisticated and will appreciate contemporary storytelling.' How do you respond to this — and what data would you use to support your position?",
                    "What is the business risk of running this campaign — modelled in specific terms (sales impact, brand impact, PR impact)?",
                    "Brief the global agency on 5 specific changes that would make this campaign both culturally credible and creatively excellent — without compromising the core strategic idea.",
                ]),
                'solution_en' => "## Cultural Intelligence in Egyptian Marketing\n\n### Articulating the Disconnects as Marketing Problems\n\n**Element 1 — The absent husband on his phone**\nMarketing problem: This visual signals that FreshMart's benefit is that men can be checked out during family meals. For a brand positioned as enabling family connection (the tagline), this directly contradicts the brand message. More critically: in Egyptian culture, iftar is the peak family moment of the year. Showing a distracted husband at iftar is not 'modern' — it is tone-deaf to the most important use occasion the brand is trying to own.\n\n**Element 2 — Daughter's clothing**\nMarketing problem: This is not about conservatism — it is about reach. Egypt's primary grocery buyers span a wide income and cultural range. The casting choice (dress code, setting) signals that this brand is for a specific, narrow demographic — excluding the majority of potential buyers who will not see themselves represented.\n\n**Element 3 — The tagline 'Focus on what really matters'**\nMarketing problem: This implies that grocery shopping is a burden that takes time away from 'real' priorities — positioning the product correctly. But the visuals show a husband on his phone, which means 'what really matters' could be read as the phone, not the family. The tagline and visuals tell two contradictory stories.\n\n**Element 4 — Non-Egyptian cast**\nMarketing problem: A food delivery app is a hyper-local service with hyper-local competitors. The brand needs to feel like it belongs to Egyptian life. A cast that does not look like the target market creates psychological distance — the viewer does not see themselves using the product.\n\n**Element 5 — Western orchestral music**\nMarketing problem: Ramadan in Egypt has a deeply specific sonic culture — traditional instruments, familiar scales, the emotional vocabulary of Arabic music. A Western orchestral piece signals 'this ad was made somewhere else for someone else.' It disconnects the viewer from the emotional experience the brand is trying to create.\n\n### Responding to the 'Modern Consumers' Argument\n\nThe argument confuses cosmopolitanism with disconnection from culture. Cairo's most cosmopolitan consumers — young, English-speaking, internationally-educated — are also deeply proud of Egyptian cultural identity. Research consistently shows that Egyptian consumers respond more strongly to advertising that authentically represents Egyptian life, even when that advertising is stylistically modern.\n\nReference data: Egyptian advertising effectiveness studies consistently show that campaigns featuring Egyptian family dynamics, Arabic language, and culturally specific moments outperform 'global' creative by 30–45% on emotional connection scores.\n\n### Business Risk Model\n\n| Risk | Estimated Impact |\n|---|---|\n| Social media backlash → brand association damage | Ongoing, hard to quantify |\n| App rating drop from coordinated negative reviews | 0.3–0.5 stars, 15–25% fewer organic downloads |\n| Revenue impact in Ramadan (peak season for grocery delivery) | -8 to -15% vs. plan if campaign triggers boycott |\n| Recovery campaign cost | EGP 200,000–400,000 to reverse negative sentiment |\n\n### Five Changes to Fix the Campaign\n\n1. **The husband:** Show him putting the phone down when the food arrives — FreshMart enables the pivot from work to family, not the avoidance of family\n2. **The daughter:** Cast the family with clothing appropriate for a cross-section of Egyptian society — not conservatively, but not ultra-casually either; Egyptian family gatherings have their own dress code\n3. **The cast:** Cast a genuinely Egyptian-looking family — varied in appearance, clearly belonging to a specific Egyptian neighbourhood\n4. **The music:** Commission Arabic music — modern, not traditional, but with Arabic instruments and scales; there are extraordinary Egyptian composers who blend both\n5. **The tagline:** 'FreshMart — أكل بيتي، لحظة أحلى' ('FreshMart — Home food, sweeter moments') — more specific to the Ramadan emotional territory and more culturally resonant",
        
                'bigger_lesson_en' => "**Global creative is a starting point, not a finished product.**\n\nThe best global agencies produce work that needs cultural translation by the local team — not rejection or acceptance wholesale. The most effective marketing in any market speaks with genuine fluency in that market's cultural language. Cultural intelligence is not about avoiding offence — it is about maximising connection.",
        
                'skills_taught_en' => json_encode([
                    'Cultural intelligence in marketing',
                    'Egyptian consumer cultural insight',
                    'International creative adaptation',
                    'Ramadan marketing best practices',
                    'Brand safety and cultural risk assessment',
                ]),
        
                'title_ar'    => 'الحملة التي أزعجت الجميع',
                'subtitle_ar' => 'فهم الذكاء الثقافي في التسويق المصري',
                'situation_ar' => "أنت مدير التسويق في **فريش مارت**، تطبيق توصيل بقالة مصري سريع النمو. أنتجت وكالة إبداعية عالمية مفهوم حملة رمضان — فيلم 60 ثانية يُظهر عائلة قاهرية حديثة تطلب البقالة للإفطار:\n\n- الأم تُعدّ الإفطار وحدها بينما الزوج على هاتفه\n- ابنة بملابس كاجوال جداً في التجمع العائلي\n- الشعار: 'فريش مارت — حتى تتركز على ما يهم فعلاً'\n- الممثلون يبدون من الطبقة العليا وغير مصريي المظهر\n- موسيقى أوركسترالية غربية\n\nالوكالة العالمية فخورة بالعمل. فريقك المصري غير مرتاح لكن لا يستطيع التعبير عن ذلك بوضوح للفريق الدولي.\n\nlديك 48 ساعة قبل القرار النهائي.",
                'challenge_questions_ar' => json_encode([
                    "بدون استخدام كلمتي 'مسيء' أو 'غير لائق'، وضّح التناقضات الثقافية المحددة في كل عنصر من الحملة — كمشكلة فعالية تسويقية.",
                    "الوكالة العالمية تحتج: 'المستهلكون المصريون المعاصرون متطورون وسيقدّرون رواية القصص المعاصرة.' كيف تردّ — وما البيانات التي تستخدمها؟",
                    "ما مخاطر الأعمال لتشغيل هذه الحملة — مُموذَجة بمصطلحات محددة؟",
                    "أوجز للوكالة العالمية 5 تغييرات محددة تجعل الحملة موثوقة ثقافياً وممتازة إبداعياً.",
                ]),
                'solution_ar' => "## الذكاء الثقافي في التسويق المصري\n\n### توضيح التناقضات كمشاكل تسويقية\n\n**الزوج المشغول بهاتفه:** يُشير أن فريش مارت يتيح للرجال التغيب عن لحظات العائلة. في ثقافتنا، الإفطار قمة اللحظات العائلية السنوية — إظهار زوج مشتت هناك أصم لأهم مناسبة استخدام تحاول العلامة امتلاكها.\n\n**الممثلون غير المصريي المظهر:** تطبيق التوصيل خدمة محلية بالغة التخصص. العلامة تحتاج أن تبدو منتمية للحياة المصرية.\n\n**الموسيقى الأوركسترالية الغربية:** رمضان في مصر له ثقافة صوتية محددة عميقاً. الموسيقى الغربية تُشير 'هذا الإعلان صُنع في مكان آخر لأشخاص آخرين'.\n\n### خمسة تغييرات لإصلاح الحملة\n\n1. **الزوج:** أظهره يضع الهاتف حين يصل الطعام — فريش مارت يُتيح الانتقال من العمل للعائلة\n2. **ملابس الابنة:** ملائمة لمقطع من المجتمع المصري\n3. **الممثلون:** عائلة مصرية المظهر بوضوح\n4. **الموسيقى:** موسيقى عربية — حديثة بآلات عربية\n5. **الشعار:** 'فريش مارت — أكل بيتي، لحظة أحلى'",
        
                'bigger_lesson_ar' => "**الإبداع العالمي نقطة بداية لا منتج نهائي.**\n\nأفضل الوكالات العالمية تنتج عملاً يحتاج ترجمة ثقافية من الفريق المحلي — لا رفضاً أو قبولاً كاملاً. الذكاء الثقافي ليس تجنب الإزعاج — بل تعظيم التواصل.",
        
                'skills_taught_ar' => json_encode([
                    'الذكاء الثقافي في التسويق',
                    'رؤية المستهلك الثقافية المصرية',
                    'تكييف الإبداع الدولي',
                    'أفضل ممارسات تسويق رمضان',
                    'تقييم سلامة العلامة والمخاطر الثقافية',
                ]),
                'created_at' => $now,
                'updated_at' => $now,
            ]
        
                ];

          $cases = array_map(function ($case) use ($hubId, $adminId, $now) {
            return array_merge($case, [
                'hub_id'       => $hubId,
                'created_by'   => $adminId,
                'status'       => 'published',
                'published_at' => $now,
            ]);
        }, $cases);

        DB::table('cases')->insert($cases);
        $this->command->info('  ✅ 5 cases inserted (MG-CP-01 to MG-CP-05)');
    }
}
