.new-chat-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,.5);padding:16px}.new-chat-modal-content{width:100%;max-width:500px;max-height:85vh;background-color:var(--card);color:var(--card-foreground);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.new-chat-modal-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.new-chat-modal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px}.new-chat-modal-footer{padding:16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.chat-sidebar{width:100%;height:100%;z-index:11;background-color:var(--card);color:var(--card-foreground);display:flex;flex-direction:column;overflow:hidden}@media(min-width:768px){.chat-sidebar{width:280px;flex-shrink:0;border-right:1px solid var(--border)}}.chat-sidebar>div{height:100%;display:flex;flex-direction:column;overflow:hidden}.chat-sidebar>div .overflow-y-auto{flex:1;-webkit-overflow-scrolling:touch}@media(max-width:767px){.chat-sidebar>div .overflow-y-auto{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.participant{min-height:44px;touch-action:manipulation}}.chat-header{padding:12px 16px;display:flex;align-items:center;border-bottom:1px solid var(--border);background-color:var(--card);color:var(--card-foreground);z-index:10;flex-shrink:0;position:sticky;top:0}.chat-header-back-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:18px;background:rgba(0,0,0,0);border:none;color:var(--foreground);cursor:pointer;transition:background-color .2s ease}.chat-header-back-button:hover{background-color:var(--muted)}.chat-header-back-button:active{background-color:var(--muted);transform:scale(.95)}.chat-header-title{flex:1;min-width:0}.chat-header-title h2,.chat-header-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.chat-header-actions{display:flex;gap:8px}@media(min-width:768px){.chat-header-actions{gap:16px}}.chat-header-actions button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:16px;background:rgba(0,0,0,0);border:none;color:var(--foreground);cursor:pointer;transition:background-color .2s ease}@media(min-width:768px){.chat-header-actions button{width:40px;height:40px}}.chat-header-actions button:hover{background-color:var(--muted)}.chat-header-actions button:active{background-color:var(--muted);transform:scale(.95)}.chat-messages{flex:1;overflow-y:auto;padding:20px 12px 12px;-webkit-overflow-scrolling:touch;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}@media(min-width:768px){.chat-messages{padding:24px 16px 16px}}.chat-messages .message{max-width:85%;margin-bottom:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}@media(min-width:768px){.chat-messages .message{max-width:70%}}.chat-messages .message-bubble{border-radius:18px;padding:8px 12px;word-break:break-word;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-touch-callout:none}@media(min-width:768px){.chat-messages .message-bubble{padding:10px 16px}}.chat-messages .message-bubble:hover{transform:translateY(-1px)}.chat-messages .message-bubble.cursor-pointer{cursor:pointer}.chat-messages .message-bubble:active{transform:scale(.98);transition:transform .1s ease}.chat-messages .message-image{border-radius:12px;overflow:hidden;max-width:300px;margin-top:4px}.chat-messages .message-image,.chat-messages .message-image img{max-height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chat-messages .message-image img{width:100%;height:auto;object-fit:cover;display:block;-webkit-user-drag:none;pointer-events:none}.chat-messages .message-avatar{width:32px;height:32px;border-radius:16px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media(min-width:768px){.chat-messages .message-avatar{width:40px;height:40px}.chat-messages .message:hover .group-hover\:opacity-100{opacity:1}}@media(max-width:767px){.chat-messages .message:active .message-bubble{transform:scale(.98)}}.message-context-menu{position:fixed;z-index:80;padding:6px;min-width:160px;animation:context-menu-appear .2s cubic-bezier(.16,1,.3,1);transform-origin:center top;position:fixed!important}.message-context-menu,.message-context-menu .context-menu-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.message-context-menu .context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:rgba(0,0,0,0);border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}@media(max-width:767px){.message-context-menu .context-menu-item{padding:12px 16px;font-size:16px;min-height:44px}}.message-context-menu .context-menu-item svg{flex-shrink:0}.message-context-menu .context-menu-item:hover{transform:translateX(2px)}.message-context-menu .context-menu-item:active{transform:scale(.98)}@keyframes context-menu-appear{0%{opacity:0;transform:scale(.8) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes context-menu-disappear{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(-10px)}}.chat-container{display:flex;flex-direction:column;height:calc(100vh - 70px);width:100%;overflow:hidden;position:relative}@media(min-width:768px){.chat-container{flex-direction:row}}.chat-content{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;height:100%;overflow:hidden}@media(max-width:767px){.chat-container{height:100dvh;min-height:100%}.chat-messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.message-context-menu{min-width:180px;padding:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.message-bubble:active{transform:scale(.98);transition:transform .1s ease}}@media(prefers-reduced-motion:reduce){.message-context-menu{animation:none}.context-menu-item,.message-bubble{transition:none}}@media(prefers-contrast:high){.message-context-menu{border-width:2px}.context-menu-item{border:1px solid rgba(0,0,0,0)}.context-menu-item:focus,.context-menu-item:hover{border:1px solid}}.message-input{padding:12px;border-top:1px solid var(--border);background-color:var(--card);position:relative;z-index:5;flex-shrink:0}@media(min-width:768px){.message-input{padding:16px}}.message-input .attachments-preview{margin-bottom:12px;padding:8px;background-color:var(--muted);border-radius:12px;border:1px solid var(--border)}.message-input .attachments-preview .attachments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-input .attachments-preview .attachments-header .attachments-count{font-size:12px;font-weight:500;color:var(--muted-foreground)}.message-input .attachments-preview .attachments-header .clear-all-attachments{background:rgba(0,0,0,0);border:none;color:var(--destructive);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background-color .2s ease}.message-input .attachments-preview .attachments-header .clear-all-attachments:hover:not(:disabled){background-color:var(--destructive);color:var(--destructive-foreground)}.message-input .attachments-preview .attachments-header .clear-all-attachments:disabled{opacity:.5;cursor:not-allowed}.message-input .attachments-preview .attachments-grid{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.message-input .attachment-preview-content{display:flex;align-items:center;gap:8px;position:relative;background-color:var(--background);padding:6px;border-radius:8px;border:1px solid var(--border)}.message-input .attachment-preview .image-preview{display:flex;align-items:center;gap:8px;flex:1}.message-input .attachment-preview .image-preview .preview-image{width:32px;height:32px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.message-input .attachment-preview .image-preview .image-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.message-input .attachment-preview .file-preview{display:flex;align-items:center;gap:8px;flex:1}.message-input .attachment-preview .file-preview .file-icon{color:var(--muted-foreground);flex-shrink:0}.message-input .attachment-preview .file-preview .file-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.message-input .attachment-preview .file-name{font-size:12px;font-weight:500;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-input .attachment-preview .file-size{font-size:10px;color:var(--muted-foreground)}.message-input .attachment-preview .remove-attachment{background:var(--destructive);color:var(--destructive-foreground);border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.message-input .attachment-preview .remove-attachment:hover:not(:disabled){background:var(--destructive);opacity:.8}.message-input .attachment-preview .remove-attachment:disabled{opacity:.5;cursor:not-allowed}.message-input-form{display:flex;align-items:center;background-color:var(--muted);border-radius:24px;padding:4px}.message-input-field{flex:1;padding:8px 12px;border:none;background:rgba(0,0,0,0);min-height:20px;font-size:16px;max-height:80px;color:var(--foreground)}.message-input-field:focus{outline:none}.message-input-field:disabled{opacity:.6;cursor:not-allowed}.message-input-field::placeholder{color:var(--muted-foreground)}.message-input-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);border:none;color:var(--muted-foreground);cursor:pointer;border-radius:18px;transition:all .2s ease}@media(min-width:768px){.message-input-icon{width:40px;height:40px}}.message-input-icon:hover:not(:disabled){background-color:var(--accent);color:var(--foreground)}.message-input-icon:disabled{opacity:.5;cursor:not-allowed}.message-input .send-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:rgba(0,0,0,0);border:none;cursor:pointer;transition:all .2s ease}@media(min-width:768px){.message-input .send-button{width:40px;height:40px}}.message-input .send-button.active{background-color:var(--primary);color:var(--primary-foreground)}.message-input .send-button.active:hover{background-color:var(--primary);opacity:.9}.message-input .send-button.disabled{color:var(--muted-foreground);opacity:.5;cursor:not-allowed}.message-input .send-button .spinner{width:16px;height:16px;border-top:2px solid var(--muted-foreground);border:2px solid var(--muted-foreground);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.mobile-chat-view .message-input{position:sticky;bottom:0;z-index:15;flex-shrink:0;background-color:var(--card);border-top:1px solid var(--border)}@supports(padding:max(0px)){.message-input{padding-bottom:max(12px,env(safe-area-inset-bottom) + 4px)}}@media(pointer:coarse){.message-input-icon:hover,.send-button:hover{background-color:rgba(0,0,0,0)!important}}@media(max-width:767px){.message-input-icon{min-height:44px;touch-action:manipulation}.message-input-field{font-size:16px}}.chat-right-sidebar{display:flex;flex-direction:column}@media(min-width:1024px){.chat-right-sidebar{position:relative;width:280px;height:100%;box-shadow:none}.chat-right-sidebar.open{transform:translateX(0)}}@media(max-width:1023px){.chat-right-sidebar{display:none}.mobile-right-sidebar-overlay .chat-right-sidebar{display:flex;width:100%;height:100%}}.chat-right-sidebar-content{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.mobile-right-sidebar-overlay{position:fixed;top:70px;left:0;right:0;bottom:0;z-index:50;background-color:rgba(0,0,0,.5);display:flex;animation:fade-in .3s ease}.mobile-right-sidebar-overlay:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.mobile-right-sidebar-overlay .chat-right-sidebar-content{margin-left:auto;width:85%;max-width:320px;height:100%;border-left:1px solid rgba(0,0,0,.1);transform:translateX(0);animation:slide-in-right .3s ease;z-index:2;position:relative;padding-top:env(safe-area-inset-top)}@supports(padding:max(0px)){.chat-right-sidebar{padding-bottom:env(safe-area-inset-bottom)}}@keyframes message-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.avatar-initials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-weight:600}.mobile-conversation-list{width:100%;height:calc(100vh - 90px);display:flex;flex-direction:column;background-color:var(--card);margin-top:0}@media(min-width:768px){.mobile-conversation-list{display:none}}.mobile-chat-view{width:100%;height:calc(100vh - 90px);display:flex;flex-direction:column;background-color:var(--background);position:relative;margin-top:0}@media(min-width:768px){.mobile-chat-view{display:none}}