CREATE TABLE public.user_dashboard_layouts ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE NOT NULL, layout JSONB NOT NULL DEFAULT '[]'::jsonb, cards JSONB NOT NULL DEFAULT '[]'::jsonb, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now(), UNIQUE(user_id) ); ALTER TABLE public.user_dashboard_layouts ENABLE ROW LEVEL SECURITY; CREATE POLICY "Users can manage their own dashboard layout" ON public.user_dashboard_layouts FOR ALL TO authenticated USING (user_id = auth.uid()) WITH CHECK (user_id = auth.uid());