/* Stable desktop scrolling and a compact composer. Loaded last so older
   breakpoint fixes cannot stretch the chat list or overlap its controls. */
body.system-chat-open .conversation > .composer {
  display: none !important;
}

@media (min-width: 701px) {
  html,
  body {
    height: 100%;
    overflow: hidden;
  }

  .app-shell {
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .rail,
  .chat-list,
  .conversation {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .chat-list {
    display: flex !important;
    flex-direction: column !important;
  }

  .chat-list > .chats,
  .conversation > .messages,
  .user-search-card > .user-results,
  .group-create-card > .group-contact-list {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
  }

  .chat-list > .chats {
    flex: 1 1 auto !important;
    height: auto !important;
  }

  .user-search-card {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .profile-overlay > .profile-card {
    max-height: calc(100dvh - 32px) !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  .admin-overlay > .admin-panel {
    max-height: calc(100dvh - 32px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .admin-users-list {
    min-height: 0 !important;
    overflow: auto !important;
  }

  .conversation > .composer:not(.has-recording) {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) 42px 50px !important;
    align-items: center !important;
    column-gap: 7px !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    min-height: 58px !important;
    height: 58px !important;
    max-height: 58px !important;
    margin: 8px 16px max(10px, env(safe-area-inset-bottom)) !important;
    padding: 4px !important;
    overflow: visible !important;
  }

  .conversation > .composer:not(.has-recording) > #attach-button {
    position: static !important;
    grid-column: 1;
    grid-row: 1;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
  }

  .conversation > .composer:not(.has-recording) > #message-input {
    box-sizing: border-box !important;
    grid-column: 2 / 4;
    grid-row: 1;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    padding-right: 46px !important;
  }

  .conversation > .composer:not(.has-recording) > #emoji-button {
    position: static !important;
    z-index: 2;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
  }

  .conversation > .composer:not(.has-recording) > .send {
    position: static !important;
    grid-column: 4;
    grid-row: 1;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
  }

  .conversation > .composer > #file-input {
    display: none !important;
  }

  body.system-chat-open .conversation {
    grid-template-rows: 78px auto minmax(0, 1fr) auto !important;
  }

  body.system-chat-open .conversation > .conversation-header { grid-row: 1; }
  body.system-chat-open .conversation > .pinned-message { grid-row: 2; }
  body.system-chat-open .conversation > .messages { grid-row: 3; }
  body.system-chat-open .conversation > .platform-command-bar { grid-row: 4; }
}

/* The monitoring controls must remain available whenever messes platform is open. */
body.platform-chat-open #platform-command-bar {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.system-chat-open:not(.platform-chat-open) #platform-command-bar {
  display: none !important;
}
.support-chat-open #emoji-button,.support-chat-open #call-button,.support-chat-open #video-call-button{display:none!important}.support-chat-open .composer{display:grid!important;grid-template-columns:42px minmax(0,1fr) 52px!important;align-items:center!important}.support-chat-open #attach-button{display:grid!important;place-items:center!important}.support-chat-open #message-input:placeholder-shown{padding-top:0!important;padding-bottom:0!important;line-height:42px!important;align-self:center!important}.support-attachment{display:block;margin:10px 0 4px;padding:10px 13px;border:1px solid #40594a;border-radius:13px;color:#cfff57;text-decoration:none;overflow-wrap:anywhere}
.support-chat-open .support-message-own{justify-content:flex-end}.support-chat-open .support-message-reply{justify-content:flex-start}.support-chat-open .support-message-system{justify-content:center}.support-chat-open .support-message-own .platform-bubble,.support-chat-open .support-message-reply .platform-bubble{width:min(620px,82%)}.support-chat-open .support-message-own .platform-bubble{background:#0a2f1b;border-color:#365f42}.support-chat-open .support-message-system .platform-bubble{width:min(560px,90%);text-align:center;background:#122019;border-color:#304238}

/* Keep a single-line textarea optically centered inside its 44px capsule. */
.conversation>.composer:not(.has-recording)>#message-input{
  padding:11px 46px 11px 16px!important;
  line-height:20px!important;
  vertical-align:middle!important;
}
.conversation>.composer:not(.has-recording)>#message-input::placeholder{line-height:20px!important}

