/* Chat Container - Dark Gaming Theme */ .chat-container { display: flex; height: 100vh; background: #000000; 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: rgba(0, 255, 136, 0.2); color: #00ff88; border: 1px solid #00ff88; } .status-indicator.offline { background: rgba(239, 68, 68, 0.2); color: #ef4444; border: 1px solid #ef4444; } /* Main Chat Area */ .chat-main { flex: 1; display: flex; flex-direction: column; background: rgba(10, 10, 15, 0.6); backdrop-filter: blur(20px); border-left: 1px solid rgba(0, 217, 255, 0.1); } .chat-header { padding: 1rem 1.5rem; border-bottom: 1px solid rgba(0, 217, 255, 0.1); background: rgba(10, 10, 15, 0.8); backdrop-filter: blur(20px); } .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%; } }