[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"Microsoft YaHei",Arial,sans-serif;background:#f5f7fb;color:#172033}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;background:#6658e8;color:white;padding:10px 16px}.ghost{background:#eef0f6;color:#374151}.danger{background:#feecec;color:#c33}.warn{background:#fff3db;color:#9a6400}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#5d55e8,#8a62ef)}.loginbox{width:390px;background:#fff;padding:36px;border-radius:18px;box-shadow:0 24px 70px #352c8a55}.loginbox h1{margin:0}.loginbox p{color:#7b8190}.loginbox input,.dialog input,.dialog select,.dialog textarea{width:100%;margin:8px 0;padding:12px;border:1px solid #dfe3eb;border-radius:9px}.loginbox button{width:100%;margin:10px 0}.loginbox small{color:#9096a3}.err{color:#d33;margin-top:8px}#shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}aside{background:#fff;border-right:1px solid #e8eaf0;padding:24px 16px;display:flex;flex-direction:column;min-height:100vh}.brand{font-size:14px;color:#8b91a0;margin:0 12px 28px}.brand b{font-size:22px;color:#5e55df}nav{display:grid;gap:7px}nav button{background:transparent;color:#606779;text-align:left;padding:12px 14px}nav button.active,nav button:hover{background:#f0efff;color:#5e55df}.asidefoot{margin-top:auto;display:grid;gap:10px;color:#777}.asidefoot a{color:#5e55df;text-decoration:none}.asidefoot button{background:#f4f5f8;color:#666}aside select{margin-bottom:18px;padding:10px;border:1px solid #ddd;border-radius:9px}main{padding:26px 34px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}header h1{margin:0;font-size:26px}header p{margin:5px 0;color:#89909f}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid #eceef3;border-radius:14px;padding:20px;box-shadow:0 2px 9px #2221}.card .num{font-size:30px;font-weight:700;color:#5e55df}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}.botcard{background:#fff;border:1px solid #e9ebf1;border-radius:14px;padding:20px}.badge{display:inline-block;padding:5px 9px;border-radius:20px;background:#f1f2f5;color:#777;font-size:12px}.badge.on{background:#e6f8ef;color:#17804b}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.modal{position:fixed;inset:0;background:#1118;display:grid;place-items:center;z-index:50}.modal[hidden]{display:none}.dialog{width:480px;background:#fff;border-radius:16px;padding:24px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px;border-bottom:1px solid #eee;text-align:left}.serviceMain{padding:0}.chatlayout{height:100vh;display:grid;grid-template-columns:310px 1fr}.sessions{background:#fff;border-right:1px solid #e8eaf0;overflow:auto}.search{padding:18px;position:sticky;top:0;background:#fff;z-index:2}.search input{width:100%;padding:11px;border:1px solid #ddd;border-radius:9px}.session{padding:14px 18px;border-bottom:1px solid #f0f1f4;cursor:pointer}.session.active{background:#f1f0ff}.session b{display:flex;justify-content:space-between}.session small{display:block;color:#9298a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.unread{background:#ee5b5b;color:#fff;border-radius:10px;padding:1px 6px;font-size:11px}.chatmain{height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:#f7f8fb}.chathead{background:#fff;padding:15px 20px;border-bottom:1px solid #e8eaf0;display:flex;justify-content:space-between;align-items:center}.muted{color:#8b91a0;font-size:13px}.messages{overflow:auto;padding:22px}.bubbleRow{display:flex;margin:12px 0}.bubbleRow.out{justify-content:flex-end}.bubble{max-width:68%;background:#fff;padding:11px 13px;border-radius:12px;box-shadow:0 1px 3px #2221;word-break:break-word}.bubbleRow.out .bubble{background:#6658e8;color:#fff}.bubble .time{font-size:10px;opacity:.6;margin-top:6px}.bubble img{max-width:300px;max-height:300px;border-radius:8px;display:block}.bubble audio{max-width:300px}.bubble a{color:inherit}.retract{font-size:11px;border:0;background:transparent;color:inherit;opacity:.7;padding:3px 0}.composer{background:#fff;border-top:1px solid #e8eaf0;padding:10px 16px}.tools{display:flex;gap:6px;margin-bottom:7px}.tools button{background:transparent;color:#62697a;font-size:20px;padding:5px 8px}.composeRow{display:grid;grid-template-columns:1fr auto;gap:10px}.composeRow textarea{resize:none;min-height:58px;max-height:140px;padding:11px;border:1px solid #dfe2e8;border-radius:10px}.emojiBox{position:absolute;bottom:95px;background:#fff;border:1px solid #ddd;box-shadow:0 8px 25px #0002;border-radius:10px;padding:10px;display:grid;grid-template-columns:repeat(8,32px);z-index:10}.emojiBox button{background:transparent;padding:4px;font-size:20px}.empty{padding:40px;color:#999;text-align:center}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.rule{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin:8px 0}.rule input,.panel textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px}.noteInput{padding:7px;border:1px solid #ddd;border-radius:8px}@media(max-width:900px){#shell{grid-template-columns:170px 1fr}.chatlayout{grid-template-columns:240px 1fr}.cards{grid-template-columns:1fr 1fr}main{padding:18px}.bubble{max-width:85%}}/* V6.2 客服聊天体验升级 */
.serviceMain{background:#f4f6fb}.chatlayout{background:#fff}.sessions{box-shadow:4px 0 18px rgba(31,41,55,.025)}
.search{padding:16px 14px;border-bottom:1px solid #f0f1f5}.search input{background:#f6f7fa;border-color:transparent;outline:none;transition:.18s}.search input:focus{background:#fff;border-color:#8a82ef;box-shadow:0 0 0 3px rgba(102,88,232,.09)}
.session{min-height:72px;padding:14px 16px;transition:background .15s,border-color .15s;border-left:3px solid transparent}.session:hover{background:#f8f8fd}.session.active{background:#f0efff;border-left-color:#6658e8}.session b{font-size:14px}.session small{line-height:1.5}
.chathead{min-height:72px;padding:12px 22px;box-shadow:0 1px 0 rgba(17,24,39,.04);z-index:3}.chathead>div:first-child b{font-size:16px}.chathead>div:last-child{display:flex;align-items:center;gap:7px}.chathead button{padding:8px 11px}.noteInput{width:150px;background:#fafbfc;outline:none}
.messages{padding:24px 28px 18px;scroll-behavior:smooth;background:radial-gradient(circle at 50% 0,#fafbff 0,#f6f7fb 48%,#f6f7fb 100%)}
.bubbleRow{margin:8px 0;animation:msgIn .16s ease-out}.bubble{padding:10px 13px;border-radius:14px;box-shadow:0 1px 2px rgba(20,25,40,.08);line-height:1.55}.bubbleRow:not(.out) .bubble{border-top-left-radius:5px}.bubbleRow.out .bubble{border-top-right-radius:5px;background:linear-gradient(135deg,#6c60ec,#6254df);box-shadow:0 3px 12px rgba(102,88,232,.16)}.bubble .time{font-size:10px;margin-top:4px}.retract{opacity:0;transition:opacity .15s}.bubble:hover .retract{opacity:.72}
.composer{position:relative;padding:9px 16px 14px;box-shadow:0 -5px 22px rgba(25,30,50,.035);z-index:4}.tools{margin-bottom:5px}.tools button{border-radius:8px;transition:background .15s,transform .12s}.tools button:hover{background:#f1f0ff;color:#5e55df}.tools button:active{transform:scale(.94)}.composeRow textarea{border-color:#e2e5ec;background:#fafbfc;outline:none;line-height:1.5;transition:.18s}.composeRow textarea:focus{background:#fff;border-color:#8a82ef;box-shadow:0 0 0 3px rgba(102,88,232,.08)}.composeRow #send{min-width:78px;align-self:end;height:42px;transition:transform .12s,opacity .15s}.composeRow #send:active{transform:scale(.97)}.composeRow #send:disabled{opacity:.5;cursor:not-allowed}
.emojiBox{left:14px;bottom:105px;grid-template-columns:repeat(8,38px);gap:2px;padding:10px;border-color:#e8e9ef;box-shadow:0 14px 40px rgba(25,30,55,.16);animation:pop .14s ease-out}.emojiBox button{width:38px;height:36px;border-radius:8px}.emojiBox button:hover{background:#f1f0ff;transform:scale(1.08)}
.newMsgTip{position:absolute;right:26px;bottom:118px;z-index:8;padding:8px 13px;border-radius:18px;background:#fff;color:#5e55df;border:1px solid #e6e3ff;box-shadow:0 5px 18px rgba(40,35,90,.12)}
@keyframes msgIn{from{opacity:.25;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes pop{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
