// Traction Forecasting . Scenarios (Section 06)
function TractionScenarios({ scenarios }) {
  const rows = [
    { k: 'cumGMV', l: 'Cumulative GMV', fmt: 'currency' },
    { k: 'cumNetTake', l: 'Cumulative net take', fmt: 'currency' },
    { k: 'exitActiveBuyers', l: 'Active buyers (exit month)', fmt: 'num' },
    { k: 'exitActiveSuppliers', l: 'Active suppliers (exit month)', fmt: 'num' },
    { k: 'exitMRR', l: 'Exit-month MRR', fmt: 'currency' },
    { k: 'exitARR', l: 'Exit-month ARR (run rate)', fmt: 'currency' },
  ];
  return (
    <section className="lm-page">
      <div className="lm-section-num">Section 06</div>
      <h2 className="lm-h2">Sensitivity scenarios.</h2>
      <p className="lm-body" style={{maxWidth:680, marginBottom:8}}>Three scenarios derived from your base case . Pessimistic (70% growth, 80% activation, 85% match), base (your inputs), and optimistic (115% growth, 110% activation, 105% match). The point is not which one is right; it is whether the pessimistic case is still survivable.</p>

      <div className="lm-table-wrap">
        <table className="lm-table">
          <thead>
            <tr>
              <th>Outcome</th>
              <th>Pessimistic</th>
              <th>Base</th>
              <th>Optimistic</th>
            </tr>
          </thead>
          <tbody>
            {rows.map(r => (
              <tr key={r.k}>
                <td>{r.l}</td>
                <td>{r.fmt === 'currency' ? fmtCurrency(scenarios.pessimistic[r.k]) : fmt(scenarios.pessimistic[r.k])}</td>
                <td>{r.fmt === 'currency' ? fmtCurrency(scenarios.base[r.k]) : fmt(scenarios.base[r.k])}</td>
                <td>{r.fmt === 'currency' ? fmtCurrency(scenarios.optimistic[r.k]) : fmt(scenarios.optimistic[r.k])}</td>
              </tr>
            ))}
          </tbody>
        </table>
      </div>

      <div className="lm-callout">
        <div className="lm-callout-head">How investors read this</div>
        <p>Sophisticated marketplace investors look at the <strong>pessimistic case first</strong>. They want to know what survives if everything takes 30% longer than you projected. If your pessimistic case still gets you to product-market fit on a reasonable runway, you have a fundable model. If it does not, your base case is too aggressive . Go back and rebuild it.</p>
      </div>
    </section>
  );
}

Object.assign(window, { TractionScenarios });
