# BusinessReports

> Four ready made business reports, profitability by project, an employee KPI dashboard, a CRM pipeline with a chart and table toggle and support inbox statistics. Each is a section you drop into a page.

Source: https://docs.nasaqui.com/components/business-reports

## Install

```bash
npx shadcn@latest add https://docs.nasaqui.com/r/business-reports.json
```

Four report sections built from the same parts (`StatCard`, `SegmentBar`, `ProgressRing`, `FunnelSteps`, `TimeSeriesPanel`, `DataTable`). They take plain data and formatting options, and know nothing about where the data came from.

- `ProfitabilityReport`: revenue, cost, profit and margin, by project, client or service.
- `EmployeeKpiDashboard`: a card per person with attainment against a target.
- `PipelineReport`: the CRM pipeline stage by stage, as a funnel or a table.
- `SupportStatsReport`: response and resolution times, satisfaction, SLA, volume and agents.

## When to use

- A report page in a back office, next to a [`ReportFilterBar`](https://docs.nasaqui.com/components/report-filter-bar).
- You have the numbers already and want the layout, the tones and the wording.

## When not to use

- A live operations dashboard: use [`MetricTiles`](https://docs.nasaqui.com/components/metric-tiles) and [`DashboardBoard`](https://docs.nasaqui.com/components/dashboard-board).
- A single metric over time: use [`TimeSeriesPanel`](https://docs.nasaqui.com/components/time-series-panel).

## Import

```tsx
import { ProfitabilityReport, EmployeeKpiDashboard, PipelineReport, SupportStatsReport } from "@fadymondy/nasaq/web";
```

## Quick start

```tsx
import { ProfitabilityReport } from "@fadymondy/nasaq/web";

const money = { style: "currency", currency: "SAR", maximumFractionDigits: 0 } as const;

export function Profit() {
  return (
    <ProfitabilityReport
      format={money}
      rows={[
        { id: "p1", name: "Website rebuild", revenue: 120000, cost: 78000, hours: 410 },
        { id: "p2", name: "Mobile app", revenue: 90000, cost: 96000, hours: 520 },
      ]}
    />
  );
}
```

## Anatomy

```
ProfitabilityReport      data-slot="profitability-report": StatGrid, cost against profit bar, DataTable
EmployeeKpiDashboard     data-slot="employee-kpi-dashboard": StatGrid, a Card per person with ProgressRing
PipelineReport           data-slot="pipeline-report": StatGrid, Chart / Table toggle, FunnelSteps or DataTable
SupportStatsReport       data-slot="support-stats-report": StatGrid, TimeSeriesPanel, SegmentBar, agents DataTable
```

## API

### ProfitabilityReport

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `rows` | `{ id, name, revenue, cost, hours?, marginTrend? }[]` | required | One per project, client or service. |
| `format` | `FormatNumberOptions` | required | Currency options for money. |
| `subjectLabel` | `string` | "Project" | Heading of the name column. |
| `thinBelow` | `number` | `0.15` | Margins below this read "Thin". Below zero reads "Loss". |
| `rowActions` | `(row) => DataTableRowAction[]` | none | Row menu: the ⋯ button, context-click, long press, Shift+F10. |
| `loading` `error` `onRetry` | | | States. |
| `labels` | `Partial<BusinessReportsLabels>` | en / ar | Text overrides. |

### EmployeeKpiDashboard

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `employees` | `{ id, name, role?, avatarSrc?, target, actual, metrics?, trend?, delta? }[]` | required | `metrics` are extra figures on the card. |
| `format` | `FormatNumberOptions` | plain number | For target and actual. |
| `measure` | `string` | none | What the target measures, shown in the summary. |
| `onTrackAt` | `number` | `0.8` | Share of the target that counts as On track. |
| `actions` | `(employee) => ContextMenuAction[]` | none | Card menu: the ⋯ button, context-click, long press, Shift+F10. |

### PipelineReport

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `stages` | `{ id, label, count, value, won? }[]` | required | In order, each with the deals that reached it (so counts fall down the list); "Pipeline value" is the first stage. The stage marked `won` (default the last) gives the win rate. |
| `format` | `FormatNumberOptions` | required | Currency options. |
| `view` `defaultView` `onViewChange` | `"chart" \| "table"` | `"chart"` | The toggle. |
| `stageActions` | `(stage) => DataTableRowAction[]` | none | Menu of a stage in the table view. |

### SupportStatsReport

| Prop | Type | Description |
| --- | --- | --- |
| `summary` | `{ open, firstResponseMinutes, resolutionMinutes, csat, slaRate, deltas? }` | Times in minutes, rates as fractions. Short times show as minutes, long ones as hours. |
| `volume` `previousVolume` | `TimeSeriesPoint[]` | Rows with `date`, `created` and `resolved`. |
| `byStatus` | `SegmentBarSegment[]` | The status mix. |
| `agents` | `{ id, name, assigned, resolved, firstResponseMinutes, csat, trend? }[]` | The agents table. |
| `agentActions` | `(agent) => DataTableRowAction[]` | Row menu. |

### Helpers

`profitMargin`, `profitTotals`, `marginBand`, `attainment`, `kpiStatus`, `pipelineRows`, `winRate`, `median`, `slaRate`. All pure.

## Examples

A pipeline that opens as a table:

```tsx
import { PipelineReport } from "@fadymondy/nasaq/web";

export const Pipeline = () => (
  <PipelineReport
    defaultView="table"
    format={{ style: "currency", currency: "SAR", notation: "compact" }}
    stages={[
      { id: "lead", label: "Leads", count: 240, value: 960000 },
      { id: "proposal", label: "Proposal", count: 80, value: 640000 },
      { id: "won", label: "Won", count: 24, value: 210000, won: true },
    ]}
  />
);
```

Employee cards with a menu:

```tsx
import { EmployeeKpiDashboard } from "@fadymondy/nasaq/web";

export const Team = () => (
  <EmployeeKpiDashboard
    measure="Billable hours"
    employees={[{ id: "e1", name: "Sara", role: "Designer", target: 140, actual: 152 }]}
    actions={(e) => [{ id: "open", label: `Open ${e.name}`, onSelect: () => {} }]}
  />
);
```

## Accessibility

Each report is a `section`; figures live in tables with headers, or in cards with a heading. Status is always text as well as colour: Loss, Thin, Healthy and Ahead, On track, Behind carry an icon and a word. Rings and small charts have text names, and the funnel writes the conversion between steps. The chart and table toggle is a labelled toggle group. Menus open from the ⋯ button, context-click, long press, Shift+F10 and the Menu key.

## RTL & i18n

Layout follows the reading direction and the charts mirror. English and Arabic text ship built in; override with `labels`. Names and category labels come from you, localised. Numbers, currency, percentages and durations use Western digits and are bidi isolated.

## Styling & tokens

Uses the Card, Badge, StatCard and chart tokens (`--nq-success`, `--nq-warning`, `--nq-info`). Target `[data-slot="profitability-report"]` and the other slots; extend with `className`.

## Do / Don't

- Do pass money as `format` with the currency, so every figure agrees.
- Do give people and projects localised names.
- Do offer `actions` for the things a reader does next (open the project, message the person).
- Don't put the ring's meaning in colour only; keep the status word.
- Don't feed times in seconds; the support report expects minutes.

## Related

- [`ReportFilterBar`](https://docs.nasaqui.com/components/report-filter-bar)
- [`ChartExtras`](https://docs.nasaqui.com/components/chart-extras)
- [`DataTable`](https://docs.nasaqui.com/components/data-table)
- [`TimeSeriesPanel`](https://docs.nasaqui.com/components/time-series-panel)

## Lab

https://docs.nasaqui.com/?path=/docs/components-analytics-pages-profitability--docs

## Code

### React

```tsx
import { ProfitabilityReport } from "@fadymondy/nasaq/web";

const money = { style: "currency", currency: "SAR", maximumFractionDigits: 0 } as const;

export function Profit() {
  return (
    <ProfitabilityReport
      format={money}
      rows={[
        { id: "p1", name: "Website rebuild", revenue: 120000, cost: 78000, hours: 410 },
        { id: "p2", name: "Mobile app", revenue: 90000, cost: 96000, hours: 520 },
      ]}
    />
  );
}
```

### shadcn

```tsx
import { ProfitabilityReport } from "@/components/ui/business-reports";

const money = { style: "currency", currency: "SAR", maximumFractionDigits: 0 } as const;

export function Profit() {
  return (
    <ProfitabilityReport
      format={money}
      rows={[
        { id: "p1", name: "Website rebuild", revenue: 120000, cost: 78000, hours: 410 },
        { id: "p2", name: "Mobile app", revenue: 90000, cost: 96000, hours: 520 },
      ]}
    />
  );
}
```

### Vue

```vue
<script setup lang="ts">
import { NqEmployeeKpiDashboard, NqPipelineReport, NqProfitabilityReport, NqSupportStatsReport } from "@fadymondy/nasaq/vue";

const money = { style: "currency", currency: "SAR", maximumFractionDigits: 0 } as const;
const rows = [
  { id: "p1", name: "Website rebuild", revenue: 120000, cost: 78000, hours: 410 },
  { id: "p2", name: "Mobile app", revenue: 90000, cost: 96000, hours: 520 },
];
const stages = [
  { id: "lead", label: "Leads", count: 240, value: 960000 },
  { id: "proposal", label: "Proposal", count: 80, value: 640000 },
  { id: "won", label: "Won", count: 24, value: 210000, won: true },
];
const employees = [{ id: "e1", name: "Sara", role: "Designer", target: 140, actual: 152 }];
const actions = (e: { name: string }) => [{ id: "open", label: `Open ${e.name}`, onSelect: () => {} }];
const summary = { open: 42, firstResponseMinutes: 38, resolutionMinutes: 310, csat: 0.92, slaRate: 0.87 };
const volume = [
  { date: "2026-09-27", created: 31, resolved: 28 },
  { date: "2026-09-28", created: 27, resolved: 30 },
  { date: "2026-09-29", created: 35, resolved: 29 },
];
const byStatus = [
  { id: "open", label: "Open", value: 42 },
  { id: "pending", label: "Pending", value: 18 },
  { id: "solved", label: "Solved", value: 120 },
];
const agents = [
  { id: "a1", name: "Omar", assigned: 60, resolved: 52, firstResponseMinutes: 25, csat: 0.94 },
  { id: "a2", name: "Lina", assigned: 48, resolved: 40, firstResponseMinutes: 140, csat: 0.9 },
];
</script>

<template>
  <div class="flex flex-col gap-8">
    <NqProfitabilityReport :format="money" :rows="rows" />
    <NqPipelineReport default-view="table" :format="{ style: 'currency', currency: 'SAR', notation: 'compact' }" :stages="stages" />
    <NqEmployeeKpiDashboard measure="Billable hours" :employees="employees" :actions="actions" />
    <NqSupportStatsReport :summary="summary" :volume="volume" :by-status="byStatus" :agents="agents" />
  </div>
</template>
```

### Blade

```blade
@php
    $rows = [
        ['id' => 'p1', 'name' => 'Website rebuild', 'revenue' => 120000, 'cost' => 78000, 'hours' => 410, 'marginTrend' => [0.3, 0.33, 0.35]],
        ['id' => 'p2', 'name' => 'Mobile app', 'revenue' => 90000, 'cost' => 96000, 'hours' => 520, 'marginTrend' => [0.05, -0.02, -0.07]],
    ];
    $stages = [
        ['id' => 'lead', 'label' => 'Leads', 'count' => 240, 'value' => 960000],
        ['id' => 'proposal', 'label' => 'Proposal', 'count' => 80, 'value' => 640000],
        ['id' => 'won', 'label' => 'Won', 'count' => 24, 'value' => 210000, 'won' => true],
    ];
    $employees = [['id' => 'e1', 'name' => 'Sara', 'role' => 'Designer', 'target' => 140, 'actual' => 152, 'trend' => [120, 135, 152], 'delta' => 0.08]];
    $volume = [
        ['date' => '2026-09-27', 'created' => 31, 'resolved' => 28],
        ['date' => '2026-09-28', 'created' => 27, 'resolved' => 30],
        ['date' => '2026-09-29', 'created' => 35, 'resolved' => 29],
    ];
@endphp
<div class="flex flex-col gap-8">
    <x-nq::business-reports.profitability-report :format="['currency' => 'USD', 'maxFraction' => 0]" :rows="$rows"
        :row-actions="[['id' => 'open', 'label' => 'Open project', 'icon' => 'external-link']]" />
    <x-nq::business-reports.pipeline-report view="table" :format="['currency' => 'USD', 'compact' => true]" :stages="$stages"
        :stage-actions="[['id' => 'open', 'label' => 'Open stage', 'icon' => 'external-link']]" />
    <x-nq::business-reports.employee-kpi-dashboard measure="Billable hours" :employees="$employees"
        :actions="[['id' => 'open', 'label' => 'Open profile', 'icon' => 'user']]" />
    <x-nq::business-reports.support-stats-report
        :summary="['open' => 42, 'firstResponseMinutes' => 38, 'resolutionMinutes' => 310, 'csat' => 0.92, 'slaRate' => 0.87]"
        :volume="$volume"
        :by-status="[['id' => 'open', 'label' => 'Open', 'value' => 42], ['id' => 'pending', 'label' => 'Pending', 'value' => 18], ['id' => 'solved', 'label' => 'Solved', 'value' => 120]]"
        :agents="[['id' => 'a1', 'name' => 'Omar', 'assigned' => 60, 'resolved' => 52, 'firstResponseMinutes' => 25, 'csat' => 0.94, 'trend' => [8, 11, 14]], ['id' => 'a2', 'name' => 'Lina', 'assigned' => 48, 'resolved' => 40, 'firstResponseMinutes' => 140, 'csat' => 0.9]]" />
</div>
```

### HTML + Alpine

```html
<div class="flex flex-col gap-8">
    <section data-slot="profitability-report" class="flex flex-col gap-4">
    <div data-slot="stat-grid" class="grid grid-cols-[repeat(auto-fit,minmax(min(100%,14rem),1fr))] gap-3"><div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Revenue</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">$210,000</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Cost</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">$174,000</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Profit</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">$36,000</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Margin</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">17.1%</bdi>
                                    </div>
                            </div>
                    </div>
    </div></div>
            <div data-slot="profitability-breakdown" class="flex min-w-0 flex-col gap-3">
            <div data-slot="segment-bar" class="flex min-w-0 flex-col gap-3">
    <div role="img" aria-label="Where the revenue goes" class="flex w-full gap-0.5 overflow-hidden rounded-full bg-nq-surface-soft h-4">
                                    <span data-slot="segment-bar-segment" title="Cost: 174,000 (82.9%)" style="flex-grow: 174000; flex-basis: 0; background-color: var(--nq-warning);" class="flex min-w-1 items-center justify-center overflow-hidden text-caption text-primary-foreground first:rounded-s-full last:rounded-e-full">
                    <span class="px-1 tabular-nums [text-shadow:0_0_2px_rgb(0_0_0/0.35)]">83%</span>                </span>
                                                <span data-slot="segment-bar-segment" title="Profit: 36,000 (17.1%)" style="flex-grow: 36000; flex-basis: 0; background-color: var(--nq-success); background-image: repeating-linear-gradient(135deg, color-mix(in oklab, var(--card) 55%, transparent) 0 2px, transparent 2px 7px);" class="flex min-w-1 items-center justify-center overflow-hidden text-caption text-primary-foreground first:rounded-s-full last:rounded-e-full">
                    <span class="px-1 tabular-nums [text-shadow:0_0_2px_rgb(0_0_0/0.35)]">17%</span>                </span>
                                </div>
    </div>
            <ul data-slot="segment-bar-legend" class="grid gap-x-6 gap-y-1.5 text-body-sm [grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))]">
                                    <li class="flex min-w-0 items-center gap-2">
                        <span aria-hidden="true" class="size-2.5 shrink-0 rounded-[2px]" style="background-color: var(--nq-warning)"></span>
                        <span class="min-w-0 flex-1 truncate text-muted-foreground">Cost</span>
                        <span class="tabular-nums text-foreground"><bdi dir="ltr">$174,000</bdi></span>
                        <span class="w-12 text-end tabular-nums text-muted-foreground"><bdi dir="ltr">83%</bdi></span>
                    </li>
                                    <li class="flex min-w-0 items-center gap-2">
                        <span aria-hidden="true" class="size-2.5 shrink-0 rounded-[2px]" style="background-color: var(--nq-success)"></span>
                        <span class="min-w-0 flex-1 truncate text-muted-foreground">Profit</span>
                        <span class="tabular-nums text-foreground"><bdi dir="ltr">$36,000</bdi></span>
                        <span class="w-12 text-end tabular-nums text-muted-foreground"><bdi dir="ltr">17%</bdi></span>
                    </li>
                            </ul>
        </div>
        <div data-slot="data-table" x-data="nqDataTable(JSON.parse('[{\u0022id\u0022:\u0022p1\u0022,\u0022name\u0022:\u0022Website rebuild\u0022,\u0022revenue\u0022:120000,\u0022cost\u0022:78000,\u0022profit\u0022:42000,\u0022revenueText\u0022:\u0022$120,000\u0022,\u0022costText\u0022:\u0022$78,000\u0022,\u0022profitText\u0022:\u0022+$42,000\u0022,\u0022hours\u0022:410,\u0022hoursText\u0022:\u0022410\u0022,\u0022marginText\u0022:\u002235%\u0022,\u0022marginSort\u0022:0.35,\u0022band\u0022:\u0022healthy\u0022},{\u0022id\u0022:\u0022p2\u0022,\u0022name\u0022:\u0022Mobile app\u0022,\u0022revenue\u0022:90000,\u0022cost\u0022:96000,\u0022profit\u0022:-6000,\u0022revenueText\u0022:\u0022$90,000\u0022,\u0022costText\u0022:\u0022$96,000\u0022,\u0022profitText\u0022:\u0022-$6,000\u0022,\u0022hours\u0022:520,\u0022hoursText\u0022:\u0022520\u0022,\u0022marginText\u0022:\u0022-6.7%\u0022,\u0022marginSort\u0022:-0.06666666666666667,\u0022band\u0022:\u0022loss\u0022}]'), JSON.parse('[{\u0022id\u0022:\u0022name\u0022,\u0022header\u0022:\u0022Project\u0022,\u0022key\u0022:\u0022name\u0022,\u0022sortable\u0022:true,\u0022searchable\u0022:true,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022revenue\u0022,\u0022header\u0022:\u0022Revenue\u0022,\u0022key\u0022:\u0022revenueText\u0022,\u0022sortKey\u0022:\u0022revenue\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022cost\u0022,\u0022header\u0022:\u0022Cost\u0022,\u0022key\u0022:\u0022costText\u0022,\u0022sortKey\u0022:\u0022cost\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022profit\u0022,\u0022header\u0022:\u0022Profit\u0022,\u0022key\u0022:\u0022profitText\u0022,\u0022sortKey\u0022:\u0022profit\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022hours\u0022,\u0022header\u0022:\u0022Hours\u0022,\u0022key\u0022:\u0022hoursText\u0022,\u0022sortKey\u0022:\u0022hours\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022margin\u0022,\u0022header\u0022:\u0022Margin\u0022,\u0022key\u0022:\u0022marginText\u0022,\u0022sortKey\u0022:\u0022marginSort\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022trend\u0022,\u0022header\u0022:\u0022Trend\u0022,\u0022key\u0022:\u0022id\u0022,\u0022type\u0022:\u0022text\u0022}]'), JSON.parse('{\u0022nameKey\u0022:\u0022name\u0022,\u0022pageSize\u0022:8,\u0022locale\u0022:\u0022en\u0022,\u0022actions\u0022:[{\u0022id\u0022:\u0022open\u0022}],\u0022labels\u0022:{\u0022selectRow\u0022:\u0022Select {name}\u0022,\u0022rowActions\u0022:\u0022Actions for {name}\u0022,\u0022selected\u0022:\u0022{n} selected\u0022,\u0022range\u0022:\u0022{from}\\u2013{to} of {total}\u0022,\u0022editCell\u0022:\u0022{column}, {row}\u0022,\u0022invalidNumber\u0022:\u0022Enter a number\u0022,\u0022invalidDate\u0022:\u0022Enter a date\u0022,\u0022saving\u0022:\u0022Saving\\u2026\u0022,\u0022saved\u0022:\u0022Saved\u0022,\u0022saveFailed\u0022:\u0022Couldn\\u0027t save the change\u0022,\u0022saveFailedFor\u0022:\u0022Couldn\\u0027t save: {message}\u0022,\u0022expandRow\u0022:\u0022Show details for {name}\u0022,\u0022details\u0022:\u0022Details for {name}\u0022,\u0022ascending\u0022:\u0022ascending\u0022,\u0022descending\u0022:\u0022descending\u0022,\u0022rangeAtLeast\u0022:\u0022\\u2265 {v}\u0022,\u0022rangeAtMost\u0022:\u0022\\u2264 {v}\u0022,\u0022sortPriority\u0022:\u0022sort {n}, {dir}\u0022}}'))" x-modelable="rows"
    class="flex min-w-0 flex-col gap-3">
    <div data-slot="table-container" role="region" tabindex="0" aria-label="Project"                 class="relative w-full overflow-x-auto outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus">
        <div data-slot="table" role="table" aria-label="Project"  x-bind:style="'grid-template-columns: repeat(' + (shownCount() + 1) + ', auto)'"  x-bind:data-density="density"               class="grid w-full min-w-max text-body-sm">
            <div data-slot="table-header" role="rowgroup" class="contents">
                <div role="row" data-slot="table-row" class="col-span-full grid grid-cols-subgrid border-b border-border">
                                                                                                            <div role="columnheader" data-slot="table-head" data-col="name" x-show="shown['name']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('name')"                             class="flex items-center h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('name', $event.shiftKey)"
                                    x-bind:class="sortOf('name') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus ">
                                    <span >Project</span>
                                    <svg aria-hidden="true" x-show="! sortOf('name')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('name') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('name') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="revenue" x-show="shown['revenue']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('revenue')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('revenue', $event.shiftKey)"
                                    x-bind:class="sortOf('revenue') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Revenue</span>
                                    <svg aria-hidden="true" x-show="! sortOf('revenue')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('revenue') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('revenue') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="cost" x-show="shown['cost']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('cost')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('cost', $event.shiftKey)"
                                    x-bind:class="sortOf('cost') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Cost</span>
                                    <svg aria-hidden="true" x-show="! sortOf('cost')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('cost') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('cost') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="profit" x-show="shown['profit']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('profit')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('profit', $event.shiftKey)"
                                    x-bind:class="sortOf('profit') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Profit</span>
                                    <svg aria-hidden="true" x-show="! sortOf('profit')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('profit') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('profit') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="hours" x-show="shown['hours']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('hours')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('hours', $event.shiftKey)"
                                    x-bind:class="sortOf('hours') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Hours</span>
                                    <svg aria-hidden="true" x-show="! sortOf('hours')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('hours') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('hours') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="margin" x-show="shown['margin']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('margin')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('margin', $event.shiftKey)"
                                    x-bind:class="sortOf('margin') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Margin</span>
                                    <svg aria-hidden="true" x-show="! sortOf('margin')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('margin') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('margin') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="trend" x-show="shown['trend']"  x-bind:class="pad"                             class="flex items-center h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            Trend
                                                                                </div>
                                                                <div role="columnheader" data-slot="table-head"  x-bind:class="pad" class="flex items-center h-row w-12 text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground"><span class="sr-only">Actions</span></div>
                                    </div>
            </div>
                            <div role="rowgroup" class="contents" data-slot="table-body" x-show="rowCount === 0" style="display: none">
                    <div role="row" data-slot="table-row" class="col-span-full grid grid-cols-subgrid border-0">
                        <div role="cell" data-slot="table-cell" class="col-span-full h-auto p-0 whitespace-normal">
                            <div x-show="isFiltered" style="display: none">
                                <div data-slot="empty-state" class="flex flex-col items-center justify-center gap-3 border-dashed border-border px-6 py-12 text-center rounded-card border-0">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m21 21-4.34-4.34"/>
  <circle cx="11" cy="11" r="8"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">No matching results</p>
                    <p class="text-body-sm text-muted-foreground">Try a different search or clear the filters.</p>
            </div>
    <button type="button" x-on:click="resetFilters()" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-border bg-card text-foreground font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 h-control-sm px-2.5">Clear filters</button>
    </div>
                            </div>
                            <div x-show="! isFiltered" style="display: none">
                                <div data-slot="empty-state" class="flex flex-col items-center justify-center gap-3 border-dashed border-border px-6 py-12 text-center rounded-card border-0">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <polyline points="22 12 16 12 14 15 10 15 8 12 2 12"/>
  <path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">Nothing to report for this period.</p>
            </div>
    </div>
                            </div>
                        </div>
                    </div>
                </div>
                <template x-for="(row, index) in pageRows" x-bind:key="rid(row)">
                    <div role="rowgroup" class="contents" data-slot="table-body">
                        <div role="row" data-slot="table-row" data-row tabindex="-1" x-bind:tabindex="index === Math.min(active, pageRows.length - 1) ? 0 : -1"
                            x-bind:data-state="isSelected(row) ? 'selected' : null" x-bind:aria-selected="isSelected(row) ? 'true' : null"
                            x-bind:aria-expanded="canExpand(row) ? String(isOpen(row)) : null" x-on:focus="if ($event.target === $event.currentTarget) active = index"
                            x-on:keydown="rowKey($event, row, index, false)"
                             x-on:contextmenu="rowContext(row, $event)" x-on:touchstart.passive="rowTouch(row, $event)" x-on:touchmove.passive="rowTouchEnd()" x-on:touchend="rowTouchEnd()" x-on:touchcancel="rowTouchEnd()"                                                         x-bind:class="(isOpen(row) ? 'border-b-0 ' : '') + (ctxOpen && ctxRow === row ? 'bg-nq-hover' : '')"
                            class="col-span-full grid grid-cols-subgrid group/row border-b border-border outline-none transition-colors duration-150 ease-nq focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus data-[state=selected]:bg-nq-selected hover:bg-nq-hover ">
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="name" x-show="shown['name']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap  ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 " >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;name&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="revenue" x-show="shown['revenue']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;revenue&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="cost" x-show="shown['cost']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;cost&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="profit" x-show="shown['profit']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;profit&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="hours" x-show="shown['hours']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;hours&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="margin" x-show="shown['margin']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="inline-flex items-center justify-end gap-2">
                <bdi data-slot="num" data-numeric class="tabular-nums" x-text="row.marginText"></bdi>
                                    <span data-slot="badge"  style="display: none"     x-show="row.band === `loss`" class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-danger/40 bg-nq-danger-soft text-nq-danger-text"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 7 10 10"/>
  <path d="M17 7v10H7"/>
</svg>                        Loss</span>
                                    <span data-slot="badge"  style="display: none"     x-show="row.band === `thin`" class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-warning/40 bg-nq-warning-soft text-nq-warning-text"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/>
  <path d="M12 9v4"/>
  <path d="M12 17h.01"/>
</svg>                        Thin</span>
                                    <span data-slot="badge"  style="display: none"     x-show="row.band === `healthy`" class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-success/40 bg-nq-success-soft text-nq-success-text"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <circle cx="12" cy="12" r="10"/>
  <path d="m9 12 2 2 4-4"/>
</svg>                        Healthy</span>
                            </span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="trend" x-show="shown['trend']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap  ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 " >
                                                                                            <span x-show="row.id === `p1`" style="display: none">
                            <div data-slot="trend-cell" data-trend="flat" class="flex items-center justify-end gap-3">
    <div class="flex flex-col items-end leading-tight">
        <span class="text-body-sm tabular-nums text-foreground"></span>
            </div>
                        <div data-slot="sparkline"  role="img" aria-label="Margin: Website rebuild"  class="shrink-0 h-8 w-20">
    <svg viewBox="0 0 128 32" preserveAspectRatio="none" class="size-full overflow-visible rtl:-scale-x-100" aria-hidden="true" focusable="false">
        <defs>
            <linearGradient id="nq-spark-c3863020" x1="0" y1="0" x2="0" y2="1">
                <stop offset="0%" stop-color="var(--primary)" stop-opacity="0.3" />
                <stop offset="100%" stop-color="var(--primary)" stop-opacity="0" />
            </linearGradient>
        </defs>
        <path d="M2,6C22.67,5.2,43.33,4.27,64,3.6C84.67,2.93,105.33,2.53,126,2L126.00,30.00L2.00,30.00Z" fill="url(#nq-spark-c3863020)" stroke="none" />        <path d="M2,6C22.67,5.2,43.33,4.27,64,3.6C84.67,2.93,105.33,2.53,126,2" fill="none" stroke="var(--primary)" stroke-width="1.5" vector-effect="non-scaling-stroke" stroke-linejoin="round" stroke-linecap="round" />
    </svg>
</div>
            </div>
                        </span>
                                                                                <span x-show="row.id === `p2`" style="display: none">
                            <div data-slot="trend-cell" data-trend="flat" class="flex items-center justify-end gap-3">
    <div class="flex flex-col items-end leading-tight">
        <span class="text-body-sm tabular-nums text-foreground"></span>
            </div>
                        <div data-slot="sparkline"  role="img" aria-label="Margin: Mobile app"  class="shrink-0 h-8 w-20">
    <svg viewBox="0 0 128 32" preserveAspectRatio="none" class="size-full overflow-visible rtl:-scale-x-100" aria-hidden="true" focusable="false">
        <defs>
            <linearGradient id="nq-spark-49c9a714" x1="0" y1="0" x2="0" y2="1">
                <stop offset="0%" stop-color="var(--primary)" stop-opacity="0.3" />
                <stop offset="100%" stop-color="var(--primary)" stop-opacity="0" />
            </linearGradient>
        </defs>
        <path d="M2,2C22.67,7.44,43.33,13.67,64,18.33C84.67,23,105.33,26.11,126,30L126.00,13.67L2.00,13.67Z" fill="url(#nq-spark-49c9a714)" stroke="none" />        <path d="M2,2C22.67,7.44,43.33,13.67,64,18.33C84.67,23,105.33,26.11,126,30" fill="none" stroke="var(--primary)" stroke-width="1.5" vector-effect="non-scaling-stroke" stroke-linejoin="round" stroke-linecap="round" />
    </svg>
</div>
            </div>
                        </span>
                                                                                                                                </span>
                                                                    </div>
                                                            <div role="cell" data-slot="table-cell"  x-bind:class="pad" class="flex items-center h-row w-12 pe-2 text-end align-middle whitespace-nowrap">
                                    <div data-slot="dropdown-menu" x-data="nqDropdownMenu(false)" x-modelable="open" class="contents"><button data-slot="data-table-row-actions"
     type="button"                         x-bind="trigger" x-ref="trigger" x-bind:aria-label="say(&#039;rowActions&#039;, row)" x-show="hasActions(row)" x-bind:tabindex="index === Math.min(active, pageRows.length - 1) ? 0 : -1" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover size-control-sm p-0 text-muted-foreground opacity-0 group-hover/row:opacity-100 group-focus-within/row:opacity-100 group-data-[state=selected]/row:opacity-100 data-popup-open:opacity-100 pointer-coarse:opacity-100">
        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <circle cx="12" cy="12" r="1"/>
  <circle cx="19" cy="12" r="1"/>
  <circle cx="5" cy="12" r="1"/>
</svg></button>
                                        <template x-teleport="body">
    <div data-slot="dropdown-menu-content" x-bind="popup" x-init="popupEl = $el" x-nq-presence="open" x-anchor.bottom-end.offset.4="$refs.trigger"
        class="z-50 overflow-hidden rounded-floating border border-border bg-popover p-1.5 text-popover-foreground shadow-floating outline-none max-h-[var(--available-height)] overflow-y-auto transition-opacity duration-150 ease-nq data-starting-style:opacity-0 data-ending-style:opacity-0 min-w-44"><div data-slot="dropdown-menu-group" role="group" ><template x-if="actionOn(row, 0)">
                                                        <div role="none" class="contents">
                                                                                                                        <div data-slot="dropdown-menu-item" role="menuitem" data-variant="default" x-bind="item"
        x-on:click="act(&#039;open&#039;, row)" x-bind:data-disabled="actionOff(row, 0) ? &#039;&#039; : null" x-bind:aria-disabled="actionOff(row, 0) ? &#039;true&#039; : null" class="relative flex h-nav-row min-h-[var(--nq-touch-min,0px)] cursor-default select-none items-center gap-2.5 rounded-control px-2.5 text-body-sm text-foreground outline-none data-highlighted:bg-nq-selected data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M15 3h6v6"/>
  <path d="M10 14 21 3"/>
  <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
</svg>                                                                Open project</div>
                                                        </div>
                                                    </template></div></div>
</template></div>
                                </div>
                                                    </div>
                                            </div>
                </template>
                    </div>
    </div>
            <nav data-slot="data-table-pagination" aria-label="Pagination" x-show="paged" style="display: none" class="flex flex-wrap items-center justify-end gap-2">
                        <span class="text-caption tabular-nums text-muted-foreground" aria-live="polite" x-text="rangeText()"></span>
            <button type="button" aria-label="Previous page" x-bind:disabled="page === 0 ? '' : null" x-on:click="setPage(page - 1)"
                class="inline-flex size-control-sm shrink-0 items-center justify-center rounded-control text-foreground outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4"><svg aria-hidden="true" class="rtl:-scale-x-100" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m15 18-6-6 6-6"/>
</svg></button>
            <button type="button" aria-label="Next page" x-bind:disabled="page >= pageCount - 1 ? '' : null" x-on:click="setPage(page + 1)"
                class="inline-flex size-control-sm shrink-0 items-center justify-center rounded-control text-foreground outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4"><svg aria-hidden="true" class="rtl:-scale-x-100" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m9 18 6-6-6-6"/>
</svg></button>
        </nav>
                <div data-slot="data-table-context-menu" x-data="nqContextMenu()" x-effect="menuClosed(open)" class="contents">
            <template x-teleport="body">
    <div data-slot="context-menu-content" x-bind="popup" x-init="popupEl = $el" x-nq-presence="open"
        class="fixed z-50 overflow-hidden rounded-floating border border-border bg-popover p-1.5 text-popover-foreground shadow-floating outline-none max-h-[var(--available-height)] overflow-y-auto transition-opacity duration-150 ease-nq data-starting-style:opacity-0 data-ending-style:opacity-0 min-w-44"><template x-if="ctxRow && actionOn(ctxRow, 0)">
                        <div role="none" class="contents">
                                                        <div data-slot="context-menu-item" role="menuitem" data-variant="default" x-bind="item"
        x-on:click="act(&#039;open&#039;, ctxRow)" x-bind:data-disabled="actionOff(ctxRow, 0) ? &#039;&#039; : null" x-bind:aria-disabled="actionOff(ctxRow, 0) ? &#039;true&#039; : null" class="relative flex h-nav-row min-h-[var(--nq-touch-min,0px)] cursor-default select-none items-center gap-2.5 rounded-control px-2.5 text-body-sm text-foreground outline-none data-highlighted:bg-nq-selected data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M15 3h6v6"/>
  <path d="M10 14 21 3"/>
  <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
</svg>                                Open project</div>
                        </div>
                    </template></div>
</template>
        </div>
        <span role="status" aria-live="polite" class="sr-only" x-text="announce"></span>
</div>
</section>
    <section data-slot="pipeline-report" x-data="nqPipelineReport(`table`)" class="flex flex-col gap-4">
    <div data-slot="stat-grid" class="grid grid-cols-[repeat(auto-fit,minmax(min(100%,14rem),1fr))] gap-3"><div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Pipeline value</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">$960K</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Win rate</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">10%</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Won</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">$210K</bdi>
                                    </div>
                            </div>
                    </div>
    </div></div>
    <div class="flex items-center justify-end gap-2">
        <span id="pipeline-view-0001" class="text-caption text-muted-foreground">View</span>
        <div role="group" data-slot="toggle-group" data-variant="segmented" data-orientation="horizontal"
    x-data="nqToggleGroup(JSON.parse('[\u0022table\u0022]'), false)" x-modelable="value" x-bind="root"
            aria-labelledby="pipeline-view-0001" x-model="view" class="flex w-fit max-w-full gap-0.5 rounded-control bg-secondary p-0.5">
    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('chart')"             class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Chart</button>
            <button type="button" data-slot="toggle" aria-pressed="true"
     x-bind="toggle('table')"      data-pressed         class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Table</button>
</div>
    </div>
    <div data-view="chart" x-show="current === `chart`"  style="display: none" >
        <div data-slot="card" class="flex flex-col gap-4 rounded-card border border-border bg-card py-4 text-card-foreground w-full"><div data-slot="card-content" class="px-4 pt-4"><div data-slot="funnel-steps" role="group" aria-label="Deals" class="flex min-w-0 flex-col">
            <div data-slot="funnel-steps-step" class="flex flex-col">
                        <div class="flex items-baseline justify-between gap-3 text-body-sm">
                <span class="min-w-0 truncate text-foreground">
                    <span class="sr-only">Step 1 of 3. </span>
                    Leads
                                    </span>
                <span class="shrink-0 tabular-nums text-foreground">
                    <bdi data-slot="num" data-numeric="" class="tabular-nums">240</bdi>
                                    </span>
            </div>
            <div class="mt-1 flex h-7 justify-center" aria-hidden="true">
                <span class="h-full rounded-control" style="width: 100%; background-color: var(--primary); opacity: 1"></span>
            </div>
        </div>
            <div data-slot="funnel-steps-step" class="flex flex-col">
                            <div data-slot="funnel-steps-link" class="flex flex-wrap items-center justify-center gap-x-3 gap-y-1 py-1.5 text-caption text-muted-foreground">
                    <svg aria-hidden="true" class="size-3.5 shrink-0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M12 5v14"/>
  <path d="m19 12-7 7-7-7"/>
</svg>                    <span class="tabular-nums">33.3% continued</span>
                    <span aria-hidden="true">·</span>
                    <span class="tabular-nums">160 left</span>
                                    </div>
                        <div class="flex items-baseline justify-between gap-3 text-body-sm">
                <span class="min-w-0 truncate text-foreground">
                    <span class="sr-only">Step 2 of 3. </span>
                    Proposal
                                    </span>
                <span class="shrink-0 tabular-nums text-foreground">
                    <bdi data-slot="num" data-numeric="" class="tabular-nums">80</bdi>
                    <span class="ms-2 text-caption text-muted-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">33.3%</bdi>
</span>                </span>
            </div>
            <div class="mt-1 flex h-7 justify-center" aria-hidden="true">
                <span class="h-full rounded-control" style="width: 33.333%; background-color: var(--primary); opacity: 0.817"></span>
            </div>
        </div>
            <div data-slot="funnel-steps-step" class="flex flex-col">
                            <div data-slot="funnel-steps-link" class="flex flex-wrap items-center justify-center gap-x-3 gap-y-1 py-1.5 text-caption text-muted-foreground">
                    <svg aria-hidden="true" class="size-3.5 shrink-0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M12 5v14"/>
  <path d="m19 12-7 7-7-7"/>
</svg>                    <span class="tabular-nums">30% continued</span>
                    <span aria-hidden="true">·</span>
                    <span class="tabular-nums">56 left</span>
                                            <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-warning/40 bg-nq-warning-soft text-nq-warning-text"><svg aria-hidden="true" class="size-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/>
  <path d="M12 9v4"/>
  <path d="M12 17h.01"/>
</svg>Biggest drop</span>
                                    </div>
                        <div class="flex items-baseline justify-between gap-3 text-body-sm">
                <span class="min-w-0 truncate text-foreground">
                    <span class="sr-only">Step 3 of 3. </span>
                    Won
                                    </span>
                <span class="shrink-0 tabular-nums text-foreground">
                    <bdi data-slot="num" data-numeric="" class="tabular-nums">24</bdi>
                    <span class="ms-2 text-caption text-muted-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">10%</bdi>
</span>                </span>
            </div>
            <div class="mt-1 flex h-7 justify-center" aria-hidden="true">
                <span class="h-full rounded-control" style="width: 10%; background-color: var(--primary); opacity: 0.633"></span>
            </div>
        </div>
                <p data-slot="funnel-steps-summary" class="mt-3 flex items-center justify-between gap-3 border-t border-border pt-3 text-body-sm">
            <span class="text-muted-foreground">Overall conversion</span>
            <span class="text-label tabular-nums text-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">10%</bdi>
</span>
        </p>
    </div></div></div>
    </div>
    <div data-view="table" x-show="current === `table`" >
        <div data-slot="data-table" x-data="nqDataTable(JSON.parse('[{\u0022id\u0022:\u0022lead\u0022,\u0022stage\u0022:\u0022Leads\u0022,\u0022order\u0022:0,\u0022count\u0022:240,\u0022countText\u0022:\u0022240\u0022,\u0022value\u0022:960000,\u0022valueText\u0022:\u0022$960K\u0022,\u0022average\u0022:4000,\u0022averageText\u0022:\u0022$4K\u0022,\u0022prev\u0022:1,\u0022prevText\u0022:\u0022100%\u0022,\u0022first\u0022:1,\u0022firstText\u0022:\u0022100%\u0022},{\u0022id\u0022:\u0022proposal\u0022,\u0022stage\u0022:\u0022Proposal\u0022,\u0022order\u0022:1,\u0022count\u0022:80,\u0022countText\u0022:\u002280\u0022,\u0022value\u0022:640000,\u0022valueText\u0022:\u0022$640K\u0022,\u0022average\u0022:8000,\u0022averageText\u0022:\u0022$8K\u0022,\u0022prev\u0022:0.3333333333333333,\u0022prevText\u0022:\u002233%\u0022,\u0022first\u0022:0.3333333333333333,\u0022firstText\u0022:\u002233%\u0022},{\u0022id\u0022:\u0022won\u0022,\u0022stage\u0022:\u0022Won\u0022,\u0022order\u0022:2,\u0022count\u0022:24,\u0022countText\u0022:\u002224\u0022,\u0022value\u0022:210000,\u0022valueText\u0022:\u0022$210K\u0022,\u0022average\u0022:8750,\u0022averageText\u0022:\u0022$8.8K\u0022,\u0022prev\u0022:0.3,\u0022prevText\u0022:\u002230%\u0022,\u0022first\u0022:0.1,\u0022firstText\u0022:\u002210%\u0022}]'), JSON.parse('[{\u0022id\u0022:\u0022stage\u0022,\u0022header\u0022:\u0022Stage\u0022,\u0022key\u0022:\u0022stage\u0022,\u0022sortKey\u0022:\u0022order\u0022,\u0022sortable\u0022:true,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022count\u0022,\u0022header\u0022:\u0022Deals\u0022,\u0022key\u0022:\u0022countText\u0022,\u0022sortKey\u0022:\u0022count\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022value\u0022,\u0022header\u0022:\u0022Value\u0022,\u0022key\u0022:\u0022valueText\u0022,\u0022sortKey\u0022:\u0022value\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022average\u0022,\u0022header\u0022:\u0022Average deal\u0022,\u0022key\u0022:\u0022averageText\u0022,\u0022sortKey\u0022:\u0022average\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022prev\u0022,\u0022header\u0022:\u0022From previous\u0022,\u0022key\u0022:\u0022prevText\u0022,\u0022sortKey\u0022:\u0022prev\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022first\u0022,\u0022header\u0022:\u0022From first\u0022,\u0022key\u0022:\u0022firstText\u0022,\u0022sortKey\u0022:\u0022first\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022}]'), JSON.parse('{\u0022nameKey\u0022:\u0022stage\u0022,\u0022locale\u0022:\u0022en\u0022,\u0022actions\u0022:[{\u0022id\u0022:\u0022open\u0022}],\u0022labels\u0022:{\u0022selectRow\u0022:\u0022Select {name}\u0022,\u0022rowActions\u0022:\u0022Actions for {name}\u0022,\u0022selected\u0022:\u0022{n} selected\u0022,\u0022range\u0022:\u0022{from}\\u2013{to} of {total}\u0022,\u0022editCell\u0022:\u0022{column}, {row}\u0022,\u0022invalidNumber\u0022:\u0022Enter a number\u0022,\u0022invalidDate\u0022:\u0022Enter a date\u0022,\u0022saving\u0022:\u0022Saving\\u2026\u0022,\u0022saved\u0022:\u0022Saved\u0022,\u0022saveFailed\u0022:\u0022Couldn\\u0027t save the change\u0022,\u0022saveFailedFor\u0022:\u0022Couldn\\u0027t save: {message}\u0022,\u0022expandRow\u0022:\u0022Show details for {name}\u0022,\u0022details\u0022:\u0022Details for {name}\u0022,\u0022ascending\u0022:\u0022ascending\u0022,\u0022descending\u0022:\u0022descending\u0022,\u0022rangeAtLeast\u0022:\u0022\\u2265 {v}\u0022,\u0022rangeAtMost\u0022:\u0022\\u2264 {v}\u0022,\u0022sortPriority\u0022:\u0022sort {n}, {dir}\u0022}}'))" x-modelable="rows"
    class="flex min-w-0 flex-col gap-3">
    <div data-slot="table-container" role="region" tabindex="0" aria-label="Deals"                 class="relative w-full overflow-x-auto outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus">
        <div data-slot="table" role="table" aria-label="Deals"  x-bind:style="'grid-template-columns: repeat(' + (shownCount() + 1) + ', auto)'"  x-bind:data-density="density"               class="grid w-full min-w-max text-body-sm">
            <div data-slot="table-header" role="rowgroup" class="contents">
                <div role="row" data-slot="table-row" class="col-span-full grid grid-cols-subgrid border-b border-border">
                                                                                                            <div role="columnheader" data-slot="table-head" data-col="stage" x-show="shown['stage']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('stage')"                             class="flex items-center h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('stage', $event.shiftKey)"
                                    x-bind:class="sortOf('stage') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus ">
                                    <span >Stage</span>
                                    <svg aria-hidden="true" x-show="! sortOf('stage')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('stage') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('stage') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="count" x-show="shown['count']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('count')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('count', $event.shiftKey)"
                                    x-bind:class="sortOf('count') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Deals</span>
                                    <svg aria-hidden="true" x-show="! sortOf('count')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('count') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('count') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="value" x-show="shown['value']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('value')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('value', $event.shiftKey)"
                                    x-bind:class="sortOf('value') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Value</span>
                                    <svg aria-hidden="true" x-show="! sortOf('value')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('value') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('value') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="average" x-show="shown['average']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('average')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('average', $event.shiftKey)"
                                    x-bind:class="sortOf('average') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Average deal</span>
                                    <svg aria-hidden="true" x-show="! sortOf('average')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('average') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('average') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="prev" x-show="shown['prev']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('prev')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('prev', $event.shiftKey)"
                                    x-bind:class="sortOf('prev') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >From previous</span>
                                    <svg aria-hidden="true" x-show="! sortOf('prev')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('prev') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('prev') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="first" x-show="shown['first']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('first')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('first', $event.shiftKey)"
                                    x-bind:class="sortOf('first') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >From first</span>
                                    <svg aria-hidden="true" x-show="! sortOf('first')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('first') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('first') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                <div role="columnheader" data-slot="table-head"  x-bind:class="pad" class="flex items-center h-row w-12 text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground"><span class="sr-only">Actions</span></div>
                                    </div>
            </div>
                            <div role="rowgroup" class="contents" data-slot="table-body" x-show="rowCount === 0" style="display: none">
                    <div role="row" data-slot="table-row" class="col-span-full grid grid-cols-subgrid border-0">
                        <div role="cell" data-slot="table-cell" class="col-span-full h-auto p-0 whitespace-normal">
                            <div x-show="isFiltered" style="display: none">
                                <div data-slot="empty-state" class="flex flex-col items-center justify-center gap-3 border-dashed border-border px-6 py-12 text-center rounded-card border-0">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m21 21-4.34-4.34"/>
  <circle cx="11" cy="11" r="8"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">No matching results</p>
                    <p class="text-body-sm text-muted-foreground">Try a different search or clear the filters.</p>
            </div>
    <button type="button" x-on:click="resetFilters()" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-border bg-card text-foreground font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 h-control-sm px-2.5">Clear filters</button>
    </div>
                            </div>
                            <div x-show="! isFiltered" style="display: none">
                                <div data-slot="empty-state" class="flex flex-col items-center justify-center gap-3 border-dashed border-border px-6 py-12 text-center rounded-card border-0">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <polyline points="22 12 16 12 14 15 10 15 8 12 2 12"/>
  <path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">Nothing to report for this period.</p>
            </div>
    </div>
                            </div>
                        </div>
                    </div>
                </div>
                <template x-for="(row, index) in pageRows" x-bind:key="rid(row)">
                    <div role="rowgroup" class="contents" data-slot="table-body">
                        <div role="row" data-slot="table-row" data-row tabindex="-1" x-bind:tabindex="index === Math.min(active, pageRows.length - 1) ? 0 : -1"
                            x-bind:data-state="isSelected(row) ? 'selected' : null" x-bind:aria-selected="isSelected(row) ? 'true' : null"
                            x-bind:aria-expanded="canExpand(row) ? String(isOpen(row)) : null" x-on:focus="if ($event.target === $event.currentTarget) active = index"
                            x-on:keydown="rowKey($event, row, index, false)"
                             x-on:contextmenu="rowContext(row, $event)" x-on:touchstart.passive="rowTouch(row, $event)" x-on:touchmove.passive="rowTouchEnd()" x-on:touchend="rowTouchEnd()" x-on:touchcancel="rowTouchEnd()"                                                         x-bind:class="(isOpen(row) ? 'border-b-0 ' : '') + (ctxOpen && ctxRow === row ? 'bg-nq-hover' : '')"
                            class="col-span-full grid grid-cols-subgrid group/row border-b border-border outline-none transition-colors duration-150 ease-nq focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus data-[state=selected]:bg-nq-selected hover:bg-nq-hover ">
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="stage" x-show="shown['stage']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap  ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 " >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;stage&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="count" x-show="shown['count']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;count&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="value" x-show="shown['value']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;value&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="average" x-show="shown['average']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;average&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="prev" x-show="shown['prev']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;prev&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="first" x-show="shown['first']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;first&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                            <div role="cell" data-slot="table-cell"  x-bind:class="pad" class="flex items-center h-row w-12 pe-2 text-end align-middle whitespace-nowrap">
                                    <div data-slot="dropdown-menu" x-data="nqDropdownMenu(false)" x-modelable="open" class="contents"><button data-slot="data-table-row-actions"
     type="button"                         x-bind="trigger" x-ref="trigger" x-bind:aria-label="say(&#039;rowActions&#039;, row)" x-show="hasActions(row)" x-bind:tabindex="index === Math.min(active, pageRows.length - 1) ? 0 : -1" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-nq-hover size-control-sm p-0 text-muted-foreground opacity-0 group-hover/row:opacity-100 group-focus-within/row:opacity-100 group-data-[state=selected]/row:opacity-100 data-popup-open:opacity-100 pointer-coarse:opacity-100">
        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <circle cx="12" cy="12" r="1"/>
  <circle cx="19" cy="12" r="1"/>
  <circle cx="5" cy="12" r="1"/>
</svg></button>
                                        <template x-teleport="body">
    <div data-slot="dropdown-menu-content" x-bind="popup" x-init="popupEl = $el" x-nq-presence="open" x-anchor.bottom-end.offset.4="$refs.trigger"
        class="z-50 overflow-hidden rounded-floating border border-border bg-popover p-1.5 text-popover-foreground shadow-floating outline-none max-h-[var(--available-height)] overflow-y-auto transition-opacity duration-150 ease-nq data-starting-style:opacity-0 data-ending-style:opacity-0 min-w-44"><div data-slot="dropdown-menu-group" role="group" ><template x-if="actionOn(row, 0)">
                                                        <div role="none" class="contents">
                                                                                                                        <div data-slot="dropdown-menu-item" role="menuitem" data-variant="default" x-bind="item"
        x-on:click="act(&#039;open&#039;, row)" x-bind:data-disabled="actionOff(row, 0) ? &#039;&#039; : null" x-bind:aria-disabled="actionOff(row, 0) ? &#039;true&#039; : null" class="relative flex h-nav-row min-h-[var(--nq-touch-min,0px)] cursor-default select-none items-center gap-2.5 rounded-control px-2.5 text-body-sm text-foreground outline-none data-highlighted:bg-nq-selected data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M15 3h6v6"/>
  <path d="M10 14 21 3"/>
  <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
</svg>                                                                Open stage</div>
                                                        </div>
                                                    </template></div></div>
</template></div>
                                </div>
                                                    </div>
                                            </div>
                </template>
                    </div>
    </div>
                <div data-slot="data-table-context-menu" x-data="nqContextMenu()" x-effect="menuClosed(open)" class="contents">
            <template x-teleport="body">
    <div data-slot="context-menu-content" x-bind="popup" x-init="popupEl = $el" x-nq-presence="open"
        class="fixed z-50 overflow-hidden rounded-floating border border-border bg-popover p-1.5 text-popover-foreground shadow-floating outline-none max-h-[var(--available-height)] overflow-y-auto transition-opacity duration-150 ease-nq data-starting-style:opacity-0 data-ending-style:opacity-0 min-w-44"><template x-if="ctxRow && actionOn(ctxRow, 0)">
                        <div role="none" class="contents">
                                                        <div data-slot="context-menu-item" role="menuitem" data-variant="default" x-bind="item"
        x-on:click="act(&#039;open&#039;, ctxRow)" x-bind:data-disabled="actionOff(ctxRow, 0) ? &#039;&#039; : null" x-bind:aria-disabled="actionOff(ctxRow, 0) ? &#039;true&#039; : null" class="relative flex h-nav-row min-h-[var(--nq-touch-min,0px)] cursor-default select-none items-center gap-2.5 rounded-control px-2.5 text-body-sm text-foreground outline-none data-highlighted:bg-nq-selected data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M15 3h6v6"/>
  <path d="M10 14 21 3"/>
  <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
</svg>                                Open stage</div>
                        </div>
                    </template></div>
</template>
        </div>
        <span role="status" aria-live="polite" class="sr-only" x-text="announce"></span>
</div>
    </div>
</section>
    <section data-slot="employee-kpi-dashboard" class="flex flex-col gap-4">
    <div data-slot="stat-grid" class="grid grid-cols-[repeat(auto-fit,minmax(min(100%,14rem),1fr))] gap-3"><div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Team attainment: Billable hours</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">109%</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">At or above target</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">1</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Behind target</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">0</bdi>
                                    </div>
                            </div>
                    </div>
    </div></div>
        <div role="list" class="grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3">
                    <div data-slot="context-menu" x-data="nqContextMenu(false)" x-modelable="open" class="contents"><div data-slot="kpi-employee" x-bind="trigger" x-ref="trigger" class="min-w-0" role="listitem"><div data-slot="card" class="flex flex-col gap-4 rounded-card border border-border bg-card py-4 text-card-foreground h-full w-full"><div data-slot="card-header" class="auto-rows-min px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] flex flex-row items-center gap-3"><span data-slot="avatar" x-data="nqAvatar(0)"
    class="inline-flex shrink-0 select-none items-center justify-center overflow-hidden bg-secondary align-middle font-medium text-secondary-foreground size-10 text-label rounded-full">
                    <span data-slot="avatar-fallback" class="flex size-full items-center justify-center" x-bind="fallback"
             role="img" aria-label="Sara" >S</span>
    </span>
                            <div class="min-w-0 flex-1">
                                <div data-slot="card-title" class="text-label text-foreground truncate">Sara</div>
                                <p class="truncate text-caption text-muted-foreground">Designer</p>                            </div>
                                                            <button data-slot="button"
     type="button"                         aria-label="Actions for Sara" x-on:click="show(true)" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-transparent font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 text-foreground hover:bg-nq-hover size-control-sm p-0">
        <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <circle cx="12" cy="12" r="1"/>
  <circle cx="19" cy="12" r="1"/>
  <circle cx="5" cy="12" r="1"/>
</svg></button></div>
                        <div data-slot="card-content" class="px-4 flex flex-col gap-3"><div class="flex items-center gap-4">
                                <div data-slot="progress-ring" data-tone="success" role="progressbar" aria-label="Sara: 109% of target" aria-valuemin="0" aria-valuemax="100" aria-valuenow="100" aria-valuetext="109%" style="width: 84px; height: 84px" class="relative inline-grid shrink-0 place-items-center">
    <svg viewBox="0 0 100 100" aria-hidden="true" class="absolute inset-0 size-full -rotate-90 rtl:-scale-x-100 rtl:rotate-90">
        <circle cx="50" cy="50" r="46" fill="none" stroke-width="8" class="stroke-nq-surface-soft" />
                    <circle cx="50" cy="50" r="46" fill="none" stroke-width="8" stroke-linecap="butt" stroke-dasharray="289.027 0" style="stroke: var(--nq-success)" class="transition-[stroke-dasharray] duration-300 ease-nq motion-reduce:transition-none" />
            </svg>
    <div class="relative flex max-w-[70%] flex-col items-center text-center leading-tight">
        <span class="inline-flex items-center gap-1 text-label tabular-nums text-foreground" style="font-size: 16.8px">
                        <bdi data-slot="num" data-numeric="" class="tabular-nums">100%</bdi>
        </span>
            </div>
</div>
                                <div class="flex min-w-0 flex-1 flex-col gap-1.5">
                                    <span data-slot="badge"     class="inline-flex h-5 shrink-0 items-center gap-1 whitespace-nowrap rounded-[4px] border px-1.5 text-caption font-medium [&_svg]:size-3 border-nq-success/40 bg-nq-success-soft text-nq-success-text w-fit"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <circle cx="12" cy="12" r="10"/>
  <path d="m9 12 2 2 4-4"/>
</svg>                                        Ahead</span>
                                    <p class="text-body">
                                        <bdi data-slot="num" data-numeric class="tabular-nums">152</bdi>
                                        <span class="text-muted-foreground"> / </span>
                                        <bdi data-slot="num" data-numeric class="tabular-nums">140</bdi>
                                    </p>
                                                                            <div data-slot="trend-cell" data-trend="up" class="flex items-center justify-end gap-3">
    <div class="flex flex-col items-end leading-tight">
        <span class="text-body-sm tabular-nums text-foreground"></span>
                    <span class="inline-flex items-center gap-0.5 text-caption tabular-nums text-nq-success-text">
                <svg aria-hidden="true" class="size-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m5 12 7-7 7 7"/>
  <path d="M12 19V5"/>
</svg>                <span class="sr-only">up </span>
                <span dir="ltr" class="tabular-nums">+8%</span>
            </span>
            </div>
                        <div data-slot="mini-bar"  role="img" aria-label="Trend: Sara"  class="shrink-0 h-8 w-20">
    <div class="flex size-full items-end gap-0.5 pt-0.5">
                    <span class="min-w-0 flex-1 rounded-[2px]"
                style="height: 78.9474%; background-color: var(--nq-success); opacity: 0.35"></span>
                    <span class="min-w-0 flex-1 rounded-[2px]"
                style="height: 88.8158%; background-color: var(--nq-success); opacity: 0.35"></span>
                    <span class="min-w-0 flex-1 rounded-[2px]"
                style="height: 100%; background-color: var(--nq-success); opacity: 1"></span>
            </div>
</div>
            </div>
                                                                    </div>
                            </div></div></div></div>
                                    <template x-teleport="body">
    <div data-slot="context-menu-content" x-bind="popup" x-init="popupEl = $el" x-nq-presence="open"
        class="fixed z-50 overflow-hidden rounded-floating border border-border bg-popover p-1.5 text-popover-foreground shadow-floating outline-none max-h-[var(--available-height)] overflow-y-auto transition-opacity duration-150 ease-nq data-starting-style:opacity-0 data-ending-style:opacity-0 min-w-44"><div data-slot="context-menu-item" role="menuitem" data-variant="default" x-bind="item"
        x-on:click="$refs.trigger.dispatchEvent(new CustomEvent(`nq-employee-action`, { bubbles: true, detail: { action: `open`, id: `e1` } }))" class="relative flex h-nav-row min-h-[var(--nq-touch-min,0px)] cursor-default select-none items-center gap-2.5 rounded-control px-2.5 text-body-sm text-foreground outline-none data-highlighted:bg-nq-selected data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/>
  <circle cx="12" cy="7" r="4"/>
</svg>                                Open profile</div></div>
</template></div>
            </div>
</section>
    <section data-slot="support-stats-report" class="flex flex-col gap-4">
    <div data-slot="stat-grid" class="grid grid-cols-[repeat(auto-fit,minmax(min(100%,14rem),1fr))] gap-3"><div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Open</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">42</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">First response</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric class="tabular-nums">38 min</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Resolution time</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric class="tabular-nums">5.2 hr</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Satisfaction</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">92%</bdi>
                                    </div>
                            </div>
                    </div>
    </div>
        <div data-slot="stat-card"   class="flex flex-col gap-3 rounded-card border border-border bg-card px-4 py-4 text-card-foreground">
            <div class="flex items-center gap-2">
                        <div data-slot="stat-card-label" class="min-w-0 truncate text-body-sm text-muted-foreground">Within SLA</div>
        </div>
        <div class="flex items-end justify-between gap-3">
            <div class="flex min-w-0 flex-col gap-1">
                <div data-slot="stat-card-value" class="text-h2 leading-tight text-foreground tabular-nums">
                                            <bdi data-slot="num" data-numeric="" class="tabular-nums">87%</bdi>
                                    </div>
                            </div>
                    </div>
    </div></div>
    <div data-slot="time-series-panel"  x-data="nqTimeSeriesPanel('created', false)"
    class="flex flex-col gap-4 rounded-card border border-border bg-card py-4 text-card-foreground">
    <div data-slot="card-header" class="grid auto-rows-min items-start gap-1 px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto]"><h3 data-slot="card-title" class="text-label text-foreground">Ticket volume</h3></div>
    <div data-slot="card-content" class="px-4 flex flex-col gap-4"><div class="flex flex-wrap items-center justify-between gap-3">
                            <div class="max-w-full overflow-x-auto">
                    <div role="group" data-slot="toggle-group" data-variant="segmented" data-orientation="horizontal"
    x-data="nqToggleGroup(JSON.parse('[\u0022created\u0022]'), false)" x-modelable="value" x-bind="root"
            aria-label="Metric" x-model="pressed" class="flex w-fit max-w-full gap-0.5 rounded-control bg-secondary p-0.5">
    <button type="button" data-slot="toggle" aria-pressed="true"
     x-bind="toggle('created')"      data-pressed         class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Created</button>
                                                    <button type="button" data-slot="toggle" aria-pressed="false"
     x-bind="toggle('resolved')"             class="inline-flex h-7 shrink-0 items-center justify-center gap-1.5 whitespace-nowrap px-3 text-label text-muted-foreground outline-none transition-colors duration-150 ease-nq hover:text-foreground [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus data-disabled:pointer-events-none data-disabled:opacity-50 rounded-[calc(var(--radius-control)-2px)] data-pressed:bg-card data-pressed:text-foreground data-pressed:shadow-xs">Resolved</button>
</div>
                </div>
                                </div>
                                                    <div class="contents" data-metric="created" x-show="metric === 'created'" >
                    <div data-slot="time-series-total" class="flex flex-wrap items-baseline gap-x-3 gap-y-1">
                        <span class="text-caption text-muted-foreground">Total</span>
                        <span class="text-h2 text-foreground tabular-nums">
                            <bdi data-slot="num" data-numeric="" class="tabular-nums">93</bdi>
                        </span>
                                            </div>
                    <div data-slot="chart"  role="img" aria-label="Created, Sep 27 to Sep 29"   style="--color-current: var(--nq-info); --color-previous: var(--muted-foreground)"     class="flex w-full text-caption [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line]:stroke-border [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-dot]:stroke-card [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector]:stroke-card [&_.recharts-surface]:outline-hidden aspect-auto flex-col justify-start gap-2 h-64">
    <div class="flex min-h-0 flex-1 gap-2">
                            <div aria-hidden="true" class="relative w-11 shrink-0 text-end text-muted-foreground">
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 100%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">0</bdi>
                                                                            </span>
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 75%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">10</bdi>
                                                                            </span>
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 50%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">20</bdi>
                                                                            </span>
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 25%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">30</bdi>
                                                                            </span>
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 0%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">40</bdi>
                                                                            </span>
                                                            </div>
                            <div data-slot="time-series-plot" class="relative min-w-0 flex-1" x-data="nqTimeSeriesChart(JSON.parse('[{\u0022x\u0022:0,\u0022y\u0022:22.5,\u0022date\u0022:\u0022Sep 27\u0022,\u0022rows\u0022:[{\u0022k\u0022:\u0022current\u0022,\u0022label\u0022:\u0022Created\u0022,\u0022color\u0022:\u0022var(--color-current)\u0022,\u0022text\u0022:\u002231\u0022}]},{\u0022x\u0022:50,\u0022y\u0022:32.5,\u0022date\u0022:\u0022Sep 28\u0022,\u0022rows\u0022:[{\u0022k\u0022:\u0022current\u0022,\u0022label\u0022:\u0022Created\u0022,\u0022color\u0022:\u0022var(--color-current)\u0022,\u0022text\u0022:\u002227\u0022}]},{\u0022x\u0022:100,\u0022y\u0022:12.5,\u0022date\u0022:\u0022Sep 29\u0022,\u0022rows\u0022:[{\u0022k\u0022:\u0022current\u0022,\u0022label\u0022:\u0022Created\u0022,\u0022color\u0022:\u0022var(--color-current)\u0022,\u0022text\u0022:\u002235\u0022}]}]'))" x-on:pointermove="move($event)" x-on:pointerleave="leave()">
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 100%"></span>
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 75%"></span>
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 50%"></span>
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 25%"></span>
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 0%"></span>
                                                                <svg viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true" focusable="false" class="absolute inset-0 size-full overflow-visible rtl:-scale-x-100">
                                    <defs>
                                        <linearGradient id="nq-ts-bac19e03" x1="0" y1="0" x2="0" y2="1">
                                            <stop offset="0%" style="stop-color: var(--color-current); stop-opacity: 0.28" />
                                            <stop offset="100%" style="stop-color: var(--color-current); stop-opacity: 0.02" />
                                        </linearGradient>
                                    </defs>
                                                                                                            <path d="M0,22.5C16.67,25.83,33.33,32.5,50,32.5C66.67,32.5,83.33,19.17,100,12.5L100,100L0,100Z" fill="url(#nq-ts-bac19e03)" stroke="none" />
                                    <path data-slot="time-series-current" d="M0,22.5C16.67,25.83,33.33,32.5,50,32.5C66.67,32.5,83.33,19.17,100,12.5" fill="none" stroke="var(--color-current)" stroke-width="2" vector-effect="non-scaling-stroke" stroke-linejoin="round" stroke-linecap="round" />
                                </svg>
                                                                <div class="contents" x-show="hover !== null" style="display: none">
                                    <span aria-hidden="true" class="pointer-events-none absolute inset-y-0 w-px bg-border" x-bind:style="lineStyle"></span>
                                    <span aria-hidden="true" data-slot="chart-dot" class="pointer-events-none absolute size-2 -translate-y-1/2 rounded-full bg-[var(--color-current)] ltr:-translate-x-1/2 rtl:translate-x-1/2" x-bind:style="dotStyle"></span>
                                    <div class="pointer-events-none absolute top-0 z-10 ltr:-translate-x-1/2 rtl:translate-x-1/2" x-bind:style="tipStyle">
                                        <div data-slot="chart-tooltip" dir="ltr" class="grid min-w-32 gap-1.5 rounded-control border border-border bg-popover px-2.5 py-1.5 text-caption text-popover-foreground shadow-md">
                                            <div class="text-label" x-text="tip.date"></div>
                                            <div class="grid gap-1">
                                                <template x-for="row in tip.rows" x-bind:key="row.k">
                                                    <div class="flex items-center gap-2" x-show="row.k === 'current' || compare">
                                                        <span aria-hidden="true" class="size-2.5 shrink-0 rounded-[2px]" x-bind:style="{ backgroundColor: row.color }"></span>
                                                        <span class="text-muted-foreground" x-text="row.label"></span>
                                                        <span class="ms-auto ps-3 text-label tabular-nums" x-text="row.text"></span>
                                                    </div>
                                                </template>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div aria-hidden="true" class="relative h-4 ms-[3.25rem]">
                                                                                            <span class="absolute top-0 whitespace-nowrap start-0"
                                    >Sep 27</span>
                                                                                            <span class="absolute top-0 whitespace-nowrap ltr:-translate-x-1/2 rtl:translate-x-1/2"
                                     style="inset-inline-start: 50%" >Sep 28</span>
                                                                                            <span class="absolute top-0 whitespace-nowrap end-0"
                                    >Sep 29</span>
                                                    </div>
</div>
                </div>
                                            <div class="contents" data-metric="resolved" x-show="metric === 'resolved'"  style="display: none" >
                    <div data-slot="time-series-total" class="flex flex-wrap items-baseline gap-x-3 gap-y-1">
                        <span class="text-caption text-muted-foreground">Total</span>
                        <span class="text-h2 text-foreground tabular-nums">
                            <bdi data-slot="num" data-numeric="" class="tabular-nums">87</bdi>
                        </span>
                                            </div>
                    <div data-slot="chart"  role="img" aria-label="Resolved, Sep 27 to Sep 29"   style="--color-current: var(--nq-success); --color-previous: var(--muted-foreground)"     class="flex w-full text-caption [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line]:stroke-border [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-dot]:stroke-card [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector]:stroke-card [&_.recharts-surface]:outline-hidden aspect-auto flex-col justify-start gap-2 h-64">
    <div class="flex min-h-0 flex-1 gap-2">
                            <div aria-hidden="true" class="relative w-11 shrink-0 text-end text-muted-foreground">
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 100%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">0</bdi>
                                                                            </span>
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 66.67%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">10</bdi>
                                                                            </span>
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 33.33%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">20</bdi>
                                                                            </span>
                                                                    <span class="absolute inset-x-0 -translate-y-1/2 truncate" style="top: 0%">
                                                                                    <bdi data-slot="num" data-numeric="" class="tabular-nums">30</bdi>
                                                                            </span>
                                                            </div>
                            <div data-slot="time-series-plot" class="relative min-w-0 flex-1" x-data="nqTimeSeriesChart(JSON.parse('[{\u0022x\u0022:0,\u0022y\u0022:6.67,\u0022date\u0022:\u0022Sep 27\u0022,\u0022rows\u0022:[{\u0022k\u0022:\u0022current\u0022,\u0022label\u0022:\u0022Resolved\u0022,\u0022color\u0022:\u0022var(--color-current)\u0022,\u0022text\u0022:\u002228\u0022}]},{\u0022x\u0022:50,\u0022y\u0022:0,\u0022date\u0022:\u0022Sep 28\u0022,\u0022rows\u0022:[{\u0022k\u0022:\u0022current\u0022,\u0022label\u0022:\u0022Resolved\u0022,\u0022color\u0022:\u0022var(--color-current)\u0022,\u0022text\u0022:\u002230\u0022}]},{\u0022x\u0022:100,\u0022y\u0022:3.33,\u0022date\u0022:\u0022Sep 29\u0022,\u0022rows\u0022:[{\u0022k\u0022:\u0022current\u0022,\u0022label\u0022:\u0022Resolved\u0022,\u0022color\u0022:\u0022var(--color-current)\u0022,\u0022text\u0022:\u002229\u0022}]}]'))" x-on:pointermove="move($event)" x-on:pointerleave="leave()">
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 100%"></span>
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 66.67%"></span>
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 33.33%"></span>
                                                                    <span aria-hidden="true" class="absolute inset-x-0 border-t border-border" style="top: 0%"></span>
                                                                <svg viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true" focusable="false" class="absolute inset-0 size-full overflow-visible rtl:-scale-x-100">
                                    <defs>
                                        <linearGradient id="nq-ts-a27ac00d" x1="0" y1="0" x2="0" y2="1">
                                            <stop offset="0%" style="stop-color: var(--color-current); stop-opacity: 0.28" />
                                            <stop offset="100%" style="stop-color: var(--color-current); stop-opacity: 0.02" />
                                        </linearGradient>
                                    </defs>
                                                                                                            <path d="M0,6.67C16.67,4.45,33.33,0,50,0C66.67,0,83.33,2.22,100,3.33L100,100L0,100Z" fill="url(#nq-ts-a27ac00d)" stroke="none" />
                                    <path data-slot="time-series-current" d="M0,6.67C16.67,4.45,33.33,0,50,0C66.67,0,83.33,2.22,100,3.33" fill="none" stroke="var(--color-current)" stroke-width="2" vector-effect="non-scaling-stroke" stroke-linejoin="round" stroke-linecap="round" />
                                </svg>
                                                                <div class="contents" x-show="hover !== null" style="display: none">
                                    <span aria-hidden="true" class="pointer-events-none absolute inset-y-0 w-px bg-border" x-bind:style="lineStyle"></span>
                                    <span aria-hidden="true" data-slot="chart-dot" class="pointer-events-none absolute size-2 -translate-y-1/2 rounded-full bg-[var(--color-current)] ltr:-translate-x-1/2 rtl:translate-x-1/2" x-bind:style="dotStyle"></span>
                                    <div class="pointer-events-none absolute top-0 z-10 ltr:-translate-x-1/2 rtl:translate-x-1/2" x-bind:style="tipStyle">
                                        <div data-slot="chart-tooltip" dir="ltr" class="grid min-w-32 gap-1.5 rounded-control border border-border bg-popover px-2.5 py-1.5 text-caption text-popover-foreground shadow-md">
                                            <div class="text-label" x-text="tip.date"></div>
                                            <div class="grid gap-1">
                                                <template x-for="row in tip.rows" x-bind:key="row.k">
                                                    <div class="flex items-center gap-2" x-show="row.k === 'current' || compare">
                                                        <span aria-hidden="true" class="size-2.5 shrink-0 rounded-[2px]" x-bind:style="{ backgroundColor: row.color }"></span>
                                                        <span class="text-muted-foreground" x-text="row.label"></span>
                                                        <span class="ms-auto ps-3 text-label tabular-nums" x-text="row.text"></span>
                                                    </div>
                                                </template>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div aria-hidden="true" class="relative h-4 ms-[3.25rem]">
                                                                                            <span class="absolute top-0 whitespace-nowrap start-0"
                                    >Sep 27</span>
                                                                                            <span class="absolute top-0 whitespace-nowrap ltr:-translate-x-1/2 rtl:translate-x-1/2"
                                     style="inset-inline-start: 50%" >Sep 28</span>
                                                                                            <span class="absolute top-0 whitespace-nowrap end-0"
                                    >Sep 29</span>
                                                    </div>
</div>
                </div></div>
</div>
    <div class="grid grid-cols-1 gap-4 lg:grid-cols-[minmax(0,2fr)_minmax(0,3fr)]">
        <div data-slot="card" class="flex flex-col gap-4 rounded-card border border-border bg-card py-4 text-card-foreground w-full"><div data-slot="card-header" class="grid auto-rows-min items-start gap-1 px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto]"><div data-slot="card-title" class="text-label text-foreground">Tickets by status</div></div>
            <div data-slot="card-content" class="px-4"><div data-slot="segment-bar" class="flex min-w-0 flex-col gap-3">
    <div role="img" aria-label="Tickets by status" class="flex w-full gap-0.5 overflow-hidden rounded-full bg-nq-surface-soft h-4">
                                    <span data-slot="segment-bar-segment" title="Open: 42 (23.3%)" style="flex-grow: 42; flex-basis: 0; background-color: var(--primary);" class="flex min-w-1 items-center justify-center overflow-hidden text-caption text-primary-foreground first:rounded-s-full last:rounded-e-full">
                    <span class="px-1 tabular-nums [text-shadow:0_0_2px_rgb(0_0_0/0.35)]">23%</span>                </span>
                                                <span data-slot="segment-bar-segment" title="Pending: 18 (10%)" style="flex-grow: 18; flex-basis: 0; background-color: var(--nq-tag-blue); background-image: repeating-linear-gradient(135deg, color-mix(in oklab, var(--card) 55%, transparent) 0 2px, transparent 2px 7px);" class="flex min-w-1 items-center justify-center overflow-hidden text-caption text-primary-foreground first:rounded-s-full last:rounded-e-full">
                    <span class="px-1 tabular-nums [text-shadow:0_0_2px_rgb(0_0_0/0.35)]">10%</span>                </span>
                                                <span data-slot="segment-bar-segment" title="Solved: 120 (66.7%)" style="flex-grow: 120; flex-basis: 0; background-color: var(--nq-tag-teal); background-image: repeating-linear-gradient(45deg, color-mix(in oklab, var(--card) 55%, transparent) 0 2px, transparent 2px 7px);" class="flex min-w-1 items-center justify-center overflow-hidden text-caption text-primary-foreground first:rounded-s-full last:rounded-e-full">
                    <span class="px-1 tabular-nums [text-shadow:0_0_2px_rgb(0_0_0/0.35)]">67%</span>                </span>
                                </div>
            <ul data-slot="segment-bar-legend" class="grid gap-x-6 gap-y-1.5 text-body-sm [grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))]">
                            <li class="flex min-w-0 items-center gap-2">
                    <span aria-hidden="true" class="size-2.5 shrink-0 rounded-[2px]" style="background-color: var(--primary);"></span>
                    <span class="min-w-0 flex-1 truncate text-muted-foreground">Open</span>
                    <span class="tabular-nums text-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">42</bdi>
</span>
                    <span class="w-12 text-end tabular-nums text-muted-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">23%</bdi>
</span>
                </li>
                            <li class="flex min-w-0 items-center gap-2">
                    <span aria-hidden="true" class="size-2.5 shrink-0 rounded-[2px]" style="background-color: var(--nq-tag-blue); background-image: repeating-linear-gradient(135deg, color-mix(in oklab, var(--card) 55%, transparent) 0 2px, transparent 2px 7px);"></span>
                    <span class="min-w-0 flex-1 truncate text-muted-foreground">Pending</span>
                    <span class="tabular-nums text-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">18</bdi>
</span>
                    <span class="w-12 text-end tabular-nums text-muted-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">10%</bdi>
</span>
                </li>
                            <li class="flex min-w-0 items-center gap-2">
                    <span aria-hidden="true" class="size-2.5 shrink-0 rounded-[2px]" style="background-color: var(--nq-tag-teal); background-image: repeating-linear-gradient(45deg, color-mix(in oklab, var(--card) 55%, transparent) 0 2px, transparent 2px 7px);"></span>
                    <span class="min-w-0 flex-1 truncate text-muted-foreground">Solved</span>
                    <span class="tabular-nums text-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">120</bdi>
</span>
                    <span class="w-12 text-end tabular-nums text-muted-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">67%</bdi>
</span>
                </li>
                                </ul>
    </div></div></div>
        <div class="flex min-w-0 flex-col gap-2">
            <h3 class="text-label font-medium">Agents</h3>
            <div data-slot="data-table" x-data="nqDataTable(JSON.parse('[{\u0022id\u0022:\u0022a1\u0022,\u0022name\u0022:\u0022Omar\u0022,\u0022assigned\u0022:60,\u0022assignedText\u0022:\u002260\u0022,\u0022resolved\u0022:52,\u0022resolvedText\u0022:\u002252\u0022,\u0022first\u0022:25,\u0022firstText\u0022:\u002225 min\u0022,\u0022csat\u0022:0.94,\u0022csatText\u0022:\u002294%\u0022,\u0022trendRow\u0022:true},{\u0022id\u0022:\u0022a2\u0022,\u0022name\u0022:\u0022Lina\u0022,\u0022assigned\u0022:48,\u0022assignedText\u0022:\u002248\u0022,\u0022resolved\u0022:40,\u0022resolvedText\u0022:\u002240\u0022,\u0022first\u0022:140,\u0022firstText\u0022:\u00222.3 hr\u0022,\u0022csat\u0022:0.9,\u0022csatText\u0022:\u002290%\u0022,\u0022trendRow\u0022:false}]'), JSON.parse('[{\u0022id\u0022:\u0022name\u0022,\u0022header\u0022:\u0022Agent\u0022,\u0022key\u0022:\u0022name\u0022,\u0022sortable\u0022:true,\u0022searchable\u0022:true,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022assigned\u0022,\u0022header\u0022:\u0022Assigned\u0022,\u0022key\u0022:\u0022assignedText\u0022,\u0022sortKey\u0022:\u0022assigned\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022resolved\u0022,\u0022header\u0022:\u0022Resolved\u0022,\u0022key\u0022:\u0022resolvedText\u0022,\u0022sortKey\u0022:\u0022resolved\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022first\u0022,\u0022header\u0022:\u0022First response\u0022,\u0022key\u0022:\u0022firstText\u0022,\u0022sortKey\u0022:\u0022first\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022},{\u0022id\u0022:\u0022csat\u0022,\u0022header\u0022:\u0022Satisfaction\u0022,\u0022key\u0022:\u0022csatText\u0022,\u0022sortKey\u0022:\u0022csat\u0022,\u0022sortable\u0022:true,\u0022align\u0022:\u0022end\u0022,\u0022type\u0022:\u0022text\u0022}]'), JSON.parse('{\u0022nameKey\u0022:\u0022name\u0022,\u0022pageSize\u0022:8,\u0022locale\u0022:\u0022en\u0022,\u0022actions\u0022:[],\u0022labels\u0022:{\u0022selectRow\u0022:\u0022Select {name}\u0022,\u0022rowActions\u0022:\u0022Actions for {name}\u0022,\u0022selected\u0022:\u0022{n} selected\u0022,\u0022range\u0022:\u0022{from}\\u2013{to} of {total}\u0022,\u0022editCell\u0022:\u0022{column}, {row}\u0022,\u0022invalidNumber\u0022:\u0022Enter a number\u0022,\u0022invalidDate\u0022:\u0022Enter a date\u0022,\u0022saving\u0022:\u0022Saving\\u2026\u0022,\u0022saved\u0022:\u0022Saved\u0022,\u0022saveFailed\u0022:\u0022Couldn\\u0027t save the change\u0022,\u0022saveFailedFor\u0022:\u0022Couldn\\u0027t save: {message}\u0022,\u0022expandRow\u0022:\u0022Show details for {name}\u0022,\u0022details\u0022:\u0022Details for {name}\u0022,\u0022ascending\u0022:\u0022ascending\u0022,\u0022descending\u0022:\u0022descending\u0022,\u0022rangeAtLeast\u0022:\u0022\\u2265 {v}\u0022,\u0022rangeAtMost\u0022:\u0022\\u2264 {v}\u0022,\u0022sortPriority\u0022:\u0022sort {n}, {dir}\u0022}}'))" x-modelable="rows"
    class="flex min-w-0 flex-col gap-3">
    <div data-slot="table-container" role="region" tabindex="0" aria-label="Agents"                 class="relative w-full overflow-x-auto outline-none focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus">
        <div data-slot="table" role="table" aria-label="Agents"  x-bind:style="'grid-template-columns: repeat(' + (shownCount() + 0) + ', auto)'"  x-bind:data-density="density"               class="grid w-full min-w-max text-body-sm">
            <div data-slot="table-header" role="rowgroup" class="contents">
                <div role="row" data-slot="table-row" class="col-span-full grid grid-cols-subgrid border-b border-border">
                                                                                                            <div role="columnheader" data-slot="table-head" data-col="name" x-show="shown['name']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('name')"                             class="flex items-center h-row text-start align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('name', $event.shiftKey)"
                                    x-bind:class="sortOf('name') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus ">
                                    <span >Agent</span>
                                    <svg aria-hidden="true" x-show="! sortOf('name')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('name') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('name') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="assigned" x-show="shown['assigned']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('assigned')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('assigned', $event.shiftKey)"
                                    x-bind:class="sortOf('assigned') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Assigned</span>
                                    <svg aria-hidden="true" x-show="! sortOf('assigned')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('assigned') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('assigned') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="resolved" x-show="shown['resolved']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('resolved')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('resolved', $event.shiftKey)"
                                    x-bind:class="sortOf('resolved') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Resolved</span>
                                    <svg aria-hidden="true" x-show="! sortOf('resolved')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('resolved') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('resolved') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="first" x-show="shown['first']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('first')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('first', $event.shiftKey)"
                                    x-bind:class="sortOf('first') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >First response</span>
                                    <svg aria-hidden="true" x-show="! sortOf('first')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('first') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('first') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                                    <div role="columnheader" data-slot="table-head" data-col="csat" x-show="shown['csat']"  x-bind:class="pad"  x-bind:aria-sort="ariaSort('csat')"                             class="flex items-center h-row text-end justify-end align-middle text-caption font-medium whitespace-nowrap text-muted-foreground">
                                                            <button type="button"  x-on:click="toggleSort('csat', $event.shiftKey)"
                                    x-bind:class="sortOf('csat') ? 'text-foreground' : ''"
                                    class="-mx-1.5 inline-flex h-7 max-w-full items-center gap-1 rounded-control px-1.5 outline-none transition-colors duration-150 ease-nq hover:bg-nq-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-nq-focus flex-row-reverse">
                                    <span >Satisfaction</span>
                                    <svg aria-hidden="true" x-show="! sortOf('csat')" class="size-3.5 shrink-0 opacity-40" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m7 15 5 5 5-5"/>
  <path d="m7 9 5-5 5 5"/>
</svg>                                    <x-lucide-arrow-up aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('csat') === 'asc'" style="display: none" />
                                    <x-lucide-arrow-down aria-hidden="true" class="size-3.5 shrink-0" x-show="sortOf('csat') === 'desc'" style="display: none" />
                                                                    </button>
                                                                                </div>
                                                        </div>
            </div>
                            <div role="rowgroup" class="contents" data-slot="table-body" x-show="rowCount === 0" style="display: none">
                    <div role="row" data-slot="table-row" class="col-span-full grid grid-cols-subgrid border-0">
                        <div role="cell" data-slot="table-cell" class="col-span-full h-auto p-0 whitespace-normal">
                            <div x-show="isFiltered" style="display: none">
                                <div data-slot="empty-state" class="flex flex-col items-center justify-center gap-3 border-dashed border-border px-6 py-12 text-center rounded-card border-0">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m21 21-4.34-4.34"/>
  <circle cx="11" cy="11" r="8"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">No matching results</p>
                    <p class="text-body-sm text-muted-foreground">Try a different search or clear the filters.</p>
            </div>
    <button type="button" x-on:click="resetFilters()" class="inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-control border border-border bg-card text-foreground font-sans text-label transition-colors duration-150 ease-nq min-h-[var(--nq-touch-min,0px)] outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 h-control-sm px-2.5">Clear filters</button>
    </div>
                            </div>
                            <div x-show="! isFiltered" style="display: none">
                                <div data-slot="empty-state" class="flex flex-col items-center justify-center gap-3 border-dashed border-border px-6 py-12 text-center rounded-card border-0">
            <span data-slot="state-icon" class="inline-flex size-10 items-center justify-center rounded-control border border-border bg-card [&amp;_svg]:size-5 text-muted-foreground">
            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <polyline points="22 12 16 12 14 15 10 15 8 12 2 12"/>
  <path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/>
</svg>        </span>
        <div class="flex max-w-sm flex-col gap-1">
        <p class="text-label text-foreground">Nothing to report for this period.</p>
            </div>
    </div>
                            </div>
                        </div>
                    </div>
                </div>
                <template x-for="(row, index) in pageRows" x-bind:key="rid(row)">
                    <div role="rowgroup" class="contents" data-slot="table-body">
                        <div role="row" data-slot="table-row" data-row tabindex="-1" x-bind:tabindex="index === Math.min(active, pageRows.length - 1) ? 0 : -1"
                            x-bind:data-state="isSelected(row) ? 'selected' : null" x-bind:aria-selected="isSelected(row) ? 'true' : null"
                            x-bind:aria-expanded="canExpand(row) ? String(isOpen(row)) : null" x-on:focus="if ($event.target === $event.currentTarget) active = index"
                            x-on:keydown="rowKey($event, row, index, false)"
                                                                                    x-bind:class="(isOpen(row) ? 'border-b-0 ' : '') + (ctxOpen && ctxRow === row ? 'bg-nq-hover' : '')"
                            class="col-span-full grid grid-cols-subgrid group/row border-b border-border outline-none transition-colors duration-150 ease-nq focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-nq-focus data-[state=selected]:bg-nq-selected hover:bg-nq-hover ">
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="name" x-show="shown['name']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap  ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 " >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;name&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="assigned" x-show="shown['assigned']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;assigned&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="resolved" x-show="shown['resolved']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span x-show="row.trendRow !== true" x-text="row.resolvedText"></span>
                                                    <span x-show="row.id === `a1`" style="display: none">
                                <div data-slot="trend-cell" data-trend="flat" class="flex items-center justify-end gap-3">
    <div class="flex flex-col items-end leading-tight">
        <span class="text-body-sm tabular-nums text-foreground"><bdi data-slot="num" data-numeric="" class="tabular-nums">52</bdi>
</span>
            </div>
                        <div data-slot="sparkline"  role="img" aria-label="Resolved: Omar"  class="shrink-0 h-8 w-20">
    <svg viewBox="0 0 128 32" preserveAspectRatio="none" class="size-full overflow-visible rtl:-scale-x-100" aria-hidden="true" focusable="false">
        <defs>
            <linearGradient id="nq-spark-b451e348" x1="0" y1="0" x2="0" y2="1">
                <stop offset="0%" stop-color="var(--primary)" stop-opacity="0.3" />
                <stop offset="100%" stop-color="var(--primary)" stop-opacity="0" />
            </linearGradient>
        </defs>
        <path d="M2,14C22.67,12,43.33,10,64,8C84.67,6,105.33,4,126,2L126.00,30.00L2.00,30.00Z" fill="url(#nq-spark-b451e348)" stroke="none" />        <path d="M2,14C22.67,12,43.33,10,64,8C84.67,6,105.33,4,126,2" fill="none" stroke="var(--primary)" stroke-width="1.5" vector-effect="non-scaling-stroke" stroke-linejoin="round" stroke-linecap="round" />
    </svg>
</div>
            </div>
                            </span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="first" x-show="shown['first']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;first&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                                                            <div role="cell" data-slot="table-cell" data-cell-col="csat" x-show="shown['csat']"  x-bind:class="pad"
                                                                        class="flex items-center relative h-row align-middle whitespace-nowrap text-end justify-end ">
                                                                                                                    <span  class="flex min-w-0 items-center gap-1.5 justify-end" >
                                                                                            <span class="min-w-0 flex-1  " x-text="shownText(row, col(&#039;csat&#039;))"></span>
                                                                                                                                </span>
                                                                    </div>
                                                    </div>
                                            </div>
                </template>
                    </div>
    </div>
            <nav data-slot="data-table-pagination" aria-label="Pagination" x-show="paged" style="display: none" class="flex flex-wrap items-center justify-end gap-2">
                        <span class="text-caption tabular-nums text-muted-foreground" aria-live="polite" x-text="rangeText()"></span>
            <button type="button" aria-label="Previous page" x-bind:disabled="page === 0 ? '' : null" x-on:click="setPage(page - 1)"
                class="inline-flex size-control-sm shrink-0 items-center justify-center rounded-control text-foreground outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4"><svg aria-hidden="true" class="rtl:-scale-x-100" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m15 18-6-6 6-6"/>
</svg></button>
            <button type="button" aria-label="Next page" x-bind:disabled="page >= pageCount - 1 ? '' : null" x-on:click="setPage(page + 1)"
                class="inline-flex size-control-sm shrink-0 items-center justify-center rounded-control text-foreground outline-none hover:bg-nq-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-nq-focus disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4"><svg aria-hidden="true" class="rtl:-scale-x-100" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
  <path d="m9 18 6-6-6-6"/>
</svg></button>
        </nav>
            <span role="status" aria-live="polite" class="sr-only" x-text="announce"></span>
</div>
        </div>
    </div>
</section>
</div>
```
