We consider the lifetime consumption-portfolio problem in a competitive securities market with essentially arbitrary continuous price dynamics, and convex trading constraints (e.g., incomplete markets and short-sale constraints). Abstract first-order conditions of optimality are derived, based on a preference-independent notion of constrained state pricing. For homothetic generalized recursive utility, we derive closed-form solutions for the optimal consumption and trading strategy in terms of the solution to a single constrained BSDE. Incomplete market solutions are related to complete markets solutions with modified risk aversion towards non-marketed risk. Methodologically, we develop the utility gradient approach, but for the homothetic case we also verify the solution using the dynamic programming approach, without having to assume a Markovian structure. Finally, we present a class of parametric examples in which the BSDE characterizing the solution reduces to a system of Riccati equations.