body { background-color: #f7f7f9; }
.navbar-brand { font-weight: 600; }
.badge-status { font-weight: 500; }
.status-Ordered { background-color: #6c757d; }
.status-Shipped { background-color: #0d6efd; }
.status-InTransit { background-color: #0dcaf0; color: #000; }
.status-Received { background-color: #198754; }
.status-Archived { background-color: #adb5bd; color: #000; }
.has-issue { background-color: #fff3cd !important; }
.issue-banner {
  background-color: #fff3cd;
  border-left: 6px solid #ffc107;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  font-weight: 600;
}
.field-cell { cursor: pointer; }
.field-cell:hover { background-color: #eef; }
.photo-card {
  display: inline-block;
  width: 180px;
  margin: 0.25rem;
  vertical-align: top;
}
.photo-card img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  border-radius: 4px;
  background: #ddd;
}
.photo-pdf {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 130px;
  background: #f3f3f3;
  border-radius: 4px;
  font-size: 0.9rem;
  color: #555;
  text-decoration: none;
}
.line-item-row td { vertical-align: middle; }
.drop-zone {
  border: 2px dashed #adb5bd;
  border-radius: 6px;
  padding: 1.25rem;
  text-align: center;
  color: #6c757d;
}
.drop-zone.dragover {
  background-color: #e7f1ff;
  border-color: #0d6efd;
  color: #0d6efd;
}
.sortable { cursor: pointer; }
.sortable .arrow { font-size: 0.75rem; color: #888; }
