/* auto-extracted */


/* respiro do topo: o sub-menu (Fila|Grupos) fica oculto em Gerenciar (decisão
   C-IA-04 R-05), então o head perdia a âncora vertical do .arh-atd-pill-wrap e
   encostava na navbar. Re-ancora aqui no stElementContainer (margem interna não
   propaga — gap:0 do pai). Valor calibrado por Playwright vs telas Fila/Grupos. */
[data-testid="stElementContainer"]:has(.arh-gl-head){margin-top:22px!important}
/* respiro entre blocos = 8px EFETIVO (= Fila de Atendimento, medido pageMeta→filter
   = 8px). Margem interna não propaga (gap:0 do pai) → margin-top no stElementContainer
   via :has(). Os markdown com flex transbordam ~16px o container → compensar (8+16=24)
   nos blocos após eles. Busca é widget nativo (não transborda) → lista fica 8. */
[data-testid="stElementContainer"]:has(.arh-gl-toolbar){margin-top:24px!important}
[class*="st-key-gl_busca_input"]{margin-top:24px!important}
[data-testid="stElementContainer"]:has(.arh-gl-list){margin-top:8px!important}
.arh-gl-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0}
.arh-gl-title{font-size:1.18rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}
/* seta de voltar SIMPLES (padrão do projeto = arrow_back sem texto) — Matias 14/06 */
.arh-gl-back-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);
  border-radius:9px;cursor:pointer;text-decoration:none;flex:0 0 auto;
  transition:background-color .15s,border-color .15s,color .15s}
.arh-gl-back-arrow:hover{border-color:var(--accent-brand);color:var(--text-primary)}
.arh-gl-back-arrow svg{width:18px;height:18px}
/* switch AMS / N2 (reusa linguagem do .arh-mg-seg-control) */
.arh-gl-seg{display:inline-flex;background:var(--surface-base);border:1px solid var(--border-subtle);
  border-radius:10px;padding:4px;gap:3px}
.arh-gl-seg-btn{border:0;background:transparent;color:var(--text-muted);padding:7px 16px;border-radius:7px;
  font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:inherit;
  transition:background-color .15s,color .15s}
.arh-gl-seg-btn:hover:not(.on){background:var(--surface-hover);color:var(--text-secondary)}
.arh-gl-seg-btn .c{font-size:.64rem;background:var(--surface-hover);color:var(--text-muted);padding:1px 7px;border-radius:20px}
.arh-gl-seg-btn.on{background:var(--accent-brand);color:#fff}
.arh-gl-seg-btn.on .c{background:rgba(255,255,255,.22);color:#fff}

.arh-gl-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:0}
.arh-gl-fpills{display:inline-flex;background:var(--surface-sunken);border:1px solid var(--border-subtle);
  border-radius:9px;overflow:hidden}
.arh-gl-fpill{border:0;background:transparent;color:var(--text-muted);padding:7px 13px;font-size:.76rem;
  font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:inherit}
.arh-gl-fpill:hover:not(.on){color:var(--text-secondary)}
.arh-gl-fpill.on{background:var(--surface-raised);color:var(--text-primary)}
.arh-gl-fpill .c{font-size:.62rem;background:var(--surface-hover);padding:0 6px;border-radius:10px;color:var(--text-muted)}
.arh-gl-fpill.on .c{background:var(--accent-brand);color:#fff}
/* botão de ordenação ⇅ (modelo M3 enxuto — alterna A→Z / Z→A) */
.arh-gl-sortbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-default);
  background:var(--surface-raised);color:var(--text-secondary);padding:7px 13px;border-radius:9px;
  font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;
  transition:border-color .15s,color .15s}
.arh-gl-sortbtn:hover{border-color:var(--accent-brand);color:var(--text-primary)}
.arh-gl-sortbtn .ic{font-size:.95rem;color:var(--accent-brand-text);line-height:1}
.arh-gl-spacer{flex:1}
/* botões de ação da toolbar usam a MESMA métrica do .arh-gl-sortbtn / .arh-gl-fpill
   (padding 7px 13px + font .76rem + border 1px) → MESMA ALTURA dos pills de status
   (Todos/Ativos/Inativos/Sem grupo). Como a altura é auto, métricas idênticas =>
   altura idêntica (box-sizing não afeta height:auto). Matias 2026-06-29. */
.arh-gl-btn-novo{border:1px solid var(--accent-brand);background:transparent;color:var(--accent-brand-text);
  padding:7px 13px;border-radius:9px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit;
  display:inline-flex;align-items:center;gap:7px;box-sizing:border-box}
.arh-gl-btn-novo:hover{background:rgba(77,159,255,.10)}
/* Salvar (primário) — só aparece quando há edição pendente no buffer (gl_draft).
   A persistência passou a ser EXPLÍCITA: edições ficam no session_state e só
   são gravadas no clique. Antes cada toggle gravava em disco → travava a tela. */
