WalletOverlayHost
Root host for the wallet's full-screen overlays (Send / Receive / Settings, with Recovery nested inside Settings).
Why the activity window, not a Dialog. The overlays are full-screen SCREENS. Previously each was hosted in a Compose Dialog, and a Dialog is a floating window that fits inside the system bars by design — which left an unfixable white status-bar strip. The activity window is already edge-to-edge (the same window SessionLockGate's lock cover draws into), so rendering the overlays as plain Composables here makes edge-to-edge free: each screen's own WindowInsets padding keeps content clear of the bars while its fillMaxSize() StarField draws behind them.
Wraps content and provides a WalletOverlayController over it via LocalWalletOverlay; the pill / com.midnight.kuira.dapp.PanelBar open overlays through that ambient controller. When an overlay is active it renders ON TOP of content in the same Box (last child = drawn last = on top).
Independently usable: compose it directly, or use WalletAppShell to also get the session lock outermost.