The terminology for margins isn't clear. The side heads as they are shown in the draft may cause trouble. You may need a special syntax. It's a hack for level 1. Using class as a selector is also ambiguous in the current syntax.
Most people find it confusing.
Multiple classes on an element indicate a sort of multiple inheritance, not a hierarchy of classes. I suggest using underlines instead of dashes. For consistency, it is better to keep the dash. But it is still the same number of properties, whether you view them as a hierarchy or not. Styles for labels, insertions, etc. may be different from each other, so more structure is needed there, too.