On first click, Dashboard was in non-split mode. The click set selectedId locally then triggered split view, which remounted Dashboard — losing the selectedId state. Added activeExchangeId prop passed from ExchangesPage so the selection survives the remount. Also syncs via useEffect when parent changes selection (e.g. correlated exchange navigation). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>