// Notifications, MyTasks, Payouts, Roles, Comparison, Roadmap, Closing.

const { useState: useStateB } = React;

// ========== NOTIFICATIONS (static) ==========

function PhoneFrame({ children, label }) {
  return (
    <div style={{
      width:'100%', maxWidth:260, margin:'0 auto',
      background:'var(--slate-900)', borderRadius:32, padding:8,
      boxShadow:'0 18px 40px -12px rgb(15 23 42 / 0.35), 0 0 0 1px rgb(15 23 42 / 0.06)',
    }}>
      <div style={{
        background:'#f8fafc', borderRadius:24, overflow:'hidden',
        position:'relative', height:420, display:'flex', flexDirection:'column',
      }}>
        {/* Status bar */}
        <div style={{
          padding:'12px 18px 4px', display:'flex', alignItems:'center', justifyContent:'space-between',
          font:'700 11px/1 var(--font-sans)', color:'var(--slate-700)',
        }}>
          <span>9:41</span>
          <span style={{font:'600 10px/1 var(--font-sans)', color:'var(--slate-500)'}}>{label}</span>
          <span style={{display:'inline-flex', gap:3, alignItems:'center'}}>
            <span style={{width:14, height:8, borderRadius:2, border:'1px solid var(--slate-500)', display:'inline-block', position:'relative'}}>
              <span style={{position:'absolute', inset:'1px', width:'70%', background:'var(--slate-700)', borderRadius:1}}/>
            </span>
          </span>
        </div>
        {children}
      </div>
    </div>
  );
}

function WhatsAppMock() {
  return (
    <PhoneFrame label="WhatsApp">
      <div style={{
        background:'#075e54', color:'white',
        padding:'10px 14px', display:'flex', alignItems:'center', gap:10,
      }}>
        <span style={{
          width:32, height:32, borderRadius:9999,
          background:'#25d366', display:'inline-flex', alignItems:'center', justifyContent:'center',
        }}>
          <MessageCircle size={16}/>
        </span>
        <div>
          <div style={{font:'700 13px/1 var(--font-arabic)'}}>مزبط</div>
          <div style={{font:'500 10px/1.2 var(--font-sans)', opacity:0.8, marginTop:3}}>متصل الآن</div>
        </div>
      </div>
      <div style={{flex:1, padding:'14px 12px', background:'#ece5dd', display:'flex', flexDirection:'column', gap:8}}>
        <div style={{
          alignSelf:'flex-start', maxWidth:'85%',
          background:'white', borderRadius:'12px 12px 12px 4px',
          padding:'10px 12px',
          font:'500 12.5px/1.55 var(--font-arabic)', color:'#1f2937',
          boxShadow:'0 1px 1px rgba(0,0,0,0.06)',
        }}>
          <div style={{font:'700 12px/1 var(--font-arabic)', color:'#075e54', marginBottom:6}}>📌 مهمة جديدة</div>
          مراجعة فيديو "وصفات رمضانية"<br/>
          <span style={{color:'var(--fg-3)'}}>موعد التسليم: غدا 3 عصرا</span>
          <div style={{
            marginTop:8, padding:'5px 9px', background:'#dcf8c6',
            borderRadius:6, display:'inline-block',
            font:'700 11px/1 var(--font-arabic)', color:'#075e54',
          }}>افتح المهمة ←</div>
          <div style={{font:'400 9.5px/1 var(--font-sans)', color:'var(--fg-4)', marginTop:8, textAlign:'end'}}>9:41</div>
        </div>
      </div>
    </PhoneFrame>
  );
}

function SMSMock() {
  return (
    <PhoneFrame label="الرسائل">
      <div style={{
        background:'white', color:'var(--fg-1)',
        padding:'10px 14px', display:'flex', alignItems:'center', gap:10,
        borderBottom:'1px solid var(--border-subtle)',
      }}>
        <span style={{
          width:32, height:32, borderRadius:9999,
          background:'var(--indigo-100)', color:'var(--indigo-700)',
          display:'inline-flex', alignItems:'center', justifyContent:'center',
        }}><MessageSquare size={16}/></span>
        <div>
          <div style={{font:'700 13px/1 var(--font-arabic)'}}>+966 53 مزبط</div>
          <div style={{font:'500 10px/1.2 var(--font-sans)', color:'var(--fg-3)', marginTop:3}}>الآن</div>
        </div>
      </div>
      <div style={{flex:1, padding:'14px 12px', background:'#f4f5f7', display:'flex', flexDirection:'column', gap:8}}>
        <div style={{
          alignSelf:'flex-start', maxWidth:'88%',
          background:'#e9e9eb', borderRadius:'18px 18px 18px 4px',
          padding:'9px 13px',
          font:'500 12.5px/1.55 var(--font-arabic)', color:'var(--fg-1)',
        }}>
          📌 مهمة جديدة: مراجعة فيديو وصفات رمضانية. موعد التسليم: غدا 3 عصرا.
          <br/>
          <span style={{color:'var(--indigo-700)', textDecoration:'underline'}}>cflow.app/t/4821</span>
        </div>
      </div>
    </PhoneFrame>
  );
}

