Preheat the oven to 450 degrees F.
Set the beets on a baking sheet lined with a two layers of aluminum foil. Drizzle with 2 tablespoons of the olive oil, sprinkle with salt and pepper, and then wrap the beets in the first layer of foil. Transfer the baking sheet to the oven and roast until the beets are fork tender, about 1 hour.
Meanwhile, place shallots in a small bowl, drizzle with another 2 tablespoons of the olive oil, and sprinkle with salt and pepper; toss well. After the beets have roasted for 45 minutes, remove the baking sheet from the oven and carefully place the shallots directly on the second layer of aluminum foil. Return to the oven for another 15 minutes, until the shallots are caramelized and soft and the beets are fully cooked.
Let the beets cool in the foil for at least 5 minutes. Transfer the shallots to a large bowl and set aside. When the beets are cool enough to handle, use a paper towel to rub off the skins. Cut the beets into wedges and add them to the bowl with the shallots.
Trim the tops and bottoms off the oranges with a paring knife or a small serrated knife. Set the oranges on one of the cut ends and carefully cut away the skins, beginning at the top and following the curve of the fruit down to the bottom. Slice the oranges crosswise into thin slices. Set aside.
In a small bowl, whisk together the vinegar, sugar, mustard, some salt and pepper, and the remaining 3 tablespoons olive oil. Pour the dressing over the beets and shallots; toss to combine. Add the mixed greens and the orange slices; toss again. Sprinkle with sunflower seeds.