:root {
    --bg-color: #f0f2f5;
    --sidebar-bg: #ffffff;
    --chat-bg: #e5ddd5;
    --accent-color: #00a884;
    --text-primary: #111b21;
    --text-secondary: #667781;
    --bubble-own: #d9fdd3;
    --bubble-other: #ffffff;
}

body, html { margin: 0; padding: 0; height: 100%; font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; overflow: hidden; }

.app-container { display: flex; height: 100vh; width: 100vw; background: var(--bg-color); }

/* Sidebar */
.sidebar { width: 350px; background: var(--sidebar-bg); display: flex; flex-direction: column; border-right: 1px solid #d1d7db; }
.sidebar-header { padding: 15px; background: #f0f2f5; display: flex; align-items: center; border-bottom: 1px solid #d1d7db; font-weight: bold; color: var(--text-primary); }
.sidebar-search { padding: 10px; background: #ffffff; }
.sidebar-search input { width: 90%; padding: 8px 15px; border-radius: 8px; border: 1px solid #e9edef; background: #f0f2f5; outline: none; }
.conversation-list { flex: 1; overflow-y: auto; background: white; }
.conversation-item { padding: 15px; display: flex; align-items: center; border-bottom: 1px solid #f2f2f2; cursor: pointer; transition: background 0.2s; }
.conversation-item:hover { background: #f5f5f5; }
.conv-info { margin-left: 15px; flex: 1; overflow: hidden; }
.conv-info h4 { margin: 0; color: var(--text-primary); font-weight: 500; }
.conv-info p { margin: 2px 0 0; color: var(--text-secondary); font-size: 0.85em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Chat Panel */
.chat-panel { flex: 1; display: flex; flex-direction: column; background: var(--chat-bg); }
.chat-header { padding: 12px 20px; background: #f0f2f5; display: flex; align-items: center; border-bottom: 1px solid #d1d7db; font-weight: bold; }
.message-list { flex: 1; padding: 30px 50px; overflow-y: auto; display: flex; flex-direction: column; background: #e5ddd5; }
.message { margin-bottom: 8px; padding: 8px 12px; border-radius: 8px; max-width: 60%; position: relative; box-shadow: 0 1px 1px rgba(0,0,0,0.1); font-size: 0.95em; }
.msg-me { background: var(--bubble-own); align-self: flex-end; border-top-right-radius: 0; }
.msg-other { background: var(--bubble-other); align-self: flex-start; border-top-left-radius: 0; }
.input-area { padding: 12px 20px; background: #f0f2f5; display: flex; align-items: center; gap: 10px; }
.input-area input { flex: 1; padding: 12px 15px; border-radius: 8px; border: none; outline: none; box-shadow: 0 1px 1px rgba(0,0,0,0.1); }
.input-area button { padding: 10px 20px; background: var(--accent-color); color: white; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; }
