/* Presidency Chat — v11.1.0 */
body.hub-chat-open{overflow:hidden}.hub-chat-backdrop{position:fixed;inset:0;background:rgba(9,28,43,.34);backdrop-filter:blur(2px);z-index:118}.hub-chat-panel{position:fixed;z-index:119;right:18px;top:18px;bottom:18px;width:min(460px,calc(100vw - 36px));background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 80px rgba(8,37,58,.26);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;overflow:hidden}.hub-chat-panel.hidden,.hub-chat-backdrop.hidden{display:none}.hub-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f8fbfd,#fff)}.hub-chat-head h2{margin:2px 0 4px;font-size:21px}.hub-chat-head p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.hub-chat-head>button{border:0;background:#edf3f6;width:34px;height:34px;border-radius:11px;font-size:22px;color:var(--navy)}.hub-chat-status{padding:7px 20px;background:#f6f9fa;border-bottom:1px solid #edf1f3;color:var(--muted);font-size:9px;font-weight:800}.hub-chat-status.error{background:#fff5f5;color:#9b3737}.hub-chat-messages{padding:16px 14px 18px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;background:#f6f8f9}.hub-chat-message{align-self:flex-start;width:min(88%,390px);background:#fff;border:1px solid #dce6ea;border-radius:18px 18px 18px 6px;padding:11px 12px;box-shadow:0 4px 14px rgba(18,59,89,.05);transition:.25s}.hub-chat-message.own{align-self:flex-end;background:#eaf4f9;border-color:#cfe1e9;border-radius:18px 18px 6px 18px}.hub-chat-message.flash{box-shadow:0 0 0 4px rgba(40,126,171,.17),0 8px 24px rgba(18,59,89,.12)}.hub-chat-message-meta{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}.hub-chat-message-meta strong{font-size:10px;color:var(--navy)}.hub-chat-message-meta span{font-size:8px;color:var(--muted)}.hub-chat-message-body{font-size:12px;line-height:1.5;color:var(--ink)}.hub-chat-person-link{display:inline;border:0;background:#dbeefa;color:#0d587f;border-radius:6px;padding:1px 4px;font:inherit;font-weight:850;cursor:pointer}.hub-chat-message-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.hub-chat-message-actions button{border:0;background:transparent;color:#657985;font-size:9px;font-weight:850;padding:3px 0;margin-right:8px}.hub-chat-message-actions button.queued{color:#1d7b61}.hub-chat-reply-preview{display:grid;width:100%;gap:2px;text-align:left;border:0;border-left:3px solid #9ec8dc;background:#f4f8fa;border-radius:7px;padding:6px 8px;margin-bottom:7px;color:var(--ink)}.hub-chat-reply-preview strong{font-size:8px}.hub-chat-reply-preview span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-chat-empty{margin:auto;display:grid;place-items:center;text-align:center;gap:7px;color:var(--muted);max-width:270px}.hub-chat-empty span{font-size:30px}.hub-chat-empty strong{color:var(--ink)}.hub-chat-empty small{line-height:1.5}.hub-chat-reply{margin:0 14px;padding:8px 10px;display:flex;gap:10px;justify-content:space-between;align-items:center;border:1px solid #d6e4ea;border-radius:12px 12px 0 0;background:#f5f9fb}.hub-chat-reply.hidden{display:none}.hub-chat-reply span{display:grid;gap:2px;min-width:0}.hub-chat-reply strong{font-size:9px}.hub-chat-reply small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-chat-reply button{border:0;background:transparent;font-size:18px}.hub-chat-mention-chips{display:flex;gap:5px;flex-wrap:wrap;padding:0 14px;background:#fff}.hub-chat-mention-chips:empty{display:none}.hub-chat-mention-chips>span{display:flex;align-items:center;gap:4px;background:#e8f3f8;color:#175f82;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850}.hub-chat-mention-chips button{border:0;background:transparent;color:inherit;padding:0}.hub-chat-compose-wrap{position:relative;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line);background:#fff}.hub-chat-compose-wrap textarea{resize:none;min-height:46px;max-height:120px;border:1px solid #cfdce2;border-radius:15px;padding:10px 11px;font-size:12px;line-height:1.4}.hub-chat-compose-wrap>button{align-self:end;border:0;background:var(--navy);color:#fff;border-radius:13px;padding:11px 15px;font-weight:900}.hub-chat-suggestions{position:absolute;left:14px;right:78px;bottom:calc(100% - 4px);max-height:230px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 35px rgba(12,43,64,.18);padding:5px;z-index:3}.hub-chat-suggestions.hidden{display:none}.hub-chat-suggestions button{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;border:0;background:#fff;border-radius:10px;padding:7px;text-align:left;color:var(--ink)}.hub-chat-suggestions button:hover{background:#f1f6f8}.hub-chat-suggestions button>span{width:30px;height:30px;border-radius:10px;background:#e7f0f4;display:grid;place-items:center;font-size:9px;font-weight:900;color:var(--navy)}.hub-chat-suggestions b{font-size:10px}.hub-chat-suggestions small{font-size:8px;color:var(--muted)}
#hub-chat-button{position:relative;font-size:20px!important;background:#fff!important;color:var(--navy)!important;border:1px solid #cddce3!important;width:50px!important;height:50px!important;box-shadow:0 12px 28px rgba(18,59,89,.16)!important}#hub-chat-unread{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;border-radius:999px;background:#c74b4b;color:#fff;display:grid;place-items:center;padding:0 5px;font-size:8px;font-weight:950;border:2px solid #fff}#hub-chat-unread.hidden{display:none}
@media(max-width:720px){.hub-chat-panel{inset:0;width:100%;height:100dvh;border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr) auto auto auto}.hub-chat-head{padding:calc(14px + env(safe-area-inset-top,0px)) 15px 12px}.hub-chat-messages{padding:14px 10px}.hub-chat-message{width:min(90%,390px)}.hub-chat-compose-wrap textarea{font-size:16px}.hub-fab{gap:8px}#hub-chat-button{width:48px!important;height:48px!important}.hub-chat-suggestions{left:10px;right:72px}.hub-chat-compose-wrap{padding-left:10px;padding-right:10px}}

