Heat oven to 350°F. Line an 8-inch square pan with parchment, leaving overhang.
Whisk flour, oats, both sugars, baking powder, and 1/2 tsp salt in a bowl.
Stir in melted butter and vanilla until the mixture forms moist, clumpy crumbs.
Press about two-thirds of the crumb mixture firmly into the pan to make an even base.
Toss cranberries with 2/3 cup sugar, cornstarch, orange zest, orange juice, and a pinch of salt.
Spread the cranberry filling evenly over the crust, including juices.
Crumble the remaining dough over the top, leaving some berries peeking through.
Bake 38–42 minutes, until bubbling at the edges and the topping is golden brown.
Cool completely in the pan. Chill 30 minutes for cleaner cuts, then slice into bars.