Build a single self-contained HTML file: a P&L scenario presentation dashboard.

FILE LOADING
- Use SheetJS from https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
- Include a file picker to load a .xlsx QuickBooks P&L export
- Column A = account names. Row 5 = month headers. Columns B onward = monthly data.
- Read cell indent levels to determine hierarchy:
  - Indent 0 = section header or total row
  - Indent 1 = account or sub-section
  - Indent 2 = leaf account
- Fallback hierarchy detection: rows starting with "Total for" are total rows; if no indent data is available, treat rows between two total rows as leaf accounts
- Prior Year = Jan–Dec 2025. Current Year actuals = Jan–May 2026. Last actual = most recent month with numeric data. Exclude the Total column.

SCENARIO INPUTS
- Auto-detect the top 6 accounts by total absolute dollar volume across all months
- Render as labeled number input fields (not sliders), default 0, showing % assumption
- Projected months (month after last actual through Dec of current year) = last actual value × (1 + input %). Flat rate, not compounding.
- Total and subtotal rows always recalculate from children — never receive their own input

KPI CARDS — update live
- CY Projected Full-Year Revenue
- CY Projected Full-Year Net Income
- Net Income Margin %
- YoY Net Income % change vs PY
- Each card: metric value, delta vs PY, up/down indicator

CHARTS — use Chart.js from https://cdn.jsdelivr.net/npm/chart.js
1. Net Income Trend — line chart Jan 2025–Dec 2026. PY = muted dashed. CY actuals = solid bold. CY projected = dashed accent color.
2. Revenue vs Expenses — grouped bar chart same range. PY bars muted. CY actual bars bold. CY projected bars transparent tint.
3. Waterfall — most recent complete month. Income → Gross Profit → Net Operating Income → Net Income. Delta labeled.

LAYOUT
- Fixed header area: KPI cards + all three charts. Stays visible when scrolling.
- Inputs panel below, independently scrollable.
- Dark professional theme: deep navy or charcoal, white text, strong accent color.
- Clean sans-serif font from Google Fonts.
- Projected months labeled with "Projected" group header, visually distinct from actuals.

CRITICAL TECHNICAL REQUIREMENTS
- Input fields must be in their own dedicated column — never inside or overlapping the account name
- Use a single overflow: auto scroll wrapper — no nested overflow containers
- position: sticky requires exactly one scroll ancestor — structure the DOM accordingly
- Rebuild all chart data arrays from scratch on every update — never mutate existing datasets