/* ============================================================
   SGMI — Estilos customizados
   ============================================================ */

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-track { background: transparent; }

body { -webkit-font-smoothing: antialiased; }

.sgmi-sidebar-link.active {
  background-color: rgba(37, 99, 235, 0.12);
  color: #1d4ed8;
  font-weight: 600;
  border-right: 3px solid #2563eb;
}

.badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600;
  white-space: nowrap;
}
.badge-vermelho { background: #fee2e2; color: #b91c1c; }
.badge-laranja { background: #ffedd5; color: #c2410c; }
.badge-amarelo { background: #fef9c3; color: #a16207; }
.badge-azul { background: #dbeafe; color: #1d4ed8; }
.badge-verde { background: #dcfce7; color: #15803d; }
.badge-cinza { background: #e2e8f0; color: #475569; }

.criticidade-critica { border-left: 4px solid #dc2626; }
.criticidade-alta { border-left: 4px solid #f97316; }
.criticidade-media { border-left: 4px solid #eab308; }
.criticidade-baixa { border-left: 4px solid #16a34a; }

.card-hover { transition: box-shadow .15s ease, transform .15s ease; }
.card-hover:hover { box-shadow: 0 8px 24px -8px rgba(15,23,42,.15); transform: translateY(-1px); }

.modal-backdrop { background: rgba(15, 23, 42, 0.55); backdrop-filter: blur(2px); }

.spinner {
  width: 20px; height: 20px; border: 3px solid rgba(37,99,235,.2);
  border-top-color: #2563eb; border-radius: 50%; animation: spin 0.7s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.toast-enter { animation: toastIn .25s ease-out; }
@keyframes toastIn { from { opacity:0; transform: translateY(-8px);} to {opacity:1; transform: translateY(0);} }

.kanban-col { min-height: 200px; }
.kanban-card { cursor: grab; }
.kanban-card.dragging { opacity: .4; }

@media print {
  .no-print { display: none !important; }
}

.big-touch-btn {
  min-height: 56px;
  font-size: 1rem;
}

.table-sticky-header thead th {
  position: sticky; top: 0; background: #f8fafc; z-index: 10;
}