function EmailMock() {
  return (
    <PhoneFrame label="البريد">
      <div style={{
        background:'white', padding:'10px 14px',
        borderBottom:'1px solid var(--border-subtle)',
        display:'flex', alignItems:'center', gap:8,
      }}>
        <Mail size={16}/>
        <span style={{font:'700 13px/1 var(--font-sans)'}}>صندوق الوارد</span>
        <span style={{flex:1}}/>
        <span style={{
          font:'700 10px/1 var(--font-sans)', color:'white',
          background:'#dc2626', borderRadius:9999, padding:'2px 7px',
        }}>1</span>
      </div>
      <div style={{flex:1, padding:'10px 10px', background:'#f4f5f7', display:'flex', flexDirection:'column', gap:6}}>
        <div style={{
          background:'white', border:'1px solid var(--indigo-200)',
          borderRadius:10, padding:'10px 12px',
          boxShadow:'var(--shadow-sm)',
        }}>
          <div style={{display:'flex', alignItems:'center', gap:8}}>
            <span style={{
              width:28, height:28, borderRadius:9999,
              background:'var(--indigo-50)', color:'var(--indigo-700)',
              display:'inline-flex', alignItems:'center', justifyContent:'center',
              font:'700 13px/1 var(--font-arabic)',
            }}>مز</span>
            <div style={{flex:1, minWidth:0}}>
              <div style={{font:'700 12px/1.2 var(--font-arabic)', color:'var(--fg-1)'}}>مزبط</div>
              <div style={{font:'500 10px/1 var(--font-sans)', color:'var(--fg-3)', marginTop:2}}>9:41 ص</div>
            </div>
            <span style={{width:8, height:8, background:'var(--indigo-600)', borderRadius:9999}}/>
          </div>
          <div style={{font:'700 12px/1.4 var(--font-arabic)', color:'var(--fg-1)', marginTop:9}}>
            مهمة جديدة: مراجعة فيديو وصفات رمضانية
          </div>
          <div style={{font:'500 11px/1.5 var(--font-arabic)', color:'var(--fg-2)', marginTop:4}}>
            تم تكليفك بمراجعة الحلقة الثالثة. موعد التسليم: غدا 3 عصرا…
          </div>
        </div>
      </div>
    </PhoneFrame>
  );
}

function NotificationsSection() {
  return (
    <section className="section" style={{background:'var(--bg-app)'}}>
      <div className="container">
        <div className="eyebrow">الميزة الرابعة · الإشعارات</div>
        <h2 className="section-title">تصلك المهمة عبر القناة المناسبة</h2>
        <p className="section-sub">WhatsApp · SMS · البريد الإلكتروني ، كل عضو يختار قنواته المفضلة، لا تذكير ينسى.</p>
        <div style={{
          display:'grid', gridTemplateColumns:'repeat(3, 1fr)', gap:24,
          marginTop:48,
        }}>
          <WhatsAppMock/>
          <SMSMock/>
          <EmailMock/>
        </div>
        <p style={{
          marginTop:36, font:'600 16px/1.6 var(--font-arabic)', color:'var(--fg-1)',
          maxWidth:680, textAlign:'center', marginInline:'auto', textWrap:'pretty',
        }}>
          كل عضو يختار قنواته المفضلة ، لا تذكير ينسى.
        </p>
      </div>
    </section>
  );
}

// ========== MY TASKS (interactive light) ==========

const PF_MY_TASKS = [
  { id:'mt1', task:'كتابة سيناريو',     idea:'وصفات رمضانية - الحلقة 3',
    state:'المحتوى قيد التصوير الآن',  due:'غدا 3 عصرا', done:false },
  { id:'mt2', task:'مراجعة الفيديو',     idea:'مراجعة هاتف: مقارنة عملية',
    state:'المحتوى في مرحلة المونتاج',  due:'بعد غد 12 ظهرا', done:false },
  { id:'mt3', task:'تسجيل تعليق صوتي',   idea:'دروس Premiere ، الدرس 2',
    state:'السيناريو معتمد',           due:'الخميس 5 مساء', done:false },
  { id:'mt4', task:'نشر على إنستغرام',    idea:'كاروسيل: 5 أخطاء SEO',
    state:'جاهز للنشر',                 due:'اليوم 6 مساء', done:false },
  { id:'mt5', task:'كتابة hook',          idea:'تيك توك ، نصيحة يومية',
    state:'منجز',                       due:'الإثنين 10 ص', done:true },
  { id:'mt6', task:'تصوير لقطات',         idea:'Reels: وراء الكواليس',
    state:'منجز',                       due:'الأحد',         done:true },
  { id:'mt7', task:'اعتماد العنوان',      idea:'بودكاست: ضيف الأسبوع',
    state:'منجز',                       due:'الجمعة',        done:true },
];

