:root{--imfs-primary:#0078D4;--imfs-primary-hover:#106EBE;--imfs-primary-active:#005A9E;--imfs-primary-light:rgba(0,120,212,0.08);--imfs-primary-lighter:rgba(0,120,212,0.04);--glass-white:rgba(255,255,255,0.08);--glass-white-medium:rgba(255,255,255,0.12);--glass-white-heavy:rgba(255,255,255,0.18);--glass-dark:rgba(0,0,0,0.05);--glass-dark-medium:rgba(0,0,0,0.08);--blur-subtle:blur(8px);--blur-medium:blur(12px);--blur-strong:blur(20px);--blur-ultra:blur(30px);--border-glass:rgba(255,255,255,0.15);--border-glass-strong:rgba(255,255,255,0.25);--border-dark:rgba(0,0,0,0.08);--shadow-soft:0 2px 8px rgba(0,0,0,0.08);--shadow-medium:0 4px 16px rgba(0,0,0,0.12);--shadow-strong:0 8px 32px rgba(0,0,0,0.16);--shadow-glow:inset 0 1px 0 rgba(255,255,255,0.2);--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono",Monaco,"Cascadia Code",monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-md:16px;--text-lg:18px;--text-xl:20px;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.02em;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:22px;--radius-full:9999px;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-popover:400;--z-tooltip:500;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--transition-spring:500ms cubic-bezier(0.34,1.56,0.64,1);--content-xs:320px;--content-sm:384px;--content-md:448px;--content-lg:512px;--content-xl:640px}@media (prefers-color-scheme:dark){:root{--glass-white:rgba(255,255,255,0.06);--glass-white-medium:rgba(255,255,255,0.09);--glass-white-heavy:rgba(255,255,255,0.12);--glass-dark:rgba(0,0,0,0.2);--glass-dark-medium:rgba(0,0,0,0.3);--border-glass:rgba(255,255,255,0.1);--shadow-soft:0 2px 8px rgba(0,0,0,0.2)}}.team-chat-container *,.team-chat-container :after,.team-chat-container :before{box-sizing:border-box;margin:0;padding:0}.team-chat-container{font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-normal);color:#1a1a1a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.team-chat-grid{display:grid;grid-template-columns:320px 1fr;grid-template-areas:"chatlist messages";height:100%;width:100%;position:relative;background:#f8fafb}.team-chat-sidebar{grid-area:sidebar;background:#f8f9fa;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;align-items:center;padding:var(--space-lg) 0;gap:var(--space-sm);position:relative;z-index:var(--z-sticky);contain:layout style}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.team-chat-sidebar{background:rgba(255,255,255,.72);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-right:1px solid rgba(0,120,212,.15);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.06)}}.sidebar-item{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);cursor:pointer;position:relative;transition:all var(--transition-base);color:#64748b;will-change:transform,background-color}.sidebar-item:hover{background:var(--glass-white-heavy);transform:scale(1.05);color:var(--imfs-primary)}.sidebar-item:active{transform:scale(.98);transition:transform var(--transition-fast)}.sidebar-item.active{background:var(--imfs-primary-light);color:var(--imfs-primary);box-shadow:0 0 0 2px var(--imfs-primary-lighter),var(--shadow-soft)}.sidebar-item.active:before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:4px;height:24px;background:var(--imfs-primary);border-radius:0 4px 4px 0}.sidebar-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:white;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;animation:badge-pulse 2s infinite}@keyframes badge-pulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{box-shadow:0 0 0 6px rgba(239,68,68,0)}}@media (max-width:1024px){.team-chat-grid{grid-template-columns:280px 1fr}}@media (max-width:768px){.team-chat-grid{display:block;width:100%;height:100%;background:#f8fafb!important}.team-chat-sidebar{display:none}}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invisible{visibility:hidden}.hidden{display:none}.flex-center{display:flex;align-items:center;justify-content:center}.glass-effect{background:var(--glass-white-medium);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);border:1px solid var(--border-glass);box-shadow:var(--shadow-soft)}.glass-card{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.08);border-radius:var(--radius-lg)}.glass-button,.glass-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.glass-button{background:rgba(0,120,212,.1);color:var(--imfs-primary);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);border:1px solid rgba(0,120,212,.2);cursor:pointer;font-weight:500;transition:all var(--transition-base)}.glass-button:hover{background:rgba(0,120,212,.15);border-color:rgba(0,120,212,.3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,120,212,.15)}.glass-button:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.performance-contain{contain:layout style paint}.smooth-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media (prefers-color-scheme:dark){.team-chat-grid{background:#f8fafb!important}.team-chat-sidebar{background:#f8f9fa!important}.team-chat-container{color:#1a1a1a!important}}.team-chat-list{grid-area:chatlist;background:#ffffff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:relative;contain:layout style}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.team-chat-list{background:rgba(255,255,255,.72);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-right:1px solid rgba(0,120,212,.15);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.06)}}.chat-list-header{padding:var(--space-lg);background:#ffffff;border-bottom:1px solid #e5e7eb;flex-shrink:0}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.chat-list-header{background:rgba(255,255,255,.72);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-bottom:1px solid rgba(0,120,212,.15);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.06)}}.chat-list-search{position:relative}.chat-list-search input{width:100%;padding:var(--space-md) var(--space-lg);padding-left:40px;background:var(--glass-white-heavy);border:1px solid var(--border-glass);border-radius:var(--radius-lg);font-size:var(--text-sm);color:inherit;transition:all var(--transition-base);outline:none}.chat-list-search input:focus{background:white;border-color:var(--imfs-primary);box-shadow:0 0 0 3px var(--imfs-primary-lighter),var(--shadow-soft)}.chat-list-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.chat-list-items{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-glass) transparent}.chat-list-items::-webkit-scrollbar{width:6px}.chat-list-items::-webkit-scrollbar-track{background:transparent}.chat-list-items::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:var(--radius-full)}.chat-list-items::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.chat-item{display:flex;align-items:center;padding:var(--space-md) var(--space-lg);cursor:pointer;transition:background var(--transition-base);position:relative;gap:var(--space-md)}.chat-item:hover{background:var(--glass-white-medium)}.chat-item.active{background:var(--imfs-primary-lighter);border-left:3px solid var(--imfs-primary);padding-left:calc(var(--space-lg) - 3px)}.chat-item-avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--glass-white-heavy);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-md);color:var(--imfs-primary);flex-shrink:0;position:relative;border:2px solid var(--border-glass)}.chat-item-avatar img{width:100%;height:100%;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover}.chat-item-status{position:absolute;bottom:0;right:0;width:14px;height:14px;background:#10b981;border:2px solid white;border-radius:var(--radius-full);box-shadow:var(--shadow-soft)}.chat-item-status.offline{background:#94a3b8}.chat-item-status.busy{background:#f59e0b}.chat-item-content{flex:1;min-width:0}.chat-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.chat-item-name{font-size:var(--text-base);font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-time{font-size:var(--text-xs);color:#64748b;flex-shrink:0;margin-left:var(--space-sm)}.chat-item-message{font-size:var(--text-sm);color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:var(--space-xs)}.chat-item-unread{background:var(--imfs-primary);color:white;font-size:var(--text-xs);font-weight:600;padding:2px 6px;border-radius:var(--radius-full);min-width:20px;text-align:center;display:inline-block;margin-left:var(--space-sm)}@media (max-width:768px){.team-chat-list{grid-area:chatlist;position:fixed;left:0;top:54px;bottom:0;width:100%;z-index:100;display:flex!important;flex-direction:column;overflow-y:auto;background:#ffffff!important;transform:none!important;transition:none}.team-chat-list.mobile-chat-list-hidden{display:none!important}}@media (min-width:769px){.team-chat-list.mobile-chat-list-hidden{display:flex!important;flex-direction:column}}@media (prefers-color-scheme:dark){.chat-list-header,.team-chat-list{background:#ffffff!important}.chat-list-header{border-bottom:1px solid #e5e7eb!important}.chat-item-name{color:#1e293b!important}}.team-chat-messages{grid-area:messages;display:flex;flex-direction:column;background:#fafafa;position:relative;contain:layout;min-height:0;overflow:hidden}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.team-chat-messages{background:rgba(248,250,252,.4);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}}.message-area-header{padding:var(--space-md) var(--space-lg);background:#ffffff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;min-height:64px}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.message-area-header{background:rgba(255,255,255,.72);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-bottom:1px solid rgba(0,120,212,.15);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.06)}}.message-area-user{display:flex;align-items:center;gap:var(--space-md)}.message-area-user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--glass-white-heavy);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--imfs-primary);border:2px solid var(--border-glass)}.message-area-user-info{display:flex;flex-direction:column}.message-area-user-name{font-size:var(--text-md);font-weight:600;color:#1e293b}.message-area-user-status{font-size:var(--text-xs);color:#64748b;display:flex;align-items:center;gap:var(--space-xs)}.message-area-actions{display:flex;align-items:center;gap:var(--space-sm)}.action-button{width:36px;height:36px;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all var(--transition-base);position:relative}.action-button:hover{background:var(--glass-white-heavy);color:var(--imfs-primary)}.action-button:active{transform:scale(.95)}.messages-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);scrollbar-width:thin;scrollbar-color:var(--border-glass) transparent;contain:layout style}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:var(--radius-full)}.message{display:flex;gap:var(--space-sm);max-width:70%;animation:message-appear var(--transition-base)}@keyframes message-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.own{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--glass-white-heavy);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;color:var(--imfs-primary);flex-shrink:0;border:2px solid var(--border-glass)}.message-content{display:flex;flex-direction:column;gap:var(--space-xs)}.message-bubble{padding:var(--space-sm) var(--space-md);background:white;border-radius:var(--radius-lg);position:relative;box-shadow:var(--shadow-soft);border:1px solid var(--border-glass);word-wrap:break-word;max-width:100%}.message.own .message-bubble{background:var(--imfs-primary);color:white;border-color:transparent}.message-bubble:before{content:"";position:absolute;width:0;height:0;border:8px solid transparent;border-bottom-color:white;bottom:6px;left:-8px;transform:rotate(45deg)}.message.own .message-bubble:before{border-bottom-color:var(--imfs-primary);left:auto;right:-8px;transform:rotate(-45deg)}.message-text{font-size:var(--text-base);line-height:var(--leading-relaxed);white-space:pre-wrap}.message-meta{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);color:#94a3b8;margin-top:var(--space-xs)}.message.own .message-meta{color:rgba(255,255,255,.7);justify-content:flex-end}.message-read-receipt{display:flex;align-items:center}.message-read-receipt svg{width:14px;height:14px}.message-reactions{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-xs)}.reaction-pill{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;background:var(--glass-white-heavy);border:1px solid var(--border-glass);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.reaction-pill:hover{background:var(--imfs-primary-lighter);border-color:var(--imfs-primary);transform:scale(1.05)}.reaction-pill.own{background:var(--imfs-primary-light);border-color:var(--imfs-primary)}.attachment-preview{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--glass-white-heavy);border-radius:var(--radius-md);margin-bottom:var(--space-xs);cursor:pointer;transition:all var(--transition-base)}.attachment-preview:hover{background:var(--glass-white-medium)}.attachment-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--imfs-primary-lighter);border-radius:var(--radius-md);color:var(--imfs-primary);flex-shrink:0}.attachment-details{flex:1;min-width:0}.attachment-name{font-size:var(--text-sm);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:var(--text-xs);color:#64748b}.message-input-container{padding:var(--space-md) var(--space-lg);background:#ffffff;border-top:1px solid #e5e7eb;display:flex;align-items:flex-end;gap:var(--space-sm);flex-shrink:0}@supports (backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px)){.message-input-container{background:rgba(255,255,255,.72);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-top:1px solid rgba(0,120,212,.15);box-shadow:inset 0 1px 0 0 rgba(255,255,255,.5),0 -1px 2px rgba(0,0,0,.06)}}.message-input-wrapper{flex:1;display:flex;align-items:flex-end;background:white;border-radius:var(--radius-xl);border:1px solid var(--border-glass);padding:var(--space-sm) var(--space-md);gap:var(--space-sm);transition:all var(--transition-base)}.message-input-wrapper:focus-within{border-color:var(--imfs-primary);box-shadow:0 0 0 3px var(--imfs-primary-lighter),var(--shadow-soft)}.message-input{flex:1;border:none;outline:none;font-size:var(--text-base);line-height:var(--leading-relaxed);resize:none;max-height:120px;background:transparent;color:inherit}.message-input::-moz-placeholder{color:#94a3b8}.message-input::placeholder{color:#94a3b8}.input-action{width:32px;height:32px;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all var(--transition-base);flex-shrink:0}.input-action:hover{background:var(--glass-white-heavy);color:var(--imfs-primary)}.send-button{width:48px;height:48px;border-radius:var(--radius-full);background:var(--imfs-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:white;transition:all var(--transition-base);box-shadow:var(--shadow-soft);flex-shrink:0}.send-button:hover{background:var(--imfs-primary-hover);transform:scale(1.05)}.send-button:active{transform:scale(.95)}.send-button:disabled{opacity:.5;cursor:not-allowed}.typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:var(--space-sm) var(--space-md);background:var(--glass-white-heavy);border-radius:var(--radius-lg)}.typing-dot{width:8px;height:8px;background:var(--imfs-primary);border-radius:var(--radius-full);animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@media (max-width:768px){.team-chat-messages{grid-area:messages;background:#fafafa;display:none;position:fixed;top:54px;left:0;right:0;bottom:0;z-index:100}.team-chat-messages.mobile-messages-active{display:flex!important;flex-direction:column!important;visibility:visible!important;opacity:1!important;z-index:101!important}.message{max-width:85%}.message-area-header{padding:var(--space-md);background:#ffffff!important;border-bottom:1px solid #e5e7eb!important}.message-input-container{padding:var(--space-sm) var(--space-md);background:#ffffff!important;border-top:1px solid #e5e7eb!important}.mobile-fab{position:fixed;bottom:80px;right:20px;width:56px;height:56px;border-radius:var(--radius-full);background:var(--imfs-primary);color:white;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-strong);cursor:pointer;transition:all var(--transition-base);z-index:var(--z-sticky)}.mobile-fab:active{transform:scale(.95)}}@media (prefers-color-scheme:dark){.team-chat-messages{background:#fafafa!important}.message-bubble{background:white!important;color:#1a1a1a!important;border-color:#e5e7eb!important}.message.own .message-bubble{background:var(--imfs-primary)!important;color:white!important}.message-input-wrapper{background:white!important}.message-area-user-name{color:#1e293b!important}}@supports (container-type:inline-size){.team-chat-messages{container-type:inline-size;container-name:messages}@container messages (max-width: 500px){.message{max-width:90%}}}