:root {
  --brand: #0d6efd;
}
body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  background: #f4f6f9;
}
.navbar-brand { font-weight: 600; color: var(--brand) !important; }
.card {
  border: none;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.btn-primary { background-color: var(--brand); border-color: var(--brand); }
.btn-primary:hover { background-color: #0b5ed7; border-color: #0a58ca; }
.status-badge-clean { background-color: #198754; }
.status-badge-infected { background-color: #dc3545; }
.status-badge-pending { background-color: #ffc107; color: #212529; }
.upload-drop {
  border: 2px dashed #c8ccd4;
  border-radius: 10px;
  padding: 40px;
  text-align: center;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s;
}
.upload-drop:hover, .upload-drop.dragover { border-color: var(--brand); }
.recipient-tag {
  display: inline-flex;
  align-items: center;
  background: #e7f1ff;
  color: var(--brand);
  border-radius: 20px;
  padding: 4px 12px;
  margin: 3px;
  font-size: 0.9em;
}
.recipient-tag button { background: none; border: none; color: var(--brand); margin-left: 6px; cursor: pointer; }
.otp-input {
  letter-spacing: 8px;
  font-size: 1.5rem;
  text-align: center;
}