function MyTaskCard({ t }) {
  return (
    <div style={{
      background: t.done ? 'var(--bg-subtle)' : 'var(--white)',
      border:'1px solid var(--border-default)',
      borderRadius:'var(--radius-xl)',
      padding:'16px 18px',
      display:'flex', alignItems:'flex-start', gap:14,
      opacity: t.done ? 0.78 : 1,
      transition:'opacity 200ms',
    }}>
      <span style={{
        width:32, height:32, borderRadius:9999, flex:'0 0 auto',
        background: t.done ? '#d1fae5' : 'var(--indigo-50)',
        color: t.done ? '#059669' : 'var(--indigo-600)',
        display:'inline-flex', alignItems:'center', justifyContent:'center',
        border: t.done ? '1.5px solid #34d399' : '1.5px solid var(--indigo-200)',
      }}>
        {t.done ? <Check size={16}/> : <Clock size={15}/>}
      </span>
      <div style={{flex:1, minWidth:0}}>
        <div style={{
          font:'700 15px/1.3 var(--font-arabic)',
          color: t.done ? 'var(--fg-3)' : 'var(--fg-1)',
          textDecoration: t.done ? 'line-through' : 'none',
        }}>{t.task}</div>
        <div style={{font:'500 13px/1.5 var(--font-arabic)', color:'var(--fg-2)', marginTop:4}}>
          {t.idea}
        </div>
        <div style={{display:'flex', alignItems:'center', gap:10, marginTop:8, flexWrap:'wrap'}}>
          <span style={{
            font:'600 11px/1 var(--font-arabic)',
            color: t.done ? '#065f46' : 'var(--fg-3)',
            background: t.done ? '#d1fae5' : 'var(--bg-subtle)',
            border:'1px solid var(--border-default)',
            padding:'4px 8px', borderRadius:9999,
          }}>{t.state}</span>
          <span style={{font:'500 11.5px/1 var(--font-arabic)', color:'var(--fg-3)', display:'inline-flex', alignItems:'center', gap:4}}>
            <Clock size={11}/> {t.due}
          </span>
        </div>
      </div>
    </div>
  );
}

function MyTasksDemo() {
  const [showDone, setShowDone] = useStateB(false);
  const list = showDone ? PF_MY_TASKS : PF_MY_TASKS.filter(t => !t.done);
  return (
    <div className="demo-shell">
      <div className="demo-chrome">
        <span className="dots"><i/><i/><i/></span>
        <span className="label">mazbat.app · مهامي</span>
        <span className="demo-tag">صفحة مهامي</span>
      </div>
      <div style={{padding:'24px', background:'var(--bg-app)'}}>
        <div style={{display:'flex', alignItems:'center', gap:10, marginBottom:18, flexWrap:'wrap'}}>
          <h3 style={{font:'700 18px/1.2 var(--font-arabic)', color:'var(--fg-1)', margin:0}}>
            مهام اليوم
          </h3>
          <span style={{
            font:'700 11px/1 var(--font-sans)', color:'var(--indigo-700)',
            background:'var(--indigo-50)', border:'1px solid var(--indigo-100)',
            padding:'4px 9px', borderRadius:9999,
          }}>{PF_MY_TASKS.filter(t => !t.done).length} نشطة</span>
          <span style={{flex:1}}/>
          <label style={{display:'inline-flex', alignItems:'center', gap:8, cursor:'pointer', userSelect:'none'}}>
            <span style={{font:'600 13px/1 var(--font-arabic)', color:'var(--fg-2)'}}>عرض المنجزة</span>
            <span
              role="switch" aria-checked={showDone}
              onClick={() => setShowDone(v => !v)}
              style={{
                width:36, height:20, borderRadius:9999, padding:2,
                background: showDone ? 'var(--indigo-600)' : 'var(--slate-300)',
                position:'relative', transition:'background 150ms',
                display:'inline-block', flex:'0 0 auto',
              }}>
              <span style={{
                width:16, height:16, borderRadius:9999, background:'white',
                display:'block',
                transform: showDone ? 'translateX(-16px)' : 'translateX(0)',
                transition:'transform 150ms',
                boxShadow:'0 1px 2px rgba(0,0,0,0.2)',
              }}/>
            </span>
          </label>
        </div>
        <div style={{display:'flex', flexDirection:'column', gap:10}}>
          {list.map(t => <MyTaskCard key={t.id} t={t}/>)}
        </div>
      </div>
    </div>
  );
}

function MyTasksSection() {
  return (
    <section className="section" style={{background:'var(--white)'}}>
      <div className="container">
        <div className="eyebrow">الميزة الخامسة · مهامي</div>
        <h2 className="section-title">كل عضو يفتح، يرى، ينفذ</h2>
        <p className="section-sub">صفحة مهامي ، كل ما عليك اليوم. اضغط زر "عرض المنجزة" لرؤية ما أنجز.</p>
        <MyTasksDemo/>
      </div>
    </section>
  );
}

// ========== PAYOUTS ==========

