N-bit Variation on Subset-Sum
Wolfram Language (Mathematica), 40 bytes

Max[x=2Tr/@Subsets@#,-x-1,Tr[1^#]]&lt;2^#2&amp;


Try it online!

Condition 1 is implied by checking condition 3 for all subsets, including the one-element ones. So we take the max of


twice the sum of each subset,
one less than twice the negative of the sum of each subset, and
the length of the whole set


and check if that's less than 2^#2 (where #2 is the bit-width input).

At the cost of only 6 more bytes, we can replace Subsets@# with GatherBy[#,Arg], which is much more efficient because it computes only the two worst-case subsets: the subset of all nonnegative values, and the subset of all negative values. (This works because Arg has a value of 0 on the former and π on the latter.)