/* Vista Messenger: timeline and composer. Structural web rendering only; values come from Vista Design Package. */
[data-messenger],.vm-dialog{--vm-accent:var(--color-messenger-accent);--vm-accent-soft:var(--color-messenger-accent-soft);--vm-bg:var(--color-messenger-canvas);--vm-panel:var(--color-messenger-panel);--vm-text:var(--color-messenger-text);--vm-muted:var(--color-messenger-muted);--vm-line:var(--color-messenger-border);--vm-incoming:var(--color-messenger-incoming);--vm-outgoing:var(--color-messenger-outgoing);--vm-dot:var(--color-messenger-dot);--vm-glass:var(--color-messenger-glass);--vm-glass-border:var(--color-messenger-glass-border);--vm-glass-shadow:0 var(--vd-u4) var(--vd-u18) var(--color-messenger-shadow);--vm-radius:var(--radius-messenger);color:var(--vm-text);font-family:inherit;font-size:var(--ui-font-messenger);line-height:var(--ui-line-messenger)}
.chat-screen[data-messenger]{display:flex!important;flex-direction:column!important;position:relative;min-height:0;isolation:isolate;overflow:hidden;background:var(--vm-bg)}
[data-messenger] [hidden],.vm-dialog [hidden],.vm-legacy-hidden{display:none!important}
[data-messenger] button,.vm-dialog button{font:inherit;cursor:pointer;color:inherit;border:0;background:transparent;-webkit-tap-highlight-color:transparent}
[data-messenger] button:disabled,.vm-dialog button:disabled{opacity:var(--vo-o0-45);cursor:default}
[data-messenger] button:focus-visible,.vm-dialog button:focus-visible,[data-messenger] input:focus-visible,.vm-dialog input:focus-visible,[data-messenger] select:focus-visible{outline:var(--vd-u2) solid var(--vm-accent);outline-offset:var(--vd-u3)}
[data-messenger] .chat-top,[data-messenger] .chat-header{flex:none;border-bottom:var(--vd-u1) solid var(--vm-line);background:var(--vm-panel);z-index:var(--vz-z3)}
[data-messenger] .vm-header-search{font-size:var(--vd-u28);min-width:var(--vd-u44);height:var(--vd-u44);flex-shrink:0;border-radius:var(--vp-r0-5);color:var(--vm-accent)}
.vm-tools{flex:none;z-index:var(--vz-z2);background:var(--vm-panel)}
.vm-pins{display:flex;gap:var(--vd-u8);overflow:auto;padding:var(--vd-u8) var(--vd-u12);border-bottom:var(--vd-u1) solid var(--vm-line)}
.vm-pins button{display:grid;text-align:start;min-width:var(--vd-u160);max-width:var(--vd-u320);border-inline-start:var(--vd-u3) solid var(--vm-accent);padding:0 var(--vd-u10)}
.vm-pins b{font-size:var(--vd-u11);color:var(--vm-accent)}
.vm-pins span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--vd-u12)}
.vm-search{display:flex;align-items:center;gap:var(--vd-u6);padding:var(--vd-u7) var(--vd-u12);border-bottom:var(--vd-u1) solid var(--vm-line)}
.vm-search input{min-width:0;flex:1;background:var(--vm-bg);border:0;border-radius:var(--vd-u12);padding:var(--vd-u9) var(--vd-u12);color:var(--vm-text);font:inherit}
.vm-search button{width:var(--vd-u36);height:var(--vd-u36);font-size:var(--vd-u22);flex:none}
.vm-search [data-search-count]{font-size:var(--vd-u11);white-space:nowrap;color:var(--vm-muted)}
[data-messenger] .vm-timeline{position:relative;flex:1;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--vm-line) transparent;padding:var(--vd-u16) clamp(var(--vd-u10),var(--vwr-r0-02),var(--vd-u28))!important;background:var(--vm-bg)!important;scroll-behavior:auto;overflow-anchor:none}
[data-messenger] .chat-day-chip{display:none}
.vm-messages{max-width:var(--vd-u1100);margin:0 auto;display:flex;flex-direction:column;gap:var(--vd-u3);min-height:var(--vp-r1)}
.vm-row{display:flex;align-items:flex-end;gap:var(--vd-u7);position:relative;flex:none;transform:translateX(var(--swipe,0));transition:transform var(--vt-ms150) ease;max-width:var(--vp-r1);animation:vm-appear var(--vt-ms150) ease-out;touch-action:pan-y}
.vm-mine{align-self:flex-start;flex-direction:row-reverse}
.vm-peer{align-self:flex-end;flex-direction:row-reverse}
.vm-row.vm-group-start{margin-top:var(--vd-u8)}
.vm-row.vm-group-end{margin-bottom:var(--vd-u5)}
.vm-bubble{max-width:min(var(--vd-u560),var(--vwr-r0-75));min-width:var(--vd-u78);position:relative;padding:var(--vd-u9) var(--vd-u12) var(--vd-u5);border-radius:var(--vm-radius);background:var(--vm-incoming);box-shadow:0 var(--vd-u1) var(--vd-u1) var(--vista-fixed-srgb-023-059-038-a62745);overflow:hidden;border:var(--vd-u1) solid var(--vista-fixed-srgb-000-000-000-a15686)}
.vm-mine .vm-bubble{background:var(--vm-outgoing)}
.vm-mine.vm-group-end .vm-bubble{border-bottom-right-radius:var(--vd-u6)}
.vm-peer.vm-group-end .vm-bubble{border-bottom-left-radius:var(--vd-u6)}
.vm-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:var(--vd-u14);text-align:start}
.vm-body a,.vm-viewer-caption a{color:var(--vm-accent);text-decoration:underline;text-underline-offset:var(--vd-u3);word-break:break-word}
.vm-deleted{color:var(--vm-muted);font-style:italic}
.vm-meta{display:flex;align-items:center;justify-content:flex-end;gap:var(--vd-u5);color:var(--vm-muted);font-size:var(--vd-u10);min-height:var(--vd-u20);margin-top:var(--vd-u3);white-space:nowrap}
.vm-meta small{font-size:var(--vd-u10)}
.vm-status{font-family:system-ui;letter-spacing:var(--vd-un3);font-size:var(--vd-u13);padding-inline:var(--vd-u3)}
.vm-status.vm-seen{color:var(--vm-accent)}
.vm-avatar{padding:0!important;overflow:hidden;border-radius:var(--vp-r0-5);background:var(--vm-accent-soft)!important;color:var(--vm-accent)!important;flex:none;display:grid;place-items:center}
.vm-avatar,.vm-avatar-spacer{width:var(--vd-u30);height:var(--vd-u30);flex:none}
.vm-avatar img{width:var(--vp-r1);height:var(--vp-r1);object-fit:cover}
.vm-quote{display:flex!important;align-items:center;gap:var(--vd-u8);padding:var(--vd-u7) var(--vd-u9)!important;margin:0 0 var(--vd-u7);width:var(--vp-r1);background:color-mix(in srgb,var(--vm-accent) var(--vp-r0-06),transparent)!important;border-inline-start:var(--vd-u3) solid var(--vm-accent)!important;border-radius:var(--vd-u8);text-align:start;overflow:hidden}
.vm-quote span{min-width:0;display:grid}
.vm-quote b{font-size:var(--vd-u11);color:var(--vm-accent)}
.vm-quote small{font-size:var(--vd-u11);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:var(--vd-u350)}
.vm-quote img,.vm-quote video{width:var(--vd-u38);height:var(--vd-u38);object-fit:cover;border-radius:var(--vd-u5)}
.vm-forwarded{font-size:var(--vd-u10);color:var(--vm-accent);margin-bottom:var(--vd-u3)}
.vm-reactions{display:flex;flex-wrap:wrap;gap:var(--vd-u4);padding-bottom:var(--vd-u4)}
.vm-reactions button{border:var(--vd-u1) solid var(--vm-line)!important;border-radius:var(--vd-u20);font-size:var(--vd-u12);padding:var(--vd-u2) var(--vd-u8)!important;background:var(--vista-fixed-srgb-255-255-255-a376471)!important;animation:vm-pop var(--vt-ms150) ease}
.vm-reactions .vm-reacted{border-color:var(--vm-accent)!important}
.vm-reactions b{font-size:var(--vd-u10)}
.vm-date,.vm-unread{align-self:center;text-align:center;color:var(--vm-muted);font-size:var(--vd-u11);margin:var(--vd-u15) 0 var(--vd-u9);padding:var(--vd-u3) var(--vd-u14);border-radius:var(--vd-u18);background:var(--vm-panel);box-shadow:0 var(--vd-u1) var(--vd-u4) var(--vista-fixed-srgb-000-000-000-a19608);z-index:var(--vz-z1)}
.vm-date{position:sticky;top:0}
.vm-unread{align-self:stretch;border-radius:0;background:var(--vm-accent-soft);color:var(--vm-accent);box-shadow:none}
.vm-history{align-self:center;font-size:var(--vd-u11)!important;color:var(--vm-accent)!important;padding:var(--vd-u8) var(--vd-u20)!important;border-radius:var(--vd-u20);background:var(--vm-panel)!important;min-height:var(--vd-u40)}
.vm-media{display:block!important;padding:0!important;border-radius:var(--vd-u12);overflow:hidden;position:relative;width:min(var(--vd-u310),var(--vwr-r0-64));margin:var(--vd-un4) var(--vd-un6) var(--vd-u6);max-height:var(--vd-u370);background:var(--vista-fixed-srgb-016-040-032-a70588)!important}
.vm-media img,.vm-media video{display:block;width:var(--vp-r1);max-height:var(--vd-u370);object-fit:cover;min-height:var(--vd-u100)}
.vm-video small,.vm-video .vm-play{position:absolute;color:var(--vista-fixed-srgb-255-255-255-1);background:var(--vista-fixed-srgb-000-000-000-a533333);border-radius:var(--vd-u30);display:grid;place-items:center}
.vm-video small{bottom:var(--vd-u8);right:var(--vd-u8);padding:var(--vd-u1) var(--vd-u8);font:var(--vd-u11) system-ui}
.vm-video .vm-play{inset:0;margin:auto;width:var(--vd-u54);height:var(--vd-u54);font-size:var(--vd-u23);backdrop-filter:blur(var(--vd-u8))}
.vm-album{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vd-u3);width:min(var(--vd-u350),var(--vwr-r0-65));margin:var(--vd-un4) var(--vd-un6) var(--vd-u6);overflow:hidden;border-radius:var(--vd-u12)}
.vm-album button{height:var(--vd-u140);position:relative;padding:0!important;overflow:hidden}
.vm-album img,.vm-album video{width:var(--vp-r1);height:var(--vp-r1);object-fit:cover}
.vm-album span:not([hidden]){position:absolute;bottom:var(--vd-u6);right:var(--vd-u6);color:white;background:var(--vista-fixed-srgb-000-000-000-a600000);border-radius:var(--vd-u10);padding:var(--vd-u2) var(--vd-u7);font:var(--vd-u11) system-ui}
.vm-album strong{display:grid;place-items:center;position:absolute;inset:0;background:var(--vista-fixed-srgb-000-000-000-a466667);color:var(--vista-fixed-srgb-255-255-255-1);font:var(--vd-u32) system-ui;backdrop-filter:blur(var(--vd-u3))}
.vm-file{display:flex;gap:var(--vd-u10);align-items:center;color:var(--vm-text);text-decoration:none;padding:var(--vd-u8) var(--vd-u3);max-width:var(--vd-u340);min-width:var(--vd-u210)}
.vm-file>span:first-child{display:grid;place-items:center;background:var(--vm-accent-soft);border-radius:var(--vd-u12);width:var(--vd-u40);height:var(--vd-u46);font-size:var(--vd-u23)}
.vm-file>span:nth-child(2){min-width:0;flex:1;display:grid}
.vm-file b{font-size:var(--vd-u12);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vm-file small{font:var(--vd-u10) system-ui;color:var(--vm-muted)}
.vm-file>span:last-child{color:var(--vm-accent);font-size:var(--vd-u23)}
.vm-audio{display:flex;direction:ltr;gap:var(--vd-u9);align-items:center;width:min(var(--vd-u290),var(--vwr-r0-63));padding:var(--vd-u6) var(--vd-u1) 0;position:relative;min-height:var(--vd-u65)}
.vm-audio>button{width:var(--vd-u39);height:var(--vd-u39);border-radius:var(--vp-r0-5);background:var(--vm-accent)!important;color:var(--vm-panel)!important;flex:none;font:var(--vd-u17) system-ui!important}
.vm-audio-track{flex:1;min-width:0;position:relative}
.vm-wave{height:var(--vd-u29);display:flex;align-items:center;gap:var(--vd-u2);overflow:hidden}
.vm-wave i{width:var(--vd-u3);min-width:var(--vd-u2);border-radius:var(--vd-u3);background:var(--vm-accent);opacity:var(--vo-o0-55);flex:1}
.vm-audio-track:before{content:'';position:absolute;left:0;top:0;width:var(--played,var(--vp-r0));height:var(--vd-u29);background:var(--vm-accent);opacity:var(--vo-o0-15);pointer-events:none}
.vm-audio input{position:absolute;top:0;left:0;height:var(--vd-u29);width:var(--vp-r1);margin:0;opacity:var(--vo-o0-06);cursor:ew-resize;accent-color:var(--vm-accent)}
.vm-audio input:focus-visible{opacity:var(--vo-o0-6)}
.vm-audio-times{display:flex;align-items:center;justify-content:space-between;font:var(--vd-u10) system-ui;color:var(--vm-muted);padding-top:var(--vd-u3)}
.vm-audio-times button{font:var(--vd-u10) system-ui!important;border-radius:var(--vd-u10);background:var(--vm-accent-soft)!important;padding:var(--vd-u2) var(--vd-u6)!important;min-height:var(--vd-u24);min-width:var(--vd-u32)}
.vm-link-card{display:grid;grid-template-columns:var(--vd-u28) 1fr;gap:0 var(--vd-u5);border-inline-start:var(--vd-u3) solid var(--vm-accent);border-radius:var(--vd-u9);padding:var(--vd-u7) var(--vd-u8);margin-top:var(--vd-u5);text-decoration:none;color:var(--vm-text);background:color-mix(in srgb,var(--vm-accent) var(--vp-r0-04),transparent);max-width:var(--vd-u340);direction:ltr}
.vm-link-card span{grid-row:span 2;align-self:center;color:var(--vm-accent);font-size:var(--vd-u22)}
.vm-link-card b{font:var(--vd-u12) system-ui;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vm-link-card small{font:var(--vd-u10) system-ui;color:var(--vm-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vm-bottom{flex:none;background:var(--vm-panel);border-top:var(--vd-u1) solid var(--vm-line);padding-bottom:env(safe-area-inset-bottom);z-index:var(--vz-z2)}
.vm-composer{display:flex;align-items:flex-end;gap:var(--vd-u5);padding:var(--vd-u9) var(--vd-u10);position:relative;background:var(--vm-panel)}
.vm-composer button{width:var(--vd-u42);min-width:var(--vd-u42);height:var(--vd-u42);display:grid;place-items:center;font-size:var(--vd-u24);color:var(--vm-muted);border-radius:var(--vp-r0-5);padding:0}
.vm-composer button:hover{background:var(--vm-accent-soft)}
.vm-composer .vm-send{color:var(--vm-panel);background:var(--vm-accent);font-size:var(--vd-u22)}
.vm-composer .vm-mic{color:var(--vm-accent);font-size:var(--vd-u23)}
.vm-composer textarea{flex:1;min-width:0;resize:none;border:0;background:var(--vm-bg);color:var(--vm-text);border-radius:var(--vd-u22);min-height:var(--vd-u42);max-height:var(--vd-u144);outline:none;padding:var(--vd-u10) var(--vd-u14);font:inherit;line-height:var(--vd-u22);box-sizing:border-box}
.vm-composer textarea::placeholder{color:var(--vm-muted)}
.vm-compose-context{display:flex;gap:var(--vd-u10);align-items:center;padding:var(--vd-u8) var(--vd-u14);border-inline-start:var(--vd-u3) solid var(--vm-accent);margin:var(--vd-u6) var(--vd-u12);background:var(--vm-accent-soft);border-radius:var(--vd-u8)}
.vm-compose-context>div{display:grid;flex:1;min-width:0}
.vm-compose-context b{color:var(--vm-accent);font-size:var(--vd-u11)}
.vm-compose-context small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:var(--vd-u12)}
.vm-compose-context button{width:var(--vd-u30);height:var(--vd-u30);font-size:var(--vd-u22)}
.vm-compose-context>span{font-size:var(--vd-u12)}
.vm-typing{font-size:var(--vd-u11);color:var(--vm-accent);padding:var(--vd-u4) var(--vd-u15);min-height:var(--vd-u24)}
.vm-dots{display:inline-flex;gap:var(--vd-u3);margin-inline-end:var(--vd-u8)}
.vm-dots i{height:var(--vd-u4);width:var(--vd-u4);border-radius:var(--vp-r0-5);background:currentColor;animation:vm-dot var(--vt-ms1000) infinite}
.vm-dots i:nth-child(2){animation-delay:var(--vt-ms150)}
.vm-dots i:nth-child(3){animation-delay:var(--vt-ms300)}
.vm-compose-files{padding:var(--vd-u9) var(--vd-u12);max-height:var(--vdhr-r0-34);overflow:auto;border-bottom:var(--vd-u1) solid var(--vm-line)}
.vm-preview-head{display:flex;align-items:center;gap:var(--vd-u12)}
.vm-preview-head b{flex:1;font-size:var(--vd-u11);color:var(--vm-muted)}
.vm-preview-head button{font-size:var(--vd-u13);padding:var(--vd-u4)!important;color:var(--vm-accent)}
.vm-previews{display:flex;gap:var(--vd-u8);overflow:auto;padding:var(--vd-u7) 0}
.vm-preview{display:grid;grid-template-columns:1fr var(--vd-u28);align-content:start;min-width:var(--vd-u150);max-width:var(--vd-u310);border:var(--vd-u1) solid var(--vm-line);border-radius:var(--vd-u12);padding:var(--vd-u6);flex:none}
.vm-preview>img,.vm-preview>video{width:var(--vp-r1);height:var(--vd-u140);object-fit:contain;grid-column:span 2;border-radius:var(--vd-u8);background:var(--vm-bg)}
.vm-preview .vm-audio{grid-column:span 2}
.vm-preview>div:not(.vm-audio){display:grid;max-width:var(--vd-u260)}
.vm-preview b{font-size:var(--vd-u10);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vm-preview small{font:var(--vd-u10) system-ui;color:var(--vm-muted)}
.vm-preview>button{font-size:var(--vd-u19);height:var(--vd-u30)}
.vm-preview>span{font-size:var(--vd-u45);grid-column:span 2;text-align:center}
.vm-upload{font-size:var(--vd-u10);color:var(--vm-muted);display:grid;gap:var(--vd-u3);padding:var(--vd-u5) 0;max-width:var(--vd-u300)}
.vm-upload progress{width:var(--vp-r1);height:var(--vd-u5);accent-color:var(--vm-accent)}
.vm-pending-image{width:min(var(--vd-u240),var(--vwr-r0-6));max-height:var(--vd-u210);object-fit:cover;border-radius:var(--vd-u12)}
.vm-pending-actions{display:flex;gap:var(--vd-u8);justify-content:flex-end}
.vm-pending-actions button{height:var(--vd-u30);width:var(--vd-u32);font-size:var(--vd-u20)}
.vm-pending{opacity:var(--vo-o0-85)}
.vm-closed{padding:var(--vd-u16);color:var(--vm-muted);text-align:center;font-size:var(--vd-u12)}
.vm-record{display:flex;gap:var(--vd-u10);align-items:center;direction:ltr;padding:var(--vd-u10) var(--vd-u14);height:var(--vd-u67);color:var(--vm-accent)}
.vm-record button{font-size:var(--vd-u20);min-width:var(--vd-u38);min-height:var(--vd-u38)}
.vm-record canvas{width:var(--vp-r1);min-width:var(--vd-u20);max-width:var(--vd-u400);flex:1;height:var(--vd-u40)}
.vm-record time{font:var(--vd-u14) system-ui}
.vm-record-dot{width:var(--vd-u8);height:var(--vd-u8);background:var(--color-messenger-recording);border-radius:var(--vp-r0-5);flex:none;animation:vm-pulse var(--vt-ms1000) infinite}
.vm-record.vm-paused .vm-record-dot{animation:none;opacity:var(--vo-o0-4)}
.vm-to-bottom{position:absolute;bottom:var(--vd-u90);inset-inline-end:var(--vd-u20);z-index:var(--vz-z4);width:var(--vd-u44);height:var(--vd-u44);background:var(--vm-panel)!important;border:var(--vd-u1) solid var(--vm-line)!important;border-radius:var(--vp-r0-5);box-shadow:0 var(--vd-u3) var(--vd-u18) var(--vista-fixed-srgb-020-059-036-a125490);font-size:var(--vd-u24)!important;display:grid;place-items:center}
.vm-to-bottom small{position:absolute;top:var(--vd-un10);font:var(--vd-u10) system-ui;padding:var(--vd-u3) var(--vd-u5);min-width:var(--vd-u20);min-height:var(--vd-u20);background:var(--vm-accent);color:var(--vm-panel);border-radius:var(--vd-u15)}
.vm-to-bottom small:empty{display:none}
.vm-empty{display:grid;place-items:center;text-align:center;gap:var(--vd-u10);padding:var(--vd-u60) var(--vd-u20);margin:auto;color:var(--vm-muted)}
.vm-empty>span{font:var(--vd-u48) system-ui;color:var(--vm-accent)}
.vm-empty b{color:var(--vm-text);font-size:var(--vd-u16)}
.vm-empty p{font-size:var(--vd-u12);max-width:var(--vd-u300)}
.vm-skeleton{display:flex;flex-direction:column;gap:var(--vd-u22);padding:var(--vd-u24) 0}
.vm-skeleton i{width:var(--vp-r0-5);height:var(--vd-u48);background:var(--vm-line);border-radius:var(--vd-u18);animation:vm-pulse var(--vt-ms1400) infinite}
.vm-skeleton i:nth-child(even){align-self:flex-end;width:var(--vp-r0-65)}
.vm-skeleton i:nth-child(3){width:var(--vp-r0-32)}
.vm-highlight .vm-bubble,.vm-search-hit .vm-bubble{animation:vm-highlight var(--vt-ms1500) ease}
.vm-dragging:after{content:'+';position:absolute;inset:var(--vd-u75) var(--vd-u12) var(--vd-u80);background:color-mix(in srgb,var(--vm-accent) var(--vp-r0-19),transparent);border:var(--vd-u2) dashed var(--vm-accent);z-index:var(--vz-z9);border-radius:var(--vd-u24);display:grid;place-items:center;font-size:var(--vd-u60);color:var(--vm-accent);pointer-events:none}
.vm-business{max-width:var(--vp-r1);align-self:stretch}
.vm-business>.telegram-message-row{width:var(--vp-r1)}
.vm-business .telegram-bubble{max-width:var(--vp-r0-85)}
.vm-business .message-actions,.vm-business .message-reaction-tray{display:none!important}
