/* Chat Container */ .chat-container { display: flex; flex-direction: column; height: 100vh; max-width: 900px; margin: 0 auto; background: var(--bg); } /* Chat Header */ .chat-header { padding: 24px; border-bottom: 1px solid var(--border); text-align: center; background: var(--bg); } .chat-header h1 { margin: 0 0 8px 0; font-size: 24px; color: var(--text-h); } .chat-header p { margin: 0; font-size: 14px; color: var(--text); opacity: 0.8; } /* Chat Messages Area */ .chat-messages { flex: 1; overflow-y: auto; padding: 24px; display: flex; flex-direction: column; gap: 16px; } .empty-state { display: flex; align-items: center; justify-content: center; height: 100%; color: var(--text); opacity: 0.6; font-size: 14px; } /* Message Styles */ .message { display: flex; flex-direction: column; max-width: 80%; animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .message.user { align-self: flex-end; } .message.assistant { align-self: flex-start; } .message-content { padding: 12px 16px; border-radius: 12px; background: var(--social-bg); } .message.user .message-content { background: var(--accent-bg); border: 1px solid var(--accent-border); } .message.assistant .message-content { background: var(--social-bg); border: 1px solid var(--border); } .message.assistant.escalation .message-content { background: #fff3cd; border: 1px solid #ffc107; } .message-role { display: block; font-size: 12px; font-weight: 600; margin-bottom: 6px; color: var(--text-h); text-transform: uppercase; letter-spacing: 0.5px; } .message-content p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--text); } /* Confidence Indicator */ .confidence-indicator { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); font-size: 13px; } .confidence-label { font-weight: 600; color: var(--text-h); margin-right: 6px; } .confidence-text { color: var(--text); opacity: 0.9; } /* Escalation Badge */ .escalation-badge { margin-top: 8px; padding: 6px 12px; background: #ffc107; color: #000; border-radius: 6px; font-size: 12px; font-weight: 600; display: inline-block; } /* Loading State */ .message.loading .message-content { opacity: 0.7; } .loading-text { font-style: italic; } /* Chat Input Form */ .chat-input-form { display: flex; gap: 12px; padding: 24px; border-top: 1px solid var(--border); background: var(--bg); } .chat-input { flex: 1; padding: 12px 16px; font-size: 15px; border: 2px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--text); transition: border-color 0.3s; } .chat-input:focus { outline: none; border-color: var(--accent); } .chat-input:disabled { opacity: 0.5; cursor: not-allowed; } .chat-submit { padding: 12px 24px; font-size: 15px; font-weight: 600; border: 2px solid var(--accent-border); border-radius: 8px; background: var(--accent-bg); color: var(--accent); cursor: pointer; transition: all 0.3s; } .chat-submit:hover:not(:disabled) { border-color: var(--accent); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .chat-submit:disabled { opacity: 0.5; cursor: not-allowed; } .chat-submit:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; } /* Responsive Design */ @media (max-width: 768px) { .chat-header { padding: 16px; } .chat-header h1 { font-size: 20px; } .chat-messages { padding: 16px; } .message { max-width: 90%; } .chat-input-form { padding: 16px; gap: 8px; } .chat-input { font-size: 14px; } .chat-submit { padding: 12px 16px; font-size: 14px; } }