Это должно работать:
&& = div.message.error {}
|| = div.message, div.error {}
Не думаю, что вы можете сделать "не"
Редактировать: только что сделал быстрый тест для подтверждения:
<html>
<head>
<style type="text/css">
div.error.message {
background-color: red;
}
div.message, div.error {
border: 1px solid green;
}
</style>
</head>
<body>
<div>None</div>
<div class="error">Error</div>
<div class="message">Message</div>
<div class="error message">Error Message</div>
</body>
</html>
Все div "message", "error" и "message error" имеют зеленую рамку, и только div "message error" имеет красный фон.