<label> elements are notoriously hard to select with CSS in any non-trivial mark-up structure, when the state of their control is to be taken into account. Consider these frequent cases, where it is not possible to reach the label element with CSS selectors, when the corresponding input state is relevant:
1. <label><input> Input inside label</label>
2. <tr>
<td><input></td>
Good ol' tables