/* ============================================================
   v11.1.2 — mobile chat as a contained conversation sheet
   ============================================================ */
@media(max-width:720px){
  .hub-chat-backdrop{
    background:rgba(9,28,43,.42);
    backdrop-filter:blur(3px);
  }
  .hub-chat-panel{
    top:auto;
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom,0px));
    inset:auto 8px max(8px,env(safe-area-inset-bottom,0px)) 8px;
    width:auto;
    height:min(84dvh,760px);
    max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px));
    border:1px solid #d9e4e9;
    border-radius:24px;
    box-shadow:0 24px 64px rgba(8,37,58,.3);
    overflow:hidden;
    grid-template-rows:auto auto minmax(0,1fr) auto auto auto;
  }
  .hub-chat-head{
    padding:14px 15px 11px;
    align-items:flex-start;
  }
  .hub-chat-head h2{
    font-size:18px;
  }
  .hub-chat-head p:last-child{
    max-width:280px;
  }
  .hub-chat-status{
    padding:6px 15px;
  }
  .hub-chat-messages{
    padding:12px 10px 14px;
    gap:9px;
  }
  .hub-chat-message{
    width:min(86%,360px);
    padding:10px 11px;
    border-radius:17px 17px 17px 6px;
  }
  .hub-chat-message.own{
    border-radius:17px 17px 6px 17px;
  }
  .hub-chat-message-body{
    font-size:12px;
  }
  .hub-chat-compose-wrap{
    padding:9px 10px calc(10px + env(safe-area-inset-bottom,0px));
  }
  .hub-chat-compose-wrap textarea{
    min-height:44px;
    max-height:96px;
    border-radius:14px;
  }
  .hub-chat-suggestions{
    max-height:190px;
  }
}

