Hi,
there are two conditions that are difficult to fulfill both.
My goal would be to have the participants answer all of the Yes/No questions first:
and
ALL sub-tasks needs to equal 100
Without the second you'd create a first group with a question of type array (Q1) and ask your "main activities".
Afterwards you create a group for each "main activity" with a question of type "multiple numerical input" for each "sub-activity"
Each of these groups has the relevance equation (we always use relevance equations, not condition builder)
Q1_SQ001==1
Q1_SQ002==1
...
with 1 = code of "Yes"
Now the problem.
With Expression Manager/script you calculate the spent hours.
But if the respondent spent 110 h and gets an error message, he has to go back to change some values.
Here you might display the remaining hours in the question text, shown in red if more than 100 is entered. So the respondent gets a feed back.
Of course you can display everything on one screen, with the same relevance equations.
But then the multiple numerical input questions will be displayed as soon as the respondent clicks "Yes" in the first question.
In my opinion this is acceptable and a better solution.
So create your prototype.
If you have further questions attach a lss export of this and tell us which version of LimeSurvey you use.
Joffm