CSS doesn't have a subtext selector. There are some weird tricks like using pseudo selectors which may not work well across all browsers.
Probalby the easier solution it to use xpath, or just select the elements and filter on the code side.
C# using LinQ
var divElementsInNav = _driver.FindElements(By.CSS(".navItem .label"));
var taskNavElement = divElementsInNav.First( elem => elem.Text.Trim() === "Tasks"));
However, the better solution is to just edit the code of the SUT under test and just add a property for you to hook on. Problem with text selection I see if they're pretty brittle as your product evolves. For example, wording and positioning might be changed with UI refinements, or you may in the future implement internationalization, and those text selectors become useless.
I'd probalby just ask the developers (more often I just do it myself) to add a id like id="navitem-tasks". This allows you to use a simple flat ID selector, that doesn't change as the element gets moved around or text updated.
var taskNavElement = _driver.FindElement(By.Id("navitem-tasks"));