/* ============================================================
   CHAT — DUELISTAS DO MILÊNIO
   Global + Privado + Notificações no Perfil
   ============================================================ */

#chatGlobalRaiz {
    position: fixed;
    right: 22px;
    bottom: 20px;
    z-index: 2147482000;
    font-family: "Times New Roman", Times, serif;
}

.chat-global-botao {
    position: relative;
    width: 58px;
    height: 58px;
    border: 1px solid rgba(255,216,90,.72);
    border-radius: 50%;
    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(72,116,205,.96),
            rgba(11,27,65,.98) 56%,
            rgba(4,8,22,1)
        );
    color: #fff3b0;
    box-shadow:
        0 0 0 2px rgba(150,105,22,.28),
        0 8px 30px rgba(0,0,0,.55),
        0 0 22px rgba(78,117,255,.32);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: .18s ease;
}

.chat-global-botao:hover {
    transform: translateY(-2px) scale(1.03);
}

.chat-global-botao.deslogado {
    opacity: .58;
    filter: grayscale(.3);
}

.chat-global-botao-icone {
    font-size: 25px;
    line-height: 1;
}

.chat-global-badge,
.chat-privado-badge {
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #dc3545;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 3px 10px rgba(0,0,0,.5);
}

.chat-global-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    border: 2px solid #081126;
}

.chat-privado-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
}

.chat-global-painel {
    position: absolute;
    right: 0;
    bottom: 72px;
    width: 390px;
    height: min(560px, calc(100vh - 115px));
    max-height: 560px;
    min-height: 390px;
    border: 1px solid rgba(222,177,68,.58);
    border-radius: 16px;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            rgba(13,27,61,.99),
            rgba(4,10,27,.995)
        );
    color: #edf4ff;
    box-shadow:
        0 22px 55px rgba(0,0,0,.72),
        inset 0 0 30px rgba(72,116,205,.07);
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px) scale(.97);
    transform-origin: bottom right;
    transition: .18s ease;
}

.chat-global-painel.aberto {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}

.chat-global-cabecalho {
    min-height: 64px;
    padding: 10px 12px 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background:
        linear-gradient(
            90deg,
            rgba(30,61,126,.92),
            rgba(12,25,59,.97)
        );
    border-bottom: 1px solid rgba(227,183,72,.4);
}

.chat-global-titulo {
    color: #ffe28a;
    font-size: 16px;
    font-weight: 800;
}

.chat-global-subtitulo {
    margin-top: 2px;
    color: #91a9d7;
    font-size: 11px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.chat-global-online-separador {
    color: rgba(255,226,138,.45);
}

.chat-global-online {
    color: #78d79d;
    font-weight: 700;
}

.chat-global-fechar {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 9px;
    background: rgba(255,255,255,.06);
    color: #dce7ff;
    font-size: 26px;
    cursor: pointer;
}

.chat-global-abas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid rgba(220,180,73,.18);
    background: rgba(4,10,25,.72);
}

.chat-global-aba {
    min-height: 40px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #8096c1;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.chat-global-aba.ativo {
    color: #ffe28a;
    border-bottom-color: #d2a93f;
    background: rgba(61,88,146,.18);
}

.chat-global-aviso {
    margin: 7px 9px 0;
    padding: 7px 9px;
    border-radius: 8px;
    background: rgba(53,87,148,.15);
    color: #a8c1ee;
    font-size: 11px;
    text-align: center;
}

.chat-global-aviso[hidden] {
    display: none;
}

.chat-global-aviso.erro {
    background: rgba(185,52,67,.15);
    color: #ffadb6;
}

.chat-painel-aba {
    display: none;
    flex: 1;
    min-height: 0;
    flex-direction: column;
}

.chat-painel-aba.ativo {
    display: flex;
}

.chat-global-carregar-mais {
    align-self: center;
    margin: 7px 0 0;
    padding: 5px 11px;
    border: 1px solid rgba(146,173,226,.25);
    border-radius: 999px;
    background: rgba(49,77,130,.19);
    color: #a9bfe8;
    font-size: 10px;
    cursor: pointer;
}