const PF_PAYOUT_METHODS = [
  { emoji:'⏰', label:'ساعات العمل' },
  { emoji:'🎬', label:'مدة المحتوى النهائي' },
  { emoji:'📹', label:'مدة الفوتيج (الـraw)' },
  { emoji:'✓',  label:'حسب الإنجاز' },
  { emoji:'✍️', label:'عدد الكلمات' },
];

const PF_PAYOUT_ROWS = [
  { task:'كتابة سيناريو',  method:'عدد الكلمات', calc:'1,200 × 0.5 ر.س', amount:'600 ر.س' },
  { task:'تعليق صوتي',     method:'مدة المحتوى', calc:'12 د × 30 ر.س',    amount:'360 ر.س' },
  { task:'مونتاج',         method:'حسب الإنجاز',  calc:'ثابت',             amount:'800 ر.س' },
];

function PayoutsSection() {
  return (
    <section className="section" style={{background:'var(--bg-app)'}}>
      <div className="container">
        <div className="eyebrow">الميزة السادسة · حساب المستحقات</div>
        <h2 className="section-title">كل مستحقات فريقك محسوبة بالكامل</h2>
        <p className="section-sub">خصصها بالطريقة التي تناسبك. كل مهمة لها طريقة حساب، والمحاسبة تنتهي تلقائيا.</p>

        {/* Methods row */}
        <div style={{
          display:'grid', gridTemplateColumns:'repeat(5, 1fr)', gap:10,
          marginTop:36,
        }}>
          {PF_PAYOUT_METHODS.map(m => (
            <div key={m.label} style={{
              background:'var(--white)', border:'1px solid var(--border-default)',
              borderRadius:'var(--radius-xl)', padding:'14px 12px',
              display:'flex', flexDirection:'column', alignItems:'flex-start', gap:8,
            }}>
              <span style={{
                width:32, height:32, borderRadius:8,
                background:'var(--bg-subtle)', border:'1px solid var(--border-default)',
                display:'inline-flex', alignItems:'center', justifyContent:'center',
                fontSize:16,
              }}>{m.emoji}</span>
              <span style={{font:'600 13px/1.35 var(--font-arabic)', color:'var(--fg-1)'}}>{m.label}</span>
            </div>
          ))}
        </div>

        {/* Example table */}
        <div style={{
          marginTop:36, background:'var(--white)',
          border:'1px solid var(--border-default)', borderRadius:'var(--radius-xl)',
          overflow:'hidden', boxShadow:'var(--shadow-sm)',
        }}>
          <div style={{
            padding:'14px 18px', background:'var(--slate-50)',
            borderBottom:'1px solid var(--border-default)',
            display:'flex', alignItems:'center', gap:10,
          }}>
            <Wallet size={16}/>
            <span style={{font:'700 13px/1 var(--font-arabic)', color:'var(--fg-1)'}}>مثال: مستحقات الحلقة الثالثة</span>
            <span style={{flex:1}}/>
            <span style={{font:'500 12px/1 var(--font-arabic)', color:'var(--fg-3)'}}>وصفات رمضانية</span>
          </div>
          <table style={{width:'100%', borderCollapse:'separate', borderSpacing:0}}>
            <thead>
              <tr>
                {['المهمة','الطريقة','الحساب','المستحق'].map(h => (
                  <th key={h} style={{
                    padding:'12px 18px', textAlign:'start',
                    font:'700 12px/1.2 var(--font-arabic)', color:'var(--fg-1)',
                    background:'var(--white)',
                    borderBottom:'1px solid var(--border-default)',
                  }}>{h}</th>
                ))}
              </tr>
            </thead>
            <tbody>
              {PF_PAYOUT_ROWS.map((r, i) => (
                <tr key={i}>
                  <td style={{padding:'14px 18px', font:'600 13.5px/1.4 var(--font-arabic)', color:'var(--fg-1)', borderBottom:'1px solid var(--border-subtle)'}}>{r.task}</td>
                  <td style={{padding:'14px 18px', font:'500 13px/1.4 var(--font-arabic)', color:'var(--fg-2)', borderBottom:'1px solid var(--border-subtle)'}}>{r.method}</td>
                  <td style={{padding:'14px 18px', font:'500 13px/1.4 var(--font-mono)', color:'var(--fg-2)', borderBottom:'1px solid var(--border-subtle)', fontVariantNumeric:'tabular-nums'}}>{r.calc}</td>
                  <td style={{padding:'14px 18px', font:'700 13px/1.4 var(--font-arabic)', color:'var(--fg-1)', borderBottom:'1px solid var(--border-subtle)', fontVariantNumeric:'tabular-nums'}}>{r.amount}</td>
                </tr>
              ))}
              <tr>
                <td style={{padding:'14px 18px', font:'700 14px/1.4 var(--font-arabic)', color:'var(--fg-1)', background:'var(--indigo-50)'}}>الإجمالي</td>
                <td style={{padding:'14px 18px', background:'var(--indigo-50)'}}/>
                <td style={{padding:'14px 18px', background:'var(--indigo-50)'}}/>
                <td style={{padding:'14px 18px', font:'700 16px/1.4 var(--font-arabic)', color:'var(--indigo-700)', background:'var(--indigo-50)', fontVariantNumeric:'tabular-nums'}}>1,760 ر.س</td>
              </tr>
            </tbody>
          </table>
        </div>

        <p style={{
          marginTop:24, font:'600 16px/1.6 var(--font-arabic)', color:'var(--fg-1)',
          maxWidth:760, textWrap:'pretty',
        }}>
          كل مهمة تخصص مستحقاتها بسهولة. المحاسبة تنتهي تلقائيا.
        </p>
      </div>
    </section>
  );
}

