/* ajustes finos compartilhados */
html { scroll-behavior: smooth; }

/* scrollbar discreta */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* animação para mensagens do chat */
@keyframes slideUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.msg-in { animation: slideUp .25s ease-out; }

/* typing dots */
@keyframes blink {
  0%, 80%, 100% { opacity: 0.2; }
  40% { opacity: 1; }
}
.typing span { animation: blink 1.4s infinite both; display: inline-block; }
.typing span:nth-child(2) { animation-delay: .2s; }
.typing span:nth-child(3) { animation-delay: .4s; }

/* sidebar links */
.sidebar-link {
  display: flex; align-items: center; gap: .75rem;
  padding: .55rem .75rem; border-radius: .5rem;
  font-size: .875rem; color: #cbd5e1;
  transition: background .15s, color .15s;
}
.sidebar-link:hover { background: rgba(255,255,255,.06); color: #fff; }
.sidebar-link.active { background: rgba(99,102,241,.15); color: #a5b4fc; }
.sidebar-link svg { width: 16px; height: 16px; }

/* tag de status */
.badge { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .55rem; border-radius: 999px; font-size: .7rem; font-weight: 500; }
.badge-green { background: #dcfce7; color: #166534; }
.badge-yellow { background: #fef9c3; color: #854d0e; }
.badge-red { background: #fee2e2; color: #991b1b; }
.badge-blue { background: #dbeafe; color: #1e40af; }
.badge-gray { background: #f1f5f9; color: #475569; }
.badge-purple { background: #f3e8ff; color: #6b21a8; }

/* bar chart simples */
.bar { background: linear-gradient(180deg, #818cf8, #6366f1); border-radius: 4px 4px 0 0; }
