const cfg = { page: "caso-saas.html", name: "SaaS",
  heroPre: "MRR,", heroEm: "cohortes", heroPost: ", burn y runway — sin", heroHl: "Excel",
  lede: "MRR movement, retention por cohorte, NRR, payback, burn y runway. Dashboards listos para inversores, alertas de churn y forecast con 3 escenarios.",
  kpis: [{l:"MRR",v:"€184,200",s:"+12.4%"},{l:"Churn",v:"2.1%",s:"-0.3pts"},{l:"LTV/CAC",v:"4.2x",s:"+0.3"},{l:"Runway",v:"18m",s:"estable"}],
  dashTitle: "SaaS metrics", dashKpis: [{l:"ARR",v:"€2.21M",d:"+24% YoY"},{l:"NRR",v:"112%",d:"+3pts"},{l:"Payback",v:"3.1m",d:"-0.4m"}],
  capabilities: [
    { tag: "01 · Métricas", title: "MRR movement y SaaS metrics", body: "MRR desglosado: new, expansion, contraction, churn. ARR, NRR, GRR, LTV, CAC, payback — todo al día.", bullets: ["MRR movement","ARR / NRR / GRR","LTV, CAC, payback","Rule of 40"] },
    { tag: "02 · Cohortes", title: "Retención por cohorte y canal", body: "Retention M1/M3/M6/M12 por cohorte de adquisición. Entiende qué canal retiene mejor, qué plan se expande.", bullets: ["Retention por cohorte","Churn predictivo","Expansion por segmento","Análisis por canal/plan"], hi: true },
    { tag: "03 · Burn & Runway", title: "Burn real y runway creíble", body: "Burn neto y bruto con tus cuentas, no con Excel de hace 3 meses. Runway con 3 escenarios actualizado cada día.", bullets: ["Burn neto / bruto diario","Runway base/opt/cons","Cash conversion cycle","Dashboard board-ready"] },
    { tag: "04 · Forecast", title: "Forecast de ARR con escenarios", body: "Proyección de ARR con drivers: nuevo MRR, churn, expansion, pricing. Simula rondas, contrataciones o subidas de precio.", bullets: ["Forecast ARR 24 meses","Palancas (hiring, pricing, churn)","Escenarios what-if","Ready para fundraising"] },
    { tag: "05 · Reporting", title: "Board reports en un clic", body: "Informe mensual para el board: MRR movement, cohortes, burn, runway. Exportable a PDF y slides.", bullets: ["Board report mensual","PDF + slides + Notion","Compartible con VCs","Histórico versionado"] },
    { tag: "06 · Alertas", title: "Alertas de churn y SaaS health", body: "Churn anormal, caída de expansion, pico de downgrades, NRR < 100%. Y alertas de clientes en riesgo.", bullets: ["Churn > umbral","Clientes en riesgo","Expansion bajando","NRR < 100%"] }
  ],
  flow: [
    { title: "Conectas Stripe y CRM", desc: "Stripe, HubSpot, Salesforce, Chargebee, tu banco — setup en 30 min." },
    { title: "Calculamos métricas", desc: "MRR movement, cohortes, burn, runway — todo automático." },
    { title: "Dashboards y alertas", desc: "Panel ejecutivo, board report y alertas en Slack." },
    { title: "Crece con datos", desc: "Pitchea a VCs, decide hiring, ajusta pricing — con datos de verdad." }
  ],
  tools: ["Stripe","HubSpot","Salesforce","Slack","Holded","Xero"],
  report: [
    { l: "Net new MRR", v: "€18,420", d: "+12%", pos: true },
    { l: "Churn", v: "2.1%", d: "-0.3pts", pos: true },
    { l: "NRR", v: "112%", d: "+3pts", pos: true },
    { l: "Burn neto", v: "€68,900", d: "estable", pos: true },
    { l: "Runway", v: "18 meses", d: "+0.4m", pos: true },
    { l: "Clientes riesgo", v: "6", d: "actuar", neg: true }
  ],
  alerts: [
    { k: "warn", t: "Churn plan Starter 4.1%", s: "Subida de 2pts vs. media histórica" },
    { k: "neg", t: "6 clientes en riesgo", s: "NPS bajo + uso decreciente últimos 30d" },
    { k: "pos", t: "Expansion Enterprise +22%", s: "3 upsells en la última semana" },
    { k: "warn", t: "Payback Meta > 4m", s: "Canal empeorando payback 2 meses seguidos" }
  ],
  ctaTitle: "SaaS que cierra su ronda con datos, no con promesas.", seed: 2 };

