Sidebar now accepts `onNavigate?: (path: string) => void`. When provided, sidebar calls `onNavigate(path)` instead of using internal `<Link>` navigation. The server UI translates paths to its own URL structure.
DataTable now accepts `fillHeight?: boolean`. When true, the table fills remaining vertical space with a scrollable body, sticky header, and pinned pagination footer.