/* Chat Component Styles */

/* Input group focus styling */
.chat-input-group:has(input:focus) {
  outline: 2px solid #0d6efd;
  outline-offset: -1px;
  border-radius: 0.375rem;
}

.chat-input-group input:focus {
  border-color: #0d6efd;
  box-shadow: none;
  outline: none;
}

/* Empty state */
.chat-empty-state {
  padding-top: 200px;
}

/* Message container */
.message-container {
  display: flex;
  margin-bottom: 8px;
}

.message-container.user {
  justify-content: flex-end;
}

.message-container.assistant {
  justify-content: flex-start;
}

/* Message bubble */
.message-bubble {
  padding: 12px 16px;
  margin-bottom: 12px;
  border-radius: 8px;
  max-width: 70%;
  word-wrap: break-word;
  white-space: pre-wrap;
}

.message-bubble.user {
  background-color: #007bff;
  color: white;
  margin-left: auto;
  text-align: right;
}

.message-bubble.assistant {
  background-color: #e9ecef;
  color: #212529;
  margin-right: auto;
  text-align: left;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .message-bubble {
    max-width: 85%;
  }
}

/* Chat container should grow to fill remaining space */
.chat-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.chat-container .card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Chat messages container should grow to fill available space */
#chat-messages {
  flex: 1 !important;
  min-height: 200px !important;
  max-height: none !important;
  overflow-y: auto !important;
}