.chat-global-mensagens {
    flex: 1;
    min-height: 0;
    padding: 10px 10px 12px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color:
        rgba(100,128,183,.45)
        transparent;
}

.chat-global-msg {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0 0 10px;
}

.chat-global-msg.propria {
    flex-direction: row-reverse;
}

.chat-global-avatar,
.chat-privado-avatar,
.perfil-mensagem-avatar {
    overflow: hidden;
    display: grid;
    place-items: center;
    background:
        linear-gradient(
            145deg,
            rgba(56,89,157,.76),
            rgba(13,29,65,.92)
        );
    color: #ffe394;
    font-weight: 800;
    border: 1px solid rgba(221,180,73,.42);
}

.chat-global-avatar {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 13px;
}

.chat-global-avatar img,
.chat-privado-avatar img,
.perfil-mensagem-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.chat-global-msg-corpo {
    min-width: 0;
    max-width: calc(100% - 44px);
}

.chat-global-msg-meta {
    display: flex;
    align-items: baseline;
    gap: 5px;
    min-width: 0;
    margin: 0 0 3px;
}

.chat-global-msg.propria .chat-global-msg-meta {
    justify-content: flex-end;
}

.chat-global-nick {
    max-width: 165px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #e6c76f;
    font-size: 11px;
    font-weight: 800;
}

.chat-global-nick.clicavel {
    cursor: pointer;
    text-decoration: underline;
    text-decoration-color: rgba(230,199,111,.25);
}

.chat-global-nick.clicavel:hover {
    color: #fff0ac;
}

.chat-global-nivel {
    flex: 0 0 auto;
    padding: 1px 4px;
    border-radius: 4px;
    background: rgba(79,112,178,.22);
    color: #91b0ea;
    font-size: 8px;
    font-weight: 700;
}

.chat-global-hora {
    flex: 0 0 auto;
    margin-left: auto;
    color: #667ca7;
    font-size: 9px;
}

.chat-global-msg.propria .chat-global-hora {
    margin-left: 0;
}

