/* KONEVIX Hypergrid Messenger — visual fidelity patch 1.38.1.
   Uses only existing semantic theme tokens. Scope: full Messenger shell.
   Preserve Workspace embedded chats and all existing backend permissions. */
.messenger-page.hg-messenger-v2{
  grid-template-columns:clamp(292px,23vw,338px) minmax(0,1fr) clamp(278px,20vw,308px);
  border-radius:0;box-shadow:none;border:0;
}
.hg-messenger-v2 .messenger-sidebar,.hg-messenger-v2 .messenger-conversation,.hg-messenger-v2 .messenger-info{background:var(--kv-bg-surface-1)!important}
.hg-messenger-v2 .messenger-sidebar{border-right:1px solid var(--kv-border-subtle)!important}
.hg-messenger-v2 .messenger-sidebar-head{
  padding:22px 17px 15px;align-items:flex-start;display:flex;gap:12px;justify-content:space-between;
  border-bottom:1px solid var(--kv-border-subtle);
}
.hg-messenger-v2 .hg-messenger-explorer-title{display:grid;gap:5px;min-width:0}
.hg-messenger-v2 .hg-messenger-kicker{font-size:10px;font-weight:750;letter-spacing:.13em;color:var(--kv-text-muted);text-transform:uppercase}
.hg-messenger-v2 .messenger-sidebar-head h1{font-size:25px;line-height:1.15;font-weight:800;margin:0;color:var(--kv-text-primary)}
.hg-messenger-v2 .hg-messenger-status{justify-self:start;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--kv-text-secondary);padding:2px 0;font-size:12px;min-height:22px;text-align:start}
.hg-messenger-v2 .hg-messenger-status-dot{color:var(--kv-success);font-size:10px}
.hg-messenger-v2 .messenger-create-actions{display:flex;align-items:center;gap:7px;margin:6px 0 0;flex:0 0 auto}
.hg-messenger-v2 .messenger-create-actions .hg-messenger-add{font-size:22px;line-height:1;width:38px;height:38px;min-height:38px;min-width:38px;border-radius:12px;padding:0;display:grid;place-items:center;background:var(--kv-accent);color:var(--kv-text-on-accent);border:1px solid var(--kv-accent)}
.hg-messenger-v2 .hg-messenger-create-menu,.hg-messenger-v2 .hg-messenger-thread-menu{position:relative;display:block}
.hg-messenger-v2 .hg-messenger-create-menu>summary,.hg-messenger-v2 .hg-messenger-thread-menu>summary{list-style:none;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--kv-border-subtle);border-radius:12px;cursor:pointer;color:var(--kv-text-primary);background:var(--kv-bg-surface-2);font-size:20px}
.hg-messenger-v2 .hg-messenger-create-menu>summary::-webkit-details-marker,.hg-messenger-v2 .hg-messenger-thread-menu>summary::-webkit-details-marker{display:none}
.hg-messenger-v2 .hg-messenger-create-popover,.hg-messenger-v2 .hg-messenger-thread-popover{position:absolute;z-index:31;top:calc(100% + 8px);right:0;width:218px;display:grid;gap:5px;border:1px solid var(--kv-border-interactive);background:var(--kv-bg-floating);color:var(--kv-text-primary);border-radius:14px;padding:9px;box-shadow:var(--kv-shadow-floating)}
.hg-messenger-v2 .hg-messenger-create-menu:not([open]) .hg-messenger-create-popover,.hg-messenger-v2 .hg-messenger-thread-menu:not([open]) .hg-messenger-thread-popover{display:none}
.hg-messenger-v2 .hg-messenger-create-popover .mini,.hg-messenger-v2 .hg-messenger-thread-popover .mini{width:100%;min-height:36px;font-size:12px;text-align:left;justify-content:flex-start;background:transparent;color:var(--kv-text-primary);border-color:transparent;white-space:normal}
.hg-messenger-v2 .hg-messenger-create-popover .mini:hover,.hg-messenger-v2 .hg-messenger-thread-popover .mini:hover{background:var(--kv-hover-surface)}
.hg-messenger-v2 .messenger-search{padding:14px 15px 12px;position:relative;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hg-messenger-v2 .hg-messenger-search-controls{display:flex;flex:1 1 190px;min-width:0;align-items:center;border:1px solid var(--kv-border-subtle);background:var(--kv-bg-surface-2);border-radius:12px;padding-right:4px;gap:2px}
.hg-messenger-v2 .messenger-search input{border:0;background:transparent!important;outline:0;min-height:41px;padding:9px 10px;font-size:13px;box-shadow:none!important}
.hg-messenger-v2 .hg-messenger-search-clear{background:transparent;border:0;min-width:28px;min-height:32px;font-size:19px;color:var(--kv-text-muted);border-radius:7px}
.hg-messenger-v2 .messenger-search #messengerGlobalSearch{margin:0;min-height:36px;padding:5px 8px;border-radius:9px;display:inline-flex;align-items:center;gap:4px;line-height:1;font-size:16px;background:var(--kv-bg-surface-2);color:var(--kv-text-secondary);border-color:var(--kv-border-subtle)}
.hg-messenger-v2 .hg-messenger-global-search span{font-size:10px;line-height:1.1;white-space:nowrap}
.hg-messenger-v2 .hg-messenger-search-status{order:3;flex-basis:100%;padding:0;font-size:11px}
.hg-messenger-v2 .messenger-tabs{padding:0 15px 13px;display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;scrollbar-width:thin;align-items:center}
.hg-messenger-v2 .messenger-tabs button{font-size:11px;white-space:nowrap;padding:7px 9px;min-height:31px;border-radius:9px;flex:0 0 auto}
.hg-messenger-v2 .messenger-tabs button.active{background:var(--kv-selected-surface)!important;color:var(--kv-accent)!important;border-color:var(--kv-border-interactive)!important;font-weight:740}
.hg-messenger-v2 .messenger-thread-list{border-top:1px solid var(--kv-border-subtle);padding:7px 7px 12px;scrollbar-width:thin}
.hg-messenger-v2 .messenger-thread{display:grid;grid-template-columns:43px minmax(0,1fr) auto;min-height:71px;padding:10px 10px;gap:10px;margin:1px 0;border:0!important;border-radius:11px;color:var(--kv-text-primary);transition:background 125ms ease}
.hg-messenger-v2 .messenger-thread.active{background:var(--kv-selected-surface)!important}
.hg-messenger-v2 .messenger-thread.active:before{inset:11px auto 11px 0;width:3px}
.hg-messenger-v2 .messenger-thread-main b{font-size:13px;line-height:1.4;font-weight:760}
.hg-messenger-v2 .messenger-thread-main small{font-size:11px;line-height:1.42;color:var(--kv-text-secondary)!important}
.hg-messenger-v2 .messenger-thread-meta{font-size:10px;align-self:start;padding-top:3px;color:var(--kv-text-muted)}
.hg-messenger-v2 .messenger-thread-meta i{min-width:18px;height:18px;font-size:10px;border-radius:999px}
.hg-messenger-v2 .messenger-avatar{width:42px;height:42px;min-width:42px;box-shadow:0 0 0 2px var(--kv-bg-surface-1);font-size:13px}
/* The header must remain a single, legible, compact toolbar, never wrap to two rows. */
.hg-messenger-v2 .messenger-chat-head{display:flex;align-items:center;flex-wrap:nowrap;min-height:75px;height:75px;max-height:none;padding:12px 20px;gap:12px;border-bottom:1px solid var(--kv-border-subtle)!important}
.hg-messenger-v2 .messenger-chat-head .hg-messenger-chat-identity{flex:1 1 auto;display:flex;flex-direction:row;align-items:center;min-width:0;gap:11px;overflow:hidden}
.hg-messenger-v2 .messenger-chat-head .hg-messenger-chat-labels{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px;overflow:hidden}
.hg-messenger-v2 .hg-messenger-chat-labels b{font-size:15px;line-height:1.3;font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hg-messenger-v2 .hg-messenger-chat-labels small{font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--kv-text-secondary)!important}
.hg-messenger-v2 .messenger-chat-head>.hg-messenger-back{display:none}
.hg-messenger-v2 .hg-messenger-header-actions{margin-left:auto;display:flex;align-items:center;gap:7px;flex:0 0 auto}
.hg-messenger-v2 .hg-messenger-header-actions>.mini{width:auto;min-width:38px;height:38px;min-height:38px;padding:8px 10px;border-radius:10px;border-color:var(--kv-border-subtle);background:var(--kv-bg-surface-2);color:var(--kv-text-primary);font-size:12px}
.hg-messenger-v2 .hg-messenger-header-actions>.hg-messenger-favorite{font-size:21px;min-width:38px;padding:3px 8px;color:var(--kv-accent)}
.hg-messenger-v2 .hg-messenger-thread-menu>summary{height:38px;width:38px;border-radius:10px}
.hg-messenger-v2 .hg-messenger-thread-popover{width:245px;max-height:min(68vh,450px);overflow:auto}
.hg-messenger-v2 .hg-messenger-thread-popover label{font-size:11px;color:var(--kv-text-secondary);padding:6px 5px 0}
.hg-messenger-v2 .hg-messenger-thread-popover .messenger-mute-select{display:block;width:100%;background:var(--kv-bg-surface-2);color:var(--kv-text-primary);border-color:var(--kv-border-subtle);text-align:left;min-height:36px;max-width:none}
.hg-messenger-v2 .messenger-live-line{flex:0 0 auto;min-height:0;font-size:11px;padding-inline:22px;color:var(--kv-text-secondary);border-bottom:0}
.hg-messenger-v2 .messenger-live-line:empty{display:none}
/* Crucial regression: flex children must not stretch to occupy the full history height. */
.hg-messenger-v2 .messenger-messages{
  background:var(--kv-bg-page)!important;display:flex;flex-direction:column;justify-content:flex-start!important;align-content:start;align-items:stretch;
  gap:8px;min-height:0;padding:16px max(20px,calc((100% - 900px)/2)) 26px;overflow:auto;scroll-padding-bottom:18px;
}
.hg-messenger-v2 .messenger-messages>.messenger-message-row,.hg-messenger-v2 .messenger-messages>.hg-messenger-date{flex:0 0 auto;min-height:0;height:auto}
.hg-messenger-v2 .hg-messenger-date{background:var(--kv-bg-surface-1);font-size:11px;font-weight:550;border-color:var(--kv-border-subtle);padding:4px 13px;margin:15px 0 9px;box-shadow:none}
.hg-messenger-v2 .messenger-message-row{display:flex;min-width:0;gap:8px}
.hg-messenger-v2 .messenger-bubble{max-width:70%;min-width:88px;width:max-content;min-height:40px;padding:10px 13px 9px;line-height:1.45;font-size:14px;font-weight:450;border-radius:15px;box-shadow:none!important;letter-spacing:0;background:var(--kv-bg-surface-1)!important;border:1px solid var(--kv-border-subtle)!important;color:var(--kv-text-primary)!important;overflow-wrap:anywhere;word-break:break-word}
.hg-messenger-v2 .messenger-message-row.mine .messenger-bubble{background:var(--kv-selected-surface)!important;border-color:var(--kv-border-interactive)!important;border-bottom-right-radius:5px}
.hg-messenger-v2 .messenger-message-row.theirs .messenger-bubble{border-bottom-left-radius:5px}
.hg-messenger-v2 .messenger-message-row.hg-msg-grouped{margin-top:-5px}
.hg-messenger-v2 .messenger-message-row .hg-messenger-meta{display:block;font-size:10px;line-height:1.3;margin-top:6px;color:var(--kv-text-secondary)!important}
.hg-messenger-v2 .messenger-message-row.mine .hg-messenger-meta{text-align:right}
.hg-messenger-v2 .messenger-delivery{display:block;font-size:10px;line-height:1.1;text-align:right;margin-top:2px;color:var(--kv-accent)!important}
.hg-messenger-v2 .messenger-message-tools{width:max-content;z-index:9;max-width:min(450px,70vw);white-space:normal}
.hg-messenger-v2 .hg-messenger-actions-trigger{top:-13px;min-width:34px;width:34px;height:30px;border-radius:9px}
/* Composer owns its own space and never obscures the latest message. */
.hg-messenger-v2 .messenger-composer{min-height:76px;max-height:none;display:flex;align-items:flex-end;padding:12px 19px;gap:8px;border-top:1px solid var(--kv-border-subtle)!important;box-shadow:none;z-index:4}
.hg-messenger-v2 .messenger-composer textarea{min-height:45px;max-height:150px;resize:none;font-size:13px;line-height:1.45;border-radius:12px;padding:12px 14px;box-shadow:none}
.hg-messenger-v2 .messenger-composer .btn[type=submit]{min-width:46px;width:46px;height:45px;min-height:45px;border-radius:12px;font-size:18px;background:var(--kv-accent);color:var(--kv-text-on-accent);border:1px solid var(--kv-accent)}
.hg-messenger-v2 .messenger-composer .mini{min-width:42px;min-height:45px;border:1px solid var(--kv-border-subtle);border-radius:10px;background:var(--kv-bg-surface-2);color:var(--kv-text-primary)}
.hg-messenger-v2 .messenger-composer .messenger-file-picker{display:grid;place-items:center;padding:8px;cursor:pointer}
.hg-messenger-v2 .hg-messenger-jump{bottom:95px;right:max(20px,calc((100% - 900px)/2));height:38px;min-height:38px;border-radius:11px;font-size:12px;box-shadow:var(--kv-shadow-surface)}
/* Reserve a landing zone for an explicitly bottom-positioned floating Utility Dock.
   Without this the global dock overlaps the message textarea, as reported. */
.layout.dual-nav:has(>.utility-dock.dock-widget[data-dock-physical-side="bottom"]) .hg-messenger-v2 .messenger-composer{padding-bottom:56px;min-height:120px}
.layout.dual-nav:has(>.utility-dock.dock-widget[data-dock-physical-side="bottom"]) .hg-messenger-v2 .hg-messenger-jump{bottom:140px}
/* Compact, functional contextual sidebar with tabs, not a second message header. */
.hg-messenger-v2 .messenger-info{padding:0;overflow-y:auto;scrollbar-width:thin}
.hg-messenger-v2 .hg-messenger-context-tabs{display:flex;gap:4px;padding:18px 12px 10px;position:sticky;top:0;z-index:3;background:var(--kv-bg-surface-1);border-bottom:1px solid var(--kv-border-subtle)}
.hg-messenger-v2 .hg-messenger-context-tabs button{flex:1;min-width:0;padding:8px 4px;font-size:12px;font-weight:600;color:var(--kv-text-secondary);border:0;border-bottom:2px solid transparent;background:transparent;cursor:pointer}
.hg-messenger-v2 .hg-messenger-context-tabs button[aria-selected="true"]{color:var(--kv-accent);border-bottom-color:var(--kv-accent)}
.hg-messenger-v2 .messenger-info-card{padding:24px 16px 20px;border-bottom:1px solid var(--kv-border-subtle);background:var(--kv-bg-surface-1)}
.hg-messenger-v2 .messenger-info-card .messenger-avatar{width:60px;height:60px;margin:0 auto 8px}
.hg-messenger-v2 .messenger-info-card h3{font-size:15px;line-height:1.35;font-weight:750;margin:9px 0 6px;overflow-wrap:anywhere}
.hg-messenger-v2 .messenger-info-card .muted{font-size:11px;overflow-wrap:anywhere;color:var(--kv-text-secondary)!important}
.hg-messenger-v2 .messenger-info-section{padding:18px 16px;border-color:var(--kv-border-subtle)!important}
.hg-messenger-v2 .messenger-info-section>b{font-size:13px;font-weight:750}
.hg-messenger-v2 .messenger-participant{display:flex;gap:10px;padding:7px 0;margin-top:4px;align-items:center;min-width:0}
.hg-messenger-v2 .messenger-participant .messenger-avatar{width:35px;height:35px;min-width:35px}
.hg-messenger-v2 .messenger-participant b{font-size:12px;line-height:1.3;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg-messenger-v2 .messenger-participant small{font-size:10px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.hg-messenger-v2 .hg-messenger-context-file{padding:10px 9px;border-radius:10px;gap:6px}
.hg-messenger-v2 .hg-messenger-context-file span{font-size:11px}
.hg-messenger-v2 .hg-messenger-context-file .mini{min-height:30px}
.hg-messenger-v2 [data-hg-context-panel][hidden]{display:none!important}
.hg-messenger-v2 .hg-messenger-context-close{margin:8px 12px 0}
/* Tablet: context becomes a drawer. Phones: explicit list/conversation navigation. */
@media(max-width:1279px){
  .messenger-page.hg-messenger-v2,.messenger-page.hg-messenger-v2.context-collapsed{grid-template-columns:clamp(280px,31vw,325px) minmax(0,1fr)}
  .hg-messenger-v2 .messenger-info{position:absolute;inset:0 0 0 auto;width:min(320px,93vw);box-shadow:var(--kv-shadow-floating);z-index:16;background:var(--kv-bg-surface-1)!important}
  .hg-messenger-v2:not(.context-open) .messenger-info{display:none}
  .hg-messenger-v2 .hg-messenger-context-close{display:inline-flex}
  .hg-messenger-v2 .messenger-chat-head{padding:10px 13px}
  .hg-messenger-v2 .messenger-chat-head .messenger-avatar{width:36px;height:36px;min-width:36px}
  .hg-messenger-v2 .hg-messenger-header-actions>.hg-messenger-context-toggle{font-size:0;min-width:38px}
  .hg-messenger-v2 .hg-messenger-header-actions>.hg-messenger-context-toggle:before{content:'☷';font-size:18px}
}
@media(max-width:767px){
  .messenger-page.hg-messenger-v2,.messenger-page.hg-messenger-v2.context-collapsed{grid-template-columns:minmax(0,1fr)}
  .hg-messenger-v2 .messenger-sidebar-head{padding:18px 15px 12px}
  .hg-messenger-v2 .messenger-chat-head>.hg-messenger-back{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0;font-size:20px}
  .hg-messenger-v2 .messenger-chat-head{height:66px;min-height:66px;max-height:66px;overflow:visible;gap:8px}
  .hg-messenger-v2 .hg-messenger-chat-labels b{font-size:13px}
  .hg-messenger-v2 .hg-messenger-header-actions{gap:4px}
  .hg-messenger-v2 .hg-messenger-header-actions>.mini,.hg-messenger-v2 .hg-messenger-thread-menu>summary{min-width:38px;width:38px;min-height:40px;height:40px}
  .hg-messenger-v2 .messenger-messages{padding:14px 11px 22px;gap:8px}
  .hg-messenger-v2 .messenger-bubble{max-width:86%;min-width:84px;font-size:14px}
  .hg-messenger-v2 .messenger-composer{padding:9px;gap:5px;min-height:66px}
  .hg-messenger-v2 .messenger-composer textarea{min-height:44px}
  .hg-messenger-v2 .hg-messenger-jump{bottom:78px;right:12px}
  .layout.dual-nav:has(>.utility-dock.dock-widget[data-dock-physical-side="bottom"]) .hg-messenger-v2 .messenger-composer{min-height:112px;padding-bottom:54px}
}
@media(prefers-reduced-motion:reduce){.hg-messenger-v2 .messenger-thread{transition:none}}
/* Override an older positional header rule targeting nth-child(3).
   Action controls must never be a flexible chat-title column. */
.hg-messenger-v2 .messenger-chat-head>.hg-messenger-header-actions{
  display:flex;flex:0 0 auto!important;min-width:max-content;overflow:visible!important;
  position:relative;align-items:center;justify-content:flex-end;gap:7px;
}
.hg-messenger-v2 .messenger-chat-head>.hg-messenger-chat-identity{
  flex:1 1 auto!important;min-width:0;overflow:hidden;
}
.hg-messenger-v2 .messenger-chat-head{position:relative;z-index:10;overflow:visible!important}
.hg-messenger-v2 .hg-messenger-thread-menu{flex:0 0 auto;min-width:38px}
@media(max-width:767px){
  .hg-messenger-v2 .messenger-chat-head>.hg-messenger-header-actions{gap:4px}
  .hg-messenger-v2 .messenger-chat-head>.hg-messenger-chat-identity{gap:7px}
  .hg-messenger-v2 .hg-messenger-header-actions>.hg-messenger-context-toggle{font-size:0;min-width:38px;width:38px}
}
.hg-messenger-v2 .messenger-chat-head>.hg-messenger-header-actions{flex-direction:row!important;flex-wrap:nowrap!important}
@media(max-width:767px){
  /* Touch action control lives beside, not on top of message text. */
  .hg-messenger-v2 .messenger-message-row.theirs .hg-messenger-actions-trigger{top:7px;left:auto;right:-35px;min-width:32px;width:32px;height:32px}
  .hg-messenger-v2 .messenger-message-row.mine .hg-messenger-actions-trigger{top:7px;left:-35px;right:auto;min-width:32px;width:32px;height:32px}
}
