.toast-container{position:fixed;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:2000;pointer-events:none}.toast-container-top{top:calc(env(safe-area-inset-top,0px) + 12px);bottom:auto}.toast-container-bottom{bottom:80px;top:auto}.toast-container-center{top:50%;bottom:auto;transform:translate(-50%,-50%)}.toast{min-width:260px;max-width:340px;padding:10px 14px;border-radius:999px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 18px 40px #0f172a59;display:inline-flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;opacity:.98;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0f172a59;border:1px solid rgba(255,255,255,.18)}.toast-info{background:linear-gradient(135deg,#2563eb29,#3b82f63d),#0f172a59}.toast-success{background:linear-gradient(135deg,#16a34a29,#22c55e3d),#0f172a59}.toast-error{background:linear-gradient(135deg,#dc26262e,#ef444442),#0f172a59}.toast-warning{background:linear-gradient(135deg,#ea580c2e,#f9731642),#0f172a59}.toast-variant-delete{background:#1118278c!important;border:1px solid rgba(255,255,255,.28);border-radius:14px!important;padding:12px 16px;box-shadow:0 14px 40px #00000059}.toast-message{text-align:center}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2100}.confirm-modal{width:90%;max-width:360px;background:#fff;border-radius:16px;padding:18px 18px 14px;box-shadow:0 18px 40px #00000059}.confirm-title{margin:0 0 8px;font-size:17px;font-weight:600;color:#111827}.confirm-message{margin:0 0 16px;font-size:14px;color:#4b5563}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-button{border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500;border:none;cursor:pointer}.confirm-button-secondary{background:#f3f4f6;color:#374151}.confirm-button-primary{background:#2563eb;color:#fff}@media (max-width: 768px){.toast-container-bottom{bottom:90px}}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;color:#333}.modal-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close:hover{background-color:#f0f0f0}.modal-form{padding:20px}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s;box-sizing:border-box}.form-group input[type=text]:focus,.form-group textarea:focus{border-color:#3390ec}.form-group textarea{resize:vertical;min-height:80px}.member-search{margin-bottom:12px}.members-list{max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:8px}.loading-members,.empty-members{padding:20px;text-align:center;color:#999;font-size:14px}.member-item{display:flex;align-items:center;padding:10px;border-radius:8px;cursor:pointer;transition:background-color .2s;margin-bottom:4px}.member-item:hover{background-color:#f5f5f5}.member-item.selected{background-color:#e3f2fd}.member-avatar{width:40px;height:40px;border-radius:50%;background:#3390ec;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:12px;flex-shrink:0;overflow:hidden}.member-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.member-info{flex:1;min-width:0}.member-name{font-weight:500;color:#333;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-username{font-size:12px;color:#999;margin-top:2px}.member-check{color:#3390ec;font-size:20px;font-weight:700;margin-left:8px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:#3390ec;color:#fff}.btn-submit:hover:not(:disabled){background:#2a7bc7}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.management-modal{max-width:600px}.modal-tabs{display:flex;border-bottom:1px solid #e0e0e0;padding:0 20px}.modal-tabs button{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s}.modal-tabs button:hover{color:#3390ec}.modal-tabs button.active{color:#3390ec;border-bottom-color:#3390ec}.loading-state{padding:40px;text-align:center;color:#999}.info-message{background:#e3f2fd;color:#1976d2;padding:12px;border-radius:8px;margin-bottom:16px;font-size:14px}.admin-badge{background:#3390ec;color:#fff;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:600;margin-left:auto}.form-actions-top{margin-bottom:16px}.btn-add-members{padding:10px 16px;background:#3390ec;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-add-members:hover{background:#2a7bc7}.add-members-section{margin-top:16px}.add-members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.add-members-header h3{margin:0;font-size:16px;color:#333}.btn-cancel-small{padding:6px 12px;background:#f0f0f0;color:#666;border:none;border-radius:6px;cursor:pointer;font-size:12px}.btn-cancel-small:hover{background:#e0e0e0}.remove-member-button{background:#fee;color:#c33;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background-color .2s;margin-left:8px}.remove-member-button:hover{background:#fcc}.avatar-upload{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:100%}.avatar-preview{width:120px;height:120px;min-width:120px;min-height:120px;max-width:120px;max-height:120px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid #e0e0e0;flex-shrink:0;box-sizing:border-box}.avatar-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.avatar-placeholder{font-size:48px}.avatar-upload-button{padding:8px 16px;background:#3390ec;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:background-color .2s}.avatar-upload-button:hover{background:#2a7bc7}.remove-avatar-button{padding:6px 12px;background:#f0f0f0;color:#666;border:none;border-radius:8px;cursor:pointer;font-size:12px;transition:background-color .2s}.remove-avatar-button:hover{background:#e0e0e0}.danger-zone{margin-top:32px;padding-top:24px;border-top:2px solid #fee}.danger-zone h3{margin:0 0 12px;font-size:16px;color:#c33}.danger-zone p{margin:0 0 12px;font-size:14px;color:#666}.btn-danger{padding:10px 20px;background:#c33;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.btn-danger:hover:not(:disabled){background:#a22}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-danger-outline{padding:10px 20px;background:#fff;color:#c33;border:2px solid #c33;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-danger-outline:hover:not(:disabled){background:#fee}.btn-danger-outline:disabled{opacity:.6;cursor:not-allowed}.confirm-delete{margin-top:16px;padding:16px;background:#fee;border-radius:8px;border-left:4px solid #c33}.confirm-delete p{margin:0 0 16px;color:#333;font-weight:500}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.btn-copy-link{padding:10px 20px;background:#f0f0f0;color:#333;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;width:100%}.btn-copy-link:hover{background:#e0e0e0;border-color:#d0d0d0}.integrated-chat-screen{display:flex;flex-direction:column;height:100%;min-height:100dvh;background:#f5f6f8;position:relative}.integrated-chat-screen.chat-list-screen{background:#fff;height:0;flex:1;min-height:0}.integrated-chat-screen.chat-conversation-screen{background:#f5f6f8}.chat-conversation-screen{height:0;flex:1;min-height:0;overflow:hidden}.chat-conversation-screen .chat-split-conv{min-height:0}.chat-conversation-screen .chat-messages{padding-bottom:6px;min-height:0;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.chat-split-list,.chat-split-conv{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}@media (min-width: 768px){.integrated-chat-screen{flex-direction:row}.chat-split-list{width:320px;flex-shrink:0;border-right:1px solid #e2e8f0;overflow:hidden;height:100%}.chat-split-list .chat-user-list{height:100%}.chat-split-conv{flex:1;min-width:0;overflow:hidden;height:100%;background:#f5f6f8}.chat-list-item.chat-list-item--active{background:#3b82f6;color:#fff}.chat-list-item.chat-list-item--active .chat-list-name,.chat-list-item.chat-list-item--active .chat-list-preview,.chat-list-item.chat-list-item--active .chat-list-time{color:#ffffffe6}}@media (min-width: 1024px){.chat-split-list{width:380px}}.chat-split-empty{display:none}@media (min-width: 768px){.chat-split-empty{display:flex;flex:1;align-items:center;justify-content:center;color:#94a3b8;font-size:14px;background:#f5f6f8}}.chat-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;font-size:18px;color:#666;gap:16px}.chat-loading button{padding:10px 20px;background:#3390ec;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.chat-loading button:hover{background:#2a7bc7}.empty-state{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;text-align:center;color:#666}.empty-state p{margin:8px 0}.chat-user-list{flex:1;min-height:0;overflow:hidden;background:#fff;padding:0;display:flex;flex-direction:column}.chat-list-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 14px;border-bottom:1px solid #f1f5f9;background:#fff;position:sticky;top:0;z-index:20}.chat-list-title{margin:0;font-size:24px;font-weight:800;color:#0f172a;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:10px}.chat-list-refreshing{display:inline-block;width:14px;height:14px;border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:chat-list-spin .75s linear infinite;flex-shrink:0}@keyframes chat-list-spin{to{transform:rotate(360deg)}}.chat-list-actions{display:flex;align-items:center;gap:10px;color:#94a3b8}.chat-header-action{background:transparent;border:none;padding:8px;border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease,transform .15s ease}.chat-header-action:hover{background:#f1f5f9;color:#0f172a;transform:translateY(-1px)}.chat-header-action-circle{background:#f8fafc}.chat-search{padding:12px 20px 14px;background:#fff}.chat-search-field{position:relative}.chat-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#94a3b8}.chat-search-input{width:100%;padding:10px 14px 10px 38px;border:none;border-radius:14px;background:#f1f5f9;font-size:14px;color:#0f172a;outline:none;transition:background .2s ease}.chat-search-input:focus{background:#e2e8f0}.chat-list-body{flex:1;min-height:0;overflow-y:auto;padding:6px 0 calc(24px + var(--bottom-nav-height, 52px))}.chat-list-item{display:flex;align-items:center;gap:14px;padding:12px 20px;transition:background-color .2s ease;cursor:pointer}.chat-list-item:hover{background:#f8fafc}.chat-list-avatar{width:56px;height:56px;border-radius:50%;background:#1890ff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;position:relative;flex-shrink:0;overflow:hidden}.chat-list-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-list-item--saved .chat-list-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.chat-list-avatar-saved,.chat-header-avatar-saved{display:flex;align-items:center;justify-content:center;color:#fff}.chat-list-online{position:absolute;right:4px;bottom:4px;width:12px;height:12px;background:#10b981;border:2px solid #ffffff;border-radius:50%}.chat-list-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:6px 0;border-bottom:none}.chat-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-list-name{font-size:15px;font-weight:600;color:#0f172a;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-time{font-size:12px;color:#94a3b8}.chat-list-time.is-unread{color:#1890ff;font-weight:600}.chat-list-preview{font-size:13px;color:#64748b;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chat-list-preview.is-unread{color:#0f172a;font-weight:600}.chat-list-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-list-badge{background:#1890ff;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:flex;align-items:center;justify-content:center}.chat-list-delete{border:none;background:transparent;color:#cbd5f5;padding:4px;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .2s ease,color .2s ease,background-color .2s ease}.chat-list-item:hover .chat-list-delete{opacity:1}.chat-list-delete:hover{color:#f43f5e;background:#f43f5e1a}.chat-list-section{padding:8px 0 0}.chat-list-section-title{padding:8px 20px;font-size:12px;font-weight:700;color:#94a3b8;letter-spacing:.08em}.chat-contact-item{display:flex;align-items:center;gap:14px;padding:10px 20px;transition:background-color .2s ease;cursor:pointer}.chat-contact-item:hover{background:#f8fafc}.chat-contact-avatar{width:50px;height:50px;border-radius:50%;background:#1890ff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0;overflow:hidden}.chat-contact-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-contact-info{flex:1;min-width:0;padding:8px 0;border-bottom:none}.chat-contact-name{font-size:15px;font-weight:600;color:#0f172a;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact-status{font-size:13px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-contact-status.is-online{color:#1890ff;font-weight:600}.chat-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chat-user-list h2{margin:0;font-size:22px;font-weight:800;color:#0f172a}.header-actions{display:flex;gap:8px;align-items:center}.header-icon-button{background:none;border:none;color:#64748b;cursor:pointer;padding:6px;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:background-color .18s ease,color .18s ease,transform .1s ease}.header-icon-button:hover{background-color:#eff6ff;color:#2563eb;transform:translateY(-1px)}.search-bar{margin-bottom:16px}.search-input-wrapper{position:relative}.search-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#cbd5f5;pointer-events:none}.search-input{width:100%;padding:11px 14px 11px 40px;border:1px solid #e2e8f0;border-radius:999px;font-size:14px;outline:none;background:#fff;box-shadow:0 1px 2px #0f172a0a}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.list-container{flex:1;overflow-y:auto}.list-section{margin-bottom:24px}.section-header{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;margin-bottom:8px;padding:0 12px}.user-list-items{display:flex;flex-direction:column;gap:10px}.user-list-item{display:flex;align-items:center;padding:12px 14px;border-radius:24px;cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .1s;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0f}.user-list-item:hover{background-color:#f8fafc;box-shadow:0 4px 12px #0f172a14;transform:translateY(-1px)}.user-avatar{width:50px;height:50px;border-radius:50%;background:#3390ec;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:12px;flex-shrink:0;overflow:hidden;position:relative}.user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.online-indicator{width:12px;height:12px;border-radius:50%;background:#4caf50;border:2px solid white;position:absolute;bottom:0;right:0}.user-info{flex:1;min-width:0}.user-name-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.user-name{font-weight:500;color:#333;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-time-preview{font-size:12px;color:#999;flex-shrink:0}.user-status-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.user-status{font-size:14px;color:#999;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{background:#3390ec;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;min-width:20px;text-align:center;flex-shrink:0}.dialog-item{position:relative}.dialog-delete-btn{flex-shrink:0;margin-left:auto;padding:6px 10px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:16px;color:#999;opacity:.7;transition:color .2s,background .2s,opacity .2s}.dialog-item:hover .dialog-delete-btn{opacity:1}.dialog-delete-btn:hover{color:#c0392b;background:#c0392b1a}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;width:100%}.chat-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.chat-back-button{background:none;border:none;color:#1890ff;padding:6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.chat-back-button:hover{background:#1890ff1f;transform:translate(-1px)}.chat-back-button:active{transform:translate(0)}.chat-header-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;background:transparent;border:none;padding:4px 0;text-align:left;cursor:pointer}.chat-header-info{display:flex;flex-direction:column;justify-content:center;overflow:hidden;min-width:0}.chat-name{font-weight:700;color:#0f172a;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.chat-status{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-avatar{width:44px;height:44px;border-radius:50%;background:#1890ff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;overflow:hidden;flex-shrink:0}.chat-header-avatar:has(.chat-header-avatar-saved){background:linear-gradient(135deg,#6366f1,#8b5cf6)}.chat-header-actions{display:flex;align-items:center;gap:6px}.chat-header-action.danger{background:none;border:none;color:#f97066;padding:6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease}.chat-header-action.danger:hover{background:#f970661f;transform:scale(1.05)}.chat-messages{flex:1;overflow-y:auto;overflow-anchor:none;padding:18px 18px 24px;display:flex;flex-direction:column;gap:6px;order:1}.chat-messages-spacer{flex:1 1 auto}.message-date{text-align:center;color:#94a3b8;font-size:11px;font-weight:600;margin:12px 0 18px}.message{display:flex;flex-direction:row;max-width:85%;gap:10px;margin-bottom:10px}.message.outgoing{align-self:flex-end;flex-direction:row-reverse}.message.incoming{align-self:flex-start}.message-avatar{width:32px;height:32px;border-radius:50%;background:#1890ff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex-shrink:0;overflow:hidden}.message-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.message-sender-name{font-size:11px;color:#3b82f6;margin-bottom:4px;font-weight:700}.message-content{background:#fff;padding:10px 12px 16px;border-radius:18px;box-shadow:0 2px 6px #0f172a0f;position:relative;border:1px solid #f1f5f9}.message.outgoing .message-content{background:#1890ff;color:#fff;border-color:transparent;border-top-right-radius:6px}.message.incoming .message-content{border-top-left-radius:6px}.message-text{margin-bottom:4px;word-wrap:break-word;line-height:1.5;font-size:14px}.message-image{max-width:100%;border-radius:12px;margin-bottom:6px}.message-time{font-size:10px;opacity:.7;text-align:right;margin-top:4px;position:absolute;right:10px;bottom:6px}.message-reply{background:#0000000d;border-left:3px solid #3390ec;padding:8px;margin-bottom:8px;border-radius:4px;display:flex;gap:8px;cursor:pointer;transition:background-color .2s}.message-reply:hover{background:#00000014}.message-reply-line{width:3px;background:#3390ec;border-radius:2px;flex-shrink:0}.message-reply-content{flex:1;min-width:0}.message-reply-sender{font-size:12px;font-weight:500;color:#3390ec;margin-bottom:2px}.message-reply-text{font-size:12px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-forwarded-block{border-left:3px solid #a78bfa;padding-left:8px;margin-bottom:4px}.message-forwarded-header{display:flex;align-items:center;gap:4px;margin-bottom:4px}.message-forwarded-arrow{font-size:12px;color:#8b5cf6;flex-shrink:0}.message-forwarded-from{font-size:11px;font-weight:600;color:#8b5cf6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message.outgoing .message-forwarded-block{border-left-color:#ffffff80}.message.outgoing .message-forwarded-arrow,.message.outgoing .message-forwarded-from{color:#ffffffd9}.message-forwarded-header--link{cursor:pointer;border-radius:4px;transition:background .15s}.message-forwarded-header--link:hover{background:#8b5cf61a}.message.outgoing .message-forwarded-header--link:hover{background:#ffffff26}@keyframes message-flash{0%{background:#8b5cf62e}60%{background:#8b5cf61f}to{background:transparent}}.message-highlight>.message-content{animation:message-flash 1.8s ease-out forwards;border-radius:18px}.message-audio{width:100%;max-width:300px;margin:4px 0}.message-buttons{margin-top:8px;display:flex;flex-direction:column;gap:4px}.button-row{display:flex;gap:4px;flex-wrap:wrap}.message-button{padding:6px 12px;background:#3390ec;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:12px;transition:background-color .2s}.message-button:hover{background:#2a7bc7}.reply-keyboard{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-top:1px solid #e0e0e0;background:#f7f7f7;border-radius:8px;margin-bottom:8px}.reply-keyboard-row{display:flex;gap:8px}.reply-keyboard-button{flex:1;padding:8px 12px;background:#3390ec;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:12px;transition:background-color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-keyboard-button:hover{background:#2a7bc7}.chat-input-area{padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e2e8f0;order:2;flex-shrink:0}html.keyboard-open .chat-conversation-screen .chat-input-area{padding-bottom:10px}.chat-input-row{display:flex;align-items:center;gap:8px}.chat-input-icon{border:none;background:transparent;color:#64748b;padding:6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s ease,color .2s ease}.chat-input-icon:hover{background:#f1f5f9;color:#0f172a}.chat-input-icon--active{background:#eef2ff;color:#6366f1}.message-sticker{width:140px;height:140px;-o-object-fit:contain;object-fit:contain;border-radius:8px;display:block}.chat-input{flex:1;padding:10px 16px;border:1px solid #e2e8f0;border-radius:999px;font-size:14px;outline:none;background:#fff}.chat-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1f}.chat-send-button{width:40px;height:40px;border-radius:50%;border:none;background:#1890ff;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #1890ff4d;transition:background-color .2s ease,transform .2s ease}.chat-send-button:hover{background:#1976d2}.chat-send-button:active{transform:scale(.96)}.edit-preview{display:flex;align-items:center;gap:10px;background:#fff8e1;border-left:3px solid #f59e0b;padding:8px 12px;margin-bottom:8px;border-radius:4px}.edit-preview-icon{font-size:16px;flex-shrink:0}.edit-preview-content{flex:1;min-width:0}.edit-preview-label{font-size:11px;font-weight:600;color:#d97706;margin-bottom:2px}.edit-preview-text{font-size:12px;color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-preview-cancel{background:none;border:none;color:#999;cursor:pointer;font-size:16px;padding:0;width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.edit-preview-cancel:hover{color:#333}.ctx-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500}.ctx-menu{position:fixed;z-index:501;background:#fff;border-radius:14px;box-shadow:0 8px 32px #0000002e,0 2px 8px #0000001a;min-width:210px;overflow:hidden;padding:6px 0;animation:ctx-menu-in .12s ease}@keyframes ctx-menu-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ctx-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;background:none;border:none;font-size:14px;color:#1a1a2e;cursor:pointer;text-align:left;transition:background .12s}.ctx-menu-item:hover{background:#f3f4f6}.ctx-menu-item--danger{color:#e53e3e}.ctx-menu-item--danger:hover{background:#fff5f5}.ctx-menu-item-icon{font-size:17px;width:22px;text-align:center}.ctx-menu-divider{height:1px;background:#f1f1f1;margin:4px 0}.ctx-menu-reactions{display:flex;align-items:center;gap:2px;padding:8px 10px;flex-wrap:wrap}.ctx-menu-reaction-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:4px 6px;border-radius:8px;transition:background .1s,transform .1s}.ctx-menu-reaction-btn:hover{background:#f3f4f6;transform:scale(1.2)}.ctx-menu-reaction-back{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:4px 8px;border-radius:8px;margin-left:auto}.ctx-menu-reaction-back:hover{background:#f3f4f6}.message-selected .message-content{outline:2px solid #3390ec;outline-offset:2px;border-radius:18px}.message-selected{background:#3390ec14;border-radius:12px}.selection-bar{position:absolute;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#1e293b;color:#f1f5f9;box-shadow:0 -4px 16px #0003}.selection-bar-cancel{background:none;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:4px;line-height:1;flex-shrink:0}.selection-bar-cancel:hover{color:#f1f5f9}.selection-bar-count{flex:1;font-size:14px;font-weight:500}.selection-bar-actions{display:flex;gap:8px}.selection-bar-btn{padding:7px 14px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;background:#334155;color:#f1f5f9;transition:background .15s}.selection-bar-btn:hover:not(:disabled){background:#475569}.selection-bar-btn:disabled{opacity:.4;cursor:not-allowed}.selection-bar-btn--danger{background:#7f1d1d;color:#fecaca}.selection-bar-btn--danger:hover:not(:disabled){background:#991b1b}.message-actions{display:none!important}.message-edited-label{font-size:10px;opacity:.65;font-style:italic;margin-right:4px}.reply-preview{background:#f5f5f5;padding:8px 12px;border-left:3px solid #3390ec;margin-bottom:8px;border-radius:4px}.reply-preview-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#666;margin-bottom:4px}.reply-preview-header button{background:none;border:none;color:#999;cursor:pointer;font-size:16px;padding:0;width:20px;height:20px}.reply-preview-content{font-size:12px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-input-area form{display:flex;flex-direction:column;gap:8px;width:100%}.message-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;gap:8px}.message-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.message{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default;-webkit-touch-callout:none}.message-selected,.message:active{cursor:pointer}.message-content{position:relative}.reaction-picker{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border-radius:24px;padding:8px;box-shadow:0 4px 12px #00000026;display:flex;gap:4px;z-index:100}.message.outgoing .reaction-picker{right:0;left:auto}.message.outgoing .message-time{color:#ffffffd9}.message.outgoing .message-reply{background:#ffffff26;border-left-color:#fff9}.message.outgoing .message-reply:hover{background:#ffffff38}.message.outgoing .message-reply-line{background:#fff9}.message.outgoing .message-reply-sender{color:#ffffffe6}.message.outgoing .message-reply-text{color:#ffffffbf}.message.outgoing .message-reactions .reaction-badge{background:#ffffff26;border-color:#fff3}.message.outgoing .message-reactions .reaction-badge:hover{background:#ffffff40}.message.outgoing .message-reactions .reaction-badge-active{background:#ffffff40;border-color:#fff9}.message.outgoing .message-reactions .reaction-count{color:#ffffffe6}.message.outgoing .message-reactions .reaction-badge-active .reaction-count{color:#fff}.message.outgoing .message-sender-name{color:#fffc}.reaction-emoji-btn{background:none;border:none;font-size:24px;cursor:pointer;padding:4px 8px;border-radius:50%;transition:transform .2s,background-color .2s}.reaction-emoji-btn:hover{transform:scale(1.2);background:#0000000d}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-badge{display:flex;align-items:center;gap:4px;background:#0000000d;border:1px solid transparent;border-radius:12px;padding:2px 6px;font-size:12px;cursor:pointer;transition:background-color .2s,border-color .2s}.reaction-badge:hover{background:#0000001a}.reaction-badge-active{background:#3390ec1a;border-color:#3390ec}.reaction-emoji{font-size:14px}.reaction-count{font-size:11px;color:#666;font-weight:500}.reaction-badge-active .reaction-count{color:#3390ec}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.forward-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0}.modal-header h3{margin:0;font-size:18px;font-weight:500;color:#333}.modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.modal-close:hover{background:#0000000d}.forward-modal-body{flex:1;overflow-y:auto;padding:16px 20px}.forward-message-preview{background:#f5f5f5;border-radius:8px;padding:12px;margin-bottom:16px}.forward-message-preview-forwarded{font-size:11px;color:#999;margin-bottom:4px}.forward-message-preview-text{font-size:14px;color:#333}.forward-message-preview-image{max-width:100%;border-radius:4px;margin-top:8px}.forward-recipients{display:flex;flex-direction:column;gap:16px}.forward-section h4{margin:0 0 8px;font-size:14px;font-weight:500;color:#666;text-transform:uppercase}.forward-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}.forward-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .2s}.forward-item:hover{background:#f5f5f5}.forward-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.forward-item-avatar{width:40px;height:40px;border-radius:50%;background:#3390ec;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden}.forward-item-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.forward-item-name{flex:1;font-size:14px;color:#333}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid #e0e0e0}.modal-button{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.modal-button.primary{background:#3390ec;color:#fff}.modal-button.primary:hover{background:#2a7bc7}.modal-button.secondary{background:#f5f5f5;color:#333}.modal-button.secondary:hover{background:#e0e0e0}.chat-header{display:flex;align-items:center;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;background:#fffffffa;border-bottom:1px solid rgba(0,0,0,.08);gap:12px;min-height:60px;flex-shrink:0;position:sticky;top:0;z-index:100;width:100%;box-shadow:0 1px 3px #0000000d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat-header-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;cursor:pointer;padding:4px 0;border-radius:12px;transition:background-color .2s}.chat-header-main:hover{background-color:#00000005}.back-button{background:none;border:none;font-size:28px;cursor:pointer;color:#007aff;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;min-width:44px;width:44px;height:44px;flex-shrink:0;transition:all .2s ease;line-height:1;margin:0 -8px;opacity:1;visibility:visible;background:transparent}@media (max-width: 768px){.back-button{font-size:32px;min-width:48px;width:48px;height:48px;margin:0 -12px 0 -8px}}.back-button:hover{background-color:#007aff1a;transform:scale(1.05);color:#007aff}.back-button:active{transform:scale(.95);background-color:#007aff26}.chat-header-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#007aff,#00c6fb);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:18px;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px #007aff33;border:2px solid #fff;transition:transform .2s}.chat-header-main:hover .chat-header-avatar{transform:scale(1.02)}.chat-header-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.chat-header-avatar.group-avatar,.chat-header-avatar.channel-avatar{background:linear-gradient(135deg,#34c759,#30b0c0);font-size:20px}.chat-header-info{display:flex;flex-direction:column;justify-content:center;overflow:hidden;min-width:0;flex:1}.chat-name{font-weight:600;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.3;letter-spacing:-.2px;margin-bottom:2px}.chat-status{font-size:13px;color:#8e8e93;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px}.online-status{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34c759;margin-right:6px;box-shadow:0 0 0 2px #fff;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #34c75966}70%{box-shadow:0 0 0 6px #34c75900}to{box-shadow:0 0 #34c75900}}.chat-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto}.settings-button{background:none;border:none;font-size:22px;cursor:pointer;color:#007aff;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;min-width:44px;width:44px;height:44px;flex-shrink:0;transition:all .2s ease;background:transparent;position:relative}.settings-button:hover{background-color:#007aff1a;transform:scale(1.05)}.settings-button:active{transform:scale(.95);background-color:#007aff26}.settings-button.delete-dialog-btn{color:#ff3b30}.settings-button.delete-dialog-btn:hover{background-color:#ff3b301a;color:#ff3b30}@media (max-width: 480px){.chat-header{padding:8px 12px;min-height:60px}.chat-header-avatar{width:44px;height:44px;font-size:16px}.chat-name{font-size:16px}.chat-status{font-size:12px}.back-button{font-size:28px;min-width:40px;width:40px;height:40px}.settings-button{font-size:20px;min-width:40px;width:40px;height:40px}}.typing-indicator{display:flex;align-items:center;gap:3px;font-size:13px;color:#34c759}.typing-indicator span{width:4px;height:4px;background:#34c759;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.member-count{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#8e8e931f;border-radius:12px;font-size:11px;font-weight:500;color:#8e8e93}.member-count:before{content:"👥";font-size:12px;opacity:.7}.subscriber-count{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#8e8e931f;border-radius:12px;font-size:11px;font-weight:500;color:#8e8e93}.subscriber-count:before{content:"📢";font-size:12px;opacity:.7}.chat-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-group{display:flex;align-items:center;gap:2px;background:#8e8e9314;border-radius:24px;padding:2px}.action-group .settings-button{min-width:40px;width:40px;height:40px}.action-divider{width:1px;height:24px;background:#8e8e9333;margin:0 4px}.sticker-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.sticker-picker{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000026;z-index:100;overflow:hidden;display:flex;flex-direction:column;max-height:320px}.sticker-picker-tabs{display:flex;gap:4px;padding:8px 10px 0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid #f0f0f0;flex-shrink:0}.sticker-picker-tabs::-webkit-scrollbar{display:none}.sticker-tab{flex-shrink:0;width:36px;height:36px;border-radius:8px;border:2px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s;padding:2px;margin-bottom:4px}.sticker-tab:hover{background:#f5f5f5}.sticker-tab--active{border-color:#6366f1;background:#eef2ff}.sticker-tab-thumb{width:28px;height:28px;-o-object-fit:contain;object-fit:contain;border-radius:4px}.sticker-tab-icon{font-size:20px}.sticker-pack-name{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;padding:6px 12px 2px;flex-shrink:0}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px 8px 10px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ddd transparent}.sticker-grid::-webkit-scrollbar{width:4px}.sticker-grid::-webkit-scrollbar-thumb{background:#ddd;border-radius:4px}.sticker-item{aspect-ratio:1;border:none;background:transparent;cursor:pointer;border-radius:10px;padding:4px;transition:background .12s;display:flex;align-items:center;justify-content:center}.sticker-item:hover{background:#f0f0f0}.sticker-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:6px}.sticker-picker-empty{padding:32px;text-align:center;color:#aaa;font-size:14px}.message-sticker{width:140px;height:140px;-o-object-fit:contain;object-fit:contain;border-radius:8px;display:block;cursor:default}.chat-page{width:100%;max-width:100%;margin:0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column}@media (max-width: 1024px){.chat-page{width:100%}}.layout .main-content .container:has(.chat-page){max-width:100%;padding:0;margin:0;width:100%}
