/* Nexus DT v17 — bulletproof groups freeze. */

/* ═══════════════════════════════════════════════════════════════
   Desktop layout — 3 плавающие панели (v1+)
   ═══════════════════════════════════════════════════════════════ */
@media (min-width:900px){
  #papp.page.active{ padding:12px !important; gap:12px; align-items:stretch !important; box-sizing:border-box; }
  #papp .ain,
  #papp.page.active .ain{
    border-radius:22px !important; border-right:none !important; border-left:none !important;
    overflow:hidden !important; height:calc(100vh - 24px) !important; max-height:calc(100vh - 24px) !important;
    box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 0 .5px rgba(255,255,255,.08) inset,
               0 1px 0 rgba(255,255,255,.14) inset, 0 -1px 0 rgba(0,0,0,.18) inset !important;
    position:relative;
  }
  #papp .ain #hch > .ah{ display:none !important; }
  #papp .ain #hch > .sb{
    position:relative !important; margin:14px !important; padding:0 14px 0 52px !important;
    height:44px !important; display:flex !important; align-items:center !important; gap:8px !important;
    border-radius:24px !important; background:rgba(255,255,255,.06) !important;
    backdrop-filter:blur(28px) saturate(180%) !important; -webkit-backdrop-filter:blur(28px) saturate(180%) !important;
    border:.5px solid rgba(255,255,255,.09) !important;
    box-shadow:0 0 0 .5px rgba(255,255,255,.06) inset, 0 1px 0 rgba(255,255,255,.1) inset,
               0 4px 14px rgba(0,0,0,.25) !important;
    transition:background .2s, border-color .2s, box-shadow .3s !important;
  }
  #papp .ain #hch > .sb:hover{ background:rgba(255,255,255,.08) !important; border-color:rgba(255,255,255,.14) !important; }
  #papp .ain #hch > .sb:focus-within{
    background:rgba(255,255,255,.1) !important; border-color:rgba(10,132,255,.55) !important;
    box-shadow:0 0 0 1px rgba(10,132,255,.35), 0 0 24px rgba(10,132,255,.2), 0 6px 20px rgba(0,0,0,.3) !important;
  }
  #papp .ain #hch > .sb > i:first-child{ color:rgba(255,255,255,.5) !important; font-size:13px !important; margin-left:0 !important; }
  #papp .ain #hch > .sb input{ flex:1 !important; font-size:14px !important; background:transparent !important;
    border:none !important; outline:none !important; color:#fff !important; padding:0 !important; min-width:0 !important; }
  #papp .ain #hch > .sb input::placeholder{ color:rgba(255,255,255,.35) !important; font-weight:400 !important; }
  #papp .ain #hch > .sb .scancel{ display:none !important; }
  .nx-dt-me{ display:none !important; }

  .dt-burger, #papp .ain .dt-burger{
    position:absolute !important; top:20px !important; left:20px !important;
    width:32px !important; height:32px !important; border-radius:10px !important;
    background:transparent !important; border:none !important; box-shadow:none !important;
    color:rgba(255,255,255,.78) !important; font-size:14px !important; z-index:30 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    cursor:pointer !important; transition:background .15s, color .15s !important;
  }
  #papp .ain .dt-burger:hover{ background:rgba(255,255,255,.1) !important; color:#fff !important; }
  #papp .ain .dt-burger:active{ transform:scale(.92); }
  .dt-drawer{ top:66px !important; left:26px !important; }

  #pchat.dt-inline{
    border-radius:22px !important; overflow:hidden !important;
    box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 0 .5px rgba(255,255,255,.08) inset,
               0 1px 0 rgba(255,255,255,.14) inset, 0 -1px 0 rgba(0,0,0,.18) inset !important;
    background:rgba(15,13,21,.4) !important;
    backdrop-filter:blur(40px) saturate(170%); -webkit-backdrop-filter:blur(40px) saturate(170%);
  }
  #pchat.dt-inline .chdr{
    border-top-left-radius:22px !important; border-top-right-radius:22px !important;
    padding:0 14px !important; height:60px !important; min-height:60px !important; gap:12px !important;
  }
  #pchat.dt-inline .cinp{ border-bottom-left-radius:22px; border-bottom-right-radius:22px; }
  .dt-workspace{ background:transparent !important; box-shadow:none !important; border-radius:22px; }

  #pchat.dt-inline .chdr::before{
    width:40px !important; height:40px !important; font-size:15px !important;
    box-shadow:0 2px 8px rgba(0,0,0,.3), 0 0 0 .5px rgba(255,255,255,.08) inset;
    background-size:cover !important; background-position:center center !important;
  }
  #pchat.dt-inline .chdr.nx-hdr-has-photo::before{
    color:transparent !important; text-shadow:none !important; font-size:0 !important;
  }
  #pchat.dt-inline .chdr-name{ font-size:15.5px !important; letter-spacing:-.2px !important; }
  #pchat.dt-inline .chdr-status{ font-size:12.5px !important; color:rgba(255,255,255,.55) !important; margin-top:2px !important; }
  #pchat.dt-inline .chdr .chdr-dots,
  #pchat.dt-inline .chdr #nxCallBtn,
  #pchat.dt-inline .chdr #nxChatSearchBtn{
    width:38px !important; height:38px !important; border-radius:50% !important;
    background:transparent !important; border:none !important; color:rgba(255,255,255,.72) !important;
    font-size:14px !important; margin:0 !important; padding:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    box-shadow:none !important; transition:background .15s, color .15s !important; flex-shrink:0 !important;
  }
  #pchat.dt-inline .chdr .chdr-dots:hover,
  #pchat.dt-inline .chdr #nxCallBtn:hover,
  #pchat.dt-inline .chdr #nxChatSearchBtn:hover{ background:rgba(255,255,255,.08) !important; color:#fff !important; }
  #pchat.dt-inline .chdr .chdr-dots:active,
  #pchat.dt-inline .chdr #nxCallBtn:active,
  #pchat.dt-inline .chdr #nxChatSearchBtn:active{ background:rgba(255,255,255,.12) !important; transform:scale(.92) !important; }

  .dt-profile-panel{
    border-radius:22px !important; border-left:none !important;
    height:calc(100vh - 24px) !important; max-height:calc(100vh - 24px) !important;
    overflow:hidden !important; background:rgba(15,13,21,.55) !important;
    backdrop-filter:blur(48px) saturate(180%) !important; -webkit-backdrop-filter:blur(48px) saturate(180%) !important;
    box-shadow:0 20px 60px rgba(0,0,0,.5), 0 0 0 .5px rgba(255,255,255,.08) inset,
               0 1px 0 rgba(255,255,255,.14) inset, 0 -1px 0 rgba(0,0,0,.18) inset !important;
    position:relative;
    animation:nxDtProfileIn .32s cubic-bezier(.32,1.12,.5,1) both !important;
  }
  @keyframes nxDtProfileIn{ from{transform:translateX(24px) scale(.98);opacity:0} to{transform:translateX(0) scale(1);opacity:1} }
  #ppv.dt-profile-mounted{ border-radius:0 !important; overflow-y:auto !important; overflow-x:hidden !important; background:transparent !important; }
  #ppv.dt-profile-mounted #pvbg{ border-radius:0 0 24px 24px !important; }
  #ppv.nx-dt-hidden{ visibility:hidden !important; }
  .dt-empty-pill{
    box-shadow:0 12px 40px rgba(0,0,0,.55), 0 0 0 .5px rgba(255,255,255,.12) inset,
               0 1px 0 rgba(255,255,255,.2) inset, 0 -1px 0 rgba(0,0,0,.2) inset !important;
  }
}

