:root{--bg: #f0f2f5;--bg-panel: #ffffff;--bg-chat: #efeae2;--bg-input: #ffffff;--bubble-in: #ffffff;--bubble-out: #d9fdd3;--text: #111b21;--text-muted: #667781;--border: #e4e7ea;--accent: #1f8f6a;--accent-strong: #157a59;--accent-contrast: #ffffff;--danger: #c0392b;--read: #34b7f1;--shadow: 0 1px 2px rgba(11, 20, 26, .13);--radius: 12px;--sidebar-w: 390px}@media (prefers-color-scheme: dark){:root{--bg: #0b141a;--bg-panel: #111b21;--bg-chat: #0b141a;--bg-input: #2a3942;--bubble-in: #202c33;--bubble-out: #005c4b;--text: #e9edef;--text-muted: #8696a0;--border: #222d34;--accent: #1f8f6a;--accent-strong: #25a97f;--danger: #f15c4f;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,"Apple Color Emoji","Segoe UI Emoji",sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}a{color:var(--accent-strong)}.muted{color:var(--text-muted)}.center{text-align:center}.pad{padding:16px}.spacer{flex:1}.error{color:var(--danger);font-size:13px;margin:6px 0}.hint{color:var(--text-muted);font-size:12.5px;margin:6px 0}.btn{border:1px solid var(--border);background:var(--bg-panel);border-radius:999px;padding:9px 18px;font-weight:500;transition:background .15s,border-color .15s}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{background:transparent}.btn-block{width:100%;margin-top:8px}.btn-small{padding:5px 12px;font-size:13px}.danger,.btn.danger{color:var(--danger)}.btn.danger{border-color:transparent}.linkish{background:none;border:none;padding:2px 6px;color:var(--accent-strong);text-decoration:underline;font-size:13px}.icon-btn{background:none;border:none;border-radius:50%;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;position:relative;flex:none}.icon-btn:hover{background:#7f7f7f24}.icon-btn.tiny{width:26px;height:26px;font-size:13px}label{display:block;margin:10px 0;font-size:13px;color:var(--text-muted)}input[type=text],input[type=password],input:not([type]),textarea{display:block;width:100%;margin-top:4px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);outline:none}input:focus,textarea:focus{border-color:var(--accent)}.row{display:flex;gap:8px;align-items:flex-end}.row input{flex:1}.toggle{display:flex;gap:12px;align-items:flex-start;margin:14px 0;color:var(--text)}.toggle input{width:20px;height:20px;margin-top:2px;flex:none}.toggle span{display:flex;flex-direction:column;gap:2px}.toggle small{color:var(--text-muted)}.tabs{display:flex;gap:4px;padding:6px 12px;border-bottom:1px solid var(--border)}.tab{background:none;border:none;padding:8px 14px;border-bottom:2px solid transparent;color:var(--text-muted)}.tab.active{color:var(--accent-strong);border-bottom-color:var(--accent);font-weight:600}.splash{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.splash-logo,.empty-logo,.auth-logo{font-size:48px}.auth{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:var(--bg-panel);border:1px solid var(--border);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.auth-brand{text-align:center;margin-bottom:20px}.auth-brand h1{margin:6px 0;font-size:26px}.auth-switch{text-align:center;margin-top:16px;font-size:14px}.auth-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted);text-align:center}.app{height:100%;display:flex;flex-direction:column}.app-body{flex:1;display:flex;min-height:0}.sidebar{width:var(--sidebar-w);flex:none;display:flex;flex-direction:column;background:var(--bg-panel);border-right:1px solid var(--border);min-height:0}.sidebar-head{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border)}.sidebar-search{padding:8px 12px}.sidebar-search input{margin:0;border-radius:999px}.conn-banner{font-size:12px;text-align:center;color:var(--danger)}.conn-banner.ok{display:none}.conv-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.conv{width:100%;display:flex;gap:12px;align-items:center;padding:10px 14px;background:none;border:none;text-align:left;border-bottom:1px solid var(--border)}.conv:hover{background:#7f7f7f14}.conv.active{background:#1f8f6a1f}.conv-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conv-title{font-weight:600;display:flex;align-items:center;gap:6px}.conv-snippet{color:var(--text-muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-snippet.typing{color:var(--accent-strong);font-style:italic}.conv-time{font-size:11.5px;color:var(--text-muted);align-self:flex-start}.group-tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:#7f7f7f2e;padding:1px 6px;border-radius:4px;color:var(--text-muted);font-weight:600}.badge{position:absolute;top:2px;right:2px;background:var(--accent);color:#fff;font-size:10px;font-style:normal;min-width:16px;height:16px;border-radius:8px;display:grid;place-items:center;padding:0 4px}.avatar{position:relative;flex:none;border-radius:50%;display:inline-grid;place-items:center;overflow:visible;color:#fff;font-weight:600;-webkit-user-select:none;user-select:none}.avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.dot{position:absolute;right:0;bottom:0;width:11px;height:11px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg-panel)}.dot-online{background:#31c76a}.chat{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-chat)}.chat.empty{display:grid;place-items:center}.empty-state{text-align:center}.lock-note{color:var(--text-muted);font-size:12.5px}.chat-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border)}.chat-head-id{display:flex;align-items:center;gap:12px;background:none;border:none;text-align:left;padding:2px 4px;border-radius:8px}.chat-head-id:hover{background:#7f7f7f1a}.chat-head-text{display:flex;flex-direction:column}.chat-head-text small{color:var(--text-muted);font-size:12.5px}.chat-head-text small.typing{color:var(--accent-strong)}.messages{flex:1;overflow-y:auto;padding:16px 6vw;display:flex;flex-direction:column;gap:2px}.empty-chat{margin:auto;text-align:center}.day-divider{text-align:center;margin:14px 0 8px}.day-divider span{background:var(--bg-panel);color:var(--text-muted);font-size:11.5px;padding:4px 12px;border-radius:8px;box-shadow:var(--shadow)}.load-older{align-self:center;margin:4px 0 10px;background:var(--bg-panel);border:1px solid var(--border);border-radius:999px;padding:5px 14px;font-size:12.5px;color:var(--text-muted);box-shadow:var(--shadow)}.load-older:hover{border-color:var(--accent);color:var(--accent-strong)}.unread-divider{display:flex;align-items:center;gap:8px;margin:10px 0 6px;color:var(--accent-strong);font-size:11.5px}.unread-divider:before,.unread-divider:after{content:"";flex:1;height:1px;background:var(--accent);opacity:.45}.msg-row{display:flex}.msg-row.out{justify-content:flex-end}.msg-row.center{justify-content:center}.bubble{position:relative;max-width:min(620px,78%);padding:7px 10px 5px;border-radius:10px;box-shadow:var(--shadow);margin:1px 0;word-wrap:break-word}.bubble-in{background:var(--bubble-in);border-top-left-radius:2px}.bubble-out{background:var(--bubble-out);border-top-right-radius:2px}.bubble-system{background:#7f7f7f24;font-size:12.5px;color:var(--text-muted);max-width:90%;text-align:center}.bubble-sender{font-size:12.5px;font-weight:600;color:var(--accent-strong);margin-bottom:2px}.bubble-body{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble-body.deleted{font-style:italic;color:var(--text-muted)}.bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:11px;color:var(--text-muted);margin-top:2px}.edited{font-style:italic}.tick-read{color:var(--read)}.tick-failed{color:var(--danger)}.quoted{display:flex;flex-direction:column;gap:1px;width:100%;border:none;border-left:3px solid var(--accent);background:#7f7f7f1f;border-radius:6px;padding:5px 8px;margin-bottom:4px;text-align:left}.quoted-who{font-size:12px;font-weight:600;color:var(--accent-strong)}.quoted-body{font-size:12.5px;color:var(--text-muted)}.archived-toggle{width:100%;background:none;border:none;border-bottom:1px solid var(--border);padding:10px 14px;text-align:left;font-size:13px;color:var(--text-muted)}.archived-toggle:hover{background:#7f7f7f14}.search-section{padding:8px 14px 4px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.search-hit{padding-left:14px}.search-hit .conv-text{margin-left:0}.pin-mark,.mute-mark{font-size:11px;opacity:.75}.star-mark{color:#d9a441}.timer-mark{opacity:.7}.forwarded-mark{font-size:11.5px;color:var(--text-muted);font-style:italic;margin-bottom:2px}.timer-select{width:100%;margin-top:6px;padding:9px 10px;background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:8px}.starred-row{display:flex;flex-direction:column;gap:3px;width:100%;background:none;border:none;border-bottom:1px solid var(--border);padding:10px 2px;text-align:left}.starred-row:hover{background:#7f7f7f14}.starred-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.starred-head small{color:var(--text-muted);font-size:11.5px}.starred-body{color:var(--text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.retry-row{display:block;width:100%;text-align:left;margin-top:4px;background:none;border:none;padding:2px 0;color:var(--danger);font-size:12px;text-decoration:underline}.reactions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.reaction{border:1px solid var(--border);background:var(--bg-panel);border-radius:999px;padding:1px 7px;font-size:12px}.reaction.mine{border-color:var(--accent);background:#1f8f6a29}.bubble-actions{position:absolute;top:2px;right:4px;display:none;gap:2px}.bubble:hover .bubble-actions{display:flex}.bubble-actions .icon-btn{background:var(--bg-panel);box-shadow:var(--shadow)}.quick-reactions,.context-menu{position:fixed;z-index:90;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 22px #00000038;padding:4px}.quick-reactions{display:flex;gap:2px}.quick-reactions button{background:none;border:none;font-size:20px;padding:3px 5px;border-radius:6px}.quick-reactions button:hover{background:#7f7f7f29}.context-menu{display:flex;flex-direction:column;min-width:180px}.context-menu button{background:none;border:none;text-align:left;padding:8px 12px;border-radius:6px;font-size:14px;white-space:nowrap}.context-menu button:hover{background:#7f7f7f24}.flash{animation:flash 1.2s ease-out}@keyframes flash{0%{background:#1f8f6a4d}to{background:transparent}}.typing-bubble{display:flex;gap:4px;padding:12px 14px}.typing-bubble span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:blink 1.3s infinite}.typing-bubble span:nth-child(2){animation-delay:.2s}.typing-bubble span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}.media-image{display:block;max-width:320px}.media-image img{width:100%;border-radius:8px;display:block;background:#7f7f7f26}.media-loading,.media-placeholder{font-size:12px;color:var(--text-muted)}.media-video,.media-audio{max-width:340px;width:100%;border-radius:8px}.media-error{color:var(--danger);font-size:12.5px}.media-file{display:flex;gap:10px;align-items:center;text-decoration:none;background:#7f7f7f1f;border-radius:8px;padding:9px 11px;min-width:220px}.file-icon{font-size:26px}.file-meta{display:flex;flex-direction:column;min-width:0}.file-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:11.5px;color:var(--text-muted)}.composer-wrap{background:var(--bg-panel);border-top:1px solid var(--border);position:relative}.composer-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;border-left:3px solid var(--accent);background:#7f7f7f1a;margin:8px 12px 0;border-radius:6px}.composer-banner div{display:flex;flex-direction:column;flex:1;min-width:0;font-size:12.5px}.composer-banner span{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-error{padding:6px 14px;color:var(--danger);font-size:12.5px}.send-btn.mic{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.send-btn.mic:hover{border-color:var(--accent)}.send-btn.recording{background:var(--danger);color:#fff}.recording-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--border)}.recording-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);animation:pulse 1.2s ease-in-out infinite;flex:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.recording-time{font-variant-numeric:tabular-nums;font-size:13px;min-width:42px}.recording-wave{flex:1;display:flex;align-items:center;gap:2px;height:26px;overflow:hidden;justify-content:flex-end}.recording-wave .bar{width:3px;border-radius:2px;background:var(--danger);opacity:.8}.voice-note{display:flex;align-items:center;gap:8px;min-width:240px;padding:2px 0}.voice-play{width:34px;height:34px;flex:none;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:12px}.voice-play:disabled{opacity:.5}.voice-wave{flex:1;display:flex;align-items:center;gap:2px;height:30px;cursor:pointer}.voice-wave .bar{flex:1;min-width:2px;border-radius:2px;background:var(--text-muted);opacity:.45}.voice-wave .bar.played{background:var(--accent-strong);opacity:1}.voice-time{font-size:11.5px;color:var(--text-muted);font-variant-numeric:tabular-nums}.voice-speed{border:1px solid var(--border);background:transparent;border-radius:999px;padding:1px 7px;font-size:11px;color:var(--text-muted)}.composer{display:flex;align-items:flex-end;gap:6px;padding:8px 12px}.composer textarea{flex:1;resize:none;border-radius:20px;padding:10px 14px;margin:0;max-height:160px;overflow-y:auto}.send-btn{width:42px;height:42px;flex:none;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:17px}.send-btn:disabled{opacity:.45}.emoji-picker{position:absolute;bottom:100%;left:12px;width:min(360px,calc(100vw - 24px));background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 30px #0000004d;display:flex;flex-direction:column;overflow:hidden;z-index:30}.emoji-head{display:flex;gap:6px;padding:8px;border-bottom:1px solid var(--border)}.emoji-search{margin:0}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;padding:8px;height:230px;overflow-y:auto}.emoji-cell{background:none;border:none;font-size:22px;border-radius:6px;padding:4px}.emoji-cell:hover{background:#7f7f7f29}.emoji-tabs{display:flex;border-top:1px solid var(--border)}.emoji-tab{flex:1;background:none;border:none;padding:8px 0;font-size:18px;opacity:.6}.emoji-tab.active{opacity:1;background:#1f8f6a24}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg)}.panel{height:100%;display:flex;flex-direction:column;background:var(--bg-panel)}.side-panel{width:380px;flex:none;border-left:1px solid var(--border)}.panel-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.panel-head h2{margin:0;font-size:17px}.panel-body{flex:1;overflow-y:auto;padding:14px 18px 40px}.info-hero{text-align:center;padding:10px 0 18px}.info-hero h3{margin:10px 0 2px}.about{margin-top:10px}.info-section{border-top:1px solid var(--border);padding:14px 0}.info-section h4{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.member-list{list-style:none;margin:8px 0;padding:0}.member-list li{display:flex;align-items:center;gap:10px;padding:8px 0}.member-list li span{display:flex;flex-direction:column;min-width:0}.member-list small{color:var(--text-muted);font-size:12px}.tag{background:#1f8f6a2e;color:var(--accent-strong);border-radius:4px;padding:0 5px;font-size:10.5px;width:fit-content}.device-icon{font-size:22px}.fact-list{list-style:none;padding:0;margin:8px 0;font-size:13px}.fact-list li{padding:4px 0}.safety-block{margin:10px 0}.safety-entry{margin:6px 0 10px}.safety-number{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:.06em;line-height:1.7;background:#7f7f7f1f;padding:8px 10px;border-radius:8px;word-spacing:.35em}.qr{margin:12px auto;text-align:center}.qr img{border-radius:8px;background:#fff;padding:8px;display:block;margin:0 auto}.qr figcaption{margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.08em;color:var(--text-muted);word-spacing:.3em}.qr-placeholder{background:#7f7f7f26;border-radius:8px;margin:0 auto}.scanner{position:relative;border-radius:10px;overflow:hidden;background:#000}.scanner video{width:100%;max-height:320px;object-fit:cover;display:block}.scanner-frame{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:2px solid var(--accent);border-radius:12px;pointer-events:none}.safety-actions{display:flex;gap:10px;margin-top:4px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;z-index:60;padding:16px}.modal{width:min(460px,100%);max-height:85vh;overflow-y:auto;background:var(--bg-panel);border-radius:14px;padding:20px;box-shadow:0 16px 48px #0006}.modal h3{margin:0 0 12px}.modal-search{margin:10px 0}.modal-actions{display:flex;gap:8px;align-items:center;margin-top:16px}.people-list{list-style:none;margin:0;padding:0;max-height:300px;overflow-y:auto}.person{width:100%;display:flex;gap:10px;align-items:center;background:none;border:none;padding:8px;border-radius:8px;text-align:left}.person:hover{background:#7f7f7f1a}.person.selected{background:#1f8f6a29}.person-text{display:flex;flex-direction:column;flex:1;min-width:0}.person-text small{color:var(--text-muted);font-size:12px}.check{color:var(--accent-strong);font-weight:700}.identity-banner{background:#a5610f;color:#fff}.identity-warning{display:flex;gap:10px;align-items:center;padding:8px 14px;font-size:13px;flex-wrap:wrap}.identity-warning .btn{background:#ffffff2e;border-color:transparent;color:#fff}.status-section{border-top:1px solid var(--border);padding:10px 0}.status-section h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 6px}.status-row{width:100%;display:flex;gap:12px;align-items:center;background:none;border:none;padding:8px 4px;border-radius:8px;text-align:left}.status-row:hover{background:#7f7f7f1a}.status-ring{display:inline-grid;place-items:center;padding:2px;border-radius:50%;border:2px solid transparent}.status-ring.active{border-color:var(--accent)}.status-text{display:flex;flex-direction:column}.status-text small{color:var(--text-muted);font-size:12px}.status-preview{border-radius:12px;padding:10px;min-height:180px;display:grid}.status-preview textarea{background:transparent;border:none;color:#fff;text-align:center;font-size:20px;resize:none;align-self:center;margin:0}.status-preview textarea::placeholder{color:#ffffffb3}.swatches{display:flex;gap:8px;margin:12px 0}.swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent}.swatch.active{border-color:var(--text)}.status-viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:70;display:flex;flex-direction:column;color:#fff}.status-progress{display:flex;gap:3px;padding:8px 10px 0}.status-progress .seg{flex:1;height:3px;border-radius:2px;background:#ffffff4d}.status-progress .seg.done{background:#fff}.status-viewer-head{display:flex;gap:10px;align-items:center;padding:10px 14px}.status-viewer-head span{display:flex;flex-direction:column}.status-viewer-head small{color:#ffffffb3;font-size:12px}.status-viewer-head .icon-btn{color:#fff}.status-stage{flex:1;display:grid;place-items:center;padding:20px;position:relative}.status-stage img,.status-stage video{max-width:100%;max-height:100%;border-radius:10px}.status-big-text{font-size:26px;text-align:center;max-width:620px;white-space:pre-wrap}.status-caption{position:absolute;bottom:20px;text-align:center;width:100%}.status-viewer-foot{padding:12px 16px;font-size:13px;color:#ffffffd9}.avatar-edit{background:none;border:none;position:relative;display:inline-block}.avatar-edit-hint{position:absolute;inset:auto 0 0;background:#0000008c;color:#fff;font-size:11px;border-radius:0 0 48px 48px;padding:2px 0}.only-narrow{display:none}@media (max-width: 820px){.sidebar{width:100%;border-right:none}.only-narrow{display:inline-flex}.messages{padding:12px 10px}.bubble{max-width:88%}.side-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:55}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.admin-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.admin-row.disabled{opacity:.6}.admin-row-main{min-width:220px;flex:1 1 220px}.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-row-actions .btn{padding:4px 10px;font-size:12.5px}.meta-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;border:1px solid var(--border);font-size:11px;color:var(--text-muted);vertical-align:middle}.meta-tag.danger{border-color:var(--danger);color:var(--danger)}.switch-row{display:flex;gap:10px;align-items:flex-start;margin:10px 0}.field{display:flex;align-items:center;gap:10px;margin:8px 0}.field>span{min-width:150px}.field input{width:100px}.field .hint{margin:0}.bullet{margin:4px 0;font-size:13px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0}.stat{border:1px solid var(--border);border-radius:10px;padding:10px 12px}.stat dt{font-size:12px;color:var(--text-muted)}.stat dd{margin:4px 0 0;font-size:20px;font-weight:600}.stat.emphasis{border-color:var(--accent)}.info-section h3{margin:14px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dialog{max-width:520px;margin:auto}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.dialog input[type=password]{display:block;width:100%;margin:8px 0}.hint.error{color:var(--danger)}.policy-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.policy-label{flex:1 1 200px}.policy-label .hint{margin:2px 0 0}.policy-choices{display:flex;gap:6px}.chip{padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:13px;cursor:pointer}.chip:disabled{opacity:.6;cursor:not-allowed}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.composer-locked{display:flex;align-items:center;justify-content:center;padding:14px}.composer-locked .hint{margin:0}.info-section textarea{width:100%;resize:vertical;margin-bottom:8px}.attach-anchor{position:relative}.attach-sheet{position:absolute;bottom:calc(100% + 10px);left:0;z-index:40;width:300px;max-height:60vh;overflow-y:auto;padding:12px;border-radius:16px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:0 12px 32px #0b141a2e}.attach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.attach-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border:none;border-radius:12px;background:transparent;cursor:pointer;color:var(--text)}.attach-tile:hover{background:var(--bg)}.attach-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:20px;color:#fff}.attach-icon.file{background:#6a5ae0}.attach-icon.location{background:#2f9e5e}.attach-icon.contact{background:#ef7d3d}.attach-icon.phonebook{background:#c2478d}.attach-label{font-size:12.5px;color:var(--text-muted)}.attach-panel{display:flex;flex-direction:column;gap:4px}.attach-back{align-self:flex-start;border:none;background:transparent;color:var(--accent);font-size:13px;cursor:pointer;padding:4px 2px}.attach-search{width:100%;margin-bottom:4px}.attach-people{max-height:260px;overflow-y:auto}.attach-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;border-radius:10px;background:transparent;text-align:left;cursor:pointer;color:var(--text)}.attach-row:hover{background:var(--bg)}.attach-row:disabled{opacity:.55;cursor:not-allowed}.attach-row strong{display:block;font-size:13.5px;font-weight:600}.attach-row em{display:block;font-style:normal;font-size:12px;color:var(--text-muted)}.attach-row-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:15px;color:#fff;flex:none}.attach-row-icon.location{background:#2f9e5e}.attach-row-icon.live{background:#1d7fd1}.attach-note{margin:8px 2px 2px;font-size:11.5px;line-height:1.45;color:var(--text-muted)}.composer-error{display:flex;gap:8px;align-items:center;margin:0;padding:8px 16px;font-size:12.5px;color:var(--danger)}.icon-btn.active{background:var(--bg);border-radius:50%}.location-card{width:240px;border-radius:10px;overflow:hidden;background:var(--bg-panel);border:1px solid var(--border)}.location-canvas{position:relative;display:block;height:96px;background:linear-gradient(160deg,#dfe9e2,#cfdcd4);color:#6d8478;text-decoration:none}.location-canvas svg{display:block;width:100%;height:100%}.location-marker{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-size:26px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.location-marker.pulsing{animation:location-pulse 2s ease-in-out infinite}@keyframes location-pulse{0%,to{transform:translate(-50%,-60%) scale(1)}50%{transform:translate(-50%,-60%) scale(1.14)}}.location-body{padding:8px 10px}.location-body strong{font-size:13.5px}.location-coords{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.location-status{margin:2px 0 0;font-size:11.5px;color:var(--text-muted)}.location-card.live .location-body strong{color:var(--accent)}.location-stop{display:block;width:100%;padding:8px;border:none;border-top:1px solid var(--border);background:transparent;color:var(--danger);font-size:12.5px;cursor:pointer}.contact-card{display:flex;align-items:center;gap:10px;width:240px;padding:8px 10px;border-radius:10px;background:var(--bg-panel);border:1px solid var(--border)}.contact-details{flex:1;min-width:0}.contact-details strong{display:block;font-size:13.5px}.contact-details .hint{margin:1px 0 0;font-size:12px}.lookup-row{display:flex;gap:8px;align-items:center}.lookup-row .modal-search{flex:1;margin:0}.phone-contact-card{width:240px;padding:10px;border-radius:10px;background:var(--bg-panel);border:1px solid var(--border)}.phone-contact-head{display:flex;align-items:center;gap:10px}.phone-contact-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--border);font-size:18px;flex:none}.phone-contact-card strong{font-size:13.5px}.phone-contact-numbers{margin:8px 0 0;display:flex;flex-direction:column;gap:4px}.phone-contact-numbers a{font-size:13px;color:var(--accent);text-decoration:none}.phone-contact-numbers a:hover{text-decoration:underline}.sidebar-search{display:flex;gap:6px;align-items:center}.sidebar-search input{flex:1}.filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg)}.filter-bar select,.filter-bar input[type=date]{font-size:12.5px;padding:4px 6px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text)}.filter-check{display:flex;align-items:center;gap:4px;font-size:12.5px;color:var(--text-muted)}.verified-badge{color:#1d9bf0;vertical-align:-2px;margin-left:3px;flex:none}.verify-doc-row{display:flex;align-items:center;gap:8px;margin:6px 0}.verify-doc-row select{flex:none}.verify-request{padding:12px 0;border-bottom:1px solid var(--border)}.verify-request-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.verify-docs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.verify-doc-open{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);font-size:12.5px;cursor:pointer;color:var(--text)}.verify-doc-open:disabled{opacity:.55;cursor:not-allowed}.verify-viewer{margin-top:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg)}.verify-viewer img{display:block;width:100%}.status-pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;border:1px solid var(--border);color:var(--text-muted)}.status-pill.approved{color:#1d9bf0;border-color:#1d9bf0}.status-pill.rejected{color:var(--danger);border-color:var(--danger)}.icon-btn svg{display:block}.icon-btn{color:var(--text-muted)}.icon-btn:hover{color:var(--text);background:var(--bg)}.icon-btn.active{color:var(--accent);background:var(--bg)}.conv-avatar{position:relative;flex:none;display:inline-flex}.conv-avatar.is-group:after{content:"";position:absolute;right:-1px;bottom:-1px;width:17px;height:17px;border-radius:50%;border:2px solid var(--bg-panel);background:var(--bg-input) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23667781'><circle cx='9' cy='9' r='3.2'/><circle cx='16' cy='10' r='2.6'/><path d='M3 19c0-3 2.7-4.6 6-4.6s6 1.6 6 4.6z'/><path d='M16.2 14.6c2.6.2 4.8 1.7 4.8 4.4h-4.3z'/></svg>") center / 12px no-repeat}.conv-mark{display:inline-flex;color:var(--text-muted);margin-right:3px;vertical-align:-2px}.panel-body>*{max-width:680px;margin-left:auto;margin-right:auto}.panel-body>.info-section{width:100%}.panel-body>.info-section,.panel-body>*>.info-section{border-top:none;border:1px solid var(--border);border-radius:14px;background:var(--bg-panel);padding:16px 18px;margin:12px auto}.info-section .info-section{border:none;background:none;padding:14px 0 0;margin:14px 0 0;border-top:1px solid var(--border);border-radius:0}.panel-body .info-section h3{margin-top:0}.panel-body input[type=text],.panel-body input[type=password],.panel-body input:not([type]),.panel-body textarea{width:100%}.avatar-edit{position:relative;border:none;background:none;cursor:pointer;padding:0}.avatar-edit-hint{position:absolute;right:0;bottom:0;width:30px;height:30px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-panel);display:grid;place-items:center;font-size:0;color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 8.5h3.2l1.4-2h6.8l1.4 2H20v10H4z'/><circle cx='12' cy='13.5' r='3.2'/></svg>");background-repeat:no-repeat;background-position:center;background-size:16px}.update-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:var(--text);color:#fff;font-size:13px;box-shadow:0 6px 24px #0b141a4d}.update-bar .btn{background:#fff;border-color:#fff;color:var(--text);padding:4px 12px}.update-bar .linkish{color:#cfd8dc}.composer textarea{scrollbar-width:none;overflow-y:auto}.composer textarea::-webkit-scrollbar{width:0;height:0}.info-section .row{flex-wrap:wrap;margin-top:8px;align-items:center}.check-line{display:flex;align-items:flex-start;gap:8px;margin:10px 0;font-size:13px;color:var(--text)}.check-line input{margin-top:3px;flex:none}.recovery-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);padding:14px;margin:10px 0}.recovery-card h4{margin:0 0 6px}.recovery-code{display:block;margin:10px 0;padding:12px;font:600 15px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;word-break:keep-all;-webkit-user-select:all;user-select:all;background:var(--bg-panel);border:1px dashed var(--border);border-radius:8px;text-align:center}details.info-section>summary{cursor:pointer;font-size:13px;color:var(--text-muted);padding:6px 0}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;background:#0b141ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:16px}.call-card{display:flex;flex-direction:column;align-items:center;gap:6px;width:min(360px,100%);padding:32px 24px 28px;border-radius:20px;background:var(--bg-panel);color:var(--text);box-shadow:0 20px 60px #00000059;text-align:center}.call-card h2{margin:12px 0 0;font-size:22px}.call-status{margin:0;color:var(--text-muted);font-variant-numeric:tabular-nums}.call-note{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.call-actions{display:flex;gap:28px;margin-top:24px}.call-btn{width:64px;height:64px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;color:#fff;transition:transform .1s ease,filter .1s ease}.call-btn:hover{filter:brightness(1.08)}.call-btn:active{transform:scale(.95)}.call-btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.call-btn.accept{background:var(--accent)}.call-btn.decline{background:var(--danger)}.call-btn.toggle{background:var(--bg);color:var(--text)}.call-btn.toggle.on{background:var(--text);color:var(--bg-panel)}
