@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); body { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background-color: #f3f4f6; overflow: hidden; } .chat-app { display: flex; height: 100vh; } .sidebar { width: 320px; flex-shrink: 0; background-color: #ffffff; border-right: 1px solid #e5e7eb; display: flex; flex-direction: column; } .sidebar-header { padding: 1.5rem; border-bottom: 1px solid #e5e7eb; } .sidebar-search { padding: 1rem 1.5rem; border-bottom: 1px solid #e5e7eb; } .conversation-list { flex-grow: 1; overflow-y: auto; } .conversation-item { display: flex; align-items: center; padding: 1rem 1.5rem; cursor: pointer; border-bottom: 1px solid #e5e7eb; } .conversation-item:hover { background-color: #f9fafb; } .conversation-item.active { background-color: #eff6ff; border-right: 3px solid #3b82f6; } .avatar { width: 48px; height: 48px; border-radius: 9999px; object-fit: cover; margin-right: 1rem; } .avatar-sm { width: 40px; height: 40px; } .conversation-info .name { font-weight: 600; color: #111827; } .conversation-info .last-message { font-size: 0.875rem; color: #6b7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; } .chat-view { flex-grow: 1; display: flex; flex-direction: column; } .chat-header { display: flex; align-items: center; padding: 1rem 1.5rem; background-color: #ffffff; border-bottom: 1px solid #e5e7eb; } .chat-header .name { font-weight: 600; } .chat-header .status { font-size: 0.875rem; color: #6b7280; } .chat-body { flex-grow: 1; padding: 1.5rem; overflow-y: auto; display: flex; flex-direction: column; } .message { display: flex; margin-bottom: 1rem; max-width: 75%; } .message-bubble { padding: 0.75rem 1rem; border-radius: 0.75rem; font-size: 0.9rem; line-height: 1.5; } .message.sent { align-self: flex-end; flex-direction: row-reverse; } .message.sent .message-bubble { background-color: #3b82f6; color: #ffffff; border-bottom-right-radius: 0.25rem; } .message.received { align-self: flex-start; } .message.received .message-bubble { background-color: #ffffff; color: #111827; border: 1px solid #e5e7eb; border-bottom-left-radius: 0.25rem; } .message-time { font-size: 0.75rem; color: #9ca3af; align-self: flex-end; margin: 0 0.5rem; } .chat-footer { padding: 1rem 1.5rem; background-color: #ffffff; border-top: 1px solid #e5e7eb; }