Make the crepes: In a large bowl, whisk together the milk, water, eggs, flour, and salt until smooth. Heat a lightly greased pan over medium heat and cook thin crepes, one at a time, until you have about 9. Set aside.
Cook the meat filling: Heat a little oil in a skillet and brown the ground meat. Add the onion, green pepper, carrot, and garlic, and cook until softened.
Stir in the tomato paste and cook briefly, then add the grated tomatoes, water, paprika, black pepper, and salt. Simmer until thickened into a rich sauce.
Make the béchamel: Melt the butter in a saucepan and whisk in the flour. Cook 1-2 minutes until lightly golden and fragrant.
Gradually whisk in the milk, stirring constantly until smooth. Season with salt and cook until thickened.
Preheat the oven to 180°C (350°F).
Assemble: In a baking dish, layer crepes, béchamel sauce, meat filling, and grated cheese. Repeat until all ingredients are used, finishing with béchamel and a generous layer of cheese on top.
Bake for about 35 minutes, until golden brown and bubbling. Let rest 5-10 minutes before slicing and serving.