const cfgEn = { page: "caso-saas.html", name: "SaaS",
  heroPre: "MRR,", heroEm: "cohorts", heroPost: ", burn and runway — without", heroHl: "Excel",
  lede: "MRR movement, cohort retention, NRR, payback, burn and runway. Investor-ready dashboards, churn alerts and forecasts with 3 scenarios.",
  kpis: [{l:"MRR",v:"€184,200",s:"+12.4%"},{l:"Churn",v:"2.1%",s:"-0.3pts"},{l:"LTV/CAC",v:"4.2x",s:"+0.3"},{l:"Runway",v:"18m",s:"steady"}],
  dashTitle: "SaaS metrics", dashKpis: [{l:"ARR",v:"€2.21M",d:"+24% YoY"},{l:"NRR",v:"112%",d:"+3pts"},{l:"Payback",v:"3.1m",d:"-0.4m"}],
  capabilities: [
    { tag: "01 · Metrics", title: "MRR movement and SaaS metrics", body: "MRR broken down: new, expansion, contraction, churn. ARR, NRR, GRR, LTV, CAC, payback — all live.", bullets: ["MRR movement","ARR / NRR / GRR","LTV, CAC, payback","Rule of 40"] },
    { tag: "02 · Cohorts", title: "Retention by cohort and channel", body: "M1/M3/M6/M12 retention per acquisition cohort. Understand which channel retains best and which plan expands.", bullets: ["Cohort retention","Predictive churn","Expansion by segment","Analysis by channel/plan"], hi: true },
    { tag: "03 · Burn & Runway", title: "Real burn, credible runway", body: "Net and gross burn from your live accounts, not a 3-month-old spreadsheet. Runway with 3 scenarios refreshed daily.", bullets: ["Daily net / gross burn","Runway base/opt/cons","Cash conversion cycle","Board-ready dashboard"] },
    { tag: "04 · Forecast", title: "ARR forecast with scenarios", body: "ARR projection with drivers: new MRR, churn, expansion, pricing. Simulate rounds, hires or price changes.", bullets: ["24-month ARR forecast","Levers (hiring, pricing, churn)","What-if scenarios","Fundraising-ready"] },
    { tag: "05 · Reporting", title: "Board reports in one click", body: "Monthly board report: MRR movement, cohorts, burn, runway. Exportable to PDF and slides.", bullets: ["Monthly board report","PDF + slides + Notion","Shareable with VCs","Versioned history"] },
    { tag: "06 · Alerts", title: "Churn and SaaS-health alerts", body: "Anomalous churn, expansion drop, downgrade spike, NRR < 100%. Plus at-risk customer alerts.", bullets: ["Churn > threshold","Customers at risk","Expansion declining","NRR < 100%"] }
  ],
  flow: [
    { title: "Connect Stripe and CRM", desc: "Stripe, HubSpot, Salesforce, Chargebee, your bank — set up in 30 min." },
    { title: "We calculate the metrics", desc: "MRR movement, cohorts, burn, runway — all automatic." },
    { title: "Dashboards and alerts", desc: "Executive panel, board report and Slack alerts." },
    { title: "Grow on data", desc: "Pitch VCs, decide hiring, tune pricing — with real numbers." }
  ],
  tools: ["Stripe","HubSpot","Salesforce","Slack","Holded","Xero"],
  report: [
    { l: "Net new MRR", v: "€18,420", d: "+12%", pos: true },
    { l: "Churn", v: "2.1%", d: "-0.3pts", pos: true },
    { l: "NRR", v: "112%", d: "+3pts", pos: true },
    { l: "Net burn", v: "€68,900", d: "steady", pos: true },
    { l: "Runway", v: "18 months", d: "+0.4m", pos: true },
    { l: "At-risk customers", v: "6", d: "act", neg: true }
  ],
  alerts: [
    { k: "warn", t: "Starter plan churn 4.1%", s: "Up 2pts vs. historical average" },
    { k: "neg", t: "6 customers at risk", s: "Low NPS + declining usage in the last 30d" },
    { k: "pos", t: "Enterprise expansion +22%", s: "3 upsells in the last week" },
    { k: "warn", t: "Meta payback > 4m", s: "Channel payback worsening 2 months in a row" }
  ],
  ctaTitle: "SaaS that closes its round with data, not promises.", seed: 2 };

ReactDOM.createRoot(document.getElementById("root")).render(<UseCasePage cfg={cfg} cfgEn={cfgEn} />);
