/* KONEVIX Hypergrid — Messenger premium visual implementation.
   Scope only the standalone Messenger. All colors derive from Theme Engine tokens.
   The design board is a reference, never a background image or fake functionality. */
.messenger-page.hg-messenger-v2.hg-messenger-fidelity{
  --hg-edge:var(--kv-border-subtle);
  --hg-pulse:color-mix(in srgb,var(--kv-accent) 14%,transparent);
  --hg-soft:color-mix(in srgb,var(--kv-accent) 7%,var(--kv-bg-surface-1));
  --hg-rail:color-mix(in srgb,var(--kv-bg-page) 46%,var(--kv-bg-surface-1));
  --hg-chat:color-mix(in srgb,var(--kv-accent) 2.5%,var(--kv-bg-page));
  display:grid;grid-template-columns:138px minmax(255px,282px) minmax(0,1fr) minmax(246px,288px);
  background:var(--kv-bg-surface-1);color:var(--kv-text-primary);
  width:100%;max-width:100%;min-width:0;min-height:550px;height:100%;overflow:hidden;
  border:1px solid var(--kv-border-interactive);border-radius:16px;
  box-shadow:inset 0 1px 0 var(--hg-pulse),0 0 0 1px var(--hg-pulse),0 6px 28px color-mix(in srgb,var(--kv-accent) 4%,transparent);
  isolation:isolate;
}
.hg-messenger-fidelity :where(.messenger-sidebar,.messenger-conversation,.messenger-info,.hg-messenger-rail){min-width:0;min-height:0}
.hg-messenger-fidelity .hg-messenger-rail{
  display:flex;flex-direction:column;background:var(--hg-rail);border-right:1px solid var(--hg-edge);
  padding:13px 8px 12px;overflow:hidden;gap:14px;
}
.hg-messenger-fidelity .hg-messenger-brand{display:flex;align-items:center;gap:6px;min-width:0;padding:2px 3px 10px;border-bottom:1px solid var(--hg-edge);font-size:12px;letter-spacing:.025em}
.hg-messenger-fidelity .hg-messenger-brand-mark{font-size:26px;line-height:1;font-weight:950;font-style:italic;letter-spacing:-.12em;color:var(--kv-accent);filter:drop-shadow(0 0 7px var(--hg-pulse));padding-right:2px}
.hg-messenger-fidelity .hg-messenger-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:850}
.hg-messenger-fidelity .hg-rail-navigation{display:flex;flex-direction:column;gap:4px;min-width:0}
.hg-messenger-fidelity .hg-rail-link{display:flex;align-items:center;gap:9px;min-width:0;text-align:left;width:100%;min-height:38px;padding:6px 8px;
  font:600 11px/1.2 var(--kv-font-ui,system-ui);border:1px solid transparent;border-radius:10px;background:transparent;color:var(--kv-text-secondary);cursor:pointer}