// ========== ROLES (3 cards with mockups) ==========

function WriterMock() {
  return (
    <div className="role-mock writer-mock">
      <div className="writer-toolbar">
        {['B','I','H1','،','«»','🔗','↶','↷'].map((t, i) => (
          <span key={i} className={'wm-tool' + (i === 2 ? ' active' : '')}>{t}</span>
        ))}
        <span className="writer-ai-btn"><Sparkles size={12}/> AI</span>
        <span style={{flex:1}}/>
        <span className="writer-saved">✓ محفوظ تلقائيا · v12</span>
      </div>
      <div className="writer-doc">
        <h1 className="writer-h1">سفرتي إلى اليابان ، الحلقة 1</h1>
        <div className="writer-meta">800 كلمة · 5 دقائق قراءة · ملف #ep_01</div>

        <h2 className="writer-h2">المقدمة <span className="writer-tc">(00:00 ، 00:30)</span></h2>
        <p className="writer-p">
          صوت على لقطة من طوكيو ليلا: «تخيل أنك في بلاد تختلف فيها ساعة الاستيقاظ، وإيقاع السلم، حتى طعم الإفطار.»
        </p>
        <p className="writer-p writer-ai-suggest">
          <span className="writer-ai-tag"><Sparkles size={10}/> اقتراح AI</span>
          جرب hook أقوى: «في أول 3 ثواني هناك، أدركت إني ما رحت سفرة ، رحت كوكب ثاني.»
          <span className="writer-ai-actions">
            <button className="writer-ai-accept">قبول</button>
            <button className="writer-ai-reject">تجاهل</button>
          </span>
        </p>

        <h2 className="writer-h2">المحتوى الرئيسي <span className="writer-tc">(00:30 ، 08:00)</span></h2>
        <ul className="writer-ul">
          <li>الوصول للفندق <span className="writer-em">(تجربة الميترو لأول مرة)</span></li>
          <li>فطور في سوق سويبارا</li>
          <li>جولة في حي أساكوسا</li>
          <li className="writer-cursor">إقامة قصيرة في حدائق شينجوكو<span className="writer-caret"/></li>
        </ul>
      </div>
      <div className="writer-ai-bar">
        <span className="writer-ai-icon"><Sparkles size={13}/></span>
        <span className="writer-ai-input">اطلب من AI: حسن المقدمة، اقترح hook…</span>
        <button className="writer-ai-send"><Sparkles size={11}/> توليد</button>
      </div>
    </div>
  );
}

function EditorMock() {
  const tabs = [
    { id:'clips',  label:'اللقطات', emoji:'📂', count:14 },
    { id:'audio',  label:'الموسيقى', emoji:'🎵', count:6 },
    { id:'script', label:'السكربت',  emoji:'📝' },
    { id:'notes',  label:'ملاحظات', emoji:'💬', count:3 },
  ];
  const [active, setActive] = useStateB('clips');

  const clips = [
    { name:'cam_a_intro_01.mp4', dur:'0:32', tone:'amber' },
    { name:'cam_a_market_03.mp4', dur:'1:14', tone:'blue' },
    { name:'cam_b_market_03.mp4', dur:'1:08', tone:'pink' },
    { name:'broll_subway_01.mp4', dur:'0:24', tone:'teal' },
    { name:'broll_neon_02.mp4', dur:'0:18', tone:'purple' },
    { name:'cam_a_park_05.mp4', dur:'0:46', tone:'green' },
    { name:'broll_temple_01.mp4', dur:'0:54', tone:'orange' },
    { name:'audio_voiceover_v3.wav', dur:'8:12', tone:'indigo' },
  ];

  return (
    <div className="role-mock editor-mock">
      <div className="editor-tabs">
        {tabs.map(t => (
          <button key={t.id} onClick={() => setActive(t.id)}
            className={'editor-tab' + (active === t.id ? ' active' : '')}>
            <span className="editor-tab-emoji">{t.emoji}</span>
            <span>{t.label}</span>
            {t.count != null && <span className="editor-tab-count">{t.count}</span>}
          </button>
        ))}
        <span style={{flex:1}}/>
        <button className="editor-search">🔍 بحث</button>
      </div>
      <div className="editor-grid">
        {clips.map((c, i) => {
          const tc = window.pfChip(c.tone);
          return (
            <div key={i} className="editor-clip" style={{
              background:`linear-gradient(135deg, ${tc.bg} 0%, ${tc.mid}55 100%)`,
              borderColor: tc.bar,
            }}>
              <div className="editor-clip-thumb">
                <span className="editor-clip-play"><Play size={12}/></span>
                <span className="editor-clip-dur">{c.dur}</span>
              </div>
              <div className="editor-clip-name">{c.name}</div>
            </div>
          );
        })}
      </div>
      <div className="editor-foot">
        <button className="editor-foot-primary">
          <Folder size={12}/> افتح في Premiere
        </button>
        <button className="editor-foot-secondary">تحميل للجهاز</button>
        <span style={{flex:1}}/>
        <span className="editor-foot-meta">إجمالي: 4.8 GB · 14 لقطة</span>
      </div>
    </div>
  );
}

