/* Átrio · gestão do ecossistema (IdentityAdmin) — ATIV#7288. Mesma linguagem do Átrio: vidro, tiles, variáveis do :root do index.html.
   Tudo com prefixo .g- para não tocar no que já existe. Telas lidas por /api/gestao (js/gestao.js). */

.g-folha{padding-bottom:40px}
.g-folha *{min-width:0}
.g-corpo{display:block}

/* faixa de identidade / ponte */
.g-faixa{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;font-size:12px;color:var(--am-texto-fraco)}
.g-faixa b{color:var(--am-texto);font-weight:500}
.g-faixa .g-grow{flex:1 1 auto}

/* painéis */
.g-painel{padding:18px 20px;margin-bottom:14px}
.g-painel>h2,.g-h2{font-family:var(--display);font-weight:500;font-size:22px;margin:0 0 4px}
.g-sub{color:var(--am-texto-fraco);font-size:13px;margin:0 0 12px;line-height:1.45;overflow-wrap:anywhere}
.g-sub b{color:var(--am-texto);font-weight:500}
.g-bloco-titulo{font:500 12px var(--corpo);letter-spacing:.16em;text-transform:uppercase;color:var(--am-texto-fraco);margin:18px 0 8px}

/* seções recolhíveis */
.g-sec{border:1px solid var(--vidro-borda);border-radius:14px;background:var(--vidro);margin-bottom:12px;overflow:hidden}
.g-sec>summary{cursor:pointer;padding:12px 16px;font:500 12px var(--corpo);letter-spacing:.16em;text-transform:uppercase;color:var(--am-texto-fraco);display:flex;gap:10px;align-items:center;list-style:none;user-select:none}
.g-sec>summary::-webkit-details-marker{display:none}
.g-sec>summary::before{content:'▸';transition:transform .2s;color:var(--am-ciano)}
.g-sec[open]>summary::before{transform:rotate(90deg)}
.g-sec>summary .g-n{margin-left:auto;font:500 11px var(--mono);letter-spacing:0;text-transform:none;color:var(--am-texto-fraco)}
.g-sec>.g-sec-corpo{padding:2px 16px 16px}

/* navegação interna de seções e abas */
.g-nav,.g-abas{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.g-nav button,.g-aba{cursor:pointer;font:500 12.5px var(--corpo);padding:7px 13px;border-radius:999px;border:1px solid var(--vidro-borda);background:rgba(255,255,255,.03);color:var(--am-texto-fraco);transition:.2s}
.g-nav button:hover,.g-aba:hover{color:var(--am-texto);background:rgba(255,255,255,.07)}
.g-aba.atual,.g-nav button.atual{color:var(--am-texto);background:rgba(108,140,255,.16);border-color:rgba(108,140,255,.4)}
.g-aba .g-n{margin-left:6px;font:11px var(--mono);opacity:.75}

/* kpis */
.g-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 14px}
.g-kpi{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--vidro-borda);min-width:0;text-align:left;color:inherit;font:inherit}
button.g-kpi{cursor:pointer;transition:.2s}
button.g-kpi:hover{border-color:var(--vidro-luz);background:rgba(108,140,255,.1)}
.g-kpi b{display:block;font:500 26px var(--display);line-height:1.1;overflow-wrap:anywhere}
.g-kpi span{display:block;margin-top:2px;font-size:11.5px;color:var(--am-texto-fraco);letter-spacing:.03em;line-height:1.3}
.g-kpi.bom b{color:var(--bom)} .g-kpi.atencao b{color:var(--atencao)} .g-kpi.critico b{color:var(--critico)}

