/* Chat Container */ .chat-container { display: flex; height: 100vh; background: #f5f5f5; position: relative; } .chat-status { position: absolute; top: 10px; right: 10px; z-index: 100; } .status-indicator { padding: 6px 12px; border-radius: 20px; font-size: 0.875rem; font-weight: 500; } .status-indicator.online { background: #d1fae5; color: #065f46; } .status-indicator.offline { background: #fee2e2; color: #991b1b; } /* Main Chat Area */ .chat-main { flex: 1; display: flex; flex-direction: column; background: white; border-left: 1px solid #e5e7eb; } .chat-header { padding: 1rem 1.5rem; border-bottom: 1px solid #e5e7eb; background: white; } .conversation-info { display: flex; align-items: center; gap: 1rem; } .conversation-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; color: white; font-weight: 600; font-size: 1.25rem; } .conversation-info h3 { margin: 0; font-size: 1.125rem; font-weight: 600; } .participant-info { margin: 0.25rem 0 0 0; font-size: 0.875rem; color: #6b7280; } /* No Conversation Selected */ .no-conversation-selected { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #9ca3af; } .no-conversation-selected p { margin: 0.5rem 0; } .no-conversation-selected .hint { font-size: 0.875rem; color: #d1d5db; } /* Loading/Error States */ .chat-loading, .chat-error { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; gap: 1rem; } .spinner { width: 40px; height: 40px; border: 4px solid #e5e7eb; border-top-color: #3b82f6; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .chat-error p { color: #dc2626; font-weight: 500; } .chat-error button { padding: 0.5rem 1rem; background: #3b82f6; color: white; border: none; border-radius: 0.5rem; cursor: pointer; font-weight: 500; } .chat-error button:hover { background: #2563eb; } /* Responsive */ @media (max-width: 768px) { .chat-container { flex-direction: column; } .conversation-list { max-width: 100%; } }