Make the Enchilada Sauce (if homemade): In a saucepan, heat olive oil over medium heat. Add flour and whisk for 1 minute to form a roux. Stir in chili powder, garlic powder, onion powder, cumin, oregano, and salt. Slowly whisk in the vegetable broth to avoid lumps. Add tomato paste and bring to a simmer. Simmer for 5–7 minutes until thickened. Stir in vinegar/lime juice. Set aside.
Prepare the Filling: Heat olive oil in a skillet over medium heat. Add onion and garlic; sauté for 2–3 minutes. Stir in bell pepper and zucchini; cook for 5 minutes. Add corn, black beans, cumin, chili powder, paprika, salt, and pepper. Cook for another 3–4 minutes. Remove from heat and mix in cilantro if using.
Assemble the Casserole: Preheat oven to 375°F (190°C). Lightly grease a 9x13-inch baking dish. Spread ½ cup enchilada sauce on the bottom. Layer tortillas (tear to fit), half the filling, and drizzle some sauce. Repeat: tortillas, remaining filling, sauce. Top with final layer of tortillas, rest of the sauce, and vegan cheese if using.
Bake: Cover with foil and bake for 20 minutes. Uncover and bake for another 10–15 minutes until bubbly and slightly golden on top.
Serve: Let cool for 5–10 minutes before slicing. Garnish with avocado, cilantro, and lime wedges.