body { margin: 0; font-family: ui-sans-serif, system-ui, sans-serif; }
.layout { display: flex; height: 100vh; }
.sidebar { width: 260px; background: #faf9f6; border-right: 1px solid #e5e3df; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.sidebar-header { display: flex; justify-content: space-between; align-items: center; font-weight: 600; padding: 4px 0 12px; border-bottom: 1px solid #e5e3df; }
.sidebar-header .logout { font-size: 12px; color: #6b6864; text-decoration: none; }
.session-list { list-style: none; padding: 0; margin: 8px 0 0; flex: 1; overflow-y: auto; }
.session-list li { padding: 6px 8px; border-radius: 6px; }
.session-list li.active { background: #efedea; }
.session-list li a { color: #2c2a26; text-decoration: none; display: block; }
.main { flex: 1; display: flex; flex-direction: column; }
.main-header { padding: 10px 14px; border-bottom: 1px solid #e5e3df; font-weight: 500; }
.messages { flex: 1; padding: 14px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; }
.msg { max-width: 70%; padding: 8px 12px; border-radius: 12px; white-space: pre-wrap; }
.msg-user { align-self: flex-end; background: #1f6feb; color: white; border-bottom-right-radius: 4px; }
.msg-assistant { align-self: flex-start; background: #f4f2ee; border-bottom-left-radius: 4px; }
.msg-status { align-self: flex-start; background: #fff8e6; border: 1px solid #f0d480; font-size: 12px; color: #806020; }
.msg-tool { align-self: flex-start; background: #e6ffed; border: 1px solid #a4dcb1; font-size: 12px; color: #176229; }
.composer { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #e5e3df; }
.composer textarea { flex: 1; resize: none; border: 1px solid #d4d2cc; border-radius: 8px; padding: 8px 12px; font: inherit; }
.composer textarea.drag { background: #fff8e6; border-color: #d4a657; }
.empty { display: flex; align-items: center; justify-content: center; height: 100%; color: #6b6864; }
