.tab-btn.active {
  border-bottom-color: #2563eb;
  color: #2563eb;
}

.tab-btn:not(.active) {
  border-bottom-color: transparent;
}

/* Chat bubbles */
.msg-user {
  background: #2563eb;
  color: white;
  border-radius: 1rem 1rem 0.25rem 1rem;
}

.msg-assistant {
  background: #f3f4f6;
  color: #1f2937;
  border-radius: 1rem 1rem 1rem 0.25rem;
}

/* Loading dots */
.loading-dots span {
  animation: blink 1.4s infinite both;
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #9ca3af;
  margin: 0 2px;
}
.loading-dots span:nth-child(2) { animation-delay: 0.2s; }
.loading-dots span:nth-child(3) { animation-delay: 0.4s; }

@keyframes blink {
  0%, 80%, 100% { opacity: 0.3; }
  40% { opacity: 1; }
}

/* Scrollbar */
#chat-messages::-webkit-scrollbar,
#progress-list::-webkit-scrollbar {
  width: 6px;
}
#chat-messages::-webkit-scrollbar-thumb,
#progress-list::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

/* File type icons */
.file-icon-pdf { color: #ef4444; }
.file-icon-doc { color: #3b82f6; }
.file-icon-xls { color: #22c55e; }

/* Sources toggle */
.sources-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.sources-content.open {
  max-height: 500px;
}
