/* chat_modal.css - page-specific styles for Chat Modal */
/* Use Poppins brand typography on this page */
body {
    font-family: "Poppins", var(--font-sans)
    }
/* Chat modal layout tweaks */
.chat-modal .modal-dialog {
    max-width: 820px
    }
.chat-modal .modal-content {
    display: flex;
    max-height: 85vh
    }
@media (max-width: 576px) {
    .chat-modal .modal-content {
        max-height: 100vh;
        border-radius: 0
        }
    }
.chat-modal .modal-body {
    overflow: hidden
    }
.chat-modal .chat-scroll {
    height: 100%;
    max-height: calc(85vh - 120px);
    overflow-y: auto
    }
@media (max-width: 576px) {
    .chat-modal .chat-scroll {
        max-height: calc(100vh - 120px)
        }
    }
/* Message bubbles leverage global styles; add typing indicator */
.message-bubble.typing {
    display: inline-flex;
    align-items: center;
    gap: 6px
    }
.message-bubble.typing .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    animation: chatTyping 1.2s infinite ease-in-out
    }
.message-bubble.typing .dot:nth-child(2) {
    animation-delay: 0.15s
    }
.message-bubble.typing .dot:nth-child(3) {
    animation-delay: 0.3s
    }
@keyframes chatTyping {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: .6;
        } 40% {
        transform: translateY(-3px);
        opacity: 1;
        }
    }
/* Input group sizing */
#messageForm .input-group textarea {
    resize: none;
    max-height: 120px
    }
#messageForm .form-text {
    color: var(--text-muted)
    }
/* Table/responsive tweaks */
#historyTable tbody tr:hover {
    background: rgba(0, 0, 0, 0.02)
    }
#historyTable td, #historyTable th {
    vertical-align: middle
    }
/* Buttons and utilities */
#openChatPrimary i {
    color: var(--text-on-secondary)
    }
/* Toast styling alignment with theme */
#statusToast {
    border-color: var(--border-color);
    box-shadow: var(--shadow-2)
    }