/* Janela de chamada do Jedax Talk (flutuante, fora do campo de mensagens) */
#jdx-call-window {
    position: fixed; left: 0; top: 0; width: 460px; height: 540px;
    z-index: 1000000; /* acima do Talk (999999) */
    display: none; flex-direction: column; box-sizing: border-box;
    background: #0d1117; color: #f0f6fc;
    font-family: 'Asap', -apple-system, 'Segoe UI', Roboto, sans-serif;
    border: 1px solid rgba(103, 179, 77, .5); border-top: 3px solid #67B34D; border-radius: 12px;
    box-shadow: 0 25px 80px rgba(0, 0, 0, .95), 0 0 20px rgba(103, 179, 77, .15);
    overflow: hidden;
}
#jdx-call-window.aberto { display: flex; }
#jdx-call-window.cheia { border-radius: 0; border: 0; }
#jdx-call-window button, #jdx-call-window select { font-family: inherit; }
#jdx-call-window button:focus-visible, #jdx-call-window select:focus-visible { outline: 2px solid #67B34D; outline-offset: 2px; }

/* Avatar (iniciais até a foto carregar) */
.jdx-cw-av {
    display: inline-flex; align-items: center; justify-content: center; flex: none;
    border-radius: 50%; overflow: hidden; background: #3d6e2c; border: 1px solid #67B34D;
    color: #fff; font-weight: 800; font-size: 13px;
}
.jdx-cw-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.jdx-cw-av.grande { width: 96px; height: 96px; font-size: 32px; border-width: 2px; }