/* Skeleton loader (mobile+desktop) */
.nx-load-skeleton{ padding:60px 20px !important; text-align:center !important; animation:nxSkelFadeIn .18s ease-out both; }
.nx-load-skeleton i{ font-size:22px !important; color:rgba(255,255,255,.35) !important; animation:nxSkelSpin 1s linear infinite; }
@keyframes nxSkelFadeIn{ from{opacity:0} to{opacity:1} }
@keyframes nxSkelSpin{ to{transform:rotate(360deg)} }

/* MULTI-SELECT MODE (v3) */
#chatmsgs.nx-msel-active .msg{
  cursor:pointer !important; padding-left:44px !important;
  transition:padding-left .28s cubic-bezier(.32,.72,0,1), background .18s, transform .18s !important;
  position:relative;
}
#chatmsgs.nx-msel-active .msg::before{
  content:''; position:absolute; left:12px; top:50%;
  transform:translateY(-50%) scale(1); opacity:1;
  width:22px; height:22px; border-radius:50%;
  border:2px solid rgba(255,255,255,.4); background:transparent;
  transition:background .18s, border-color .18s, transform .22s cubic-bezier(.32,1.5,.5,1), opacity .18s;
  z-index:5; pointer-events:none;
}
#chatmsgs.nx-msel-active .msg.nx-msel::before{
  background:var(--blue,#0a84ff) !important; border-color:var(--blue,#0a84ff) !important;
  box-shadow:0 0 0 3px rgba(10,132,255,.2);
}
#chatmsgs.nx-msel-active .msg.nx-msel::after{
  content:'\f00c'; font-family:'Font Awesome 6 Free'; font-weight:900;
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:22px; height:22px; color:#fff; font-size:11px;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none; z-index:6;
  animation:nxMselCheck .2s cubic-bezier(.32,1.5,.5,1) both;
}
@keyframes nxMselCheck{ from{opacity:0;transform:translateY(-50%) scale(.3)} to{opacity:1;transform:translateY(-50%) scale(1)} }
#chatmsgs.nx-msel-active .msg.nx-msel{ background:rgba(10,132,255,.08) !important; border-radius:12px; }
#chatmsgs.nx-msel-active .msg-reactions, #chatmsgs.nx-msel-active .nx-msglink,
#chatmsgs.nx-msel-active .nx-media-img, #chatmsgs.nx-msel-active .nx-media-vid,
#chatmsgs.nx-msel-active .nx-file-card{ pointer-events:none !important; }
.nx-msel-bar{
  position:absolute; left:0; right:0; bottom:0; height:62px; padding:0 12px;
  display:flex; align-items:center; gap:6px;
  background:rgba(20,15,30,.88);
  backdrop-filter:blur(32px) saturate(180%); -webkit-backdrop-filter:blur(32px) saturate(180%);
  border-top:.5px solid rgba(255,255,255,.09);
  border-bottom-left-radius:22px; border-bottom-right-radius:22px;
  transform:translateY(100%); transition:transform .3s cubic-bezier(.32,.72,0,1);
  z-index:200; box-shadow:0 -6px 24px rgba(0,0,0,.35); font-family:inherit;
}
.nx-msel-bar.show{ transform:translateY(0); }
.nx-msel-btn{
  width:42px; height:42px; border-radius:50%; background:transparent; border:none;
  color:rgba(255,255,255,.78); font-size:15px; cursor:pointer;
  transition:background .15s, color .15s, transform .12s;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.nx-msel-btn:hover{ background:rgba(255,255,255,.1); color:#fff; }
.nx-msel-btn:active{ transform:scale(.9); }
.nx-msel-btn.nx-msel-danger{ color:rgba(255,120,120,.9); }
.nx-msel-btn.nx-msel-danger:hover{ background:rgba(255,80,80,.15); color:#ff6b6b; }
.nx-msel-btn:disabled{ opacity:.35; pointer-events:none; }
.nx-msel-count{ flex:1; color:#fff; font-size:15px; font-weight:600; margin-left:6px; letter-spacing:-.2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#pchat.nx-msel-active .cinp, #pchat.nx-msel-active .chinput-wrap{ visibility:hidden !important; pointer-events:none !important; }
#pchat.nx-msel-active .pinbar.show{ opacity:.3; pointer-events:none; }
.nx-msel-confirm{
  position:fixed; inset:0; z-index:9200; display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.5); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  animation:nxSkelFadeIn .18s ease-out both; font-family:inherit;
}
.nx-msel-confirm-card{
  width:min(380px, calc(100vw - 40px));
  background:rgba(28,28,30,.96); border:.5px solid rgba(255,255,255,.12); border-radius:18px;
  color:#fff; overflow:hidden;
  animation:nxMselPopIn .22s cubic-bezier(.32,1.2,.5,1) both;
}
@keyframes nxMselPopIn{ from{opacity:0;transform:scale(.92)} to{opacity:1;transform:scale(1)} }
.nx-msel-confirm-title{ padding:18px 18px 6px; font-size:17px; font-weight:700; text-align:center; }
.nx-msel-confirm-sub{ padding:0 18px 12px; font-size:13px; color:rgba(255,255,255,.55); text-align:center; }
.nx-msel-confirm-actions{ padding:6px 14px 14px; display:flex; flex-direction:column; gap:8px; }
.nx-msel-confirm-actions button{ padding:11px; border-radius:12px; border:none; color:#fff; cursor:pointer; font-size:14px; font-family:inherit; transition:opacity .15s, background .15s, transform .1s; }
.nx-msel-confirm-actions button:active{ transform:scale(.98); }
.nx-msel-confirm-actions .nx-cf-me{ background:rgba(255,255,255,.08); font-weight:500; }
.nx-msel-confirm-actions .nx-cf-all{ background:rgba(255,69,58,.85); font-weight:600; }
.nx-msel-confirm-actions .nx-cf-cancel{ background:transparent; color:var(--blue,#0a84ff); font-weight:500; }

/* ═══════════════════════════════════════════════════════════════
   [v4] FOC — новый OTP-экран (email code) с liquid-glass темой
   ═══════════════════════════════════════════════════════════════ */

/* Прячем старую разметку когда наш foc установлен */
#pemcod.foc-mounted .picon,
#pemcod.foc-mounted .ptitle,
#pemcod.foc-mounted .psub,
#pemcod.foc-mounted .cbs,
#pemcod.foc-mounted #emcDemo{
  display: none !important;
}

/* Root — центрируем и даём воздух */
.foc-root{
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 8px 20px 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
  animation: nxFocIn .32s cubic-bezier(.32,.72,0,1) both;
}
@keyframes nxFocIn{
  from{ opacity: 0; transform: translateY(12px) scale(.98); }
  to  { opacity: 1; transform: translateY(0)    scale(1);   }
}

/* Head */
.foc-head{ text-align: center; }
.foc-eyebrow{
  display: inline-block;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(168,85,247,.95);
  background: rgba(168,85,247,.1);
  border: .5px solid rgba(168,85,247,.25);
  border-radius: 999px;
  margin-bottom: 14px;
  box-shadow: 0 0 0 3px rgba(168,85,247,.05), 0 2px 10px rgba(168,85,247,.15);
}
.foc-title{
  font-size: 26px; font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
  letter-spacing: -.5px;
  line-height: 1.15;
}
.foc-sub{
  font-size: 14.5px;
  color: rgba(255,255,255,.55);
  margin: 0;
  line-height: 1.4;
}
.foc-sub b{ color: rgba(255,255,255,.85); font-weight: 600; }

/* Form */
.foc-form{ display: flex; flex-direction: column; align-items: center; gap: 16px; }

/* Boxes container */
.foc-boxes{
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
}

/* Ripple background circles — subtle liquid-glass depth */
.foc-ripple{
  position: absolute;
  width: 220px; height: 220px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(38px);
  opacity: .25;
  animation: nxFocRipple 6s ease-in-out infinite;
  background: radial-gradient(circle, rgba(168,85,247,.7) 0%, transparent 65%);
  left: 10%; top: 50%; transform: translateY(-50%);
}
.foc-ripple--blue{
  right: 10%; left: auto;
  background: radial-gradient(circle, rgba(10,132,255,.7) 0%, transparent 65%);
  animation-delay: -3s;
}
@keyframes nxFocRipple{
  0%,100%{ transform: translateY(-50%) scale(1); opacity: .18; }
  50%    { transform: translateY(-50%) scale(1.2); opacity: .35; }
}

/* Divider between digit 3 and 4 */
.foc-divider{
  width: 8px; height: 2px;
  background: rgba(255,255,255,.25);
  border-radius: 1px;
  margin: 0 2px;
  align-self: center;
  z-index: 1;
}

/* Individual box */
.foc-box{
  position: relative;
  width: 44px; height: 54px;
  border-radius: 12px;
  background: rgba(255,255,255,.05);
  border: 1.5px solid rgba(255,255,255,.09);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  box-shadow:
    0 4px 16px rgba(0,0,0,.2),
    0 0 0 .5px rgba(255,255,255,.05) inset,
    0 1px 0 rgba(255,255,255,.08) inset;
  transition:
    border-color .2s cubic-bezier(.32,.72,0,1),
    background .2s,
    box-shadow .3s,
    transform .18s cubic-bezier(.32,1.5,.5,1);
  z-index: 1;
}
.foc-box:hover{ background: rgba(255,255,255,.07); }

/* Focused box — glow ring + caret animates */
.foc-box.foc-focus{
  border-color: rgba(10,132,255,.7);
  background: rgba(10,132,255,.08);
  box-shadow:
    0 0 0 3px rgba(10,132,255,.15),
    0 0 32px rgba(10,132,255,.25),
    0 6px 20px rgba(0,0,0,.3),
    0 0 0 .5px rgba(255,255,255,.1) inset;
  transform: translateY(-1px);
}

/* Filled box — muted glow, kept its state */
.foc-box.foc-filled{
  border-color: rgba(168,85,247,.5);
  background: rgba(168,85,247,.08);
  box-shadow:
    0 0 0 .5px rgba(168,85,247,.25),
    0 4px 16px rgba(168,85,247,.15),
    0 0 0 .5px rgba(255,255,255,.08) inset;
}

/* The actual input inside each box — invisible, holds the digit */
.foc-input{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  background: transparent;
  border: none;
  outline: none;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  font-family: inherit;
  border-radius: 12px;
  padding: 0;
  caret-color: transparent;   /* мы рисуем свой каретка */
  letter-spacing: 0;
  -webkit-tap-highlight-color: transparent;
}
.foc-input::selection{ background: rgba(10,132,255,.3); }
.foc-input:focus{ outline: none; }
/* iOS zoom fix — минимум 16px в фокусе */
@media (max-width: 768px){
  .foc-input{ font-size: 20px; }
}

/* Caret — свой, мигающий */
.foc-caret{
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 2px; height: 20px;
  background: rgba(10,132,255,.9);
  border-radius: 1px;
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  box-shadow: 0 0 8px rgba(10,132,255,.6);
}
.foc-box.foc-focus:not(.foc-filled) .foc-caret{
  opacity: 1;
  animation: nxFocCaret 1s ease-in-out infinite;
}
@keyframes nxFocCaret{
  0%,45%{ opacity: 1; }
  50%,95%{ opacity: 0; }
  100%{ opacity: 1; }
}

/* Check icon в углу — УБРАНО в v5 (Дава попросил только цифры) */

/* Error state */
.foc-boxes.foc-error .foc-box{
  border-color: rgba(239,68,68,.7) !important;
  background: rgba(239,68,68,.08) !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.12) !important;
  animation: nxFocShake .42s cubic-bezier(.36,.07,.19,.97);
}
@keyframes nxFocShake{
  10%,90%{ transform: translateX(-2px); }
  20%,80%{ transform: translateX(4px); }
  30%,50%,70%{ transform: translateX(-6px); }
  40%,60%{ transform: translateX(6px); }
}

/* Success state — full row */
.foc-boxes.foc-success .foc-box{
  border-color: rgba(34,197,94,.7) !important;
  background: rgba(34,197,94,.1) !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.15), 0 0 32px rgba(34,197,94,.3) !important;
}

/* Locked state (rate limit) */
.foc-boxes.foc-locked .foc-box{ opacity: .4; }
.foc-boxes.foc-locked .foc-input{ pointer-events: none; }

/* Status pill */
.foc-status{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: .5px solid rgba(255,255,255,.08);
  font-size: 12.5px;
  color: rgba(255,255,255,.65);
  font-weight: 500;
  letter-spacing: .1px;
  transition: background .2s, color .2s, border-color .2s;
}
.foc-status-dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.35);
  transition: background .2s, box-shadow .2s;
}
.foc-status.foc-status--busy{
  color: rgba(10,132,255,.9);
  border-color: rgba(10,132,255,.25);
  background: rgba(10,132,255,.08);
}
.foc-status.foc-status--busy .foc-status-dot{
  background: #0a84ff;
  box-shadow: 0 0 8px rgba(10,132,255,.6);
  animation: nxFocDotPulse 1s ease-in-out infinite;
}
@keyframes nxFocDotPulse{
  0%,100%{ transform: scale(1); }
  50%    { transform: scale(1.4); }
}
.foc-status.foc-status--ok{
  color: rgba(34,197,94,1);
  border-color: rgba(34,197,94,.3);
  background: rgba(34,197,94,.08);
}
.foc-status.foc-status--ok .foc-status-dot{ background: #22c55e; box-shadow: 0 0 8px rgba(34,197,94,.6); }
.foc-status.foc-status--err{
  color: rgba(255,120,120,1);
  border-color: rgba(239,68,68,.3);
  background: rgba(239,68,68,.08);
}
.foc-status.foc-status--err .foc-status-dot{ background: #ef4444; box-shadow: 0 0 8px rgba(239,68,68,.6); }
.foc-status.foc-status--lock{
  color: rgba(250,204,21,1);
  border-color: rgba(250,204,21,.3);
  background: rgba(250,204,21,.08);
}
.foc-status.foc-status--lock .foc-status-dot{ background: #facc15; box-shadow: 0 0 8px rgba(250,204,21,.6); }

/* Hint */
.foc-hint{
  font-size: 12px;
  color: rgba(255,255,255,.35);
  margin: 4px 0 0;
  text-align: center;
}

/* ═══════════════════════════════════════════════════════════════
   [v7] SUPPORT — inline-кнопки бота + скрытие GDPR-кнопок
   ═══════════════════════════════════════════════════════════════ */
.sr.nx-gdpr-hidden{ display: none !important; }

.nx-sup-btns{
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 10px;
}
.nx-sup-btn{
  padding: 10px 14px;
  border-radius: 13px;
  border: .5px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  color: #fff;
  font-size: 13.5px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
  letter-spacing: -.1px;
  box-shadow:
    0 0 0 .5px rgba(255,255,255,.05) inset,
    0 1px 0 rgba(255,255,255,.08) inset,
    0 2px 10px rgba(0,0,0,.2);
  transition: background .15s, border-color .15s, transform .12s;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.nx-sup-btn:hover{
  background: rgba(168,85,247,.18);
  border-color: rgba(168,85,247,.4);
}
.nx-sup-btn:active{ transform: scale(.97); }
.nx-sup-btn.nx-sup-btn-used{
  opacity: .45;
  pointer-events: none;
}

/* Chip "Меню" в чате поддержки — плавает над композером */
.nx-sup-menu-chip{
  position: absolute;
  bottom: 74px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(28,22,40,.85);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: .5px solid rgba(168,85,247,.35);
  color: #fff;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  z-index: 60;
  box-shadow: 0 6px 20px rgba(0,0,0,.4), 0 0 0 .5px rgba(255,255,255,.06) inset;
  transition: background .15s, transform .12s;
  animation: nxSkelFadeIn .25s ease-out both;
}
.nx-sup-menu-chip:hover{ background: rgba(168,85,247,.3); }
.nx-sup-menu-chip:active{ transform: translateX(-50%) scale(.95); }


/* ═══════════════════════════════════════════════════════════════
   [v11] REPLY QUOTE — читаемая цитата в пузырях (Telegram-style)
   ═══════════════════════════════════════════════════════════════ */
.msg .msg-reply{
  border-left: 3px solid rgba(255,255,255,.85) !important;
  background: rgba(255,255,255,.14) !important;
  border-radius: 8px !important;
  padding: 5px 10px !important;
  margin-bottom: 6px !important;
  cursor: pointer;
  transition: background .15s;
  overflow: hidden;
}
.msg .msg-reply:hover{ background: rgba(255,255,255,.2) !important; }
.msg.msg-out .msg-reply{
  border-left-color: rgba(255,255,255,.9) !important;
  background: rgba(0,0,0,.18) !important;
}
.msg.msg-out .msg-reply:hover{ background: rgba(0,0,0,.26) !important; }
.msg .msg-reply .rauthor{
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  margin-bottom: 2px !important;
  opacity: .95;
}
.msg.msg-in .msg-reply .rauthor{ color: var(--blue, #c084fc) !important; }
.msg .msg-reply .rtext{
  color: rgba(255,255,255,.75) !important;
  font-size: 12.5px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 240px !important;
}

/* Reply-бар над композером — стеклянный, плавный въезд */
#replybar{
  transition: transform .28s cubic-bezier(.32,.72,0,1), opacity .22s !important;
}
#replybar.show{
  animation: nxReplyBarIn .28s cubic-bezier(.32,.72,0,1) both;
}
@keyframes nxReplyBarIn{
  from{ transform: translateY(12px); opacity: 0; }
  to  { transform: translateY(0);    opacity: 1; }
}

/* ═══════════════════════════════════════════════════════════════
   [v11] GOOGLE SIGN-IN — по центру на всех разрешениях
   ═══════════════════════════════════════════════════════════════ */
.nx-google-block{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}
.nx-google-block .nx-or-sep{ width: 100%; }
#nxGoogleBtn{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 auto !important;
}
#nxGoogleBtn > div{ margin: 0 auto !important; }
#nxGoogleFallback{
  display: flex;
  justify-content: center;
  width: 100%;
}
.nx-google-fallback{
  margin: 0 auto !important;
  transition: transform .15s, box-shadow .2s, background .15s !important;
}
.nx-google-fallback:hover{ transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.3); }
.nx-google-fallback:active{ transform: scale(.97); }

/* ═══════════════════════════════════════════════════════════════
   [v11] ПЛАВНОСТЬ ВЕЗДЕ — глобальные микро-анимации
   Только transition/animation — ничего функционального не трогаем.
   ═══════════════════════════════════════════════════════════════ */

/* Уважение reduce-motion */
@media (prefers-reduced-motion: reduce){
  .nx-anim-soft, .nx-anim-soft *{ transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Строки настроек / списков */
.sr{
  transition: background .16s ease, transform .14s ease !important;
}
.sr:hover{ background: rgba(255,255,255,.055) !important; }
.sr:active{ transform: scale(.985) !important; }

/* Элементы списка чатов */
.chitem{
  transition: background .16s ease, transform .12s ease !important;
}
.chitem:hover{ background: rgba(255,255,255,.05) !important; }
.chitem:active{ transform: scale(.985) !important; }

/* Кнопки — единый живой отклик */
.btnp, .bbtn, .ahb, .chdr-back, .chdr-dots, .att-x, .nex-back, .selbar-btn{
  transition: transform .13s cubic-bezier(.32,1.2,.5,1), background .16s ease, box-shadow .2s ease, opacity .16s !important;
}
.btnp:hover{ transform: translateY(-1px); box-shadow: 0 8px 22px rgba(168,85,247,.35) !important; }
.btnp:active{ transform: scale(.97) !important; }

/* Табы нижние */
.ti{ transition: transform .15s cubic-bezier(.32,1.4,.5,1), color .18s !important; }
.ti:active{ transform: scale(.9) !important; }
.ti .tw{ transition: transform .2s cubic-bezier(.32,1.5,.5,1) !important; }
.ti.active .tw{ transform: translateY(-1px) scale(1.08); }

/* Пузыри сообщений — hover-подсветка на десктопе */
@media (min-width:900px){
  .msg{ transition: filter .15s ease, transform .15s ease; }
  .msg:hover{ filter: brightness(1.06); }
}

/* Инпуты — плавный фокус-глоу */
input.nfld, .cinp input, .cinp textarea, textarea{
  transition: border-color .2s ease, box-shadow .25s ease, background .2s ease !important;
}
input.nfld:focus{
  border-color: rgba(10,132,255,.6) !important;
  box-shadow: 0 0 0 3px rgba(10,132,255,.14), 0 0 20px rgba(10,132,255,.12) !important;
}

/* Модалки-экшены (context menu rows) */
.actrow{
  transition: background .14s ease, transform .1s ease, padding-left .15s ease !important;
}
.actrow:hover{ background: rgba(255,255,255,.07) !important; padding-left: 18px !important; }
.actrow:active{ transform: scale(.98) !important; }

/* Аватары — микро-подъём */
.civ, .ci-av, .sava{ transition: transform .18s cubic-bezier(.32,1.4,.5,1) !important; }
.chitem:hover .civ{ transform: scale(1.05); }

/* Страницы — вход с лёгким подъёмом (класс уже есть — усиливаем плавность) */
.page.slide-up{ transition: transform .32s cubic-bezier(.32,.72,0,1), opacity .28s ease !important; }

/* Плавный скролл везде */
#chatmsgs, .ain, .dt-profile-panel, #ppv{ scroll-behavior: smooth; }

/* Красивый тонкий скроллбар на десктопе */
@media (min-width:900px){
  #chatmsgs::-webkit-scrollbar, .ain ::-webkit-scrollbar, #ppv::-webkit-scrollbar,
  .nxModalCard::-webkit-scrollbar{ width: 5px; }
  #chatmsgs::-webkit-scrollbar-thumb, .ain ::-webkit-scrollbar-thumb, #ppv::-webkit-scrollbar-thumb,
  .nxModalCard::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,.14); border-radius: 99px;
    transition: background .2s;
  }
  #chatmsgs::-webkit-scrollbar-thumb:hover{ background: rgba(255,255,255,.28); }
  #chatmsgs::-webkit-scrollbar-track{ background: transparent; }
}

/* Реакции — пружинка при наведении */
.msg-reaction{ transition: transform .16s cubic-bezier(.32,1.6,.5,1), background .15s !important; }
.msg-reaction:hover{ transform: scale(1.12); }
.msg-reaction:active{ transform: scale(.92); }

/* Toast — мягче */
.toast{ transition: transform .3s cubic-bezier(.32,1.2,.5,1), opacity .25s !important; }

/* Пилюля поиска чатов и sidebar-элементы */
.sb{ transition: background .2s, border-color .2s, box-shadow .3s !important; }

/* FAB — живой */
.dt-compose-fab{
  transition: transform .18s cubic-bezier(.32,1.5,.5,1), box-shadow .25s !important;
}
.dt-compose-fab:hover{ transform: scale(1.08) rotate(-4deg); box-shadow: 0 10px 30px rgba(168,85,247,.5) !important; }
.dt-compose-fab:active{ transform: scale(.92) !important; }

/* Drawer-строки */
.dt-drawer-row{ transition: background .15s, padding-left .18s !important; }
.dt-drawer-row:hover{ background: rgba(255,255,255,.07) !important; padding-left: 20px !important; }


/* ═══════════════════════════════════════════════════════════════
   [v12] IN-CHAT SEARCH — Telegram-style
   ═══════════════════════════════════════════════════════════════ */

/* Оверлей — заменяет хедер визуально, когда активен */
#pchat.nx-search-on .chdr{ visibility: hidden; }
#pchat.nx-search-on .pinbar{ opacity: .3; pointer-events: none; }

.nx-search-bar{
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 60px;
  min-height: 60px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(15,13,21,.92);
  backdrop-filter: blur(28px) saturate(180%);
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
  box-shadow: 0 4px 22px rgba(0,0,0,.25),
              0 0 0 .5px rgba(255,255,255,.08) inset;
  z-index: 40;
  transform: translateY(-100%);
  opacity: 0;
  transition: transform .3s cubic-bezier(.32,.72,0,1), opacity .22s;
}
.nx-search-bar.show{ transform: translateY(0); opacity: 1; }

.nx-search-av{
  width: 40px; height: 40px; border-radius: 50%;
  background-size: cover; background-position: center;
  border: 2px solid rgba(10,132,255,.55);
  box-shadow: 0 0 0 .5px rgba(255,255,255,.08) inset;
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 15px;
}

.nx-search-input-wrap{
  flex: 1;
  display: flex; align-items: center; gap: 10px;
  padding: 0 14px;
  height: 42px;
  border-radius: 21px;
  background: rgba(255,255,255,.06);
  border: .5px solid rgba(255,255,255,.09);
  transition: background .2s, border-color .2s, box-shadow .3s;
  min-width: 0;
}
.nx-search-input-wrap:focus-within{
  background: rgba(255,255,255,.1);
  border-color: rgba(10,132,255,.55);
  box-shadow: 0 0 0 1px rgba(10,132,255,.3), 0 0 20px rgba(10,132,255,.15);
}
.nx-search-input-wrap i{ color: rgba(255,255,255,.5); font-size: 13px; }
.nx-search-input{
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #fff;
  font-size: 14.5px;
  font-family: inherit;
  padding: 0;
  min-width: 0;
}
.nx-search-input::placeholder{ color: rgba(255,255,255,.35); }

.nx-search-close{
  width: 38px; height: 38px;
  border-radius: 50%;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, transform .12s, color .15s;
  flex-shrink: 0;
}
.nx-search-close:hover{ background: rgba(255,255,255,.08); color: #fff; }
.nx-search-close:active{ transform: scale(.9); }

/* Счётчик текущего/всего */
.nx-search-count{
  font-size: 12px;
  color: rgba(255,255,255,.55);
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  flex-shrink: 0;
  transition: opacity .2s;
}
.nx-search-count.hidden{ opacity: 0; pointer-events: none; }

/* Кнопки next/prev */
.nx-search-nav{
  display: flex; gap: 4px;
  flex-shrink: 0;
}
.nx-search-nav button{
  width: 32px; height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  color: rgba(255,255,255,.65);
  font-size: 13px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, transform .12s;
}
.nx-search-nav button:hover{ background: rgba(255,255,255,.08); color: #fff; }
.nx-search-nav button:active{ transform: scale(.9); }
.nx-search-nav button:disabled{ opacity: .3; pointer-events: none; }

/* Подсветка совпадений внутри пузыря */
mark.nx-search-hit{
  background: rgba(250,204,21,.35);
  color: #fff;
  border-radius: 3px;
  padding: 0 1px;
  box-shadow: 0 0 0 1px rgba(250,204,21,.25);
}
/* Активный (текущий) хит — ярче */
mark.nx-search-hit.nx-current{
  background: rgba(250,204,21,.75);
  color: #000;
  box-shadow: 0 0 0 1px rgba(250,204,21,.7), 0 0 12px rgba(250,204,21,.5);
  animation: nxSearchPulse 1.4s ease-in-out infinite;
}
@keyframes nxSearchPulse{
  0%,100%{ box-shadow: 0 0 0 1px rgba(250,204,21,.7), 0 0 12px rgba(250,204,21,.5); }
  50%    { box-shadow: 0 0 0 2px rgba(250,204,21,.9), 0 0 22px rgba(250,204,21,.8); }
}

/* Пузырь с активным хитом — лёгкий пульс */
.msg.nx-search-current{
  animation: nxSearchBubblePulse .8s ease-out;
}
@keyframes nxSearchBubblePulse{
  0%   { transform: scale(1); }
  50%  { transform: scale(1.02); filter: brightness(1.2); }
  100% { transform: scale(1); }
}

/* «Ничего не найдено» — пилюля по центру верха чата */
.nx-search-empty{
  position: absolute;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  padding: 12px 18px;
  border-radius: 14px;
  background: rgba(20,15,30,.88);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: .5px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.75);
  font-size: 13.5px;
  z-index: 39;
  text-align: center;
  line-height: 1.4;
  animation: nxSkelFadeIn .22s ease-out both;
  max-width: 82%;
  box-shadow: 0 8px 24px rgba(0,0,0,.4);
}
.nx-search-empty b{ color: #fff; font-weight: 700; }


/* ═══════════════════════════════════════════════════════════════
   [v15] AGE GATE — чекбокс подтверждения 16+ при регистрации (GDPR ст.8)
   ═══════════════════════════════════════════════════════════════ */
.nx-age-gate{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 2px 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: .5px solid rgba(255,255,255,.09);
  cursor: pointer;
  user-select: none;
  transition: background .15s, border-color .15s;
  text-align: left;
}
.nx-age-gate:hover{ background: rgba(255,255,255,.06); }
.nx-age-gate.nx-age-on{ border-color: rgba(10,132,255,.4); background: rgba(10,132,255,.06); }
.nx-age-box{
  flex-shrink: 0;
  width: 22px; height: 22px;
  border-radius: 7px;
  border: 2px solid rgba(255,255,255,.3);
  display: flex; align-items: center; justify-content: center;
  transition: background .18s, border-color .18s, transform .15s;
  margin-top: 1px;
}
.nx-age-gate.nx-age-on .nx-age-box{
  background: var(--blue, #0a84ff);
  border-color: var(--blue, #0a84ff);
  transform: scale(1.05);
}
.nx-age-box i{ color: #fff; font-size: 12px; opacity: 0; transition: opacity .15s; }
.nx-age-gate.nx-age-on .nx-age-box i{ opacity: 1; }
.nx-age-text{
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255,255,255,.7);
}
.nx-age-text a{ color: var(--blue, #7cc0ff); text-decoration: none; }
.nx-age-text a:hover{ text-decoration: underline; }


/* ═══════════════════════════════════════════════════════════════
   [v17] GROUPS 2.0 — вкладки, участники, настройки, журнал, QR
   ═══════════════════════════════════════════════════════════════ */
.nxg2-tabs{
  display: flex; gap: 4px; padding: 4px;
  margin: 0 16px 8px;
  background: rgba(255,255,255,.04);
  border-radius: 14px;
  border: .5px solid var(--sep, rgba(255,255,255,.08));
}
.nxg2-tab{
  flex: 1; padding: 9px 6px; border: none; border-radius: 11px;
  background: transparent; color: rgba(255,255,255,.55);
  font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: inherit;
  transition: background .18s, color .18s, transform .12s;
}
.nxg2-tab:hover{ color: #fff; }
.nxg2-tab.active{
  background: rgba(168,85,247,.22); color: #fff;
  box-shadow: 0 2px 10px rgba(168,85,247,.2);
}
.nxg2-tab:active{ transform: scale(.96); }
.nxg2-pane{ padding: 4px 16px 20px; animation: nxg2Fade .22s ease both; }
@keyframes nxg2Fade{ from{ opacity:0; transform: translateY(6px); } to{ opacity:1; transform: translateY(0); } }

/* Stats grid */
.nxg2-stats{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.nxg2-stat{
  padding: 14px; border-radius: 14px;
  background: rgba(255,255,255,.045);
  border: .5px solid var(--sep, rgba(255,255,255,.08));
  text-align: center;
}
.nxg2-stat-num{ font-size: 24px; font-weight: 800; letter-spacing: -.5px;
  background: linear-gradient(135deg,#c084fc,#7c3aed); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.nxg2-stat-lbl{ font-size: 11.5px; color: rgba(255,255,255,.5); margin-top: 3px; }

/* Setting rows */
.nxg2-set{
  display: flex; align-items: center; gap: 12px;
  padding: 13px 14px; margin-bottom: 8px;
  border-radius: 13px; background: rgba(255,255,255,.045);
  border: .5px solid var(--sep, rgba(255,255,255,.08));
  transition: background .15s;
}
.nxg2-set:hover{ background: rgba(255,255,255,.06); }
.nxg2-set-ic{ width: 34px; height: 34px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 14px; }
.nxg2-set-body{ flex: 1; min-width: 0; }
.nxg2-set-title{ font-size: 14px; font-weight: 600; }
.nxg2-set-sub{ font-size: 12px; color: rgba(255,255,255,.5); margin-top: 1px; }
.nxg2-set input[type=text], .nxg2-set textarea, .nxg2-input{
  width: 100%; padding: 10px 12px; border-radius: 10px;
  background: rgba(255,255,255,.05); border: .5px solid var(--sep, rgba(255,255,255,.1));
  color: #fff; font-family: inherit; font-size: 14px; outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.nxg2-input:focus{ border-color: rgba(10,132,255,.5); box-shadow: 0 0 0 3px rgba(10,132,255,.12); }

/* Toggle switch */
.nxg2-switch{ position: relative; width: 44px; height: 26px; flex-shrink: 0; cursor: pointer; }
.nxg2-switch input{ display: none; }
.nxg2-switch-track{
  position: absolute; inset: 0; border-radius: 999px;
  background: rgba(255,255,255,.15); transition: background .22s;
}
.nxg2-switch-thumb{
  position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
  border-radius: 50%; background: #fff; transition: transform .24s cubic-bezier(.32,1.4,.5,1);
  box-shadow: 0 2px 6px rgba(0,0,0,.3);
}
.nxg2-switch input:checked + .nxg2-switch-track{ background: var(--blue,#0a84ff); }
.nxg2-switch input:checked + .nxg2-switch-track + .nxg2-switch-thumb{ transform: translateX(18px); }

/* Segmented control (slow mode) */
.nxg2-seg{ display: flex; gap: 4px; flex-wrap: wrap; margin-top: 8px; }
.nxg2-seg button{
  padding: 7px 12px; border: none; border-radius: 9px; cursor: pointer; font-family: inherit;
  font-size: 12.5px; font-weight: 600; background: rgba(255,255,255,.06); color: rgba(255,255,255,.6);
  transition: background .15s, color .15s;
}
.nxg2-seg button.active{ background: rgba(168,85,247,.3); color: #fff; }

/* Invite link card */
.nxg2-invite{
  padding: 13px; border-radius: 13px; margin-bottom: 8px;
  background: rgba(255,255,255,.045); border: .5px solid var(--sep, rgba(255,255,255,.08));
}
.nxg2-invite-url{
  font-family: ui-monospace, monospace; font-size: 12px; color: #7cc0ff;
  word-break: break-all; margin-bottom: 8px;
}
.nxg2-invite-meta{ font-size: 11px; color: rgba(255,255,255,.45); margin-bottom: 8px; }
.nxg2-invite-actions{ display: flex; gap: 6px; }
.nxg2-btn{
  padding: 8px 13px; border: none; border-radius: 9px; cursor: pointer; font-family: inherit;
  font-size: 12.5px; font-weight: 600; transition: background .15s, transform .12s;
}
.nxg2-btn:active{ transform: scale(.96); }
.nxg2-btn-primary{ background: linear-gradient(135deg,#a855f7,#7c3aed); color: #fff; }
.nxg2-btn-ghost{ background: rgba(255,255,255,.08); color: #fff; }
.nxg2-btn-danger{ background: rgba(255,69,58,.85); color: #fff; }

/* QR modal */
.nxg2-qr-modal{
  position: fixed; inset: 0; z-index: 10100; display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.6); backdrop-filter: blur(10px); animation: nxg2Fade .2s ease;
}
.nxg2-qr-card{
  background: #fff; padding: 24px; border-radius: 22px; text-align: center;
  animation: nxMselPopIn .28s cubic-bezier(.32,1.3,.5,1) both;
}
.nxg2-qr-card img, .nxg2-qr-card canvas{ display: block; border-radius: 10px; }
.nxg2-qr-title{ color: #1a1a2e; font-weight: 700; margin-top: 14px; font-size: 14px; }

/* Member row with actions */
.nxg2-mrow{
  display: flex; align-items: center; gap: 11px; padding: 10px 4px;
  border-bottom: .5px solid var(--sep, rgba(255,255,255,.06)); cursor: pointer;
  transition: background .14s; border-radius: 8px;
}
.nxg2-mrow:hover{ background: rgba(255,255,255,.04); }
.nxg2-mav{ width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-weight: 700; color: #fff; background-size: cover; background-position: center; }
.nxg2-role-pill{ font-size: 10.5px; font-weight: 700; padding: 2px 8px; border-radius: 20px; }
.nxg2-role-owner{ background: rgba(250,204,21,.2); color: #fde047; }
.nxg2-role-admin{ background: rgba(168,85,247,.25); color: #c084fc; }
.nxg2-role-moderator{ background: rgba(10,132,255,.22); color: #7cc0ff; }
.nxg2-muted{ font-size: 10.5px; color: #ff8181; }

/* Log entries */
.nxg2-log{ padding: 9px 12px; border-radius: 10px; background: rgba(255,255,255,.04); margin-bottom: 6px; font-size: 12.5px; }
.nxg2-log-act{ font-weight: 600; color: #fff; }
.nxg2-log-meta{ font-size: 11px; color: rgba(255,255,255,.45); margin-top: 2px; }


/* ═══════════════════════════════════════════════════════════════
   [v17] FREEZE GROUPS/CHANNELS — полностью скрываем UI
   ═══════════════════════════════════════════════════════════════ */
/* Скрываем кнопки создания групп и каналов в модалке New Chat */
#ncmNewGroup, #ncmNewChannel{ display: none !important; }
/* Родительские .cni контейнеры кнопок создания группы/канала */
.cni:has(#ncmNewGroup), .cni:has(#ncmNewChannel){ display: none !important; }
/* Скрываем страницы создания группы */
#pgrp, #pgrpSet, #pgrpPerm, #pgrpLink, #pgrpNewLink{ display: none !important; }
/* Скрываем группы и каналы в чатлисте — обёртка id="ciw_gN" */
#chatlist > [id^="ciw_g"]{ display: none !important; }
[id^="ciw_g"]{ display: none !important; }
/* Скрываем кнопку создания группы на мобильном FAB */
[onclick*="nxOpenCreateGroup"]{ display: none !important; }
/* Скрываем вкладки Groups 2.0 если вдруг остались */
.nxg2-tabs, #nxG2Root{ display: none !important; }