.arh-gl-btn-salvar{border:1px solid var(--accent-brand);background:var(--accent-brand);color:#fff;
  padding:7px 13px;border-radius:9px;font-size:.76rem;font-weight:700;cursor:pointer;font-family:inherit;
  display:inline-flex;align-items:center;gap:7px;box-sizing:border-box}
.arh-gl-btn-salvar:hover{filter:brightness(1.08)}
.arh-gl-btn-salvar .c{font-size:.64rem;background:rgba(255,255,255,.22);color:#fff;padding:1px 7px;border-radius:20px}
/* Descartar (baixa ênfase) — abandona as edições não salvas do buffer */
.arh-gl-btn-descartar{border:1px solid transparent;background:transparent;color:var(--text-muted);
  padding:7px 11px;border-radius:9px;font-size:.76rem;font-weight:600;cursor:pointer;font-family:inherit;
  display:inline-flex;align-items:center;box-sizing:border-box}
.arh-gl-btn-descartar:hover{color:var(--text-secondary);background:var(--surface-hover)}

.arh-gl-list{background:var(--surface-raised);border:1px solid var(--border-subtle);
  border-radius:var(--radius-md,10px);overflow:visible}
.arh-gl-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;align-items:center;gap:14px;
  padding:11px 16px;border-bottom:1px solid var(--border-subtle);position:relative}
.arh-gl-row:last-child{border-bottom:0}
.arh-gl-row:hover{background:var(--surface-hover)}
.arh-gl-row.inativo{opacity:.58}
.arh-gl-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.72rem;color:#fff}
.arh-gl-info{min-width:0}
.arh-gl-nome{font-size:.87rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arh-gl-sub{font-size:.7rem;color:var(--text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:340px}
.arh-gl-badge-novo{flex:0 0 auto;font-size:.6rem;font-weight:800;letter-spacing:.04em;padding:2px 8px;
  border-radius:20px;background:rgba(217,160,32,.14);color:var(--state-warning);border:1px solid var(--state-warning)}
.arh-gl-groups{display:flex;align-items:center;gap:7px;justify-content:flex-end;position:relative}
.arh-gl-chips{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:250px}
.arh-gl-chip{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600;padding:2px 9px;
  border-radius:20px;white-space:nowrap;border:1px solid transparent}
.arh-gl-chip .dot{width:7px;height:7px;border-radius:50%}
.arh-gl-empty-g{font-size:.7rem;font-weight:600;color:var(--state-warning);background:rgba(217,160,32,.12);
  border:1px solid var(--state-warning);padding:4px 10px;border-radius:8px;cursor:pointer}
.arh-gl-edit{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-default);
  background:var(--surface-base);color:var(--text-muted);cursor:pointer;font-size:.85rem;display:flex;
  align-items:center;justify-content:center;flex:0 0 auto}
.arh-gl-edit:hover{border-color:var(--accent-brand);color:var(--text-primary)}
.arh-gl-status{display:flex;align-items:center;gap:9px;min-width:106px;justify-content:flex-end}
.arh-gl-sw{position:relative;width:40px;height:22px;border-radius:20px;background:var(--border-default);
  cursor:pointer;transition:.18s;flex:0 0 auto}
.arh-gl-sw::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;
  background:#fff;transition:.18s}
.arh-gl-sw.on{background:var(--state-success)}
.arh-gl-sw.on::after{left:20px}
.arh-gl-stxt{font-size:.74rem;font-weight:700;width:48px}
.arh-gl-stxt.on{color:var(--state-success)} .arh-gl-stxt.off{color:var(--text-muted)}
/* popover multi-grupo */
.arh-gl-pop{position:absolute;top:100%;right:0;z-index:60;width:232px;background:var(--surface-raised);
  border:1px solid var(--border-default);border-radius:11px;box-shadow:0 10px 30px rgba(0,0,0,.32);
  padding:7px;margin-top:6px}
.arh-gl-pop-h{font-size:.62rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);
  font-weight:700;padding:6px 8px 8px}
.arh-gl-gopt{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;cursor:pointer;
  font-size:.78rem;font-weight:600;color:var(--text-secondary)}
.arh-gl-gopt:hover{background:var(--surface-hover)}
.arh-gl-gopt .gd{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.arh-gl-gopt .gn{flex:1}
.arh-gl-gopt .gck{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-default);display:flex;
  align-items:center;justify-content:center;color:transparent;font-size:.72rem}
.arh-gl-gopt.on .gck{background:var(--accent-brand);border-color:var(--accent-brand);color:#fff}
/* sub-grupos do Técnico (Matias 14/06): bloco recuado no popover + sub-chip menor */
.arh-gl-pop-h.sub{border-top:1px solid var(--border-subtle);margin-top:5px;padding-top:9px}
.arh-gl-gopt.sub{padding-left:18px;font-size:.74rem}
.arh-gl-gopt.sub .gd{width:7px;height:7px;border-radius:50%}
.arh-gl-chip.sub{font-size:.62rem;padding:1px 7px;font-weight:700}
.arh-gl-stats{display:flex;gap:18px;padding:11px 16px;border-top:1px solid var(--border-subtle);
  background:var(--surface-sunken);font-size:.74rem;color:var(--text-muted)}
.arh-gl-stats b{color:var(--text-primary)}
.arh-gl-stats .d{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:middle}
/* N2 empty (reusa .arh-mg-master-list-empty do design system) */
.arh-gl-n2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  padding:64px 24px;text-align:center;background:var(--surface-raised);border:1px dashed var(--border-default);
  border-radius:var(--radius-md,10px)}
