@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--space-6);position:relative}.login-background{inset:0;position:absolute;z-index:0}.login-background-gradient{background:linear-gradient(135deg,var(--primary-600) 0,var(--primary-700) 25%,var(--primary-800) 50%,var(--primary-900) 75%,#1e1b4b 100%);inset:0;position:absolute}.login-background-pattern{animation:float 20s ease-in-out infinite;background-image:radial-gradient(circle at 25% 25%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 75% 75%,#ffffff0d 0,#0000 50%);background-size:400px 400px,600px 600px;inset:0;position:absolute}@keyframes float{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.login-content{display:flex;flex-direction:column;gap:var(--space-6);max-width:480px;position:relative;width:100%;z-index:1}.login-card{animation:slideUp .6s ease-out;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);padding:var(--space-10)}.login-header{margin-bottom:var(--space-8);text-align:center}.login-logo{gap:var(--space-4);margin-bottom:var(--space-4)}.login-logo,.logo-icon{align-items:center;display:flex;justify-content:center}.logo-icon{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:#fff;height:48px;width:48px}.logo-icon svg{height:24px;width:24px}.logo-text h1{color:var(--gray-900);font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.025em;margin:0}.logo-text p{color:var(--primary-600);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.login-subtitle p{color:var(--gray-600);font-size:var(--font-size-base);line-height:1.5;margin:0}.error-alert{align-items:center;animation:shake .5s ease-in-out;background:var(--error-50);border:1px solid var(--error-200);border-radius:var(--radius-lg);color:var(--error-700);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4)}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.error-icon{color:var(--error-500);flex-shrink:0;height:20px;width:20px}.login-tabs{margin-bottom:var(--space-8)}.tab-list{background:var(--gray-100);border-radius:var(--radius-lg);display:flex;gap:var(--space-1);padding:var(--space-1)}.tab-button{align-items:center;background:#0000;border-radius:var(--radius-md);color:var(--gray-600);display:flex;flex:1 1;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);position:relative;transition:all var(--transition-fast)}.tab-button.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--primary-600)}.tab-icon{height:16px;width:16px}.login-form-container{animation:fadeIn .3s ease-out}.google-login-section{display:flex;flex-direction:column;gap:var(--space-6)}.google-signin-button{align-items:center;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-700);display:flex;font-size:var(--font-size-base);font-weight:600;justify-content:center;overflow:hidden;padding:var(--space-4);position:relative;transition:all var(--transition-fast);width:100%}.google-signin-button:hover:not(:disabled){border-color:var(--gray-300);box-shadow:var(--shadow-md);transform:translateY(-1px)}.google-signin-button:active:not(:disabled){transform:translateY(0)}.google-signin-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.button-content,.button-loading{align-items:center;display:flex;gap:var(--space-3)}.google-logo{flex-shrink:0;height:20px;width:20px}.login-info{display:flex;flex-direction:column;gap:var(--space-3)}.info-item{align-items:center;color:var(--gray-600);font-size:var(--font-size-sm);gap:var(--space-3)}.info-icon{color:var(--primary-500);flex-shrink:0;height:16px;width:16px}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{color:var(--gray-700);font-size:var(--font-size-sm);font-weight:600}.input-wrapper{position:relative}.input-icon{color:var(--gray-400);height:20px;left:var(--space-3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:20px}.field-input{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-900);font-size:var(--font-size-base);padding:var(--space-4) var(--space-4) var(--space-4) var(--space-12);transition:all var(--transition-fast);width:100%}.field-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.field-input:disabled{background:var(--gray-50);color:var(--gray-500);cursor:not-allowed}.field-input::placeholder{color:var(--gray-400)}.credentials-signin-button{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;font-size:var(--font-size-base);font-weight:600;padding:var(--space-4);transition:all var(--transition-fast)}.credentials-signin-button:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-600),var(--primary-700));box-shadow:var(--shadow-lg);transform:translateY(-1px)}.credentials-signin-button:active:not(:disabled){transform:translateY(0)}.credentials-signin-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.credentials-info{text-align:center}.credentials-info p{color:var(--gray-600);font-size:var(--font-size-sm);line-height:1.5;margin:0}.login-footer{color:#fffc;font-size:var(--font-size-sm);text-align:center}.login-footer p{margin:0}.loading-spinner{border:2px solid #0000;border-top-color:currentcolor;height:16px;width:16px}@media (max-width:640px){.login-container{padding:var(--space-4)}.login-card{padding:var(--space-8)}.logo-text h1{font-size:var(--font-size-2xl)}.tab-button{font-size:var(--font-size-xs);padding:var(--space-3)}.tab-icon{height:14px;width:14px}}@media (prefers-color-scheme:dark){.login-card{background:#0f172af2;border-color:#ffffff1a}.logo-text h1{color:var(--gray-100)}.login-subtitle p{color:var(--gray-400)}.tab-list{background:var(--gray-800)}.tab-button{color:var(--gray-400)}.tab-button.active{background:var(--gray-700);color:var(--primary-400)}.field-label{color:var(--gray-300)}.field-input{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-100)}.field-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #38bdf81a}.google-signin-button{background:var(--gray-800);border-color:var(--gray-600);color:var(--gray-200)}.google-signin-button:hover:not(:disabled){border-color:var(--gray-500)}.credentials-info p,.info-item{color:var(--gray-400)}}.message-content-wrapper{line-height:1.4}.text-content{word-wrap:break-word;white-space:pre-wrap}.code-block-wrapper{background:#2d3748;border:1px solid #4a5568;border-radius:6px;margin:8px 0;overflow:hidden}.code-block-header{align-items:center;background:#1a202c;border-bottom:1px solid #4a5568;display:flex;justify-content:space-between;padding:8px 12px}.code-language{font-weight:500;text-transform:uppercase}.code-language,.copy-button{color:#a0aec0;font-size:12px}.copy-button{background:none;border:none;border-radius:4px;cursor:pointer;padding:4px 8px;transition:all .2s}.copy-button:hover{background:#4a5568;color:#fff}.inline-code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;color:#e53e3e;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em;padding:2px 4px}.message.own-message .inline-code{background:#ffffff1a;border-color:#fff3;color:gold}.message-content-wrapper pre{margin:0!important}.message-content-wrapper code{font-family:Monaco,Menlo,Ubuntu Mono,monospace!important}@media (max-width:768px){.code-block-wrapper{margin:6px -4px}.code-block-header{padding:6px 8px}.code-language,.copy-button{font-size:11px}.copy-button{padding:2px 6px}}.mention-highlight{background:#e3f2fd;border-radius:3px;color:#1976d2;font-weight:500;padding:1px 4px;text-decoration:none}.mention-highlight:hover{background:#bbdefb}.message.own-message .mention-highlight{background:#fff3;border:1px solid #ffffff4d;color:#fff}.message.own-message .mention-highlight:hover{background:#ffffff4d}.confirmation-modal-backdrop{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.confirmation-modal{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:400px;overflow:hidden;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px 16px}.modal-title{color:#333;font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:#f0f0f0;color:#333}.modal-body{padding:20px 24px}.modal-message{color:#555;font-size:16px;line-height:1.5;margin:0}.modal-footer{background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s}.cancel-btn{background:#f5f5f5;border:1px solid #ddd;color:#666}.cancel-btn:hover{background:#e9ecef;color:#333}.confirm-btn{background:#667eea;color:#fff}.confirm-btn:hover{background:#5a6fd8}.confirm-btn:focus{outline:2px solid #667eea;outline-offset:2px}.confirmation-modal.danger .modal-title{color:#dc3545}.confirm-btn.danger{background:#dc3545}.confirm-btn.danger:hover{background:#c82333}.confirm-btn.danger:focus{outline-color:#dc3545}.confirmation-modal.warning .modal-title{color:#fd7e14}.confirm-btn.warning{background:#fd7e14}.confirm-btn.warning:hover{background:#e8690b}.confirm-btn.warning:focus{outline-color:#fd7e14}@media (max-width:768px){.confirmation-modal{margin:20px;width:95%}.modal-header{padding:16px 20px 12px}.modal-title{font-size:16px}.modal-body{padding:16px 20px}.modal-message{font-size:15px}.modal-footer{flex-direction:column-reverse;padding:12px 20px 16px}.modal-btn{padding:12px;width:100%}}.reaction-tooltip-container{display:inline-block;position:relative}.reaction-tooltip{animation:fadeIn .2s ease-out;background:#333;border-radius:6px;bottom:100%;box-shadow:0 2px 8px #0003;color:#fff;font-size:12px;left:50%;margin-bottom:5px;padding:8px 12px;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.reaction-tooltip-content{line-height:1.3;max-width:200px}.reaction-tooltip-arrow{border-left:5px solid #0000;border-right:5px solid #0000;border-top:5px solid #333;height:0;left:50%;position:absolute;top:100%;transform:translateX(-50%);width:0}@media (max-width:768px){.reaction-tooltip{font-size:11px;padding:6px 10px}.reaction-tooltip-content{max-width:150px}}.swipeable-message-container{position:relative;width:100%}.swipe-reply-background{background:linear-gradient(90deg,#0000,#667eea1a);bottom:0;left:0;position:absolute;top:0;width:80px;z-index:1}.swipe-reply-background,.swipe-reply-icon{align-items:center;display:flex;justify-content:center}.swipe-reply-icon{background:#667eea1a;border-radius:50%;color:#667eea;height:32px;opacity:0;transform:scale(.5);transition:all .1s ease-out;width:32px}.swipeable-message{background:inherit;cursor:grab;position:relative;transition:transform .2s ease-out;z-index:2}.swipeable-message.dragging{cursor:grabbing;transition:none}.swipeable-message:active{cursor:grabbing}.swipeable-message.dragging *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width:768px){.swipe-reply-background{width:60px}.swipe-reply-icon{height:28px;width:28px}.swipe-reply-icon svg{height:20px;width:20px}}@keyframes replyTrigger{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.swipe-reply-icon.triggered{animation:replyTrigger .3s ease-out}.chat-container{background:var(--gray-50);color:var(--gray-900);display:flex;font-family:var(--font-family);height:100vh;overflow:hidden}[data-theme=dark] .chat-container{background:var(--gray-900);color:var(--gray-100)}.sidebar{background:var(--gray-100);border-right:1px solid var(--gray-200);display:flex;flex-direction:column;position:relative;transition:all var(--transition-normal);width:280px;z-index:20}[data-theme=dark] .sidebar{background:var(--gray-800);border-right-color:var(--gray-700)}.sidebar-header{background:#fff;border-bottom:1px solid var(--gray-200);padding:var(--space-4);position:relative}[data-theme=dark] .sidebar-header{background:var(--gray-800);border-bottom-color:var(--gray-700)}.sidebar-title{color:var(--gray-900);font-size:var(--font-size-lg);font-weight:700;line-height:1.2;margin:0 0 var(--space-1) 0}[data-theme=dark] .sidebar-title{color:var(--gray-100)}.sidebar-subtitle{align-items:center;color:var(--gray-500);display:flex;font-size:var(--font-size-sm);gap:var(--space-2);margin:0}[data-theme=dark] .sidebar-subtitle{color:var(--gray-400)}.online-indicator{animation:pulse 2s infinite;border-radius:var(--radius-full)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.members-list{flex:1 1;overflow-y:auto;padding:var(--space-4) var(--space-3)}.members-list::-webkit-scrollbar{width:6px}.members-list::-webkit-scrollbar-track{background:#0000}.members-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}[data-theme=dark] .members-list::-webkit-scrollbar-thumb{background:var(--gray-600)}.member-item{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-3);margin-bottom:var(--space-1);padding:var(--space-2) var(--space-3);position:relative;transition:all var(--transition-fast)}.member-item:hover{background:var(--gray-200)}[data-theme=dark] .member-item:hover{background:var(--gray-700)}.member-avatar{position:relative}.member-avatar img{border-radius:var(--radius-full);height:32px;object-fit:cover;width:32px}.member-status{border:2px solid var(--gray-100);border-radius:var(--radius-full);bottom:-2px;height:12px;position:absolute;right:-2px;width:12px}[data-theme=dark] .member-status{border-color:var(--gray-800)}.member-status.online{background:var(--success-500)}.member-status.offline{background:var(--gray-400)}.member-info{flex:1 1;min-width:0}.member-name{color:var(--gray-900);font-size:var(--font-size-sm);font-weight:500;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .member-name{color:var(--gray-100)}.member-username{color:var(--gray-500);font-size:var(--font-size-xs);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .member-username{color:var(--gray-400)}.member-role-badge{background:var(--primary-500);border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.025em;margin-left:var(--space-2);padding:2px 6px;text-transform:uppercase}.member-role-badge.admin{background:var(--error-500)}.member-role-badge.moderator{background:var(--warning-500)}.sidebar-actions{border-top:1px solid var(--gray-200);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-3)}[data-theme=dark] .sidebar-actions{border-top-color:var(--gray-700)}.sidebar-action-btn{align-items:center;background:#0000;border-radius:var(--radius-md);color:var(--gray-600);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-3);padding:var(--space-2) var(--space-3);text-align:left;transition:all var(--transition-fast)}.sidebar-action-btn:hover{background:var(--gray-200);color:var(--gray-900)}[data-theme=dark] .sidebar-action-btn{color:var(--gray-400)}[data-theme=dark] .sidebar-action-btn:hover{background:var(--gray-700);color:var(--gray-100)}.chat-main{background:#fff;display:flex;flex:1 1;flex-direction:column;min-width:0;position:relative}[data-theme=dark] .chat-main{background:var(--gray-900)}.chat-header{align-items:center;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:var(--space-4) var(--space-6);position:relative;z-index:10}[data-theme=dark] .chat-header{background:var(--gray-800);border-bottom-color:var(--gray-700)}.header-left{flex:1 1;gap:var(--space-3);min-width:0}.group-avatar,.header-left{align-items:center;display:flex}.group-avatar{background:var(--primary-500);border-radius:50%;color:#fff;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;width:32px}[data-theme=dark] .group-avatar{background:var(--primary-400);color:var(--gray-900)}.header-info{flex:1 1;min-width:0}.header-title{color:var(--gray-900);font-size:17px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .header-title{color:var(--gray-100)}.header-subtitle{align-items:center;color:var(--gray-500);display:flex;font-size:12px;font-weight:400;gap:var(--space-1);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .header-subtitle{color:var(--gray-400)}.desktop-nav,.header-action-btn,.header-right{align-items:center;display:flex;gap:var(--space-2)}.header-action-btn{background:#0000;border-radius:var(--radius-md);color:var(--gray-600);font-size:var(--font-size-sm);font-weight:500;padding:var(--space-2) var(--space-3);transition:all var(--transition-fast);white-space:nowrap}.header-action-btn:hover{background:var(--gray-100);color:var(--gray-900)}.header-action-btn.has-pinned{color:var(--primary-600);position:relative}.pinned-badge{align-items:center;background:var(--primary-500);border-radius:10px;color:#fff;display:flex;font-size:10px;font-weight:600;height:16px;justify-content:center;min-width:16px;padding:2px 5px;position:absolute;right:-2px;top:-2px}.online-indicator{background:var(--success-500);border-radius:50%;display:inline-block;flex-shrink:0;height:8px;margin-right:var(--space-1);width:8px}[data-theme=dark] .header-action-btn.has-pinned{color:var(--primary-400)}[data-theme=dark] .pinned-badge{background:var(--primary-400);color:var(--gray-900)}[data-theme=dark] .online-indicator{background:var(--success-400)}[data-theme=dark] .header-action-btn{color:var(--gray-400)}[data-theme=dark] .header-action-btn:hover{background:var(--gray-700);color:var(--gray-100)}.header-action-btn.danger:hover{background:var(--error-50);color:var(--error-600)}[data-theme=dark] .header-action-btn.danger:hover{background:var(--error-900);color:var(--error-400)}.action-icon{flex-shrink:0;height:20px;width:20px}.mobile-nav{align-items:center;display:none;gap:var(--space-1)}.mobile-nav-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--gray-600);cursor:pointer;display:flex;height:44px;justify-content:center;position:relative;transition:all .2s ease;width:44px}.mobile-nav-btn:hover{background:var(--gray-100);color:var(--gray-900)}[data-theme=dark] .mobile-nav-btn{color:var(--gray-400)}[data-theme=dark] .mobile-nav-btn:hover{background:var(--gray-700);color:var(--gray-100)}.mobile-nav-btn.admin{color:var(--primary-600)}.mobile-nav-btn.admin:hover{background:var(--primary-50);color:var(--primary-700)}[data-theme=dark] .mobile-nav-btn.admin{color:var(--primary-400)}[data-theme=dark] .mobile-nav-btn.admin:hover{background:var(--primary-900);color:var(--primary-300)}.mobile-nav-btn.danger:hover{background:var(--error-50);color:var(--error-600)}[data-theme=dark] .mobile-nav-btn.danger:hover{background:var(--error-900);color:var(--error-400)}.mobile-badge{align-items:center;background:var(--primary-500);border-radius:10px;color:#fff;display:flex;font-size:10px;font-weight:600;height:16px;justify-content:center;min-width:16px;padding:2px 6px;position:absolute;right:8px;top:8px}[data-theme=dark] .mobile-badge{background:var(--primary-400);color:var(--gray-900)}.messages-container{background:#fff;flex:1 1;overflow-y:auto;padding:var(--space-4) 0;position:relative}[data-theme=dark] .messages-container{background:var(--gray-900)}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#0000}.messages-container::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-sm)}[data-theme=dark] .messages-container::-webkit-scrollbar-thumb{background:var(--gray-600)}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}[data-theme=dark] .messages-container::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.date-separator{align-items:center;display:flex;margin:var(--space-6) var(--space-6) var(--space-4);position:relative}.date-separator:before{background:var(--gray-200);content:"";flex:1 1;height:1px}[data-theme=dark] .date-separator:before{background:var(--gray-700)}.date-separator:after{background:var(--gray-200);content:"";flex:1 1;height:1px}[data-theme=dark] .date-separator:after{background:var(--gray-700)}.date-separator span{background:#fff;color:var(--gray-500);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.05em;padding:0 var(--space-4);text-transform:uppercase}[data-theme=dark] .date-separator span{background:var(--gray-900);color:var(--gray-400)}.message-group{margin-bottom:var(--space-2);padding:var(--space-4) var(--space-6);position:relative;transition:background var(--transition-fast)}.message-group+.message-group{margin-top:var(--space-4)}.message-group.same-user{margin-top:var(--space-1);padding-top:var(--space-1)}.message-group.same-user .message-group-header{display:none}.message-group:hover{background:var(--gray-50)}[data-theme=dark] .message-group:hover{background:#ffffff05}.message-group-header{align-items:baseline;display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.message-group-avatar{flex-shrink:0;height:40px;width:40px}.message-group-avatar,.message-group-avatar img{border-radius:var(--radius-full);object-fit:cover}.message-group-avatar img{height:100%;width:100%}.message-group-name{color:var(--gray-900);cursor:pointer;font-size:var(--font-size-base);font-weight:600;margin:0;transition:color var(--transition-fast)}.message-group-name:hover{text-decoration:underline}[data-theme=dark] .message-group-name{color:var(--gray-100)}.message-group-time{color:var(--gray-500);font-size:11px;font-weight:400;margin-left:var(--space-2);opacity:.6;transition:opacity .2s ease}.message-group:hover .message-group-time{opacity:1}[data-theme=dark] .message-group-time{color:var(--gray-400)}.message{animation:messageSlideIn .2s ease-out;margin-bottom:var(--space-2);margin-left:52px;position:relative}.message-group.same-user .message{margin-bottom:2px}.message-group.same-user .message:last-child{margin-bottom:var(--space-2)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-content{word-wrap:break-word;background:#f1f5f9;border-radius:14px 14px 14px 4px;color:#111827;cursor:pointer;font-size:var(--font-size-base);line-height:1.5;margin:0;max-width:70%;padding:8px 12px 20px;position:relative;transition:all var(--transition-fast);width:-webkit-fit-content;width:fit-content}.message-content:hover{background:#e2e8f0}[data-theme=dark] .message-content{background:#1e293b;color:var(--gray-100)}[data-theme=dark] .message-content:hover{background:var(--gray-750)}.message-meta{align-items:center;bottom:6px;color:#9ca3af;display:flex;font-size:10px;font-weight:400;gap:4px;line-height:1;opacity:.6;position:absolute;right:8px;transition:opacity .2s ease;white-space:nowrap}.message-content:hover .message-meta{opacity:1}[data-theme=dark] .message-meta{color:#9ca3af}.edited-label{font-style:italic}.meta-separator{margin:0 2px}.mention{background:var(--primary-50);border-radius:4px;color:var(--primary-600);font-weight:500;padding:2px 4px;text-decoration:none}.mention:hover{background:var(--primary-100);text-decoration:underline}[data-theme=dark] .mention{background:var(--primary-900);color:var(--primary-400)}[data-theme=dark] .mention:hover{background:var(--primary-800)}@media (max-width:768px){.message-content{border:none;border-radius:12px 12px 12px 3px;margin:0;max-width:85%;padding:8px 12px 20px;transition:all var(--transition-fast)}.message,.message-reactions,.reply-preview{margin-left:48px}.reply-preview{max-width:85%}.message-content:active{background:#e2e8f0;transform:scale(.98)}[data-theme=dark] .message-content:active{background:var(--gray-750)}}.reply-preview{background:var(--gray-50);border-left:4px solid var(--primary-500);border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer;margin-bottom:var(--space-1);margin-left:52px;max-width:70%;padding:var(--space-2) var(--space-3);transition:all var(--transition-fast);width:-webkit-fit-content;width:fit-content}.reply-preview:hover{background:var(--gray-100)}[data-theme=dark] .reply-preview{background:var(--gray-800);border-left-color:var(--primary-400)}[data-theme=dark] .reply-preview:hover{background:var(--gray-700)}.reply-content{display:flex;flex-direction:column;gap:var(--space-1)}.reply-author{color:var(--primary-600);font-size:var(--font-size-xs);font-weight:600}[data-theme=dark] .reply-author{color:var(--primary-400)}.reply-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--gray-600);display:-webkit-box;font-size:var(--font-size-sm);line-height:1.4;overflow:hidden}[data-theme=dark] .reply-text{color:var(--gray-300)}.message-reactions{flex-wrap:wrap;margin-left:52px;margin-top:4px}.message-reactions,.reaction{display:flex;gap:var(--space-1)}.reaction{align-items:center;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:999px;cursor:pointer;font-size:var(--font-size-xs);padding:2px 6px;transition:all var(--transition-fast)}.reaction:hover{background:var(--gray-200);border-color:var(--gray-300)}[data-theme=dark] .reaction{background:var(--gray-800);border-color:var(--gray-700)}[data-theme=dark] .reaction:hover{background:var(--gray-700);border-color:var(--gray-600)}.reaction.own-reaction{background:var(--primary-100);border-color:var(--primary-300);color:var(--primary-700)}[data-theme=dark] .reaction.own-reaction{background:var(--primary-900);border-color:var(--primary-700);color:var(--primary-300)}.message-actions{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;gap:var(--space-1);opacity:0;padding:var(--space-1);position:absolute;right:var(--space-4);top:-12px;transform:translateY(4px);transition:all var(--transition-fast);z-index:10}[data-theme=dark] .message-actions{background:var(--gray-800);border-color:var(--gray-700)}.message-group:hover .message-actions{opacity:1;transform:translateY(0)}.action-btn{align-items:center;background:#0000;border-radius:var(--radius-md);color:var(--gray-500);display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.action-btn:hover{background:var(--gray-100);color:var(--gray-700)}[data-theme=dark] .action-btn{color:var(--gray-400)}[data-theme=dark] .action-btn:hover{background:var(--gray-700);color:var(--gray-200)}.action-btn.delete-btn:hover{background:var(--error-50);color:var(--error-600)}[data-theme=dark] .action-btn.delete-btn:hover{background:var(--error-900);color:var(--error-400)}.typing-indicator{align-items:center;animation:fadeIn .2s ease-out;color:var(--gray-500);display:flex;font-size:var(--font-size-sm);font-style:italic;gap:var(--space-2);padding:var(--space-2) var(--space-6)}[data-theme=dark] .typing-indicator{color:var(--gray-400)}.message-form{background:#fff;border-top:1px solid var(--gray-200);padding:var(--space-4) var(--space-6);position:relative}[data-theme=dark] .message-form{background:var(--gray-800);border-top-color:var(--gray-700)}.reply-bar{align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;margin-bottom:0;padding:var(--space-3) var(--space-4)}[data-theme=dark] .reply-bar{background:var(--gray-800);border-color:var(--gray-700)}.reply-info{align-items:center;display:flex;font-size:var(--font-size-sm);gap:var(--space-2)}.reply-info span:first-child{color:var(--primary-600);font-weight:600}[data-theme=dark] .reply-info span:first-child{color:var(--primary-400)}.reply-preview-text{color:var(--gray-600)}[data-theme=dark] .reply-preview-text{color:var(--gray-300)}.cancel-reply{align-items:center;background:#0000;border-radius:var(--radius-full);color:var(--gray-500);display:flex;height:24px;justify-content:center;transition:all var(--transition-fast);width:24px}.cancel-reply:hover{background:var(--gray-200);color:var(--gray-700)}[data-theme=dark] .cancel-reply{color:var(--gray-400)}[data-theme=dark] .cancel-reply:hover{background:var(--gray-700);color:var(--gray-200)}.input-container{position:relative}.input-row{align-items:flex-end;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-xl);display:flex;gap:var(--space-3);padding:var(--space-3);transition:all var(--transition-fast)}.input-row:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a}[data-theme=dark] .input-row{background:var(--gray-800);border-color:var(--gray-700)}[data-theme=dark] .input-row:focus-within{border-color:var(--primary-400);box-shadow:0 0 0 3px #38bdf81a}.message-input{background:#0000;border:none;color:var(--gray-900);flex:1 1;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;max-height:400px;min-height:20px;outline:none;resize:none}[data-theme=dark] .message-input{color:var(--gray-100)}.message-input::placeholder{color:var(--gray-500)}[data-theme=dark] .message-input::placeholder{color:var(--gray-400)}.send-button{align-items:center;background:var(--primary-500);border:none;border-radius:var(--radius-lg);color:#fff;display:flex;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.send-button:hover:not(:disabled){background:var(--primary-600);transform:scale(1.05)}.send-button:disabled{background:var(--gray-300);cursor:not-allowed;transform:none}[data-theme=dark] .send-button:disabled{background:var(--gray-600)}.send-button:before{content:"→";font-size:18px;font-weight:700}.mentions-dropdown{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg) var(--radius-lg) 0 0;bottom:100%;box-shadow:var(--shadow-lg);left:0;margin-bottom:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;z-index:50}[data-theme=dark] .mentions-dropdown{background:var(--gray-800);border-color:var(--gray-700)}.mention-option{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:left;transition:background var(--transition-fast);width:100%}.mention-option:focus,.mention-option:hover{background:var(--gray-50);outline:none}[data-theme=dark] .mention-option:focus,[data-theme=dark] .mention-option:hover{background:var(--gray-700)}.mention-avatar{border-radius:var(--radius-full);height:24px;object-fit:cover;width:24px}.mention-info{flex:1 1}.mention-name{color:var(--gray-900);font-size:var(--font-size-sm);font-weight:500;margin:0}[data-theme=dark] .mention-name{color:var(--gray-100)}.mention-username{color:var(--gray-500);font-size:var(--font-size-xs);margin:0}[data-theme=dark] .mention-username{color:var(--gray-400)}.scroll-to-bottom{align-items:center;background:var(--primary-500);border:none;border-radius:var(--radius-full);bottom:100px;box-shadow:var(--shadow-lg);color:#fff;display:flex;height:44px;justify-content:center;position:fixed;right:var(--space-6);transition:all var(--transition-fast);width:44px;z-index:40}.scroll-to-bottom:hover{background:var(--primary-600);transform:scale(1.1)}.scroll-to-bottom:before{content:"↓";font-size:18px;font-weight:700}.empty-state{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:var(--space-16);text-align:center}.empty-state-icon{font-size:64px;margin-bottom:var(--space-4);opacity:.5}.empty-state-text{color:var(--gray-900);font-size:var(--font-size-xl);font-weight:600;margin:0 0 var(--space-2) 0}[data-theme=dark] .empty-state-text{color:var(--gray-100)}.empty-state-subtext{color:var(--gray-500);font-size:var(--font-size-base);margin:0;max-width:400px}[data-theme=dark] .empty-state-subtext{color:var(--gray-400)}.announcement-banner,.error-banner,.refresh-warning-banner{align-items:center;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-6);position:relative;text-align:center}.error-banner{background:var(--error-50);border-bottom:1px solid var(--error-200);color:var(--error-700)}[data-theme=dark] .error-banner{background:var(--error-900);border-bottom-color:var(--error-800);color:var(--error-300)}.announcement-banner{background:var(--warning-50);border-bottom:1px solid var(--warning-200);color:var(--warning-700)}[data-theme=dark] .announcement-banner{background:var(--warning-900);border-bottom-color:var(--warning-800);color:var(--warning-300)}.refresh-warning-banner{animation:slideDown .3s ease-out;background:var(--blue-50);border-bottom:1px solid var(--blue-200);color:var(--blue-700)}[data-theme=dark] .refresh-warning-banner{background:var(--blue-900);border-bottom-color:var(--blue-800);color:var(--blue-300)}.dismiss-warning-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-size:18px;font-weight:700;padding:var(--space-1);position:absolute;right:var(--space-4);transition:background var(--transition-fast)}.dismiss-warning-btn:hover{background:#0000001a}[data-theme=dark] .dismiss-warning-btn:hover{background:#ffffff1a}.announcement-mode-notice{align-items:center;background:var(--gray-50);border-top:1px solid var(--gray-200);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8) var(--space-6);text-align:center}[data-theme=dark] .announcement-mode-notice{background:var(--gray-800);border-top-color:var(--gray-700)}.mute-notice{align-items:center;background:var(--error-50);border-top:1px solid var(--error-200);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8) var(--space-6);text-align:center}[data-theme=dark] .mute-notice{background:var(--error-900);border-top-color:var(--error-800)}.announcement-icon{align-items:center;background:var(--warning-100);border-radius:var(--radius-full);color:var(--warning-600);display:flex;height:48px;justify-content:center;width:48px}[data-theme=dark] .announcement-icon{background:var(--warning-900);color:var(--warning-400)}.mute-icon{align-items:center;background:var(--error-100);border-radius:var(--radius-full);color:var(--error-600);display:flex;height:48px;justify-content:center;width:48px}[data-theme=dark] .mute-icon{background:var(--error-900);color:var(--error-400)}.announcement-icon svg,.mute-icon svg{height:24px;width:24px}.announcement-content h3,.mute-content h3{color:var(--gray-900);font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--space-2) 0}[data-theme=dark] .announcement-content h3,[data-theme=dark] .mute-content h3{color:var(--gray-100)}.mute-content h3{color:var(--error-700)}[data-theme=dark] .mute-content h3{color:var(--error-300)}.announcement-content p,.mute-content p{color:var(--gray-600);font-size:var(--font-size-sm);margin:0;max-width:400px}[data-theme=dark] .announcement-content p,[data-theme=dark] .mute-content p{color:var(--gray-400)}.mute-content p{color:var(--error-600)}[data-theme=dark] .mute-content p{color:var(--error-400)}.sidebar-overlay{background:#00000080;inset:0;opacity:0;position:fixed;transition:all var(--transition-normal);visibility:hidden;z-index:40}.sidebar-overlay.open{opacity:1;visibility:visible}@media (max-width:768px){.sidebar{height:100vh;left:-280px;position:fixed;top:0;transition:left var(--transition-normal);z-index:50}.sidebar.open{left:0}.sidebar-toggle{display:flex}.chat-header{padding:var(--space-3) var(--space-4)}.header-left{gap:var(--space-2)}.group-avatar{font-size:12px;height:28px;width:28px}.header-title{font-size:var(--font-size-base)}.header-subtitle{font-size:var(--font-size-xs)}.desktop-nav{display:none}.mobile-nav{display:flex}.action-text{display:none}.messages-container{padding:var(--space-2) 0}.message-group{padding:var(--space-2) var(--space-4)}.message,.message-reactions{margin-left:48px}.message-form{padding:var(--space-4)}.scroll-to-bottom{bottom:80px;right:var(--space-4)}.message-actions{background:none;border:none;box-shadow:none;justify-content:flex-end;margin-top:var(--space-2);opacity:1;position:static;transform:none}.action-btn{background:var(--gray-100)}[data-theme=dark] .action-btn{background:var(--gray-700)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.message-group{border:1px solid var(--gray-300);border-radius:var(--radius-md);margin-bottom:var(--space-2)}[data-theme=dark] .message-group{border-color:var(--gray-600)}}.pinned-message-bar{animation:slideDown .15s ease-out;background:var(--gray-50);border-bottom:1px solid var(--gray-200);cursor:pointer;padding:var(--space-3) var(--space-4);position:-webkit-sticky;position:sticky;top:0;transition:background-color .2s ease;z-index:5}.pinned-message-bar:hover{background:var(--gray-100)}[data-theme=dark] .pinned-message-bar{background:var(--gray-800);border-bottom-color:var(--gray-700)}[data-theme=dark] .pinned-message-bar:hover{background:var(--gray-750)}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.pinned-bar-content{align-items:center;display:flex;justify-content:space-between;max-width:100%}.pinned-bar-left{align-items:center;display:flex;flex:1 1;min-width:0}.pinned-label{align-items:center;color:var(--gray-700);display:flex;font-size:var(--font-size-sm);font-weight:500}.pinned-label,.pinned-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-preview{color:var(--gray-600);font-weight:400;max-width:300px}.pinned-author{color:var(--primary-600);font-weight:500}[data-theme=dark] .pinned-label{color:var(--gray-300)}[data-theme=dark] .pinned-preview{color:var(--gray-400)}[data-theme=dark] .pinned-author{color:var(--primary-400)}.pinned-close-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-full);color:var(--gray-500);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:24px;justify-content:center;margin-left:var(--space-2);transition:all var(--transition-fast);width:24px}.pinned-close-btn:hover{background:var(--gray-200);color:var(--gray-700)}[data-theme=dark] .pinned-close-btn{color:var(--gray-400)}[data-theme=dark] .pinned-close-btn:hover{background:var(--gray-700);color:var(--gray-200)}.search-modal-overlay{animation:fadeIn .2s ease-out;background:#00000080;inset:0;position:fixed;z-index:1001}.search-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;left:50%;max-height:70vh;max-width:600px;position:fixed;top:10%;transform:translateX(-50%);width:90vw;z-index:1002}[data-theme=dark] .search-modal{background:var(--gray-800)}.search-modal-header{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:var(--space-4)}[data-theme=dark] .search-modal-header{border-bottom-color:var(--gray-700)}.search-modal-header h3{color:var(--gray-900);font-size:var(--font-size-lg);font-weight:600;margin:0}[data-theme=dark] .search-modal-header h3{color:var(--gray-100)}.search-close-btn{align-items:center;background:var(--gray-100);border:none;border-radius:var(--radius-full);color:var(--gray-600);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.search-close-btn:hover{background:var(--gray-200);color:var(--gray-900)}[data-theme=dark] .search-close-btn{background:var(--gray-700);color:var(--gray-400)}[data-theme=dark] .search-close-btn:hover{background:var(--gray-600);color:var(--gray-100)}.search-modal-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:var(--space-4)}.search-input-container{margin-bottom:var(--space-4);position:relative}.search-input-icon{color:var(--gray-400);height:20px;left:var(--space-3);position:absolute;top:50%;transform:translateY(-50%);width:20px}.search-input{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-900);font-size:var(--font-size-base);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-12);transition:all var(--transition-fast);width:100%}.search-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}[data-theme=dark] .search-input{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-100)}[data-theme=dark] .search-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #38bdf81a}.search-results{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);overflow-y:auto}.search-no-results{color:var(--gray-500);font-size:var(--font-size-sm);padding:var(--space-8);text-align:center}[data-theme=dark] .search-no-results{color:var(--gray-400)}.search-result-item{border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-3);transition:all var(--transition-fast)}.search-result-item:hover{background:var(--gray-50);border-color:var(--gray-300)}[data-theme=dark] .search-result-item{border-color:var(--gray-700)}[data-theme=dark] .search-result-item:hover{background:var(--gray-700);border-color:var(--gray-600)}.search-result-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.search-result-avatar{border-radius:var(--radius-full);height:24px;object-fit:cover;width:24px}.search-result-name{color:var(--gray-900);font-size:var(--font-size-sm);font-weight:500}[data-theme=dark] .search-result-name{color:var(--gray-100)}.search-result-time{color:var(--gray-500);font-size:var(--font-size-xs);margin-left:auto}[data-theme=dark] .search-result-time{color:var(--gray-400)}.search-result-content{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--gray-700);display:-webkit-box;font-size:var(--font-size-sm);line-height:1.4;overflow:hidden}[data-theme=dark] .search-result-content{color:var(--gray-300)}.pinned-panel-overlay{animation:fadeIn .2s ease-out;background:#00000080;inset:0;position:fixed;z-index:1001}.pinned-messages-panel{animation:slideInRight .3s ease-out;background:#fff;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px;z-index:1002}[data-theme=dark] .pinned-messages-panel{background:var(--gray-800)}@media (max-width:768px){.pinned-messages-panel{right:0;width:100vw}}.pinned-panel-header{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:var(--space-4)}[data-theme=dark] .pinned-panel-header{border-bottom-color:var(--gray-700)}.pinned-panel-header h3{color:var(--gray-900);font-size:var(--font-size-lg);font-weight:600;margin:0}[data-theme=dark] .pinned-panel-header h3{color:var(--gray-100)}.pinned-panel-close-btn{align-items:center;background:var(--gray-100);border:none;border-radius:var(--radius-full);color:var(--gray-600);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.pinned-panel-close-btn:hover{background:var(--gray-200);color:var(--gray-900)}[data-theme=dark] .pinned-panel-close-btn{background:var(--gray-700);color:var(--gray-400)}[data-theme=dark] .pinned-panel-close-btn:hover{background:var(--gray-600);color:var(--gray-100)}.pinned-panel-content{display:flex;flex:1 1;flex-direction:column;gap:var(--space-3);overflow-y:auto;padding:var(--space-4)}.pinned-panel-item{border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-3);transition:all var(--transition-fast)}.pinned-panel-item:hover{background:var(--gray-50);border-color:var(--primary-300)}[data-theme=dark] .pinned-panel-item{border-color:var(--gray-700)}[data-theme=dark] .pinned-panel-item:hover{background:var(--gray-700);border-color:var(--primary-600)}.pinned-item-header{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.pinned-item-avatar{border-radius:var(--radius-full);height:28px;object-fit:cover;width:28px}.pinned-item-info{display:flex;flex:1 1;flex-direction:column}.pinned-item-name{color:var(--gray-900);font-size:var(--font-size-sm);font-weight:500}[data-theme=dark] .pinned-item-name{color:var(--gray-100)}.pinned-item-time{color:var(--gray-500);font-size:var(--font-size-xs)}[data-theme=dark] .pinned-item-time{color:var(--gray-400)}.pinned-item-icon{color:var(--primary-500);height:16px;width:16px}[data-theme=dark] .pinned-item-icon{color:var(--primary-400)}.pinned-item-content{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--gray-700);display:-webkit-box;font-size:var(--font-size-sm);line-height:1.4;overflow:hidden}[data-theme=dark] .pinned-item-content{color:var(--gray-300)}.highlight-pinned{animation:highlightPulse 2s ease-out;background:var(--primary-50)!important;border:2px solid var(--primary-200)!important}[data-theme=dark] .highlight-pinned{background:var(--primary-900)!important;border-color:var(--primary-700)!important}@keyframes highlightPulse{0%{box-shadow:0 0 0 0 #2563eb66}70%{box-shadow:0 0 0 10px #2563eb00}to{box-shadow:0 0 0 0 #2563eb00}}.header-action-btn:disabled{cursor:not-allowed;opacity:.5}.header-action-btn:disabled:hover{background:#0000;color:var(--gray-600)}[data-theme=dark] .header-action-btn:disabled:hover{color:var(--gray-400)}.edit-message-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#0009;display:flex;inset:0;justify-content:center;padding:var(--space-4);position:fixed;z-index:1001}.edit-message-container{animation:slideUp .3s ease-out;background:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-height:80vh;max-width:500px;overflow:hidden;width:100%}[data-theme=dark] .edit-message-container{background:var(--gray-800)}.edit-message-header{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:var(--space-4)}[data-theme=dark] .edit-message-header{border-bottom-color:var(--gray-700)}.edit-message-header h3{color:var(--gray-900);font-size:var(--font-size-lg);font-weight:600;margin:0}[data-theme=dark] .edit-message-header h3{color:var(--gray-100)}.edit-close-btn{align-items:center;background:var(--gray-100);border:none;border-radius:var(--radius-full);color:var(--gray-600);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.edit-close-btn:hover{background:var(--gray-200);color:var(--gray-900)}[data-theme=dark] .edit-close-btn{background:var(--gray-700);color:var(--gray-400)}[data-theme=dark] .edit-close-btn:hover{background:var(--gray-600);color:var(--gray-100)}.edit-message-content{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.edit-original-message{background:var(--gray-50);border-left:3px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-3)}[data-theme=dark] .edit-original-message{background:var(--gray-700);border-left-color:var(--gray-600)}.edit-label{color:var(--gray-500);display:block;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.05em;margin-bottom:var(--space-2);text-transform:uppercase}[data-theme=dark] .edit-label{color:var(--gray-400)}.edit-original-text{color:var(--gray-700);font-size:var(--font-size-sm);line-height:1.4;max-height:60px;overflow-y:auto}[data-theme=dark] .edit-original-text{color:var(--gray-300)}.edit-message-input{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-900);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;max-height:200px;min-height:80px;padding:var(--space-3);resize:vertical;transition:all var(--transition-fast);width:100%}.edit-message-input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}[data-theme=dark] .edit-message-input{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-100)}[data-theme=dark] .edit-message-input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #38bdf81a}.edit-message-actions{display:flex;gap:var(--space-3);justify-content:flex-end}.edit-cancel-btn,.edit-save-btn{border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.edit-cancel-btn{background:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-700)}.edit-cancel-btn:hover{background:var(--gray-200);color:var(--gray-900)}[data-theme=dark] .edit-cancel-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-300)}[data-theme=dark] .edit-cancel-btn:hover{background:var(--gray-600);color:var(--gray-100)}.edit-save-btn{background:var(--primary-500);border:1px solid var(--primary-500);color:#fff}.edit-save-btn:hover:not(:disabled){background:var(--primary-600);border-color:var(--primary-600)}.edit-save-btn:disabled{background:var(--gray-300);border-color:var(--gray-300);color:var(--gray-500);cursor:not-allowed}[data-theme=dark] .edit-save-btn:disabled{background:var(--gray-600);border-color:var(--gray-600);color:var(--gray-500)}.action-feedback{animation:slideInRight .3s ease-out;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:300px;padding:var(--space-3) var(--space-4);position:fixed;right:var(--space-6);top:var(--space-6);z-index:1002}.action-feedback.success{background:var(--success-50);border:1px solid var(--success-200);color:var(--success-700)}.action-feedback.error{background:var(--error-50);border:1px solid var(--error-200);color:var(--error-700)}.action-feedback.info{background:var(--primary-50);border:1px solid var(--primary-200);color:var(--primary-700)}[data-theme=dark] .action-feedback.success{background:var(--success-900);border-color:var(--success-800);color:var(--success-300)}[data-theme=dark] .action-feedback.error{background:var(--error-900);border-color:var(--error-800);color:var(--error-300)}[data-theme=dark] .action-feedback.info{background:var(--primary-900);border-color:var(--primary-800);color:var(--primary-300)}.feedback-content{align-items:center;display:flex;gap:var(--space-2)}.feedback-icon{flex-shrink:0;height:20px;width:20px}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.edit-message-overlay{padding:var(--space-2)}.edit-message-container{max-width:none;width:100%}.action-feedback{left:var(--space-4);max-width:none;right:var(--space-4);top:var(--space-4)}}.swipe-reply-hint{animation:fadeIn .3s ease-out;background:var(--gray-900);border-radius:var(--radius-lg);bottom:120px;box-shadow:var(--shadow-lg);color:#fff;font-size:var(--font-size-sm);font-weight:500;left:50%;padding:var(--space-3) var(--space-4);position:fixed;transform:translateX(-50%);z-index:100}[data-theme=dark] .swipe-reply-hint{background:var(--gray-100);color:var(--gray-900)}.mobile-modal-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;inset:0;position:fixed;z-index:999}.mobile-message-modal{animation:slideUp .3s ease-out;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:auto;left:50%;margin:var(--space-4);max-height:75vh;max-width:420px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90vw;z-index:1000}[data-theme=dark] .mobile-message-modal{background:var(--gray-800);border-color:var(--gray-700)}@media (min-width:769px){.mobile-message-modal{max-height:70vh;max-width:450px;width:450px}.mobile-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.mobile-modal-header{align-items:center;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;padding:var(--space-4)}[data-theme=dark] .mobile-modal-header{border-bottom-color:var(--gray-700)}.modal-message-info{align-items:center;display:flex;gap:var(--space-3)}.modal-avatar{border-radius:var(--radius-full);height:32px;object-fit:cover;width:32px}.modal-user-info{display:flex;flex-direction:column}.modal-username{color:var(--gray-900);font-size:var(--font-size-sm);font-weight:600}[data-theme=dark] .modal-username{color:var(--gray-100)}.modal-timestamp{color:var(--gray-500);font-size:var(--font-size-xs)}[data-theme=dark] .modal-timestamp{color:var(--gray-400)}.modal-close-btn{align-items:center;background:var(--gray-100);border:none;border-radius:var(--radius-full);color:var(--gray-600);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.modal-close-btn:hover{background:var(--gray-200);color:var(--gray-900)}[data-theme=dark] .modal-close-btn{background:var(--gray-700);color:var(--gray-400)}[data-theme=dark] .modal-close-btn:hover{background:var(--gray-600);color:var(--gray-100)}.mobile-modal-content{flex:1 1;min-height:0;overflow-y:auto;padding:var(--space-4)}.mobile-modal-content::-webkit-scrollbar{width:4px}.mobile-modal-content::-webkit-scrollbar-track{background:#0000}.mobile-modal-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}[data-theme=dark] .mobile-modal-content::-webkit-scrollbar-thumb{background:var(--gray-600)}.modal-message-preview{word-wrap:break-word;background:var(--gray-50);border-left:3px solid var(--primary-500);border-radius:var(--radius-lg);color:var(--gray-800);font-size:var(--font-size-sm);line-height:1.4;margin-bottom:var(--space-4);max-height:80px;overflow-y:auto;padding:var(--space-3);word-break:break-word}.modal-message-preview::-webkit-scrollbar{width:3px}.modal-message-preview::-webkit-scrollbar-track{background:#0000}.modal-message-preview::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}[data-theme=dark] .modal-message-preview{background:var(--gray-700);border-left-color:var(--primary-400);color:var(--gray-200)}[data-theme=dark] .modal-message-preview::-webkit-scrollbar-thumb{background:var(--gray-600)}.modal-actions{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:1fr 1fr;margin-bottom:var(--space-6)}@media (min-width:769px){.modal-actions{gap:var(--space-3);grid-template-columns:repeat(3,1fr)}.modal-action-btn{font-size:var(--font-size-sm);padding:var(--space-3) var(--space-2);white-space:nowrap}}.modal-action-btn{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-700);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.modal-action-btn:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-900)}[data-theme=dark] .modal-action-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-300)}[data-theme=dark] .modal-action-btn:hover{background:var(--gray-600);border-color:var(--gray-500);color:var(--gray-100)}.modal-action-btn.reply{border-color:var(--primary-300);color:var(--primary-700)}.modal-action-btn.reply:hover{background:var(--primary-50);border-color:var(--primary-400)}[data-theme=dark] .modal-action-btn.reply{border-color:var(--primary-700);color:var(--primary-400)}[data-theme=dark] .modal-action-btn.reply:hover{background:var(--primary-900);border-color:var(--primary-600)}.modal-action-btn.delete{border-color:var(--error-300);color:var(--error-700)}.modal-action-btn.delete:hover{background:var(--error-50);border-color:var(--error-400)}[data-theme=dark] .modal-action-btn.delete{border-color:var(--error-700);color:var(--error-400)}[data-theme=dark] .modal-action-btn.delete:hover{background:var(--error-900);border-color:var(--error-600)}.modal-emoji-section{margin-bottom:var(--space-6)}.modal-emoji-section h4{color:var(--gray-900);font-size:var(--font-size-sm);font-weight:600;margin:0 0 var(--space-3) 0}[data-theme=dark] .modal-emoji-section h4{color:var(--gray-100)}.modal-emoji-grid{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(4,1fr)}@media (min-width:769px){.modal-emoji-grid{gap:var(--space-2);grid-template-columns:repeat(8,1fr)}.modal-emoji-btn{font-size:var(--font-size-xl);height:44px;width:44px}}.modal-emoji-btn{align-items:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);cursor:pointer;display:flex;font-size:var(--font-size-xl);height:48px;justify-content:center;transition:all var(--transition-fast);width:48px}.modal-emoji-btn:hover{background:var(--gray-50);border-color:var(--gray-300);transform:scale(1.05)}[data-theme=dark] .modal-emoji-btn{background:var(--gray-700);border-color:var(--gray-600)}[data-theme=dark] .modal-emoji-btn:hover{background:var(--gray-600);border-color:var(--gray-500)}.modal-reactions-section{border-top:1px solid var(--gray-200);flex-shrink:0;padding-top:var(--space-4)}[data-theme=dark] .modal-reactions-section{border-top-color:var(--gray-700)}.modal-reactions-section h4{align-items:center;color:var(--gray-900);display:flex;font-size:var(--font-size-sm);font-weight:600;justify-content:space-between;margin:0 0 var(--space-3) 0}.reactions-scroll-hint{color:var(--gray-500);font-size:var(--font-size-xs);font-style:italic;font-weight:400}[data-theme=dark] .modal-reactions-section h4{color:var(--gray-100)}[data-theme=dark] .reactions-scroll-hint{color:var(--gray-400)}.modal-reactions-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:150px;overflow-y:auto;padding-right:var(--space-1)}@media (min-width:769px){.modal-reactions-list{gap:var(--space-3);max-height:200px}.modal-reaction-item{padding:var(--space-3)}.reaction-user-avatar{height:20px;width:20px}.reaction-user-name{font-size:var(--font-size-sm)}}.modal-reactions-list::-webkit-scrollbar{width:4px}.modal-reactions-list::-webkit-scrollbar-track{background:#0000}.modal-reactions-list::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}[data-theme=dark] .modal-reactions-list::-webkit-scrollbar-thumb{background:var(--gray-600)}.modal-reaction-item{align-items:flex-start;background:var(--gray-50);border-radius:var(--radius-lg);display:flex;flex-shrink:0;gap:var(--space-3);padding:var(--space-2)}[data-theme=dark] .modal-reaction-item{background:var(--gray-700)}.reaction-emoji{flex-shrink:0;font-size:var(--font-size-lg);line-height:1}.reaction-users{display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);min-width:0}.reaction-user{align-items:center;display:flex;gap:var(--space-2);min-height:24px}.reaction-user-avatar{border-radius:var(--radius-full);flex-shrink:0;height:18px;object-fit:cover;width:18px}.reaction-user-name{color:var(--gray-700);font-size:var(--font-size-xs);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .reaction-user-name{color:var(--gray-300)}@media (max-width:768px){.mobile-message-modal{margin:var(--space-2);max-height:80vh;max-width:none;width:92vw}.modal-actions{gap:var(--space-2);grid-template-columns:1fr}.modal-action-btn{font-size:var(--font-size-sm);padding:var(--space-3)}.modal-emoji-grid{gap:var(--space-1);grid-template-columns:repeat(8,1fr)}.modal-emoji-btn{font-size:var(--font-size-base);height:36px;width:36px}.modal-reactions-list{max-height:120px}.mobile-modal-content{padding:var(--space-3)}}@media (max-width:480px){.mobile-message-modal{margin:var(--space-1);max-height:85vh;width:95vw}.mobile-modal-content{padding:var(--space-3)}.modal-message-preview{font-size:var(--font-size-xs);max-height:60px}.modal-emoji-grid{gap:var(--space-1);grid-template-columns:repeat(4,1fr)}.modal-emoji-btn{font-size:var(--font-size-lg);height:40px;width:40px}.modal-reactions-list{max-height:100px}.modal-reaction-item{padding:var(--space-1) var(--space-2)}.reaction-user-avatar{height:16px;width:16px}.reaction-user-name{font-size:11px}}.avatar-fallback,.avatar-image{transition:all var(--transition-fast)}.avatar-image.loading{opacity:.7}.message-group-avatar .avatar-fallback,.message-group-avatar .avatar-image{height:100%;width:100%}.mention-avatar.avatar-fallback,.mention-avatar.avatar-image,.modal-avatar.avatar-fallback,.modal-avatar.avatar-image,.pinned-item-avatar.avatar-fallback,.pinned-item-avatar.avatar-image,.reaction-user-avatar.avatar-fallback,.reaction-user-avatar.avatar-image,.search-result-avatar.avatar-fallback,.search-result-avatar.avatar-image{border-radius:var(--radius-full);object-fit:cover}.profile-container{background:var(--gray-50);font-family:var(--font-family);min-height:100vh}[data-theme=dark] .profile-container{background:var(--gray-900)}.profile-header{align-items:center;background:#fff;border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:var(--space-6)}[data-theme=dark] .profile-header{background:var(--gray-800);border-bottom-color:var(--gray-700)}.back-btn{align-items:center;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-700);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-2);padding:var(--space-2) var(--space-4);text-decoration:none;transition:all var(--transition-fast)}.back-btn:hover{background:var(--gray-200);color:var(--gray-900);transform:translateX(-2px)}[data-theme=dark] .back-btn{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-300)}[data-theme=dark] .back-btn:hover{background:var(--gray-600);color:var(--gray-100)}.profile-header h1{color:var(--gray-900);font-size:var(--font-size-2xl);font-weight:700;margin:0}[data-theme=dark] .profile-header h1{color:var(--gray-100)}.profile-content{margin:0 auto;max-width:800px;padding:var(--space-8)}.profile-tabs{background:var(--gray-100);border-radius:var(--radius-xl);display:flex;gap:var(--space-1);margin-bottom:var(--space-8);padding:var(--space-1)}[data-theme=dark] .profile-tabs{background:var(--gray-800)}.tab{background:#0000;border-radius:var(--radius-lg);color:var(--gray-600);font-size:var(--font-size-sm);font-weight:500;padding:var(--space-3) var(--space-4);text-align:center;transition:all var(--transition-fast)}.tab.active{background:#fff;box-shadow:var(--shadow-sm);color:var(--primary-600)}.tab:hover:not(.active){color:var(--gray-900)}[data-theme=dark] .tab{color:var(--gray-400)}[data-theme=dark] .tab.active{background:var(--gray-700);color:var(--primary-400)}[data-theme=dark] .tab:hover:not(.active){color:var(--gray-200)}.tab-content{border:1px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:var(--space-8)}[data-theme=dark] .tab-content{background:var(--gray-800);border-color:var(--gray-700)}.profile-info{align-items:flex-start;display:flex;gap:var(--space-8)}.avatar-section{flex-shrink:0}.profile-avatar{border:4px solid var(--gray-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);height:120px;object-fit:cover;width:120px}[data-theme=dark] .profile-avatar{border-color:var(--gray-600)}.info-section{flex:1 1;gap:var(--space-6)}.info-item,.info-section{display:flex;flex-direction:column}.info-item{gap:var(--space-2)}.info-item label{color:var(--gray-700);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.05em;text-transform:uppercase}[data-theme=dark] .info-item label{color:var(--gray-300)}.info-value{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-900);font-size:var(--font-size-base);padding:var(--space-3) var(--space-4)}[data-theme=dark] .info-value{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-100)}.role-badge{align-items:center;background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-700);display:inline-flex;font-size:var(--font-size-sm);font-weight:600;letter-spacing:.025em;padding:var(--space-2) var(--space-3);text-transform:uppercase;width:-webkit-fit-content;width:fit-content}[data-theme=dark] .role-badge{background:var(--primary-900);color:var(--primary-300)}.security-tab h3{color:var(--gray-900);font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-2) 0}[data-theme=dark] .security-tab h3{color:var(--gray-100)}.section-description{color:var(--gray-600);font-size:var(--font-size-base);line-height:1.6;margin:0 0 var(--space-6) 0}[data-theme=dark] .section-description{color:var(--gray-400)}.error-message,.success-message{align-items:center;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4)}.success-message{background:var(--success-50);border:1px solid var(--success-200);color:var(--success-700)}[data-theme=dark] .success-message{background:var(--success-900);border-color:var(--success-800);color:var(--success-300)}.error-message{background:var(--error-50);border:1px solid var(--error-200);color:var(--error-700)}[data-theme=dark] .error-message{background:var(--error-900);border-color:var(--error-800);color:var(--error-300)}.credentials-form{gap:var(--space-6)}.credentials-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-group label{color:var(--gray-700);font-size:var(--font-size-sm);font-weight:600}[data-theme=dark] .form-group label{color:var(--gray-300)}.form-group input{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-900);font-size:var(--font-size-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.form-group input:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #0ea5e91a;outline:none}.form-group input:disabled{background:var(--gray-50);color:var(--gray-500);cursor:not-allowed}[data-theme=dark] .form-group input{background:var(--gray-700);border-color:var(--gray-600);color:var(--gray-100)}[data-theme=dark] .form-group input:focus{border-color:var(--primary-400);box-shadow:0 0 0 3px #38bdf81a}[data-theme=dark] .form-group input:disabled{background:var(--gray-800);color:var(--gray-500)}.form-group small{color:var(--gray-500);font-size:var(--font-size-xs)}[data-theme=dark] .form-group small{color:var(--gray-400)}.save-btn{align-self:flex-start;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;font-size:var(--font-size-base);font-weight:600;padding:var(--space-3) var(--space-6);transition:all var(--transition-fast)}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-600),var(--primary-700));box-shadow:var(--shadow-lg);transform:translateY(-1px)}.save-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.preferences-tab h3{color:var(--gray-900);font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-6) 0}[data-theme=dark] .preferences-tab h3{color:var(--gray-100)}.preference-item{align-items:center;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);display:flex;margin-bottom:var(--space-4);padding:var(--space-4);transition:all var(--transition-fast)}.preference-item:hover{background:var(--gray-100)}[data-theme=dark] .preference-item{background:var(--gray-700);border-color:var(--gray-600)}[data-theme=dark] .preference-item:hover{background:var(--gray-600)}.preference-item label{align-items:center;color:var(--gray-900);cursor:pointer;display:flex;flex:1 1;font-size:var(--font-size-base);font-weight:500;gap:var(--space-3)}[data-theme=dark] .preference-item label{color:var(--gray-100)}.preference-item input[type=checkbox]{accent-color:var(--primary-500);cursor:pointer;height:20px;width:20px}@media (max-width:768px){.profile-content{padding:var(--space-4)}.profile-header{gap:var(--space-4);padding:var(--space-4)}.profile-header,.profile-info{flex-direction:column;text-align:center}.profile-info{align-items:center}.tab-content{padding:var(--space-6)}.profile-tabs{flex-direction:column}.tab{text-align:center}}.profile-avatar.avatar-fallback,.profile-avatar.avatar-image{border:3px solid var(--gray-200);border-radius:var(--radius-full);object-fit:cover}[data-theme=dark] .profile-avatar.avatar-fallback,[data-theme=dark] .profile-avatar.avatar-image{border-color:var(--gray-700)}.avatar-section{align-items:center;display:flex;flex-direction:column;gap:var(--space-3)}.refresh-avatar-btn{align-items:center;background:var(--primary-500);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.refresh-avatar-btn:hover:not(:disabled){background:var(--primary-600);transform:translateY(-1px)}.refresh-avatar-btn:disabled{background:var(--gray-400);cursor:not-allowed;transform:none}[data-theme=dark] .refresh-avatar-btn{background:var(--primary-400);color:var(--gray-900)}[data-theme=dark] .refresh-avatar-btn:hover:not(:disabled){background:var(--primary-300)}[data-theme=dark] .refresh-avatar-btn:disabled{background:var(--gray-600);color:var(--gray-400)}.admin-container{background:#f5f5f5;min-height:100vh}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000001a;display:flex;padding:20px}.back-btn{background:none;border:none;border-radius:4px;color:#667eea;cursor:pointer;font-size:16px;margin-right:20px;padding:8px;transition:background .2s}.back-btn:hover{background:#f0f0f0}.admin-header h1{color:#333;font-size:24px;margin:0}.admin-content{margin:0 auto;max-width:1200px;padding:20px}.admin-tabs{background:#fff;border-bottom:1px solid #e0e0e0;border-radius:8px 8px 0 0;display:flex}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:16px;padding:15px 20px;transition:all .2s}.tab.active{border-bottom-color:#667eea}.tab.active,.tab:hover{background:#f8f9ff;color:#667eea}.error-message,.success-message{border-radius:6px;margin-bottom:20px;padding:12px 40px 12px 12px;position:relative}.error-message{background:#fee;border:1px solid #fcc;color:#c33}.success-message{background:#e8f5e8;border:1px solid #c8e6c9;color:#2e7d32}.close-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.close-btn:hover{opacity:1}.tab-content{background:#fff;border-radius:0 0 8px 8px;box-shadow:0 2px 8px #0000001a;padding:30px}.emails-tab h3,.users-tab h3{color:#333;margin:0 0 20px}.loading{color:#666;padding:40px;text-align:center}.emails-table,.users-table{overflow-x:auto}.emails-table table,.users-table table{border-collapse:collapse;margin-top:20px;width:100%}.emails-table td,.emails-table th,.users-table td,.users-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.emails-table th,.users-table th{background:#f8f9fa;color:#333;font-weight:600}.user-info{align-items:center;display:flex;gap:10px}.user-avatar{border-radius:50%;height:32px;width:32px}.role-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:4px 8px}.status-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.status-badge.active{background:#e8f5e8;color:#2e7d32}.status-badge.muted{background:#fff3e0;color:#f57c00}.status-badge.used{background:#e3f2fd;color:#1976d2}.status-badge.available{background:#e8f5e8;color:#2e7d32}.action-buttons{display:flex;gap:8px}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.action-btn.mute{background:#fff3e0;color:#f57c00}.action-btn.mute:hover{background:#ffe0b2}.action-btn.unmute{background:#e8f5e8;color:#2e7d32}.action-btn.unmute:hover{background:#c8e6c9}.action-btn.remove{background:#ffebee;color:#d32f2f}.action-btn.remove:hover{background:#ffcdd2}.email-forms{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-bottom:30px}.form-section h4{color:#333;margin:0 0 15px}.add-email-form{display:flex;gap:10px}.add-email-form input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:10px}.add-email-form button,.bulk-email-form button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px;transition:background .2s}.add-email-form button:hover,.bulk-email-form button:hover{background:#5a6fd8}.bulk-email-form textarea{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px;margin-bottom:10px;padding:10px;resize:vertical;width:100%}@media (max-width:768px){.admin-content{padding:15px}.tab-content{padding:20px}.email-forms{gap:20px;grid-template-columns:1fr}.emails-table,.users-table{font-size:14px}.emails-table td,.emails-table th,.users-table td,.users-table th{padding:8px}.action-buttons{flex-direction:column;gap:4px}.action-btn{font-size:11px;padding:4px 8px}}.settings-tab h3{color:#333;margin:0 0 20px}.settings-section{display:flex;flex-direction:column;gap:20px}.setting-item{align-items:flex-start;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:20px}.setting-info h4{color:#333;font-size:16px;margin:0 0 8px}.setting-info p{color:#666;line-height:1.4;margin:0 0 8px;max-width:400px}.setting-info small{color:#999;font-style:italic}.setting-control{align-items:center;display:flex;flex-shrink:0;gap:12px}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:#667eea}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.status-text{font-size:14px;font-weight:500}.status-text.enabled{color:#2e7d32}.status-text.disabled{color:#666}@media (max-width:768px){.setting-item{align-items:flex-start;flex-direction:column;gap:15px}.setting-control{align-self:flex-end}}.user-avatar.avatar-fallback,.user-avatar.avatar-image{border-radius:var(--radius-full);object-fit:cover}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-50:#f0f9ff;--primary-100:#e0f2fe;--primary-200:#bae6fd;--primary-300:#7dd3fc;--primary-400:#38bdf8;--primary-500:#0ea5e9;--primary-600:#0284c7;--primary-700:#0369a1;--primary-800:#075985;--primary-900:#0c4a6e;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success-50:#f0fdf4;--success-500:#22c55e;--success-600:#16a34a;--warning-50:#fffbeb;--warning-500:#f59e0b;--warning-600:#d97706;--error-50:#fef2f2;--error-500:#ef4444;--error-600:#dc2626;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}[data-theme=dark]{--gray-50:#0f172a;--gray-100:#1e293b;--gray-200:#334155;--gray-300:#475569;--gray-400:#64748b;--gray-500:#94a3b8;--gray-600:#cbd5e1;--gray-700:#e2e8f0;--gray-800:#f1f5f9;--gray-900:#f8fafc}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";color:#0f172a;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);line-height:1.6}.App,body{background:#f8fafc;background:var(--gray-50)}.App,.loading{min-height:100vh}.loading{align-items:center;display:flex;flex-direction:column;gap:1rem;gap:var(--space-4);justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-top:3px solid #0ea5e9;border:3px solid var(--gray-200);border-radius:9999px;border-radius:var(--radius-full);border-top-color:var(--primary-500);height:32px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{color:#475569;color:var(--gray-600);font-size:1.125rem;font-size:var(--font-size-lg);font-weight:500}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--gray-300);border-radius:9999px;border-radius:var(--radius-full);-webkit-transition:background .15s cubic-bezier(.4,0,.2,1);transition:background .15s cubic-bezier(.4,0,.2,1);-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--gray-400)}::-webkit-scrollbar-corner{background:#0000}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #0ea5e9;outline:2px solid var(--primary-500);outline-offset:2px}button{background:none;border:none;cursor:pointer;font-family:inherit;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}a{color:#0284c7;color:var(--primary-600);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast)}a:hover{color:#0369a1;color:var(--primary-700);text-decoration:underline}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;padding:0;position:absolute;width:1px}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
/*# sourceMappingURL=main.15dbaed7.css.map*/