/* Cabeçalho (arraste por aqui) */
.jdx-cw-topo {
    display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 12px;
    background: #161b22; border-bottom: 1px solid rgba(103, 179, 77, .3);
    cursor: move; user-select: none; -webkit-user-select: none; touch-action: none;
}
.jdx-cw-topo .jdx-cw-av { width: 34px; height: 34px; }
.jdx-cw-info { flex: 1; min-width: 0; line-height: 1.25; }
.jdx-cw-info strong { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jdx-cw-info small { color: #67B34D; font-size: 12px; font-weight: 700; }
.jdx-cw-mini {
    width: 28px; height: 28px; border-radius: 6px; cursor: pointer; flex: none;
    background: #21262d; border: 1px solid rgba(255, 255, 255, .1); color: #c1ccd7;
    display: flex; align-items: center; justify-content: center;
}
.jdx-cw-mini:hover { background: #30363d; color: #fff; }

.jdx-cw-aviso { text-align: center; padding: 5px 10px; font-size: 12px; color: #ffd166; background: #1a1505; }
.jdx-cw-aviso:empty { display: none; }

/* Palco */
.jdx-cw-palco { position: relative; flex: 1; min-height: 0; background: #05070a; overflow: hidden; }
.jdx-cw-remoto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; display: none; }
.jdx-cw-palco.com-video .jdx-cw-remoto { display: block; }
.jdx-cw-vazio {
    position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 8px; padding: 16px; text-align: center;
}
.jdx-cw-palco.com-video .jdx-cw-vazio { display: none; }
.jdx-cw-vazio b { font-size: 18px; }
#jdx-cw-msg { color: #8b949e; font-size: 13px; }

.jdx-cw-fila {
    position: absolute; right: 10px; bottom: 10px; z-index: 3;
    display: flex; align-items: flex-end; gap: 8px;
}
.jdx-cw-local, .jdx-cw-mini-cam {
    display: none; position: relative; flex: none;
    width: clamp(96px, 26vw, 170px); aspect-ratio: 4 / 3;
    border: 2px solid rgba(103, 179, 77, .7); border-radius: 10px; overflow: hidden; background: #000;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .6);
}
.jdx-cw-local video, .jdx-cw-mini-cam video { width: 100%; height: 100%; object-fit: cover; display: block; }
.jdx-cw-local.espelho video { transform: scaleX(-1); }

/* Chamada recebida */
.jdx-cw-prompt {
    display: none; position: absolute; inset: 0; z-index: 5; background: #080b0f;
    flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 20px; text-align: center;
}
#jdx-call-window[data-fase="recebendo"] .jdx-cw-prompt { display: flex; }
.jdx-cw-prompt b { font-size: 20px; }
#jdx-cw-tipo-p { color: #67B34D; font-size: 14px; font-weight: 700; }
.jdx-cw-prompt .acoes { display: flex; gap: 14px; margin-top: 16px; }
.jdx-cw-pbtn { border: 0; border-radius: 25px; padding: 10px 26px; font-size: 14px; font-weight: 800; color: #fff; background: #ff4757; cursor: pointer; }
.jdx-cw-pbtn.verde { background: #67B34D; }
.jdx-cw-pbtn:hover { filter: brightness(1.12); }

/* Barra de botões: um único botão de desligar */
.jdx-cw-barra {
    display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; padding: 10px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    background: #0d1117; border-top: 1px solid rgba(255, 255, 255, .08);
}
#jdx-call-window[data-fase="recebendo"] .jdx-cw-barra,
#jdx-call-window[data-fase="fim"] .jdx-cw-barra { display: none; }
.jdx-cw-btn {
    width: 46px; height: 46px; border-radius: 50%; cursor: pointer; font-size: 17px; color: #fff;
    background: #161b22; border: 2px solid rgba(255, 255, 255, .15);
    display: flex; align-items: center; justify-content: center; transition: border-color .15s, background .15s;
}
.jdx-cw-btn:hover { border-color: #67B34D; }
.jdx-cw-btn.off { background: #ff4757; border-color: #ff4757; }
.jdx-cw-btn.ativo { background: #67B34D; border-color: #67B34D; }
.jdx-cw-btn.sair { background: #ff4757; border-color: #ff4757; }
.jdx-cw-btn.sair:hover { filter: brightness(1.12); }

/* Ajustes de câmera e microfone */
.jdx-cw-config {
    display: none; position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 6;
    max-height: calc(100% - 20px); overflow-y: auto; padding: 14px;
    background: #0d1117; border: 2px solid #67B34D; border-radius: 14px; box-shadow: 0 10px 40px rgba(0, 0, 0, .7);
}
.jdx-cw-config.aberto { display: block; }
.jdx-cw-config label { display: block; margin: 8px 0 3px; font-size: 12px; font-weight: 700; color: #cfd6dd; }
.jdx-cw-config label.chk { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.jdx-cw-config select { width: 100%; padding: 8px; color: #fff; background: #05070a; border: 1px solid rgba(255, 255, 255, .2); border-radius: 10px; }
.jdx-cw-config .fim { text-align: right; margin-top: 12px; }

/* Canto para redimensionar */
.jdx-cw-redim {
    position: absolute; right: 0; bottom: 0; width: 22px; height: 22px; z-index: 7; cursor: nwse-resize; touch-action: none;
    background: linear-gradient(135deg, transparent 0 52%, #67B34D 52% 60%, transparent 60% 74%, #67B34D 74% 82%, transparent 82%);
}
#jdx-call-window.cheia .jdx-cw-redim, #jdx-call-window.recolhida .jdx-cw-redim { display: none; }

/* Recolhida: vira uma janelinha para usar o Talk durante a chamada (fica só microfone e desligar) */
#jdx-call-window.recolhida .jdx-cw-palco { flex: none; height: 150px; }
#jdx-call-window.recolhida .jdx-cw-fila,
#jdx-call-window.recolhida .jdx-cw-local,
#jdx-call-window.recolhida .jdx-cw-aviso,
#jdx-call-window.recolhida .jdx-cw-config { display: none !important; }
#jdx-call-window.recolhida .jdx-cw-barra { padding: 6px; }
#jdx-call-window.recolhida .jdx-cw-btn:not(.sair):not(#jdx-cw-mic) { display: none; }
#jdx-call-window.recolhida .jdx-cw-av.grande { width: 56px; height: 56px; font-size: 20px; }
#jdx-call-window.recolhida .jdx-cw-vazio b { font-size: 14px; }
