For some stimulus to your example above...have the shortcode wrap the contents in a div or paragraph or blockquote or whatever wrapper you want, with some classes defined with it. That way they inherit the styling rules for those classes from the stylesheet. You could have .alert or .safe etc all defined already and then which type of notification you need determined the one used ;)
EDIT:
Here's what I was thinking with my answer above, and perhaps someone else could use it themselves. For the example I'll use Alert, notice, and announcement
function announce_shortcode($atts, $content = null)
{
extract( shortcode_atts( array( 'type' => 'alert' ), $atts ) );
return ''.$content.'
';
}
add_shortcode( 'announce', 'announce_shortcode' );
Then used like so [announce type="alert"]This is an alert![/announce] shown in red or however you wish to style. [announce type="notice"]This is just a notice[/announce] styled with milder colors than the alert, etc. Have the class names for alert and notice and whatnot defined in the css.
This was the need that I got out of reading the OP.