/* Social Hub — chat unificado (lateral direita + caixas no rodapé), feed unificado, publicação e Central de Lives. */
:root{--chat-w:272px;--net-bluesky:#1185fe;--net-mastodon:#6364ff;--net-x:#111;--net-threads:#111;--net-instagram:#d62976;--net-facebook:#1877f2;--net-youtube:#ff0000;--net-twitch:#9146ff;--net-tiktok:#25f4ee;--net-linkedin:#0a66c2;--net-telegram:#229ed9;--net-discord:#5865f2;--net-kick:#53fc18;--net-whatsapp:#25d366}
[data-theme=dark]{--net-x:#e5e9f2;--net-threads:#e5e9f2}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:var(--c-muted);vertical-align:middle;flex:none}
.dot.bluesky{background:var(--net-bluesky)}.dot.mastodon{background:var(--net-mastodon)}.dot.x{background:var(--net-x)}.dot.threads{background:var(--net-threads)}.dot.instagram{background:var(--net-instagram)}.dot.facebook{background:var(--net-facebook)}.dot.youtube{background:var(--net-youtube)}.dot.twitch{background:var(--net-twitch)}.dot.tiktok{background:var(--net-tiktok)}.dot.linkedin{background:var(--net-linkedin)}.dot.telegram{background:var(--net-telegram)}.dot.discord{background:var(--net-discord)}.dot.kick{background:var(--net-kick)}.dot.whatsapp{background:var(--net-whatsapp)}
.btn.sm{padding:3px 8px;font-size:.8rem}

/* ---------------------------------------------- Chat: lateral direita fixa */
body.has-chat .app{margin-right:var(--chat-w)}
#chatRail{position:fixed;top:0;right:0;width:var(--chat-w);height:100vh;background:var(--c-surface);border-left:1px solid var(--c-border);display:flex;flex-direction:column;z-index:15}
.cr-head{display:flex;align-items:center;gap:6px;height:var(--header-h);padding:0 10px;border-bottom:1px solid var(--c-border);flex:none}
.cr-sp{flex:1}.cr-close{display:none}
.cr-search{padding:8px 10px;flex:none}.cr-search input{width:100%}
.cr-list{flex:1;overflow-y:auto;padding:0 6px}
.cr-empty{padding:10px;font-size:.85rem}
.cr-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.cr-item:hover,.cr-item:focus-visible{background:var(--c-bg)}
.cr-item.unread .cr-name{font-weight:700}
.cr-av{width:34px;height:34px;border-radius:50%;flex:none;object-fit:cover;background:var(--c-primary);color:var(--c-on-primary);display:grid;place-items:center;font-size:.75rem;font-weight:700}
.cr-txt{flex:1;min-width:0;display:flex;flex-direction:column}
.cr-name,.cr-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cr-name{font-size:.9rem}.cr-sub{font-size:.75rem;color:var(--c-muted)}
.cr-foot{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--c-border);font-size:.8rem;flex:none}
#chatFab{display:none}

/* ------------------------------------------------- Chat: caixas no rodapé */
#chatDock{position:fixed;bottom:0;right:calc(var(--chat-w) + 12px);display:flex;flex-direction:row-reverse;align-items:flex-end;gap:10px;z-index:16;pointer-events:none}
.chatbox{pointer-events:auto;width:300px;height:400px;display:flex;flex-direction:column;background:var(--c-surface);border:1px solid var(--c-border);border-bottom:0;border-radius:10px 10px 0 0;box-shadow:0 6px 24px rgba(15,23,42,.2)}
.chatbox.min{height:auto}.chatbox.min .cb-body{display:none}
.cb-h{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 10px;background:var(--c-primary);color:var(--c-on-primary);border-radius:10px 10px 0 0;cursor:pointer;flex:none}
.cb-who{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.cb-who .cr-av{width:28px;height:28px;background:var(--c-on-primary);color:var(--c-primary)}
.cb-who>span:last-child{display:flex;flex-direction:column;min-width:0}.cb-who strong,.cb-who small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cb-who small{font-size:.72rem;opacity:.9}
.cb-btn{background:none;border:0;color:inherit;font-size:1.1rem;line-height:1;width:28px;height:28px;border-radius:6px;cursor:pointer}.cb-btn:hover{background:rgba(255,255,255,.18)}
.cb-body{flex:1;display:flex;flex-direction:column;min-height:0}
.cb-msgs{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px}
.cb-note{font-size:.82rem;text-align:center;margin:auto 0}
.cb-msg{max-width:82%;padding:6px 10px;border-radius:14px;background:var(--c-bg);border:1px solid var(--c-border);white-space:pre-wrap;word-break:break-word;font-size:.9rem;align-self:flex-start}
.cb-msg.out{align-self:flex-end;background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}
.cb-msg.failed{opacity:.8;border-style:dashed}.cb-msg.out .errtxt{color:inherit;font-weight:600}
.cb-form{display:flex;gap:6px;padding:8px;border-top:1px solid var(--c-border);flex:none}.cb-form textarea{flex:1;resize:none;min-height:36px;max-height:90px}

/* Telas médias (701–1200px): o chat continua SEMPRE visível como uma faixa estreita de contatos (avatares);
   "»" abre a lista completa por cima. Só no celular (até 700px) ele vira o botão flutuante. */
.cr-expand{display:none}
@media(min-width:701px) and (max-width:1200px){
  :root{--chat-w-c:64px}
  body.has-chat .app{margin-right:var(--chat-w-c)}
  #chatRail{width:var(--chat-w-c);transition:width .18s,box-shadow .18s;z-index:30}
  body:not(.chat-open) #chatRail .cr-head{flex-direction:column;justify-content:center;gap:4px;padding:4px}
  body:not(.chat-open) #chatRail .cr-head>strong,body:not(.chat-open) #chatRail .cr-sp,body:not(.chat-open) #chatRail #crSync,body:not(.chat-open) #chatRail #crNew,body:not(.chat-open) #chatRail .cr-search,body:not(.chat-open) #chatRail .cr-foot,body:not(.chat-open) #chatRail .cr-txt,body:not(.chat-open) #chatRail .cr-item>small,body:not(.chat-open) #chatRail .cr-empty{display:none}
  body:not(.chat-open) #chatRail .cr-item{justify-content:center;padding:6px 0;position:relative}
  body:not(.chat-open) #chatRail .cr-item>.pill{position:absolute;top:2px;right:6px;font-size:.62rem;padding:0 5px}
  body:not(.chat-open) #chatRail .cr-list{padding:4px}
  .cr-expand{display:inline-flex}
  body.chat-open #chatRail{width:var(--chat-w);box-shadow:-8px 0 24px rgba(15,23,42,.2)}
  body.chat-open .cr-close{display:inline-flex}body.chat-open .cr-expand{display:none}
  #chatDock{right:calc(var(--chat-w-c) + 10px)}
}
@media(max-width:700px){
  body.has-chat .app{margin-right:0}
  #chatRail{transform:translateX(100%);transition:transform .2s;box-shadow:-8px 0 24px rgba(15,23,42,.2);z-index:30}
  body.chat-open #chatRail{transform:none}.cr-close{display:inline-flex}
  #chatFab{display:inline-flex;position:fixed;right:16px;bottom:16px;z-index:17;box-shadow:0 4px 14px rgba(15,23,42,.25)}
  #chatDock{right:12px;bottom:64px}
}
@media(max-width:700px){#chatDock .chatbox:not(:first-child){display:none}.chatbox{width:calc(100vw - 24px);height:60vh}}

/* --------------------------------------------------------- Feed unificado */
.fcard .fmeta{flex:1;min-width:0}.fcard .ftext,.pv .ftext{white-space:pre-wrap;word-break:break-word}
.fcard .acts .btn{font-size:.85rem;padding:5px 10px}
.fcard .fcomments{border-top:1px solid var(--c-border);margin-top:10px;padding-top:8px}.fcard .fc{padding:6px 0;border-bottom:1px dashed var(--c-border)}.fcard .fc p{margin:2px 0}
.chips .btn{font-size:.85rem}
.share-opts{display:grid;gap:8px}
details.blockers summary{cursor:pointer;font-weight:600}

/* --------------------------------------------------------- Publicação */
.acc.all{border-bottom:1px solid var(--c-border);padding-bottom:6px;margin-bottom:6px}
.acc.off{color:var(--c-muted)}.acc .why-off{font-size:.78rem}
.pv.off{opacity:.65}

/* --------------------------------------------------------- Lives */
.studio{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:var(--gap);align-items:start}
.studio #ctl{display:grid;gap:var(--gap)}
.preview video{width:100%;aspect-ratio:16/9;background:#000;border-radius:8px}
.lchat{display:flex;flex-direction:column;max-height:80vh;position:sticky;top:calc(var(--header-h) + 12px)}
.lc-h{display:flex;align-items:center;gap:8px;justify-content:space-between}.lc-h h2{margin:0}
.lc-msgs{flex:1;min-height:280px;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin:10px 0}
.lc-msg{padding:6px 8px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg)}.lc-msg p{margin:2px 0;white-space:pre-wrap;word-break:break-word}.lc-msg.out{border-color:var(--c-primary)}
.lc-form{display:flex;flex-wrap:wrap;gap:6px}.lc-form input{flex:1;min-width:140px}
@media(max-width:1000px){.studio{grid-template-columns:1fr}.lchat{position:static}}

/* Com o chat na lateral direita o cabeçalho perde 272px: recolhe título, seletor de conta e busca mais cedo (acima de 1200px; abaixo disso o chat vira botão). */
@media(min-width:701px) and (max-width:1732px){body.has-chat #header #acc{display:none}}
@media(min-width:701px) and (max-width:1600px){body.has-chat .header-heading{display:none}body.has-chat #header .search{flex:1 1 200px;max-width:240px}body.has-chat #header #org{max-width:180px}}
@media(min-width:701px) and (max-width:1340px){body.has-chat #header .search{display:none}}

/* ------------------------------------------------ Redes da Meta (meta.js) */
#sidebar .nav details.netgroup>summary{cursor:pointer;display:flex;align-items:center;gap:6px}
#sidebar .nav details.netgroup>summary::after{content:"▸";margin-left:auto;font-size:11px;transition:transform .15s}
#sidebar .nav details.netgroup[open]>summary::after{transform:rotate(90deg)}
#sidebar .nav details.netgroup a{min-height:36px;padding-top:8px;padding-bottom:8px}
body.collapsed #sidebar .nav details.netgroup>summary::after{display:none}
.mt-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.mt-tabs a{padding:5px 11px;border:1px solid var(--c-border);border-radius:999px;font-size:.85rem;color:inherit;text-decoration:none;background:var(--c-surface)}
.mt-tabs a[aria-current=page]{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary);font-weight:600}
.mt-fh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-start}.mt-fh h2{margin:0 0 4px}
.mt-accbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0}.mt-accbar select{max-width:100%}
.mt-warn{border:1px solid #f0c36d;background:rgba(240,195,109,.12);border-radius:10px;padding:10px 14px;margin:10px 0}
.mt-warn p{margin:4px 0}.mt-warn code{word-break:break-word}
.mt-fh .actions:empty{display:none}.mt-fh p{margin:0}
.mt-filters{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:flex-end;margin:6px 0 10px}.mt-filters p{margin:0;min-width:180px;flex:0 1 300px}.mt-filters select,.mt-filters input{width:100%}.mt-filters .actions{margin:0 0 4px}
.mt-subtabs{display:flex;gap:6px;margin:6px 0 10px}
.mt-form{margin:10px 0;padding:10px 14px}.mt-form>summary{cursor:pointer;font-weight:600}
.mt-table td{vertical-align:top}.mt-table .t-num{text-align:right;white-space:nowrap}.mt-table .t-date{white-space:nowrap}
.mt-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;display:block}
.mt-acts{white-space:nowrap}.mt-acts .btn{margin:0 4px 4px 0}
.mt-detail{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.mt-avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none}
.mt-kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 16px;margin:0;flex:1;min-width:240px}
.mt-kv dt{color:var(--c-muted);font-size:.85rem}.mt-kv dd{margin:0;white-space:pre-wrap;word-break:break-word}
.mt-code{font-family:ui-monospace,Consolas,monospace;font-size:.8rem}
.mt-notes{margin-top:10px}.oktxt{color:#127a4a;font-weight:600}
@media(max-width:700px){.mt-kv{grid-template-columns:1fr}.mt-acts{white-space:normal}}
.live-meta,.live-other{margin:6px 0 10px}.live-meta h3,.live-other h3{font-size:.95rem;margin:8px 0 4px;display:flex;align-items:center;gap:4px}

/* ------------------------------------------- Chat: abas Atendimento / Lives */
.cr-tabs{display:flex;gap:2px;min-width:0}
.cr-tab{border:0;background:none;color:var(--c-muted);font:inherit;font-weight:600;font-size:.88rem;padding:6px 8px;border-radius:8px;cursor:pointer;white-space:nowrap}
.cr-tab.on{color:var(--c-text);background:var(--c-bg)}.cr-tab .pill{margin-left:2px}
.cr-pane{flex:1;display:flex;flex-direction:column;min-height:0}
#chatRail[data-tab=live] #crDm,#chatRail:not([data-tab=live]) #crLive{display:none}
#chatRail[data-tab=live] #crSync,#chatRail[data-tab=live] #crNew{display:none}
.cr-nets{display:flex;flex-wrap:wrap;gap:4px;padding:0 10px 8px}
.cr-net{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--c-border);background:var(--c-surface);color:inherit;font:inherit;font-size:.74rem;padding:2px 8px;border-radius:999px;cursor:pointer}
.cr-net.on{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.cr-net small{opacity:.75}
.cl-top{display:flex;gap:6px;padding:8px 10px;flex:none}.cl-top select{flex:1;min-width:0}
.cl-msgs{flex:1;overflow-y:auto;padding:0 10px;display:flex;flex-direction:column;gap:6px}
.cl-msg{border:1px solid var(--c-border);border-radius:10px;padding:6px 8px;font-size:.85rem;background:var(--c-surface)}
.cl-msg.out{background:var(--c-bg)}.cl-msg p{margin:2px 0 0;white-space:pre-wrap;word-break:break-word}
.cl-net{font-size:.7rem;color:var(--c-muted)}
.cl-form{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-top:1px solid var(--c-border);flex:none}
.cl-row{display:flex;gap:6px}.cl-row input{flex:1;min-width:0}
@media(min-width:701px) and (max-width:1200px){
  body:not(.chat-open) #chatRail .cr-tabs,body:not(.chat-open) #chatRail .cr-nets,body:not(.chat-open) #chatRail #crLive{display:none}
  body:not(.chat-open) #chatRail #crDm{display:flex}
}/* No chat, "hidden" sempre esconde (contadores zerados, resposta da live sem live no ar). */
#chatRail [hidden],#chatDock [hidden],#chatFab [hidden]{display:none!important}