.hg-messenger-fidelity .hg-rail-link>span:first-child{font-size:16px;width:20px;min-width:20px;text-align:center;color:var(--kv-accent)}
.hg-messenger-fidelity .hg-rail-link>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hg-messenger-fidelity .hg-rail-link i{font-style:normal;margin-left:auto;font-weight:800;border-radius:8px;background:var(--kv-danger);color:var(--kv-text-on-accent);padding:2px 5px;min-width:18px;text-align:center;font-size:10px}
.hg-messenger-fidelity .hg-rail-link:is(:hover,:focus-visible){background:var(--kv-hover-surface);color:var(--kv-text-primary)}
.hg-messenger-fidelity .hg-rail-link.is-selected{background:var(--kv-selected-surface);color:var(--kv-accent);font-weight:800;border-color:var(--kv-border-interactive);box-shadow:inset 3px 0 0 var(--kv-accent)}
.hg-messenger-fidelity .hg-rail-separator{border-top:1px solid var(--hg-edge);margin:7px 6px}
.hg-messenger-fidelity .hg-rail-bottom{margin-top:auto;display:grid;gap:5px;text-align:center;color:var(--kv-text-muted);border-top:1px solid var(--hg-edge);padding:12px 2px 2px}
.hg-messenger-fidelity .hg-rail-caption{font-size:8px;letter-spacing:.11em;font-weight:800}
.hg-messenger-fidelity .hg-rail-release{font-size:10px;color:var(--kv-text-secondary)}
/* Conversation explorer — compact, aligned, no broad stacks of unrelated controls. */
.hg-messenger-fidelity .messenger-sidebar{background:var(--kv-bg-surface-1)!important;border-right:1px solid var(--hg-edge)!important}
.hg-messenger-fidelity .messenger-sidebar-head{padding:12px 10px 9px;align-items:center;flex-wrap:nowrap;gap:4px;min-height:68px;border:0}
.hg-messenger-fidelity .hg-messenger-explorer-title{gap:2px}
.hg-messenger-fidelity .hg-messenger-kicker{font-size:9px;letter-spacing:.08em;font-weight:700}
.hg-messenger-fidelity .messenger-sidebar-head h1{font-size:16px;line-height:1.3;letter-spacing:-.015em}
.hg-messenger-fidelity .messenger-sidebar-head h1 small{margin-left:4px;font-size:10px;padding:2px 6px;border-radius:8px;color:var(--kv-accent);background:var(--hg-soft);vertical-align:2px}
.hg-messenger-fidelity .hg-messenger-status{font-size:10px;min-height:18px;line-height:1.3}
.hg-messenger-fidelity .messenger-create-actions{gap:5px;margin:0}
.hg-messenger-fidelity .messenger-create-actions .hg-messenger-add{min-width:34px;width:34px;min-height:34px;height:34px;border-radius:10px;font-size:22px}
.hg-messenger-fidelity .hg-messenger-create-menu>summary{min-width:34px;width:34px;height:34px;border-radius:10px;font-size:17px}
.hg-messenger-fidelity .messenger-search{padding:4px 10px 9px;gap:4px;display:grid;grid-template-columns:1fr 34px;align-items:center}
.hg-messenger-fidelity .hg-messenger-search-controls{display:flex;flex:auto;min-width:0;border-radius:10px;height:36px;background:var(--kv-bg-surface-2)}
.hg-messenger-fidelity .messenger-search input{font-size:11px;min-height:34px;max-height:34px;padding:6px 8px;min-width:0;width:100%}
.hg-messenger-fidelity .hg-messenger-search-clear{width:22px;min-width:22px;padding:0;font-size:16px}
.hg-messenger-fidelity .messenger-search #messengerGlobalSearch{height:36px;min-height:36px;width:34px;padding:0;display:grid;place-items:center;justify-self:end;font-size:20px}
.hg-messenger-fidelity .hg-messenger-global-search span{display:none}
.hg-messenger-fidelity #messengerSearchStatus{grid-column:1/-1;margin:0;min-height:0;font-size:10px}
.hg-messenger-fidelity #messengerSearchStatus:empty{display:none}
.hg-messenger-fidelity .messenger-tabs{padding:0 10px 8px;gap:3px;max-height:43px;flex-wrap:nowrap}
.hg-messenger-fidelity .messenger-tabs button{font-size:10px;padding:6px 8px;min-height:29px;border-radius:8px}
.hg-messenger-fidelity .messenger-tabs button.active{background:var(--hg-soft)!important;border-bottom:2px solid var(--kv-accent)!important}
.hg-messenger-fidelity .messenger-thread-list{padding:5px 5px 14px;border-top:1px solid var(--hg-edge)}
.hg-messenger-fidelity .messenger-thread{padding:8px 8px;grid-template-columns:37px minmax(0,1fr) auto;min-height:64px;gap:8px;margin:2px 0;border:1px solid transparent!important;border-radius:11px;background:transparent}
.hg-messenger-fidelity .messenger-thread.active{border-color:var(--kv-border-interactive)!important;background:var(--kv-selected-surface)!important;box-shadow:inset 3px 0 0 var(--kv-accent)}
.hg-messenger-fidelity .messenger-thread.active:before{display:none}
.hg-messenger-fidelity .messenger-thread:hover{background:var(--kv-hover-surface)!important}
.hg-messenger-fidelity .messenger-thread .messenger-avatar{width:36px;height:36px;min-width:36px;font-size:12px;border:2px solid var(--kv-border-interactive);box-shadow:0 0 0 1px var(--hg-pulse)}
.hg-messenger-fidelity .messenger-thread-main{gap:3px}
.hg-messenger-fidelity .messenger-thread-main b{font-size:11px;line-height:1.25;font-weight:770}
.hg-messenger-fidelity .messenger-thread-main small{font-size:10px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
.hg-messenger-fidelity .messenger-thread-meta{gap:6px;max-width:45px;white-space:nowrap}
.hg-messenger-fidelity .messenger-thread-meta small{font-size:9px;overflow:hidden;text-overflow:ellipsis}
.hg-messenger-fidelity .messenger-thread-meta i{font-size:9px;min-width:17px;height:17px;background:var(--kv-accent);color:var(--kv-text-on-accent)}
/* The conversation: distinct subject header, pinned strip and compact message alignment. */
.hg-messenger-fidelity .messenger-conversation{background:var(--hg-chat)!important;position:relative;min-width:0}
.hg-messenger-fidelity .messenger-chat-head{background:var(--kv-bg-surface-1)!important;height:66px;min-height:66px;padding:8px 12px;gap:7px;border-bottom:1px solid var(--hg-edge)!important}
.hg-messenger-fidelity .messenger-chat-head .messenger-avatar{width:35px;height:35px;min-width:35px;border:2px solid var(--kv-border-interactive);font-size:11px}
.hg-messenger-fidelity .hg-messenger-chat-labels b{font-size:12px;line-height:1.23;font-weight:800}
.hg-messenger-fidelity .hg-messenger-chat-labels small{font-size:10px;color:var(--kv-success)!important}
.hg-messenger-fidelity .hg-messenger-header-actions{gap:4px}
.hg-messenger-fidelity .hg-messenger-header-actions>.mini,.hg-messenger-fidelity .hg-messenger-thread-menu>summary{width:33px;min-width:33px;max-width:90px;height:33px;min-height:33px;border-radius:10px;font-size:12px}
.hg-messenger-fidelity .hg-messenger-context-toggle{display:inline-flex;align-items:center;gap:5px}
.hg-messenger-fidelity .hg-messenger-context-toggle span{font-size:10px}
.hg-messenger-fidelity .hg-messenger-favorite{font-size:18px!important}
.hg-messenger-fidelity .messenger-live-line{padding-inline:12px;font-size:10px;min-height:0}
.hg-messenger-fidelity .messenger-live-line:empty{display:none}
.hg-messenger-fidelity .hg-messenger-pinned-strip{width:100%;display:flex;gap:9px;align-items:center;min-height:35px;padding:6px 12px;border:0;border-bottom:1px solid var(--hg-edge);text-align:left;
  color:var(--kv-text-secondary);background:var(--hg-soft);font:500 10px/1.3 var(--kv-font-ui);cursor:pointer}
.hg-messenger-fidelity .hg-messenger-pinned-strip>span:first-child{color:var(--kv-accent);font-size:15px}
.hg-messenger-fidelity .hg-messenger-pinned-strip strong{color:var(--kv-accent);font-size:10px}
.hg-messenger-fidelity .hg-messenger-pinned-strip>span:nth-of-type(2){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hg-messenger-fidelity .hg-messenger-pinned-strip b{font-size:10px;color:var(--kv-accent)}
.hg-messenger-fidelity .messenger-history-state{background:transparent}
.hg-messenger-fidelity .messenger-messages{background:var(--hg-chat)!important;padding:18px clamp(13px,2vw,30px) 18px;gap:6px;align-items:stretch;scrollbar-width:thin;
  background-image:radial-gradient(ellipse at 95% 0%,var(--hg-pulse),transparent 49%),linear-gradient(to right,color-mix(in srgb,var(--kv-accent) 4%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--kv-accent) 4%,transparent) 1px,transparent 1px)!important;
  background-size:auto,36px 36px,36px 36px!important}
.hg-messenger-fidelity .hg-messenger-date{font-size:10px;margin:5px 0 10px;border-radius:11px;background:var(--kv-bg-surface-1);padding:5px 12px}
.hg-messenger-fidelity .messenger-message-row{flex:0 0 auto;align-items:flex-end;min-width:0;margin-bottom:2px;gap:4px}
.hg-messenger-fidelity .messenger-message-row.hg-msg-grouped{margin-top:-3px}
.hg-messenger-fidelity .messenger-bubble{max-width:min(77%,485px);min-width:88px;width:max-content;min-height:0;padding:9px 11px 7px;line-height:1.45;
  font-size:12px;white-space:pre-wrap;border-radius:12px;border:1px solid var(--hg-edge)!important;background:var(--kv-bg-surface-2)!important;
  box-shadow:0 2px 7px color-mix(in srgb,var(--kv-text-primary) 5%,transparent)!important}
.hg-messenger-fidelity .messenger-message-row.mine .messenger-bubble{border-color:var(--kv-border-interactive)!important;background:var(--kv-selected-surface)!important;color:var(--kv-text-primary);border-bottom-right-radius:4px}
.hg-messenger-fidelity .messenger-message-row.theirs .messenger-bubble{background:var(--kv-bg-surface-1)!important;border-bottom-left-radius:4px}
.hg-messenger-fidelity .messenger-bubble .hg-messenger-meta{margin-top:4px;font-size:9px;color:var(--kv-text-muted)!important}
.hg-messenger-fidelity .messenger-delivery{font-size:9px}
.hg-messenger-fidelity .messenger-reactions{display:flex;gap:4px;align-items:center;flex-wrap:wrap;max-width:100%;margin-top:5px}
.hg-messenger-fidelity .messenger-reaction-toggle,.hg-messenger-fidelity .messenger-reaction-users{border-radius:999px;min-height:24px;padding:2px 6px;font-size:10px}
.hg-messenger-fidelity .hg-messenger-jump{bottom:80px;right:16px}
/* Composer: the screenshot approval requires compact action icons and clear send. */
.hg-messenger-fidelity .messenger-composer{min-height:62px;padding:8px 12px;gap:6px;align-items:center;background:var(--kv-bg-surface-1)!important;box-shadow:0 -4px 16px color-mix(in srgb,var(--kv-accent) 4%,transparent);border-top:1px solid var(--hg-edge)!important}
.hg-messenger-fidelity .messenger-composer textarea{height:41px;min-height:41px;max-height:132px;resize:none;font-size:12px;background:var(--kv-bg-surface-2)!important;border-radius:10px;padding:10px 12px}
.hg-messenger-fidelity .messenger-composer .mini,.hg-messenger-fidelity .messenger-composer .messenger-file-picker{min-height:40px;min-width:35px;width:35px;border-radius:9px;padding:6px}
.hg-messenger-fidelity .messenger-composer .btn[type=submit]{height:41px;min-height:41px;min-width:41px;width:41px;border-radius:10px;box-shadow:0 3px 12px var(--hg-pulse);font-size:18px}
/* Context inspector: all real CRM links, participants and file records, no mock widgets. */
.hg-messenger-fidelity .messenger-info{padding:0;background:var(--hg-rail)!important;border-left:1px solid var(--hg-edge)!important;overflow:auto}
.hg-messenger-fidelity .hg-messenger-context-tabs{padding:9px 8px 8px;background:var(--kv-bg-surface-1);gap:4px;position:sticky;top:0}
.hg-messenger-fidelity .hg-messenger-context-tabs button{font-size:10px;min-height:31px;padding:5px 4px;border-radius:8px;background:var(--kv-bg-surface-2);border:1px solid var(--hg-edge)}
.hg-messenger-fidelity .hg-messenger-context-tabs button[aria-selected="true"]{background:var(--kv-selected-surface);color:var(--kv-accent);border:1px solid var(--kv-border-interactive)}
.hg-messenger-fidelity .messenger-info-card{display:flex;flex-direction:row;align-items:center;text-align:left;gap:9px;padding:13px 10px 10px;margin:9px 8px 4px;border:1px solid var(--hg-edge);border-radius:12px;background:var(--kv-bg-surface-1)}
.hg-messenger-fidelity .messenger-info-card .messenger-avatar{width:43px;height:43px;min-width:43px;margin:0;border:2px solid var(--kv-border-interactive)}
.hg-messenger-fidelity .hg-context-profile-text{flex:1;min-width:0;display:grid;gap:3px}
.hg-messenger-fidelity .messenger-info-card h3{font-size:11px;line-height:1.25;font-weight:800;margin:0;overflow-wrap:anywhere}
.hg-messenger-fidelity .messenger-info-card .muted{font-size:10px;line-height:1.3;word-break:break-all}
.hg-messenger-fidelity .hg-context-live{font-size:10px;line-height:1.3;color:var(--kv-success)}
.hg-messenger-fidelity .messenger-info-section{margin:8px;border:1px solid var(--hg-edge)!important;border-radius:11px;padding:11px 10px;background:var(--kv-bg-surface-1);font-size:11px}
.hg-messenger-fidelity .messenger-info-section>b{font-size:11px;display:block;margin-bottom:4px}
.hg-messenger-fidelity .messenger-participant{padding:6px 0;margin:0;gap:8px}
.hg-messenger-fidelity .messenger-participant .messenger-avatar{width:29px;height:29px;min-width:29px;font-size:10px}
.hg-messenger-fidelity .messenger-participant b{font-size:10px}
.hg-messenger-fidelity .messenger-participant small{font-size:9px}
.hg-messenger-fidelity .hg-context-hint{color:var(--kv-text-muted);display:block;font-size:9px;margin:4px 0 9px}
.hg-messenger-fidelity .hg-messenger-context-file{margin-top:5px;padding:7px;border-radius:9px}
.hg-messenger-fidelity .hg-messenger-context-file span{font-size:10px}
.hg-messenger-fidelity .hg-messenger-context-file .mini{font-size:10px;min-width:27px}
.hg-messenger-fidelity .hg-messenger-context-close{margin:8px 10px 0}
/* More useful than hiding available files inside an unrelated Members-only tab:
   the overview (first tab) includes authorized participant / CRM / files content.
   Dedicated tabs isolate their own categories without loading new data. */
.hg-messenger-fidelity [data-hg-context-panel][hidden]{display:none!important}
/* Tablet: internal rail collapses, context is a drawer; desktop can also close it. */
@media(max-width:1279px){
 .messenger-page.hg-messenger-v2.hg-messenger-fidelity,.messenger-page.hg-messenger-v2.hg-messenger-fidelity.context-collapsed{grid-template-columns:65px clamp(240px,29vw,285px) minmax(0,1fr);position:relative}
 .hg-messenger-fidelity .hg-messenger-rail{padding:11px 5px}
 .hg-messenger-fidelity .hg-messenger-brand{justify-content:center;padding-inline:0}
 .hg-messenger-fidelity .hg-messenger-brand strong,.hg-messenger-fidelity .hg-rail-link>span:nth-child(2),.hg-messenger-fidelity .hg-rail-link i,.hg-messenger-fidelity .hg-rail-caption,.hg-messenger-fidelity .hg-rail-release{display:none}
 .hg-messenger-fidelity .hg-rail-link{justify-content:center;width:100%;height:42px;padding:4px}
 .hg-messenger-fidelity .hg-messenger-rail .hg-rail-bottom{display:none}
 .hg-messenger-fidelity .messenger-info{position:absolute;inset:0 0 0 auto;width:min(295px,93vw);z-index:16;box-shadow:var(--kv-shadow-floating)}
 .hg-messenger-fidelity:not(.context-open) .messenger-info{display:none}
 .hg-messenger-fidelity .hg-messenger-context-close{display:inline-flex}
 .hg-messenger-fidelity .messenger-chat-head{padding-inline:10px}
 .hg-messenger-fidelity .hg-messenger-context-toggle span{display:none}
}
@media(min-width:1280px){
 .messenger-page.hg-messenger-v2.hg-messenger-fidelity.context-collapsed{grid-template-columns:138px minmax(255px,282px) minmax(0,1fr)}
 .hg-messenger-fidelity.context-collapsed .messenger-info{display:none}
}
/* Small phones show either explorer or conversation — not a cramped four-pane design. */
@media(max-width:767px){
 .messenger-page.hg-messenger-v2.hg-messenger-fidelity,.messenger-page.hg-messenger-v2.hg-messenger-fidelity.context-collapsed,.messenger-page.hg-messenger-v2.hg-messenger-fidelity.no-active{grid-template-columns:minmax(0,1fr);height:100%;min-height:0;border-radius:0}
 .hg-messenger-fidelity .hg-messenger-rail{display:none}
 .hg-messenger-fidelity .messenger-sidebar,.hg-messenger-fidelity .messenger-conversation{grid-column:1;grid-row:1}
 .hg-messenger-fidelity .messenger-sidebar-head{padding:14px 12px}
 .hg-messenger-fidelity .messenger-chat-head{min-height:61px;height:61px;max-height:61px}
 .hg-messenger-fidelity .messenger-chat-head .messenger-avatar{width:31px;min-width:31px;height:31px}
 .hg-messenger-fidelity .hg-messenger-chat-labels b{font-size:12px}
 .hg-messenger-fidelity .hg-messenger-header-actions>.mini,.hg-messenger-fidelity .hg-messenger-thread-menu>summary{min-height:37px;height:37px;min-width:37px;width:37px}
 .hg-messenger-fidelity .messenger-messages{padding:13px 12px 18px}
 .hg-messenger-fidelity .messenger-bubble{max-width:86%;font-size:13px}
 .hg-messenger-fidelity .messenger-composer{min-height:64px;padding:8px 7px;gap:5px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 .hg-messenger-fidelity .messenger-composer textarea{min-width:0;max-width:100%;padding:10px 9px;font-size:12px}
 .hg-messenger-fidelity .messenger-info{position:absolute;inset:0 0 0 auto;max-width:94vw}
 .hg-messenger-fidelity .hg-messenger-jump{bottom:76px;right:10px}
}
@media(prefers-reduced-motion:reduce){.hg-messenger-fidelity *{scroll-behavior:auto!important;transition-duration:0ms!important;animation:none!important}}

/* Compact phone header: no truncated word or duplicate glyph. */
@media(max-width:1279px){
 .hg-messenger-fidelity .hg-messenger-header-actions>.hg-messenger-context-toggle{font-size:15px!important;overflow:hidden;white-space:nowrap}
 .hg-messenger-fidelity .hg-messenger-header-actions>.hg-messenger-context-toggle span{display:none!important}
 .hg-messenger-fidelity .hg-messenger-header-actions>.hg-messenger-context-toggle:before{display:none!important;content:none!important}
}

/* No chat selected: return the unused context width to the welcome area. */
@media(min-width:1280px){
 .messenger-page.hg-messenger-v2.hg-messenger-fidelity.no-active{grid-template-columns:138px minmax(255px,282px) minmax(0,1fr)}
}
