/* 14.1.21 — Estúdio, itens do chat por breakpoint e composição de áudio. */
/* Prévia em clarinho: espaçamento e tamanho que representam a conversa real. */
.gl-studio-preview{background:#f4f7f4!important;color:#203c3a!important;width:100%;min-height:250px}
.gl-studio-preview-cover{height:clamp(100px,17vw,174px)!important}
.gl-studio-preview-main{background:#f8fbf9}
.gl-studio-example{min-height:135px;background-color:var(--studio-wall,#f5f8f5);background-image:radial-gradient(#95b6a31e 1px,transparent 1px);background-size:28px 28px;align-items:flex-end}
.gl-studio-media-spec{margin:0;color:var(--g-muted,#97abae);font-size:11px;line-height:1.5;min-height:34px}
.gl-studio-media-img{height:clamp(160px,19vw,245px);background:#f3f7f3!important;border:1px solid #7ca49640;color:#5b7b73;position:relative}
.gl-studio-media-avatar{aspect-ratio:1/1;max-height:none;max-width:300px;align-self:center;width:100%;height:auto!important;border-radius:50%!important}
.gl-studio-media-cover{aspect-ratio:16/7;min-height:150px;height:auto!important}
.gl-studio-media-wallpaper{aspect-ratio:9/16;max-height:330px;height:auto!important;max-width:250px;width:100%;align-self:center}
.gl-studio-media-img img{width:100%;height:100%;object-fit:cover}
.gl-studio-media-wallpaper img{object-fit:contain;background:#f4f7f4}
.gl-studio-generated{width:min(100%,850px);max-height:600px;object-fit:contain;aspect-ratio:auto;background:#f4f7f4;border:1px solid #9aac9d42}
.gl-studio-presets{display:flex;flex-wrap:wrap;gap:8px;padding:11px 0}
.gl-studio-chip{background:#12a68f18!important;border:1px solid #10a68a75!important;color:inherit!important;padding:9px 13px!important;border-radius:20px!important;font-size:12px!important;cursor:pointer}
.gl-studio-chip:hover,.gl-studio-chip:focus-visible{background:#0faa8d32!important;outline:2px solid #18b5a3;outline-offset:2px}
.gl-studio-upload-status{display:block;min-height:20px;font-size:11px;color:#1cb49a}
/* O papel de parede preenche a área de mensagens, sem repetir e sem escurecer a composição. */
#app #messages.gl-channel-custom-wallpaper{background-size:cover!important;background-repeat:no-repeat!important;background-position:center center!important;background-attachment:local!important}
#app #messages.gl-channel-custom-wallpaper[data-gl-wallpaper-image="0"]{background-size:26px 26px!important;background-repeat:repeat!important}
/* Desktop aproveita largura: PTT e ferramentas visíveis, botão recolher oculto. */
@media(min-width:761px){
 #app .ptt-zone #gl20ToolsToggle{display:none!important}
 #app .ptt-zone .ptt-actions>.ptt-quick-action,#app .ptt-zone .ptt-actions>.audio-settings{display:inline-flex!important}
 #app .ptt-zone.gl20-actions-collapsed .ptt-actions>.ptt-quick-action,#app .ptt-zone.gl20-actions-collapsed .ptt-actions>.audio-settings{display:inline-flex!important}
 #app #sendForm.gl181-composer.gl181-typed{grid-template-columns:minmax(0,1fr) 50px 50px!important}
 #app #sendForm.gl181-composer.gl181-typed #voiceRecord{grid-column:2!important}
 #app #sendForm.gl181-composer.gl181-typed #sendButton{grid-column:3!important}
}
/* O ícone do microfone fica independente do botão enviar em qualquer largura. */
#app #sendForm.gl181-composer #voiceRecord{display:inline-flex!important;align-items:center;justify-content:center;background:transparent!important;border:1px solid #14bda070!important;color:#12caaa!important;flex-shrink:0}
#app #sendForm.gl181-composer #voiceRecord:focus-visible{outline:2px solid #1ac1aa}
@media(max-width:760px){
 #app #sendForm.gl181-composer.gl181-typed{grid-template-columns:minmax(0,1fr) 43px 43px!important}
 #app #sendForm.gl181-composer.gl181-typed #voiceRecord{grid-column:2!important;min-width:41px!important;width:41px!important}
 #app #sendForm.gl181-composer.gl181-typed #sendButton{grid-column:3!important;min-width:41px!important;width:41px!important}
 #app #sendForm.gl181-composer.gl181-empty{grid-template-columns:minmax(0,1fr) 47px!important}
 #app #sendForm.gl181-composer.gl181-empty #voiceRecord{grid-column:2!important}
 #app .ptt-zone.gl20-actions-collapsed .ptt-actions>.ptt-quick-action,#app .ptt-zone.gl20-actions-collapsed .ptt-actions>.audio-settings{display:none!important}
}

/* Navegação do Estúdio inspirada em menus de produtividade: setas, pino e organização. */
.gl-studio-tabs-wrap{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%;border-bottom:1px solid #7197a038;margin-bottom:13px;background:var(--g-panel,#101f30);border-radius:10px}
.gl-studio-tabs-wrap.gl-studio-pinned{position:sticky;top:70px;z-index:7;padding:3px 0;box-shadow:0 8px 22px #0003}
.gl-studio-tabs-wrap .gl-studio-tabs{flex:1 1 0;min-width:0;max-width:100%;margin:0;border:0;scrollbar-width:thin}
.gl-studio-tabs-wrap .gl-studio-nav-arrow,.gl-studio-tabs-wrap .gl-studio-nav-utility{flex:0 0 33px;min-width:33px;min-height:34px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:20px;cursor:pointer}
.gl-studio-tabs-wrap .gl-studio-nav-utility{font-size:15px}
.gl-studio-tabs-wrap .gl-studio-nav-utility[aria-pressed="true"],.gl-studio-tabs-wrap .gl-studio-nav-arrow:hover{color:#21c6a2;background:#0cae981c}
.gl-studio-reordering .gl-studio-tabs button{cursor:grab;border:1px dashed #2ec7a75a}
.gl-studio-reordering .gl-studio-tabs button:active{cursor:grabbing}
@media(max-width:640px){.gl-studio-tabs-wrap.gl-studio-pinned{top:55px}.gl-studio-tabs-wrap .gl-studio-nav-arrow,.gl-studio-tabs-wrap .gl-studio-nav-utility{flex-basis:27px;min-width:27px;font-size:15px}}

/* 14.1.21 — contrast and studio modal: never exceed viewport, never behind drawers. */
#app .overlay:not([hidden]){z-index:12000!important;position:fixed!important;inset:0!important;isolation:isolate}
#app .overlay .modal{width:min(720px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;display:flex!important;flex-direction:column!important;margin:auto!important;overflow:hidden!important}
#app .overlay .modal-header{flex:0 0 auto;position:sticky;top:0;z-index:2;background:var(--g-panel,#10273a)!important}
#app .overlay .modal-content{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;padding:clamp(12px,2vw,22px)!important}
#app .overlay #glStudioQuickForm{min-width:0;max-width:100%;display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
#app .overlay #glStudioQuickForm :is(input,select,textarea){width:100%;max-width:100%;min-width:0;box-sizing:border-box}
:root[data-theme="dark"] #app #messages.gl-channel-custom-wallpaper{background-color:#0a1825!important;color:#e9f6f6!important}
:root[data-theme="dark"] #app #messages.gl-channel-custom-wallpaper[data-gl-wallpaper-image="0"]{background-image:radial-gradient(#294153 1px,transparent 1px)!important;background-size:27px 27px!important}
:root[data-theme="dark"] #app #messages.gl-channel-custom-wallpaper .bubble:not(.mine){background:#173144!important;color:#e8f4f4!important;border-color:#28536a!important}
:root[data-theme="dark"] #app #messages.gl-channel-custom-wallpaper .bubble.mine{background:#124b41!important;color:#e7fff8!important}
.glw-channel .channel-symbol.glw-image-avatar,.contact .contact-avatar.glw-image-avatar{background:transparent!important;border:1px solid #278c7f73!important;overflow:hidden!important;padding:0!important}
.glw-image-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}

/* Ligação com informações claras e controles de câmera e microfone */
#sfVideoOverlay{z-index:20000!important}
.sf-call-indicator{display:flex;align-items:center;justify-content:center;gap:12px;font-variant-numeric:tabular-nums;font-size:13px;background:#0c594f33;border-radius:13px;padding:10px}
#sfVideoConnectionLight{color:#1ecc9b;font-size:17px}
#sfVideoDuration{font-size:21px;letter-spacing:.04em}
#sfVideoQuality{color:var(--g-muted,#9db1b7);font-size:12px}
#sfVideoOverlay #sfLocalVideo{transform:scaleX(-1)}
@media(max-width:520px){.sf-call-indicator{gap:6px}#sfVideoDuration{font-size:17px}}

#app [id^="glEvo"],#app #glMyWASidebar{visibility:visible}
#app [data-gl-external-allowed="false"]{display:none!important}
#app .contact-avatar:has(img),#app .channel-symbol:has(img){overflow:hidden!important;padding:0!important}
#app .contact-avatar img,#app .channel-symbol img{height:100%;width:100%;object-fit:cover;border-radius:inherit}

/* Nenhum atalho externo é visível antes de confirmar a cota ou autorização. */
#app #glEvoQuick:not([data-gl-external-allowed="true"]),
#app #glEvoSidebar:not([data-gl-external-allowed="true"]),
#app #glEvoComposer:not([data-gl-external-allowed="true"]),
#app #glMyWASidebar:not([data-gl-external-allowed="true"]){display:none!important}
