/* Hypergrid Messenger 2.0: progressive UX upgrade on the existing authorized API.
   Scoped to the full Messenger page; embedded Workspace chat remains independent.
   Legacy Theme Engine uses !important on a few color rules: these limited scoped
   declarations retain the theme-token source of truth instead of hardcoding colors. */
.messenger-page.hg-messenger-v2{
  width:100%;height:100%;min-height:500px;min-width:0;max-width:100%;overflow:hidden;
  display:grid;grid-template-columns:clamp(260px,23vw,340px) minmax(0,1fr) clamp(260px,22vw,320px);
  background:var(--kv-bg-page);color:var(--kv-text-primary);border:1px solid var(--kv-border-subtle);
  border-radius:var(--kv-radius-card);box-shadow:var(--kv-shadow-surface);
}
.hg-messenger-v2 .messenger-sidebar,.hg-messenger-v2 .messenger-conversation,.hg-messenger-v2 .messenger-info{min-width:0;min-height:0}
.hg-messenger-v2 .messenger-sidebar,.hg-messenger-v2 .messenger-info,.hg-messenger-v2 .messenger-conversation{background:var(--kv-bg-surface-1)!important;color:var(--kv-text-primary)!important}
.hg-messenger-v2 .messenger-sidebar{border-inline-end:1px solid var(--kv-border-subtle)!important}
.hg-messenger-v2 .messenger-info{border-inline-start:1px solid var(--kv-border-subtle)!important;padding:14px;overflow:auto}
.hg-messenger-v2 .messenger-sidebar-head{padding:16px 16px 10px;gap:10px;align-items:flex-start}
.hg-messenger-v2 .messenger-sidebar-head h1{font-size:20px;line-height:1.2;letter-spacing:-.02em}
.hg-messenger-v2 .messenger-create-actions{justify-content:flex-start;gap:5px;margin-block:10px 0}
.hg-messenger-v2 .messenger-create-actions .btn,.hg-messenger-v2 .messenger-create-actions .mini{font-size:12px;min-height:32px}
.hg-messenger-v2 .messenger-search{padding:4px 14px 10px;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.hg-messenger-v2 .messenger-search input{width:100%;min-width:0;min-height:36px;border-radius:var(--kv-radius-control);background:var(--kv-bg-surface-2);color:var(--kv-text-primary);border:1px solid var(--kv-border-interactive)}
.hg-messenger-v2 .messenger-search #messengerGlobalSearch{justify-self:start}
.hg-messenger-v2 .messenger-tabs{padding:0 14px 12px;gap:5px;overflow:auto;max-height:94px}
.hg-messenger-v2 .messenger-tabs button{padding:6px 9px;font-size:12px;border-radius:9px;white-space:nowrap;min-height:31px;background:var(--kv-bg-surface-2)!important;color:var(--kv-text-secondary)!important;border-color:var(--kv-border-subtle)!important}
.hg-messenger-v2 .messenger-tabs button.active{background:var(--kv-selected-surface)!important;color:var(--kv-text-primary)!important;border-color:var(--kv-accent)!important}
.hg-messenger-v2 .messenger-thread-list{overflow:auto;min-height:0;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
.hg-messenger-v2 .messenger-thread{position:relative;padding:12px 14px;gap:10px;min-height:66px;border-top:0;border-bottom:1px solid var(--kv-border-subtle)!important}
.hg-messenger-v2 .messenger-thread:hover{background:var(--kv-hover-surface)!important}
.hg-messenger-v2 .messenger-thread.active{background:var(--kv-selected-surface)!important}
.hg-messenger-v2 .messenger-thread.active:before{content:"";position:absolute;inset:8px auto 8px 0;width:3px;border-radius:999px;background:var(--kv-accent)}
.hg-messenger-v2 .messenger-thread-main{overflow:hidden;gap:3px}
.hg-messenger-v2 .messenger-thread-main b{font-size:13px;line-height:1.3;min-width:0}
.hg-messenger-v2 .messenger-thread-main small{font-size:12px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;overflow-wrap:anywhere}
.hg-messenger-v2 .messenger-thread-meta{font-size:11px;white-space:nowrap}
.hg-messenger-v2 .messenger-thread-meta i{background:var(--kv-accent);color:var(--kv-text-on-accent)}
.hg-messenger-v2 .messenger-chat-head{height:auto;min-height:64px;padding:9px 14px;flex-wrap:wrap;gap:7px;border-bottom:1px solid var(--kv-border-subtle)!important;background:var(--kv-bg-surface-1)!important}
.hg-messenger-v2 .messenger-chat-head>div:nth-child(3),.hg-messenger-v2 .messenger-chat-head>div:nth-child(2){flex:1 1 180px;min-width:130px;overflow:hidden}
.hg-messenger-v2 .messenger-chat-head b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hg-messenger-v2 .messenger-chat-head small{overflow:hidden;text-overflow:ellipsis}
.hg-messenger-v2 .messenger-chat-head .mini{min-height:30px;font-size:12px;max-width:180px}
.hg-messenger-v2 .messenger-live-line{flex-shrink:0}
.hg-messenger-v2 .messenger-messages{flex:1;min-height:0;overflow:auto;padding:16px clamp(12px,2.5vw,30px);gap:8px;background:var(--kv-bg-page)!important;color:var(--kv-text-primary)!important;overscroll-behavior:contain}
.hg-messenger-v2 .hg-messenger-date{align-self:center;margin:12px 0 8px;background:var(--kv-bg-surface-2);border:1px solid var(--kv-border-subtle);color:var(--kv-text-secondary);border-radius:999px;padding:4px 11px;font-size:11px;font-variant-numeric:tabular-nums}
.hg-messenger-v2 .messenger-message-row{min-width:0}
.hg-messenger-v2 .messenger-bubble{max-width:min(72%,720px);min-width:0;padding:9px 12px;border-radius:14px;box-shadow:none;overflow-wrap:anywhere;white-space:pre-wrap;position:relative;background:var(--kv-bg-surface-2)!important;color:var(--kv-text-primary)!important;border:1px solid var(--kv-border-subtle)!important;line-height:1.45;font-size:13px}
.hg-messenger-v2 .messenger-message-row.mine .messenger-bubble{background:var(--kv-selected-surface)!important;border-color:var(--kv-border-interactive)!important;border-end-end-radius:5px}
.hg-messenger-v2 .messenger-bubble small{font-size:11px;color:var(--kv-text-secondary)!important}
.hg-messenger-v2 .messenger-message-files,.hg-messenger-v2 .messenger-reactions{max-width:100%;overflow-wrap:anywhere}
.hg-messenger-v2 .messenger-reactions{gap:4px;margin-top:5px}
.hg-messenger-v2 .messenger-reaction-toggle,.hg-messenger-v2 .messenger-reaction-users{min-height:25px;padding:2px 6px}
.hg-messenger-v2 .messenger-message-tools{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-start;position:absolute;z-index:3;inset:auto 0 auto auto;top:calc(100% - 2px);width:max-content;max-width:min(440px,85vw);padding:5px;border:1px solid var(--kv-border-subtle);border-radius:10px;box-shadow:var(--kv-shadow-floating);background:var(--kv-bg-floating);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity var(--kv-motion-hover),transform var(--kv-motion-hover),visibility var(--kv-motion-hover)}
.hg-messenger-v2 .messenger-message-tools .mini{font-size:11px;min-height:29px;color:var(--kv-text-primary)}
.hg-messenger-v2 .hg-messenger-actions-trigger{position:absolute;top:-13px;right:4px;z-index:4;min-width:33px;min-height:28px;padding:1px 6px;font-size:19px;line-height:1;opacity:0;visibility:visible;background:var(--kv-bg-floating);color:var(--kv-text-primary);border:1px solid var(--kv-border-interactive);box-shadow:var(--kv-shadow-surface)}
.hg-messenger-v2 .messenger-message-row.mine .hg-messenger-actions-trigger{left:4px;right:auto}
.hg-messenger-v2 .messenger-bubble:hover .hg-messenger-actions-trigger,.hg-messenger-v2 .messenger-bubble:focus-within .hg-messenger-actions-trigger,.hg-messenger-v2 .messenger-bubble[data-actions-open] .hg-messenger-actions-trigger{visibility:visible;opacity:1}
.hg-messenger-v2 .messenger-bubble:focus-within .messenger-message-tools,.hg-messenger-v2 .messenger-bubble[data-actions-open] .messenger-message-tools{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.hg-messenger-v2 .messenger-bubble:has(.hg-messenger-actions-trigger:hover) .messenger-message-tools,.hg-messenger-v2 .messenger-message-tools:hover{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.hg-messenger-v2 .messenger-history-state{flex:0 0 auto;text-align:center}
.hg-messenger-v2 .messenger-composer{display:flex;align-items:flex-end;min-height:70px;gap:8px;padding:12px 14px;flex-shrink:0;background:var(--kv-bg-surface-1)!important;border-top:1px solid var(--kv-border-subtle)!important;position:relative}
.hg-messenger-v2 .messenger-composer textarea{flex:1 1 160px;min-width:0;min-height:42px;max-height:150px;resize:vertical;line-height:1.5;background:var(--kv-bg-surface-2)!important;color:var(--kv-text-primary)!important}
.hg-messenger-v2 .messenger-composer .btn,.hg-messenger-v2 .messenger-composer .mini{min-height:40px}
.hg-messenger-v2 .hg-messenger-send-state{position:absolute;bottom:100%;right:14px;color:var(--kv-danger);background:var(--kv-bg-floating);border-radius:6px;font-size:12px;max-width:75%;line-height:1.4}
.hg-messenger-v2 .hg-messenger-send-state:empty{display:none}
.hg-messenger-v2 .messenger-info-card,.hg-messenger-v2 .messenger-info-section{border-color:var(--kv-border-subtle)!important}
.hg-messenger-v2 .messenger-info-note{background:var(--kv-bg-surface-2)!important;color:var(--kv-text-secondary)!important}
.hg-messenger-v2 .hg-messenger-context-toggle,.hg-messenger-v2 .hg-messenger-context-close{display:none}
.hg-messenger-v2 .hg-messenger-no-results{padding:16px;color:var(--kv-text-secondary);font-size:13px;text-align:center}
.hg-messenger-v2 .hg-messenger-no-results[hidden]{display:none}
.hg-messenger-v2 :where(button,input,textarea,select):focus-visible{outline:2px solid var(--kv-focus-ring);outline-offset:2px}
@media(max-width:1279px){.messenger-page.hg-messenger-v2{grid-template-columns:clamp(260px,32vw,340px) minmax(0,1fr)}.hg-messenger-v2 .messenger-info{display:none;position:absolute;right:0;top:0;bottom:0;z-index:6;width:min(320px,95%);box-shadow:var(--kv-shadow-floating);background:var(--kv-bg-floating)!important}.hg-messenger-v2.context-open .messenger-info{display:block}.hg-messenger-v2 .hg-messenger-context-toggle,.hg-messenger-v2 .hg-messenger-context-close{display:inline-flex}.hg-messenger-v2 .hg-messenger-context-close{margin-bottom:8px}.hg-messenger-v2 .messenger-chat-head .mini{font-size:11px}.hg-messenger-v2 .messenger-page{position:relative}}
@media(max-width:767px){
  .messenger-page.hg-messenger-v2{position:relative;grid-template-columns:minmax(0,1fr);min-height:0;height:100%;border-radius:0;overflow:hidden}
  .hg-messenger-v2 .messenger-sidebar{display:flex;grid-column:1;grid-row:1}
  .hg-messenger-v2 .messenger-conversation{display:none;grid-column:1;grid-row:1}
  .hg-messenger-v2.has-active:not(.mobile-explorer) .messenger-sidebar{display:none}
  .hg-messenger-v2.has-active:not(.mobile-explorer) .messenger-conversation{display:flex}
  .hg-messenger-v2.no-active .messenger-conversation{display:none}
  .hg-messenger-v2 .hg-messenger-back{display:inline-flex;min-height:40px}
  .hg-messenger-v2 .messenger-chat-head{padding:8px;max-height:170px;overflow:auto}
  .hg-messenger-v2 .messenger-info{position:absolute;width:min(340px,95vw);inset:0 0 0 auto;z-index:10}
  .hg-messenger-v2 .messenger-message-tools{max-width:min(280px,85vw);max-height:180px;overflow:auto}
  .hg-messenger-v2 .messenger-bubble{max-width:90%}
  .hg-messenger-v2 .hg-messenger-actions-trigger{visibility:visible;opacity:1;min-height:34px;min-width:36px}
  .hg-messenger-v2 .messenger-composer{padding:8px;gap:6px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .hg-messenger-v2 .messenger-composer textarea{max-height:100px}
  .hg-messenger-v2 .messenger-composer .btn,.hg-messenger-v2 .messenger-composer .mini{min-width:42px;min-height:44px}
  .hg-messenger-v2 .messenger-search input{min-height:44px}
}
@media(hover:none){.hg-messenger-v2 .hg-messenger-actions-trigger{visibility:visible;opacity:1}}
@media(prefers-reduced-motion:reduce){.hg-messenger-v2 .messenger-message-tools,.hg-messenger-v2 .hg-messenger-actions-trigger{transition:none;transform:none}}

.hg-messenger-v2 .hg-messenger-actions-trigger:focus-visible{opacity:1;visibility:visible}

/* Context data uses only the currently authorized, already loaded thread. */
.hg-messenger-v2.no-active{grid-template-columns:clamp(260px,23vw,340px) minmax(0,1fr)}
.hg-messenger-v2.no-active .messenger-info{display:none}
.hg-messenger-v2.context-collapsed{grid-template-columns:clamp(260px,23vw,340px) minmax(0,1fr)}
.hg-messenger-v2.context-collapsed .messenger-info{display:none}
.hg-messenger-v2.has-active .hg-messenger-context-toggle{display:inline-flex}
.hg-messenger-v2 .hg-messenger-context-files{display:grid;gap:6px;margin-top:9px}
.hg-messenger-v2 .hg-messenger-context-file{display:flex;align-items:center;gap:5px;padding:7px;background:var(--kv-bg-surface-2);border:1px solid var(--kv-border-subtle);border-radius:9px;font-size:12px;min-width:0}
.hg-messenger-v2 .hg-messenger-context-file span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hg-messenger-v2 .hg-messenger-context-file .mini{font-size:11px;min-height:30px;padding:3px 5px}
.hg-messenger-v2 .hg-messenger-context-action{margin-block:9px}
@media(max-width:1279px){.hg-messenger-v2.context-open .messenger-info{display:block}.hg-messenger-v2.context-collapsed{grid-template-columns:clamp(260px,32vw,340px) minmax(0,1fr)}}
@media(max-width:767px){.hg-messenger-v2.context-collapsed,.hg-messenger-v2.no-active{grid-template-columns:minmax(0,1fr)}}
