/* Status card left-border color coding */
.status-error { border-left: 5px solid #dc3545 !important; }
.status-warn  { border-left: 5px solid #ffc107 !important; }
.status-healthy { border-left: 5px solid #198754 !important; }

/* Log table row highlighting */
.log-error { background-color: #f8d7da !important; }
.log-warn  { background-color: #fff3cd !important; }

/* Sort indicators */
th.sortable { cursor: pointer; user-select: none; }
th.sortable:hover { background-color: #495057; }
th.sort-asc::after  { content: " \25B2"; font-size: 0.75em; }
th.sort-desc::after { content: " \25BC"; font-size: 0.75em; }

/* Card hover effect */
.status-card { transition: box-shadow 0.2s; }
.status-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.15); }

/* Truncate long messages in table */
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