/* hero (veredito) */
.g-hero{display:flex;gap:16px;align-items:center;padding:18px 20px;margin-bottom:14px;border-left:4px solid var(--bom)}
.g-hero.critico{border-left-color:var(--critico);background:linear-gradient(90deg,rgba(255,107,122,.10),transparent 60%),var(--vidro)}
.g-hero.bom{background:linear-gradient(90deg,rgba(91,214,160,.08),transparent 60%),var(--vidro)}
.g-hero.atencao{border-left-color:var(--atencao);background:linear-gradient(90deg,rgba(240,178,76,.10),transparent 60%),var(--vidro)}
.g-hero-sinal{font-size:26px;line-height:1;color:var(--bom)}
.g-hero.critico .g-hero-sinal{color:var(--critico)} .g-hero.atencao .g-hero-sinal{color:var(--atencao)}
.g-hero-tit{font:500 22px var(--display);margin-bottom:3px}
.g-hero-txt{font-size:13.5px;color:var(--am-texto-fraco);line-height:1.45;overflow-wrap:anywhere}

/* pílulas */
.g-pill{display:inline-flex;align-items:center;gap:4px;font:500 11px var(--mono);padding:2px 8px;border-radius:999px;border:1px solid var(--vidro-borda);background:rgba(255,255,255,.05);color:var(--am-texto-fraco);white-space:nowrap;vertical-align:middle}
.g-pill.bom{color:#B9F1D6;background:rgba(91,214,160,.12);border-color:rgba(91,214,160,.28)}
.g-pill.atencao{color:#FFD9A3;background:rgba(240,178,76,.12);border-color:rgba(240,178,76,.28)}
.g-pill.critico{color:#FFC2C9;background:rgba(255,107,122,.12);border-color:rgba(255,107,122,.3)}
.g-pill.info{color:#CFE0FF;background:rgba(108,140,255,.14);border-color:rgba(108,140,255,.3)}
.g-pills{display:flex;flex-wrap:wrap;gap:5px}

/* filtros e inputs */
.g-filtros{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:0 0 12px}
.g-in,.g-filtros select,.g-filtros input,.g-form input,.g-form select,.g-form textarea{font:13px var(--corpo);color:var(--am-texto);background:rgba(0,0,0,.28);border:1px solid var(--vidro-borda);border-radius:10px;padding:8px 10px;outline:none;max-width:100%}
.g-filtros select,.g-filtros input.g-in{width:auto;min-width:0}
.g-filtros input[type=search]{flex:1 1 200px;width:auto}
.g-in:focus,.g-filtros select:focus,.g-filtros input:focus,.g-form input:focus,.g-form select:focus,.g-form textarea:focus{border-color:var(--am-accent)}
.g-in option,.g-filtros option,.g-form option{background:#1b1e29;color:var(--am-texto)}
.g-chk{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--am-texto-fraco);cursor:pointer;user-select:none}
.g-chk input{accent-color:var(--am-accent)}
.g-filtros .g-fim{margin-left:auto}
.g-resumo{font:11.5px var(--mono);color:var(--am-texto-fraco)}

/* botões auxiliares (reaproveita .btn do Átrio) */
.btn.perigo{border-color:rgba(255,107,122,.45);background:rgba(255,107,122,.12);color:#FFD3D8}
.btn.perigo:hover{background:rgba(255,107,122,.26);border-color:var(--critico)}
.btn.pequeno{padding:5px 10px;font-size:12px}
.btn.bloq{opacity:.45;cursor:not-allowed;text-decoration:line-through;text-decoration-color:transparent}
.g-acoes{display:flex;flex-wrap:wrap;gap:6px}

/* avisos */
.g-aviso{display:block;padding:10px 13px;border-radius:12px;border:1px solid rgba(240,178,76,.3);background:rgba(240,178,76,.09);color:#FFE2B5;font-size:12.5px;line-height:1.45;margin:0 0 12px;overflow-wrap:anywhere}
.g-aviso b{color:#FFD9A3;font-weight:600;margin-right:6px}
.g-aviso.critico{border-color:rgba(255,107,122,.35);background:rgba(255,107,122,.09);color:#FFD3D8}
.g-aviso.critico b{color:#FFC2C9}
.g-aviso.bom{border-color:rgba(91,214,160,.3);background:rgba(91,214,160,.08);color:#C9F3E0}
.g-vazio{padding:18px;border:1px dashed var(--vidro-borda);border-radius:12px;color:var(--am-texto-fraco);font-size:13px;text-align:center;line-height:1.5;overflow-wrap:anywhere}
.g-vazio.erro{border-color:rgba(255,107,122,.35);color:#FFD3D8}
.g-vazio .btn{margin-top:10px}
.g-carregando{padding:22px;text-align:center;color:var(--am-texto-fraco);font-size:13px;font-style:italic}
.g-carregando::before{content:'';display:inline-block;width:12px;height:12px;margin-right:9px;border-radius:50%;border:2px solid rgba(111,216,255,.3);border-top-color:var(--am-ciano);vertical-align:-2px;animation:g-gira .8s linear infinite}
@keyframes g-gira{to{transform:rotate(360deg)}}

/* tabelas */
.g-rolo{overflow-x:auto;max-width:100%;border:1px solid var(--vidro-borda);border-radius:12px;background:rgba(0,0,0,.18);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.g-tabela{width:100%;border-collapse:collapse;font-size:12.5px}
.g-tabela th{text-align:left;font:500 10.5px var(--corpo);letter-spacing:.09em;text-transform:uppercase;color:var(--am-texto-fraco);padding:9px 10px;border-bottom:1px solid var(--vidro-borda);background:rgba(18,21,32,.6);white-space:nowrap;cursor:pointer;user-select:none}
.g-tabela th.sem-ord{cursor:default}
.g-tabela th.ord::after{content:' ▲'} .g-tabela th.ord.desc::after{content:' ▼'}
.g-tabela td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top;line-height:1.38}
.g-tabela tbody tr:last-child td{border-bottom:0}
.g-tabela tbody tr:hover td{background:rgba(255,255,255,.03)}
.g-tabela tr.clicavel{cursor:pointer}
.g-tabela td.num,.g-tabela th.num{text-align:right}
.g-tabela td.num{font-family:var(--mono)}
.g-tabela .mono{font-family:var(--mono);font-size:11.5px;color:var(--am-ciano)}
.g-tabela .fraco{color:var(--am-texto-fraco)}
.g-tabela .quebra{white-space:normal;overflow-wrap:anywhere;min-width:220px}
.g-tabela td.nowrap{white-space:nowrap}
.g-tabela tr.g-det td{background:rgba(0,0,0,.25)}
.g-rodape{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:8px 2px 0;font:11.5px var(--mono);color:var(--am-texto-fraco)}
.g-pre{margin:0;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.3);border:1px solid var(--vidro-borda);font:11.5px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}

/* chave/valor */
.g-kv{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:7px 18px;font-size:13px;margin:0}
.g-kv dt{color:var(--am-texto-fraco)} .g-kv dd{margin:0;overflow-wrap:anywhere}
.g-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px}
.g-cartoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.g-cartao{padding:14px 16px;border-radius:14px;background:var(--vidro);border:1px solid var(--vidro-borda);min-width:0}
.g-cartoes.larga{grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr))}
.g-eo{display:flex;flex-direction:column;max-height:340px;overflow:auto;border:1px solid var(--vidro-borda);border-radius:10px;background:rgba(0,0,0,.18);scrollbar-width:thin}
.g-eo-cab,.g-eo-lin{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10px;padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.05);font-size:12px;line-height:1.4}
.g-eo-cab{position:sticky;top:0;z-index:1;background:rgba(18,21,32,.95);font:500 10.5px var(--corpo);letter-spacing:.09em;text-transform:uppercase;color:var(--am-texto-fraco)}
.g-eo-lin.fora{background:rgba(255,107,122,.05)}
.g-eo .mono{font-family:var(--mono);font-size:11.5px;color:var(--am-ciano)} .g-eo .fraco{color:var(--am-texto-fraco)}
.g-cartao.critico{border-color:rgba(255,107,122,.4)} .g-cartao.atencao{border-color:rgba(240,178,76,.4)}
.g-cartao h4{margin:0 0 4px;font:500 17px var(--display);overflow-wrap:anywhere}
.g-cartao .g-fino{font-size:12px;color:var(--am-texto-fraco);overflow-wrap:anywhere;line-height:1.4}

/* linhas de item (curadoria, regras, perfil do agente) */
.g-itens{display:flex;flex-direction:column;gap:8px}
.g-item{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.05);border-left:3px solid var(--vidro-borda);font-size:13px;line-height:1.45}
.g-item.critico{border-left-color:var(--critico)} .g-item.atencao{border-left-color:var(--atencao)} .g-item.info{border-left-color:var(--am-accent)} .g-item.bom{border-left-color:var(--bom)}
.g-item .g-cab{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-bottom:4px}
.g-item .g-cod{font:500 11.5px var(--mono);color:var(--am-ciano);overflow-wrap:anywhere}
.g-item .g-tit{font-weight:500}
.g-item .g-txt{color:var(--am-texto);overflow-wrap:anywhere;white-space:pre-wrap}
.g-item .g-fino{margin-top:4px;font-size:12px;color:var(--am-texto-fraco);overflow-wrap:anywhere}

/* barras */
.g-barra{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;display:flex;min-width:60px}
.g-barra i{display:block;height:100%}
.g-barra .s-bom{background:var(--bom)} .g-barra .s-info{background:var(--am-accent)} .g-barra .s-neutro{background:rgba(255,255,255,.22)} .g-barra .s-atencao{background:var(--atencao)}
.g-lista-barras{display:flex;flex-direction:column;gap:7px}
.g-lb{display:grid;grid-template-columns:minmax(80px,170px) 1fr 44px;gap:10px;align-items:center;font-size:12.5px}
.g-lb .g-n{text-align:right;font:11.5px var(--mono);color:var(--am-texto-fraco)}
.g-lb span:first-child{overflow-wrap:anywhere}

/* modal e toast */
.g-modal-fundo{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(5,7,12,.66);backdrop-filter:blur(5px);padding:14px}
.g-modal{width:min(520px,100%);max-height:90vh;overflow:auto;padding:20px 22px;background:rgba(22,25,38,.94)}
.g-modal h2{font-family:var(--display);font-weight:500;font-size:22px;margin:0 0 6px}
.g-form{display:flex;flex-direction:column;gap:11px;margin:12px 0 0}
.g-campo{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--am-texto-fraco)}
.g-campo input,.g-campo select,.g-campo textarea{width:100%}
.g-campo .g-ajuda{font-size:11.5px;opacity:.8}
.g-erro-modal{margin-top:12px;padding:9px 12px;border-radius:10px;background:rgba(255,107,122,.1);border:1px solid rgba(255,107,122,.35);color:#FFD3D8;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
.g-modal-botoes{display:flex;gap:8px;justify-content:flex-end;margin-top:6px;flex-wrap:wrap}
.g-toast{position:fixed;right:18px;bottom:96px;z-index:310;max-width:min(420px,calc(100vw - 36px));padding:11px 15px;border-radius:12px;border:1px solid var(--vidro-borda);background:rgba(22,25,38,.96);box-shadow:0 10px 40px rgba(0,0,0,.5);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.g-toast.bom{border-color:rgba(91,214,160,.4)} .g-toast.critico{border-color:rgba(255,107,122,.45)}

/* grafo */
.g-grafo-rolo{overflow:auto;max-width:100%;max-height:68vh;border:1px solid var(--vidro-borda);border-radius:12px;background:rgba(0,0,0,.22);scrollbar-width:thin}
.g-grafo-rolo svg{display:block}
.g-grafo-rolo .no{cursor:pointer}
.g-grafo-rolo .no text{font:11px var(--corpo);fill:var(--am-texto)}
.g-grafo-rolo .aresta{fill:none;stroke:rgba(166,172,184,.28);stroke-width:1}
.g-grafo-rolo .aresta.sel{stroke:var(--am-ciano);stroke-width:1.8}
.g-grafo-rolo .aresta.esmaece,.g-grafo-rolo .no.esmaece{opacity:.18}
.g-grafo-rolo .no rect{fill:rgba(255,255,255,.06);stroke:var(--vidro-borda);stroke-width:1;transition:fill .2s,stroke .2s}
.g-grafo-rolo .no:hover rect{stroke:var(--am-ciano)}
.g-grafo-rolo .no.bom rect{fill:rgba(91,214,160,.14);stroke:rgba(91,214,160,.5)}
.g-grafo-rolo .no.atencao rect{fill:rgba(240,178,76,.14);stroke:rgba(240,178,76,.5)}
.g-grafo-rolo .no.critico rect{fill:rgba(255,107,122,.16);stroke:rgba(255,107,122,.6)}
.g-grafo-rolo .no.sel rect{stroke:var(--am-ciano);stroke-width:2}
.g-grafo-rolo .tipo-rotulo{font:500 10.5px var(--corpo);fill:var(--am-texto-fraco);letter-spacing:.1em;text-transform:uppercase}

/* produto (curadoria) */
.g-prod{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start}
.g-prod img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--vidro-borda);background:rgba(255,255,255,.04)}
.g-prod .g-semimg{width:72px;height:72px;border-radius:10px;border:1px dashed var(--vidro-borda);display:grid;place-items:center;font-size:10px;color:var(--am-texto-fraco);text-align:center}

/* raiz: cartões dos módulos */
.g-raiz-status{margin:0 0 18px}
.g-sec-titulo{font:500 12px var(--corpo);letter-spacing:.18em;text-transform:uppercase;color:var(--am-texto-fraco);margin:22px 0 10px}

@media (max-width:640px){
  .g-painel{padding:14px 14px}
  .g-hero{padding:14px;gap:12px}
  .g-hero-tit{font-size:19px}
  .g-kv{grid-template-columns:1fr;gap:2px}
  .g-kv dd{margin-bottom:8px}
  .g-lb{grid-template-columns:minmax(70px,110px) 1fr 38px}
  .g-toast{right:10px;left:10px;max-width:none;bottom:100px}
  .g-modal{padding:16px}
  .g-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-sec>summary{padding:11px 12px}
  .g-sec>.g-sec-corpo{padding:2px 12px 14px}
}

/* ajuste de telefone do Átrio (ATIV#7288): o balcão (dock) cabia só em tela larga e cobria a tela; aqui ele vira 3 linhas e a folha respeita a altura dele */
@media (max-width:640px){
  .dock{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"mic cmd ir" "jev jev jev" "motor motor aria";gap:6px 8px;padding:8px 10px;border-radius:18px;bottom:10px;width:calc(100vw - 20px)}
  .dock .mic{grid-area:mic;width:40px;height:40px}
  .dock #cmd{grid-area:cmd;min-width:0}
  .dock button[type=submit]{grid-area:ir}
  .dock .jev{grid-area:jev;min-width:0;flex-direction:row;align-items:center;gap:8px}
  .dock .jev .barra{flex:0 0 60px}
  .dock #motor{grid-area:motor;justify-self:start}
  .dock #btnAria{grid-area:aria;margin-left:0!important;justify-self:end}
  .dock .dica{display:none}
  .plano{place-items:start center;padding-top:118px}
  .plano .folha{max-height:calc(100vh - 118px - 150px);width:calc(100vw - 24px)}
  .topo{padding:10px 12px;gap:8px 10px;flex-wrap:wrap}
  .ver-conversa{top:10px;right:12px;z-index:55}
  .conversa{top:110px;bottom:150px;width:calc(100vw - 24px);right:12px}
}