.arh-gl-n2-ic{width:60px;height:60px;border-radius:16px;background:var(--surface-sunken);
  border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;
  font-size:28px;color:var(--text-muted)}
.arh-gl-n2-t{font-size:1rem;font-weight:700;color:var(--text-primary)}
.arh-gl-n2-s{font-size:.82rem;color:var(--text-secondary);max-width:430px;line-height:1.5}
.arh-gl-n2-tag{margin-top:4px;background:rgba(217,160,32,.13);color:var(--state-warning);font-weight:700;
  font-size:.66rem;padding:3px 10px;border-radius:6px;letter-spacing:.03em}
/* container de botões-ponte oculto (height:0 mantém click() vivo; fix-v3) */
[data-testid="stVerticalBlockBorderWrapper"]:has(> div > [class*="st-key-gl_ctl"]),
[data-testid="stLayoutWrapper"]:has(> [class*="st-key-gl_ctl"]){
  height:0!important;min-height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;
  visibility:hidden!important;pointer-events:none!important}
/* busca real estilizada como search do design system */
[class*="st-key-gl_busca"] [data-baseweb="input"]{background:var(--surface-raised);
  border:1px solid var(--border-default);border-radius:var(--radius-base,6px)}
[class*="st-key-gl_busca"] [data-baseweb="input"]:focus-within{border-color:var(--accent-brand);
  box-shadow:0 0 0 2px var(--focus-ring-glow,rgba(77,159,255,.2))}
[class*="st-key-gl_busca"] input{font-size:.82rem;color:var(--text-primary)}



<script>
(function(){
  var w = window.parent;
  if (w.__arhGlH) w.document.removeEventListener('click', w.__arhGlH, true);
  function ck(key){
    var c = w.document.querySelector('.st-key-' + key);
    if (!c) return false;
    var b = c.querySelector('[data-testid="stBaseButton-secondary"],[data-testid="stBaseButton-primary"]');
    if (b){ b.click(); return true; }
    return false;
  }
  function h(e){
    var el = e.target, d, a;
    for (d = 0; d < 6 && el && el !== w.document.body; d++, el = el.parentElement){
      if (!el.getAttribute) continue;
      a = el.getAttribute('data-arh-gl-modo'); if (a){ e.preventDefault(); ck('gl_modo_' + a); return; }
      a = el.getAttribute('data-arh-gl-flt');  if (a){ e.preventDefault(); ck('gl_flt_' + a); return; }
      if (el.getAttribute('data-arh-gl-ord')){ e.preventDefault(); ck('gl_ord_btn'); return; }
      a = el.getAttribute('data-arh-gl-sw');   if (a){ e.preventDefault(); ck('gl_sw_' + a); return; }
      a = el.getAttribute('data-arh-gl-pop');  if (a){ e.preventDefault(); ck('gl_pop_' + a); return; }
      a = el.getAttribute('data-arh-gl-g');    if (a){ e.preventDefault(); ck('gl_g_' + a); return; }
      a = el.getAttribute('data-arh-gl-sg');   if (a){ e.preventDefault(); ck('gl_sg_' + a); return; }
      if (el.getAttribute('data-arh-gl-novo')){ e.preventDefault(); ck('gl_novo_btn'); return; }
      if (el.getAttribute('data-arh-gl-salvar')){ e.preventDefault(); ck('gl_salvar_btn'); return; }
      if (el.getAttribute('data-arh-gl-descartar')){ e.preventDefault(); ck('gl_descartar_btn'); return; }
    }
    // Click-outside (Matias 14/06): fecha o popover de grupos se aberto e o clique
    // foi FORA dele. Cliques na caneta/opções já deram return acima — então aqui só
    // chegam cliques "neutros" (lista, fundo, topbar, etc.).
    // ⚠ e.isTrusted: SÓ reage a cliques REAIS do usuário. Os cliques sintéticos do
    // próprio bridge (b.click() nos botões ocultos) NÃO podem disparar isto — senão
    // selecionar grupo/sub-grupo virava loop de eventos (popover fechava antes de
    // aplicar; travava ~12s). Incidente sub-grupos 2026-06-14.
    if (e.isTrusted && w.document.querySelector('.arh-gl-pop')){
      var t = e.target, inside = false;
      for (var i = 0; i < 8 && t; i++, t = t.parentElement){
        if (t.classList && t.classList.contains('arh-gl-pop')){ inside = true; break; }
      }
      if (!inside){ ck('gl_pop_close'); }
    }
  }
  w.__arhGlH = h;
  w.document.addEventListener('click', h, true);
})();
</script>
