# XWUICRMReportsPanel

A pipeline report over the same deal list `XWUIDealPipelineBoard` and
`XWUIDealWorkbench` already take, so a host feeds all three from one array.
Two regions:

- A **KPI ribbon** - Open Deals, Pipeline Value, Won, Lost - rendered by a
  nested `power/XWUIDashboard` in KPI-only mode (`kpiColumns: 4`,
  `hideWidgets: true`), the same primitive `XWUISuperCRM` already uses for its
  `crm-dashboard` leaf. "Open" means any stage in the configured funnel order,
  so narrowing `config.stages` narrows the count and the value together.
- A **stage funnel** - one row per stage with its deal count, its summed
  `amount`, and a bar sized against the busiest stage in the set (never
  against a fixed scale, so a small pipeline still reads).

`config.stages` sets the funnel order and defaults to the five open stages
(`lead`, `qualified`, `discovery`, `proposal`, `negotiation`); `won` and `lost`
are deliberately excluded from the funnel and surfaced as KPI counts instead.
`config.stageLabels` overrides any stage's English label, and
`config.currency` / `config.locale` drive the `Intl.NumberFormat` currency
formatting used for both the pipeline value and every funnel row (whole units,
no minor digits - a pipeline figure does not need cents).

The funnel is plain markup on purpose. `XWUIPipelineStages` exists but models
ONE deal's journey through a `currentIndex`, not an aggregate count per stage
across many deals; reusing it here would force a primitive into a role its own
contract does not describe.

## Basic Usage

A deal list spread across all five open stages plus a few won and lost ones,
with amounts, so every KPI and every funnel row has a non-zero value.

```api
```