function ReviewerMock() {
  const comments = [
    { time:'02:14', author:'سارة المخرجة', avatar:'👩‍🎬', text:'يحتاج كات أسرع هنا ، الإيقاع طويل', tone:'orange', pct:18 },
    { time:'05:08', author:'أحمد المنتج',   avatar:'👨‍💻', text:'الموسيقى عالية على التعليق الصوتي', tone:'amber', pct:42 },
    { time:'08:42', author:'خالد الموافق',   avatar:'👨‍🎤', text:'لوحدة تصحيح الألوان ، الأزرق طاغي', tone:'pink', pct:72 },
  ];
  return (
    <div className="role-mock reviewer-mock">
      <div className="reviewer-stage">
        <div className="reviewer-video">
          <div className="reviewer-video-grid"/>
          <div className="reviewer-play">
            <Play size={24}/>
          </div>
          <div className="reviewer-time">▶ 02:34 / 12:05</div>
          <div className="reviewer-quality">1080p · HQ</div>
          <div className="reviewer-active-comment">
            <span className="reviewer-active-time">02:14</span>
            «يحتاج كات أسرع هنا ، الإيقاع طويل»
          </div>
        </div>
        <div className="reviewer-timeline">
          <div className="reviewer-timeline-track">
            <div className="reviewer-timeline-fill" style={{width:'21%'}}/>
            <div className="reviewer-timeline-head" style={{insetInlineStart:'21%'}}/>
            {comments.map((c, i) => {
              const tc = window.pfChip(c.tone);
              return (
                <span key={i} className="reviewer-marker"
                  style={{insetInlineStart:`${c.pct}%`, background: tc.bar}}
                  title={c.time}>
                  <span className="reviewer-marker-tip">{c.time}</span>
                </span>
              );
            })}
          </div>
          <div className="reviewer-timeline-meta">
            <span>02:34</span>
            <span>12:05</span>
          </div>
        </div>
      </div>
      <div className="reviewer-comments">
        <div className="reviewer-comments-h">
          <MessageSquare size={14}/>
          <span className="reviewer-comments-title">5 تعليقات</span>
          <span className="reviewer-comments-new">2 جديدة</span>
          <span style={{flex:1}}/>
          <button className="reviewer-add-btn">+ أضف تعليق</button>
        </div>
        <div className="reviewer-comments-list">
          {comments.map((c, i) => (
            <div key={i} className="reviewer-comment">
              <span className="reviewer-comment-time">{c.time}</span>
              <span className="reviewer-comment-avatar">{c.avatar}</span>
              <div className="reviewer-comment-body">
                <div className="reviewer-comment-text">{c.text}</div>
                <div className="reviewer-comment-author">{c.author}</div>
              </div>
              <div className="reviewer-comment-actions">
                <button className="reviewer-act reviewer-act-yes">✓</button>
                <button className="reviewer-act reviewer-act-no">↻</button>
              </div>
            </div>
          ))}
        </div>
      </div>
    </div>
  );
}

function RoleRow({ icon, role, title, lede, bullets, mock, accent, idx }) {
  const c = window.pfChip(accent);
  return (
    <div className="role-row">
      <div className="role-text">
        <div className="role-num" style={{background: c.bg, color: c.text, borderColor: c.bar}}>
          الدور 0{idx} · {role}
        </div>
        <h3 className="role-title">
          {title.split('«')[0]}
          <span className="role-title-quote">«{title.split('«')[1]?.replace('»','')}»</span>
        </h3>
        <p className="role-lede">{lede}</p>
        <ul className="role-bullets">
          {bullets.map((b, i) => (
            <li key={i}>
              <span className="role-bullet-check" style={{background: c.bg, color: c.text, borderColor: c.bar}}>✓</span>
              <span>{b}</span>
            </li>
          ))}
        </ul>
      </div>
      <div className="role-mock-wrap">
        {mock}
      </div>
    </div>
  );
}

