*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:#f5f7fa;color:#1f2329}a{text-decoration:none}.login-wrap{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef3ff,#f7f9fc,#eaf1ff)}.login-card{width:400px;padding:8px 8px 0}.login-logo{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#1677ff,#4f8cff);color:#fff;font-weight:700;font-size:22px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.app-logo{height:56px;display:flex;align-items:center;gap:10px;padding:0 20px;font-weight:700;font-size:16px;border-bottom:1px solid #f0f0f0}.app-logo .dot{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#1677ff,#4f8cff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}.chat-page{display:flex;height:calc(100vh - 64px);background:#fff}.chat-side{width:260px;border-right:1px solid #f0f0f0;display:flex;flex-direction:column}.chat-side-head{padding:12px;border-bottom:1px solid #f0f0f0}.chat-side-list{flex:1;overflow:auto;padding:8px}.conv-item{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:13px;color:#4b5563;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item:hover{background:#f5f7fa}.conv-item.active{background:#e8f0ff;color:#1677ff;font-weight:600}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-msgs{flex:1;overflow:auto;padding:20px 24px}.msg-row{display:flex;gap:12px;margin-bottom:18px}.msg-row.me{flex-direction:row-reverse}.msg-bubble{max-width:72%;padding:10px 14px;border-radius:12px;background:#f5f7fa;font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.msg-row.me .msg-bubble{background:#1677ff;color:#fff}.chat-input{border-top:1px solid #f0f0f0;padding:14px 24px}.chat-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa3b2;gap:8px}
