<!-- source-hash: 4a7aa4db8bec1fcce07d28f27fea4092 -->
Orchestrates the top-level application shell, combining the sidebar, header, mobile menu, and notification drawer into a single full-screen layout with managed mobile menu state.

## Key Components

| Export | Type | Description |
|--------|------|-------------|
| `AppLayout` | Component | Root layout wrapper rendering all chrome elements and the main content area |
| `AppLayoutProps` | Interface | Configuration interface for the layout component |

**Key props:**
- `sidebarConfig` — Navigation structure passed to both `NavigationSidebar` and `MobileBurgerMenu`
- `headerProps` — Forwarded to `AppHeader` (mobile menu state/toggle are managed internally)
- `mobileBurgerMenuProps` — Forwarded to `MobileBurgerMenu` (open/close/config are managed internally)
- `disabled` — Freezes header and sidebar interactions without affecting `children`
- `loadingFallback` — Custom `Suspense` fallback for the main content area

## Usage Example

```typescript
import { AppLayout } from './app-layout'
import { sidebarConfig } from '../config/navigation'

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <AppLayout
      sidebarConfig={sidebarConfig}
      headerProps={{
        logo: <Logo />,
        actions: <UserMenu />,
      }}
      mobileBurgerMenuProps={{
        footerContent: <SupportLink />,
      }}
      loadingFallback={<PageSkeleton />}
      mainClassName="p-6"
    >
      {children}
    </AppLayout>
  )
}
```

## Notes

- Mobile menu open/close state is fully self-contained — consumers only provide content-level props via `mobileBurgerMenuProps`
- `children` are wrapped in `Suspense`, enabling async page transitions out of the box
- `disabled` is intended for loading or onboarding states where navigation should be temporarily locked