body {
  background-color: #f5f6f8;
}

.location-card {
  border-left: 4px solid #0d6efd;
  transition: box-shadow 0.15s ease-in-out;
}
.location-card:hover {
  box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.08);
}
.location-card.status-critical { border-left-color: #dc3545; }
.location-card.status-warning { border-left-color: #ffc107; }
.location-card.status-ok { border-left-color: #198754; }

.priority-CRITICAL { background-color: #f8d7da; }
.priority-HIGH { background-color: #fff3cd; }
.priority-MEDIUM { background-color: #e2e3e5; }
.priority-LOW { background-color: #e7f1ff; }

.byclass-table td.zero {
  color: #adb5bd;
}
.byclass-table td.shortfall {
  background-color: #f8d7da;
  font-weight: 600;
}
.byclass-table td.surplus {
  background-color: #d1e7dd;
}

.schedule-cell {
  min-width: 90px;
  cursor: pointer;
}
.schedule-cell[data-status="OFF"] { background-color: #e9ecef; }
.schedule-cell[data-status="PTO"] { background-color: #cfe2ff; }
.schedule-cell[data-status="SICK"] { background-color: #fff3cd; }
.schedule-cell[data-status="TRAINING"] { background-color: #d1e7dd; }

/* Day Plan */
.hour-slot-header {
  border-left: 4px solid #198754;
  padding-left: 0.75rem;
  margin-top: 1rem;
}
.hour-slot-header.has-shortfall { border-left-color: #dc3545; }
.hour-slot-header.all-clear { border-left-color: #198754; }

.move-status-IN_PROGRESS { background-color: #cfe2ff; }
.move-status-COMPLETED { background-color: #d1e7dd; }

/* Sync-refresh banner — injected by public/javascripts/syncRefresh.js */
.sync-refresh-alert {
  border-left: 4px solid #0d6efd;
}