function RolesSection() {
  const roles = [
    {
      idx:1, role:'الكاتب', icon:'📝', accent:'blue',
      title:'للكاتب «محرر أنيق بدون تشتيت»',
      lede:'مساحة كتابة نظيفة مدمجة مع AI تساعد الكاتب على تطوير أفكاره وتحسين صياغته.',
      bullets:[
        'محرر markdown عربي بتنسيق فوري',
        'مساعد AI داخل المحرر (حسن الفقرة، اقترح hook)',
        'حفظ تلقائي + سجل إصدارات كامل',
      ],
      mock:<WriterMock/>,
    },
    {
      idx:2, role:'الممنتج', icon:'✂️', accent:'purple',
      title:'للمونتير «لوحة مصادر موحدة»',
      lede:'كل ما يحتاجه المونتير في مكان واحد: لقطات، صوت، موسيقى، سكربت، وملاحظات المخرج. يفتح الملف في Premiere/DaVinci بنقرة.',
      bullets:[
        'تصفح سريع للمصادر بصورة مصغرة',
        'تكامل مع Premiere، DaVinci، Final Cut',
        'سكربت + ملاحظات المخرج في لوحة واحدة',
      ],
      mock:<EditorMock/>,
    },
    {
      idx:3, role:'المراجع', icon:'👁️', accent:'amber',
      title:'للمراجع «تعليقات على لحظات الفيديو»',
      lede:'يشاهد المراجع الفيديو ويعلق على الثواني التي تحتاج تعديل. يعود المونتير يشاهد التعليق في لحظته المبلغة بالضبط.',
      bullets:[
        'علق على أي لحظة بنقرة على المسار',
        'موافقة / رفض / إعادة عمل بزر واحد',
        'سلسلة مراجعات واضحة بدون فوضى',
      ],
      mock:<ReviewerMock/>,
    },
  ];
  return (
    <section className="section roles-section" style={{background:'var(--bg-app)'}}>
      <div className="container">
        <div className="eyebrow">الميزة السابعة · workspace بالدور</div>
        <h2 className="section-title">كل عضو بإمكانه تنفيذ مهمته بأدوات تساعده</h2>
        <p className="section-sub">workspace خاص لكل دور، مبني على نفس البيانات. كل عضو يفتح مزبط ويبدأ.</p>
        <div className="role-rows">
          {roles.map((r, i) => (
            <RoleRow key={r.idx} {...r} reverse={i % 2 === 1}/>
          ))}
        </div>
      </div>
    </section>
  );
}

// ========== COMPARISON ==========

function ComparisonSection() {
  const Yes  = (extra) => <span className="cmp-mark cmp-yes">✓{extra ? ' ' + extra : ''}</span>;
  const No   = (extra) => <span className="cmp-mark cmp-no">✗{extra ? ' ' + extra : ''}</span>;
  const Warn = (txt) => <span className="cmp-mark cmp-warn">⚠ {txt}</span>;

  const rows = [
    ['دعم RTL أصيل (ليس ترجمة)',                  Yes(),         Warn('جزئي'),       Warn('مترجم آليا')],
    ['واجهة عربية 100%',                            Yes(),         Warn('إنجليزي + ترجمة'), Warn('إنجليزي + ترجمة')],
    ['دعم فني عربي',                              Yes(),          No(),              No()],
    ['تكامل مع واتساب للإشعارات',                  Yes(),         No(),              No()],
    ['سير عمل خاص بصناعة المحتوى',                 Yes('مدمج'),  No('يبني المستخدم'), No('عام')],
    ['تعليقات على لحظات الفيديو',                   Yes('مدمج'),  No(),              No()],
    ['AI خاص بصناعة المحتوى (لا AI عام)',            Yes('متخصص'),   Warn('AI عام'),    Warn('AI عام')],
    ['حساب المستحقات تلقائيا',                    Yes(),          No(),              Warn('بإضافة')],
    ['تقويم نشر موحد لكل المنصات',                Yes(),          No(),              Warn('عام')],
    ['إدارة مصادر المونتاج',                       Yes(),          No(),              No()],
    ['الوصول لمبدعين عرب للتعاقد',              Yes(),          No(),              No()],
    ['دعم جوال + SMS + إيميل',                     Yes('الثلاثة معا'), Warn('إيميل فقط'), Warn('إيميل فقط')],
  ];
  return (
    <section className="section" style={{background:'var(--white)'}}>
      <div className="container">
        <div className="eyebrow">المقارنة</div>
        <h2 className="section-title">لماذا ليست أداة عامة؟</h2>
        <p className="section-sub">Notion و ClickUp ممتازتان للأغراض العامة. لكن صناعة المحتوى تحتاج فهما عميقا للسير العمل ومفرداته.</p>
        <div className="cmp-wrap">
          <table className="cmp-table cmp-table-wide">
            <thead>
              <tr>
                <th className="cmp-feature-col">الميزة</th>
                <th className="cmp-brand cmp-brand-th">
                  <span className="cmp-brand-badge">مختارنا</span>
                  <span className="cmp-brand-name">مزبط</span>
                </th>
                <th>Notion</th>
                <th>ClickUp</th>
              </tr>
            </thead>
            <tbody>
              {rows.map((r, i) => (
                <tr key={i}>
                  <td>{r[0]}</td>
                  <td className="cmp-brand-col">{r[1]}</td>
                  <td>{r[2]}</td>
                  <td>{r[3]}</td>
                </tr>
              ))}
            </tbody>
          </table>
        </div>
        <p style={{margin:'28px 0 0', font:'600 16px/1.6 var(--font-arabic)', color:'var(--fg-1)', maxWidth:760, textWrap:'pretty'}}>
          الأدوات العامة تجبرك على بناء كل شيء من الصفر. مزبط يفهمك من اللحظة الأولى.
        </p>
      </div>
    </section>
  );
}

