*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:#1f2329;background:#eef0f3}button,input,textarea{font:inherit}.hidden{display:none!important}.mobile-block{display:none;min-height:100vh;align-items:center;justify-content:center;padding:24px}.mobile-card{width:100%;max-width:390px;background:#fff;border-radius:22px;padding:42px 28px;text-align:center;box-shadow:0 20px 60px rgba(20,28,40,.1)}.mobile-logo,.brand-logo,.empty-icon{display:grid;place-items:center;background:#2f68ed;color:#fff;font-weight:800}.mobile-logo{width:74px;height:74px;border-radius:22px;margin:auto;font-size:34px}.mobile-card p{color:#8a919d}.app-shell{width:100%;height:100%}.login-view{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#edf1f7,#f8f9fb)}.login-card{width:420px;min-height:530px;background:#fff;border-radius:18px;padding:34px 42px;box-shadow:0 28px 80px rgba(31,42,58,.13)}.brand{display:flex;align-items:center;gap:14px}.brand-logo{width:54px;height:54px;border-radius:15px;font-size:25px}.brand h1{font-size:24px;margin:0}.brand p{margin:5px 0 0;color:#9399a2}.login-tabs{display:flex;border-bottom:1px solid #e9ebef;margin:34px 0 24px}.login-tabs button{flex:1;border:0;background:none;padding:13px;color:#8b929c;cursor:pointer}.login-tabs button.active{color:#1f2329;font-weight:700;border-bottom:2px solid #07c160}.login-pane{display:none}.login-pane.active{display:block}.qr-wrap{position:relative;width:238px;height:238px;margin:8px auto 22px;padding:9px;border:1px solid #e4e7eb;border-radius:10px;background:#fff}.qr-wrap canvas{width:220px;height:220px}.qr-overlay{position:absolute;inset:0;background:rgba(255,255,255,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:10px}.qr-overlay button{border:0;background:#07c160;color:#fff;padding:9px 24px;border-radius:6px;cursor:pointer}#qrPane{text-align:center}#qrPane strong{display:block;font-size:16px}#qrPane p{font-size:13px;color:#959ba5}.login-pane label{display:block;font-size:13px;color:#606771;margin:18px 0}.login-pane input{width:100%;height:46px;border:1px solid #dfe3e8;border-radius:8px;padding:0 13px;margin-top:8px;outline:0}.login-pane input:focus{border-color:#07c160}.primary{width:100%;height:46px;border:0;border-radius:8px;background:#07c160;color:#fff;cursor:pointer}.login-error{height:24px;margin-top:16px;color:#d94b5b;font-size:13px;text-align:center}.main-view{height:100%;display:grid;grid-template-columns:64px 310px 1fr;max-width:1500px;min-width:980px;margin:auto;background:#fff;box-shadow:0 0 35px rgba(20,30,45,.08)}.side-rail{background:#2e2e2e;padding:24px 10px 16px;display:flex;flex-direction:column;align-items:center;gap:14px}.self-avatar{width:42px;height:42px;border-radius:5px;background:#3978ee;color:#fff;display:grid;place-items:center;font-weight:700;background-size:cover;background-position:center}.rail-btn{width:42px;height:42px;border:0;background:transparent;color:#a8aaad;font-size:24px;cursor:pointer;border-radius:7px}.rail-btn:hover,.rail-btn.active{color:#07c160;background:#383838}.rail-spacer{flex:1}.list-pane{background:#f7f7f7;border-right:1px solid #e4e5e7;min-width:0}.list-head{height:66px;padding:0 18px;display:flex;align-items:center;justify-content:space-between}.list-head strong{font-size:18px}.list-head button,.chat-head button{border:0;background:transparent;font-size:20px;color:#80868f;cursor:pointer}.search{height:38px;margin:0 12px 12px;background:#e7e7e7;border-radius:5px;display:flex;align-items:center;padding:0 10px;color:#888}.search input{flex:1;border:0;outline:0;background:transparent;padding-left:8px}.item-list{height:calc(100% - 116px);overflow:auto}.list-item{height:70px;padding:10px 12px;display:flex;gap:11px;align-items:center;cursor:pointer}.list-item:hover{background:#e9e9e9}.list-item.active{background:#d9d9d9}.item-avatar{width:48px;height:48px;border-radius:5px;background:#5779e8;color:#fff;display:grid;place-items:center;flex:none;font-weight:700;background-size:cover;background-position:center}.item-main{min-width:0;flex:1}.item-top{display:flex;align-items:center}.item-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.item-time{font-size:11px;color:#aaa}.item-preview{font-size:12px;color:#999;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread{min-width:18px;height:18px;padding:0 5px;border-radius:10px;background:#fa5151;color:#fff;font-size:11px;line-height:18px;text-align:center}.chat-pane{min-width:0;background:#f5f5f5}.empty-chat{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a0a4aa}.empty-icon{width:72px;height:72px;border-radius:20px;font-size:32px;opacity:.75}.chat-view{height:100%;display:grid;grid-template-rows:66px 1fr 156px}.chat-head{border-bottom:1px solid #e2e2e2;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.chat-head strong{display:block;font-size:16px}.chat-head span{display:block;font-size:11px;color:#999;margin-top:4px}.message-list{overflow:auto;padding:24px 28px}.message-row{display:flex;margin:14px 0;gap:10px}.message-row.mine{flex-direction:row-reverse}.message-avatar{width:38px;height:38px;border-radius:4px;background:#5b7bea;color:#fff;display:grid;place-items:center;font-size:14px;background-size:cover;background-position:center}.message-bubble{max-width:min(65%,620px);padding:10px 13px;border-radius:4px;background:#fff;line-height:1.6;font-size:14px;word-break:break-word;position:relative}.message-row.mine .message-bubble{background:#95ec69}.message-meta{font-size:10px;color:#aaa;margin-top:4px}.message-card{min-width:230px}.message-image{max-width:280px;max-height:230px;border-radius:5px;display:block}.composer{border-top:1px solid #ddd;background:#fff;padding:12px 18px}.composer textarea{width:100%;height:90px;border:0;outline:0;resize:none;font-size:15px;line-height:1.6}.composer-foot{display:flex;justify-content:space-between;align-items:center}.composer-foot span{font-size:11px;color:#aaa}.composer-foot button{width:76px;height:30px;border:0;background:#e9e9e9;color:#4a4f56;border-radius:4px;cursor:pointer}.composer-foot button:hover{background:#d9f4df;color:#14904a}.empty-list{padding:60px 20px;text-align:center;color:#aaa;font-size:13px}@media(max-width:800px){.app-shell{display:none!important}.mobile-block{display:flex}}
