EnvironmentContext holds current env as React state. On change,
QueryInvalidatorOnEnvChange calls queryClient.invalidateQueries() so
all content/list pages refetch immediately without manual reload.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>