td {
     vertical-align: top;
 }
-div.bad, td.bad, tr.bad, span.bad {
+div.critical, td.critical, tr.critical, span.critical, input[type="submit"].critical {
     {{macros.css_bg_red()}}
 }
 {% block css %}{% endblock %}
 · <a href="/balance">balance</a>
 ·
 {% if tainted %}
-    <span class="bad">unsaved changes:
+    <span class="critical">unsaved changes:
 {% endif %}
 <input type="submit"name="file_load" value="reload" />
 {% if tainted %}
 
 
 
 {% macro css_balance() %}
-table.alternating.bad > tbody > tr:nth-child(odd) {
+table.alternating.critical > tbody > tr:nth-child(odd) {
     {{ css_bg_red() }}
 }
-table.alternating.bad > tbody > tr:nth-child(even) {
+table.alternating.critical > tbody > tr:nth-child(even) {
     background-color: #ff8a8a;
 }
 td.balance.amount {
 td.block_column {
     {{css_bg_white()}}
 }
-td.block_column.bad {
+td.block_column.critical {
     {{css_bg_red()}}
 }
 {% endmacro %}
 {% macro ledger_block_columns(mode, block) %}
 <tr></tr><!-- just to keep the background-color alternation in proper order -->
 <tr id="block_{{block.id_}}">
-<td class="block_column {% if block.date_error %}bad{% endif %}" rowspan={{block.lines|length + 1}}>
+<td class="block_column {% if block.date_error %}critical{% endif %}" rowspan={{block.lines|length + 1}}>
 <input type="submit" name="ledger_moveup_{{block.id_}}" value="^" {% if not block.can_move(1) %}disabled{% endif %}/><br />
 <input type="submit" name="ledger_movedown_{{block.id_}}" value="v" {% if not block.can_move(0) %}disabled{% endif %}/><br />
 <input type="submit" name="ledger_copy_{{block.id_}}" value="C" />
 </td>
-<td class="block_column {% if block.booking and block.booking.sink_error %}bad{% endif %}" rowspan={{block.lines|length + 1}}>
+<td class="block_column {% if block.booking and block.booking.sink_error %}critical{% endif %}" rowspan={{block.lines|length + 1}}>
 [<a href="#block_{{block.id_}}">#</a>]<br />
 [<a href="/balance?up_incl={{block.id_}}">b</a>]<br />
 [<a href="/edit_{{mode}}/{{block.id_}}">e</a>]
 </span>
 <hr />
 {% if block.date_error or (block.booking and block.booking.sink_error) %}
-    <div class="bad">block-wide errors:
+    <div class="critical">block-wide errors:
     {{block.date_error}}
     {% if block.booking %}
         {% if block.date_error %}– and:{% endif %}
         {{ booking_balance_account_with_children(child) }}
     {% endfor %}
 {% endmacro %}
-<table class="alternating {% if not valid %}bad{% endif %}">
+<table class="alternating {% if not valid %}critical{% endif %}">
 <tr>
 <th>account</th>
 <th>before</th>
 
 |
 balance after <a href="/blocks/{{block.id_}}">booking {{block.id_}} ({{block.booking.date}}: {{block.booking.target}})</a>
 </p>
-<table class="alternating {% if not valid %}bad{% endif %}">
+<table class="alternating {% if not valid %}critical{% endif %}">
 {% for root in roots %}
     {{account_with_children(block.id_,root,indent=0)}}
 {% endfor %}
 
         function setup_input_td(tr, colspan) {
             const td = add_td(tr, colspan);
             if (booking_line.errors.length > 0) {
-                td.classList.add('bad');
+                td.classList.add('critical');
             };
             return td;
         }
 
         // add error explanation row if necessary
         if (booking_line.errors.length > 0) {
-            tr.classList.add('bad');
+            tr.classList.add('critical');
             const tr_info = document.createElement('tr');
             tr_info.classList.add('skip');
             table.appendChild(tr_info);
             const td = add_td(tr_info, 7);
             tr.appendChild(document.createElement('td'));
             td.textContent = 'line bad:' + booking_line.errors;
-            tr_info.classList.add('bad');
+            tr_info.classList.add('critical');
         }
     }
 }
 
     {{macros.ledger_block_columns('raw', block)}}
     {% for line in block.lines %}
         <tr>
-        <td {% if line.errors %}class="bad"{% endif %}>{{line.raw}} </td>
+        <td {% if line.errors %}class="critical"{% endif %}>{{line.raw}} </td>
         </tr>
     {% endfor %}
 {% endfor %}
 
     {{macros.ledger_block_columns('structured', block)}}
     {% if block.booking %}
         <tr>
-        <td colspan=3 {% if block.booking.intro_line.errors %}class="bad"{% endif %}>{{block.booking.date}} {{block.booking.target}}</td>
+        <td colspan=3 {% if block.booking.intro_line.errors %}class="critical"{% endif %}>{{block.booking.date}} {{block.booking.target}}</td>
         <td>{{block.booking.intro_line.comment}}</td>
         </tr>
         {% for line in block.booking.transfer_lines %}
             <tr>
-            <td class="amount {% if line.errors %}bad{% endif %}">{{line.amount_short}}</td>
-            <td class="currency {% if line.errors %}bad{% endif %}">{{ macros.currency_short(line.currency) }}</td>
-            <td {% if line.errors %}class="bad"{% endif %}>{{line.account}}</td>
+            <td class="amount {% if line.errors %}critical{% endif %}">{{line.amount_short}}</td>
+            <td class="currency {% if line.errors %}critical{% endif %}">{{ macros.currency_short(line.currency) }}</td>
+            <td {% if line.errors %}class="critical"{% endif %}>{{line.account}}</td>
             <td>{{line.comment}}</td>
             </tr>
         {% endfor %}