body { }
.navbar-brand{ font-weight:700; letter-spacing:.5px; }
.stat-card .fs-1 { line-height:1; }
.table td, .table th { vertical-align: middle; }



/* Stepper (workflow) */
.stepper {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 6px;
}
.stepper .step {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 160px;
  position: relative;
}
.stepper .step .dot {
  width: 14px; height: 14px; border-radius: 50%;
  background: #adb5bd; /* pending */
  box-shadow: 0 0 0 3px rgba(0,0,0,.05) inset;
}
.stepper .step.done .dot { background: #198754; }     /* green */
.stepper .step.current .dot {
  background: #0d6efd;                                /* blue */
  animation: pulse 1.2s infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(13,110,253,.4); }
  70% { box-shadow: 0 0 0 8px rgba(13,110,253,0); }
  100% { box-shadow: 0 0 0 0 rgba(13,110,253,0); }
}
.stepper .step .label .order {
  font-size: .75rem;
  color: #6c757d;
  line-height: 1;
}
.stepper .step .label .name {
  font-weight: 600;
  line-height: 1.1;
}
.stepper .step-line {
  flex: 1 0 24px;
  height: 3px;
  background: linear-gradient(90deg, #dee2e6, #ced4da);
  border-radius: 2px;
}
.stepper .step.done ~ .step-line { background: #198754; }
.stepper .step.current ~ .step-line { background: linear-gradient(90deg, #0d6efd, #ced4da); }

.btn-outline-secondary.btn-sm { border-radius: 999px; }




/* Chips */
.chip { display:inline-block; padding:4px 10px; border-radius:999px; font-size:12px; }
.chip-soft { background:#f1f3f5; color:#495057; }
.chip-success { background:#e6f4ea; color:#137333; }
.chip-info { background:#e7f1ff; color:#0b57d0; }

/* QR */
.qr-box { border:1px dashed #dee2e6; border-radius:10px; padding:8px 12px; background:#fafafa; }
.qr { width:120px; height:120px; image-rendering: pixelated; }

/* Stepper (mantém o que você já tinha e complementa) */
.stepper { display:flex; align-items:center; gap:8px; overflow-x:auto; padding-bottom:6px; }
.stepper .step { display:flex; align-items:center; gap:8px; min-width:160px; }
.stepper .step .dot { width:14px; height:14px; border-radius:50%; background:#adb5bd; box-shadow:0 0 0 3px rgba(0,0,0,.05) inset; }
.stepper .step.done .dot { background:#198754; }
.stepper .step.current .dot { background:#0d6efd; animation:pulse 1.2s infinite; }
@keyframes pulse { 0%{ box-shadow:0 0 0 0 rgba(13,110,253,.4);} 70%{ box-shadow:0 0 0 8px rgba(13,110,253,0);} 100%{ box-shadow:0 0 0 0 rgba(13,110,253,0);} }
.stepper .step .label .order{ font-size:.75rem; color:#6c757d; line-height:1; }
.stepper .step .label .name{ font-weight:600; line-height:1.1; }
.stepper .step-line { flex:1 0 24px; height:3px; background:linear-gradient(90deg, #dee2e6, #ced4da); border-radius:2px; }

/* Timeline */
.timeline { position:relative; padding:12px 0; }
.timeline::before { content:''; position:absolute; left:14px; top:0; bottom:0; width:2px; background:#e9ecef; }
.tl-item { position:relative; padding-left:40px; padding-right:12px; margin-bottom:14px; }
.tl-dot { position:absolute; left:8px; top:4px; width:12px; height:12px; background:#0d6efd; border-radius:50%; box-shadow:0 0 0 3px rgba(13,110,253,.15); }
.tl-content { background:#fff; border:1px solid #edf0f3; border-radius:10px; padding:10px 12px; }
.tl-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.tl-time { font-size:.85rem; color:#6c757d; }
.tl-badge { font-size:.75rem; background:#0d6efd; color:#fff; border-radius:999px; padding:2px 8px; }



/* Destaque: Recebidos no meu setor */
.highlight-received {
  border-left: 6px solid #adb5bd;
  background: linear-gradient(180deg, #ffffff, #fbfcff);
}
.highlight-received.has-items {
  border-left-color: #dc3545; /* vermelho sutil quando há itens */
  box-shadow: 0 0.25rem 1rem rgba(220, 53, 69, 0.10);
}
.highlight-received .hr-dot {
  width: 10px; height: 10px; border-radius: 50%;
  background: #adb5bd;
}
.highlight-received.has-items .hr-dot {
  background: #dc3545;
  animation: hr-pulse 1.6s ease-in-out infinite;
}
@keyframes hr-pulse {
  0% { box-shadow: 0 0 0 0 rgba(220,53,69,.4); }
  70% { box-shadow: 0 0 0 8px rgba(220,53,69,0); }
  100% { box-shadow: 0 0 0 0 rgba(220,53,69,0); }
}


