:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--message-body-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;--blue: #5b6470;--blue-700: #30343b;--text: #343941;--text-strong: #24272d;--text-soft: #565d68;--muted: #8a9099;--line: #e5e7eb;--bg: #f4f4f5;--panel: #ffffff;--bubble-in: #ffffff;--bubble-out: #f3f4f6;--chip-green: #e9f9ec;--chip-red: #fff0ef}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:64px 360px minmax(0,1fr);width:100vw;height:100vh;overflow:hidden}.desktop-side-rail{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 10px 20px;background:#fafafa;border-right:1px solid var(--line)}.desktop-rail-button{position:relative;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:#71717a}.desktop-rail-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.desktop-rail-button:hover{background:#f4f4f5;color:var(--text-soft)}.desktop-rail-button.is-active{background:#f1f3f5;color:var(--text);box-shadow:inset 0 0 0 1px #e5e7eb}.desktop-rail-button.is-active:hover{background:#eceff3;color:var(--text)}.desktop-rail-badge{position:absolute;top:-4px;right:-4px;min-width:22px;padding:1px 6px;border:2px solid #fafafa;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;line-height:1.2}.left-pane{position:relative;z-index:2;min-height:0;background:var(--panel);border-right:1px solid var(--line);overflow:visible}.app-mode-workspace .left-pane{grid-column:2 / -1;border-right:0}.app-mode-workspace .chat-pane-wrap{display:none}.chat-pane-wrap{position:relative;z-index:1;min-width:0;min-height:0;background:var(--bg)}.sidebar-header{display:flex;align-items:center;gap:16px;padding:22px 18px;border-bottom:1px solid var(--line)}.sidebar-header strong{color:var(--text-strong);font-size:20px;font-weight:600}.sidebar-header select,.search-box{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted)}.sidebar-header select{flex:1;padding:10px}.search-box{display:flex;gap:8px;padding:10px 12px}.search-box input{width:100%;border:0;outline:0}.sidebar-search-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:10px;margin:14px 18px}.icon-action,.icon-button{display:grid;place-items:center;border:0;background:transparent;color:#4b5563}.icon-action{width:40px;height:40px;border-radius:6px}.icon-action:hover,.icon-button:hover{background:#f3f4f6}.icon-action svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}@media(max-width:840px){.desktop-side-rail{display:none}}.tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);background:#fff}.tab{height:46px;border:0;background:transparent;color:#71717a;font-weight:500}.tab.is-active{color:var(--blue-700);border-bottom:2px solid var(--blue-700)}.conversation-list{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;overflow:visible;background:#fff}.conversation-list-header{display:grid;grid-template-rows:78px 70px 47px auto;min-height:0;background:#fff}.conversation-list-header .sidebar-header{gap:0;padding:0 18px;background:#fff}.conversation-list-header .sidebar-header strong{color:var(--text-strong);font-size:19px;font-weight:600;line-height:1.25}.conversation-list-header .sidebar-search-row{align-items:center;margin:0;padding:13px 18px;background:#fff}.conversation-list-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}.conversation-item{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;width:100%;padding:14px 18px;border:0;border-bottom:1px solid #eef1f5;background:#fff;color:var(--text);text-align:left}.conversation-item.is-active,.conversation-item:hover{background:#f4f4f5}.avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;object-fit:cover;background:#e5e7eb;color:#424955;font-weight:500}.conversation-avatar-stack{position:relative;display:block;width:44px;height:44px}.conversation-main{display:grid;gap:4px;min-width:0}.conversation-title,.conversation-time,.conversation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:10px;min-width:0}.conversation-title{color:var(--text-soft);font-weight:400}.conversation-item.is-unread .conversation-title{color:var(--text-strong);font-weight:500}.conversation-time{color:var(--muted);font-size:13px;font-weight:400}.conversation-preview{color:var(--text-soft);font-size:14px}.media-marker{margin-right:4px;color:var(--blue-700)}.unread{position:absolute;right:-4px;bottom:-3px;min-width:18px;padding:2px 7px;border-radius:999px;background:#ef2929;color:#fff;font-size:12px;font-weight:600;line-height:1;text-align:center}.conversation-filter-bar{position:relative;background:#fff;border-bottom:1px solid var(--line)}.conversation-filter-actions{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 18px;overflow-x:auto}.conversation-filter-button,.conversation-filter-clear{display:grid;flex:0 0 auto;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#9ca3af}.conversation-filter-button svg,.conversation-filter-clear svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.conversation-filter-button:hover,.conversation-filter-button.is-active{background:#eff6ff;color:var(--blue-700)}.conversation-filter-clear{margin-left:auto;background:#dc4545;color:#fff}.conversation-filter-clear:disabled{background:#f4f4f5;color:#c4c7cf;cursor:default}.conversation-filter-popover{position:absolute;left:18px;top:calc(100% + 8px);z-index:8;display:grid;gap:10px;width:min(420px,calc(100vw - 36px));padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 45px #0f172a24}.conversation-filter-popover:before{content:"";position:absolute;top:-7px;left:128px;width:12px;height:12px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;transform:rotate(45deg)}.conversation-filter-check{display:flex;align-items:center;gap:10px;min-height:32px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left}.conversation-filter-check span{width:18px;height:18px;border:1px solid #d4d4d8;border-radius:4px;background:#fff}.conversation-filter-check.is-active span{border-color:var(--blue-700);background:var(--blue-700);box-shadow:inset 0 0 0 4px #fff}.conversation-filter-input{height:40px;padding:0 12px;border:1px solid var(--line);border-radius:7px;color:var(--text);font:inherit}.conversation-filter-tag-grid,.conversation-filter-time{display:flex;flex-wrap:wrap;gap:8px}.conversation-filter-tag-grid button,.conversation-filter-time button{--tag-color: #3f3f46;min-height:32px;padding:4px 10px;border:1px solid color-mix(in srgb,var(--tag-color),#fff 25%);border-radius:7px;background:#fff;color:var(--tag-color);font:inherit;font-weight:500}.conversation-filter-tag-grid button.is-active{background:color-mix(in srgb,var(--tag-color),#fff 88%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tag-color),#fff 10%)}.conversation-filter-empty{color:var(--muted);font-size:14px}.chat-pane{display:grid;grid-template-rows:78px minmax(0,1fr) auto auto;height:100vh}.chat-header{display:flex;align-items:center;gap:14px;padding:14px 24px;background:#fff;border-bottom:1px solid var(--line)}.chat-header h1{margin:0;color:var(--text-strong);font-size:20px;font-weight:500;line-height:1.2}.chat-avatar-button{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:transparent;padding:0}.chat-avatar-button:hover{box-shadow:0 0 0 3px #f1f3f5}.chat-title-block{min-width:0}.chat-name-row{display:flex;align-items:center;gap:8px;min-width:0}.alias-edit-button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:999px;background:#f4f4f5;color:var(--text-soft);opacity:0;transition:opacity .12s ease,background .12s ease}.chat-name-row:hover .alias-edit-button,.chat-name-row:focus-within .alias-edit-button,.alias-edit-button:focus-visible{opacity:1}.alias-edit-button:hover{background:#e5e7eb}.alias-edit-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.header-actions{display:flex;gap:10px;margin-left:auto}.header-actions button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:#f4f4f5;color:#71717a}.header-actions button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.header-actions .mobile-chat-menu-button{display:none}.message-thread{display:flex;flex-direction:column;gap:8px;overflow:auto;padding:20px 28px 30px;background:#fff}.message-thread-empty{justify-content:center}.message-thread-empty .state{min-height:0;padding:0 24px}.message-row{display:flex}.message-row.has-sender-avatar{--group-sender-avatar-offset: 52px;align-items:flex-start;gap:8px}.group-sender-avatar,.group-sender-avatar-placeholder{flex:0 0 auto}.group-sender-avatar-placeholder{visibility:hidden}.message-row.outbound{justify-content:flex-end}.message-stack{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:min(920px,90%)}.message-row.has-sender-avatar .message-stack{max-width:min(920px,calc(90% - var(--group-sender-avatar-offset)))}.message-row.outbound .message-stack{align-items:flex-end}.message-stack.media-only-stack{width:fit-content;max-width:min(320px,66%)}.bubble{max-width:100%;padding:4px 0;border:0;border-radius:0;background:transparent;color:var(--text);box-shadow:none}.outbound .bubble{padding:10px 12px 8px;border:1px solid #e5e7eb;border-radius:8px;background:var(--bubble-out);box-shadow:0 1px 2px #0f172a0f}.bubble.media-only-bubble{width:fit-content;max-width:min(320px,100%);padding:0;border:0;background:transparent;box-shadow:none}.bubble.media-only-bubble footer{width:100%;margin-top:4px;padding:0 2px}.bubble.media-only-bubble .media-object,.bubble.media-only-bubble .media-box{margin-top:0}.media-visual-stack{position:relative;width:fit-content;max-width:100%}.media-sender-chip{display:inline-flex;max-width:100%;align-items:center;margin-bottom:6px;padding:4px 12px;border:1px solid rgb(15 23 42 / 6%);border-radius:999px;background:#fff;color:var(--text-soft);box-shadow:0 1px 2px #0f172a14}.media-sender-name{min-width:0;overflow:hidden;color:var(--muted);font-size:13px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sender{margin-bottom:4px;color:var(--muted);font-size:13px;font-weight:400}.bubble p{margin:0;-webkit-font-smoothing:antialiased;color:#3f3f46;font-family:var(--message-body-font);font-size:15px;font-weight:400;letter-spacing:0;line-height:1.48;white-space:pre-wrap;overflow-wrap:anywhere}.message-mention{display:inline;padding:1px 4px;border-radius:6px;background:#0000000f;color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em;line-height:inherit;white-space:nowrap}.bubble footer{display:flex;gap:8px;margin-top:4px;color:var(--muted);font-size:11px}.inbound .bubble footer{justify-content:flex-start}.outbound .bubble footer{justify-content:flex-end}.message-actions{position:absolute;right:-18px;bottom:-12px;z-index:3;display:flex;align-items:center;gap:6px;--reaction-palette-shift: 0px}.outbound .message-actions{right:auto;left:-18px}@media(hover:hover)and (pointer:fine){.message-actions{right:-8px}.outbound .message-actions{left:-8px}}.reaction-action{position:relative}.message-action-button,.reaction-trigger{display:grid;width:28px;height:28px;place-items:center;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:#6b7280;box-shadow:0 1px 4px #0f172a24;cursor:pointer;font-size:14px;opacity:0;transition:opacity .12s ease,transform .12s ease}.message-row:hover .reaction-trigger,.message-row:hover .message-action-button,.message-actions.is-open .reaction-trigger,.message-actions.is-open .message-action-button{opacity:1}.message-action-button:hover,.reaction-trigger:hover{transform:translateY(-1px);color:#4b5563}.message-action-button svg,.reaction-trigger svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.more-trigger svg{fill:currentColor;stroke:none}.message-more-action{position:relative}.message-more-menu{position:absolute;right:0;bottom:34px;min-width:148px;padding:6px;border:1px solid rgb(15 23 42 / 10%);border-radius:8px;background:#fff;box-shadow:0 10px 30px #0f172a2e;white-space:nowrap}.outbound .message-more-menu{right:auto;left:0}.message-more-menu[hidden]{display:none}.message-more-item{width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font:inherit;text-align:left}.message-more-item:hover{background:#f3f4f6}.message-more-danger{color:#dc2626}.message-row.is-recalled .bubble,.message-row.is-recalled .message-reactions{opacity:.58}.message-row.is-jump-highlight .bubble{box-shadow:0 0 0 2px #2563eb38,0 1px 2px #0f172a0f}.recalled-badge{color:var(--muted);font-weight:500}.reaction-palette{position:absolute;left:50%;bottom:34px;display:flex;max-width:min(320px,calc(100vw - 24px));gap:8px;padding:8px 10px;border:1px solid rgb(15 23 42 / 10%);border-radius:999px;background:#fff;box-shadow:0 10px 30px #0f172a2e;transform:translate(calc(-50% + var(--reaction-palette-shift)));white-space:nowrap}.reaction-option{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:999px;background:transparent;cursor:pointer;font-size:20px}.reaction-option:hover{background:#f3f4f6}.reaction-remove{color:#64748b}.reaction-remove svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.message-reactions{display:flex;gap:4px;margin-top:-4px;padding:0 8px}.message-reaction-chip{display:inline-flex;gap:3px;min-width:24px;padding:0 7px;height:22px;align-items:center;justify-content:center;border:1px solid rgb(15 23 42 / 8%);border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a1a;font-size:14px}.message-reaction-count{color:#334155;font-size:12px;font-weight:600;line-height:1}.reply-quote{display:flex;width:100%;align-items:center;gap:8px;margin-bottom:8px;padding:2px 0 2px 10px;border:0;border-left:3px solid #cbd5e1;color:inherit;font:inherit;text-align:left}button.reply-quote{background-color:transparent;cursor:pointer}button.reply-quote:hover{opacity:.86}.reply-quote-media{flex:0 0 auto;width:44px;height:44px;border-radius:6px;background:#eef2f7;object-fit:cover}.reply-quote-text{display:grid;min-width:0;gap:4px}.reply-quote strong{color:var(--text-soft);font-size:14px;font-weight:600;line-height:1.25}.reply-quote span{color:var(--muted);-webkit-font-smoothing:antialiased;font-family:var(--message-body-font);font-size:14px;font-weight:400;line-height:1.3;overflow-wrap:anywhere}.reply-quote-preview{display:-webkit-box;max-height:36.4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:ellipsis}.media-box{display:grid;gap:4px;min-width:160px;margin-top:8px;padding:12px;border-radius:8px;background:#f2f5f8}.media-box span{color:var(--text-strong);font-weight:500}.media-box small{color:var(--muted)}.media-object{display:block;margin-top:8px;border-radius:8px}.media-image,.media-video{width:auto;max-width:min(320px,100%);max-height:360px;object-fit:contain}.media-video.media-orientation-landscape{width:320px;max-width:320px}.media-video.media-orientation-portrait{width:auto}.media-audio{width:min(300px,100%)}.media-file{color:var(--text);text-decoration:none}.call-line{color:var(--text-soft);font-weight:500}.status-badge{color:#b42318}.composer{display:flex;gap:8px;padding:8px 18px;background:#fff;border-top:1px solid var(--line)}.composer-wrap{background:#fff;border-top:1px solid var(--line)}.composer{border-top:0}.composer-reply{display:flex;align-items:center;gap:10px;margin:10px 18px 0;padding:8px 10px;border-left:3px solid var(--blue);border-radius:6px;background:#f1f5f9}.composer-reply div{display:grid;flex:1;min-width:0;gap:2px}.composer-reply strong,.composer-reply span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-reply strong{color:var(--text);font-size:13px}.composer-reply span{color:var(--text-soft);font-size:13px}.composer-reply button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.composer-reply button:hover{background:#e2e8f0;color:#334155}.composer-reply svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.composer-file-input{display:none}.composer input{flex:1;border:0;outline:0;color:var(--text);font-size:15px}.composer button{min-width:34px;min-height:32px;padding:0 12px;border:0;border-radius:6px;background:#f2f5fb;color:#94a3b8}.composer button.primary{display:grid;place-items:center;min-width:42px;width:42px;background:var(--blue-700);color:#fff;font-weight:600}.composer button.primary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.composer button:disabled{cursor:not-allowed;opacity:.55}.composer-error{padding:0 18px 10px;color:#b42318;font-size:13px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;background:#0f172a5c}.add-contact-modal{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:8px;box-shadow:0 18px 48px #0f172a3d}.add-contact-modal.is-profile-detail{width:min(640px,calc(100vw - 32px))}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:22px}.alias-modal{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:8px;box-shadow:0 18px 48px #0f172a3d}.alias-form{display:grid;gap:16px;justify-items:center;padding:28px 34px 30px}.alias-form .avatar{width:72px;height:72px;font-size:24px}.alias-form p{max-width:430px;margin:0;text-align:center;line-height:1.45}.alias-input-label{justify-self:stretch;color:#52525b;font-size:13px;font-weight:600}.alias-form input{justify-self:stretch;width:100%;min-width:0;padding:12px 14px;border:1px solid #a1a1aa;border-radius:6px;color:var(--text);outline:0}.alias-error{justify-self:stretch;color:#b42318;font-size:13px;text-align:left}.modal-actions{display:flex;justify-content:flex-end;gap:12px;justify-self:stretch;margin-top:8px}.modal-actions button{min-width:116px;padding:12px 18px;border:0;border-radius:6px;background:#e5e7eb;color:#202123;font-weight:600}.modal-actions button.primary{background:var(--blue-700);color:#fff}.modal-actions button:disabled{cursor:not-allowed;opacity:.52}.icon-button{width:36px;height:36px;border-radius:6px;font-size:30px;line-height:1}.contact-lookup-form{display:grid;grid-template-columns:90px minmax(0,1fr) max-content;gap:12px;align-items:center;padding:22px}.country-code,.contact-lookup-form input{border:0;border-bottom:1px solid #d4d4d8;padding:10px 2px}.country-code{color:#71717a}.contact-lookup-form input{min-width:0;outline:0}.contact-lookup-form button,.contact-actions-row button{border:1px solid #d4d4d8;border-radius:6px;padding:10px 18px;background:#f4f4f5;color:var(--blue-700);font-weight:600}.contact-error,.contact-status,.contact-profile-state{margin:0 22px 18px;color:#b42318}.contact-status{color:#15803d}.contact-profile-state{padding-top:18px;color:var(--muted)}.contact-profile{border-top:1px solid var(--line);padding:18px 22px 22px}.contact-profile h3{margin:0 0 14px;font-size:18px}.contact-profile-main{display:flex;align-items:center;gap:14px}.contact-profile-main strong,.contact-profile-main span{display:block}.contact-profile-main span,.relationship-status{color:var(--muted)}.relationship-status{margin:10px 0 0}.contact-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.contact-actions-row button.primary{background:#e5e7eb}.profile-modal-header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.profile-modal-header h2{margin:0;font-size:22px}.profile-back-button{width:36px;height:36px;border:0;border-radius:6px;background:transparent;color:#3f3f46;font-size:34px;line-height:1}.contact-cover{height:170px;background:linear-gradient(120deg,#f4f4f5,#fff 48%,#e5e7eb);background-position:center;background-size:cover}.contact-identity{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:end;padding:0 28px 18px;background:#fff}.contact-large-avatar{display:grid;place-items:center;width:104px;height:104px;margin-top:-42px;overflow:hidden;border:4px solid #fff;border-radius:50%;background:#e5e7eb;color:#374151;font-size:34px;font-weight:600;box-shadow:0 2px 8px #0f172a24}.contact-large-avatar img{width:100%;height:100%;object-fit:cover}.contact-name-block{min-width:0;padding-bottom:6px}.contact-name-row{display:flex;align-items:center;gap:12px;min-width:0}.contact-name-row h3{margin:0;overflow:hidden;color:#202123;font-size:26px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.contact-name-block p{margin:4px 0 0;color:var(--muted);font-size:14px}.contact-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 28px 22px;border-bottom:8px solid #f1f3f7}.contact-detail-actions button{min-height:48px;border:0;border-radius:4px;background:#e5e9ef;color:#202123;font-size:18px;font-weight:600}.contact-detail-actions button.primary{background:#f4f4f5;color:var(--blue-700)}.contact-detail-actions button:disabled{cursor:not-allowed;opacity:.6}.contact-info-section{padding:24px 28px;border-bottom:8px solid #f1f3f7}.contact-info-section h3{margin:0 0 18px;color:#202123;font-size:22px}.contact-info-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;padding:9px 0;color:#64748b;font-size:17px}.contact-info-row strong{color:#202123;font-weight:500}.contact-secondary-section{display:grid;gap:6px;padding:20px 28px 28px}.contact-secondary-row{display:flex;align-items:center;gap:14px;min-height:42px;color:#94a3b8;font-size:17px}.contact-secondary-row span:first-child{width:28px;color:#94a3b8;font-size:22px;text-align:center}.contact-secondary-row.is-danger{color:#202123}.desktop-contact-nav{display:none}@media(min-width:841px){.app-mode-workspace .mobile-contacts,.app-mode-workspace .friend-requests-view{height:100vh;overflow:hidden;background:#fff}.app-mode-workspace .mobile-contacts-scroll{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.app-mode-workspace .friend-requests-scroll{grid-column:2;grid-row:3;height:100%;min-height:0;overflow:auto}.app-mode-workspace .mobile-contacts-header,.app-mode-workspace .friend-requests-header{display:flex;align-items:center;gap:14px;min-height:72px;padding:14px 24px;border-bottom:1px solid var(--line);background:#fff;color:var(--text)}.app-mode-workspace .mobile-contacts-header{grid-column:1 / -1;grid-row:1}.app-mode-workspace .mobile-contacts-header h1{flex:1;min-width:0;margin:0;color:#202123;font-size:22px;line-height:1.2}.app-mode-workspace .mobile-contacts-search{display:flex;align-items:center;gap:10px;width:100%;min-width:0;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#f4f4f5;color:#71717a}.app-mode-workspace .mobile-contacts-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit}.app-mode-workspace .mobile-contacts-search input::placeholder{color:#a1a1aa;opacity:1}.app-mode-workspace .mobile-contacts-search svg,.app-mode-workspace .mobile-contacts-back svg,.app-mode-workspace .mobile-contacts-add svg,.app-mode-workspace .friend-requests-header svg,.app-mode-workspace .mobile-contact-action-icon svg,.app-mode-workspace .desktop-contact-nav-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.app-mode-workspace .mobile-contacts-search svg{width:21px;height:21px}.app-mode-workspace .mobile-contacts-back,.app-mode-workspace .mobile-contacts-add,.app-mode-workspace .friend-requests-back,.app-mode-workspace .friend-requests-refresh{display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:8px;background:#f4f4f5;color:#3f3f46}.app-mode-workspace .mobile-contacts-back:hover,.app-mode-workspace .mobile-contacts-add:hover,.app-mode-workspace .friend-requests-back:hover,.app-mode-workspace .friend-requests-refresh:hover{background:#e5e7eb}.app-mode-workspace .mobile-contacts-back svg,.app-mode-workspace .mobile-contacts-add svg,.app-mode-workspace .friend-requests-back svg,.app-mode-workspace .friend-requests-refresh svg{width:24px;height:24px}.app-mode-workspace .mobile-contact-filter-row,.app-mode-workspace .friend-request-tabs{display:grid;grid-column:2;grid-row:2;align-items:center;min-height:56px;border-bottom:1px solid var(--line);background:#fff}.app-mode-workspace .mobile-contact-filter-row{grid-template-columns:minmax(260px,420px);gap:0;justify-content:start;padding:8px 24px}.app-mode-workspace .friend-request-tabs{grid-template-columns:repeat(2,minmax(150px,180px));justify-content:start;height:50px;padding:0 24px;border-bottom:1px solid var(--line);background:#fff}.app-mode-workspace .friend-request-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#71717a;font-size:15px;font-weight:600}.app-mode-workspace .friend-request-tabs button.is-active{border-color:#18181b;color:#18181b}.app-mode-workspace .mobile-contact-actions{display:flex;grid-column:1;grid-row:2 / 4;flex-direction:column;gap:6px;min-height:0;padding:12px;border-right:1px solid var(--line);background:#fafafa}.app-mode-workspace .mobile-contact-action-row{display:grid;grid-template-columns:42px minmax(0,1fr) max-content;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;font-size:16px}.app-mode-workspace button.mobile-contact-action-row:hover{background:#f4f4f5}.app-mode-workspace .mobile-contact-action-row.is-active{background:#f4f4f5;color:#18181b;font-weight:600}.app-mode-workspace .mobile-contact-action-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#f4f4f5;color:#3f3f46}.app-mode-workspace .mobile-contact-action-icon svg{width:22px;height:22px}.app-mode-workspace .mobile-contact-count,.app-mode-workspace .mobile-contact-muted{color:#71717a;font-size:14px}.app-mode-workspace .mobile-contact-directory{grid-column:2;grid-row:3;min-height:0;overflow:auto;background:#fff}.app-mode-workspace .mobile-contact-row{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:16px;width:100%;min-height:74px;padding:10px 24px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--text);text-align:left}.app-mode-workspace .mobile-contact-row:hover{background:#fafafa}.app-mode-workspace .mobile-contact-avatar,.app-mode-workspace .friend-request-avatar{display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border-radius:50%;background:#e5e7eb;color:#374151;font-size:18px;font-weight:600}.app-mode-workspace .mobile-contact-avatar img,.app-mode-workspace .friend-request-avatar img{width:100%;height:100%;object-fit:cover}.app-mode-workspace .mobile-contact-main{display:grid;min-width:0;gap:4px}.app-mode-workspace .mobile-contact-name{overflow:hidden;color:#202123;font-size:17px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.app-mode-workspace .mobile-contact-subtitle,.app-mode-workspace .mobile-contact-state{color:#71717a;font-size:14px}.app-mode-workspace .mobile-contact-state{margin:0;padding:22px 24px}.app-mode-workspace .friend-requests-view{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}.app-mode-workspace .friend-requests-header{grid-column:1 / -1;grid-row:1}.app-mode-workspace .friend-requests-header h1{flex:1;min-width:0;margin:0;color:#202123;font-size:22px;line-height:1.2}.app-mode-workspace .friend-request-list{display:grid}.app-mode-workspace .desktop-contact-nav{display:flex;grid-column:1;grid-row:2 / 4;flex-direction:column;gap:6px;min-height:0;padding:12px;border-right:1px solid var(--line);background:#fafafa}.app-mode-workspace .desktop-contact-nav-row{display:grid;grid-template-columns:42px minmax(0,1fr) max-content;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;font-size:16px}.app-mode-workspace button.desktop-contact-nav-row:hover,.app-mode-workspace .desktop-contact-nav-row.is-active{background:#f4f4f5;color:#18181b}.app-mode-workspace .desktop-contact-nav-row.is-active{font-weight:600}.app-mode-workspace .desktop-contact-nav-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#f4f4f5;color:#3f3f46}.app-mode-workspace .desktop-contact-nav-icon svg{width:22px;height:22px}.app-mode-workspace .desktop-contact-nav-count{color:#71717a;font-size:14px;font-weight:500}.app-mode-workspace .friend-request-card{display:grid;grid-template-columns:54px minmax(0,520px);gap:16px;padding:18px 24px;border-bottom:1px solid var(--line);background:#fff}.app-mode-workspace .friend-request-body h2{margin:0;color:#202123;font-size:18px;font-weight:500}.app-mode-workspace .friend-request-body p{margin:4px 0 12px;color:#71717a;font-size:15px}.app-mode-workspace .friend-request-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.app-mode-workspace .friend-request-actions button{min-height:38px;border:0;border-radius:8px;background:#f4f4f5;color:#202123;font-size:15px;font-weight:600}.app-mode-workspace .friend-request-actions button.is-primary{background:#e5e7eb;color:#18181b}.app-mode-workspace .friend-request-actions button:disabled{cursor:not-allowed;opacity:.6}.app-mode-workspace .friend-requests-state{display:grid;justify-items:start;gap:12px;padding:28px 24px;color:#71717a}.app-mode-workspace .friend-requests-state p{margin:0}.app-mode-workspace .friend-requests-state button{border:0;border-radius:8px;padding:9px 14px;background:#f4f4f5;color:#202123;font-weight:600}}.conversation-tags{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.conversation-tag-chip,.chat-tag-toggle{--tag-color: #71717a;border:1px solid color-mix(in srgb,var(--tag-color),#fff 25%);color:var(--tag-color);background:#fff}.conversation-tag-chip{display:inline-flex;align-items:center;max-width:100%;min-height:20px;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-tag-toggle{flex:0 0 auto;min-height:30px;padding:4px 10px;border-radius:7px;font:inherit;font-size:13px;font-weight:500}.chat-tag-toggle.is-active{background:color-mix(in srgb,var(--tag-color),#fff 88%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tag-color),#fff 10%)}.chat-tag-strip{background:#fff;border-top:1px solid var(--line)}.chat-tag-strip-scroll{display:flex;gap:6px;min-width:0;padding:8px 18px;overflow-x:auto}.chat-tag-toggle:disabled{cursor:wait;opacity:.55}.chat-tag-error,.tag-manager-error{color:#b42318;font-size:13px}.chat-tag-error{padding:0 18px 8px}.tag-manager{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;background:#fff;color:var(--text)}.tag-manager-header{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:18px;min-height:72px;padding:14px 24px;border-bottom:1px solid var(--line)}.tag-manager-header h1{margin:0;color:var(--text-strong);font-size:22px;font-weight:600}.tag-manager-actions{display:flex;align-items:center;gap:10px;min-width:0}.tag-search{display:flex;align-items:center;gap:10px;width:min(380px,42vw);height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#71717a}.tag-search svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.tag-search input{width:100%;min-width:0;border:0;outline:0;color:var(--text);font:inherit}.tag-create-button,.tag-modal button.primary{border:0;background:var(--blue-700);color:#fff}.tag-table{display:grid;align-content:start;min-height:0;overflow:auto}.tag-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(110px,.55fr) minmax(90px,.4fr) minmax(130px,.6fr);align-items:center;gap:16px;min-height:64px;padding:10px 24px;border-bottom:1px solid var(--line)}.tag-row-head{min-height:52px;background:#fafafa;color:#71717a;font-size:13px;font-weight:600}.tag-color-swatch{display:block;width:34px;height:34px;border-radius:7px;background:var(--tag-color)}.tag-row-actions{display:flex;gap:8px}.tag-row-actions button,.tag-modal footer button{min-height:34px;padding:0 12px;border:1px solid #d4d4d8;border-radius:7px;background:#fff;color:#3f3f46;font:inherit}.tag-modal{display:grid;gap:16px;width:min(520px,calc(100vw - 32px));padding:22px;border-radius:10px;background:#fff;color:var(--text);box-shadow:0 18px 50px #0f172a2e}.tag-modal header,.tag-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.tag-modal header h2{margin:0;color:var(--text-strong);font-size:20px;font-weight:600}.tag-modal header button{width:34px;height:34px;border:0;border-radius:7px;background:#f4f4f5;color:#3f3f46;font-size:24px;line-height:1}.tag-modal label{display:grid;gap:8px;color:#52525b;font-weight:500}.tag-modal label input{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);font:inherit}.tag-color-grid{display:flex;flex-wrap:wrap;gap:10px}.tag-color-grid button{width:38px;height:38px;border:2px solid transparent;border-radius:8px;background:var(--tag-color)}.tag-color-grid button.is-active{border-color:#18181b;box-shadow:0 0 0 2px #fff inset}.tag-modal footer{justify-content:flex-end}.tag-manager>.empty,.tag-manager>.loading,.tag-manager-error{margin:18px 24px}@media(max-width:840px){.tag-manager-header{grid-template-columns:1fr;gap:12px}.tag-manager-actions{flex-direction:column;align-items:stretch}.tag-search{width:100%}.tag-row{grid-template-columns:minmax(0,1fr) max-content;gap:8px 12px}.tag-row-head{display:none}.tag-row>span:nth-child(2){color:#71717a}.tag-row .tag-color-swatch,.tag-row-actions{grid-column:2}}.state{display:grid;place-items:center;min-height:160px;padding:24px;color:var(--muted)}.state-error{color:#b42318}@media(min-width:841px){.mobile-back-button,.mobile-bottom-nav{display:none}}@media(max-width:840px){.app-shell{grid-template-columns:1fr}.left-pane{display:none}html,body,#root{width:100%;height:100%;overflow:hidden}html{-webkit-text-size-adjust:100%}body{background:#fff}.app-shell{position:fixed;top:0;right:0;bottom:0;left:0;grid-template-columns:1fr;height:var(--mobile-visual-viewport-height, 100dvh);max-height:var(--mobile-visual-viewport-height, 100dvh);background:#fff;overflow:hidden;transform:translate3d(0,var(--mobile-visual-viewport-top, 0),0)}.left-pane,.chat-pane-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:block;min-width:0;width:100%;height:100%;overflow:hidden;transition:transform .22s cubic-bezier(.2,0,.2,1),visibility 0s linear .22s;backface-visibility:hidden;contain:layout paint;will-change:transform}.app-mode-workspace .left-pane{grid-column:1 / -1;border-right:0}.app-mode-workspace .chat-pane-wrap{display:block}.app-shell.mobile-view-list .left-pane{z-index:1;visibility:visible;transform:translateZ(0);transition-delay:0s,0s;pointer-events:auto}.app-shell.mobile-view-list .chat-pane-wrap{z-index:2;visibility:hidden;transform:translate3d(100%,0,0);transition-delay:0s,.22s;pointer-events:none}.app-shell.mobile-view-chat .left-pane{z-index:1;visibility:visible;transform:translate3d(-18%,0,0);transition-delay:0s,0s;pointer-events:none}.app-shell.mobile-view-chat .chat-pane-wrap{z-index:2;visibility:visible;height:100%;transform:translateZ(0);transition-delay:0s,0s;pointer-events:auto;--mobile-chat-header-height: calc(62px + env(safe-area-inset-top)) }.mobile-bottom-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:calc(62px + env(safe-area-inset-bottom));padding:5px 18px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.mobile-bottom-nav-item{position:relative;display:grid;justify-items:center;gap:3px;border:0;background:transparent;color:#8e8f97;font-size:12px;font-weight:500}.mobile-bottom-nav-item svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.mobile-bottom-nav-item.is-active{color:#111827}.mobile-nav-badge{position:absolute;top:0;left:calc(50% + 6px);min-width:24px;padding:1px 6px;border-radius:999px;background:#ff4b55;color:#fff;font-size:12px;line-height:1.3}@media(prefers-reduced-motion:reduce){.left-pane,.chat-pane-wrap{transition:none}}}@media(max-width:840px){.conversation-list{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;overflow:hidden;background:#fff}.conversation-list-header{display:grid;grid-template-rows:auto 43px;background:#fff}.conversation-list-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sidebar-header{display:none}.sidebar-search-row{grid-template-columns:minmax(0,1fr) 40px;gap:10px;margin:0;padding:calc(8px + env(safe-area-inset-top)) 16px 9px;border-bottom:1px solid var(--line);background:#fff}.search-box{align-items:center;border:0;background:transparent;color:#52525b;font-size:18px}.search-box span{font-size:25px;line-height:1}.search-box input{background:transparent;color:var(--text);font-size:18px}.search-box input::placeholder{color:#a1a1aa}.sidebar-search-row .icon-action{width:40px;height:40px;color:#52525b}.sidebar-search-row .icon-action:hover{background:#f4f4f5}.tabs{grid-template-columns:minmax(0,max-content) minmax(0,max-content) 1fr;gap:24px;padding:0 16px;background:#fff}.tab{height:43px;padding:0;color:#8e8f97;font-size:16px}.tab.is-active{color:#111827;border-bottom-color:#111827}.conversation-item{grid-template-columns:56px minmax(0,1fr);gap:12px;min-height:74px;padding:10px 16px;border-bottom-color:#edf0f4}.conversation-item.is-active{background:#fff}.conversation-item:hover{background:#f7fbff}.avatar{width:52px;height:52px;font-size:18px}.conversation-avatar-stack{width:52px;height:52px}.conversation-title{color:#6b7280;font-size:18px;font-weight:400}.conversation-item.is-unread .conversation-title{color:#202123;font-weight:500}.conversation-time{color:#929aa6;font-size:14px}.conversation-preview{font-size:15.5px}.conversation-preview{color:#8a94a6}}@media(max-width:840px){.add-contact-modal.is-profile-detail{width:calc(100vw - 20px)}.contact-cover{height:138px}.contact-identity{grid-template-columns:82px minmax(0,1fr);gap:14px;padding-inline:20px}.contact-large-avatar{width:80px;height:80px;margin-top:-30px}.contact-name-row h3{font-size:22px}.contact-detail-actions,.contact-info-section,.contact-secondary-section{padding-inline:20px}.contact-info-row{grid-template-columns:104px minmax(0,1fr);font-size:15px}.mobile-contacts,.friend-requests-view{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100dvh;overflow:hidden;background:#fff}.mobile-contacts-scroll,.friend-requests-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.mobile-contacts-header,.friend-requests-header{display:flex;align-items:center;gap:10px;min-height:calc(64px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);background:#fff;color:var(--text)}.mobile-contacts-header h1{flex:1;min-width:0;margin:0;overflow:hidden;color:#20242a;font-size:20px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobile-contacts-search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:38px;padding:0 12px;border:1px solid #e1e5ea;border-radius:10px;background:#f8fafc;color:#52525b;font-size:16px}.mobile-contacts-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit}.mobile-contacts-search input::placeholder{color:#a1a1aa;opacity:1}.mobile-contacts-search svg,.mobile-contacts-back svg,.mobile-contacts-add svg,.friend-requests-header svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.mobile-contacts-search svg{width:20px;height:20px}.mobile-contacts-back,.mobile-contacts-add,.friend-requests-back,.friend-requests-refresh{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:#52525b}.mobile-contacts-back svg,.mobile-contacts-add svg,.friend-requests-back svg,.friend-requests-refresh svg{width:29px;height:29px}.mobile-contact-filter-row,.friend-request-tabs{display:grid;border-bottom:1px solid var(--line);background:#fff}.mobile-contact-filter-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:0;min-height:54px;padding:8px 16px}.friend-request-tabs{grid-template-columns:repeat(2,minmax(0,1fr));height:46px}.friend-request-tabs button{border:0;background:transparent;color:#8a94a6;font-size:16px;font-weight:600}.friend-request-tabs button.is-active{color:#111827;border-bottom:2px solid #111827}.mobile-contact-actions{padding:14px 0 0}.mobile-contact-action-row{display:grid;grid-template-columns:50px minmax(0,1fr) max-content;align-items:center;gap:14px;width:100%;min-height:64px;padding:0 18px;border:0;background:#fff;color:#222;text-align:left;font-size:18px}.mobile-contact-action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f4f4f5;color:#3f3f46}.mobile-contact-action-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.mobile-contact-count,.mobile-contact-muted{color:#8a94a6;font-size:16px}.mobile-contact-directory{margin-top:18px;border-top:10px solid #f2f4f7;background:#fff}.mobile-contact-row{display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:14px;width:100%;min-height:70px;padding:9px 18px;border:0;border-bottom:1px solid #edf0f4;background:#fff;color:#111827;text-align:left}.mobile-contact-avatar{display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border-radius:50%;background:#e5e7eb;color:#374151;font-size:19px;font-weight:600}.mobile-contact-avatar img{width:100%;height:100%;object-fit:cover}.mobile-contact-main{display:grid;min-width:0;gap:3px}.mobile-contact-name{overflow:hidden;color:#222;font-size:18px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mobile-contact-subtitle{overflow:hidden;color:#8a94a6;font-size:15px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mobile-contact-state{margin:0;padding:22px 18px;color:#8a94a6;font-size:15px}.friend-requests-view{grid-template-rows:auto auto minmax(0,1fr)}.friend-requests-header{gap:10px}.friend-requests-header h1{flex:1;min-width:0;margin:0;overflow:hidden;font-size:20px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.friend-requests-scroll{background:#fff}.friend-request-list{display:grid;gap:0}.friend-request-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;padding:18px;border-bottom:1px solid #edf0f4;background:#fff}.friend-request-avatar{display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:50%;background:#e5e7eb;color:#374151;font-size:20px;font-weight:600}.friend-request-avatar img{width:100%;height:100%;object-fit:cover}.friend-request-body{min-width:0}.friend-request-body h2{margin:0 0 5px;overflow:hidden;color:#20242a;font-size:18px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.friend-request-body p{margin:0 0 12px;overflow:hidden;color:#8a94a6;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.friend-request-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.friend-request-actions button,.friend-requests-state button{height:38px;border:0;border-radius:999px;background:#f0f2f5;color:#20242a;font-weight:600}.friend-request-actions button.is-primary{background:#f4f4f5;color:#111827}.friend-request-actions button:disabled{opacity:.55}.friend-requests-state{display:grid;place-items:center;gap:12px;min-height:260px;padding:32px 18px;color:#8a94a6;text-align:center;font-size:16px}.friend-requests-state p{margin:0}.friend-requests-state button{min-width:100px;padding:0 18px;background:#f4f4f5;color:#111827}}@media(max-width:840px){.chat-pane{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.chat-header{position:relative;z-index:20;flex:0 0 var(--mobile-chat-header-height, calc(62px + env(safe-area-inset-top)) );height:var(--mobile-chat-header-height, calc(62px + env(safe-area-inset-top)) );min-height:0;width:100%;padding:calc(11px + env(safe-area-inset-top)) 12px 11px;gap:10px;border-bottom:1px solid var(--line);background:#fff;color:var(--text)}.chat-header .avatar{display:none}.chat-header h1{max-width:calc(100vw - 184px);overflow:hidden;color:var(--text);font-size:19px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.chat-title-block,.chat-name-row{min-width:0}.alias-edit-button{display:none}.mobile-back-button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:999px;background:transparent;color:#3f3f46}.mobile-back-button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.header-actions{gap:8px}.header-actions button{width:34px;height:34px;background:transparent;color:#52525b;font-size:20px}.header-actions .mobile-chat-menu-button{display:grid}.message-thread{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px 12px 20px}.message-row.has-sender-avatar{--group-sender-avatar-offset: 37px}.message-thread .group-sender-avatar,.message-thread .group-sender-avatar-placeholder{width:29px;height:29px;font-size:13px}.message-stack{max-width:90%}.bubble{max-width:100%}.composer{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.composer-wrap{position:relative;z-index:2;flex:0 0 auto}.composer input{min-width:0;font-size:16px;line-height:1.25}.composer button{font-size:16px;line-height:1}.composer button.primary{min-width:42px;width:42px;padding:0}}@media(max-width:840px){.mobile-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;background:#0f172a5c}.mobile-actions-sheet{width:100%;padding:8px 16px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#fff;color:#111827;box-shadow:0 -18px 48px #0f172a38}.mobile-sheet-handle{width:42px;height:4px;margin:2px auto 14px;border-radius:999px;background:#cfd6df}.mobile-actions-profile{display:flex;align-items:center;gap:12px;padding:0 2px 14px;border-bottom:1px solid #eef1f5}.mobile-actions-profile .avatar{display:grid;flex:0 0 auto;width:44px;height:44px;font-size:16px}.mobile-actions-profile h2,.mobile-actions-profile p{max-width:calc(100vw - 96px);overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.mobile-actions-profile h2{font-size:17px;font-weight:600}.mobile-actions-profile p{margin-top:2px;color:#8a94a6;font-size:13px}.mobile-sheet-action{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;margin-top:8px;border:0;background:transparent;color:#111827;font-size:16px;font-weight:500;text-align:left}.mobile-sheet-action svg{width:22px;height:22px;fill:none;stroke:#52525b;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.chat-pane .modal-backdrop{z-index:40;align-items:end;justify-items:stretch}.alias-modal{align-self:end;width:100%;max-height:calc(var(--mobile-visual-viewport-height, 100dvh) - env(safe-area-inset-top));border-radius:16px 16px 0 0}.alias-form{padding:22px 22px calc(22px + env(safe-area-inset-bottom))}.alias-form input{font-size:16px}.modal-actions button{min-width:0;flex:1}}
