or we could just create a specification for the inner and outer with two separate shortcode calls:
[color-box]
[color-box-inner]
[/color-box-inner]
[/color-box]
So yes, it does seem impossible given the limitation of one shortcode to do it all, but it is not impossible to create multiple shortcodes within one plugin.