.chat-global-texto {
    padding: 8px 10px;
    border: 1px solid rgba(119,150,211,.17);
    border-radius: 4px 12px 12px 12px;
    background: rgba(30,51,94,.68);
    color: #e8effc;
    font-size: 12px;
    line-height: 1.38;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.chat-global-msg.propria .chat-global-texto {
    border-radius: 12px 4px 12px 12px;
    border-color: rgba(218,177,72,.22);
    background:
        linear-gradient(
            135deg,
            rgba(48,72,125,.84),
            rgba(42,49,89,.82)
        );
}

.chat-global-form {
    padding: 9px 10px 10px;
    border-top: 1px solid rgba(220,180,73,.25);
    background: rgba(4,10,25,.92);
}

.chat-global-input-wrap {
    overflow: hidden;
    border: 1px solid rgba(117,150,213,.28);
    border-radius: 10px;
    background: rgba(13,27,58,.88);
}

.chat-global-input {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 42px;
    max-height: 95px;
    padding: 9px 10px 4px;
    resize: none;
    outline: none;
    border: 0;
    background: transparent;
    color: #edf4ff;
    font: inherit;
    font-size: 12px;
}

.chat-global-input::placeholder {
    color: #687da7;
}

.chat-global-input-rodape {
    min-height: 34px;
    padding: 3px 5px 5px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.chat-global-contador {
    color: #61759e;
    font-size: 9px;
}

.chat-global-enviar {
    min-width: 70px;
    height: 29px;
    border: 1px solid rgba(234,194,85,.5);
    border-radius: 7px;
    background:
        linear-gradient(
            180deg,
            rgba(177,129,30,.95),
            rgba(111,72,13,.97)
        );
    color: #fff1b8;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

/* ==================== PRIVADO ==================== */

.chat-privado-lista-view,
.chat-privado-conversa-view {
    flex: 1;
    min-height: 0;
}

.chat-privado-lista-view {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.chat-privado-conversa-view:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.chat-privado-busca-wrap {
    padding: 9px 10px 4px;
}

.chat-privado-busca {
    box-sizing: border-box;
    width: 100%;
    height: 35px;
    padding: 0 11px;
    border: 1px solid rgba(117,150,213,.28);
    border-radius: 8px;
    outline: none;
    background: rgba(13,27,58,.88);
    color: #edf4ff;
    font-size: 11px;
}

.chat-privado-secao-titulo {
    padding: 7px 11px 4px;
    color: #d7b95d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.chat-privado-lista {
    max-height: 190px;
    overflow-y: auto;
    padding: 3px 7px;
}

.chat-privado-lista.jogadores {
    flex: 1;
    max-height: none;
}

.chat-privado-jogador {
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 6px 7px;
    border: 0;
    border-bottom: 1px solid rgba(105,137,197,.1);
    background: transparent;
    color: #eaf2ff;
    display: flex;
    align-items: center;
    gap: 8px;
    text-align: left;
    cursor: pointer;
}

.chat-privado-jogador:hover {
    background: rgba(56,87,149,.18);
}

.chat-privado-avatar {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    font-size: 13px;
}

.chat-privado-avatar.pequeno {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
}

.chat-privado-jogador-info {
    min-width: 0;
    flex: 1;
}

.chat-privado-jogador-topo {
    display: flex;
    align-items: center;
    gap: 7px;
}

.chat-privado-jogador-topo strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #f1dda0;
    font-size: 11px;
}

.chat-privado-status {
    margin-left: auto;
    flex: 0 0 auto;
    font-size: 9px;
}

.chat-privado-status.online {
    color: #71d995;
}

.chat-privado-status.offline {
    color: #617397;
}

.chat-privado-detalhe {
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #778cad;
    font-size: 10px;
}

.chat-privado-linha-badge {
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #d83c4d;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 20px;
    text-align: center;
}

.chat-privado-vazio {
    padding: 14px 10px;
    color: #65799e;
    text-align: center;
    font-size: 10px;
}

.chat-privado-conversa-topo {
    min-height: 48px;
    padding: 5px 8px;
    border-bottom: 1px solid rgba(220,180,73,.16);
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(22,42,82,.35);
}

.chat-privado-voltar {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(138,166,218,.22);
    border-radius: 7px;
    background: rgba(255,255,255,.04);
    color: #b9cdf2;
    cursor: pointer;
}

.chat-privado-contato {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
}

.chat-privado-contato > div:last-child {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.chat-privado-contato strong {
    color: #f1dda0;
    font-size: 11px;
}

.chat-privado-contato-status {
    color: #75b892;
    font-size: 9px;
}

.chat-privado-mensagens {
    padding-top: 8px;
}

/* ==================== BADGE NO PERFIL ==================== */

.perfil-mensagens-badge {
    position: absolute;
    top: 2px;
    right: 3px;
    z-index: 10;
    min-width: 28px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    border: 2px solid #08152c;
    background:
        linear-gradient(
            180deg,
            #ef4c5c,
            #a91e31
        );
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 900;
    line-height: 18px;
    box-shadow:
        0 2px 8px rgba(0,0,0,.55),
        0 0 10px rgba(235,57,76,.36);
    pointer-events: none;
}

.perfil-mensagens-badge[hidden] {
    display: none !important;
}

.perfil-mensagens-badge-sino {
    font-size: 10px;
}

/* ==================== RESUMO DENTRO DO PERFIL ==================== */

.perfil-mensagens-privadas-resumo {
    margin-top: 18px;
    padding: 12px;
    border: 1px solid rgba(213,175,72,.18);
    border-radius: 9px;
    background:
        linear-gradient(
            135deg,
            rgba(23,47,94,.42),
            rgba(6,16,38,.55)
        );
}

.perfil-mensagens-resumo-topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.perfil-mensagens-resumo-topo > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.perfil-mensagens-resumo-topo strong {
    color: #f2d77e;
    font-size: 13px;
}

.perfil-mensagens-resumo-topo span {
    margin-top: 2px;
    color: #8298bc;
    font-size: 10px;
}

.perfil-mensagens-resumo-topo button {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid rgba(221,180,73,.35);
    border-radius: 6px;
    background: rgba(190,139,31,.12);
    color: #f0d681;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.perfil-mensagens-resumo-lista {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.perfil-mensagem-resumo-item {
    width: 100%;
    padding: 6px 7px;
    border: 0;
    border-radius: 7px;
    background: rgba(26,48,91,.28);
    display: flex;
    align-items: center;
    gap: 7px;
    color: #e9f1ff;
    text-align: left;
    cursor: pointer;
}

.perfil-mensagem-resumo-item:hover {
    background: rgba(48,79,139,.35);
}

.perfil-mensagem-avatar {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    font-size: 12px;
}

.perfil-mensagem-info {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.perfil-mensagem-info strong {
    color: #f0d77f;
    font-size: 11px;
}

.perfil-mensagem-info span {
    margin-top: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #8399bb;
    font-size: 9px;
}

.perfil-mensagem-qtd {
    min-width: 21px;
    height: 21px;
    padding: 0 5px;
    border-radius: 999px;
    background: #d73b4c;
    color: #fff;
    font-size: 9px;
    line-height: 21px;
    text-align: center;
}

.perfil-mensagens-resumo-vazio {
    padding: 8px;
    color: #7186aa;
    text-align: center;
    font-size: 10px;
}

@media (max-width: 620px) {
    #chatGlobalRaiz {
        right: 12px;
        bottom: 12px;
    }

    .chat-global-botao {
        width: 52px;
        height: 52px;
    }

    .chat-global-painel {
        position: fixed;
        left: 8px;
        right: 8px;
        bottom: 72px;
        width: auto;
        height: min(74vh, 610px);
        min-height: 390px;
        transform-origin: bottom center;
    }
}


/* ============================================================
   V12.4.1 — ACABAMENTO VISUAL DO CHAT
   Corrige abas/privado sem alterar a lógica JavaScript.
   ============================================================ */

#chatGlobalRaiz,
#chatGlobalRaiz * {
    box-sizing: border-box;
}

.chat-global-painel {
    isolation: isolate;
}

.chat-global-abas {
    flex: 0 0 44px;
    padding: 5px 7px 0;
    gap: 6px;
    background: linear-gradient(180deg, rgba(4,10,25,.94), rgba(7,16,36,.88));
}

.chat-global-aba {
    min-height: 36px;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    color: #8299c5;
    background: rgba(20,39,78,.24);
    letter-spacing: .2px;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.chat-global-aba:hover {
    color: #d8e5ff;
    background: rgba(48,78,139,.25);
}

.chat-global-aba.ativo {
    color: #ffe38c;
    border-color: rgba(218,178,70,.28);
    border-bottom-color: rgba(14,29,62,.98);
    background: linear-gradient(180deg, rgba(43,69,124,.55), rgba(14,29,62,.96));
    box-shadow: inset 0 1px 0 rgba(255,226,138,.06);
}

.chat-painel-aba {
    background: linear-gradient(180deg, rgba(7,16,36,.30), rgba(3,8,21,.20));
}

.chat-global-mensagens,
.chat-privado-lista,
.chat-privado-mensagens {
    scrollbar-width: thin;
    scrollbar-color: rgba(190,151,57,.42) rgba(5,12,29,.2);
}

.chat-global-mensagens::-webkit-scrollbar,
.chat-privado-lista::-webkit-scrollbar,
.chat-privado-mensagens::-webkit-scrollbar {
    width: 6px;
}

.chat-global-mensagens::-webkit-scrollbar-thumb,
.chat-privado-lista::-webkit-scrollbar-thumb,
.chat-privado-mensagens::-webkit-scrollbar-thumb {
    background: rgba(190,151,57,.42);
    border-radius: 999px;
}

.chat-privado-busca-wrap {
    padding: 10px 10px 7px;
}

.chat-privado-busca {
    height: 38px;
    padding: 0 12px 0 13px;
    border: 1px solid rgba(114,148,212,.30);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(16,33,69,.94), rgba(8,20,47,.94));
    color: #edf4ff;
    font-family: inherit;
    font-size: 12px;
    box-shadow: inset 0 1px 4px rgba(0,0,0,.22);
}

.chat-privado-busca::placeholder {
    color: #6f84ab;
}

.chat-privado-busca:focus {
    border-color: rgba(223,184,79,.48);
    box-shadow: 0 0 0 2px rgba(223,184,79,.07), inset 0 1px 4px rgba(0,0,0,.22);
}

.chat-privado-secao-titulo {
    margin: 2px 9px 4px;
    padding: 6px 8px;
    border-left: 2px solid rgba(224,184,73,.62);
    border-radius: 0 5px 5px 0;
    background: linear-gradient(90deg, rgba(178,132,31,.11), transparent 76%);
    color: #e1c56b;
    font-size: 10px;
    letter-spacing: .8px;
}

.chat-privado-lista {
    padding: 2px 8px 8px;
}

.chat-privado-jogador {
    margin: 0 0 5px;
    min-height: 54px;
    padding: 7px 8px;
    border: 1px solid rgba(104,137,200,.12);
    border-radius: 9px;
    background: linear-gradient(135deg, rgba(25,48,92,.50), rgba(8,20,46,.54));
    box-shadow: 0 3px 10px rgba(0,0,0,.10);
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.chat-privado-jogador:hover {
    transform: translateY(-1px);
    border-color: rgba(218,179,72,.28);
    background: linear-gradient(135deg, rgba(40,69,126,.58), rgba(12,29,62,.62));
}

.chat-privado-avatar {
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(5,13,30,.72), 0 0 10px rgba(215,172,64,.10);
}

.chat-privado-jogador-topo strong {
    color: #f3dda0;
    font-size: 12px;
    letter-spacing: .1px;
}

.chat-privado-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
}

.chat-privado-status.online::before,
.chat-privado-status.offline::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 7px currentColor;
}

.chat-privado-detalhe {
    color: #8296b8;
    font-size: 10px;
}

.chat-privado-vazio {
    margin: 8px;
    padding: 16px 10px;
    border: 1px dashed rgba(107,139,201,.18);
    border-radius: 9px;
    background: rgba(8,18,42,.30);
    color: #7185a8;
}

.chat-privado-conversa-topo {
    min-height: 55px;
    padding: 7px 9px;
    background: linear-gradient(90deg, rgba(27,52,101,.62), rgba(10,24,54,.54));
    box-shadow: 0 5px 14px rgba(0,0,0,.12);
}

.chat-privado-voltar {
    width: 34px;
    height: 34px;
    border-color: rgba(218,179,72,.28);
    background: rgba(193,145,37,.09);
    color: #ead17e;
    font-family: inherit;
    font-size: 17px;
}

.chat-privado-voltar:hover {
    background: rgba(193,145,37,.18);
}

.chat-privado-contato strong {
    color: #f4dda0;
    font-size: 12px;
}

.chat-privado-mensagens {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 10px;
}

.chat-global-form {
    flex: 0 0 auto;
    padding: 9px 10px 10px;
    background: linear-gradient(180deg, rgba(5,12,29,.93), rgba(3,8,21,.98));
}

.chat-global-input-wrap {
    border-color: rgba(120,153,216,.31);
    background: linear-gradient(180deg, rgba(14,29,62,.96), rgba(9,21,48,.96));
    box-shadow: inset 0 1px 5px rgba(0,0,0,.20);
}

.chat-global-input:focus {
    outline: none;
}

.chat-global-input-wrap:focus-within {
    border-color: rgba(222,183,77,.48);
    box-shadow: 0 0 0 2px rgba(222,183,77,.06), inset 0 1px 5px rgba(0,0,0,.20);
}

.chat-global-enviar {
    min-width: 74px;
    height: 30px;
    border-radius: 8px;
    font-family: inherit;
    letter-spacing: .2px;
    box-shadow: inset 0 1px 0 rgba(255,235,157,.14), 0 3px 8px rgba(0,0,0,.18);
}

.chat-global-enviar:hover:not(:disabled) {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

@media (max-width: 620px) {
    .chat-global-painel {
        height: min(72vh, 560px);
        max-height: 560px;
        min-height: 380px;
    }

    .chat-global-abas {
        padding-left: 5px;
        padding-right: 5px;
    }
}