.cs-chat-container{display:flex;flex-direction:column;height:100vh;height:100dvh;background:linear-gradient(180deg,#e8f0fe,#f5f8ff);max-width:100vw;margin:0 auto}.cs-chat-loading,.cs-chat-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100dvh;background:linear-gradient(180deg,#e8f0fe,#f5f8ff);gap:2.133vw}.cs-loading-spinner{width:5.333vw;height:5.333vw;border:.4vw solid #d0e2f7;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cs-loading-spinner+p,.cs-chat-error p{color:#666;font-size:1.867vw}.cs-error-icon{width:6.4vw;height:6.4vw;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3.2vw;font-weight:700}.cs-chat-error button{margin-top:1.067vw;padding:1.067vw 3.2vw;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:3.2vw;cursor:pointer;box-shadow:0 .533vw 1.333vw #3b82f64d}.cs-chat-header{display:flex;align-items:center;justify-content:space-between;padding:1.6vw 2.133vw;padding-top:calc(1.6vw + env(safe-area-inset-top));background:#fff;color:#1a1a1a;border-bottom:1px solid #e0e8f0;position:sticky;top:0;z-index:10;box-shadow:0 .267vw 1.333vw #0000000d}.cs-header-left{display:flex;align-items:center;gap:1.067vw}.cs-header-right{display:flex;justify-content:flex-end;align-items:center;width:100%;padding:1.333vw 2.133vw;box-sizing:border-box;position:sticky;top:0;z-index:20}.cs-back-btn{background:none;border:none;padding:.533vw;cursor:pointer;color:#3b82f6;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.cs-back-btn:hover{background:#3b82f61a}.cs-header-info{display:flex;align-items:center}.cs-header-info h1{font-size:2.133vw;font-weight:700;color:#1a1a1a;margin:0}.cs-status-dot{width:1.067vw;height:1.067vw;border-radius:50%;margin-right:1.067vw}.cs-status-dot.online{background-color:#2ed573;box-shadow:0 0 .8vw #2ed57399}.cs-status-dot.offline{background-color:#ff4757}.cs-header-actions{display:flex;align-items:center}.cs-end-btn{padding:.533vw 1.6vw;background:#e8f0fe;color:#3b82f6;border:1px solid #93b4f5;border-radius:.533vw;font-size:1.733vw;font-weight:500;cursor:pointer;transition:all .2s}.cs-scroll-bottom-btn{position:fixed;bottom:13.333vw;right:2.133vw;width:5.333vw;height:5.333vw;background:#fff;border:none;border-radius:50%;box-shadow:0 .267vw 1.067vw #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;color:#3b82f6;z-index:100}.cs-scroll-bottom-btn:hover{transform:scale(1.1);box-shadow:0 .533vw 1.6vw #3b82f640}.cs-scroll-bottom-btn:active{transform:scale(.95)}.cs-chat-messages{position:relative;flex:1;overflow-y:auto;padding:1.6vw 2.133vw 2.133vw;display:flex;flex-direction:column;gap:1.6vw}.cs-loading-more,.cs-no-more{text-align:center;padding:1.6vw;color:#999;font-size:1.6vw;display:flex;align-items:center;justify-content:center;gap:1.067vw}.cs-reconnecting-banner{display:flex;align-items:center;justify-content:center;gap:1.067vw;padding:1.333vw 2.133vw;background:#e8f0fe;color:#3b82f6;font-size:1.733vw;border-radius:1.067vw;margin-bottom:1.067vw}.cs-reconnecting-icon{display:inline-block;animation:rotate 1s linear infinite}.cs-offline-tip{position:sticky;top:0;background:#e8f0fe;color:#3b82f6;font-size:1.733vw;padding:1.333vw 2.133vw;text-align:center;border-radius:1.067vw;margin-bottom:1.067vw;z-index:10}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cs-loading-spinner-small{width:2.133vw;height:2.133vw;border:.267vw solid #d0e2f7;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.cs-empty-hint{text-align:center;padding:8vw 2.667vw;color:#999;font-size:1.867vw}.cs-message{display:flex;max-width:75%}.cs-message.own{align-self:flex-end;flex-direction:row-reverse}.cs-message.other{align-self:flex-start}.cs-message.failed .cs-bubble{border:1px solid #ff4d4f}.cs-message-content{display:flex;flex-direction:column;gap:.533vw}.cs-message.own .cs-message-content{align-items:flex-end}.cs-sender-name{font-size:1.6vw;color:#3b82f6;font-weight:500;margin-left:1.6vw}.cs-bubble{position:relative;padding:1.333vw 1.867vw;border-radius:2.4vw;font-size:2vw;line-height:1.5;word-break:break-word}.cs-message.own .cs-bubble{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-bottom-right-radius:.533vw;box-shadow:0 .267vw 1.067vw #3b82f640}.cs-message.other .cs-bubble{background:#fff;color:#1a1a1a;border-bottom-left-radius:.533vw;box-shadow:0 .267vw 1.067vw #0000000d}.cs-bubble p{margin:0}.cs-error-tag{position:absolute;top:-1.067vw;right:-1.067vw;width:2.4vw;height:2.4vw;background:#ff4d4f;color:#fff;border-radius:50%;font-size:1.6vw;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:help}.cs-message-meta{display:flex;align-items:center;gap:.8vw;font-size:1.467vw;color:#999;margin:0 .533vw}.cs-time{color:#bbb}.cs-sending{color:#999}.cs-failed{color:#ff4d4f}.cs-chat-input{display:flex;align-items:center;padding:1.6vw 2.133vw;padding-bottom:calc(1.6vw + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e0e8f0;gap:1.6vw;box-shadow:0 -.267vw 1.333vw #00000008}.cs-chat-input input{flex:1;padding:1.6vw 2.133vw;border:1px solid #d0d8e0;border-radius:3.2vw;font-size:2vw;outline:none;transition:border-color .2s;background:#f8fafc}.cs-chat-input input:focus{border-color:#3b82f6;background:#fff}.cs-chat-input input:disabled{background:#f5f5f5;color:#999}.cs-send-btn{width:5.867vw;height:5.867vw;border-radius:50%;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 .533vw 1.333vw #3b82f64d}.cs-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 .8vw 1.867vw #3b82f666}.cs-send-btn:disabled{background:#d9d9d9;cursor:not-allowed}.cs-leave-message{flex:1;display:flex;flex-direction:column;padding:2.667vw;overflow-y:auto}.cs-offline-notice{background:#fff;border-radius:2.133vw;padding:3.2vw;text-align:center;margin-bottom:2.667vw;box-shadow:0 .267vw 1.067vw #0000000f}.cs-offline-icon{font-size:6.4vw;margin-bottom:2.133vw}.cs-offline-notice h2{font-size:2.4vw;font-weight:600;color:#1a1a1a;margin:0 0 1.6vw}.cs-offline-notice p{font-size:1.867vw;color:#666;margin:0 0 1.6vw}.cs-worktime-list{background:#f0f5ff;border-radius:1.6vw;padding:2.133vw;margin:2.133vw 0}.cs-worktime-item{display:flex;justify-content:space-between;padding:1.067vw 0;font-size:1.867vw;color:#333;border-bottom:1px solid #e0e8f0}.cs-worktime-item:last-child{border-bottom:none}.cs-leave-hint{color:#3b82f6!important;font-size:1.733vw!important}.cs-leave-form{background:#fff;border-radius:2.133vw;padding:2.667vw;box-shadow:0 .267vw 1.067vw #0000000f}.cs-leave-form textarea{width:100%;padding:1.6vw;border:1px solid #d0d8e0;border-radius:1.6vw;font-size:1.867vw;resize:vertical;outline:none;margin-bottom:1.6vw}.cs-leave-form textarea:focus{border-color:#3b82f6}.cs-submit-btn{width:100%;padding:1.867vw;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:1.6vw;font-size:2vw;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 .533vw 1.6vw #3b82f64d}.cs-submit-btn:hover:not(:disabled){transform:translateY(-.267vw);box-shadow:0 .8vw 2.133vw #3b82f666}.cs-submit-btn:disabled{background:#d9d9d9;cursor:not-allowed}.cs-leave-success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5.333vw;text-align:center}.cs-success-icon{width:8.533vw;height:8.533vw;background:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:4.267vw;margin-bottom:2.667vw}.cs-leave-success h2{font-size:2.667vw;font-weight:600;color:#1a1a1a;margin:0 0 1.6vw}.cs-leave-success p{font-size:1.867vw;color:#666;margin:0 0 3.2vw}.cs-leave-success button{padding:1.6vw 4.267vw;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:3.2vw;font-size:2vw;font-weight:600;cursor:pointer;box-shadow:0 .533vw 1.6vw #3b82f64d;transition:all .2s}.cs-leave-success button:hover{transform:translateY(-.267vw);box-shadow:0 .8vw 2.133vw #3b82f666}.cs-send-btn svg{transform:translate(.267vw)}@media(max-width:480px){.cs-message{max-width:85%}.cs-chat-header h1{font-size:16px}}.cs-header-actions{display:flex;gap:1.067vw}.cs-end-btn{padding:.8vw 1.6vw;background:#e8f0fe;color:#3b82f6;border:1px solid #93b4f5;border-radius:.533vw;font-size:1.733vw;cursor:pointer;transition:all .2s}.cs-end-btn:hover{background:#3b82f6;color:#fff;border-color:#3b82f6}.cs-system-message{text-align:center;padding:1.067vw 2.133vw;margin:1.067vw 0}.cs-system-content{display:inline-block;padding:.8vw 2.133vw;background:#f0f5ff;color:#3b82f6;font-size:1.6vw;border-radius:1.6vw}