/* Two iOS-like horizontal strips: animated messes emoji above system emoji. */
.conversation>.messages{position:relative!important;z-index:1!important}.conversation>.composer{position:relative!important;z-index:20!important;isolation:isolate!important}.emoji-panel{z-index:30!important;box-sizing:border-box!important;right:54px!important;bottom:58px!important;display:flex!important;flex-direction:column!important;gap:3px!important;width:min(620px,calc(100vw - 28px))!important;height:119px!important;padding:7px!important;overflow:hidden!important;border-radius:28px!important;background:#101b15f7!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.emoji-panel.hidden{display:none!important}
body.emoji-panel-open #messages{padding-bottom:132px!important;scroll-padding-bottom:132px!important}
.emoji-strip{display:flex;align-items:center;gap:2px;width:100%;height:48px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.emoji-strip::-webkit-scrollbar{display:none}.emoji-strip button{display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;font:25px/1 "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;scroll-snap-align:start;cursor:pointer}.emoji-strip button:hover,.emoji-strip button:focus-visible{background:#2b3c32!important}
.emoji-pair-strip{display:flex;align-items:flex-start;gap:3px;width:100%;height:104px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.emoji-pair-strip::-webkit-scrollbar{display:none}.emoji-pair{display:flex;flex:0 0 52px;flex-direction:column;align-items:center;gap:3px;width:52px}.emoji-pair button{display:grid!important;place-items:center!important;width:50px!important;height:48px!important;min-width:50px!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;cursor:pointer}.emoji-pair .regular-emoji-choice{font:25px/1 "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important}.emoji-pair .animated-emoji-choice img{display:block;width:50px;height:50px;object-fit:contain;pointer-events:none}.emoji-pair-placeholder{display:block;width:50px;height:50px}
.custom-emoji-strip{height:54px;min-height:54px;max-height:54px;contain:layout paint}.custom-emoji-strip button{flex:0 0 50px!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;min-height:50px!important;max-height:50px!important;overflow:hidden!important;touch-action:manipulation}.custom-emoji-strip img{display:block!important;width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;min-height:50px!important;max-height:50px!important;object-fit:contain!important;pointer-events:none}.messes-custom-emoji-container{display:inline-flex!important;width:max-content!important;height:max-content!important;max-width:min(62vw,248px)!important;max-height:min(42vh,248px)!important;overflow:visible!important;background:transparent!important}.attachment img.messes-custom-emoji-message,.messes-custom-emoji-container>img{display:block!important;width:auto!important;height:auto!important;max-width:min(62vw,248px)!important;max-height:min(42vh,248px)!important;object-fit:contain!important;background:transparent!important;background-color:transparent!important;background-image:none!important;border-radius:0!important;box-shadow:none!important}.messes-custom-emoji-container .attachment-carousel-ambient{display:none!important}
.messes-custom-emoji-line,.messes-custom-emoji-line .messes-custom-emoji-bubble,.message-line:has(.messes-custom-emoji-container) .bubble{background:transparent!important;border-color:transparent!important;box-shadow:none!important}.messes-custom-emoji-line .messes-custom-emoji-bubble{padding:0!important}.attachment.messes-custom-emoji-container,.messes-custom-emoji-container,.messes-custom-emoji-container::before,.messes-custom-emoji-container::after{background:transparent!important;background-color:transparent!important;background-image:none!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.messes-custom-emoji-bubble .platform-event-head,.messes-custom-emoji-bubble>p{display:none!important}.messes-custom-emoji-bubble time{display:block;margin-top:2px}
@media(max-width:700px){.conversation>.composer:not(.has-recording)>#message-input{padding-top:10px!important;padding-bottom:10px!important;line-height:22px!important}.conversation>.composer:not(.has-recording)>#message-input::placeholder{line-height:22px!important}.emoji-panel{position:fixed!important;right:max(8px,env(safe-area-inset-right))!important;bottom:calc(58px + env(safe-area-inset-bottom))!important;left:max(8px,env(safe-area-inset-left))!important;width:auto!important;height:119px!important}}
.call-quality{flex-basis:100%;text-align:center;color:#55d77b;font-size:13px;font-weight:700;margin-bottom:8px}.call-quality[data-level="1"]{color:#ffae30}.call-quality[data-level="2"]{color:#ff525b}
.round-video-player{isolation:isolate}.round-video-retry{position:absolute;z-index:2;left:50%;bottom:max(28px,calc(env(safe-area-inset-bottom) + 18px));translate:-50% 0;max-width:min(86vw,420px);padding:12px 18px;border:1px solid #cfff5766;border-radius:999px;background:#101b15f2;color:#f3f8f4;font:700 14px/1.25 inherit;box-shadow:0 12px 36px #0009;cursor:pointer}.round-video-retry.hidden{display:none!important}.round-video-attachment.media-playback-error{position:relative}.round-video-attachment.media-playback-error::after{content:"Видео недоступно";position:absolute;inset:auto 12px 12px;z-index:2;padding:7px 10px;border-radius:999px;background:#101b15e8;color:#ffb7ba;font-size:12px;text-align:center;pointer-events:none}
.message-line .bubble{width:fit-content;max-width:min(560px,84%)}
.message-line .message-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;white-space:nowrap}
.message-line .message-meta .message-reactions{display:flex;flex:0 1 auto;flex-wrap:nowrap;gap:4px;margin:0;overflow-x:auto;scrollbar-width:none}
.message-line .message-meta .message-reactions::-webkit-scrollbar{display:none}
.message-line .message-meta>time{display:flex;flex:0 0 auto;align-items:center;gap:3px;margin:0}