@media(max-width:430px){
  .hub-chat-panel{
    left:6px;
    right:6px;
    bottom:max(6px,env(safe-area-inset-bottom,0px));
    inset:auto 6px max(6px,env(safe-area-inset-bottom,0px)) 6px;
    height:min(82dvh,700px);
    border-radius:22px;
  }
  .hub-chat-message{
    width:88%;
  }
}

@media(max-height:650px) and (max-width:720px){
  .hub-chat-panel{
    height:90dvh;
  }
}

/* Emoji reactions — v11.39.0 */
.hub-chat-reactions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.hub-chat-reactions:empty{display:none}.hub-chat-reaction-chip{display:inline-flex!important;align-items:center;gap:4px!important;min-height:27px!important;padding:3px 8px!important;margin:0!important;border:1px solid #d8e4ea!important;border-radius:999px!important;background:#f7fafb!important;color:var(--ink)!important}.hub-chat-reaction-chip.selected{background:#dff0f8!important;border-color:#8ebed3!important;box-shadow:0 0 0 1px rgba(35,110,147,.08)}.hub-chat-reaction-chip span{font-size:14px}.hub-chat-reaction-chip b{font-size:9px}.hub-chat-reaction-picker{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px;padding:6px;border:1px solid #dbe6ea;border-radius:12px;background:#fff;box-shadow:0 7px 18px rgba(18,59,89,.08)}.hub-chat-reaction-picker.hidden{display:none}.hub-chat-reaction-picker button{display:grid;place-items:center;min-width:34px!important;min-height:34px!important;padding:4px!important;border:0!important;border-radius:9px!important;background:#f5f8fa!important;font-size:17px!important;margin:0!important}.hub-chat-reaction-picker button:hover{background:#e9f2f6!important}

.hub-emoji-dialog{box-sizing:border-box;width:min(460px,calc(100% - 20px));max-height:80dvh;border:1px solid #d5e1e8;border-radius:24px;padding:20px;color:var(--ink,#183847);background:var(--surface,#fff);overflow:auto;overscroll-behavior:contain}.hub-emoji-dialog::backdrop{background:#10293866}.hub-emoji-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.hub-emoji-heading h2{font-size:18px}.hub-emoji-dialog button{min-width:44px;min-height:44px;cursor:pointer}.hub-emoji-heading button,.hub-emoji-grid button{border:0;border-radius:12px;background:#f1f6f8}.hub-emoji-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:6px}.hub-emoji-grid button{font-size:25px}.hub-emoji-custom{display:grid;gap:8px;margin:12px 0}.hub-emoji-custom input{min-width:0;width:100%;box-sizing:border-box;font-size:16px;padding:12px;border:1px solid #bdcfd8;border-radius:12px}.hub-emoji-custom small{font-size:12px}.hub-emoji-groups h3{font-size:13px;margin:18px 0 10px}.hub-emoji-error{color:#a02828}.mission-chat-reactions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mission-chat-reactions button{min-height:44px;border-radius:16px;border:1px solid #cfdee5;background:#fff;padding:6px 10px}.mission-chat-reactions button.selected{border-color:#157b87;background:#e2f3f4}

.hub-emoji-search-label{display:grid;gap:6px;margin-bottom:12px;font-size:14px}.hub-emoji-search{width:100%;box-sizing:border-box;min-width:0;padding:12px;border:1px solid #bdcfd8;border-radius:12px;font-size:16px}.hub-emoji-keyboard{margin:4px 0}.hub-emoji-grid button{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}

.hub-emoji-dialog{scrollbar-gutter:stable}.hub-emoji-dialog section,.hub-emoji-groups,.hub-emoji-grid{min-width:0}.hub-emoji-grid button{padding:4px;overflow:hidden}
.hub-emoji-option{display:flex;flex-direction:column;min-width:0;gap:2px}.hub-emoji-option>button{width:100%;touch-action:pan-y}.hub-emoji-option .hub-emoji-tone-trigger{font-size:14px;min-height:24px;height:24px}.hub-emoji-tones{padding:12px;background:#edf6fa;border-radius:16px;margin-bottom:16px}.hub-emoji-tones .hub-emoji-grid{margin-top:12px}.hub-emoji-tones>button{margin-bottom:6px}