// ========== WAITLIST (replaces Roadmap) ==========

function WaitlistSection() {
  const [phone, setPhone] = useStateB('');
  const [email, setEmail] = useStateB('');
  const [error, setError] = useStateB('');
  const [submitting, setSubmitting] = useStateB(false);
  const [submitted, setSubmitted] = useStateB(false);

  const onSubmit = async (e) => {
    e.preventDefault();
    if (!phone.trim() && !email.trim()) {
      setError('من فضلك أدخل الجوال أو الإيميل (أحدهما على الأقل)');
      return;
    }
    if (email.trim() && !/^\S+@\S+\.\S+$/.test(email.trim())) {
      setError('الإيميل غير صحيح');
      return;
    }
    setError('');
    setSubmitting(true);

    try {
      const res = await fetch('/api/waitlist', {
        method: 'POST',
        headers: { 'content-type': 'application/json' },
        body: JSON.stringify({ phone: phone.trim(), email: email.trim() }),
      });
      if (!res.ok) {
        const data = await res.json().catch(() => ({}));
        const msg = data.error === 'invalid_email' ? 'الإيميل غير صحيح'
                  : data.error === 'phone_or_email_required' ? 'أحد الحقلين على الأقل مطلوب'
                  : 'حدث خطأ، حاول مرة أخرى';
        setError(msg);
        setSubmitting(false);
        return;
      }
    } catch (err) {
      setError('تعذّر الاتصال بالخادم، حاول مرة أخرى');
      setSubmitting(false);
      return;
    }

    setSubmitting(false);
    setSubmitted(true);
  };

  return (
    <section className="section waitlist-section" style={{background:'var(--bg-app)'}}>
      <div className="container">
        <div className="eyebrow">الخاتمة</div>
        <h2 className="waitlist-title">نبي نعلمك أول ما تجهز المنصة؟</h2>
        <p className="section-sub">مزبط تحت التطوير. اترك جوالك أو إيميلك وسنعلمك دون إزعاج.</p>

        <form className="waitlist-card" onSubmit={onSubmit}>
          {!submitted ? (
            <>
              <div className="waitlist-fields">
                <label className="waitlist-field">
                  <span className="waitlist-field-icon">📱</span>
                  <input
                    type="tel"
                    value={phone}
                    onChange={(e) => { setPhone(e.target.value); setError(''); }}
                    placeholder="رقم الجوال (اختياري)"
                    className="waitlist-input"
                    dir="ltr"
                  />
                </label>
                <label className="waitlist-field">
                  <span className="waitlist-field-icon">✉️</span>
                  <input
                    type="email"
                    value={email}
                    onChange={(e) => { setEmail(e.target.value); setError(''); }}
                    placeholder="الإيميل (اختياري)"
                    className="waitlist-input"
                    dir="ltr"
                  />
                </label>
              </div>

              <button type="submit" className="waitlist-cta" disabled={submitting}>
                <Send size={15}/> {submitting ? 'جاري الإرسال...' : 'أعلموني'}
              </button>
              {error
                ? <div className="waitlist-hint waitlist-error">⚠ {error}</div>
                : <div className="waitlist-hint">أحد الحقلين على الأقل مطلوب ، لن نرسل لك إلا عند الإطلاق.</div>
              }
              <div className="waitlist-perks">
                <span className="waitlist-perk">✓ بدون إزعاج</span>
                <span className="waitlist-perk">✓ تجربة مجانية 3 شهور للأوائل</span>
                <span className="waitlist-perk">✓ وصول مبكر للـbeta</span>
              </div>
            </>
          ) : (
            <div className="waitlist-success">
              <div className="waitlist-success-icon">🙏</div>
              <h3 className="waitlist-success-h">بالتوفيق، سنتواصل معك عند إطلاق مزبط</h3>
              <p className="waitlist-success-p">
                حفظنا {phone && email ? 'جوالك وإيميلك' : phone ? 'جوالك' : 'إيميلك'}. سنعلمك أول ما تجهز المنصة ، بدون إزعاج، بدون رسائل تسويقية.
              </p>
              <button type="button" className="waitlist-success-link" onClick={() => { setSubmitted(false); setPhone(''); setEmail(''); }}>
                إضافة شخص آخر
              </button>
            </div>
          )}
        </form>
      </div>
    </section>
  );
}

Object.assign(window, {
  NotificationsSection, MyTasksSection, PayoutsSection,
  RolesSection, ComparisonSection, WaitlistSection,
});
