/* * PowerOn | Multi-Agent Service - Chat Component Styles * Styles for chat messages and interaction */ /* Chat area header */ .chat-area-header { padding: 0.75rem 1rem; background-color: #f8f9fa; border-bottom: 1px solid #e5e7eb; z-index: 10; position: sticky; top: 0; } .chat-area-header h3 { margin: 0; } /* Chat messages container */ .agent-chat-messages { flex: 1; overflow-y: auto; padding: 1rem; scrollbar-width: thin; } /* Chat message types */ .chat-message { margin-bottom: 1rem; max-width: 90%; width: 100%; } .system-message { margin: 0.5rem auto; text-align: center; color: #6b7280; font-size: 0.75rem; font-style: italic; background-color: #f9fafb; padding: 0.25rem 0.5rem; border-radius: 1rem; max-width: 80%; } .agent-message { padding: 0.75rem; background-color: white; border-radius: 0.375rem; border-left: 3px solid #3b82f6; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); margin-left: 0.5rem; margin-right: 0.5rem; } .agent-message.user { border-left-color: #10b981; background-color: #f0fdf4; } /* Special styling for messages between Moderator and User Agent */ .agent-message.moderator-to-user { border-left-color: #f59e0b; background-color: #fffbeb; border-width: 3px; } .moderator-to-user .agent-name { color: #b45309; } /* Message header */ .message-header { display: flex; justify-content: space-between; margin-bottom: 0.25rem; font-size: 0.75rem; } .agent-name { font-weight: 500; } .message-time { color: #6b7280; } /* Message content with collapse feature */ .message-content { font-size: 0.875rem; } .agent-message.collapsed .message-content { max-height: 100px; overflow: hidden; position: relative; } .agent-message.collapsed .message-content::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 40px; background: linear-gradient(transparent, white); } .agent-message .toggle-content { text-align: center; color: #3b82f6; font-size: 0.75rem; cursor: pointer; padding: 0.25rem; user-select: none; } .agent-message .toggle-content:hover { text-decoration: underline; } /* Files in messages */ .message-files { margin-top: 0.75rem; border-top: 1px solid #e5e7eb; padding-top: 0.5rem; } .files-heading { font-size: 0.75rem; font-weight: 500; color: #6b7280; margin-bottom: 0.5rem; } .files-list { list-style: none; padding: 0; margin: 5px 0; } .file-item { display: flex; align-items: center; padding: 6px 8px; background-color: #f5f5f5; border-radius: 4px; margin-bottom: 5px; transition: background-color 0.2s; font-size: 0.8rem; } .file-item:hover { background-color: #e9e9e9; } .file-item i:first-child { margin-right: 8px; color: #555; } .file-name { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .file-actions { display: flex; gap: 5px; } .preview-file-btn, .delete-file-btn { background: none; border: none; cursor: pointer; padding: 4px; border-radius: 3px; transition: background-color 0.2s; } .preview-file-btn:hover, .delete-file-btn:hover { background-color: rgba(0, 0, 0, 0.1); } .preview-file-btn i { color: #2196F3; } .delete-file-btn i { color: #F44336; } /* Message delete button */ .message-delete-container { display: none; margin-left: 8px; } .chat-message:hover .message-delete-container { display: block; } .message-delete-btn { background: none; border: none; color: #9ca3af; font-size: 0.7rem; cursor: pointer; padding: 2px; transition: color 0.2s; } .message-delete-btn:hover { color: #ef4444; } /* User prompt area */ .user-prompt { background-color: #fffbeb; border-left: 4px solid #f59e0b; padding: 0.75rem; margin-bottom: 0.75rem; border-radius: 0.25rem; animation: fadeIn 0.3s ease; } .moderator-question { font-size: 0.95rem; } .moderator-question strong { color: #b45309; font-weight: 600; } /* Previous result */ .previous-result { font-size: 0.875rem; line-height: 1.4; } .previous-result strong { color: #4b5563; margin-right: 0.25rem; } /* Empty chat state */ #empty-chat-state { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: #9ca3af; text-align: center; padding: 2rem; } #empty-chat-state i { font-size: 3rem; color: #d1d5db; margin-bottom: 1rem; } #empty-chat-state h4 { margin: 0.5rem 0; color: #4b5563; } #empty-chat-state p { margin: 0; color: #6b7280; font-size: 0.875rem; } /* Animation */ @keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } } /* Scroll behavior */ .agent-chat-messages { scrollbar-width: thin; scrollbar-color: #d1d5db transparent; } .agent-chat-messages::-webkit-scrollbar { width: 6px; } .agent-chat-messages::-webkit-scrollbar-track { background: transparent; } .agent-chat-messages::-webkit-scrollbar-thumb { background-color: #d1d5db; border-radius: 3px; }