:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#27374a;background:#eef2f6;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:transparent;color:inherit;border-radius:8px;padding:9px 12px}button:hover{background:#e9f1f8}button:disabled{opacity:.55;cursor:wait}input,textarea{outline:none}input:focus,textarea:focus{border-color:#328fda}button:focus-visible{outline:2px solid #328fda}input{border:1px solid #dce4ed;border-radius:8px;padding:12px;width:100%;background:#f7f9fb}h1,h2,p{margin:0}h1{font-size:19px}h2{font-size:16px}[hidden]{display:none!important}.primary{background:#258bd2;color:white;font-weight:600}.primary:hover{background:#177bbf}.brandIcon{display:grid;place-items:center;background:#258bd2;width:40px;height:40px;border-radius:13px;color:white;font-size:25px}.login{height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at top left,#dcecf6,transparent 60%),#f3f6fa}.loginCard{width:390px;max-width:90vw;background:white;padding:38px;border:1px solid #e4eaf0;border-radius:20px;box-shadow:0 20px 70px #254f7610}.loginCard h1{margin:22px 0 9px;font-size:25px}.loginCard p{color:#8090a0;line-height:1.7;font-size:13px}.loginCard label{display:block;margin-top:20px;font-size:13px}.loginCard input{margin-top:8px}.loginCard .primary{width:100%;margin:25px 0 12px;padding:13px}.loginCard small{font-size:10px;letter-spacing:1.5px;color:#a5b1bc}.error{color:#c85252!important}#desk{display:flex;height:100dvh;max-width:1800px;margin:auto;background:white}.rail{width:76px;background:#f7f9fc;border-right:1px solid #e4eaf0;display:flex;align-items:center;flex-direction:column;padding:24px 0;gap:6px;flex-shrink:0}.railActive{margin-top:35px;background:#e3f0fa;color:#258bd2;border-radius:10px;font-size:27px;width:44px;text-align:center}.railLabel{font-size:11px;color:#258bd2}.rail #logout{margin-top:auto;font-size:23px}.sidebar{width:330px;border-right:1px solid #e5eaf0;display:flex;flex-direction:column;flex-shrink:0}.sidebar header{display:flex;justify-content:space-between;align-items:center;padding:26px 22px 20px}.sidebar header p{font-size:11px;color:#8393a2;margin-top:10px;max-width:245px;line-height:1.6}.dot{display:inline-block;width:6px;height:6px;background:#a5afbb;border-radius:50%;margin-right:6px}.dot.online{background:#33b690}.count{font-size:11px;background:#edf2f7;color:#7d8b9b;padding:3px 7px;border-radius:7px;vertical-align:middle}.search{padding:0 20px 16px}.search input{font-size:12px;background:#f5f7fa;border:1px solid transparent}nav{display:flex;padding:0 16px 12px;border-bottom:1px solid #eef1f5;gap:4px}nav button{font-size:12px;padding:8px 10px;color:#8090a0}nav button.active{background:#e9f4fc;color:#2089d1}nav b{font-size:10px;font-weight:500;margin-left:4px}.customerList{overflow:auto;flex:1}.customer{display:flex;gap:12px;text-align:left;width:100%;border-radius:0;padding:18px 19px;border-bottom:1px solid #f1f4f7;align-items:center}.customer.selected{background:#eaf4fc;box-shadow:inset 3px 0 #258bd2}.avatar{display:grid;place-items:center;width:44px;height:44px;background:#dcecf8;color:#3181b7;border-radius:50%;font-size:18px;font-weight:600;flex-shrink:0}.customer:nth-child(3n+2) .avatar{background:#e4e5fa;color:#8173b4}.customer:nth-child(3n) .avatar{background:#e0f0e9;color:#4e977d}.customerInfo{flex:1;min-width:0}.customerTop{display:flex;align-items:center;justify-content:space-between;gap:6px}.customerTop strong{font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.customerTop time{font-size:10px;color:#98a6b3;flex-shrink:0}.preview{display:flex;gap:5px;align-items:center;margin-top:7px;font-size:12px;color:#8b98a6}.preview span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.badge{font-size:10px;background:#258bd2;color:white;border-radius:10px;padding:2px 6px}.sidebar footer{padding:15px;text-align:center;border-top:1px solid #edf1f5;font-size:10px;color:#a0adba}.conversation{flex:1;min-width:0;position:relative;background:#f2f6f9}.empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.emptyIcon{font-size:48px;color:#489bd3;background:#e4f0f8;border:8px solid #ecf4fa;border-radius:30px;width:104px;height:104px;display:grid;place-items:center;margin-bottom:26px}.empty h2{font-size:23px}.empty p{color:#96a3b0;line-height:2;font-size:13px;margin-top:15px}.secure{margin-top:32px;font-size:11px;color:#87a397}#chat{height:100%;display:flex;flex-direction:column}.chatHead{height:88px;padding:18px 28px;display:flex;gap:13px;align-items:center;background:#fff;border-bottom:1px solid #e8edf2}.chatIdentity{flex:1;min-width:0}.chatIdentity h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatIdentity p{font-size:11px;color:#95a3af;margin-top:7px}.chatHead button{font-size:12px;border:1px solid #e3e9ef}.chatHead .resolve{color:#429779;background:#f2faf6;border-color:#deeee5}#back{display:none}.noteText{padding:10px 28px;background:#fff9e8;color:#958249;font-size:12px}.messages{flex:1;overflow:auto;padding:22px 30px;background:radial-gradient(circle at 20% 40%,#e8f0f5,transparent 50%),#f2f6f9}#older{display:block;margin:0 auto 20px;font-size:11px;color:#7b94a8}#messageItems{display:flex;flex-direction:column;gap:16px}.message{max-width:76%;align-self:flex-start;min-width:110px}.message.out{align-self:flex-end}.bubble{padding:12px 16px;line-height:1.75;background:white;border-radius:2px 13px 13px 13px;box-shadow:0 2px 5px #234b6b05;overflow-wrap:anywhere;white-space:pre-wrap}.out .bubble{background:#dcedfa;border-radius:13px 2px 13px 13px}.bubble img{max-width:100%;max-height:320px;border-radius:6px;display:block;margin-bottom:8px}.bubble a{color:#2386c8;word-break:break-all}.messageMeta{font-size:10px;color:#98a5b1;margin-top:6px;padding:0 3px}.out .messageMeta{text-align:right}.messageMeta.warn{color:#c38144}.composer{background:#fff;padding:14px 24px 17px;border-top:1px solid #e7edf3}.quick{display:flex;gap:8px}.quick button{font-size:11px;padding:5px 10px;background:#f5f7fa;color:#8797a7;border:1px solid #edf1f5}.composer textarea{resize:none;border:0;padding:15px 0;min-height:84px;width:100%;background:white;color:#34485a}.composeBottom{display:flex;align-items:center;gap:10px}.attach{color:#7d91a1;cursor:pointer;font-size:12px}.composeBottom small{margin-left:auto;font-size:10px;color:#a0afbc}.composeBottom .primary{padding:10px 22px;font-size:12px}#fileName{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6491ae;font-size:11px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#283e52;color:#fff;padding:13px 22px;border-radius:10px;box-shadow:0 5px 25px #0002;z-index:10;max-width:90vw}.listEmpty{padding:60px 20px;color:#99a6b2;font-size:12px;text-align:center;line-height:1.9}@media(max-width:1000px){.rail{width:60px}.sidebar{width:290px}.chatHead{padding:15px}.messages{padding:20px}.composeBottom small{display:none}.composeBottom .primary{margin-left:auto}}@media(max-width:700px){.rail{display:none}.sidebar{width:100%}.conversation{display:none}body.inChat .sidebar{display:none}body.inChat .conversation{display:block}#back{display:block}.chatHead{gap:8px}.chatHead button{padding:7px}.chatHead .avatar{width:34px;height:34px}.chatIdentity h2{font-size:14px}.message{max-width:90%}.composer{padding:12px 16px}}

#settingsDialog{border:1px solid #dce5ef;border-radius:16px;padding:28px;width:560px;max-width:94vw;max-height:90dvh;color:#27374a}#settingsDialog::backdrop{background:#18304766}.settingsHead,.settingsActions{display:flex;justify-content:space-between;align-items:center;gap:12px}#settingsDialog p{line-height:1.8;margin:12px 0}#settingsDialog label{display:block;margin-top:18px}.enableLine input{width:auto;margin-right:8px}#settingsDialog input:not([type=checkbox]){margin-top:8px}.settingsHint,#relayErrors{font-size:12px;color:#7c8b99}.settingsActions{margin-top:20px}#settingsResult{color:#2677ae}#settingsStatus{padding:12px;background:#f0f5f9;border-radius:8px;margin-top:16px;font-size:12px}#settingsButton{margin-top:auto}.rail #logout{margin-top:0}@media(max-width:700px){.rail{display:flex;width:45px;padding:14px 0}.rail .brandIcon{width:32px;height:32px}.railActive{width:32px}.sidebar{width:calc(100% - 45px)}body.inChat .conversation{width:calc(100% - 45px)}}
