/* =====================================================================
   Componentes do painel (cadastros, tabelas, formulários)
   ===================================================================== */
.lateral a svg { flex-shrink: 0; opacity: .85; }
.lateral .sair { color: rgba(255, 255, 255, .7); }
.lateral .sair:hover { background: rgba(255, 255, 255, .07); color: #fff; }
.topo-titulo { display: flex; align-items: center; gap: 10px; min-width: 0; }
.topo-titulo h1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.usuario-texto { text-align: right; line-height: 1.3; }
.usuario-texto small { display: block; color: var(--texto-suave); }
.veu { display: none; }

/* Botões */
.botao-secundario { background: var(--superficie); color: var(--texto); border: 1.5px solid var(--borda); }
.botao-secundario:hover { border-color: #c9d2de; background: #fafbfc; text-decoration: none; }
.botao-perigo { background: var(--erro-fundo); color: var(--erro); }
.botao-perigo:hover { background: #fbdcdc; text-decoration: none; }
.botao-pequeno { height: 36px; padding: 0 14px; font-size: .875rem; border-radius: 9px; }
.botao-icone { width: 40px; padding: 0; }
.botao svg { flex-shrink: 0; }

/* Cabeçalho de página */
.cabecalho-pagina { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.cabecalho-pagina h2 { font-size: 1.35rem; margin: 0; }
.cabecalho-pagina p { margin: 4px 0 0; color: var(--texto-suave); }
.acoes { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.voltar { display: inline-flex; align-items: center; gap: 6px; color: var(--texto-suave); font-weight: 500; font-size: .9rem; margin-bottom: 10px; }

/* Filtros */
.filtros { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.filtros .entrada { height: 42px; width: auto; min-width: 180px; flex: 1 1 220px; }
.filtros select.entrada { flex: 0 1 200px; }
.filtros .botao { height: 42px; }

/* Selos */
.selo { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: .78rem; font-weight: 600; white-space: nowrap; }
.selo::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.selo-verde { background: var(--sucesso-fundo); color: #1d7a4b; }
.selo-amarelo { background: var(--aviso-fundo); color: #8a5a00; }
.selo-vermelho { background: var(--erro-fundo); color: var(--erro); }
.selo-cinza { background: #eef1f5; color: var(--texto-suave); }
.selo-azul { background: #e8eefc; color: #2f4fbf; }
.selo-simples::before { display: none; }

/* Tabela (vira cartões no celular) */
.tabela-cartao { padding: 0; overflow: hidden; }
.tabela { width: 100%; border-collapse: collapse; }
.tabela th { text-align: left; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--texto-suave); font-weight: 600; padding: 12px 18px; background: #f8fafc; border-bottom: 1px solid var(--borda); }
.tabela td { padding: 14px 18px; border-bottom: 1px solid var(--borda); vertical-align: middle; }
.tabela tr:last-child td { border-bottom: 0; }
.tabela tbody tr { transition: background .12s; }
.tabela tbody tr:hover { background: #fafcfd; }
.tabela .direita { text-align: right; }
.tabela .principal-celula { display: flex; align-items: center; gap: 12px; min-width: 0; }
.tabela .principal-celula strong { display: block; }
.tabela .sub { display: block; color: var(--texto-suave); font-size: .85rem; }
.tabela a.linha-link { color: inherit; }
.tabela a.linha-link:hover { text-decoration: none; color: var(--destaque); }
.mini-logo { width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0; display: grid; place-items: center; font-weight: 700; font-size: .85rem; color: #fff; background: var(--marca-700); overflow: hidden; }
.mini-logo img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
@media (max-width: 760px) {
  .tabela thead { display: none; }
  .tabela, .tabela tbody, .tabela tr, .tabela td { display: block; width: 100%; }
  .tabela tr { padding: 14px 16px; border-bottom: 1px solid var(--borda); }
  .tabela tr:last-child { border-bottom: 0; }
  .tabela td { padding: 4px 0; border: 0; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
  .tabela td[data-rotulo]::before { content: attr(data-rotulo); color: var(--texto-suave); font-size: .85rem; text-align: left; }
  .tabela td.celula-principal { display: block; text-align: left; padding-bottom: 8px; }
}

/* Estado vazio */
.vazio { text-align: center; padding: 48px 24px; color: var(--texto-suave); }
.vazio .vazio-icone { width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 16px; display: grid; place-items: center; background: var(--destaque-claro); color: var(--destaque-escuro); }
.vazio h3 { color: var(--texto); font-size: 1.05rem; }

/* Paginação */
.paginacao { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-top: 1px solid var(--borda); font-size: .875rem; color: var(--texto-suave); }
.paginacao .acoes { gap: 6px; }

/* Formulários */
.form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 20px; align-items: start; }
.form-layout > .coluna { display: grid; gap: 20px; min-width: 0; }
@media (max-width: 1000px) { .form-layout { grid-template-columns: 1fr; } }
.secao h3 { font-size: 1rem; margin: 0 0 4px; }
.secao .secao-desc { color: var(--texto-suave); font-size: .875rem; margin: 0 0 18px; }
.grade { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 16px; }
.c12 { grid-column: span 12; } .c8 { grid-column: span 8; } .c6 { grid-column: span 6; } .c4 { grid-column: span 4; } .c3 { grid-column: span 3; } .c2 { grid-column: span 2; }
@media (max-width: 640px) { .grade > [class^="c"] { grid-column: span 12; } }
select.entrada { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235b6b80' stroke-width='2'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
textarea.entrada { height: auto; min-height: 96px; padding: 12px 14px; resize: vertical; }
.campo.tem-erro .entrada { border-color: var(--erro); }
.campo-erro { color: var(--erro); font-size: .82rem; margin-top: 6px; }
.campo .dica { color: var(--texto-suave); font-size: .8rem; margin-top: 6px; }
.campo label .opcional { color: var(--texto-suave); font-weight: 400; }
.grupo-entrada { display: flex; gap: 8px; }
.grupo-entrada .entrada { flex: 1; min-width: 0; }
.grupo-entrada .botao { height: 48px; flex-shrink: 0; }
.prefixo { position: relative; }
.prefixo span { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--texto-suave); font-weight: 500; }
.prefixo .entrada { padding-left: 42px; }
.barra-form { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 10px; padding: 14px 0; background: linear-gradient(to top, var(--fundo) 70%, transparent); }

/* Opção em cartão (checkbox grande) */
.opcao { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 16px; border: 1.5px solid var(--borda); border-radius: var(--raio-sm); cursor: pointer; transition: border-color .15s, background .15s; margin-bottom: 12px; }
.opcao:hover { border-color: #c9d2de; }
.opcao input { position: absolute; opacity: 0; pointer-events: none; }
.opcao .marca { width: 22px; height: 22px; border-radius: 7px; border: 2px solid #c3cdd9; flex-shrink: 0; display: grid; place-items: center; transition: all .15s; margin-top: 1px; color: #fff; }
.opcao .marca svg { opacity: 0; transition: opacity .15s; }
.opcao strong { display: block; }
.opcao small { color: var(--texto-suave); }
.opcao:has(input:checked) { border-color: var(--destaque); background: #f0fdfa; }
.opcao:has(input:checked) .marca { background: var(--destaque); border-color: var(--destaque); }
.opcao:has(input:checked) .marca svg { opacity: 1; }
.opcao:has(input:focus-visible) { box-shadow: 0 0 0 4px rgba(13, 148, 136, .15); }

/* Interruptor */
.interruptor { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.interruptor input { position: absolute; opacity: 0; }
.interruptor .trilho { width: 44px; height: 26px; border-radius: 999px; background: #cfd8e3; position: relative; transition: background .15s; flex-shrink: 0; }
.interruptor .trilho::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .15s; }
.interruptor input:checked + .trilho { background: var(--destaque); }
.interruptor input:checked + .trilho::after { transform: translateX(18px); }
.interruptor input:focus-visible + .trilho { box-shadow: 0 0 0 4px rgba(13, 148, 136, .2); }

/* Logo e cor */
.logo-area { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.logo-preview { width: 84px; height: 84px; border-radius: 16px; border: 1.5px dashed #c9d2de; display: grid; place-items: center; overflow: hidden; background: #fafbfc; color: var(--texto-suave); flex-shrink: 0; }
.logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.arquivo-botao { position: relative; overflow: hidden; }
.arquivo-botao input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.cor-area { display: flex; align-items: center; gap: 10px; }
.cor-area input[type=color] { width: 48px; height: 48px; border: 1.5px solid var(--borda); border-radius: var(--raio-sm); padding: 4px; background: #fff; cursor: pointer; flex-shrink: 0; }
.previa-teste { margin-top: 16px; border-radius: var(--raio-sm); overflow: hidden; border: 1px solid var(--borda); }
.previa-teste .faixa { padding: 14px 16px; color: #fff; font-weight: 700; display: flex; align-items: center; gap: 10px; background: var(--marca-800); }
.previa-teste .faixa img { width: 28px; height: 28px; border-radius: 7px; background: #fff; object-fit: contain; }
.previa-teste .corpo { padding: 14px 16px; font-size: .85rem; color: var(--texto-suave); }
.previa-teste .botao-previa { margin-top: 10px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: #fff; font-weight: 600; background: var(--destaque); }

/* Caixa de link copiável */
.caixa-link { background: #f0fdfa; border: 1.5px solid #99f6e4; border-radius: var(--raio); padding: 18px; margin-bottom: 20px; }
.caixa-link h3 { font-size: 1rem; margin-bottom: 4px; }
.caixa-link p { margin: 0 0 12px; color: var(--texto-suave); font-size: .9rem; }
.caixa-link .grupo-entrada { flex-wrap: wrap; }
.caixa-link .grupo-entrada .entrada { font-family: ui-monospace, Consolas, monospace; font-size: .85rem; background: #fff; min-width: 240px; }

/* Resumo e listas */
.lista-dados { display: grid; gap: 12px; margin: 0; }
.lista-dados div { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; }
.lista-dados dt { color: var(--texto-suave); }
.lista-dados dd { margin: 0; font-weight: 600; text-align: right; }
.zona-perigo { border-color: #f6caca; }
.texto-suave { color: var(--texto-suave); }
.valor-destaque { font-size: 1.6rem; font-weight: 800; letter-spacing: -.03em; }
.carregando { opacity: .6; pointer-events: none; }

@media (max-width: 900px) {
  .veu { position: fixed; inset: 0; background: rgba(6, 36, 58, .4); z-index: 15; }
  .lateral.aberta + .veu { display: block; }
  .usuario-texto { display: none; }
}
.tabela td.nowrap, .nowrap { white-space: nowrap; }

/* Avaliações */
.mini-disc { display: inline-flex; align-items: flex-end; gap: 3px; height: 26px; }
.mini-disc i { width: 7px; border-radius: 2px 2px 0 0; display: block; }
.resultado-topo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 24px; align-items: center; }
.form-layout > .coluna > * { min-width: 0; }
.perfil-grande { text-align: center; padding: 18px; border-radius: var(--raio); background: #f8fafc; border: 1px solid var(--borda); }
.perfil-grande div { font-size: 3rem; font-weight: 800; letter-spacing: .04em; line-height: 1.1; margin: 4px 0; }
.perfil-grande small { color: var(--texto-suave); font-weight: 600; font-size: .78rem; letter-spacing: .06em; }
.barras-disc { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.barra-disc { text-align: center; }
.barra-disc .valor { font-weight: 700; font-size: .95rem; }
.coluna-disc { position: relative; height: 150px; margin: 6px auto; width: 44px; background: #f1f5f9; border-radius: 10px 10px 4px 4px; overflow: hidden; }
.coluna-disc i { position: absolute; left: 0; right: 0; bottom: 0; border-radius: 10px 10px 4px 4px; }
.coluna-disc b { position: absolute; left: -4px; right: -4px; border-top: 2px dashed rgba(15, 23, 42, .35); }
.barra-disc strong { display: block; font-size: 1.1rem; }
.barra-disc small { color: var(--texto-suave); font-size: .75rem; }
.texto-relatorio { text-align: justify; line-height: 1.65; margin: 8px 0 0; }
.comp-linha { margin-top: 12px; }
.comp-linha > div:first-child { display: flex; justify-content: space-between; font-size: .88rem; margin-bottom: 5px; }
.comp-linha .comp-trilho { height: 8px; background: #eef2f6; border-radius: 99px; overflow: hidden; }
.comp-linha .comp-trilho i { display: block; height: 100%; border-radius: 99px; }

/* Automações */
.grade-automacoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 12px; }
.cartao-automacao { position: relative; display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: var(--raio); border: 1.5px solid var(--borda); background: var(--superficie); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.cartao-automacao:hover { border-color: color-mix(in srgb, var(--destaque) 45%, var(--borda)); }
.cartao-automacao input { position: absolute; opacity: 0; }
.cartao-automacao:has(input:checked) { border-color: var(--destaque); box-shadow: 0 0 0 3px rgba(13, 148, 136, .14); }
.cartao-automacao:has(input:focus-visible) { box-shadow: 0 0 0 4px rgba(13, 148, 136, .25); }
.ca-icone { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; flex-shrink: 0; color: var(--destaque); background: rgba(13, 148, 136, .1); }
.cartao-automacao:has(input:checked) .ca-icone { color: #fff; background: var(--destaque); }
.ca-texto strong { display: block; }
.ca-texto small { display: block; color: var(--texto-suave); margin-top: 2px; line-height: 1.4; }
.barra-iniciar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 18px 0 8px; }
.botao-grande { height: 50px; padding: 0 28px; font-size: 1rem; }
.aviso-rede { color: var(--erro); font-size: .9rem; }
.titulo-secao { font-size: 1rem; margin: 28px 0 12px; }
.lista-execucoes { display: grid; gap: 12px; }
.execucao { padding: 16px 18px; }
.execucao header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.execucao header small { display: block; color: var(--texto-suave); font-size: .82rem; margin-top: 2px; }
.execucao-estado { display: flex; align-items: center; gap: 12px; }
.cronometro { font-variant-numeric: tabular-nums; font-weight: 700; font-size: 1.05rem; min-width: 70px; text-align: right; }
.execucao.rodando { border-color: rgba(59, 130, 246, .45); }
.selo-vivo::before { animation: piscar 1.2s ease-in-out infinite; }
@keyframes piscar { 50% { opacity: .25; } }
.execucao-resumo { margin-top: 14px; padding: 12px 14px; border-radius: var(--raio-sm); background: #f0fdf9; border: 1px solid #bbf7e4; }
.execucao-resumo h4 { margin: 0 0 4px; font-size: .85rem; color: #0f766e; }
.execucao-resumo p { margin: 0; line-height: 1.55; }
.execucao-erro { margin-top: 14px; padding: 10px 14px; border-radius: var(--raio-sm); background: var(--erro-fundo); color: var(--erro); font-size: .9rem; }
.execucao details { margin-top: 12px; }
.execucao summary { cursor: pointer; color: var(--texto-suave); font-size: .85rem; font-weight: 600; }
.passos-execucao { list-style: none; margin: 10px 0 0; padding: 0 0 0 14px; border-left: 2px solid var(--borda); display: grid; gap: 6px; font-size: .88rem; }
.passos-execucao time { color: var(--texto-suave); font-variant-numeric: tabular-nums; margin-right: 10px; }
.lista-marcar { display: grid; gap: 10px; }
.marcar { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.marcar input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--destaque); flex-shrink: 0; }

/* Ícones de relatório (PDF / Drive) na lista de resultados */
.icones-acao { display: inline-flex; align-items: center; gap: 6px; }
.botao-icone-acao { width: 36px; height: 36px; display: inline-grid; place-items: center; border-radius: 10px; border: 1px solid var(--borda); color: var(--texto); background: var(--superficie); transition: background .15s, border-color .15s, color .15s; }
.botao-icone-acao:hover { text-decoration: none; border-color: var(--destaque); color: var(--destaque); background: rgba(13, 148, 136, .06); }
.botao-icone-acao.drive:hover { border-color: #1a73e8; color: #1a73e8; background: rgba(26, 115, 232, .06); }
.selo-mini { padding: 1px 7px; font-size: .7rem; vertical-align: middle; }
.selo-mini::before { width: 5px; height: 5px; }
.selos-linha { display: inline-flex; flex-wrap: wrap; gap: 6px; }

/* Plano e créditos */
.texto-erro { color: var(--erro); }
.texto-sucesso { color: #0f766e; }
.extrato-creditos { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid var(--borda); }
.extrato-creditos li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--borda); font-size: .88rem; }
.extrato-creditos small { display: block; color: var(--texto-suave); font-size: .76rem; }
.faixa-plano { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 16px; margin-bottom: 18px; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--superficie); }
.faixa-plano .rotulo { color: var(--texto-suave); font-size: .82rem; }
.faixa-plano strong { font-size: 1rem; }
.faixa-plano .saldo { font-size: 1.35rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.faixa-plano.esgotado { border-color: color-mix(in srgb, var(--erro) 40%, var(--borda)); background: var(--erro-fundo); }
.faixa-plano.esgotado .saldo { color: var(--erro); }
.bloqueado { opacity: .55; pointer-events: none; }
fieldset.sem-borda { border: 0; margin: 0; padding: 0; min-width: 0; }
fieldset.sem-borda:disabled { opacity: .55; }
.chip-plano { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; border: 1px solid var(--borda); background: var(--superficie); font-size: .8rem; font-weight: 600; white-space: nowrap; color: var(--texto); }
.chip-plano:hover { text-decoration: none; border-color: var(--destaque); }
.chip-plano.esgotado { color: var(--erro); border-color: color-mix(in srgb, var(--erro) 40%, var(--borda)); background: var(--erro-fundo); }
@media (max-width: 640px) { .chip-plano .chip-nome { display: none; } }
.topo .chip-plano { margin-left: auto; margin-right: -4px; }
.execucao-cancelada { margin-top: 14px; padding: 10px 14px; border-radius: var(--raio-sm); background: #f1f5f9; color: var(--texto-suave); font-size: .9rem; }
.aviso-rede.aviso-ok { color: #0f766e; }
.estrutura-drive { margin-top: 14px; padding: 14px 16px; border: 1px solid var(--borda); border-radius: var(--raio-sm); background: #f8fafc; }
.estrutura-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.estrutura-drive ul { margin: 8px 0 0; padding-left: 26px; display: grid; gap: 4px; font-size: .9rem; list-style: "↳  "; }
/* Perfil ideal da função */
.grade-ideal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.rotulo-fator { display: block; font-size: .8rem; font-weight: 700; margin-bottom: 4px; }
.sufixo { position: relative; }
.sufixo .entrada { padding-right: 30px; }
.sufixo span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--texto-suave); font-weight: 600; }
.perfil-ideal { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.pi { font-size: .75rem; font-weight: 700; padding: 2px 7px; border-radius: 6px; white-space: nowrap; }
.pi-d { color: #b91c1c; } .pi.pi-d { background: #fee2e2; }
.pi-i { color: #a16207; } .pi.pi-i { background: #fef3c7; }
.pi-s { color: #15803d; } .pi.pi-s { background: #dcfce7; }
.pi-c { color: #1d4ed8; } .pi.pi-c { background: #dbeafe; }

/* Gestão de Documentos */
.abas-tipo { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 12px; }
.abas-tipo a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; border: 1px solid var(--borda); background: var(--superficie); color: var(--texto); font-size: .86rem; font-weight: 600; }
.abas-tipo a:hover { text-decoration: none; border-color: var(--destaque); }
.abas-tipo a span { font-size: .75rem; color: var(--texto-suave); background: #eef1f5; border-radius: 999px; padding: 1px 7px; }
.abas-tipo a.ativa { background: var(--destaque); border-color: var(--destaque); color: #fff; }
.abas-tipo a.ativa span { background: rgba(255,255,255,.22); color: #fff; }
.selo-roxo { background: #efe9fd; color: #6d28d9; }
.alerta-info { background: #e8eefc; color: #2f4fbf; }
.icone-arquivo { flex-shrink: 0; width: 40px; height: 46px; border-radius: 7px; display: grid; place-items: center; font-size: .62rem; font-weight: 800; letter-spacing: .02em; color: #fff; background: #64748b; position: relative; }
.icone-arquivo.grande { width: 52px; height: 60px; font-size: .75rem; }
.icone-arquivo.ext-pdf { background: #dc2626; }
.icone-arquivo.ext-doc, .icone-arquivo.ext-docx, .icone-arquivo.ext-odt { background: #2563eb; }
.icone-arquivo.ext-xls, .icone-arquivo.ext-xlsx, .icone-arquivo.ext-ods, .icone-arquivo.ext-csv { background: #16a34a; }
.icone-arquivo.ext-ppt, .icone-arquivo.ext-pptx, .icone-arquivo.ext-odp { background: #ea580c; }
.icone-arquivo.ext-png, .icone-arquivo.ext-jpg, .icone-arquivo.ext-jpeg { background: #7c3aed; }
.tabela-docs .principal-celula { align-items: center; }
.tabela-docs .sub .selo-mini { margin-right: 4px; }
.barra-lote { position: sticky; top: 8px; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 14px; margin-bottom: 10px; border-radius: var(--raio); background: #0f172a; color: #fff; box-shadow: 0 8px 24px rgba(15, 23, 42, .18); }
.soltar-arquivo { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 140px; padding: 18px; border: 2px dashed var(--borda); border-radius: var(--raio); color: var(--texto-suave); text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.soltar-arquivo:hover, .soltar-arquivo.sobre { border-color: var(--destaque); background: rgba(13, 148, 136, .05); color: var(--texto); }
.soltar-arquivo input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.soltar-arquivo.escolhido { border-style: solid; border-color: var(--destaque); color: var(--texto); font-weight: 600; }
.envio-link { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--borda); }
.envio-link .campo { margin-bottom: 8px; }
.rotulo-pequeno { font-size: .82rem; font-weight: 700; margin: 0 0 8px; color: var(--texto); }

/* Gestão de Pessoas */
.avatar-grande { width: 52px; height: 52px; font-size: 1.05rem; }
.perfil-codigo { font-size: 1rem; letter-spacing: .04em; }
.linha-perfis { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 12px 0 16px; }
.chip-perfil { display: inline-flex; flex-direction: column; align-items: center; padding: 6px 12px; border-radius: 10px; border: 1px solid var(--borda); background: #f8fafc; line-height: 1.2; }
.chip-perfil strong { font-size: 1rem; }
.chip-perfil small { color: var(--texto-suave); font-size: .72rem; }
.seta-perfil { color: var(--texto-suave); font-weight: 700; }
.comparacao { display: grid; gap: 14px; }
.fator-linha { display: grid; grid-template-columns: 130px 1fr; gap: 12px; align-items: start; }
@media (max-width: 560px) { .fator-linha { grid-template-columns: 1fr; gap: 6px; } }
.fator-nome { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: .9rem; }
.fator-nome span { width: 24px; height: 24px; border-radius: 6px; color: #fff; display: grid; place-items: center; font-size: .78rem; font-weight: 800; }
.fator-barras { display: grid; gap: 4px; }
.barra-teste { display: flex; align-items: center; gap: 8px; min-height: 18px; opacity: .45; }
.barra-teste.atual { opacity: 1; }
.barra-teste .barra { height: 12px; border-radius: 6px; min-width: 3px; }
.barra-teste .valor { font-size: .8rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.barra-teste em { font-style: normal; font-weight: 700; font-size: .74rem; }
.barra-teste em.sobe { color: #15803d; }
.barra-teste em.desce { color: #b91c1c; }
.lista-docs { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.lista-docs a { display: flex; gap: 10px; align-items: center; color: var(--texto); }
.lista-docs a:hover { text-decoration: none; }
.lista-docs small { display: block; color: var(--texto-suave); font-size: .78rem; }
.lista-docs .icone-arquivo { width: 32px; height: 38px; font-size: .55rem; }

/* Função X Perfil */
.filtro-fp { margin-bottom: 16px; }
.lista-marcar.linha { display: flex; flex-wrap: wrap; gap: 14px; min-height: 44px; align-items: center; }
.resumo-fp { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-bottom: 16px; }
.resumo-fp > div { padding: 14px 16px; border-radius: var(--raio); border: 1px solid var(--borda); background: var(--superficie); }
.resumo-fp .rotulo { display: block; font-size: .78rem; color: var(--texto-suave); margin-bottom: 4px; }
.resumo-fp strong { font-size: 1.35rem; }
.resumo-fp .ideal-fp { grid-column: span 2; }
@media (max-width: 560px) { .resumo-fp .ideal-fp { grid-column: auto; } }
.tabela-fp .centro, .tabela-fp th.centro { text-align: center; }
.tabela-fp .linha-ideal td { background: #f8fafc; border-bottom: 2px solid var(--borda); }
.posicao { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #eef1f5; font-weight: 700; font-size: .85rem; }
.posicao.top { background: #fef3c7; color: #92400e; }
.dif { display: block; font-size: .72rem; font-weight: 700; }
.dif.ok { color: #15803d; } .dif.acima { color: #1d4ed8; } .dif.abaixo { color: #b45309; }
.legenda-fp .dif { display: inline; }
.compat-fp { display: inline-block; min-width: 58px; padding: 4px 10px; border-radius: 999px; font-weight: 800; }
.compat-fp-mini { min-width: 46px; padding: 3px 8px; font-size: .85em; }
@media (min-width: 900px) { .tabela-fp th:nth-child(2), .tabela-fp td:nth-child(2) { min-width: 160px; } }
.botao-aderencia { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; font-size: .8rem; font-weight: 700; white-space: nowrap; text-decoration: none;
  color: #fff; background: linear-gradient(135deg, #0B1E3A, #1F3A5F); box-shadow: 0 2px 8px rgba(11,30,58,.18); border: 1px solid #C9A227; }
.botao-aderencia:hover { background: linear-gradient(135deg, #1F3A5F, #0B1E3A); color: #E9D48A; }
.botao-aderencia svg { color: #E9D48A; }
.selo-laranja { background: #ffedd5; color: #c2410c; }
.legenda-fp { margin: 0; padding: 10px 16px 14px; font-size: .8rem; color: var(--texto-suave); }
.grafico-fp, .grafico-dif { display: grid; gap: 8px; margin-top: 14px; }
.gfp-linha { display: grid; grid-template-columns: minmax(90px, 200px) 1fr 52px; gap: 10px; align-items: center; }
.gfp-nome { font-size: .85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--texto); }
.gfp-trilho { position: relative; height: 18px; background: #f1f5f9; border-radius: 6px; overflow: hidden; }
.gfp-barra { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; }
.gfp-marca { position: absolute; top: 0; bottom: 0; width: 0; border-left: 2px dashed rgba(15,23,42,.25); z-index: 1; }
.gfp-valor { font-weight: 800; font-variant-numeric: tabular-nums; font-size: .9rem; text-align: right; }
.gfp-escala { display: grid; grid-template-columns: minmax(90px, 200px) 1fr 52px; gap: 10px; font-size: .72rem; color: var(--texto-suave); }
.gfp-escala > div { position: relative; height: 14px; }
.gfp-escala > div span { position: absolute; transform: translateX(-50%); }
.gfp-escala > div span:first-child { transform: none; }
.gfp-escala > div span:last-child { transform: translateX(-100%); }
.gdif-linha { display: grid; grid-template-columns: minmax(90px, 200px) 1fr; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid var(--borda); }
.gdif-fatores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
@media (min-width: 900px) { .gdif-fatores { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.gdif-fator { display: grid; grid-template-columns: 14px 1fr 42px; gap: 6px; align-items: center; }
.gdif-letra { font-weight: 800; font-size: .8rem; }
.gdif-trilho { position: relative; height: 10px; background: #f1f5f9; border-radius: 5px; }
.gdif-zero { position: absolute; left: 50%; top: -2px; bottom: -2px; border-left: 2px solid #94a3b8; }
.gdif-barra { position: absolute; top: 0; bottom: 0; border-radius: 5px; opacity: .85; }
.gdif-valor { font-size: .74rem; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 560px) { .gfp-linha, .gfp-escala { grid-template-columns: 90px 1fr 44px; } .gdif-linha { grid-template-columns: 1fr; } }

/* ---------- SWOT ---------- */
.acoes-cabecalho { display: flex; gap: 10px; flex-wrap: wrap; }
.swot-descricao { background: #f8fafc; border: 1px dashed var(--borda); border-radius: var(--raio-sm); padding: 12px 14px; margin-bottom: 14px; }
.swot-descricao .rotulo { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-suave); font-weight: 600; }
.swot-descricao p { margin: 6px 0 0; white-space: pre-line; font-size: .9rem; }
.swot-inicio-rodape { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.swot-inicio-rodape p { margin: 0; font-size: .85rem; }

.swot-gerando { text-align: center; padding: 48px 22px; }
.swot-gerando h3 { margin: 18px 0 6px; }
.swot-animacao { display: grid; grid-template-columns: repeat(2, 26px); gap: 6px; justify-content: center; }
.swot-animacao span { width: 26px; height: 26px; border-radius: 7px; animation: swotPulso 1.6s infinite ease-in-out; }
.swot-animacao span:nth-child(1) { background: var(--q-forca); }
.swot-animacao span:nth-child(2) { background: var(--q-fraqueza); animation-delay: .2s; }
.swot-animacao span:nth-child(3) { background: var(--q-oportunidade); animation-delay: .6s; }
.swot-animacao span:nth-child(4) { background: var(--q-ameaca); animation-delay: .4s; }
@keyframes swotPulso { 0%, 100% { transform: scale(.75); opacity: .45; } 50% { transform: scale(1); opacity: 1; } }
.swot-cronometro { margin-top: 14px; font-variant-numeric: tabular-nums; font-weight: 700; font-size: 1.3rem; color: var(--texto-suave); }

.swot-heroi { display: grid; grid-template-columns: minmax(240px, 320px) 1fr; gap: 26px; align-items: center; margin-bottom: 20px; }
.swot-heroi-perfil { display: flex; gap: 16px; align-items: center; }
.swot-heroi-codigo { width: 74px; height: 74px; flex-shrink: 0; border-radius: 18px; display: grid; place-items: center; font-weight: 800; font-size: 1.5rem; color: #fff;
  background: linear-gradient(135deg, var(--marca-700), var(--destaque)); letter-spacing: .03em; }
.swot-barras { flex: 1; display: grid; gap: 7px; }
.swot-barra { display: grid; grid-template-columns: 22px 1fr 44px; align-items: center; gap: 8px; font-size: .82rem; }
.swot-barra-letra { font-weight: 800; text-align: center; }
.fator-d { color: var(--disc-d); } .fator-i { color: var(--disc-i); } .fator-s { color: var(--disc-s); } .fator-c { color: var(--disc-c); }
.fundo-d { background: var(--disc-d); } .fundo-i { background: var(--disc-i); } .fundo-s { background: var(--disc-s); } .fundo-c { background: var(--disc-c); }
.swot-barra-trilho { height: 8px; border-radius: 999px; background: #eef1f5; overflow: hidden; }
.swot-barra-trilho span { display: block; height: 100%; border-radius: inherit; }
.swot-barra-valor { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.swot-heroi-texto .rotulo { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-suave); font-weight: 600; }
.swot-heroi-texto p { margin: 6px 0 8px; line-height: 1.6; }

.swot-painel { display: grid; grid-template-columns: 26px 1fr; grid-template-rows: auto 1fr auto; gap: 8px; }
.swot-eixo-x { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.swot-eixo-x span, .swot-eixo-y span { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--texto-suave); text-align: center; }
.swot-eixo-x span:first-child { color: #15803d; } .swot-eixo-x span:last-child { color: #b91c1c; }
.swot-eixo-y { grid-column: 1; grid-row: 2; display: grid; grid-template-rows: 1fr 1fr; gap: 16px; }
.swot-eixo-y span { writing-mode: vertical-rl; transform: rotate(180deg); display: grid; place-items: center; }
.swot-matriz { grid-column: 2; grid-row: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.swot-legenda { grid-column: 2; font-size: .8rem; margin: 4px 0 0; text-align: center; }
.swot-q { background: var(--superficie); border: 1px solid var(--borda); border-top: 5px solid var(--q); border-radius: var(--raio); box-shadow: var(--sombra); padding: 18px; }
.swot-q header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.swot-letra { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; display: grid; place-items: center; font-size: 1.35rem; font-weight: 800; color: #fff; background: var(--q); }
.swot-q h3 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; gap: 6px; color: var(--q); }
.swot-q header p { margin: 2px 0 0; font-size: .8rem; color: var(--texto-suave); }
.swot-tag { margin-left: auto; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--q); background: var(--q-claro); padding: 3px 8px; border-radius: 999px; white-space: nowrap; }
.swot-q ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.swot-q li { display: flex; align-items: flex-start; gap: 6px; background: var(--q-claro); border-radius: var(--raio-sm); padding: 4px 6px 4px 4px; }
.swot-q details { flex: 1; min-width: 0; }
.swot-q summary { list-style: none; cursor: pointer; display: flex; align-items: flex-start; gap: 10px; padding: 6px 4px; font-weight: 600; font-size: .9rem; line-height: 1.35; }
.swot-q summary::-webkit-details-marker { display: none; }
.swot-n { width: 24px; height: 24px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 800; background: var(--superficie); color: var(--q); border: 1.5px solid var(--q); }
.swot-q details p { margin: 0 4px 8px 38px; font-size: .86rem; color: #334155; line-height: 1.55; }
.swot-q details[open] .swot-n { background: var(--q); color: #fff; }
.swot-mais { width: 30px; height: 30px; margin-top: 3px; flex-shrink: 0; border: 0; border-radius: 8px; background: var(--superficie); color: var(--q); cursor: pointer; display: grid; place-items: center; }
.swot-mais:hover { background: var(--q); color: #fff; }
@media (max-width: 900px) {
  .swot-heroi { grid-template-columns: 1fr; gap: 18px; }
  .swot-painel { grid-template-columns: 1fr; }
  .swot-eixo-x, .swot-eixo-y { display: none; }
  .swot-matriz, .swot-legenda { grid-column: 1; }
  .swot-matriz { grid-template-columns: 1fr; }
}

/* ---------- Plano de Ação ---------- */
.swot-plano { margin-top: 34px; scroll-margin-top: 20px; }
.planos-existentes { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-bottom: 22px; }
.plano-mini { display: grid; gap: 8px; padding: 16px; color: inherit; }
.plano-mini:hover { text-decoration: none; border-color: var(--destaque); }
.plano-mini > div:first-child { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.titulo-novo-plano { font-size: 1rem; margin: 0 0 12px; }
.plano-progresso { display: grid; gap: 8px; margin-top: 4px; }
.plano-progresso > div:first-child { display: flex; justify-content: space-between; align-items: baseline; }
.plano-progresso .rotulo { font-size: .85rem; color: var(--texto-suave); }
.plano-progresso strong { font-size: 1.3rem; }
.acoes-lista { display: grid; gap: 14px; margin-top: 16px; }
.acao-linha { background: var(--superficie); border: 1px solid var(--borda); border-left: 5px solid var(--q, #cbd5e1); border-radius: var(--raio); box-shadow: var(--sombra); padding: 16px 18px 4px; }
.acao-linha[data-q="forca"] { --q: var(--q-forca); } .acao-linha[data-q="fraqueza"] { --q: var(--q-fraqueza); }
.acao-linha[data-q="oportunidade"] { --q: var(--q-oportunidade); } .acao-linha[data-q="ameaca"] { --q: var(--q-ameaca); }
.acao-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
.acao-num { font-weight: 800; font-size: .85rem; color: var(--texto-suave); text-transform: uppercase; letter-spacing: .05em; }
.acao-quadrantes { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.qchip { position: relative; }
.qchip input { position: absolute; opacity: 0; pointer-events: none; }
.qchip span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; border: 1.5px solid var(--borda); font-size: .82rem; font-weight: 600; cursor: pointer; color: var(--texto-suave); background: var(--superficie); }
.qchip span b { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; font-size: .72rem; color: #fff; background: var(--q); }
.qchip input:checked + span { border-color: var(--q); background: var(--q-claro); color: var(--q); }
.qchip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(13, 148, 136, .25); }
.plano-botoes { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 18px; position: sticky; bottom: 0; padding: 12px 0; background: linear-gradient(transparent, var(--fundo) 30%); z-index: 2; }
.plano-botoes .espaco { flex: 1; }
@media (max-width: 640px) { .plano-botoes .botao { flex: 1 1 100%; } .plano-botoes .espaco { display: none; } }
.plano-resumo { display: flex; gap: 26px; align-items: center; margin-bottom: 20px; flex-wrap: wrap; }
.plano-resumo-dados { flex: 1; min-width: 240px; display: grid; gap: 12px; }
.plano-contadores { display: flex; gap: 18px; flex-wrap: wrap; font-size: .9rem; }
.plano-contadores .ponto { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; }
.ponto.cinza { background: #94a3b8; } .ponto.amarelo { background: #eab308; } .ponto.verde { background: #16a34a; }
.plano-datas { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: .85rem; color: var(--texto-suave); }
.plano-link .rotulo { font-size: .8rem; color: var(--texto-suave); }
.copiar-linha { display: flex; gap: 8px; margin-top: 4px; }
.copiar-linha .entrada { font-size: .8rem; }
.lista-simples { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 6px; }
.excluir-plano { margin-top: 24px; text-align: right; }
.resumo-planos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; }
.resumo-planos .cartao { padding: 16px 18px; }
.resumo-planos .rotulo { display: block; font-size: .8rem; color: var(--texto-suave); }
.resumo-planos strong { font-size: 1.5rem; }
.pct-celula { display: flex; align-items: center; gap: 10px; min-width: 140px; }
.pct-celula .barra-pct { flex: 1; }

@media print {
  .lateral, .topo, .acoes-cabecalho, .voltar, .swot-plano, .swot-mais, .swot-legenda, .alerta { display: none !important; }
  .swot-q, .swot-heroi { box-shadow: none; break-inside: avoid; }
  body { background: #fff; }
}

/* ---------- PDI, Agente WhatsApp e Acompanhamento ---------- */
.c5 { grid-column: span 5; }
@media (max-width: 640px) { .grade > .c5 { grid-column: span 12; } }
.q-pdi { --q: #1F3A5F; --q-claro: #eef3f9; }
.acao-linha:not([data-q]) { --q: #1F3A5F; }

.pdi-resumo { display: grid; grid-template-columns: 1.2fr 1fr; gap: 16px; margin-bottom: 16px; }
.pdi-resumo .cartao { padding: 18px 20px; }
.pdi-resumo .rotulo { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-suave); font-weight: 600; margin-bottom: 10px; }
.pdi-fatores { display: grid; gap: 9px; margin-bottom: 8px; }
.pdi-fator { display: grid; grid-template-columns: 22px 1fr 48px; align-items: center; gap: 8px; font-size: .85rem; }
.pdi-fator .swot-barra-trilho { position: relative; overflow: visible; height: 10px; }
.pdi-marca-ideal { position: absolute; top: -4px; width: 3px; height: 18px; margin-left: -1px; border-radius: 2px; background: #0f172a; }
.pdi-compat { display: inline-block; font-size: 2rem; padding: 4px 16px; border-radius: 12px; }
.pdi-resumo-compat p { margin: 0; line-height: 1.55; }
.pdi-previa { margin-bottom: 8px; padding: 0; overflow: hidden; }
.pdi-previa summary { cursor: pointer; padding: 16px 20px; }
.pdi-previa iframe { display: block; width: 100%; height: 900px; border: 0; border-top: 1px solid var(--borda); background: #e9edf2; }
@media (max-width: 900px) { .pdi-resumo { grid-template-columns: 1fr; } .pdi-previa iframe { height: 640px; } }

.agente-plano { margin-top: 16px; border-left: 5px solid #25d366; }
.agente-plano-topo { display: flex; gap: 14px; align-items: flex-start; }
.agente-plano-topo h3 { margin: 0; }
.agente-icone { width: 44px; height: 44px; flex-shrink: 0; border-radius: 12px; display: grid; place-items: center; background: #dcfce7; color: #15803d; }
.dias-semana { display: flex; flex-wrap: wrap; gap: 6px; }
.dias-semana label { position: relative; }
.dias-semana input { position: absolute; opacity: 0; pointer-events: none; }
.dias-semana span { display: inline-grid; place-items: center; min-width: 46px; height: 40px; padding: 0 8px; border-radius: 10px; border: 1.5px solid var(--borda); font-size: .85rem; font-weight: 600; color: var(--texto-suave); cursor: pointer; background: var(--superficie); }
.dias-semana input:checked + span { border-color: #16a34a; background: #dcfce7; color: #166534; }
.dias-semana input:focus-visible + span { box-shadow: 0 0 0 3px rgba(13, 148, 136, .25); }

.agente-grade { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; margin-bottom: 16px; }
.agente-grade .cartao { margin: 0; }
@media (max-width: 900px) { .agente-grade { grid-template-columns: 1fr; } }
.agente-status { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.agente-qr { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; background: #f8fafc; border: 1px dashed var(--borda); border-radius: var(--raio-sm); padding: 14px; margin-bottom: 14px; }
.agente-qr img { width: 230px; height: 230px; background: #fff; border-radius: 8px; }
.agente-qr ol { flex: 1; min-width: 200px; margin: 0; padding-left: 18px; font-size: .9rem; display: grid; gap: 6px; }
.agente-botoes { display: flex; gap: 10px; flex-wrap: wrap; }
.agente-consumo { display: flex; align-items: baseline; gap: 8px; margin-bottom: 10px; }
.agente-consumo strong { font-size: 2rem; }
.agente-consumo span { color: var(--texto-suave); }
.agente-seguranca { margin-top: 18px; }
.agente-seguranca summary { cursor: pointer; }
.agente-seguranca ul { margin: 12px 0 0; padding-left: 18px; display: grid; gap: 6px; font-size: .9rem; }

.conversa { display: flex; flex-direction: column; gap: 10px; max-height: 560px; overflow-y: auto; padding: 4px; }
.msg { max-width: 78%; padding: 10px 14px; border-radius: 14px; font-size: .9rem; }
.msg p { margin: 0 0 4px; white-space: pre-line; }
.msg small { color: var(--texto-suave); font-size: .72rem; }
.msg-agente { align-self: flex-start; background: #f1f5f9; border-top-left-radius: 4px; }
.msg-pessoa { align-self: flex-end; background: #dcfce7; border-top-right-radius: 4px; }
.msg-erro { background: var(--erro-fundo); }

.kpis-acomp { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.kpis-acomp .cartao { padding: 14px 16px; display: grid; gap: 4px; }
.kpis-acomp .rotulo { font-size: .76rem; color: var(--texto-suave); }
.kpis-acomp strong { font-size: 1.5rem; }
@media (max-width: 1100px) { .kpis-acomp { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .kpis-acomp { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.grupo-funcao { padding: 0; overflow: hidden; margin-bottom: 18px; }
.grupo-funcao header { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 18px; border-bottom: 1px solid var(--borda); background: #f8fafc; }
.grupo-funcao h3 { margin: 0 0 2px; font-size: 1.05rem; }
.barra-situacoes { display: flex; width: 220px; max-width: 100%; height: 12px; border-radius: 999px; overflow: hidden; background: #e2e8f0; }
.grupo-funcao .sub { display: block; }

/* ---------- Perfil ideal da função: soma, automação e Estúdio ---------- */
.perfil-bloco-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: .5rem; }
.perfil-bloco-topo > label:first-child { margin: 0; }
.auto-switch { position: relative; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 700; font-size: .82rem; white-space: nowrap;
  padding: 4px 10px 4px 6px; border-radius: 999px; background: linear-gradient(135deg, #f5f3ff, #ecfeff); border: 1px solid #ddd6fe; color: #5b21b6; }
.auto-switch input { position: absolute; opacity: 0; }
.auto-switch .trilho { width: 34px; height: 20px; border-radius: 999px; background: #cfd8e3; position: relative; transition: background .15s; flex-shrink: 0; }
.auto-switch .trilho::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .15s; }
.auto-switch input:checked + .trilho { background: linear-gradient(135deg, #7c3aed, #0d9488); }
.auto-switch input:checked + .trilho::after { transform: translateX(14px); }
.auto-switch input:focus-visible + .trilho { box-shadow: 0 0 0 3px rgba(124, 58, 237, .25); }
.auto-switch .auto-rotulo { display: inline-flex; align-items: center; gap: 4px; }
.auto-switch.bloqueado { cursor: not-allowed; opacity: .6; background: #f1f5f9; border-color: var(--borda); color: var(--texto-suave); }
.premium-dica { margin: 0 0 10px; padding: 8px 10px; border-radius: 8px; background: #faf5ff; color: #6b21a8 !important; }
.soma-ideal { margin-top: 12px; padding: 10px 12px; border-radius: var(--raio-sm); background: #f8fafc; border: 1px solid var(--borda); }
.soma-ideal-linha { display: flex; justify-content: space-between; align-items: baseline; font-size: .84rem; color: var(--texto-suave); }
.soma-ideal-linha strong { font-size: 1.05rem; color: var(--texto); }
.soma-ideal-barra { height: 8px; border-radius: 999px; background: #e7ecf2; overflow: hidden; margin: 6px 0; }
.soma-ideal-barra span { display: block; height: 100%; border-radius: inherit; background: #f59e0b; transition: width .3s ease, background .2s; }
.soma-ideal-msg { margin: 0; font-size: .78rem; color: var(--texto-suave); }
.soma-ideal.soma-ok { border-color: #bbf7d0; background: #f0fdf4; }
.soma-ideal.soma-ok .soma-ideal-barra span { background: #16a34a; }
.soma-ideal.soma-ok .soma-ideal-msg { color: #15803d; font-weight: 600; }
.soma-ideal.soma-erro { border-color: #fecaca; background: #fef2f2; animation: tremer .3s; }
.soma-ideal.soma-erro .soma-ideal-barra span { background: var(--erro); }
.soma-ideal.soma-erro .soma-ideal-msg, .soma-ideal.soma-erro strong { color: var(--erro); font-weight: 700; }
@keyframes tremer { 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
.perfil-origem { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.perfil-por-que { margin-top: 10px; font-size: .84rem; background: #faf5ff; border: 1px solid #e9d5ff; border-radius: var(--raio-sm); padding: 8px 12px; }
.perfil-por-que summary { cursor: pointer; font-weight: 700; color: #6b21a8; }
.perfil-por-que p { margin: 8px 0 0; line-height: 1.5; }
.grade-ideal .entrada[readonly] { background: #f8fafc; color: var(--texto); font-weight: 700; }
.destaque-ia { animation: brilhoIa 1.2s ease; }
@keyframes brilhoIa { 0% { box-shadow: 0 0 0 0 rgba(124, 58, 237, .5); border-color: #7c3aed; } 100% { box-shadow: 0 0 0 10px rgba(124, 58, 237, 0); } }

.estudio { border: 0; padding: 0; width: min(1240px, calc(100vw - 32px)); max-height: calc(100vh - 32px); border-radius: 20px; background: var(--superficie);
  box-shadow: 0 30px 80px rgba(15, 23, 42, .35); color: var(--texto); }
.estudio::backdrop { background: rgba(8, 47, 73, .55); backdrop-filter: blur(3px); }
.estudio[open] { animation: subir .22s ease; }
@keyframes subir { from { transform: translateY(14px); opacity: 0; } to { transform: none; opacity: 1; } }
.estudio-caixa { display: flex; flex-direction: column; max-height: calc(100vh - 32px); }
.estudio-topo { display: flex; justify-content: space-between; gap: 16px; padding: 20px 26px 16px; color: #fff;
  background: radial-gradient(circle at 85% 0%, rgba(124, 58, 237, .55), transparent 55%), linear-gradient(135deg, var(--marca-800), #0b4466 60%, #0d9488); }
.estudio-marca { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: rgba(255,255,255,.14); padding: 3px 10px; border-radius: 999px; }
.estudio-topo h2 { margin: 8px 0 4px; font-size: 1.4rem; }
.estudio-topo p { margin: 0; opacity: .85; font-size: .9rem; max-width: 720px; }
.estudio-fechar { width: 40px; height: 40px; flex-shrink: 0; border: 0; border-radius: 12px; background: rgba(255,255,255,.14); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.estudio-fechar:hover { background: rgba(255,255,255,.25); }
.estudio-corpo { display: grid; grid-template-columns: 290px 1fr; gap: 0; overflow: auto; min-height: 0; }
.estudio-painel { padding: 20px; border-right: 1px solid var(--borda); background: #f8fafc; display: grid; gap: 18px; align-content: start; position: sticky; top: 0; }
.estudio-total { display: flex; gap: 14px; align-items: center; }
.estudio-total p { margin: 0; font-size: .85rem; color: var(--texto-suave); line-height: 1.4; }
.anel-total { --pct: 0; width: 92px; height: 92px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; transition: background .3s;
  background: conic-gradient(#7c3aed calc(var(--pct) * 1%), #e2e8f0 0); }
.anel-total.completo { background: conic-gradient(#16a34a calc(var(--pct) * 1%), #e2e8f0 0); }
.anel-total > div { width: 72px; height: 72px; border-radius: 50%; background: var(--superficie); display: grid; place-content: center; text-align: center; }
.anel-total strong { font-size: 1.35rem; line-height: 1; }
.anel-total span { font-size: .66rem; color: var(--texto-suave); }
.grafico-disc { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; height: 200px; padding: 12px 10px 8px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 14px;
  background-image: repeating-linear-gradient(to top, transparent 0 calc(25% - 1px), #eef1f5 calc(25% - 1px) 25%); }
.gd-coluna { display: grid; grid-template-rows: auto 1fr auto; justify-items: center; gap: 6px; min-height: 0; }
.gd-valor { font-weight: 800; font-size: .85rem; font-variant-numeric: tabular-nums; }
.gd-trilho { width: 30px; height: 100%; display: flex; align-items: flex-end; border-radius: 8px; background: #f1f5f9; overflow: hidden; }
.gd-barra { display: block; width: 100%; height: 0; border-radius: 8px 8px 4px 4px; background: linear-gradient(to top, var(--cor), color-mix(in srgb, var(--cor) 55%, #fff));
  transition: height .45s cubic-bezier(.2, .9, .3, 1.2); }
.gd-letra { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: .82rem; }
.grafico-disc.modo-ia { border-color: #c4b5fd; box-shadow: 0 0 0 3px rgba(124, 58, 237, .12); }
.grafico-disc.carregando .gd-barra { animation: respirar 1s ease-in-out infinite alternate; }
@keyframes respirar { to { opacity: .35; } }
.estudio-legenda { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .8rem; color: var(--texto-suave); }
.nivel { display: inline-block; width: 18px; height: 10px; border-radius: 4px; margin-right: 6px; vertical-align: middle; border: 1.5px solid #94a3b8; }
.nivel.n1 { background: linear-gradient(90deg, #64748b 50%, transparent 50%); }
.nivel.n2 { background: #64748b; }
.botao-ia { color: #fff; background: linear-gradient(135deg, #7c3aed, #0d9488); box-shadow: 0 8px 20px rgba(124, 58, 237, .3); border: 0; }
.botao-ia:hover { filter: brightness(1.07); text-decoration: none; }
.botao-ia:disabled { opacity: .8; cursor: progress; }
.estudio-ia-dica { margin: 8px 0 0; font-size: .76rem; color: var(--texto-suave); line-height: 1.45; }
.estudio-ia .alerta { margin: 10px 0 0; }
.estudio-ia-resultado { margin-top: 12px; padding: 12px; border-radius: 12px; background: #faf5ff; border: 1px solid #e9d5ff; font-size: .8rem; line-height: 1.5; max-height: 280px; overflow: auto; }
.estudio-ia-resultado strong { color: #6b21a8; }
.estudio-ia-resultado p { margin: 6px 0 0; }
.estudio-fatores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 20px; align-content: start; }
.ef-fator { border: 1px solid var(--borda); border-top: 4px solid var(--cor); border-radius: 14px; padding: 14px; background: var(--superficie); }
.ef-fator header { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; }
.ef-letra { width: 38px; height: 38px; flex-shrink: 0; border-radius: 11px; display: grid; place-items: center; color: #fff; font-weight: 800; font-size: 1.1rem; background: var(--cor); }
.ef-fator h3 { margin: 0; font-size: 1rem; color: var(--cor); }
.ef-fator header p { margin: 1px 0 0; font-size: .76rem; color: var(--texto-suave); }
.ef-pct { margin-left: auto; font-size: 1.25rem; font-variant-numeric: tabular-nums; color: var(--cor); }
.ef-chips { display: grid; gap: 8px; }
.chip-car { position: relative; display: grid; grid-template-columns: 1fr auto; grid-template-areas: "nome nivel" "desc nivel"; gap: 0 10px; align-items: center; text-align: left;
  padding: 9px 12px; border-radius: 11px; border: 1.5px solid var(--borda); background: var(--superficie); color: var(--texto); cursor: pointer; font: inherit; transition: border-color .15s, background .15s, transform .1s; }
.chip-car:hover:not(:disabled) { border-color: color-mix(in srgb, var(--cor) 60%, #fff); }
.chip-car:focus-visible { outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 30%, transparent); }
.chip-nome { grid-area: nome; font-weight: 700; font-size: .86rem; }
.chip-desc { grid-area: desc; font-size: .74rem; color: var(--texto-suave); }
.chip-nivel { grid-area: nivel; display: flex; gap: 3px; }
.chip-nivel i { width: 8px; height: 18px; border-radius: 3px; border: 1.5px solid #cbd5e1; }
.chip-car[data-nivel="1"] { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 7%, #fff); }
.chip-car[data-nivel="2"] { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 16%, #fff); }
.chip-car[data-nivel="1"] .chip-nivel i:first-child, .chip-car[data-nivel="2"] .chip-nivel i { background: var(--cor); border-color: var(--cor); }
.chip-car[data-nivel="2"]::after { content: "Essencial"; position: absolute; top: -8px; right: 10px; font-size: .6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
  color: #fff; background: var(--cor); padding: 1px 6px; border-radius: 999px; }
.chip-car.travado { opacity: .4; cursor: not-allowed; }
.chip-car.pulso { animation: pulsoChip .25s ease; }
@keyframes pulsoChip { 50% { transform: scale(.97); } }
.estudio-rodape { display: flex; gap: 10px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--borda); background: var(--superficie); }
.estudio-rodape .espaco { flex: 1; }
@media (max-width: 1000px) {
  .estudio-corpo { grid-template-columns: 1fr; }
  .estudio-painel { position: static; border-right: 0; border-bottom: 1px solid var(--borda); }
}
@media (max-width: 640px) {
  .estudio { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; margin: 0; }
  .estudio-caixa { max-height: 100dvh; height: 100%; }
  .estudio-topo { padding: 16px; } .estudio-topo p { display: none; }
  .estudio-fatores { grid-template-columns: 1fr; padding: 14px; }
  .estudio-rodape { flex-wrap: wrap; } .estudio-rodape .botao { flex: 1; } .estudio-rodape .espaco { display: none; }
}

/* ---------- Quadro do Plano de Ação (Atividade · SWOT · % Conclusão · Status · Atualização) ---------- */
.quadro-plano { padding: 0; overflow: hidden; }
.quadro-plano-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 16px 20px; border-bottom: 1px solid var(--borda);
  background: linear-gradient(135deg, #f0fdfa, #f8fafc); }
.quadro-plano-topo h3 { margin: 0; font-size: 1.15rem; color: var(--marca-800); }
.quadro-plano-topo span { font-size: .82rem; }
.quadro-plano-rolagem { overflow-x: auto; }
.tabela-plano { width: 100%; border-collapse: collapse; min-width: 760px; }
.tabela-plano th { text-align: left; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: #fff; background: var(--marca-700); padding: 10px 14px; font-weight: 700; }
.tabela-plano th small { text-transform: none; letter-spacing: 0; opacity: .8; font-weight: 500; }
.tabela-plano td { padding: 12px 14px; border-bottom: 1px solid var(--borda); vertical-align: middle; font-size: .9rem; }
.tabela-plano tbody tr:nth-child(even) td { background: #fafcfd; }
.tabela-plano .qp-atividade { max-width: 340px; }
.tabela-plano .qp-atividade a { color: var(--texto); font-weight: 600; }
.tabela-plano .qp-atividade a:hover { color: var(--destaque); text-decoration: none; }
.qp-swot { display: inline-block; font-weight: 700; font-size: .82rem; color: #1F3A5F; padding: 3px 10px; border-radius: 999px; background: #eef3f9; }
.qp-swot.q-forca, .qp-swot.q-fraqueza, .qp-swot.q-oportunidade, .qp-swot.q-ameaca { color: var(--q); background: var(--q-claro); }
.qp-niveis { display: inline-flex; gap: 5px; vertical-align: middle; }
.qp-nivel { min-width: 46px; height: 34px; padding: 0 6px; border-radius: 9px; border: 1.5px solid #cbd5e1; background: var(--superficie); color: var(--texto-suave);
  font: 700 .78rem Inter, sans-serif; cursor: pointer; transition: background .15s, border-color .15s, color .15s, transform .1s; }
.qp-nivel:hover { border-color: var(--destaque); color: var(--destaque); }
.qp-nivel:active { transform: scale(.95); }
.qp-nivel.on { background: var(--destaque); border-color: var(--destaque); color: #fff; }
.qp-nivel:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(13, 148, 136, .3); }
.qp-valor { display: block; margin-top: 4px; font-size: .78rem; color: var(--texto-suave); }
.qp-data { white-space: nowrap; color: var(--texto-suave); font-size: .85rem; }
.quadro-plano-conclusao { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; padding: 16px 20px; background: #f8fafc; }
.quadro-plano-conclusao span { font-weight: 800; color: var(--marca-800); }
.quadro-plano-conclusao strong { font-size: 1.6rem; color: var(--marca-800); min-width: 64px; text-align: right; }
.quadro-plano-conclusao .barra-pct { height: 12px; }
@media (max-width: 760px) {
  .tabela-plano { min-width: 0; }
  .tabela-plano thead { display: none; }
  .tabela-plano, .tabela-plano tbody, .tabela-plano tr, .tabela-plano td { display: block; width: 100%; }
  .tabela-plano tr { padding: 12px 14px; border-bottom: 1px solid var(--borda); }
  .tabela-plano td { border: 0; padding: 4px 0; background: none !important; }
  .tabela-plano td[data-rotulo]::before { content: attr(data-rotulo); display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-suave); margin-bottom: 2px; }
  .quadro-plano-conclusao { grid-template-columns: 1fr auto; } .quadro-plano-conclusao .barra-pct { grid-column: 1 / -1; grid-row: 2; }
}
.acao-progresso-resumo { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.acao-progresso-resumo strong { font-size: 1.1rem; }
.avisos-plano { margin-top: 16px; }

/* Botão "Definição" (abre o Estúdio do Perfil Ideal) */
.botao-definicao { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border: 0; border-radius: 999px; cursor: pointer; white-space: nowrap;
  font: 700 .84rem Inter, sans-serif; color: #fff; background: linear-gradient(135deg, #7c3aed, #0d9488); box-shadow: 0 4px 14px rgba(124, 58, 237, .28); transition: filter .15s, transform .1s; }
.botao-definicao:hover:not(:disabled) { filter: brightness(1.08); }
.botao-definicao:active:not(:disabled) { transform: scale(.97); }
.botao-definicao:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(124, 58, 237, .3); }
.botao-definicao:disabled { cursor: not-allowed; color: var(--texto-suave); background: #eef1f5; box-shadow: none; }
/* Flag “Plano de ação concluído” */
.conclusao-montagem { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 16px; padding: 16px 18px;
  border: 1.5px dashed #cbd5e1; transition: border-color .2s, background .2s; }
.conclusao-montagem.marcado { border-style: solid; border-color: #16a34a; background: #f0fdf4; }
.flag-montagem { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; margin: 0; }
.flag-montagem input { position: absolute; opacity: 0; }
.flag-caixa { width: 26px; height: 26px; flex-shrink: 0; border-radius: 8px; border: 2px solid #94a3b8; display: grid; place-items: center; color: transparent; background: #fff; transition: all .15s; }
.flag-montagem input:checked + .flag-caixa { background: #16a34a; border-color: #16a34a; color: #fff; }
.flag-montagem input:focus-visible + .flag-caixa { box-shadow: 0 0 0 3px rgba(22, 163, 74, .3); }
.flag-montagem strong { display: block; font-size: 1rem; }
.flag-montagem small { display: block; color: var(--texto-suave); font-size: .82rem; margin-top: 2px; }
.plano-dica-envio { margin: 0 0 8px; text-align: right; font-size: .82rem; color: var(--texto-suave); }
@media (max-width: 640px) { .plano-dica-envio { text-align: left; } }
/* ---------- Créditos: menu bloqueado, carteiras no topo, tela de créditos ---------- */
.menu-bloqueado { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: rgba(255, 255, 255, .38); cursor: not-allowed; font-weight: 500; }
.menu-bloqueado .cadeado { margin-left: auto; opacity: .9; }

.carteiras-topo { display: flex; gap: 8px; margin-left: auto; margin-right: 12px; }
.carteira-chip { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 6px; border-radius: 999px; border: 1px solid var(--borda); background: var(--superficie);
  color: var(--texto); text-decoration: none; transition: border-color .15s, transform .1s; }
.carteira-chip:hover { border-color: var(--destaque); text-decoration: none; }
.carteira-chip .cc-icone { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .8rem; color: #fff; }
.carteira-chip.disc .cc-icone { background: linear-gradient(135deg, #0b4466, #0d9488); }
.carteira-chip.automacao .cc-icone { background: linear-gradient(135deg, #7c3aed, #4f46e5); }
.carteira-chip .cc-texto { display: grid; line-height: 1.1; }
.carteira-chip small { font-size: .64rem; color: var(--texto-suave); text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.carteira-chip strong { font-size: .95rem; }
.carteira-chip.baixa { border-color: #fcd34d; background: #fffbeb; }
.carteira-chip.zerada { border-color: #fecaca; background: #fef2f2; }
.carteira-chip.zerada strong { color: var(--erro); }
@media (max-width: 760px) { .carteiras-topo { margin: 0; } .carteira-chip small { display: none; } .carteira-chip { padding-right: 10px; } }

.carteiras { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 20px; }
@media (max-width: 900px) { .carteiras { grid-template-columns: 1fr; } }
.carteira-cartao { position: relative; overflow: hidden; border-radius: 20px; padding: 22px 24px; color: #fff; box-shadow: 0 18px 40px rgba(15, 23, 42, .18); }
.carteira-cartao::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255, 255, 255, .08); }
.carteira-disc { background: radial-gradient(circle at 90% 0%, rgba(45, 212, 191, .35), transparent 50%), linear-gradient(135deg, #062a40, #0b4466 55%, #0d9488); }
.carteira-auto { background: radial-gradient(circle at 90% 0%, rgba(167, 139, 250, .4), transparent 50%), linear-gradient(135deg, #1e1b4b, #4c1d95 55%, #7c3aed); }
.carteira-cartao.zerada { filter: saturate(.55); }
.cc-topo { display: flex; gap: 12px; align-items: center; position: relative; z-index: 1; }
.cc-selo { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-weight: 800; font-size: 1.2rem; background: rgba(255, 255, 255, .16); }
.cc-topo h3 { margin: 0; font-size: 1.1rem; color: #fff; }
.cc-topo p { margin: 2px 0 0; font-size: .82rem; opacity: .8; }
.cc-saldo { display: flex; align-items: baseline; gap: 10px; margin: 18px 0 10px; position: relative; z-index: 1; }
.cc-saldo strong { font-size: 3.4rem; line-height: 1; font-weight: 800; letter-spacing: -.02em; }
.cc-saldo span { opacity: .85; }
.cc-status { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; position: relative; z-index: 1; }
.cc-status small { opacity: .8; }
.cc-pilula { display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: .8rem; font-weight: 700; background: rgba(255, 255, 255, .16); }
.cc-pilula.ok { color: #bbf7d0; } .cc-pilula.baixo { color: #fde68a; background: rgba(245, 158, 11, .22); } .cc-pilula.zero { color: #fecaca; background: rgba(220, 38, 38, .28); }
.cc-info { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid rgba(255, 255, 255, .16); display: grid; gap: 4px; font-size: .84rem; opacity: .9; position: relative; z-index: 1; }

.saldo-tag { display: inline-block; min-width: 38px; text-align: center; padding: 3px 10px; border-radius: 999px; font-weight: 800; font-size: .85rem; }
.saldo-tag.ok { background: var(--sucesso-fundo); color: #166534; } .saldo-tag.baixo { background: var(--aviso-fundo); color: #92400e; }
.saldo-tag.zerado { background: var(--erro-fundo); color: var(--erro); } .saldo-tag.ilimitado { background: #e0f2fe; color: #075985; }

.lancamento h3 { margin-top: 0; }
.lanc-carteiras { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.lanc-op, .lanc-pacote { position: relative; cursor: pointer; }
.lanc-op input, .lanc-pacote input { position: absolute; opacity: 0; }
.lanc-op span { display: grid; gap: 2px; padding: 12px 14px; border-radius: 12px; border: 1.5px solid var(--borda); }
.lanc-op small { color: var(--texto-suave); font-size: .78rem; }
.lanc-op input:checked + span { border-color: var(--destaque); background: var(--destaque-claro); }
.lanc-automacao input:checked + span { border-color: #7c3aed; background: #f5f3ff; }
.lanc-pacotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin-bottom: 14px; }
.lanc-pacote span { display: grid; gap: 2px; padding: 12px 14px; border-radius: 12px; border: 1.5px dashed #cbd5e1; text-align: center; }
.lanc-pacote strong { font-size: 1.4rem; }
.lanc-pacote small { color: var(--texto-suave); font-size: .76rem; }
.lanc-pacote em { font-style: normal; font-weight: 700; color: var(--destaque-escuro); }
.lanc-pacote input:checked + span { border-style: solid; border-color: var(--destaque); background: #f0fdfa; }
.lanc-pacote input:focus-visible + span, .lanc-op input:focus-visible + span { box-shadow: 0 0 0 3px rgba(13, 148, 136, .25); }

.tabela-precos { margin-top: 8px; }
.tabela-precos h3 { font-size: 1.05rem; margin: 0 0 12px; }
.precos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .precos { grid-template-columns: 1fr; } }
.preco { position: relative; background: var(--superficie); border: 1px solid var(--borda); border-radius: 16px; padding: 18px; box-shadow: var(--sombra); }
.preco.destaque { border: 2px solid var(--destaque); }
.preco-tag { position: absolute; top: -10px; right: 14px; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #fff; background: var(--destaque); padding: 2px 10px; border-radius: 999px; }
.preco h4 { margin: 0 0 6px; font-size: 1rem; }
.preco-valor { font-size: 1.7rem; font-weight: 800; color: var(--marca-800); }
.preco-valor small { font-size: .85rem; font-weight: 600; color: var(--texto-suave); }
.preco p { margin: 8px 0 0; font-size: .86rem; color: var(--texto-suave); line-height: 1.5; }
.precos-cta { margin: 14px 0 0; font-size: .9rem; }

.abas-extrato { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: #eef1f5; }
.abas-extrato a { padding: 6px 14px; border-radius: 999px; font-size: .84rem; font-weight: 600; color: var(--texto-suave); }
.abas-extrato a.ativo { background: var(--superficie); color: var(--texto); box-shadow: var(--sombra); text-decoration: none; }
.abas-extrato a:hover { text-decoration: none; }
.carteira-mini { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: .74rem; font-weight: 700; }
.carteira-mini.disc { background: #ccfbf1; color: #0f766e; } .carteira-mini.automacao { background: #ede9fe; color: #6d28d9; }
.qtd-mais { color: #16a34a; } .qtd-menos { color: var(--erro); }

.aviso-credito { display: flex; align-items: center; gap: 10px; padding: 10px 14px; margin: 0 0 14px; border-radius: 12px; background: #f5f3ff; border: 1px solid #ddd6fe; font-size: .86rem; color: #4c1d95; }
.aviso-credito .ac-icone { width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #7c3aed, #4f46e5); color: #fff; font-size: .85rem; }
.aviso-credito.zerado { background: var(--erro-fundo); border-color: #fecaca; color: #7f1d1d; align-items: flex-start; }
.aviso-credito.zerado .ac-icone { background: var(--erro); }
.aviso-credito.zerado p { margin: 2px 0 0; }
.aviso-credito.zerado .botao { margin-left: auto; flex-shrink: 0; }

.mini-carteiras { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0; }
.mini-carteiras > div { display: grid; gap: 2px; padding: 12px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #0b4466, #0d9488); }
.mini-carteiras > div.auto { background: linear-gradient(135deg, #4c1d95, #7c3aed); }
.mini-carteiras > div.zerada { filter: saturate(.4); }
.mini-carteiras small { font-size: .68rem; text-transform: uppercase; letter-spacing: .04em; opacity: .85; }
.mini-carteiras strong { font-size: 1.6rem; line-height: 1.1; }
.mini-carteiras span { font-size: .74rem; opacity: .85; }

/* ---------- Analista DISC (consultor) e Monitoramento ---------- */
.lista-empresas-consultor { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px 14px; max-height: 280px; overflow: auto;
  padding: 10px 12px; border: 1px solid var(--borda); border-radius: var(--raio-sm); background: #f8fafc; }
.mon-titulo { font-size: 1.05rem; margin: 20px 0 12px; }
.mon-analistas { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; margin-bottom: 20px; }
.mon-analista { padding: 18px; display: grid; gap: 14px; }
.mon-analista.selecionado { border-color: var(--destaque); box-shadow: 0 0 0 3px rgba(13, 148, 136, .15); }
.mon-analista.inativo { opacity: .6; }
.mon-analista header { display: flex; align-items: center; gap: 12px; }
.mon-analista header .avatar { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, #0b4466, #0d9488); flex-shrink: 0; }
.mon-analista header div { display: grid; min-width: 0; }
.mon-analista header small { color: var(--texto-suave); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mon-analista header .botao { margin-left: auto; }
.mon-numeros { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.mon-numeros div { display: grid; text-align: center; padding: 8px 4px; border-radius: 10px; background: color-mix(in srgb, var(--cor) 9%, #fff); }
.mon-numeros strong { font-size: 1.3rem; color: var(--cor); line-height: 1.1; }
.mon-numeros span { font-size: .68rem; color: var(--texto-suave); font-weight: 600; }
.mon-empresas { display: flex; flex-wrap: wrap; gap: 6px; }
.mon-chip { font-size: .76rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: #eef3f9; color: #1F3A5F; }
.mon-chip:hover { background: var(--destaque-claro); text-decoration: none; }
.mon-analista footer { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .78rem; color: var(--texto-suave); border-top: 1px solid var(--borda); padding-top: 10px; }
.mon-analista footer a { margin-left: auto; }
.mon-grade { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; align-items: start; }
@media (max-width: 1100px) { .mon-grade { grid-template-columns: 1fr; } }
.mon-linha h3 { margin-top: 0; }
.mon-dia { margin: 14px 0 6px; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--texto-suave); }
.mon-eventos { list-style: none; margin: 0; padding: 0; }
.mon-eventos li { display: grid; grid-template-columns: 44px 14px 1fr; gap: 8px; padding: 7px 0; font-size: .88rem; position: relative; }
.mon-eventos li::before { content: ""; position: absolute; left: 50px; top: 22px; bottom: -8px; width: 2px; background: #eef1f5; }
.mon-eventos li:last-child::before { display: none; }
.mon-hora { color: var(--texto-suave); font-variant-numeric: tabular-nums; font-size: .8rem; padding-top: 1px; }
.mon-ponto { width: 12px; height: 12px; margin-top: 4px; border-radius: 50%; background: var(--cor); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 18%, #fff); position: relative; z-index: 1; }
.mon-eventos small { display: block; color: var(--texto-suave); font-size: .76rem; margin-top: 2px; }
.mon-cat { color: var(--cor); font-weight: 700; }
.mon-alvo { font-weight: 600; }
/* ---------- Perfis de acesso ---------- */
.perfis-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; margin-bottom: 18px; }
.perfil-cartao { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: center; padding: 14px 16px; border-radius: 14px; background: var(--superficie); border: 1px solid var(--borda); box-shadow: var(--sombra); }
.perfil-cartao .pc-selo { grid-row: span 2; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, #0b4466, #0d9488); }
.perfil-cartao.admin .pc-selo { background: linear-gradient(135deg, #7c3aed, #4f46e5); }
.perfil-cartao small { display: block; color: var(--texto-suave); font-size: .76rem; line-height: 1.35; }
.perfil-cartao em { grid-column: 2; font-style: normal; font-size: .76rem; font-weight: 700; color: var(--destaque-escuro); }
.matriz-rolagem { overflow-x: auto; }
.tabela-matriz { width: 100%; border-collapse: collapse; min-width: 640px; }
.tabela-matriz th { position: sticky; top: 0; z-index: 1; background: var(--marca-700); color: #fff; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; padding: 12px 14px; text-align: left; }
.tabela-matriz th.c, .tabela-matriz td.c { text-align: center; width: 150px; }
.mz-todos { display: block; margin-top: 4px; font-size: .68rem; text-transform: none; letter-spacing: 0; opacity: .85; }
.mz-todos button { background: none; border: 0; color: #a7f3d0; font: inherit; cursor: pointer; text-decoration: underline; padding: 0; }
.tabela-matriz td { padding: 11px 14px; border-bottom: 1px solid var(--borda); vertical-align: middle; }
.tabela-matriz td small { display: block; color: var(--texto-suave); font-size: .78rem; margin-top: 2px; }
.tabela-matriz tbody tr:not(.mz-grupo):hover td { background: #fafcfd; }
.mz-grupo td { background: #f1f5f9; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--texto-suave); padding: 8px 14px; }
.mz-chave { position: relative; display: inline-flex; cursor: pointer; }
.mz-chave input { position: absolute; opacity: 0; }
.mz-chave .trilho { width: 42px; height: 24px; border-radius: 999px; background: #cfd8e3; position: relative; transition: background .15s; }
.mz-chave .trilho::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .15s; }
.mz-chave input:checked + .trilho { background: var(--destaque); }
.mz-chave input:checked + .trilho::after { transform: translateX(18px); }
.mz-chave input:focus-visible + .trilho { box-shadow: 0 0 0 3px rgba(13, 148, 136, .3); }
.mz-na { color: #cbd5e1; font-weight: 700; }
.mz-trava { opacity: .7; }
.matriz-rodape { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 14px 18px; border-top: 1px solid var(--borda); background: #f8fafc; }
.matriz-rodape .espaco { flex: 1; }
/* ---------- Acompanhamento das Automações ---------- */
.saldos-ia { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
@media (max-width: 1100px) { .saldos-ia { grid-template-columns: 1fr; } }
.saldo-ia { position: relative; overflow: hidden; border-radius: 18px; padding: 18px 20px; color: #fff; box-shadow: 0 14px 34px rgba(15, 23, 42, .16); }
.saldo-openai { background: linear-gradient(135deg, #0b3b2e, #10a37f); }
.saldo-anthropic { background: linear-gradient(135deg, #3b2416, #c96442); }
.saldo-gamma { background: linear-gradient(135deg, #2e1065, #9333ea); }
.saldo-ia.baixo { box-shadow: 0 0 0 3px #fca5a5, 0 14px 34px rgba(15, 23, 42, .16); }
.saldo-ia header { display: flex; gap: 10px; align-items: center; }
.si-logo { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; font-weight: 800; font-size: 1.1rem; background: rgba(255, 255, 255, .16); }
.saldo-ia h3 { margin: 0; color: #fff; font-size: 1.02rem; }
.saldo-ia header small { opacity: .8; font-size: .74rem; }
.si-saldo { margin: 14px 0 8px; display: grid; }
.si-saldo small { opacity: .8; font-size: .74rem; text-transform: uppercase; letter-spacing: .05em; }
.si-saldo strong { font-size: 2rem; font-weight: 800; line-height: 1.15; }
.si-barra { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .2); overflow: hidden; }
.si-barra span { display: block; height: 100%; background: #fff; border-radius: inherit; }
.si-info { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 3px; font-size: .8rem; opacity: .92; }
.si-erro, .si-aviso { margin: 10px 0 0; font-size: .78rem; padding: 6px 10px; border-radius: 8px; background: rgba(0, 0, 0, .22); }
.si-config { margin-top: 12px; border-top: 1px solid rgba(255, 255, 255, .2); padding-top: 10px; }
.si-config summary { cursor: pointer; font-size: .82rem; font-weight: 700; }
.si-form { display: grid; gap: 6px; margin-top: 10px; }
.si-form .entrada { height: 38px; font-size: .86rem; }
.si-dica { margin: 6px 0 0; font-size: .72rem; opacity: .8; }
.tabela-andamento tr.pausado td { background: #fffbeb; }
.tipo-andamento { display: inline-block; font-size: .72rem; font-weight: 800; padding: 2px 9px; border-radius: 999px; color: #fff; background: #64748b; }
.t-execucao { background: #d97706; } .t-swot { background: #2563eb; } .t-pdi { background: #7c3aed; } .t-agente { background: #16a34a; } .t-lembrete { background: #0b4466; }
.dias-andamento { font-size: 1.1rem; }
.acoes-andamento { white-space: nowrap; }
.acoes-andamento form { display: inline-block; margin-left: 4px; }
/* Fluxos do n8n no Acompanhamento das Automações */
.fluxos-n8n { margin-bottom: 8px; }
.fluxos-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 16px 18px; border-bottom: 1px solid var(--borda); }
.fluxos-topo h3 { margin: 0; font-size: 1.02rem; }
.fluxos-topo p { margin: 2px 0 0; font-size: .82rem; }
.conectar-n8n { padding: 16px 18px; }
.conectar-n8n ol { margin: 0 0 12px; padding-left: 18px; display: grid; gap: 4px; font-size: .88rem; }
.conectar-form { display: flex; gap: 8px; flex-wrap: wrap; }
.conectar-form .entrada { flex: 1; min-width: 240px; }
/* Pessoas: coluna Tipo (Candidato / Colaborador + efetivação) */
.celula-tipo { white-space: nowrap; }
.celula-tipo .form-tipo { margin: 4px 0 0; font-size: .8rem; color: var(--texto-suave, #64748b); }
.botao-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--destaque-escuro); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.botao-link:hover { opacity: .8; }

/* Paginação numerada */
.paginacao { flex-wrap: wrap; }
.paginacao .paginas { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.pagina-num { min-width: 34px; height: 34px; padding: 0 8px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--borda); border-radius: 8px; background: var(--superficie, #fff); color: var(--texto, #0f172a); font-weight: 600; text-decoration: none; transition: background .15s, border-color .15s; }
a.pagina-num:hover { border-color: var(--destaque); color: var(--destaque); }
.pagina-num.atual { background: var(--destaque); border-color: var(--destaque); color: #fff; }
.pagina-num.desabilitada { opacity: .4; }
.pagina-salto { padding: 0 4px; color: var(--texto-suave); }
@media (max-width: 600px) { .paginacao { justify-content: center; text-align: center; } }

/* Departamentos */
.deps-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.dep-cartao { padding: 18px; display: flex; flex-direction: column; gap: 10px; }
.dep-cartao.inativo { opacity: .65; }
.dep-cartao header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.dep-cartao h3 { margin: 0; font-size: 1.05rem; }
.dep-desc { margin: 0; color: var(--texto-suave); font-size: .88rem; }
.dep-numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.dep-numeros a { display: flex; flex-direction: column; align-items: center; padding: 8px 4px; border-radius: var(--raio-sm); background: var(--fundo); color: var(--texto); text-decoration: none; }
.dep-numeros a:hover { background: var(--destaque-claro); }
.dep-numeros strong { font-size: 1.2rem; }
.dep-numeros span { font-size: .72rem; color: var(--texto-suave); text-align: center; }
.dep-disc { display: grid; gap: 5px; }
.dep-barra { display: grid; grid-template-columns: 14px 1fr 46px; align-items: center; gap: 8px; font-size: .8rem; }
.dep-barra .rot { font-weight: 700; }
.dep-barra .trilho { height: 8px; border-radius: 999px; background: #eef1f5; overflow: hidden; }
.dep-barra .trilho span { display: block; height: 100%; border-radius: 999px; }
.dep-barra .val { text-align: right; color: var(--texto-suave); }
.dep-funcoes { margin: 0; font-size: .8rem; color: var(--texto-suave); border-top: 1px solid var(--borda); padding-top: 8px; }

/* Plano de Ação: frequência do registro */
.freq-linha { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.freq-linha > select[data-freq] { flex: 1 1 240px; }
.freq-linha label { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; color: var(--texto-suave); margin: 0; }
.freq-linha .freq-dia input { width: 76px; }
.freq-linha .freq-hora input { width: 112px; }
.freq-linha [hidden] { display: none !important; }
.qp-freq { font-size: .8rem; font-weight: 600; color: var(--destaque-escuro); background: var(--destaque-claro); padding: 4px 8px; border-radius: 999px; white-space: nowrap; }

/* Acompanhamento das Atividades (grade OK / NÃO) */
.periodo-linha { display: flex; gap: 6px; }
.periodo-linha .entrada { min-width: 0; }
.ra-resumo { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 16px 0 10px; }
.ra-resumo .cartao { padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.ra-resumo .rotulo { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-suave); }
.ra-resumo strong { font-size: 1.5rem; }
@media (max-width: 700px) { .ra-resumo { grid-template-columns: repeat(2, 1fr); } }
.txt-ok, .txt-verde { color: #15803d; } .txt-nao, .txt-vermelho { color: #dc2626; } .txt-amarelo { color: #b45309; } .txt-cinza { color: var(--texto-suave); }
.ra-legenda { display: flex; flex-wrap: wrap; gap: 14px; font-size: .8rem; color: var(--texto-suave); margin: 0 0 10px; }
.ra-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.ra-cartao { padding: 0; overflow: hidden; }
.ra-rolagem { overflow: auto; max-height: 72vh; }
.ra-tabela { border-collapse: separate; border-spacing: 0; font-size: .82rem; min-width: 100%; }
.ra-tabela th, .ra-tabela td { border-bottom: 1px solid var(--borda); padding: 6px 4px; background: var(--superficie); }
.ra-tabela thead th { position: sticky; top: 0; z-index: 2; background: #0b4466; color: #fff; font-weight: 600; text-align: center; }
.ra-tabela thead tr:nth-child(2) th { top: 30px; background: #12557d; font-size: .75rem; }
.ra-tabela th.ra-data { font-size: .74rem; min-width: 44px; height: 30px; }
.ra-tabela th.hoje, .ra-tabela td.hoje { box-shadow: inset 2px 0 0 #f5a524, inset -2px 0 0 #f5a524; }
.ra-tabela .seg { border-left: 2px solid #cbd5e1; }
.ra-tabela thead .seg { border-left-color: rgba(255,255,255,.35); }
.ra-fixa { position: sticky; left: 0; z-index: 1; min-width: 190px; max-width: 220px; text-align: left !important; }
.ra-fixa2 { position: sticky; left: 190px; z-index: 1; min-width: 200px; max-width: 240px; text-align: left !important; box-shadow: 2px 0 0 var(--borda); }
.ra-tabela thead .ra-fixa, .ra-tabela thead .ra-fixa2 { z-index: 3; }
.ra-tabela td.ra-pessoa { vertical-align: top; padding: 10px; }
.ra-tabela td.ra-pessoa .sub, .ra-tabela td.ra-atividade .sub { display: block; }
.ra-pessoa-pct { margin: 4px 0 2px; display: inline-block; }
.ra-ativ-nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 600; }
.ra-tabela tr.ra-inicio td { border-top: 2px solid #cbd5e1; }
.ra-dia { text-align: center; }
.ra-cel { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 24px; border-radius: 6px; font-style: normal; font-weight: 700; font-size: .72rem; }
.ra-ok { background: #16a34a; color: #fff; }
.ra-nao { background: #dc2626; color: #fff; }
.ra-pendente { background: #e2e8f0; color: #475569; }
.ra-futuro { background: #f8fafc; color: #cbd5e1; border: 1px dashed #e2e8f0; }
.ra-vazio { background: repeating-linear-gradient(45deg, #f8fafc, #f8fafc 4px, #f1f5f9 4px, #f1f5f9 8px); min-width: 36px; }
.ra-tabela td.ra-pct, .ra-tabela th.ra-pct { position: sticky; right: 0; text-align: center; min-width: 78px; box-shadow: -2px 0 0 var(--borda); }
.ra-tabela thead th.ra-pct { background: #0b4466; }
.ra-tabela td.ra-pct strong { font-size: .95rem; display: block; }
.ra-tabela tfoot td { background: #f1f5f9; font-weight: 600; position: sticky; bottom: 0; }
.ra-total { font-size: .72rem; color: var(--texto-suave); }

/* Pessoa: evolução (um teste por vez) + compatibilidade com a função */
.pessoa-perfil-grade { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 1100px) { .pessoa-perfil-grade { grid-template-columns: 1fr; } }
.pessoa-perfil-grade > .cartao { margin: 0; height: 100%; }
.chip-teste { cursor: pointer; font: inherit; color: inherit; transition: border-color .15s, background .15s, box-shadow .15s; }
.chip-teste:hover { border-color: var(--destaque); }
.chip-teste.ativo { background: var(--destaque); border-color: var(--destaque); color: #fff; box-shadow: 0 4px 12px rgba(13,148,136,.25); }
.chip-teste.ativo small { color: rgba(255,255,255,.85); }
.compat-topo { display: flex; align-items: center; gap: 16px; margin: 12px 0 18px; }
.compat-topo .sub { display: block; margin-top: 2px; }
.compat-anel { --pct: 0; --cor: var(--destaque); width: 96px; height: 96px; flex: none; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(closest-side, var(--superficie) 76%, transparent 77% 100%), conic-gradient(var(--cor) calc(var(--pct) * 1%), #e2e8f0 0); }
.compat-anel strong { font-size: 1.55rem; letter-spacing: -.02em; }
.compat-fatores { display: grid; gap: 12px; }
.compat-fator { display: grid; grid-template-columns: 24px 1fr auto 44px; align-items: center; gap: 10px; }
.cf-letra { width: 24px; height: 24px; border-radius: 6px; color: #fff; font-weight: 700; font-size: .8rem; display: grid; place-items: center; }
.cf-trilho { position: relative; height: 12px; background: #eef1f5; border-radius: 999px; }
.cf-pessoa { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; opacity: .9; }
.cf-ideal { position: absolute; top: -5px; bottom: -5px; width: 3px; margin-left: -1.5px; background: #0b4466; border-radius: 2px; box-shadow: 0 0 0 2px #fff; }
.cf-valores { font-size: .82rem; font-weight: 600; white-space: nowrap; }
.cf-valores small { color: var(--texto-suave); font-weight: 500; }
.cf-dif { font-size: .75rem; font-weight: 700; text-align: center; border-radius: 999px; padding: 2px 6px; }
.cf-dif.ok { background: #dcfce7; color: #166534; }
.cf-dif.acima { background: #fef3c7; color: #92400e; }
.cf-dif.abaixo { background: #e0e7ff; color: #3730a3; }
[data-teste-painel][hidden] { display: none !important; }
.pessoa-perfil-grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.compat-funcao .compat-topo { flex-direction: column; text-align: center; gap: 8px; margin: 8px 0 16px; }
.compat-fator { grid-template-columns: 22px minmax(60px, 1fr) auto; row-gap: 2px; }
.compat-fator .cf-dif { grid-column: 3; grid-row: 2; justify-self: end; }
.compat-fator .cf-trilho { grid-row: 1 / span 2; }
.compat-fator .cf-letra { grid-row: 1 / span 2; }

/* Pessoa: evolução maior + perfil da função no quadro de compatibilidade */
.pessoa-perfil-grade .linha-perfis { margin: 16px 0 26px; }
.pessoa-perfil-grade .chip-perfil { padding: 10px 18px; border-radius: 12px; }
.pessoa-perfil-grade .chip-perfil strong { font-size: 1.35rem; }
.pessoa-perfil-grade .chip-perfil small { font-size: .8rem; }
.pessoa-perfil-grade .comparacao { gap: 28px; }
.pessoa-perfil-grade .fator-linha { grid-template-columns: 170px 1fr; align-items: center; }
.pessoa-perfil-grade .fator-nome { font-size: 1.05rem; gap: 10px; }
.pessoa-perfil-grade .fator-nome span { width: 32px; height: 32px; border-radius: 8px; font-size: .95rem; }
.pessoa-perfil-grade .barra-teste { gap: 12px; min-height: 28px; }
.pessoa-perfil-grade .barra-teste .barra { height: 22px; border-radius: 11px; }
.pessoa-perfil-grade .barra-teste .valor { font-size: 1.05rem; font-weight: 700; }
.pessoa-perfil-grade .barra-teste em { font-size: .85rem; }
.compat-perfis { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 16px; flex-wrap: wrap; }
.cp-item { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cp-rotulo { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-suave); }
.cp-vs { font-size: 1.3rem; color: var(--texto-suave); margin-top: 18px; }
.chip-funcao { background: #0b4466; border-color: #0b4466; color: #fff; box-shadow: 0 4px 12px rgba(11,68,102,.25); }
.chip-funcao small { color: rgba(255,255,255,.85); max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.compat-perfis .chip-perfil { cursor: default; padding: 10px 18px; border-radius: 12px; }
.compat-perfis .chip-perfil strong { font-size: 1.35rem; }
.compat-legenda { display: flex; justify-content: center; gap: 16px; font-size: .78rem; color: var(--texto-suave); margin: 0 0 12px; }
.compat-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.compat-legenda .lg-pessoa { width: 18px; height: 8px; border-radius: 4px; background: #94a3b8; }
.compat-legenda .lg-ideal { width: 3px; height: 14px; border-radius: 2px; background: #0b4466; }

/* Pessoa: evolução do perfil um pouco menor (ajuste a pedido) */
.pessoa-perfil-grade .linha-perfis { margin: 12px 0 20px; }
.pessoa-perfil-grade .chip-perfil { padding: 8px 14px; border-radius: 10px; }
.pessoa-perfil-grade .chip-perfil strong { font-size: 1.15rem; }
.pessoa-perfil-grade .chip-perfil small { font-size: .74rem; }
.pessoa-perfil-grade .comparacao { gap: 18px; }
.pessoa-perfil-grade .fator-linha { grid-template-columns: 150px 1fr; }
.pessoa-perfil-grade .fator-nome { font-size: .95rem; gap: 8px; }
.pessoa-perfil-grade .fator-nome span { width: 26px; height: 26px; border-radius: 7px; font-size: .82rem; }
.pessoa-perfil-grade .barra-teste { gap: 10px; min-height: 22px; }
.pessoa-perfil-grade .barra-teste .barra { height: 16px; border-radius: 8px; }
.pessoa-perfil-grade .barra-teste .valor { font-size: .92rem; }
.pessoa-perfil-grade .barra-teste em { font-size: .78rem; }

/* Formulário da vaga */
.vaga-opcoes { display: flex; gap: 8px; flex-wrap: wrap; }
.vaga-opcoes label { cursor: pointer; margin: 0; }
.vaga-opcoes input { position: absolute; opacity: 0; pointer-events: none; }
.vaga-opcoes span { display: inline-block; padding: 9px 18px; border: 1px solid var(--borda); border-radius: 999px; font-weight: 600; font-size: .9rem; background: var(--superficie); }
.vaga-opcoes input:checked + span { background: var(--destaque); border-color: var(--destaque); color: #fff; }
.vaga-opcoes input:focus-visible + span { outline: 3px solid var(--destaque-claro); }
.vaga-sugestoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.vaga-sugestao { border: 1px dashed var(--borda); background: var(--fundo); color: var(--texto-suave); border-radius: 999px; padding: 4px 10px; font-size: .8rem; cursor: pointer; font: inherit; font-size: .8rem; }
.vaga-sugestao:hover { border-color: var(--destaque); color: var(--destaque-escuro); }
.vaga-sugestao.usada { border-style: solid; border-color: var(--destaque); color: var(--destaque-escuro); background: var(--destaque-claro); }

/* Vaga: quadro de Candidatos */
.cand-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; padding: 20px 22px 16px; border-bottom: 1px solid var(--borda); }
.cand-topo h3 { margin: 0 0 4px; font-size: 1.05rem; display: flex; align-items: center; gap: 8px; }
.cand-topo .secao-desc { margin: 0; }
.cand-contador { display: inline-grid; place-items: center; min-width: 26px; height: 22px; padding: 0 8px; border-radius: 999px; background: var(--destaque-claro); color: var(--destaque-escuro); font-size: .8rem; font-weight: 700; }
.cand-indicadores { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--borda); background: var(--fundo); }
.cand-indicadores div { padding: 12px 16px; display: flex; flex-direction: column; gap: 2px; border-right: 1px solid var(--borda); }
.cand-indicadores div:last-child { border-right: 0; }
.cand-indicadores strong { font-size: 1.3rem; line-height: 1.1; }
.cand-indicadores span { font-size: .76rem; color: var(--texto-suave); }
@media (max-width: 700px) { .cand-indicadores { grid-template-columns: repeat(2, 1fr); } .cand-indicadores div:nth-child(2) { border-right: 0; } }
.cand-vazio { padding: 40px 24px 44px; }
.cand-vazio p { max-width: 520px; margin-left: auto; margin-right: auto; }
.cand-pendentes { padding: 16px 22px 20px; border-top: 1px solid var(--borda); }
.cand-pendentes h4 { margin: 0 0 8px; font-size: .92rem; }

/* ===== Kanban do processo seletivo ===== */
.kb-topo { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin: 6px 0 16px; }
.kb-sobretitulo { font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--destaque); }
.kb-topo h2 { margin: 2px 0 4px; font-size: 1.6rem; letter-spacing: -.02em; }
.kb-topo p { margin: 0; color: var(--texto-suave); }
.kb-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.kb-resumo { display: flex; align-items: stretch; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.kb-resumo > div { background: var(--superficie); border: 1px solid var(--borda); border-radius: 14px; padding: 10px 16px; display: flex; flex-direction: column; min-width: 130px; box-shadow: var(--sombra); }
.kb-resumo strong { font-size: 1.35rem; line-height: 1.15; }
.kb-resumo span { font-size: .74rem; color: var(--texto-suave); }
.kb-dica { margin: 0 0 0 auto; align-self: center; font-size: .8rem; color: var(--texto-suave); }
.kb-dica-celular { display: none; }
@media (hover: none) { .kb-dica-celular { display: inline; } }

.kb-quadro { display: flex; gap: 16px; overflow-x: auto; padding: 4px 2px 18px; scroll-snap-type: x proximity; align-items: flex-start; }
.kb-coluna { --cor: var(--destaque); flex: 0 0 320px; scroll-snap-align: start; background: linear-gradient(180deg, color-mix(in srgb, var(--cor) 9%, #f8fafc) 0, #f1f5f9 140px); border: 1px solid color-mix(in srgb, var(--cor) 22%, var(--borda)); border-radius: 18px; display: flex; flex-direction: column; max-height: calc(100vh - 230px); transition: box-shadow .2s, border-color .2s, transform .2s; }
.kb-coluna.kb-alvo { border-color: var(--cor); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 25%, transparent), 0 12px 30px rgba(15,23,42,.12); transform: translateY(-2px); }
.kb-col-topo { padding: 14px 14px 10px; border-top: 4px solid var(--cor); border-radius: 18px 18px 0 0; }
.kb-col-titulo { display: flex; align-items: center; gap: 8px; }
.kb-col-titulo h3 { margin: 0; font-size: .98rem; flex: 1; letter-spacing: -.01em; }
.kb-num { --cor: var(--destaque); display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: var(--cor); color: #fff; font-size: .78rem; font-weight: 800; flex: none; }
.kb-contador { min-width: 26px; height: 24px; padding: 0 8px; border-radius: 999px; display: inline-grid; place-items: center; background: #fff; border: 1px solid var(--borda); font-weight: 700; font-size: .8rem; }
.kb-col-sub { margin: 6px 0 0 32px; font-size: .74rem; color: var(--texto-suave); }
.kb-cartoes { padding: 4px 10px 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; min-height: 120px; flex: 1; }
.kb-vazio { border: 2px dashed color-mix(in srgb, var(--cor) 30%, var(--borda)); border-radius: 14px; padding: 26px 10px; text-align: center; font-size: .82rem; color: var(--texto-suave); }

.kb-cartao { --compat: #94a3b8; position: relative; background: var(--superficie); border-radius: 16px; padding: 14px 14px 10px; border: 1px solid var(--borda); box-shadow: 0 1px 2px rgba(15,23,42,.05), 0 4px 14px rgba(15,23,42,.06); cursor: grab; transition: transform .15s, box-shadow .15s, opacity .15s; }
.kb-cartao::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 4px; border-radius: 0 4px 4px 0; background: var(--compat); }
.kb-cartao:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(15,23,42,.12); }
.kb-cartao:active { cursor: grabbing; }
.kb-cartao.kb-arrastando { opacity: .45; transform: rotate(2deg) scale(.98); }
.kb-cartao.kb-salvando { opacity: .7; }
.kb-cartao.kb-chegou { animation: kb-pulso .9s ease; }
@keyframes kb-pulso { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--compat) 55%, transparent); } 100% { box-shadow: 0 0 0 14px transparent; } }
.kb-cartao.efetivado { background: linear-gradient(180deg, #f0fdf4, #fff 60%); border-color: #bbf7d0; }
.kb-c-topo { display: flex; align-items: center; gap: 10px; }
.kb-avatar { width: 40px; height: 40px; border-radius: 12px; flex: none; display: grid; place-items: center; font-weight: 800; font-size: .9rem; color: #fff; background: linear-gradient(135deg, var(--compat), color-mix(in srgb, var(--compat) 55%, #0b4466)); box-shadow: 0 4px 10px color-mix(in srgb, var(--compat) 35%, transparent); }
.kb-c-nome { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.kb-c-nome a { font-weight: 700; color: var(--texto); font-size: .92rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-c-nome a:hover { color: var(--destaque-escuro); text-decoration: none; }
.kb-c-nome span { font-size: .74rem; color: var(--texto-suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-anel { --pct: 0; width: 46px; height: 46px; border-radius: 50%; flex: none; display: grid; place-items: center; background: radial-gradient(closest-side, var(--superficie) 74%, transparent 75% 100%), conic-gradient(var(--compat) calc(var(--pct) * 1%), #e2e8f0 0); }
.kb-anel b { font-size: .72rem; }
.kb-disc { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.kb-perfil { font-weight: 800; font-size: .78rem; letter-spacing: .04em; padding: 3px 8px; border-radius: 8px; background: #0b4466; color: #fff; }
.kb-barra { flex: 1; display: flex; height: 8px; border-radius: 999px; overflow: hidden; background: #eef1f5; }
.kb-barra i { display: block; height: 100%; }
.kb-legenda { display: flex; justify-content: space-between; margin-top: 6px; font-size: .7rem; color: var(--texto-suave); }
.kb-legenda b { font-weight: 800; }
.kb-sem-teste { margin-top: 12px; font-size: .78rem; color: #92400e; background: #fffbeb; border: 1px dashed #fcd34d; border-radius: 10px; padding: 7px 10px; }
.kb-efetivado { margin-top: 10px; font-size: .76rem; font-weight: 700; color: #15803d; }
.kb-c-rodape { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--borda); }
.kb-tempo { font-size: .72rem; color: var(--texto-suave); }
.kb-icones { display: flex; gap: 4px; }
.kb-icones a { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--fundo); font-size: .85rem; text-decoration: none; transition: background .15s; }
.kb-icones a:hover { background: var(--destaque-claro); }
.kb-mover { display: none; margin-top: 8px; font-size: .74rem; color: var(--texto-suave); gap: 6px; align-items: center; }
.kb-mover select { flex: 1; font: inherit; font-size: .78rem; padding: 4px 6px; border: 1px solid var(--borda); border-radius: 8px; background: var(--superficie); }
@media (hover: none), (max-width: 760px) { .kb-mover { display: flex; } .kb-cartao { cursor: default; } }
@media (max-width: 760px) { .kb-coluna { flex-basis: 86vw; max-height: none; } .kb-dica { margin-left: 0; } }

.kb-aviso { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); background: #0f172a; color: #fff; padding: 10px 18px; border-radius: 999px; font-size: .86rem; font-weight: 600; opacity: 0; pointer-events: none; transition: all .25s; z-index: 50; box-shadow: 0 10px 30px rgba(15,23,42,.3); }
.kb-aviso.on { opacity: 1; transform: translate(-50%, 0); }
.kb-aviso.erro { background: #b91c1c; }

.kb-dialogo { border: 0; border-radius: 20px; padding: 0; width: min(680px, 94vw); box-shadow: 0 30px 80px rgba(15,23,42,.35); }
.kb-dialogo::backdrop { background: rgba(15,23,42,.45); backdrop-filter: blur(2px); }
.kb-dialogo-caixa { padding: 22px; }
.kb-dialogo header { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.kb-dialogo h2 { margin: 0 0 4px; font-size: 1.2rem; }
.kb-dialogo header p { margin: 0; font-size: .84rem; color: var(--texto-suave); }
.kb-fechar { border: 0; background: var(--fundo); width: 34px; height: 34px; border-radius: 10px; font-size: 1.3rem; cursor: pointer; flex: none; }
.kb-etapas-lista { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; }
.kb-etapa-form, .kb-nova-etapa { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.kb-etapa-form .entrada[name="nome"], .kb-nova-etapa .entrada[name="nome"] { flex: 1 1 200px; min-width: 0; }
.kb-cor { --cor: var(--destaque); width: 54px; padding: 0; color: transparent; background: var(--cor); border-color: var(--cor); cursor: pointer; }
.kb-icone { width: 34px; height: 38px; border: 1px solid var(--borda); background: var(--superficie); border-radius: 10px; cursor: pointer; font: inherit; }
.kb-icone:disabled { opacity: .35; cursor: default; }
.kb-excluir:hover:not(:disabled) { background: #fef2f2; border-color: #fecaca; }
.kb-nova-etapa { padding-top: 14px; border-top: 1px solid var(--borda); }

/* Kanban: faixa de compatibilidade com a função no cartão */
.kb-compat { margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--compat) 9%, #fff); border: 1px solid color-mix(in srgb, var(--compat) 28%, transparent); }
.kb-compat-rot { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.kb-compat-rot span { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-suave); }
.kb-compat-rot b { font-size: 1.45rem; line-height: 1; color: var(--compat); letter-spacing: -.02em; }
.kb-compat-barra { height: 7px; border-radius: 999px; background: #e2e8f0; overflow: hidden; margin: 8px 0 6px; }
.kb-compat-barra i { display: block; height: 100%; border-radius: 999px; background: var(--compat); }
.kb-compat-nivel { font-size: .74rem; font-weight: 600; color: color-mix(in srgb, var(--compat) 75%, #0f172a); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-compat.sem { background: var(--fundo); border-style: dashed; border-color: var(--borda); }
.kb-compat.sem .kb-compat-nivel { color: var(--texto-suave); font-weight: 500; margin-top: 4px; white-space: normal; }

/* ===== Currículos ===== */
.cv-lotes { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 14px; }
.cv-lote { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border-radius: 12px; background: var(--superficie); border: 1px solid var(--borda); color: var(--texto); min-width: 220px; text-decoration: none; box-shadow: var(--sombra); }
.cv-lote:hover { border-color: var(--destaque); text-decoration: none; }
.cv-lote span { font-size: .76rem; color: var(--texto-suave); }
.cv-lote .cv-lote-status { font-weight: 700; }
.cv-lote .s-em_andamento { color: #b45309; } .cv-lote .s-concluido { color: #15803d; } .cv-lote .s-erro { color: #b91c1c; }
.cv-soltar { margin-top: 12px; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 34px 16px; border: 2px dashed var(--borda); border-radius: 16px; background: var(--fundo); cursor: pointer; text-align: center; transition: border-color .15s, background .15s; }
.cv-soltar input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cv-soltar:hover, .cv-soltar.sobre { border-color: var(--destaque); background: var(--destaque-claro); }
.cv-soltar.ok { border-style: solid; border-color: var(--destaque); background: #f0fdfa; }
.cv-soltar.tem-erro { border-color: var(--erro); }
.cv-soltar-icone { font-size: 2rem; }
.cv-soltar span:last-child { font-size: .8rem; color: var(--texto-suave); }
.cv-analisando { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 14px; background: linear-gradient(90deg, #fffbeb, #fff); border: 1px solid #fde68a; margin-bottom: 16px; }
.cv-analisando strong { display: block; }
.cv-analisando span { font-size: .85rem; color: var(--texto-suave); }
.cv-spinner { width: 28px; height: 28px; border-radius: 50%; border: 3px solid #fde68a; border-top-color: #d97706; animation: cv-gira .9s linear infinite; flex: none; display: inline-block; }
.cv-spinner.pequeno { width: 14px; height: 14px; border-width: 2px; vertical-align: -2px; margin-right: 4px; }
@keyframes cv-gira { to { transform: rotate(360deg); } }
.cv-dados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 12px 0 0; }
.cv-dados dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--texto-suave); font-weight: 700; }
.cv-dados dd { margin: 2px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.cv-resumo { margin: 14px 0 0; line-height: 1.6; color: #334155; }
.cv-lista { margin: 10px 0 0; padding-left: 20px; display: grid; gap: 6px; }
.cv-lista.curta { gap: 4px; font-size: .88rem; }
.cv-nota { text-align: center; }
.cv-nota .cv-anel { margin: 14px auto 8px; width: 120px; height: 120px; }
.cv-nota .cv-anel strong { font-size: 1.9rem; }
.cv-rotulo { display: block; font-size: 1rem; }
.cv-justificativa { text-align: left; margin: 14px 0 0; font-size: .88rem; line-height: 1.55; color: #334155; background: var(--fundo); border-radius: 12px; padding: 12px; }
.cv-sub { text-align: left; margin: 14px 0 0; font-size: .85rem; }
.cv-sub.ok { color: #15803d; } .cv-sub.alerta-txt { color: #b45309; }
.cv-nota .cv-lista { text-align: left; }
.cv-progresso > div { min-width: 120px; }
@media (max-width: 640px) { .cv-dados { grid-template-columns: 1fr; } }

/* ===== Processo seletivo: ranking, entrevista e retorno no Kanban ===== */
.kb-col-acao { margin: 6px 0 0 32px; font-size: .72rem; font-weight: 700; color: color-mix(in srgb, var(--cor) 80%, #0f172a); }
.kb-col-acao.vermelho { color: #b91c1c; }
.kb-disc-todos { margin: 10px 0 2px; }
.kb-disc-todos .botao { box-shadow: 0 6px 16px rgba(13,148,136,.25); }
.kb-rank { position: absolute; top: -9px; right: -7px; min-width: 30px; height: 30px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; font-size: 1.05rem; background: #fff; border: 1px solid var(--borda); box-shadow: 0 4px 10px rgba(15,23,42,.12); z-index: 1; }
.kb-rank.r4 { font-size: .74rem; font-weight: 800; color: var(--texto-suave); }
.kb-rank.r1 { background: linear-gradient(135deg, #fef9c3, #fde68a); border-color: #facc15; }
.kb-rank.r2 { background: linear-gradient(135deg, #f8fafc, #e2e8f0); border-color: #cbd5e1; }
.kb-rank.r3 { background: linear-gradient(135deg, #ffedd5, #fed7aa); border-color: #fb923c; }
.kb-entrevista { margin-top: 10px; padding: 9px 11px; border-radius: 12px; font-size: .78rem; display: grid; gap: 2px; background: #f8fafc; border: 1px dashed var(--borda); }
.kb-entrevista strong { font-size: .86rem; }
.kb-entrevista span { color: var(--texto-suave); }
.kb-entrevista.st-agendada { background: #fffbeb; border: 1px solid #fde68a; }
.kb-entrevista.st-confirmada { background: #f0fdf4; border: 1px solid #bbf7d0; }
.kb-entrevista.st-recusada { background: #fef2f2; border: 1px solid #fecaca; }
.kb-entrevista.st-realizada { background: #eff6ff; border: 1px solid #bfdbfe; }
.kb-link { justify-self: start; margin-top: 4px; background: none; border: 0; padding: 0; font: inherit; font-weight: 700; font-size: .78rem; color: var(--destaque-escuro); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.kb-retorno { margin-top: 10px; font-size: .76rem; font-weight: 600; color: #b45309; background: #fffbeb; border-radius: 10px; padding: 6px 10px; }
.kb-retorno.ok { color: #15803d; background: #f0fdf4; }
.kb-dialogo-p { width: min(560px, 94vw); }
.kb-email-previa { background: var(--fundo); border: 1px solid var(--borda); border-radius: 14px; padding: 14px; }
.kb-email-previa span { font-size: .8rem; color: var(--texto-suave); }
.kb-email-previa p { margin: 8px 0 0; font-size: .88rem; line-height: 1.55; color: #334155; }
.kb-ent-status { margin: 4px 0 12px; padding: 10px 12px; border-radius: 12px; font-size: .86rem; font-weight: 600; }
.kb-ent-status.ok { background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0; }
.kb-ent-status.alerta { background: #fffbeb; color: #92400e; border: 1px solid #fde68a; }
.kb-ent-status.erro { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.kb-tipo { flex: 1 1 100%; font-size: .82rem; }

/* Tabela de entrevistas */
.ent-tabela td { vertical-align: middle; }
.ent-tabela td:first-child { display: flex; align-items: center; gap: 12px; }
.ent-data { width: 46px; height: 50px; border-radius: 12px; background: var(--destaque); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; flex: none; box-shadow: 0 4px 10px rgba(13,148,136,.25); }
.ent-dia { font-size: 1.25rem; font-weight: 800; }
.ent-mes { font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; margin-top: 2px; }
.ent-hora strong { display: block; font-size: 1rem; }
.ent-hora span { font-size: .74rem; color: var(--texto-suave); }
.ent-hoje td { background: #f0fdfa; }
.ent-hoje .ent-data { background: #f59e0b; box-shadow: 0 4px 10px rgba(245,158,11,.3); }
.ent-local { font-size: .86rem; }
.ent-chip { display: inline-block; font-size: .72rem; font-weight: 600; padding: 3px 8px; border-radius: 999px; background: #f1f5f9; color: var(--texto-suave); margin: 2px 4px 2px 0; }
.ent-chip.ok { background: #f0fdf4; color: #15803d; }
.ent-chip.erro { background: #fef2f2; color: #b91c1c; }
.ent-acoes { display: inline-flex; gap: 4px; }
@media (max-width: 760px) { .ent-tabela td:first-child { display: table-cell; } }

/* Currículos: posição no ranking */
.cv-pos-th { width: 56px; text-align: center; }
.cv-pos { text-align: center; }
.cv-medalha { display: inline-grid; place-items: center; min-width: 34px; height: 34px; border-radius: 999px; font-size: 1.15rem; border: 1px solid var(--borda); background: var(--superficie); }
.cv-medalha.m1 { background: linear-gradient(135deg, #fef9c3, #fde68a); border-color: #facc15; }
.cv-medalha.m2 { background: linear-gradient(135deg, #f8fafc, #e2e8f0); border-color: #cbd5e1; }
.cv-medalha.m3 { background: linear-gradient(135deg, #ffedd5, #fed7aa); border-color: #fb923c; }
.cv-medalha.m4 { font-size: .8rem; font-weight: 800; color: var(--texto-suave); }
.cv-medalha.mx { background: #fef2f2; border-color: #fecaca; color: #dc2626; font-size: .95rem; font-weight: 800; }

/* ===== Kanban compacto: etapas dividem a largura da tela e cartões menores ===== */
.kb-pagina .kb-topo { margin: 2px 0 10px; gap: 10px; }
.kb-pagina .kb-topo h2 { font-size: 1.35rem; }
.kb-pagina .kb-topo p { font-size: .85rem; }
.kb-pagina .kb-acoes .botao { padding: 7px 12px; font-size: .84rem; }
.kb-pagina .kb-resumo { gap: 8px; margin-bottom: 12px; }
.kb-pagina .kb-resumo > div { padding: 6px 12px; min-width: 104px; border-radius: 12px; }
.kb-pagina .kb-resumo strong { font-size: 1.1rem; }
.kb-pagina .kb-resumo span { font-size: .7rem; }

.kb-pagina .kb-quadro { gap: 10px; padding-bottom: 12px; }
.kb-pagina .kb-coluna { flex: 1 1 0; min-width: 196px; max-height: calc(100vh - 200px); border-radius: 14px; }
.kb-pagina .kb-col-topo { padding: 10px 10px 8px; border-top-width: 3px; border-radius: 14px 14px 0 0; }
.kb-pagina .kb-col-titulo { gap: 6px; }
.kb-pagina .kb-col-titulo h3 { font-size: .84rem; line-height: 1.2; }
.kb-pagina .kb-num { width: 20px; height: 20px; border-radius: 6px; font-size: .7rem; }
.kb-pagina .kb-contador { min-width: 22px; height: 20px; padding: 0 6px; font-size: .72rem; }
.kb-pagina .kb-col-sub, .kb-pagina .kb-col-acao { margin-left: 26px; font-size: .68rem; }
.kb-pagina .kb-disc-todos { margin-top: 8px; }
.kb-pagina .kb-disc-todos .botao { font-size: .74rem; padding: 6px 8px; }
.kb-pagina .kb-cartoes { padding: 2px 7px 8px; gap: 7px; min-height: 90px; }
.kb-pagina .kb-vazio { padding: 16px 8px; font-size: .74rem; border-radius: 10px; }

.kb-pagina .kb-cartao { padding: 9px 9px 6px; border-radius: 12px; }
.kb-pagina .kb-cartao::before { top: 10px; bottom: 10px; width: 3px; }
.kb-pagina .kb-c-topo { gap: 7px; }
.kb-pagina .kb-avatar { width: 30px; height: 30px; border-radius: 9px; font-size: .72rem; }
.kb-pagina .kb-c-nome a { font-size: .8rem; }
.kb-pagina .kb-c-nome span { font-size: .66rem; }
.kb-pagina .kb-compat { margin-top: 7px; padding: 6px 8px; border-radius: 9px; }
.kb-pagina .kb-compat-rot span { font-size: .58rem; letter-spacing: .03em; }
.kb-pagina .kb-compat-rot b { font-size: 1.05rem; }
.kb-pagina .kb-compat-barra { height: 5px; margin: 5px 0 4px; }
.kb-pagina .kb-compat-nivel { font-size: .64rem; }
.kb-pagina .kb-disc { margin-top: 7px; gap: 6px; }
.kb-pagina .kb-perfil { font-size: .66rem; padding: 2px 6px; border-radius: 6px; }
.kb-pagina .kb-barra { height: 6px; }
.kb-pagina .kb-legenda { margin-top: 4px; font-size: .6rem; }
.kb-pagina .kb-sem-teste { margin-top: 7px; font-size: .68rem; padding: 4px 8px; border-radius: 8px; }
.kb-pagina .kb-efetivado { margin-top: 6px; font-size: .68rem; }
.kb-pagina .kb-entrevista { margin-top: 7px; padding: 6px 8px; font-size: .68rem; border-radius: 9px; }
.kb-pagina .kb-entrevista strong { font-size: .74rem; }
.kb-pagina .kb-retorno { margin-top: 7px; font-size: .66rem; padding: 4px 8px; }
.kb-pagina .kb-c-rodape { margin-top: 7px; padding-top: 5px; }
.kb-pagina .kb-tempo { font-size: .64rem; }
.kb-pagina .kb-icones a { width: 22px; height: 22px; font-size: .7rem; border-radius: 6px; }
.kb-pagina .kb-rank { min-width: 24px; height: 24px; font-size: .85rem; top: -7px; right: -5px; }
.kb-pagina .kb-rank.r4 { font-size: .64rem; }
@media (max-width: 760px) { .kb-pagina .kb-coluna { flex: 0 0 82vw; max-height: none; } }

/* Pessoa: currículo vinculado */
.cv-opcoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-top: 12px; }
.cv-opcao { display: flex; flex-direction: column; gap: 4px; padding: 16px; border-radius: 14px; border: 2px dashed var(--borda); background: var(--fundo); color: var(--texto); text-decoration: none; transition: border-color .15s, background .15s; }
.cv-opcao:hover { border-color: var(--destaque); background: var(--destaque-claro); text-decoration: none; }
.cv-opcao span { font-size: 1.5rem; }
.cv-opcao small { color: var(--texto-suave); font-size: .8rem; }
.cv-da-pessoa { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.cv-da-pessoa a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 12px; color: var(--texto); text-decoration: none; }
.cv-da-pessoa a:hover { border-color: var(--destaque); text-decoration: none; }
.cv-ic { width: 34px; height: 34px; border-radius: 10px; background: var(--destaque-claro); display: grid; place-items: center; flex: none; }
.cv-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cv-txt strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv-txt small { color: var(--texto-suave); font-size: .76rem; }

/* Gestão do Kanban: abas das etapas */
.gk-etapas { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; }
.gk-etapa { --cor: var(--destaque); display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 12px; background: var(--superficie); border: 1px solid var(--borda); border-top: 3px solid var(--cor); color: var(--texto); text-decoration: none; font-weight: 600; font-size: .86rem; box-shadow: var(--sombra); }
.gk-etapa:hover { text-decoration: none; border-color: var(--cor); }
.gk-etapa.ativa { background: var(--cor); border-color: var(--cor); color: #fff; }
.gk-num { width: 20px; height: 20px; border-radius: 6px; display: grid; place-items: center; font-size: .72rem; font-weight: 800; background: var(--cor); color: #fff; }
.gk-etapa.ativa .gk-num { background: rgba(255,255,255,.25); }
.gk-qtd { min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; font-size: .72rem; background: #f1f5f9; color: var(--texto-suave); }
.gk-etapa.ativa .gk-qtd { background: rgba(255,255,255,.25); color: #fff; }
.gk-disc { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }

/* Gestão do Kanban: % Total (média currículo + DISC) */
.gk-total { display: inline-grid; place-items: center; min-width: 58px; height: 34px; padding: 0 10px; border-radius: 10px; font-weight: 800; font-size: 1rem; color: #fff; }
.gk-total.t-verde { background: #16a34a; } .gk-total.t-azul { background: #2563eb; } .gk-total.t-amarelo { background: #d97706; }
.gk-total.t-vermelho { background: #dc2626; } .gk-total.t-cinza { background: #94a3b8; }

/* Funções: ✨ Automação (IA preenche competências e atividades) */
.fn-nome-linha { display: flex; gap: 8px; }
.fn-nome-linha .entrada { flex: 1; min-width: 0; }
.fn-automacao { flex: none; color: #fff; border: 0; background: linear-gradient(135deg, #7c3aed, #2563eb); box-shadow: 0 6px 16px rgba(124,58,237,.3); white-space: nowrap; }
.fn-automacao:hover { filter: brightness(1.08); }
.fn-automacao.carregando { opacity: .8; cursor: progress; }
.fn-ia-status { margin-top: 8px; font-size: .82rem; font-weight: 600; border-radius: 10px; padding: 8px 10px; }
.fn-ia-status.info { background: #eef2ff; color: #4338ca; }
.fn-ia-status.ok { background: #f0fdf4; color: #15803d; }
.fn-ia-status.erro { background: #fef2f2; color: #b91c1c; }
textarea.fn-ia-preenchido { box-shadow: 0 0 0 3px rgba(124,58,237,.25); border-color: #7c3aed; transition: box-shadow .3s; }
.fn-nome-linha { flex-direction: column; align-items: stretch; }
.fn-nome-linha .fn-automacao { margin-top: 2px; width: 100%; justify-content: center; }
.fn-nome-linha .entrada { flex: 0 0 auto; width: 100%; min-height: 48px; }

/* Funções: formulário mais largo, tabela mais estreita */
.fn-layout { grid-template-columns: minmax(0, 1.5fr) minmax(420px, 1fr); }
.fn-layout aside .entrada:is(textarea) { min-height: 110px; }
@media (max-width: 1100px) { .fn-layout { grid-template-columns: 1fr; } }

/* Plano de Ação: ✨ sugerir 5 atividades com IA */
.plano-ia { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 16px 18px; margin-bottom: 16px; border: 1px solid #ddd6fe; background: linear-gradient(135deg, #f5f3ff, #eff6ff); }
.plano-ia-texto { flex: 1 1 320px; display: flex; flex-direction: column; gap: 4px; }
.plano-ia-texto strong { color: #5b21b6; font-size: 1rem; }
.plano-ia-texto span { color: #475569; font-size: .86rem; line-height: 1.45; }
.plano-ia-botao { flex: none; color: #fff; border: 0; background: linear-gradient(135deg, #7c3aed, #2563eb); box-shadow: 0 6px 16px rgba(124,58,237,.3); white-space: nowrap; }
.plano-ia-botao:hover { filter: brightness(1.08); }
.plano-ia-botao:disabled { opacity: .75; cursor: progress; }
.plano-ia .fn-ia-status { flex: 1 1 100%; margin-top: 0; }
.acao-linha.acao-ia { box-shadow: 0 0 0 3px rgba(124,58,237,.35); transition: box-shadow .4s; }

[data-quadro-plano][hidden] { display: none !important; }

/* Currículo: como a nota foi calculada */
.cvc-itens { display: grid; gap: 12px; margin: 14px 0 6px; }
.cvc-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: .9rem; }
.cvc-pts { font-size: .8rem; color: var(--texto-suave, #64748b); white-space: nowrap; }
.cvc-pts b { color: var(--texto, #0f172a); font-size: .95rem; }
.cvc-barra { height: 8px; border-radius: 999px; background: #e2e8f0; overflow: hidden; margin-top: 6px; }
.cvc-barra span { display: block; height: 100%; border-radius: 999px; }
.cvc-det { display: block; margin-top: 4px; color: #64748b; font-size: .78rem; line-height: 1.4; }
.cvc-travas { margin: 14px 0; padding: 12px 14px; border-radius: 12px; background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; font-size: .86rem; }
.cvc-travas ul { margin: 6px 0 6px 18px; padding: 0; }
.cvc-travas small { color: #b91c1c; }
.cvc-chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 14px 0 8px; }
.cvc-chip { padding: 10px 12px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; display: flex; flex-direction: column; gap: 3px; }
.cvc-chip span { font-size: .72rem; color: #64748b; text-transform: uppercase; letter-spacing: .03em; }
.cvc-chip strong { font-size: .95rem; }
.cvc-chip.bom { background: #f0fdf4; border-color: #bbf7d0; }
.cvc-chip.atencao { background: #fffbeb; border-color: #fde68a; }
.cvc-chip.ruim { background: #fef2f2; border-color: #fecaca; }
.cvc-linha { display: grid; gap: 8px; margin-top: 8px; border-left: 3px solid #e2e8f0; padding-left: 12px; }
.cvc-vinc { position: relative; padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #e2e8f0; }
.cvc-vinc::before { content: ''; position: absolute; left: -19px; top: 16px; width: 11px; height: 11px; border-radius: 50%; background: #cbd5e1; border: 2px solid #fff; }
.cvc-vinc.longo { border-color: #bbf7d0; }
.cvc-vinc.longo::before { background: #16a34a; }
.cvc-vinc.curto { border-color: #fecaca; }
.cvc-vinc.curto::before { background: #dc2626; }
.cvc-vinc-topo { display: flex; justify-content: space-between; gap: 10px; font-size: .9rem; }
.cvc-tempo { font-weight: 700; white-space: nowrap; font-size: .85rem; }
.cvc-selos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.cvc-exig { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.cvc-exig li { display: flex; gap: 10px; align-items: flex-start; font-size: .86rem; }
.cvc-exig li > span { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 700; background: #fee2e2; color: #b91c1c; }
.cvc-exig li.sim > span { background: #dcfce7; color: #15803d; }
.cvc-exig li.parcial > span { background: #fef3c7; color: #b45309; }
.cvc-exig small { display: block; color: #64748b; font-size: .78rem; }

/* Currículos: Triagem de Currículos + Histórico da Triagem */
.cv-btn-triagem { color: #fff; border: 0; background: linear-gradient(135deg, #0f766e, #2563eb); box-shadow: 0 6px 16px rgba(37,99,235,.25); }
.cv-btn-triagem:hover { filter: brightness(1.08); }
.cv-btn-triagem:disabled { opacity: .75; cursor: progress; }
.cv-btn-qtd { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; margin-left: 4px; border-radius: 999px; background: rgba(255,255,255,.25); font-size: .75rem; font-weight: 800; }
.cv-btn-qtd.escuro { background: #e0f2fe; color: #075985; }
.cv-triagem { max-width: 640px; }
.cv-tri-regras { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 4px 0 14px; }
.cv-tri-regras > div { padding: 10px 12px; border-radius: 12px; display: flex; flex-direction: column; gap: 3px; font-size: .82rem; }
.cv-tri-regras .ok { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; }
.cv-tri-regras .nao { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.cv-tri-regras span { color: inherit; opacity: .85; }
.cv-tri-vagas { display: grid; gap: 8px; max-height: 320px; overflow: auto; margin-bottom: 10px; }
.cv-tri-vaga { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px; border: 1px solid #e2e8f0; cursor: pointer; transition: border-color .15s, background .15s; }
.cv-tri-vaga:hover { border-color: #93c5fd; }
.cv-tri-vaga:has(input:checked) { border-color: #2563eb; background: #eff6ff; box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.cv-tri-vaga.todas { background: #f8fafc; }
div.cv-tri-vaga { grid-template-columns: 1fr auto auto; cursor: default; border-color: #2563eb; background: #eff6ff; }
.cv-sel-triagem { display: flex; gap: 8px; }
.cv-sel-triagem select { height: 42px; width: 230px; }
.cv-tri-botao { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.cv-tri-botao .cv-btn-triagem:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; filter: grayscale(.4); }
.cv-tri-aviso { color: #64748b; font-size: .74rem; max-width: 240px; line-height: 1.25; }
@media (max-width: 640px) { .cv-sel-triagem { flex-wrap: wrap; width: 100%; } .cv-sel-triagem select { width: 100%; } }
.cv-tri-vaga span { display: flex; flex-direction: column; gap: 2px; }
.cv-tri-vaga small { color: #64748b; font-size: .78rem; }
.cv-tri-vaga em { font-style: normal; font-weight: 800; font-size: .82rem; padding: 3px 9px; border-radius: 999px; }
.cv-tri-vaga em.ok { background: #dcfce7; color: #15803d; }
.cv-tri-vaga em.nao { background: #fee2e2; color: #b91c1c; }
.cv-tri-situacao { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.cv-tri-situacao small { color: #64748b; font-size: .8rem; line-height: 1.4; }
.th-busca { display: flex; gap: 10px; margin-top: 10px; }
.th-busca .entrada { flex: 1; }
.th-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.th-card { background: var(--superficie, #fff); border: 1px solid #e2e8f0; border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.th-card span { font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: #64748b; font-weight: 700; }
.th-card strong { font-size: 1.6rem; line-height: 1.1; }
.th-card.ok strong { color: #15803d; }
.th-card.nao strong { color: #b91c1c; }
.th-barra { height: 6px; border-radius: 999px; background: #fee2e2; overflow: hidden; margin-top: 4px; }
.th-barra i { display: block; height: 100%; background: linear-gradient(90deg, #16a34a, #22c55e); border-radius: 999px; }
@media (max-width: 760px) { .th-cards { grid-template-columns: 1fr 1fr; } .cv-tri-regras { grid-template-columns: 1fr; } }

/* Pessoa: Processos seletivos */
.ps-caixa { max-width: 760px; }
.ps-resumo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 2px 0 16px; }
.ps-resumo > div { border-radius: 12px; padding: 10px 12px; background: #f8fafc; border: 1px solid #e2e8f0; display: flex; flex-direction: column; }
.ps-resumo strong { font-size: 1.4rem; }
.ps-resumo span { font-size: .74rem; color: #64748b; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.ps-resumo .verde strong { color: #15803d; } .ps-resumo .azul strong { color: #1d4ed8; } .ps-resumo .vermelho strong { color: #b91c1c; }
.ps-lista { display: grid; gap: 10px; max-height: 62vh; overflow: auto; padding-right: 2px; }
.ps-proc { border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; overflow: hidden; }
.ps-proc > summary { list-style: none; display: grid; grid-template-columns: 6px 1fr auto; gap: 12px; align-items: center; padding: 12px 14px 12px 0; cursor: pointer; }
.ps-proc > summary::-webkit-details-marker { display: none; }
.ps-marca { align-self: stretch; border-radius: 0 6px 6px 0; background: #94a3b8; }
.r-contratado .ps-marca { background: #16a34a; } .r-andamento .ps-marca, .r-aguardando .ps-marca { background: #2563eb; }
.r-nao_aprovado .ps-marca, .r-desclassificado .ps-marca, .r-sem_interesse .ps-marca { background: #dc2626; }
.ps-tit { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ps-tit small { color: #64748b; font-size: .8rem; }
.ps-periodo { font-variant-numeric: tabular-nums; }
.ps-res { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.ps-res small { color: #64748b; font-size: .76rem; }
.ps-corpo { padding: 0 16px 14px 18px; border-top: 1px dashed #e2e8f0; }
.ps-notas { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.ps-nota { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; color: inherit; text-decoration: none; min-width: 120px; }
.ps-nota span { font-size: .74rem; color: #64748b; font-weight: 700; }
.ps-nota small { color: #94a3b8; font-size: .72rem; }
a.ps-nota:hover { border-color: #93c5fd; }
.ps-linha { list-style: none; margin: 0; padding: 0 0 0 4px; display: grid; gap: 0; }
.ps-linha li { position: relative; display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 0 0 12px; }
.ps-linha li::before { content: ''; position: absolute; left: 14px; top: 28px; bottom: 0; width: 2px; background: #e2e8f0; }
.ps-linha li:last-child::before { display: none; }
.ps-ic { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: .85rem; background: #f1f5f9; border: 2px solid #fff; box-shadow: 0 0 0 1px #e2e8f0; }
.ps-linha .c-verde .ps-ic { background: #dcfce7; } .ps-linha .c-vermelho .ps-ic { background: #fee2e2; }
.ps-linha .c-azul .ps-ic { background: #dbeafe; } .ps-linha .c-amarelo .ps-ic { background: #fef3c7; }
.ps-linha div { display: flex; flex-direction: column; gap: 2px; padding-top: 4px; }
.ps-linha strong { font-size: .88rem; }
.ps-linha small { color: #64748b; font-size: .8rem; }
.ps-linha time { color: #94a3b8; font-size: .74rem; }
@media (max-width: 640px) { .ps-resumo { grid-template-columns: 1fr 1fr; } .ps-proc > summary { grid-template-columns: 6px 1fr; } .ps-res { grid-column: 2; align-items: flex-start; } }

/* Kanban: recrutador virtual no WhatsApp */
.kb-btn-whats { color: #fff; border: 0; background: linear-gradient(135deg, #16a34a, #0d9488); box-shadow: 0 6px 14px rgba(22,163,74,.25); }
.kb-btn-whats:hover { filter: brightness(1.07); }
.kb-btn-whats:disabled { opacity: .6; cursor: not-allowed; box-shadow: none; }
.kb-col-topo .kb-btn-whats { margin-top: 8px; }
.kb-whats { display: block; width: 100%; text-align: left; margin-top: 8px; padding: 6px 9px; border-radius: 9px; font-size: .75rem; font-weight: 700; border: 1px solid transparent; cursor: pointer; line-height: 1.35; }
.kb-whats.w-amarelo { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.kb-whats.w-azul { background: #eff6ff; color: #1e40af; border-color: #bfdbfe; }
.kb-whats.w-verde { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.kb-whats.w-vermelho { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.kb-whats:hover { filter: brightness(.97); }
.kb-whats-caixa { max-width: 640px; }
.kb-whats-previa { background: #e7f8ee; border: 1px solid #bbf7d0; border-radius: 14px; padding: 12px 14px; margin: 4px 0 14px; }
.kb-whats-previa > span { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #15803d; }
.kb-whats-previa p { margin: 6px 0 8px; font-size: .88rem; line-height: 1.5; background: #fff; border-radius: 10px 10px 10px 2px; padding: 10px 12px; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.kb-whats-botoes { display: flex; gap: 8px; }
.kb-whats-botoes i { font-style: normal; flex: 1; text-align: center; background: #fff; color: #0284c7; font-weight: 700; font-size: .85rem; padding: 7px; border-radius: 9px; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.kb-whats-lista { display: grid; gap: 6px; max-height: 260px; overflow: auto; margin-bottom: 12px; }
.kb-whats-todos { display: flex; gap: 8px; align-items: center; font-size: .86rem; padding: 6px 2px; }
.kb-whats-item { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid #e2e8f0; border-radius: 11px; cursor: pointer; }
.kb-whats-item:has(input:checked) { border-color: #16a34a; background: #f0fdf4; }
.kb-whats-item.off { opacity: .6; cursor: default; }
.kb-whats-item span { display: flex; flex-direction: column; }
.kb-whats-item small { color: #64748b; font-size: .76rem; }
.kb-whats-item em { font-style: normal; font-size: .72rem; font-weight: 700; padding: 3px 8px; border-radius: 999px; background: #f1f5f9; color: #475569; }
.kb-whats-item em.w-verde { background: #dcfce7; color: #166534; }
.kb-whats-item em.w-vermelho { background: #fee2e2; color: #991b1b; }
.kb-whats-item em.w-azul { background: #dbeafe; color: #1e40af; }
.kb-whats-item em.w-amarelo { background: #fef3c7; color: #92400e; }
.kb-conv-caixa { max-width: 560px; }
.kb-conv { background: #efeae2; border-radius: 14px; padding: 12px; height: 52vh; overflow: auto; display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.kb-msg { max-width: 82%; padding: 8px 10px 4px; border-radius: 10px; box-shadow: 0 1px 1px rgba(0,0,0,.08); font-size: .86rem; }
.kb-msg.recrutador { align-self: flex-end; background: #d9fdd3; border-top-right-radius: 2px; }
.kb-msg.candidato { align-self: flex-start; background: #fff; border-top-left-radius: 2px; }
.kb-msg.erro { outline: 2px solid #fca5a5; }
.kb-msg-texto { white-space: pre-wrap; word-break: break-word; line-height: 1.45; }
.kb-msg time { display: block; text-align: right; font-size: .68rem; color: #64748b; margin-top: 2px; }

/* Agentes no WhatsApp: cartões de liberação */
.agente-qr[hidden] { display: none !important; }
.agente-qr img:not([src]) { visibility: hidden; }
.ag-liberacao { margin-bottom: 18px; }
.ag-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ag-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; border-radius: 18px; background: var(--superficie, #fff); border: 2px solid #e2e8f0; cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; }
.ag-card:hover { border-color: #cbd5e1; }
.ag-card.on { border-color: #16a34a; background: linear-gradient(160deg, #f0fdf4, #fff 55%); box-shadow: 0 10px 24px rgba(22,163,74,.12); }
.ag-card-topo { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; }
.ag-card-topo > div { display: flex; flex-direction: column; gap: 2px; }
.ag-card-topo strong { font-size: 1.02rem; }
.ag-card-topo small { color: #64748b; font-size: .78rem; }
.ag-icone { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 1.35rem; background: #f1f5f9; }
.ag-card.on .ag-icone { background: #dcfce7; }
.ag-card p { margin: 0; color: #475569; font-size: .86rem; line-height: 1.5; }
.ag-chave { position: relative; display: inline-block; width: 52px; height: 30px; flex: none; }
.ag-chave input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; z-index: 1; }
.ag-chave i { position: absolute; inset: 0; border-radius: 999px; background: #cbd5e1; transition: background .2s; }
.ag-chave i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.2); transition: transform .2s; }
.ag-chave input:checked + i { background: #16a34a; }
.ag-chave input:checked + i::after { transform: translateX(22px); }
.ag-chave input:focus-visible + i { box-shadow: 0 0 0 4px rgba(22,163,74,.25); }
.ag-card-info { display: flex; flex-wrap: wrap; gap: 8px; }
.ag-card-info > span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: #f8fafc; border: 1px solid #e2e8f0; font-size: .8rem; font-weight: 600; color: #334155; }
.ag-horas input { border: 1px solid #cbd5e1; border-radius: 8px; padding: 2px 6px; font: inherit; font-size: .8rem; background: #fff; }
.ag-card-pe { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding-top: 10px; border-top: 1px dashed #e2e8f0; }
.ag-status { font-weight: 800; font-size: .82rem; color: #64748b; }
.ag-card.on .ag-status { color: #15803d; }
.ag-card-pe small { color: #64748b; font-size: .76rem; }
.ag-salvar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 12px; }
@media (max-width: 760px) { .ag-cards { grid-template-columns: 1fr; } }

.kb-whats-opcoes { margin: 0 !important; }

.ag-opcao { display: flex; gap: 8px; align-items: flex-start; font-size: .84rem; color: #334155; cursor: default; }
.ag-opcao input { margin-top: 3px; accent-color: #16a34a; width: 16px; height: 16px; }
.ag-opcao label { cursor: pointer; }
.ag-nota { color: #64748b; font-size: .76rem; margin-top: -4px; }

.kb-compat-rot span em { font-style: normal; text-transform: none; letter-spacing: 0; font-weight: 600; }
.kb-compat-disc { margin-top: 8px; }

.kb-compat-geral { margin-top: 8px; }

/* Kanban: cartão em accordion (resumo com nome, e-mail e % geral) */
.kb-c-nota { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 58px; padding: 4px 8px; border-radius: 12px; background: color-mix(in srgb, var(--compat) 12%, #fff); border: 1.5px solid color-mix(in srgb, var(--compat) 40%, transparent); line-height: 1; }
.kb-c-nota b { font-size: 1.15rem; color: var(--compat); letter-spacing: -.02em; }
.kb-c-nota small { font-size: .58rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: color-mix(in srgb, var(--compat) 70%, #475569); margin-top: 2px; }
.kb-c-nota.sem { background: #f8fafc; border-color: #e2e8f0; }
.kb-c-nota.sem b { color: #94a3b8; }
.kb-c-abrir { flex: none; width: 30px; height: 30px; border-radius: 9px; border: 1px solid #e2e8f0; background: #fff; color: #475569; display: grid; place-items: center; cursor: pointer; transition: transform .2s, background .15s; }
.kb-c-abrir:hover { background: #f1f5f9; }
.kb-cartao.aberto .kb-c-abrir { transform: rotate(180deg); background: #f1f5f9; }
.kb-c-corpo[hidden] { display: none !important; }
.kb-c-corpo { animation: kbAbrir .18s ease-out; }
@keyframes kbAbrir { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.kb-c-mini { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.kb-c-mini span { font-size: .68rem; font-weight: 700; padding: 3px 7px; border-radius: 999px; background: #f1f5f9; color: #475569; }
.kb-c-mini .w-verde { background: #dcfce7; color: #166534; }
.kb-c-mini .w-vermelho { background: #fee2e2; color: #991b1b; }
.kb-c-mini .w-azul { background: #dbeafe; color: #1e40af; }
.kb-c-mini .w-amarelo { background: #fef3c7; color: #92400e; }
.kb-cartao.aberto .kb-c-mini { display: none; }
/* Kanban: selo de compatibilidade compacto */
.kb-c-nota { min-width: 42px; padding: 3px 6px; border-radius: 9px; border-width: 1px; }
.kb-c-nota b { font-size: .86rem; font-weight: 800; }
.kb-c-nota small { font-size: .5rem; margin-top: 1px; letter-spacing: .06em; }
.kb-c-abrir { width: 24px; height: 24px; border-radius: 7px; }
.kb-c-abrir svg { width: 13px; height: 13px; }
.kb-c-topo { gap: 8px; }

/* Kanban: selo de compatibilidade um pouco menor */
.kb-c-nota { min-width: 38px; padding: 2px 5px; border-radius: 8px; }
.kb-c-nota b { font-size: .78rem; }
.kb-c-nota small { font-size: .46rem; }

/* Kanban: entrevista confirmada / remarcar */
.kb-ent-ok { display: block; font-weight: 800; color: #15803d; font-size: .78rem; margin-bottom: 2px; }
.kb-ent-st { font-weight: 700; }
.kb-ent-disp { display: block; margin-top: 3px; color: #9a3412; font-size: .74rem; }

/* Perfis de acesso: linha do módulo + itens */
.mz-modulo td { background: linear-gradient(90deg, #0f2f4a, #134e6f); color: #fff; padding: 12px 14px; }
.mz-modulo td small { color: rgba(255, 255, 255, .7); }
.mz-modulo td strong { font-size: .95rem; }
.mz-item { padding-left: 30px !important; }
.mz-chave-mod .trilho { background: rgba(255, 255, 255, .25); }
.mz-chave-mod.parcial input + .trilho { background: #f59e0b; }

/* Empresa: módulos contratados */
.mod-contrato { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.mod-opcao { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px 14px; border-radius: 14px; border: 2px solid #e2e8f0; cursor: pointer; transition: border-color .15s, background .15s; }
.mod-opcao input { position: absolute; opacity: 0; }
.mod-opcao-ic { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: #f1f5f9; color: #64748b; }
.mod-opcao-txt { display: flex; flex-direction: column; gap: 2px; }
.mod-opcao-txt small { color: #64748b; font-size: .76rem; line-height: 1.35; }
.mod-opcao-check { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #cbd5e1; display: grid; place-items: center; color: transparent; font-weight: 900; font-size: .75rem; }
.mod-opcao:has(input:checked) { border-color: #0d9488; background: #f0fdfa; }
.mod-opcao:has(input:checked) .mod-opcao-ic { background: #ccfbf1; color: #0f766e; }
.mod-opcao:has(input:checked) .mod-opcao-check { background: #0d9488; border-color: #0d9488; color: #fff; }
.mod-opcao:has(input:focus-visible) { box-shadow: 0 0 0 3px rgba(13, 148, 136, .25); }
.mod-opcao.base { cursor: default; opacity: .85; }
.mod-opcao.preparo { cursor: not-allowed; opacity: .6; border-style: dashed; }

/* Avaliações: enviar relatório por WhatsApp / e-mail */
button.botao-icone-acao { cursor: pointer; font: inherit; }
.botao-icone-acao.wpp { color: #16a34a; }
.botao-icone-acao.mail { color: #2563eb; }
.botao-icone-acao.enviado { box-shadow: inset 0 0 0 2px currentColor; }
.botao-icone-acao:disabled { opacity: .35; cursor: not-allowed; }
.botao-icone-acao.carregando { opacity: .55; cursor: progress; }
.rel-toast { position: fixed; right: 20px; bottom: 20px; z-index: 90; background: #0f172a; color: #fff; padding: 12px 16px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.25); font-size: .9rem; max-width: 380px; transition: opacity .4s, transform .4s; }
.rel-toast.erro { background: #b91c1c; }
.rel-toast.sai { opacity: 0; transform: translateY(8px); }
/* Função: modelo da vaga · Vaga: dados carregados da função */
.fn-vaga { margin: 4px 0 16px; border: 1px solid #e2e8f0; border-radius: 14px; padding: 12px 14px; background: #f8fafc; }
.fn-vaga > summary { cursor: pointer; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.fn-vaga > summary::-webkit-details-marker { display: none; }
.fn-vaga > summary span { font-weight: 800; }
.fn-vaga > summary span::after { content: ' ▾'; color: #64748b; }
.fn-vaga[open] > summary span::after { content: ' ▴'; }
.fn-vaga > summary small { color: #64748b; font-size: .78rem; }
.fn-carregado { margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: #f0fdf4; color: #166534; font-size: .8rem; font-weight: 600; }
.fn-carregado.vazio { background: #fffbeb; color: #92400e; }
.fn-preenchido { box-shadow: 0 0 0 3px rgba(22, 163, 74, .25); border-color: #16a34a !important; transition: box-shadow .3s; }
/* Leads prospectados */
.ld-campanha { display: grid; grid-template-columns: 1fr 300px; gap: 22px; margin-bottom: 18px; }
.ld-camp-info h3 { margin: 0 0 8px; }
.ld-uso { color: #475569; margin-bottom: 8px; }
.ld-camp-form .campo { margin-bottom: 10px; }
.ld-quadro { display: grid; grid-template-columns: repeat(6, minmax(200px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 8px; }
.ld-coluna { background: #f1f5f9; border-radius: 14px; padding: 10px; min-height: 160px; border-top: 4px solid #94a3b8; }
.ld-coluna.c-novo { border-color: #2563eb; } .ld-coluna.c-contato { border-color: #f59e0b; } .ld-coluna.c-reuniao { border-color: #7c3aed; }
.ld-coluna.c-proposta { border-color: #ea580c; } .ld-coluna.c-cliente { border-color: #16a34a; } .ld-coluna.c-perdido { border-color: #64748b; }
.ld-coluna > header { display: flex; justify-content: space-between; align-items: center; margin: 2px 4px 10px; font-size: .88rem; }
.ld-coluna > header span { background: #fff; border-radius: 999px; padding: 1px 9px; font-weight: 800; font-size: .78rem; }
.ld-cartao { display: block; background: #fff; border-radius: 12px; padding: 10px 11px; margin-bottom: 8px; color: inherit; text-decoration: none; box-shadow: 0 1px 3px rgba(15,23,42,.08); transition: transform .15s, box-shadow .15s; }
.ld-cartao:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15,23,42,.1); text-decoration: none; }
.ld-topo { display: flex; justify-content: space-between; gap: 6px; font-size: .88rem; }
.ld-nota { font-weight: 800; color: #b45309; font-size: .8rem; white-space: nowrap; }
.ld-sub { display: block; color: #64748b; font-size: .76rem; margin: 2px 0 7px; }
.ld-rodape { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.ld-prox { display: block; margin-top: 6px; font-size: .72rem; color: #475569; }
.ld-prox.hoje { color: #b91c1c; font-weight: 700; }
.ld-vazio { color: #94a3b8; font-size: .8rem; text-align: center; margin: 18px 0; }
.ld-historico { list-style: none; margin: 12px 0 0; padding: 0; display: grid; }
.ld-historico li { display: grid; grid-template-columns: 34px 1fr; gap: 10px; padding-bottom: 14px; position: relative; }
.ld-historico li::before { content: ''; position: absolute; left: 16px; top: 34px; bottom: 0; width: 2px; background: #e2e8f0; }
.ld-historico li:last-child::before { display: none; }
.ld-h-ic { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #f1f5f9; }
.t-whatsapp_entrada .ld-h-ic { background: #dcfce7; } .t-whatsapp_saida .ld-h-ic { background: #dbeafe; } .t-anotacao .ld-h-ic { background: #fef3c7; }
.ld-h-texto { font-size: .9rem; line-height: 1.5; padding-top: 6px; white-space: normal; }
.t-whatsapp_entrada .ld-h-texto { background: #f0fdf4; border-radius: 10px; padding: 8px 10px; }
.ld-historico time { display: block; color: #94a3b8; font-size: .74rem; margin-top: 3px; }
@media (max-width: 900px) { .ld-campanha { grid-template-columns: 1fr; } .ld-quadro { grid-template-columns: repeat(6, 220px); } }
/* Relatório do processo seletivo (botão do Kanban) */
.kb-form-rel { display: inline; margin: 0; }
.kb-btn-relatorio { background: linear-gradient(135deg, #0B1E3A, #1F3A5F); color: #fff; border: 1px solid #C9A227; box-shadow: 0 4px 14px rgba(11,30,58,.25); }
.kb-btn-relatorio:hover { color: #fff; filter: brightness(1.15); }
/* Logomarca (gestor): prévia do cabeçalho do relatório */
.lg-previa { position: relative; overflow: hidden; color: #fff; border-radius: 16px; padding: 26px 28px; background: linear-gradient(135deg, var(--cor), #06243a); }
.lg-previa::after { content: ''; position: absolute; right: -120px; top: -120px; width: 340px; height: 340px; border-radius: 50%; background: rgba(255,255,255,.07); }
.lg-topo { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 22px; position: relative; z-index: 1; }
.lg-cartao { display: inline-flex; align-items: center; background: #fff; border-radius: 12px; padding: 8px 12px; border-bottom: 3px solid #c9a227; box-shadow: 0 6px 18px rgba(0,0,0,.25); min-height: 58px; }
.lg-cartao img { height: 52px; max-width: 190px; object-fit: contain; display: block; }
.lg-nome { color: #0b1e3a; font-weight: 800; }
.lg-selo { font-size: .72rem; opacity: .85; text-align: right; }
.lg-rotulo { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; opacity: .75; font-weight: 600; }
.lg-titulo { display: block; font-size: 1.6rem; margin: 6px 0 2px; position: relative; z-index: 1; }
.lg-sub { font-size: .9rem; opacity: .85; position: relative; z-index: 1; }

/* Cabeçalho de tabela ordenável */
.th-ordenar { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.th-ordenar:hover { color: #0f766e; text-decoration: none; }
.th-seta { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 5px; border-radius: 6px; background: #e2e8f0; color: #475569; font-size: .68rem; font-weight: 800; letter-spacing: 0; }
.th-ordenar.ativo .th-seta { background: #0f766e; color: #fff; }
/* ===== Triagem Automática (banco de talentos) ===== */
.ta-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: center; padding: 28px 30px; margin-bottom: 20px; border-radius: 22px; color: #e2f1f8; background: radial-gradient(120% 140% at 0% 0%, #0d9488 0, transparent 46%), radial-gradient(90% 120% at 100% 100%, #3e63dd 0, transparent 50%), linear-gradient(135deg, var(--marca-900), var(--marca-700)); box-shadow: var(--sombra-forte); }
.ta-hero-brilho { position: absolute; inset: -40% -10% auto auto; width: 420px; height: 420px; background: conic-gradient(from 0deg, transparent, rgba(255,255,255,.12), transparent 30%); border-radius: 50%; animation: ta-gira 14s linear infinite; pointer-events: none; }
@keyframes ta-gira { to { transform: rotate(360deg); } }
.ta-hero-texto { position: relative; }
.ta-selo { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); color: #fde68a; }
.ta-hero h3 { margin: 12px 0 8px; font-size: 1.45rem; line-height: 1.2; color: #fff; }
.ta-hero p { margin: 0; color: #b6d3e2; font-size: .92rem; }
.ta-comando { position: relative; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; padding: 18px; backdrop-filter: blur(8px); }
.ta-comando label { display: block; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #fff; margin-bottom: 8px; }
.ta-comando-linha { display: flex; gap: 10px; }
.ta-comando-linha .entrada { flex: 1; min-width: 0; height: 46px; }
.ta-botao-aplicar { height: 46px; padding: 0 26px; font-weight: 700; color: #06243a; background: linear-gradient(135deg, #fde68a, #f5a524); border: 0; box-shadow: 0 8px 22px rgba(245,165,36,.35); }
.ta-botao-aplicar:hover { filter: brightness(1.05); transform: translateY(-1px); }
.ta-comando .ta-previa { margin: 10px 0 0; font-size: .8rem; color: #cfe3ee; }
.ta-comando .ta-previa b { color: #fff; }
.ta-comando .ta-previa.falta { color: #fecaca; }

.ta-progresso { display: flex; gap: 18px; align-items: center; padding: 16px 20px; margin-bottom: 18px; border-radius: 16px; background: linear-gradient(90deg, #ecfeff, #eef2ff); border: 1px solid #c7d2fe; }
.ta-progresso p { margin: 2px 0 0; font-size: .85rem; color: var(--texto-suave); }
.ta-scan { position: relative; flex: 0 0 120px; height: 8px; border-radius: 99px; background: #dbeafe; overflow: hidden; }
.ta-scan span { position: absolute; inset: 0 auto 0 -40%; width: 40%; border-radius: 99px; background: linear-gradient(90deg, transparent, #0d9488, #3e63dd, transparent); animation: ta-scan 1.4s ease-in-out infinite; }
@keyframes ta-scan { to { left: 100%; } }

.ta-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.ta-kpi { background: var(--superficie); border: 1px solid var(--borda); border-radius: 16px; padding: 14px 16px; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.ta-kpi strong { font-size: 1.6rem; line-height: 1.1; }
.ta-kpi span { font-size: .76rem; color: var(--texto-suave); }
.ta-kpi.destaque { background: linear-gradient(135deg, #0d9488, #0b4466); color: #fff; border: 0; }
.ta-kpi.destaque span { color: #ccfbf1; }
.ta-fora { position: relative; cursor: pointer; }
.ta-fora summary { list-style: none; display: flex; flex-direction: column; }
.ta-fora summary::-webkit-details-marker { display: none; }
.ta-fora ul { position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; width: 300px; margin: 0; padding: 12px 14px; list-style: none; background: var(--superficie); border: 1px solid var(--borda); border-radius: 14px; box-shadow: var(--sombra-forte); font-size: .82rem; }
.ta-fora li { padding: 4px 0; }
.ta-fora li b { display: inline-block; min-width: 26px; }
.ta-fora-nota { color: var(--texto-suave); border-top: 1px dashed var(--borda); margin-top: 4px; padding-top: 8px !important; }

.ta-tabela-cartao { overflow: visible; }
.tabela-rolagem { overflow-x: auto; }
.ta-tabela th, .ta-tabela td { padding: 12px 12px; }
.ta-tabela tbody tr { transition: background .15s; }
.ta-tabela tbody tr:hover { background: #f8fafc; }
.ta-tabela tbody tr.sel { background: #f0fdfa; box-shadow: inset 3px 0 0 #0d9488; }
.ta-sel { width: 34px; text-align: center; }
.ta-sel input { width: 17px; height: 17px; accent-color: #0d9488; cursor: pointer; }
.ta-num { font-weight: 800; color: var(--texto-suave); text-align: center; width: 44px; font-size: 1.05rem; }
.ta-pessoa { display: flex; gap: 10px; align-items: center; min-width: 200px; }
.ta-pessoa a { color: var(--texto); text-decoration: none; }
.ta-pessoa a:hover strong { color: var(--destaque); }
.ta-pessoa small { display: block; color: var(--texto-suave); font-size: .74rem; }
.ta-pessoa small.ta-consent { color: #b45309; }
.ta-avatar { flex: 0 0 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .8rem; color: #fff; background: var(--cor); box-shadow: 0 0 0 3px color-mix(in srgb, var(--cor) 22%, transparent); }
.ta-disc { display: flex; gap: 4px; }
.ta-disc-f { position: relative; width: 38px; height: 40px; border-radius: 8px; overflow: hidden; background: color-mix(in srgb, var(--cor) 10%, #fff); border: 1px solid color-mix(in srgb, var(--cor) 25%, transparent); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ta-disc-f::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--p) * 1%); background: color-mix(in srgb, var(--cor) 22%, transparent); }
.ta-disc-f i { position: relative; font-style: normal; font-weight: 800; font-size: .72rem; color: var(--cor); }
.ta-disc-f b { position: relative; font-size: .7rem; }
.ta-vaga-ant { font-size: .82rem; max-width: 170px; }
.txt-suave { color: var(--texto-suave); }
.ta-ic { text-align: center; width: 62px; }
.ta-ic-cab { display: inline-flex; flex-direction: column; align-items: center; font-size: 1.05rem; line-height: 1; cursor: help; }
.ta-ic-cab small { font-size: .58rem; margin-top: 3px; letter-spacing: .04em; }
.ta-anel { --p: 0; --cor: #94a3b8; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: radial-gradient(closest-side, #fff 76%, transparent 78% 100%), conic-gradient(var(--cor) calc(var(--p) * 1%), #e5e7eb 0); }
.ta-anel b { font-size: .8rem; font-weight: 800; color: var(--cor); }
.ta-insight-botao { width: 36px; height: 36px; border-radius: 50%; border: 0; cursor: help; font-size: 1rem; background: linear-gradient(135deg, #fde68a, #f5a524); box-shadow: 0 6px 16px rgba(245,165,36,.35); transition: transform .15s; }
.ta-insight-botao:hover, .ta-insight-botao:focus-visible { transform: scale(1.12) rotate(-8deg); outline: none; }

.ta-pop { position: fixed; z-index: 1000; width: 380px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); overflow-y: auto; padding: 18px; border-radius: 18px; color: #e2e8f0; background: linear-gradient(160deg, rgba(8,47,73,.97), rgba(6,36,58,.98)); border: 1px solid rgba(253,230,138,.35); box-shadow: 0 30px 80px rgba(2,6,23,.45), 0 0 0 1px rgba(255,255,255,.04) inset; backdrop-filter: blur(10px); opacity: 0; transform: translateY(6px) scale(.98); transition: opacity .16s, transform .16s; font-size: .82rem; }
.ta-pop.visivel { opacity: 1; transform: none; }
.ta-pop-topo { display: flex; gap: 12px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.1); }
.ta-pop-nota { flex: 0 0 auto; font-size: 1.9rem; font-weight: 800; color: #fff; padding: 4px 12px; border-radius: 12px; background: var(--cor); }
.ta-pop-nota small { font-size: .9rem; }
.ta-pop-topo strong { display: block; color: #fff; font-size: .95rem; }
.ta-pop-topo span { color: #fde68a; font-size: .78rem; }
.ta-pop-resumo { margin: 10px 0 0; color: #a5c4d4; }
.ta-pop-bloco { margin-top: 14px; }
.ta-pop-bloco h4 { margin: 0 0 6px; font-size: .74rem; text-transform: uppercase; letter-spacing: .07em; color: #fde68a; }
.ta-pop-bloco p { margin: 0 0 6px; line-height: 1.45; }
.ta-pop ul { margin: 6px 0 0; padding: 0; list-style: none; }
.ta-pop li { padding: 2px 0 2px 20px; position: relative; line-height: 1.4; }
.ta-pop-mais li::before { content: "✔"; position: absolute; left: 0; color: #4ade80; }
.ta-pop-menos li::before { content: "◐"; position: absolute; left: 0; color: #fbbf24; }
.ta-pop-trava { color: #fca5a5 !important; }
.ta-pop-fatores { display: grid; gap: 7px; }
.ta-pop-fator { display: grid; grid-template-columns: 16px 1fr 38px; gap: 8px; align-items: center; }
.ta-pop-fator > span { font-weight: 800; color: var(--cor); }
.ta-pop-trilho { position: relative; height: 8px; border-radius: 99px; background: rgba(255,255,255,.1); }
.ta-pop-trilho i { position: absolute; inset: 0 auto 0 0; border-radius: 99px; background: var(--cor); }
.ta-pop-trilho em { position: absolute; top: -4px; width: 2px; height: 16px; background: #fde68a; box-shadow: 0 0 6px #fde68a; }
.ta-pop-fator b { text-align: right; font-size: .78rem; }
.ta-pop-fator b.ok { color: #4ade80; }
.ta-pop-fator b.mais, .ta-pop-fator b.menos { color: #fbbf24; }
.ta-pop-atencao { margin-top: 8px !important; color: #cbd5e1; font-style: italic; }

.ta-barra-acao { position: sticky; bottom: 18px; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 12px 14px 12px 22px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, var(--marca-900), var(--marca-700)); box-shadow: var(--sombra-forte); animation: ta-sobe .22s ease-out; }
.ta-barra-acao[hidden] { display: none; }
@keyframes ta-sobe { from { transform: translateY(14px); opacity: 0; } }
.ta-botao-triagem { font-weight: 800; color: #06243a; background: linear-gradient(135deg, #5eead4, #0d9488); border: 0; padding: 0 22px; height: 44px; box-shadow: 0 8px 22px rgba(13,148,136,.4); }

.ta-vazio-inicio { padding: 26px; }
.ta-passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ta-passos > div { padding: 16px; border-radius: 14px; background: #f8fafc; border: 1px solid var(--borda); }
.ta-passos span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--destaque); color: #fff; font-weight: 800; margin-bottom: 8px; }
.ta-passos strong { display: block; }
.ta-passos p { margin: 4px 0 0; font-size: .85rem; color: var(--texto-suave); }

@media (max-width: 900px) {
  .ta-hero { grid-template-columns: 1fr; padding: 22px 18px; }
  .ta-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ta-passos { grid-template-columns: 1fr; }
  .ta-comando-linha { flex-direction: column; }
  .ta-fora ul { right: auto; left: 0; width: min(300px, 80vw); }
}

/* Triagem Automática: engrenagem da compatibilidade mínima */
.ta-comando-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.ta-comando-topo label { margin: 0; }
.ta-engrenagem { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 8px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .76rem; color: #e2f1f8; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); transition: background .15s; }
.ta-engrenagem b { color: #fde68a; }
.ta-engrenagem svg { transition: transform .5s; }
.ta-engrenagem:hover { background: rgba(255,255,255,.18); }
.ta-engrenagem:hover svg { transform: rotate(120deg); }
.ta-config { width: min(460px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 22px; box-shadow: var(--sombra-forte); }
.ta-config::backdrop { background: rgba(6,36,58,.55); backdrop-filter: blur(3px); }
.ta-config form { padding: 24px; }
.ta-config-cab { display: flex; gap: 12px; align-items: flex-start; }
.ta-config-cab h3 { margin: 0; font-size: 1.05rem; }
.ta-config-cab p { margin: 4px 0 0; font-size: .85rem; color: var(--texto-suave); }
.ta-config-ic { flex: 0 0 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-size: 1.2rem; color: #fff; background: linear-gradient(135deg, var(--marca-900), var(--destaque)); }
.ta-config-valor { text-align: center; margin: 18px 0 6px; font-weight: 800; color: var(--marca-800); }
.ta-config-valor output { font-size: 3rem; line-height: 1; }
.ta-config-valor small { font-size: 1.3rem; }
.ta-config input[type=range] { --p: 50%; width: 100%; height: 8px; border-radius: 99px; appearance: none; -webkit-appearance: none; background: linear-gradient(90deg, #0d9488 var(--p), #e2e8f0 var(--p)); outline: none; }
.ta-config input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 3px solid #0d9488; box-shadow: 0 4px 10px rgba(13,148,136,.35); cursor: pointer; }
.ta-config input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid #0d9488; cursor: pointer; }
.ta-config-escala { display: flex; justify-content: space-between; font-size: .7rem; color: var(--texto-suave); margin-top: 6px; }
.ta-config-atalhos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; justify-content: center; }
.ta-config-atalhos button { font: inherit; font-size: .8rem; font-weight: 600; padding: 5px 12px; border-radius: 999px; border: 1px solid var(--borda); background: #f8fafc; cursor: pointer; }
.ta-config-atalhos button.ativo { background: #0d9488; border-color: #0d9488; color: #fff; }
.ta-config-dica { margin: 14px 0 0; padding: 10px 12px; border-radius: 12px; background: #f0fdfa; border: 1px solid #ccfbf1; font-size: .84rem; }
.ta-config-dica small { color: var(--texto-suave); }
.ta-config-acoes { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }

/* ===== Autenticações (Gestor de Empresas: chaves próprias de IA) ===== */
.au-hero { display: flex; gap: 16px; align-items: center; padding: 18px 22px; margin-bottom: 18px; border-radius: 18px; background: linear-gradient(135deg, #fff7e6, #fef3c7); border: 1px solid #fde68a; }
.au-hero.pronto { background: linear-gradient(135deg, #ecfdf5, #ccfbf1); border-color: #99f6e4; }
.au-hero-ic { font-size: 1.8rem; }
.au-hero strong { font-size: 1.02rem; }
.au-hero p { margin: 4px 0 0; font-size: .86rem; color: var(--texto-suave); }
.au-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.au-cartao { padding: 20px; border-top: 4px solid var(--cor); display: flex; flex-direction: column; gap: 14px; }
.au-topo { display: flex; gap: 12px; align-items: flex-start; }
.au-logo { flex: 0 0 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: var(--cor); }
.au-nome { flex: 1; min-width: 0; }
.au-nome strong { display: block; font-size: 1rem; }
.au-nome small { display: block; color: var(--texto-suave); font-size: .8rem; line-height: 1.35; margin-top: 2px; }
.au-chave { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 10px 12px; border-radius: 12px; background: #f8fafc; border: 1px solid var(--borda); font-size: .82rem; }
.au-chave span { color: var(--texto-suave); }
.au-chave code { font-weight: 700; letter-spacing: .06em; }
.au-chave small { flex-basis: 100%; color: var(--texto-suave); }
.au-erro { margin: 0; padding: 8px 12px; border-radius: 10px; background: var(--erro-fundo); color: var(--erro); font-size: .82rem; }
.au-form label { display: block; font-size: .78rem; font-weight: 600; margin-bottom: 6px; }
.au-linha { display: flex; gap: 8px; }
.au-linha .entrada { flex: 1; min-width: 0; font-family: ui-monospace, Consolas, monospace; }
.au-onde { display: inline-block; margin-top: 8px; font-size: .78rem; }
.au-acoes { display: flex; gap: 8px; border-top: 1px dashed var(--borda); padding-top: 12px; }
.au-breve { opacity: .9; }
.au-breve-txt { margin: 0; font-size: .85rem; color: var(--texto-suave); }
.au-info { padding: 20px 22px; }
.au-info h3 { margin: 0 0 8px; }
.au-info ul { margin: 0; padding-left: 18px; font-size: .88rem; display: grid; gap: 6px; }
@media (max-width: 900px) {
  .au-grade { grid-template-columns: 1fr; }
  .au-linha { flex-direction: column; }
}

/* ===== Vendas (Mercado Pago) ===== */
.vd-grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; margin-bottom: 18px; align-items: start; }
.vd-mp { padding: 20px; border-top: 4px solid #94a3b8; }
.vd-mp.ok { border-top-color: #009ee3; }
.vd-mp-topo { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.vd-mp-topo > div { flex: 1; min-width: 0; }
.vd-mp-topo strong { display: block; }
.vd-mp-topo small { color: var(--texto-suave); }
.vd-mp-logo { flex: 0 0 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, #00b1ea, #2d3277); }
.vd-rotulo { display: block; font-size: .8rem; font-weight: 600; margin-bottom: 6px; }
.vd-precos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0; }
.vd-precos span { display: block; font-size: .78rem; font-weight: 600; margin-bottom: 4px; }
.vd-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.vd-info { margin: 14px 0 0; padding-top: 12px; border-top: 1px dashed var(--borda); font-size: .8rem; display: grid; gap: 6px; }
.vd-info dt { color: var(--texto-suave); }
.vd-info dd { margin: 0; word-break: break-all; }
.vd-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vd-kpi { background: var(--superficie); border: 1px solid var(--borda); border-radius: 16px; padding: 14px 16px; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.vd-kpi span { font-size: .76rem; color: var(--texto-suave); font-weight: 600; }
.vd-kpi strong { font-size: 1.5rem; line-height: 1.2; margin: 4px 0; }
.vd-kpi small { font-size: .74rem; color: var(--texto-suave); }
.vd-kpi.destaque { grid-column: span 2; color: #fff; border: 0; background: linear-gradient(135deg, #0b4466, #0d9488); }
.vd-kpi.destaque span, .vd-kpi.destaque small { color: #ccfbf1; }
.vd-kpi.alerta { border-color: #fecaca; background: #fef2f2; }
.vd-kpi.alerta strong { color: #b91c1c; }
.vd-linha { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 10px; }
.vd-ev { display: grid; grid-template-columns: 32px 1fr; gap: 10px; }
.vd-ev-ic { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: #f1f5f9; }
.vd-ev small { color: var(--texto-suave); font-size: .74rem; }
.vd-ev p { margin: 2px 0 0; font-size: .88rem; white-space: normal; }
.vd-whatsapp_saida .vd-ev-ic { background: #dcfce7; }
.vd-whatsapp_entrada .vd-ev-ic { background: #e0f2fe; }
.vd-pagamento .vd-ev-ic { background: #fef3c7; }
.vd-erro .vd-ev-ic { background: #fee2e2; }
.vd-erro p { color: #b91c1c; }
@media (max-width: 960px) { .vd-grade { grid-template-columns: 1fr; } }

/* ===== Prospecção ===== */
.pp-topo { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; margin-bottom: 16px; }
.pp-campanha { padding: 20px 22px; border-radius: 18px; color: #e2f1f8; background: linear-gradient(135deg, #06243a, #0b4466); box-shadow: var(--sombra-forte); }
.pp-campanha.ativa { background: radial-gradient(120% 120% at 0% 0%, #0d9488 0, transparent 55%), linear-gradient(135deg, #06243a, #0b4466); }
.pp-rotulo { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #fde68a; }
.pp-campanha h3 { color: #fff; margin: 8px 0 6px; font-size: 1.25rem; }
.pp-campanha p { margin: 0 0 14px; color: #b6d3e2; font-size: .88rem; }
.pp-campanha p strong { color: #fff; }
.pp-campanha-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.pp-wpp { padding: 18px 20px; border-radius: 18px; background: var(--superficie); border: 1px solid var(--borda); border-top: 4px solid #25d366; box-shadow: var(--sombra); }
.pp-wpp-topo { display: flex; gap: 10px; align-items: center; }
.pp-wpp-topo > div { flex: 1; }
.pp-wpp-topo strong { display: block; }
.pp-wpp-topo small { color: var(--texto-suave); font-size: .78rem; }
.pp-wpp-num { margin: 8px 0; font-weight: 700; min-height: 1em; }
.pp-wpp-qr { text-align: center; margin: 10px 0; }
.pp-wpp-qr img { width: 220px; max-width: 100%; border-radius: 12px; border: 1px solid var(--borda); }
.pp-wpp-qr p { font-size: .8rem; color: var(--texto-suave); margin: 6px 0 0; }
.pp-kpis { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.pp-kpis > div { flex: 1 1 130px; background: var(--superficie); border: 1px solid var(--borda); border-radius: 14px; padding: 10px 14px; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.pp-kpis strong { font-size: 1.35rem; }
.pp-kpis span { font-size: .74rem; color: var(--texto-suave); }
.pp-kpis .alerta { border-color: #fde68a; background: #fffbeb; }
.pp-kpi-canal { border-left: 4px solid var(--c) !important; }
.pp-publicar { padding: 18px 20px; margin-bottom: 18px; border: 2px solid #fde68a; }
.pp-publicar h3 { margin: 0 0 12px; }
.pp-publicar h3 small { display: block; font-size: .78rem; font-weight: 500; color: var(--texto-suave); margin-top: 4px; }
.pp-lista { display: grid; gap: 8px; }
.pp-item { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--borda); border-left: 4px solid var(--c); background: #fff; }
.pp-item.pp-feito { opacity: .65; }
.pp-canal { font-size: .7rem; font-weight: 800; text-transform: uppercase; color: #fff; background: var(--c); padding: 3px 8px; border-radius: 999px; }
.pp-item-txt strong { display: block; }
.pp-item-txt small { color: var(--texto-suave); font-size: .76rem; }
.pp-item-acoes { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.pp-cab-resultado { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 6px 0 10px; }
.pp-cab-resultado h3 { margin: 0; }
.pp-canais { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.pp-canal-cartao { background: var(--superficie); border: 1px solid var(--borda); border-top: 4px solid var(--c); border-radius: 16px; padding: 14px 16px; box-shadow: var(--sombra); }
.pp-canal-cartao header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.pp-canal-cartao header small { color: var(--texto-suave); font-size: .74rem; }
.pp-funil { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin: 12px 0 8px; }
.pp-funil div { text-align: center; padding: 8px 2px; border-radius: 10px; background: color-mix(in srgb, var(--c) 8%, #fff); }
.pp-funil b { display: block; font-size: 1.15rem; }
.pp-funil span { font-size: .68rem; color: var(--texto-suave); }
.pp-receita { margin: 0; font-weight: 800; font-size: 1.05rem; }
.pp-receita small { font-weight: 500; color: var(--texto-suave); }
.pp-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--c); margin-right: 6px; }
.pp-abas { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.pp-aba { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--borda); background: #fff; color: var(--texto); text-decoration: none; font-weight: 600; }
.pp-aba b { font-size: .75rem; color: var(--texto-suave); margin-left: 4px; }
.pp-aba.ativa { background: var(--c); border-color: var(--c); color: #fff; }
.pp-aba.ativa b { color: #fff; }
.pp-importar { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.pp-novo { display: grid; grid-template-columns: 1.2fr 1.6fr 0.7fr auto auto; gap: 8px; align-items: center; }
.pp-perm { display: flex; gap: 6px; align-items: center; font-size: .85rem; white-space: nowrap; }
.pp-ia { background: linear-gradient(135deg, #fde68a, #f5a524); color: #06243a; font-weight: 800; border: 0; }
.pp-texto-canal textarea { border-left: 4px solid var(--c); }
.pp-imagem { width: 100%; border-radius: 12px; border: 1px solid var(--borda); margin-bottom: 8px; }
@media (max-width: 900px) {
  .pp-topo, .pp-canais { grid-template-columns: 1fr; }
  .pp-item { grid-template-columns: 1fr; }
  .pp-item-acoes { justify-content: flex-start; }
  .pp-novo { grid-template-columns: 1fr; }
}
.pp-campanha .botao-fantasma { color: #e2f1f8; border: 1px solid rgba(255,255,255,.3); }

/* Agente Instagram */
.ig-topo { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: 16px; margin-bottom: 18px; }
.ig-status { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: 14px; background: var(--superficie); border: 1px solid var(--borda); }
.ig-status.ok { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.ig-logo { flex: none; width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; color: #fff; font-weight: 800; background: linear-gradient(45deg, #f58529, #dd2a7b 45%, #8134af 75%, #515bd4); }
.ig-check { list-style: none; margin: 8px 0 0; padding: 0; font-size: .85rem; color: var(--texto-suave); }
.ig-check li::before { content: '○ '; }
.ig-check li.ok { color: var(--texto); }
.ig-check li.ok::before { content: '✔ '; color: #10b981; font-weight: 700; }
.ig-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ig-kpis > div { padding: 14px; border-radius: 12px; background: var(--superficie); border: 1px solid var(--borda); display: flex; flex-direction: column; }
.ig-kpis strong { font-size: 1.45rem; line-height: 1.1; }
.ig-kpis span { font-size: .8rem; color: var(--texto-suave); }
.ig-kpis .destaque { background: linear-gradient(135deg, #8134af, #dd2a7b); color: #fff; border: 0; }
.ig-kpis .destaque span { color: rgba(255,255,255,.85); }
.ig-cab-lista { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--borda); }
.ig-cab-lista h3 { margin: 0; }
.ig-cab-lista select { width: auto; }
.ig-lista { display: flex; flex-direction: column; }
.ig-conversa { display: flex; gap: 12px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--borda); color: inherit; text-decoration: none; }
.ig-conversa:hover { background: var(--fundo); }
.ig-avatar { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .8rem; color: #fff; background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af); }
.ig-conversa-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ig-conversa-txt small { color: var(--texto-suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ig-conversa-dir { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.ig-conversa-dir small { color: var(--texto-suave); font-size: .75rem; }
.ig-meta code { word-break: break-all; font-size: .8rem; }
.ig-chat { display: flex; flex-direction: column; gap: 10px; padding: 18px; max-height: 60vh; overflow-y: auto; }
.ig-msg { max-width: 78%; padding: 10px 14px; border-radius: 16px; background: var(--fundo); border: 1px solid var(--borda); }
.ig-msg p { margin: 4px 0 0; }
.ig-msg small { color: var(--texto-suave); font-size: .72rem; }
.ig-msg.saida { align-self: flex-end; background: linear-gradient(135deg, #8134af, #dd2a7b); color: #fff; border: 0; }
.ig-msg.saida small { color: rgba(255,255,255,.8); }
.ig-msg.ig-humano.saida { background: #2563eb; }
.ig-msg.ig-sistema { align-self: center; background: transparent; border-style: dashed; color: var(--texto-suave); max-width: 92%; font-size: .85rem; }
.ig-responder { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.ig-responder .botao { align-self: flex-end; }
@media (max-width: 860px) {
  .ig-topo { grid-template-columns: 1fr; }
  .ig-kpis { grid-template-columns: repeat(2, 1fr); }
  .ig-msg { max-width: 92%; }
}

/* Postagens automáticas */
.pa-topo { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: 16px; margin-bottom: 18px; }
.pa-status { padding: 18px; border-radius: 14px; background: var(--superficie); border: 1px solid var(--borda); }
.pa-status.ok { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.pa-status .dica { margin-top: 10px; }
.pa-dia { margin: 18px 0 10px; font-size: .95rem; color: var(--texto-suave); text-transform: uppercase; letter-spacing: .04em; }
.pa-dia:first-of-type { margin-top: 4px; }
.pa-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.pa-card { display: flex; flex-direction: column; border: 1px solid var(--borda); border-radius: 14px; overflow: hidden; color: inherit; text-decoration: none; background: var(--superficie); transition: box-shadow .15s, transform .15s; }
.pa-card:hover { box-shadow: 0 8px 22px rgba(15,23,42,.12); transform: translateY(-2px); }
.pa-thumb { display: block; aspect-ratio: 4 / 5; background: linear-gradient(160deg, #0d1d38, #1b3a64); position: relative; }
.pa-card.story .pa-thumb { aspect-ratio: 9 / 16; max-height: 300px; }
.pa-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-thumb > span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 2rem; color: #f2c46d; }
.pa-info { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px 12px; }
.pa-info small { color: var(--texto-suave); }
.pa-info em { font-style: normal; font-size: .85rem; line-height: 1.3; }
.pa-info .selo { align-self: flex-start; margin-top: 4px; }
.pa-como { margin: 0; padding-left: 18px; font-size: .9rem; display: flex; flex-direction: column; gap: 6px; }
.pa-previa { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.pa-previa a { flex: none; width: min(340px, 78vw); scroll-snap-align: start; }
.pa-previa.story a { width: min(260px, 70vw); }
.pa-previa img { width: 100%; border-radius: 12px; display: block; box-shadow: 0 6px 18px rgba(15,23,42,.15); }
.pa-slide { border: 1px solid var(--borda); border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; }
.pa-slide summary { cursor: pointer; font-weight: 600; padding: 4px 0; }
.pa-novo-tema { display: grid; grid-template-columns: 180px 160px 1fr auto; gap: 8px; margin: 10px 0 14px; }
tr.inativo { opacity: .5; }
@media (max-width: 860px) {
  .pa-topo { grid-template-columns: 1fr; }
  .pa-novo-tema { grid-template-columns: 1fr; }
  .pa-grade { grid-template-columns: repeat(2, 1fr); }
}

/* Postagens Automáticas */
.pa-topo { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: 16px; margin-bottom: 18px; }
.pa-status { padding: 18px; border-radius: 14px; background: var(--superficie); border: 1px solid var(--borda); }
.pa-status.ok { border-color: #10b981; box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.pa-status .ig-check { margin: 0 0 10px; }
.pa-dia { margin: 18px 0 10px; font-size: .95rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-suave); }
.pa-dia:first-of-type { margin-top: 4px; }
.pa-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.pa-card { display: flex; gap: 12px; padding: 10px; border-radius: 14px; border: 1px solid var(--borda); background: var(--superficie); color: inherit; text-decoration: none; transition: box-shadow .15s, transform .15s; }
.pa-card:hover { box-shadow: 0 8px 22px rgba(15,23,42,.1); transform: translateY(-1px); }
.pa-thumb { flex: none; width: 84px; aspect-ratio: 4 / 5; border-radius: 10px; overflow: hidden; background: linear-gradient(150deg, #13284a, #2f5a8a); display: grid; place-items: center; color: #f2c46d; font-size: 1.4rem; }
.pa-card.story .pa-thumb { aspect-ratio: 9 / 16; width: 66px; }
.pa-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pa-info strong { font-size: .92rem; }
.pa-info small { color: var(--texto-suave); font-size: .78rem; }
.pa-info em { font-style: normal; font-size: .84rem; line-height: 1.3; }
.pa-info .selo { align-self: flex-start; margin-top: auto; }
.pa-como { margin: 0; padding-left: 18px; font-size: .88rem; display: grid; gap: 8px; }
.pa-previa { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
.pa-previa a { flex: none; width: min(360px, 78%); scroll-snap-align: start; }
.pa-previa.story a { width: min(260px, 62%); }
.pa-previa img { width: 100%; display: block; border-radius: 12px; box-shadow: 0 6px 20px rgba(15,23,42,.15); }
.pa-slide { border: 1px solid var(--borda); border-radius: 12px; padding: 10px 14px; margin-bottom: 10px; }
.pa-slide summary { cursor: pointer; font-weight: 600; }
.pa-slide[open] summary { margin-bottom: 10px; }
.pa-cards { display: flex; flex-direction: column; }
.pa-conh { padding: 12px 16px; border-bottom: 1px solid var(--borda); }
.pa-conh summary { cursor: pointer; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pa-conh p { margin: 10px 0 0; font-size: .9rem; line-height: 1.5; }
.pa-conh.inativo { opacity: .55; }
@media (max-width: 860px) {
  .pa-topo { grid-template-columns: 1fr; }
}

/* Diretor de Marketing / Inteligência Comercial */
.grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.mk-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 16px; }
.mk-kpis > div { padding: 14px 16px; border-radius: 14px; background: var(--superficie); border: 1px solid var(--borda); display: flex; flex-direction: column; gap: 2px; }
.mk-kpis span { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-suave); }
.mk-kpis strong { font-size: 1.15rem; }
.mk-kpis small { color: var(--texto-suave); font-size: .8rem; }
.mk-kpis .alerta { border-color: #ef4444; background: #fef2f2; }
.mk-layout { align-items: start; }
.mk-chat { display: flex; flex-direction: column; height: min(74vh, 820px); padding: 0; overflow: hidden; }
.mk-conversa { flex: 1; overflow-y: auto; padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.mk-boas-vindas { margin: auto; text-align: center; max-width: 460px; color: var(--texto-suave); }
.mk-boas-vindas h3 { color: var(--texto); margin: 10px 0 6px; }
.mk-avatar { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 20px; font-size: 1.8rem; background: linear-gradient(135deg, #13284a, #2f5a8a); }
.mk-msg { max-width: 88%; padding: 12px 16px; border-radius: 16px; background: var(--fundo); border: 1px solid var(--borda); }
.mk-msg.usuario { align-self: flex-end; background: #13284a; color: #fff; border: 0; }
.mk-msg.usuario .mk-autor { color: rgba(255,255,255,.7); }
.mk-autor { display: block; font-size: .72rem; color: var(--texto-suave); margin-bottom: 4px; }
.mk-texto p { margin: 0 0 8px; line-height: 1.5; }
.mk-texto ul { margin: 0 0 8px 18px; padding: 0; }
.mk-texto li { margin: 2px 0; line-height: 1.45; }
.mk-texto h4 { margin: 10px 0 4px; font-size: .95rem; }
.mk-camp-card { display: flex; gap: 12px; align-items: center; margin-top: 10px; padding: 12px; border-radius: 12px; background: linear-gradient(135deg, #fff7e6, #fdecc8); border: 1px solid #f2c46d; color: #13284a; text-decoration: none; }
.mk-camp-card small { display: block; color: #6b5320; }
.mk-camp-ic { font-size: 1.5rem; }
.mk-pontos { display: inline-flex; gap: 4px; margin-right: 6px; }
.mk-pontos i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; animation: mkp 1s infinite; opacity: .3; }
.mk-pontos i:nth-child(2) { animation-delay: .2s; } .mk-pontos i:nth-child(3) { animation-delay: .4s; }
@keyframes mkp { 50% { opacity: 1; } }
.mk-sugestoes { display: flex; gap: 8px; overflow-x: auto; padding: 8px 16px; border-top: 1px solid var(--borda); }
.mk-chip { flex: none; max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid var(--borda); background: var(--superficie); border-radius: 999px; padding: 6px 12px; font-size: .8rem; cursor: pointer; color: var(--texto); }
.mk-chip:hover { border-color: #d39a35; }
.mk-enviar { display: flex; gap: 10px; padding: 12px 16px 16px; align-items: flex-end; }
.mk-enviar textarea { flex: 1; resize: vertical; min-height: 48px; }
.mk-camps { display: flex; flex-direction: column; gap: 8px; }
.mk-camp { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--borda); text-decoration: none; color: inherit; }
.mk-camp:hover { border-color: #d39a35; }
.mk-camp small { color: var(--texto-suave); }
.mk-camp .selo { align-self: flex-start; }
.mk-atalhos { display: grid; gap: 6px; }
.mk-atalhos a { padding: 8px 10px; border-radius: 10px; text-decoration: none; color: inherit; }
.mk-atalhos a:hover { background: var(--fundo); }
.mk-estrategia h4 { margin: 14px 0 4px; }
.mk-estrategia ul, .mk-lista { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.mk-fases { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.mk-fase { padding: 12px; border-radius: 12px; background: var(--fundo); display: flex; flex-direction: column; gap: 3px; }
.mk-fase span { font-size: .72rem; text-transform: uppercase; color: #b37a1d; font-weight: 700; }
.mk-fase small { color: var(--texto-suave); }
.mk-temas { margin: 0 0 12px; padding-left: 18px; display: grid; gap: 4px; }
.mk-temas small { color: var(--texto-suave); }
.mk-temas li.usado { opacity: .6; }
.mk-marca-item { display: grid; gap: 6px; padding: 12px 0; border-bottom: 1px solid var(--borda); }
.mk-marca-titulo { font-weight: 700; max-width: 420px; }
.mk-busca-foto { display: flex; gap: 10px; }
.mk-busca-foto input { flex: 1; }
.mk-fotos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.mk-fotos figure { margin: 0; border: 1px solid var(--borda); border-radius: 12px; overflow: hidden; background: var(--superficie); }
.mk-fotos figure.reprovada { opacity: .45; }
.mk-fotos img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.mk-fotos figcaption { padding: 8px; display: grid; gap: 4px; font-size: .75rem; }
.mk-fotos form { display: flex; gap: 4px; flex-wrap: wrap; }
.ic-filtros { display: flex; gap: 8px; }
.ic-filtros select { width: auto; }
.ic-frentes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.ic-frente { padding: 18px; border-top: 4px solid #2f5a8a; }
.ic-frente.empresas { border-top-color: #d39a35; }
.ic-frente h3 { margin: 0 0 12px; }
.ic-frente h3 small { font-weight: 400; color: var(--texto-suave); font-size: .8rem; }
.ic-numeros { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 14px; }
.ic-numeros div, .ic-funil div { display: flex; flex-direction: column; }
.ic-numeros strong { font-size: 1.2rem; }
.ic-numeros span, .ic-funil span { font-size: .72rem; color: var(--texto-suave); }
.ic-funil { display: flex; align-items: center; gap: 8px; padding: 12px; border-radius: 12px; background: var(--fundo); flex-wrap: wrap; }
.ic-funil div { flex: 1; min-width: 80px; }
.ic-funil strong { font-size: 1.1rem; }
.ic-funil em { font-style: normal; font-size: .75rem; color: #2f5a8a; font-weight: 600; }
.ic-funil .ok strong { color: #15803d; }
.ic-funil i { color: var(--texto-suave); font-style: normal; }
.ic-tabela td { vertical-align: top; }
.ic-barra { display: grid; grid-template-columns: 1fr 2fr auto; gap: 8px; align-items: center; font-size: .82rem; margin: 6px 0; }
.ic-barra i { display: block; height: 8px; border-radius: 8px; background: linear-gradient(90deg, #2f5a8a, #6ec6e0); }
.ic-barra b { font-size: .78rem; }
.op-etapas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.op-etapas a { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--borda); text-decoration: none; color: inherit; font-size: .85rem; background: var(--superficie); }
.op-etapas a.ativa { background: #13284a; color: #fff; border-color: #13284a; }
.op-etapas b { margin-left: 4px; }
@media (max-width: 860px) {
  .ic-frentes, .grade-2 { grid-template-columns: 1fr; }
  .ic-numeros { grid-template-columns: repeat(2, 1fr); }
  .mk-chat { height: 70vh; }
  .mk-msg { max-width: 96%; }
}
.pa-dias { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; font-size: .85rem; }
.pa-dias label { display: inline-flex; gap: 4px; align-items: center; }
.pa-video { width: min(300px, 100%); border-radius: 14px; display: block; margin-bottom: 12px; background: #000; }
.pa-criterios { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-criterios span { padding: 4px 10px; border-radius: 999px; background: var(--fundo); font-size: .78rem; text-transform: capitalize; }
.pa-criterios b { margin-left: 4px; }
.mk-envio-fotos { display: grid; gap: 10px; }
.mk-envio-fotos h3 { margin: 0; }

.mk-adobe-logo { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: #fa0f00; color: #fff; font: 800 .8rem 'Inter', sans-serif; margin-right: 6px; vertical-align: middle; }
.mk-adobe-post { padding: 12px 0; border-top: 1px solid var(--borda); }
.mk-adobe-post p { margin: 0 0 8px; }
.mk-adobe-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin-bottom: 8px; }
.mk-adobe-grade a { position: relative; display: block; border-radius: 10px; overflow: hidden; background: var(--fundo); }
.mk-adobe-grade img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform .2s; }
.mk-adobe-grade a:hover img { transform: scale(1.04); }
.mk-adobe-grade span { position: absolute; left: 6px; right: 6px; bottom: 6px; text-align: center; font-size: .72rem; font-weight: 700; padding: 4px; border-radius: 6px; background: rgba(250,15,0,.92); color: #fff; }
.mk-adobe-linha { display: flex; gap: 12px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.mk-adobe-linha p { flex: 1; min-width: 220px; }

.mk-fotos .mk-excluir { color: #b91c1c; }

/* Posts Futuros */
.pf-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.pf-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.pf-img { position: relative; display: block; background: var(--fundo); }
.pf-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.pf-img span { position: absolute; right: 8px; top: 8px; background: rgba(0,0,0,.6); color: #fff; font-size: .75rem; padding: 2px 8px; border-radius: 999px; }
.pf-corpo { padding: 12px; display: grid; gap: 8px; }
.pf-selos { display: flex; flex-wrap: wrap; gap: 4px; }
.pf-titulo { font-weight: 700; }
.pf-acoes { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }

/* Meta de Seguidores */
.cr-cartoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 16px; }
.cr-kpi { padding: 14px 16px; display: grid; gap: 2px; }
.cr-kpi small { color: var(--texto-suave); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.cr-kpi strong { font-size: 1.7rem; line-height: 1.2; }
.cr-kpi span { color: var(--texto-suave); font-size: .82rem; }
.cr-destaque { background: #13284a; color: #fff; }
.cr-destaque small, .cr-destaque span { color: #f2c46d; }
.cr-progresso { height: 12px; border-radius: 999px; background: var(--fundo); overflow: hidden; }
.cr-progresso div { height: 100%; background: linear-gradient(90deg, #d39a35, #f2c46d); border-radius: 999px; min-width: 6px; }
.cr-grafico { width: 100%; height: auto; margin-top: 8px; }
.cr-eixo { stroke: #cfd6e2; stroke-width: 1; }
.cr-meta { stroke: #d39a35; stroke-width: 2; stroke-dasharray: 6 5; }
.cr-real { fill: none; stroke: #13284a; stroke-width: 3; stroke-linejoin: round; }
.cr-ponto { fill: #13284a; }
.cr-rotulo { font-size: 11px; fill: #6b7486; }
.cr-leg { display: inline-block; width: 18px; height: 3px; vertical-align: middle; margin-right: 4px; }
.cr-leg-real { background: #13284a; }
.cr-leg-meta { background: repeating-linear-gradient(90deg, #d39a35 0 5px, transparent 5px 9px); }
.cr-tarefas { display: grid; gap: 10px; margin: 8px 0 16px; }
.cr-tarefa { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border: 1px solid var(--borda); border-radius: 12px; }
.cr-tarefa p { margin: 2px 0 0; color: var(--texto-suave); font-size: .9rem; }
.cr-tarefa.feita { background: var(--sucesso-fundo); border-color: transparent; }
.cr-tarefa.feita strong { text-decoration: line-through; opacity: .7; }
.cr-check { flex: 0 0 28px; height: 28px; border-radius: 8px; border: 2px solid #13284a; background: #fff; color: #1d7a4b; font-weight: 700; cursor: pointer; }
.cr-blocos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-bottom: 16px; }
.cr-bloco { padding: 14px; border: 1px solid var(--borda); border-radius: 12px; }
.cr-texto { white-space: pre-wrap; background: var(--fundo); padding: 10px 12px; border-radius: 10px; cursor: copy; font-family: inherit; font-size: .92rem; margin: 4px 0 8px; }
.cr-texto.copiado { outline: 2px solid #1d7a4b; }
.cr-lista { padding-left: 18px; display: grid; gap: 6px; }
.cr-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.cr-form .campo { margin: 0; }
/* Controle de Seguidores */
.sg-barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.sg-periodo { margin: 0; }
.sg-pos { color: #1d7a4b; font-weight: 600; }
.sg-neg { color: var(--erro); }
.sg-tabela td, .sg-tabela th { white-space: nowrap; }

/* Fotos já utilizadas */
.mk-fotos-usadas img { filter: grayscale(.55); opacity: .85; }
.mk-fotos-usadas figure:hover img { filter: none; opacity: 1; }

/* LinkedIn */
.li-card .pa-thumb img { object-fit: cover; }
.li-post { border: 1px solid var(--borda); border-radius: 12px; background: #fff; max-width: 560px; overflow: hidden; }
.li-cab { display: flex; gap: 10px; align-items: center; padding: 12px 14px; }
.li-cab strong { display: block; font-size: .95rem; }
.li-cab small { color: var(--texto-suave); font-size: .78rem; }
.li-ava { width: 44px; height: 44px; border-radius: 50%; background: #13284a; color: #f2c46d; display: flex; align-items: center; justify-content: center; font-weight: 800; flex: none; }
.li-texto { padding: 0 14px 12px; font-size: .92rem; line-height: 1.45; white-space: normal; }
.li-img { width: 100%; display: block; }
.li-doc { display: flex; gap: 6px; overflow-x: auto; padding: 0 14px 6px; scroll-snap-type: x mandatory; }
.li-doc img { width: 70%; flex: none; border-radius: 6px; scroll-snap-align: start; border: 1px solid var(--borda); }
.li-artigo { display: block; text-decoration: none; color: inherit; border-top: 1px solid var(--borda); }
.li-artigo img { width: 100%; display: block; }
.li-artigo span { display: block; padding: 10px 14px; background: #f3f2ef; }
.li-artigo strong { display: block; font-size: .95rem; }
.li-artigo small { color: var(--texto-suave); }
.li-coment { margin: 0 14px 14px; padding: 10px 12px; background: #f3f2ef; border-radius: 10px; font-size: .85rem; }
.li-passos { padding-left: 18px; display: grid; gap: 6px; font-size: .9rem; margin-bottom: 12px; }
.li-passos code { word-break: break-all; }
.li-artigos { display: grid; gap: 16px; }
.li-artigo-item { display: grid; grid-template-columns: 260px 1fr; gap: 16px; padding: 12px; border: 1px solid var(--borda); border-radius: 14px; }
.li-artigo-item img { width: 100%; border-radius: 10px; }
.li-artigo-item h3 { margin: 6px 0 4px; }
.li-artigo-item .acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.li-tema-form { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.li-tema-form select { max-width: 220px; }
.li-tema-form input { flex: 1; min-width: 220px; }
@media (max-width: 720px) { .li-artigo-item { grid-template-columns: 1fr; } }
/* Configurar Facebook */
.fb-mini { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 5px; background: #1877f2; color: #fff; font: 800 14px/1 Arial, sans-serif; vertical-align: -4px; }
.fb-abrir { display: inline-flex; align-items: center; gap: 8px; }
.fb-dialogo { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 40px); border: none; border-radius: 18px; padding: 0; box-shadow: 0 30px 80px rgba(15, 23, 42, .35); }
.fb-dialogo::backdrop { background: rgba(15, 23, 42, .55); }
.fb-cab { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-bottom: 1px solid var(--borda); position: sticky; top: 0; background: #fff; z-index: 1; }
.fb-cab h3 { margin: 0; }
.fb-cab p { margin: 2px 0 0; font-size: .88rem; }
.fb-cab > div { flex: 1; }
.fb-logo { width: 42px; height: 42px; border-radius: 12px; background: #1877f2; color: #fff; display: grid; place-items: center; font: 800 26px/1 Arial, sans-serif; flex: none; }
.fb-bloco { padding: 16px 20px; border-bottom: 1px solid var(--borda); display: grid; gap: 10px; }
.fb-bloco h4 { margin: 0; }
.fb-tipos { display: grid; gap: 8px; padding-left: 10px; border-left: 3px solid #e7f0fe; }
.fb-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: end; }
.fb-grade .botao { grid-column: 1 / -1; }
.fb-linha { display: flex; gap: 8px; flex-wrap: wrap; }
.fb-linha select { flex: 1; min-width: 200px; }
.fb-botao { background: #1877f2; border-color: #1877f2; }
.fb-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: .88rem; }
@media (max-width: 560px) { .fb-grade { grid-template-columns: 1fr; } }
/* Planejamento editorial (Base de conhecimento → Planejamento) */
.pe-indicadores { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin: 16px 0; }
.pe-ind { padding: 14px 16px; display: grid; gap: 4px; }
.pe-ind > span { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-suave, #667); }
.pe-ind > strong { font-size: 1.35rem; }
.pe-ind > small { font-size: .78rem; color: var(--texto-suave, #667); }
.pe-ind-mix { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .85rem !important; }
.pe-ind-mix em { font-style: normal; white-space: nowrap; }
.pe-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; padding: 14px 16px; margin-bottom: 14px; }
.pe-filtros label { display: grid; gap: 4px; font-size: .8rem; flex: 1 1 150px; min-width: 0; }
.pe-filtros select { width: 100%; }
.pe-filtros-botoes { display: flex; gap: 6px; }
.pe-barra { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.pe-nav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pe-nav strong { font-size: 1.05rem; min-width: 150px; text-align: center; }
.pe-visoes { display: inline-flex; border: 1px solid var(--borda, #dde); border-radius: 8px; overflow: hidden; }
.pe-visoes a { padding: 6px 14px; font-size: .88rem; text-decoration: none; color: inherit; }
.pe-visoes a.ativa { background: var(--primaria, #1f3a68); color: #fff; }
.pe-legenda { font-size: .8rem; color: var(--texto-suave, #667); margin: 0 0 10px; }
.pe-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 26px; padding: 2px 6px; border-radius: 6px; font-size: .74rem; font-weight: 700; text-decoration: none; border: 1px solid transparent; }
.pe-aprovado { background: #e5f6ec; color: #1d7a4b; border-color: #bfe6cf; }
.pe-revisar { background: #fff4dc; color: #8a5a00; border-color: #f2dca5; }
.pe-reprovado { background: #fde8e8; color: #b42318; border-color: #f5c2c2; }
.pe-gerado { background: #e8eefc; color: #2f4fbf; border-color: #c9d6f7; }
.pe-mes { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.pe-mes-cab { font-size: .75rem; font-weight: 700; text-align: center; color: var(--texto-suave, #667); }
.pe-mes-dia { background: var(--superficie, #fff); border: 1px solid var(--borda, #e3e6ee); border-radius: 10px; min-height: 96px; padding: 6px; display: grid; align-content: start; gap: 4px; min-width: 0; }
.pe-mes-dia.pe-vazio { background: transparent; border-style: dashed; opacity: .4; }
.pe-mes-dia.pe-fora { opacity: .55; }
.pe-hoje { outline: 2px solid #c9a227; }
.pe-mes-num { font-weight: 700; text-decoration: none; color: inherit; }
.pe-mes-tema { font-size: .68rem; color: var(--texto-suave, #667); line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pe-mes-chips { display: flex; flex-wrap: wrap; gap: 3px; }
.pe-semana { display: grid; grid-template-columns: repeat(7, minmax(180px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 6px; }
.pe-dia { display: grid; gap: 10px; }
.pe-dia .pe-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.pe-dia .pe-col > header { grid-column: 1 / -1; }
.pe-col { display: grid; gap: 8px; align-content: start; min-width: 0; }
.pe-col > header { display: grid; gap: 2px; }
.pe-col > header a { text-decoration: none; color: inherit; }
.pe-col > header small { font-size: .75rem; color: var(--texto-suave, #667); }
.pe-item { display: grid; gap: 6px; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: inherit; border-left-width: 4px; }
.pe-item-topo { display: flex; gap: 6px; align-items: center; font-size: .75rem; }
.pe-item-topo .pe-nota { margin-left: auto; font-weight: 800; }
.pe-item-titulo { font-weight: 700; font-size: .9rem; line-height: 1.3; color: #1d2433; }
.pe-item-texto { font-size: .82rem; color: #333a48; line-height: 1.35; }
.pe-item-rodape { font-size: .72rem; opacity: .85; }
.pe-nada { font-size: .82rem; }
.pe-dl { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 8px 12px; margin: 0; font-size: .9rem; }
.pe-dl dt { font-weight: 700; color: var(--texto-suave, #556); }
.pe-dl dd { margin: 0; }
.pe-estrutura { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.pe-form { display: grid; gap: 10px; margin-top: 10px; }
.pe-form label { display: grid; gap: 4px; font-size: .85rem; }
.pe-botoes { display: grid; gap: 8px; }
.pe-botoes form { display: flex; gap: 6px; flex-wrap: wrap; }
.pe-botoes form input { flex: 1; min-width: 0; }
.pe-botoes .botao { width: 100%; justify-content: center; }
.pe-reprovar .botao, .pe-reagendar .botao { width: auto; }
.pe-acoes-topo { display: flex; gap: 6px; flex-wrap: wrap; }
.pe-crit { list-style: none; padding: 0; margin: 0 0 8px; display: grid; gap: 4px; font-size: .85rem; }
.pe-crit li { display: flex; justify-content: space-between; border-bottom: 1px dashed var(--borda, #e3e6ee); }
.pe-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: .85rem; }
@media (max-width: 760px) {
  .pe-mes { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
  .pe-mes-dia { min-height: 64px; padding: 3px; }
  .pe-mes-tema { display: none; }
  .pe-chip { min-width: 18px; padding: 1px 3px; font-size: .62rem; }
  .pe-semana { grid-template-columns: 1fr; overflow: visible; }
  .pe-dl { grid-template-columns: 1fr; gap: 2px; }
  .pe-dl dd { margin-bottom: 8px; }
}

/* Google Perfil da Empresa */
.gp-alerta { border-left: 4px solid #d39a35; background: #fff8ea; padding: 14px 16px; margin-bottom: 14px; }
.gp-alerta p { margin: 4px 0 0; }
.gp-funil { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 16px 0 6px; }
.gp-etapa { padding: 14px; display: grid; gap: 4px; position: relative; }
.gp-etapa span { font-size: .76rem; text-transform: uppercase; letter-spacing: .04em; color: var(--texto-suave, #667); }
.gp-etapa strong { font-size: 1.45rem; }
.gp-etapa small { font-size: .76rem; color: var(--texto-suave, #667); }
.gp-barras { display: flex; align-items: flex-end; gap: 3px; height: 160px; padding-top: 8px; overflow-x: auto; }
.gp-barra { flex: 1 0 12px; height: 100%; position: relative; display: flex; align-items: flex-end; justify-content: center; }
.gp-barra i { position: absolute; bottom: 16px; left: 0; right: 0; background: #c9d6f7; border-radius: 3px 3px 0 0; max-height: calc(100% - 16px); }
.gp-barra b { position: absolute; bottom: 16px; left: 30%; right: 30%; background: #d39a35; border-radius: 2px; max-height: calc(100% - 16px); }
.gp-barra small { font-size: .62rem; color: var(--texto-suave, #667); }
.gp-copiar { width: 100%; font-size: .8rem; margin-bottom: 8px; }
.gp-dicas { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: .88rem; }
.gp-linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.gp-linha label { display: grid; gap: 4px; flex: 1 1 180px; font-size: .85rem; }
.gp-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-top: 14px; }
.gp-post { display: grid; gap: 6px; text-decoration: none; color: inherit; padding: 10px; }
.gp-post img, .gp-sem-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; background: #eef1f7; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.gp-av { margin-bottom: 10px; }
.gp-av-topo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.gp-estrelas { color: #d39a35; letter-spacing: 1px; }
.gp-resposta { background: #f4f6fb; border-radius: 8px; padding: 10px 12px; }
.gp-resposta p { margin: 4px 0 0; }
.gp-form-resp { display: grid; gap: 8px; }
.gp-form-resp textarea { width: 100%; }
.gp-passos { padding-left: 18px; display: grid; gap: 8px; font-size: .9rem; }
.gp-check { display: flex !important; gap: 8px; align-items: center; }
.gp-dias { display: flex; flex-wrap: wrap; gap: 8px; font-size: .85rem; }
.gp-previa img { width: 100%; border-radius: 10px; margin-bottom: 12px; }
.gp-texto { white-space: normal; }
.gp-chat { display: grid; gap: 8px; max-height: 70vh; overflow-y: auto; }
.gp-msg { max-width: 82%; padding: 8px 12px; border-radius: 12px; background: #f1f3f8; }
.gp-msg p { margin: 0; }
.gp-msg small { font-size: .7rem; color: var(--texto-suave, #667); }
.gp-saida { justify-self: end; background: #e5f6ec; }
.gp-saida.gp-humano { background: #fff4dc; }
.gp-saida.gp-sistema { background: transparent; border: 1px dashed #cfd5e2; max-width: 100%; justify-self: center; font-size: .82rem; }
.texto-erro { color: #b42318; }
@media (max-width: 560px) { .gp-msg { max-width: 94%; } }
.au-uso { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 12px; }
.au-uso > div { background: #f4f6fb; border-radius: 12px; padding: 12px 14px; display: grid; gap: 2px; }
.au-uso span { font-size: .76rem; text-transform: uppercase; color: var(--texto-suave, #667); }
.au-uso strong { font-size: 1.3rem; }
.au-uso small { font-size: .78rem; color: var(--texto-suave, #667); }
.au-info + .au-info { margin-top: 16px; }

/* Controle de Curtidas e Comentários */
.eg-missao { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; margin: 10px 0; }
.eg-perfil { display: grid; gap: 10px; padding: 14px; }
.eg-perfil.feito { border-color: #bfe6cf; background: #f5fbf7; }
.eg-topo { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.eg-post { display: grid; gap: 4px; font-size: .88rem; }
.eg-post a { font-weight: 600; text-decoration: none; }
.eg-comentario { display: flex; gap: 8px; align-items: flex-start; background: #f4f6fb; border-radius: 8px; padding: 8px 10px; }
.eg-comentario span { flex: 1; }
.eg-post-tit { font-weight: 600; }
.eg-abrir { justify-self: start; }
.eg-abrir.eg-ok { background: #1f9d55; border-color: #1f9d55; color: #fff; }

/* Prospecção B2B */
.b2-kanban { display: grid; grid-template-columns: repeat(4, minmax(240px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 8px; margin-top: 12px; }
.b2-coluna { background: #f4f6fb; border-radius: 14px; padding: 10px; display: grid; gap: 8px; align-content: start; min-width: 0; }
.b2-coluna > header { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px; border-bottom: 3px solid #c9d6f7; }
.b2-coluna.b2-whatsapp > header { border-color: #1f9d55; }
.b2-coluna.b2-comprou > header { border-color: #d39a35; }
.b2-coluna.b2-nao_comprou > header { border-color: #b42318; }
.b2-coluna > header span { background: #fff; border-radius: 999px; padding: 1px 9px; font-size: .8rem; font-weight: 700; }
.b2-cartao { background: #fff; border: 1px solid var(--borda, #e3e6ee); border-radius: 10px; padding: 10px; display: grid; gap: 5px; font-size: .85rem; position: relative; }
.b2-nome { font-weight: 700; text-decoration: none; color: inherit; }
.b2-selos { display: flex; flex-wrap: wrap; gap: 4px; }
.b2-resposta { position: relative; cursor: help; color: #2f4fbf; font-weight: 600; }
.b2-pop { display: none; position: absolute; z-index: 20; left: 0; top: 120%; width: 300px; max-height: 260px; overflow: auto; background: #14223b; color: #fff; border-radius: 10px; padding: 10px 12px; font-weight: 400; font-size: .82rem; line-height: 1.45; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.b2-resposta:hover .b2-pop, .b2-resposta:focus .b2-pop { display: block; }
.b2-mover select { width: 100%; font-size: .8rem; }
.b2-servicos { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 12px; }
.b2-servico textarea { width: 100%; }
.b2-blocos { display: grid; gap: 8px; }
.b2-bloco { display: flex !important; gap: 10px; align-items: flex-start; border: 1px solid var(--borda, #e3e6ee); border-radius: 10px; padding: 10px; cursor: pointer; }
.b2-bloco span { display: grid; gap: 2px; }
.b2-bloco small { color: var(--texto-suave, #667); }
.b2-bloco.b2-off { opacity: .55; cursor: not-allowed; }
.b2-previa { border: 1px dashed #cfd5e2; border-radius: 10px; padding: 12px; margin-top: 10px; }
.b2-hist { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.b2-hist li { border-left: 3px solid #c9d6f7; padding: 4px 10px; }
.b2-hist li p { margin: 2px 0 0; font-size: .88rem; }
.b2-hist .b2-h-email_resposta, .b2-hist .b2-h-whatsapp_entrada { border-color: #1f9d55; background: #f5fbf7; }
.b2-hist .b2-h-pagamento { border-color: #d39a35; background: #fff8ea; }
.b2-hist .b2-h-erro { border-color: #b42318; }
@media (max-width: 760px) { .b2-kanban { grid-template-columns: 1fr; } .b2-pop { width: 240px; } }
.b2-cnae { display: grid; gap: 6px; }
.b2-cnae-lista { max-height: 320px; overflow-y: auto; border: 1px solid var(--borda, #e3e6ee); border-radius: 10px; padding: 6px; background: #fff; }
.b2-cnae-lista label { display: flex !important; gap: 8px; align-items: flex-start; padding: 5px 6px; border-radius: 6px; font-size: .86rem; cursor: pointer; }
.b2-cnae-lista label:hover { background: #f4f6fb; }
.b2-cnae-lista label[hidden] { display: none !important; }
.b2-cnae-lista label span { flex: 1; }
.b2-cnae-lista small { color: var(--texto-suave, #667); white-space: nowrap; }
.b2-cnae-sel { display: flex; flex-wrap: wrap; gap: 6px; }
.b2-chip { border: 1px solid #c9d6f7; background: #e8eefc; color: #2f4fbf; border-radius: 999px; padding: 3px 10px; font-size: .8rem; cursor: pointer; }
.wl-kanban { grid-template-columns: repeat(5, minmax(220px, 1fr)); }
.wl-negociacao > header { border-color: #d39a35 !important; }
.wl-comprou > header { border-color: #1f9d55 !important; }
.wl-nao_comprou > header { border-color: #b42318 !important; }
.wl-marcado td:first-child { box-shadow: inset 3px 0 0 #1f9d55; }

/* Campos padronizados nas telas novas (Leads WhatsApp, Prospecção B2B, Google Perfil, Engajamento, Planejamento) — mesmo visual de .entrada */
:is(.pe-form, .pe-filtros, .gp-linha, .abas-tipo form, .eg-perfil form, .b2-cnae) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), select, textarea) {
  width: 100%; height: 44px; padding: 0 14px; font: inherit; font-size: .92rem; color: var(--texto);
  background: var(--superficie, #fff); border: 1.5px solid var(--borda); border-radius: var(--raio-sm, 10px);
  transition: border-color .15s, box-shadow .15s; box-sizing: border-box;
}
:is(.pe-form, .pe-filtros, .gp-linha, .abas-tipo form, .eg-perfil form, .b2-cnae) :is(input, select, textarea):focus { outline: none; border-color: var(--destaque); box-shadow: 0 0 0 4px rgba(13, 148, 136, .15); }
:is(.pe-form, .pe-filtros, .gp-linha, .abas-tipo form) select {
  appearance: none; padding-right: 38px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235b6b80' stroke-width='2'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
}
:is(.pe-form, .pe-filtros, .gp-linha) textarea { height: auto; min-height: 110px; padding: 12px 14px; line-height: 1.55; resize: vertical; font-family: inherit; }
.pe-form > label, .pe-filtros > label, .gp-linha > label { display: grid; gap: 6px; font-size: .84rem; font-weight: 600; color: var(--texto); }
.pe-form input[type="file"] { width: 100%; padding: 14px; border: 1.5px dashed var(--borda); border-radius: var(--raio-sm, 10px); background: #f8fafc; font: inherit; font-size: .88rem; cursor: pointer; }
.pe-form input[type="file"]::file-selector-button { margin-right: 12px; padding: 8px 14px; border: 0; border-radius: 8px; background: var(--destaque, #0d9488); color: #fff; font-weight: 600; cursor: pointer; }
.pe-filtros { align-items: end; gap: 12px 14px; }
.pe-filtros .botao, .pe-filtros-botoes .botao { height: 44px; }
.abas-tipo form input, .abas-tipo form select { height: 38px; width: auto; min-width: 180px; }
.abas-tipo form .botao { height: 38px; }
.b2-mover select { height: 34px !important; font-size: .8rem !important; padding: 0 30px 0 10px !important; }

/* Dias da semana como pílulas */
.gp-dias { display: flex; flex-wrap: wrap; gap: 6px; }
.gp-dias label { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1.5px solid var(--borda); border-radius: 999px; font-size: .84rem; font-weight: 600; cursor: pointer; user-select: none; background: #fff; }
.gp-dias label:has(input:checked) { background: #e6f6f4; border-color: var(--destaque, #0d9488); color: #0f766e; }
.gp-dias input { accent-color: var(--destaque, #0d9488); margin: 0; }
.gp-check { font-weight: 600; font-size: .88rem; }
.gp-check input { accent-color: var(--destaque, #0d9488); width: 18px; height: 18px; }

/* Prompt do agente (Leads WhatsApp) */
.wl-prompt textarea { min-height: 360px !important; font-size: .95rem !important; }
.wl-ritmo .gp-linha { flex-wrap: nowrap; }
.wl-ritmo .gp-linha label { flex: 1 1 0; }
.wl-tabela td:nth-child(2), .wl-tabela td:nth-child(4), .wl-tabela td:nth-child(7), .wl-tabela td:nth-child(9) { white-space: nowrap; }
.wl-tabela td:nth-child(3) { min-width: 200px; }
.wl-paginacao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 14px 0 4px; }
.wl-pag-botoes { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.wl-pag { min-width: 38px; height: 38px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid var(--borda); border-radius: 10px; background: #fff; color: var(--texto); font-weight: 600; font-size: .88rem; text-decoration: none; }
.wl-pag:hover { border-color: var(--destaque); color: var(--destaque); text-decoration: none; }
.wl-pag.atual { background: var(--destaque); border-color: var(--destaque); color: #fff; }
.wl-pag.off { opacity: .4; pointer-events: none; }
.wl-pag-gap { padding: 0 4px; color: var(--texto-suave); }
.wl-ir label { display: inline-flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 600; }
.wl-ir input { width: 80px; height: 38px; padding: 0 10px; border: 1.5px solid var(--borda); border-radius: 10px; font: inherit; }
@media (max-width: 640px) { .wl-paginacao { justify-content: center; } }
.wl-fila { font-size: .9rem; padding: 6px 12px; border-radius: 999px; background: #e7f6f1; color: #146c5a; }
.wl-tabela tr.wl-marcado td { background: #f2fbf8; }
.wl-tabela input[data-lead], .wl-tabela input[data-todos] { width: 18px; height: 18px; cursor: pointer; accent-color: #1f8f78; }
.wl-situacao { display: block; white-space: normal; line-height: 1.4; padding: 10px 12px; border-radius: 10px; font-size: .88rem; margin: 12px 0 4px; }
.wl-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; padding: 14px 16px; margin: 12px 0; }
.wl-acoes .gp-check { flex: 0 0 auto; margin: 0; font-weight: 600; }
.wl-acoes-botoes { display: flex; gap: 8px; margin-left: auto; }
.wl-acoes [data-salvo] { flex-basis: 100%; }
@media (max-width: 640px) { .wl-acoes-botoes { margin-left: 0; width: 100%; } .wl-acoes-botoes .botao-primario { flex: 1; } }
.wl-tabela .wl-num { width: 56px; text-align: right; color: var(--texto-suave); font-variant-numeric: tabular-nums; }
/* Leads WhatsApp: abas Prospecções agendadas / Contato em andamento + popup Histórico */
.wl-tabela td { white-space: nowrap; }
.wl-tabela td:nth-child(3) { min-width: 0; }
.wl-tabela td a { white-space: normal; }
.wl-tabela .wl-motivo { white-space: normal; min-width: 180px; max-width: 280px; font-size: .86rem; color: var(--texto-suave); }
.wl-dia { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px 16px; margin: 12px 0; }
.wl-dia strong { font-size: 1.02rem; text-transform: capitalize; }
.wl-dia .dica { flex-basis: 100%; margin: 0; }
.wl-dialogo { width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 48px); border: 0; border-radius: 16px; padding: 18px 20px; box-shadow: 0 24px 60px rgba(15, 23, 42, .28); }
.wl-dialogo::backdrop { background: rgba(15, 23, 42, .45); }
.wl-dialogo-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.wl-dialogo-cab h3 { margin: 0; }
.wl-conv-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--borda); margin-bottom: 10px; }
.wl-conv-topo strong { display: block; }
.wl-conv-topo small { color: var(--texto-suave); }
.wl-conv-resumo { background: #fff8e6; border-radius: 10px; padding: 8px 12px; font-size: .88rem; margin: 0 0 10px; }
.wl-conv { max-height: 58vh; padding: 4px 2px; }
.wl-conv .gp-saida { justify-self: end; background: #e7f6f1; }
.wl-conv-sis { justify-self: center; font-size: .75rem; color: var(--texto-suave); background: #f4f5f8; border-radius: 999px; padding: 3px 10px; margin: 2px 0; text-align: center; }
.wl-motivos { padding: 14px 16px; margin: 12px 0; }
.wl-motivos h3 { margin: 0 0 10px; font-size: 1rem; }
.wl-mot-linha { display: grid; grid-template-columns: minmax(180px, 1.4fr) 2fr auto; align-items: center; gap: 12px; padding: 6px 4px; color: var(--texto); text-decoration: none; border-radius: 8px; font-size: .9rem; }
.wl-mot-linha:hover { background: #f4f6fa; text-decoration: none; }
.wl-mot-barra { height: 10px; background: #eef0f4; border-radius: 999px; overflow: hidden; }
.wl-mot-barra i { display: block; height: 100%; background: linear-gradient(90deg, #d39a35, #b42318); border-radius: 999px; }
@media (max-width: 640px) { .wl-mot-linha { grid-template-columns: 1fr auto; } .wl-mot-barra { grid-column: 1 / -1; } }
/* Leads WhatsApp: botões do topo e abas do funil em cartões */
.wl-topo { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex: 0 0 auto; }
.wl-topo-botoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.wl-topo-bt { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--destaque); color: var(--destaque-escuro); background: #fff; font-weight: 700; font-size: .9rem; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s; }
.wl-topo-bt:hover { background: var(--destaque-claro); text-decoration: none; }
.wl-topo-bt.ativa { background: var(--destaque); color: #fff; }
.wl-abas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 18px 0 6px; }
.wl-aba { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "ic txt" "num num"; gap: 10px 12px; align-items: center; padding: 16px; border-radius: 16px; background: #fff; border: 1.5px solid #cdeee9; color: var(--texto); text-decoration: none; box-shadow: 0 2px 8px rgba(13, 148, 136, .06); transition: transform .15s, box-shadow .15s, border-color .15s; min-height: 132px; }
.wl-aba:hover { transform: translateY(-2px); border-color: var(--destaque); box-shadow: 0 10px 22px rgba(13, 148, 136, .16); text-decoration: none; }
.wl-aba-ic { grid-area: ic; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 1.45rem; background: var(--destaque-claro); }
.wl-aba-txt { grid-area: txt; display: flex; flex-direction: column; line-height: 1.2; }
.wl-aba-txt small { font-size: .7rem; font-weight: 700; letter-spacing: .08em; color: var(--destaque); text-transform: uppercase; }
.wl-aba-txt small::before { content: "Etapa "; }
.wl-aba-txt strong { font-size: 1rem; color: var(--destaque-escuro); }
.wl-aba-num { grid-area: num; display: flex; align-items: baseline; gap: 6px; padding-top: 10px; border-top: 1px dashed #cdeee9; }
.wl-aba-num b { font-size: 1.5rem; color: var(--destaque-escuro); line-height: 1; }
.wl-aba-num small { font-size: .78rem; color: var(--texto-suave); }
.wl-aba.ativa { background: linear-gradient(135deg, var(--destaque) 0%, var(--destaque-escuro) 100%); border-color: var(--destaque-escuro); box-shadow: 0 12px 26px rgba(13, 148, 136, .32); }
.wl-aba.ativa .wl-aba-ic { background: rgba(255, 255, 255, .2); }
.wl-aba.ativa .wl-aba-txt small, .wl-aba.ativa .wl-aba-txt strong, .wl-aba.ativa .wl-aba-num b, .wl-aba.ativa .wl-aba-num small { color: #fff; }
.wl-aba.ativa .wl-aba-num { border-top-color: rgba(255, 255, 255, .35); }
.wl-aba.ativa::after { content: ""; position: absolute; left: 50%; bottom: -8px; width: 16px; height: 16px; background: var(--destaque-escuro); transform: translateX(-50%) rotate(45deg); border-radius: 3px; }
@media (max-width: 1280px) { .wl-abas { grid-template-columns: repeat(3, minmax(0, 1fr)); } .wl-aba.ativa::after { display: none; } }
@media (max-width: 760px) { .wl-topo { align-items: flex-start; } .wl-topo-botoes { justify-content: flex-start; } }
@media (max-width: 560px) { .wl-abas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .wl-aba { padding: 12px; min-height: 0; } .wl-aba-ic { width: 38px; height: 38px; font-size: 1.2rem; } .wl-aba-txt strong { font-size: .9rem; } .wl-aba-num b { font-size: 1.25rem; } }
.wl-cab { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 16px 28px; }
.wl-cab .wl-topo { align-self: start; }
.wl-acoes [hidden] { display: none !important; }
@media (max-width: 900px) { .wl-cab { grid-template-columns: 1fr; } .wl-cab .wl-topo { align-items: flex-start; } .wl-cab .wl-topo-botoes { justify-content: flex-start; } }
.wl-aviso-limpeza { margin: 10px 2px; font-size: .88rem; color: var(--texto-suave); } .wl-aviso-limpeza a { font-weight: 700; }
.wl-acoes-linha { display: flex; align-items: center; gap: 8px; }
.wl-encerrar { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid #f3c4c0; background: #fff5f4; color: #b42318; font-size: 1rem; font-weight: 800; line-height: 1; cursor: pointer; display: inline-grid; place-items: center; transition: background .15s, color .15s, transform .15s; }
.wl-encerrar:hover { background: #b42318; border-color: #b42318; color: #fff; transform: scale(1.06); }
/* Super agente: você assumiu a conversa → devolver ao agente; áudio de abertura */
.wl-devolver { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; border: 1.5px solid #f5d48a; background: #fffaf0; }
.wl-devolver > div:first-child { flex: 1 1 260px; display: grid; gap: 4px; }
.wl-devolver small { color: #6b5a33; line-height: 1.45; }
.wl-devolver-bts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.wl-devolver-linha { margin-top: 6px; white-space: nowrap; }
/* Janela da conversa: conduzir (instruir o agente, assumir, devolver) */
.wl-conduzir { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e3e8ef; display: grid; gap: 12px; }
.wl-conduzir textarea { width: 100%; }
.wl-conduzir small { color: #5b6678; }
.wl-instruir, .wl-entrar form { display: grid; gap: 8px; }
.wl-entrar { display: grid; gap: 10px; }
.wl-conduzir-bts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.wl-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.wl-chip { border: 1px solid #cdd7e5; background: #f6f8fb; border-radius: 999px; padding: 4px 10px; font-size: .8rem; color: #2a3a55; cursor: pointer; }
.wl-chip:hover { background: #e8eef7; }
.wl-instr-ativa { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; background: #fff7e6; border: 1px solid #f5d48a; border-radius: 10px; padding: 10px 12px; }
.wl-instr-ativa > div { display: grid; gap: 2px; }
.wl-conduzir-msg { margin: 0; padding: 8px 12px; border-radius: 8px; font-size: .88rem; }
.wl-conduzir-msg.ok { background: #e9f7ef; color: #17633a; }
.wl-conduzir-msg.erro { background: #fdecea; color: #b42318; }
.wl-audio audio { width: 100%; margin: 6px 0; }
.wl-audio .wl-audio-transc { background: #f6f8fb; border-radius: 10px; padding: 10px 12px; font-size: .88rem; color: #3b4658; white-space: pre-wrap; }
.wl-dialogo-pequeno { width: min(520px, calc(100vw - 32px)); }
.wl-dialogo-rodape { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
/* Leads Grupos WhatsApp */
.wg-importar { display: grid; gap: 14px; margin-top: 14px; }
.wg-bloco { padding: 18px; }
.wg-bloco h3 { margin: 0 0 6px; }
.wg-bloco-cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: flex-start; }
.wg-bloco-cab .dica { margin: 0; max-width: 760px; }
.wg-bloco-acoes { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.wg-busca { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 14px 0 10px; }
.wg-busca input[type=search] { flex: 1 1 280px; height: 42px; padding: 0 14px; border: 1.5px solid var(--borda); border-radius: 12px; font: inherit; }
.wg-grupos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; max-height: 460px; overflow-y: auto; padding: 2px; }
.wg-grupo { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: center; padding: 10px 12px; border: 1.5px solid #e3e7ee; border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s; }
.wg-grupo:hover { border-color: var(--destaque); }
.wg-grupo.marcado { border-color: var(--destaque); background: #f0fbf8; }
.wg-grupo input { width: 18px; height: 18px; accent-color: var(--destaque); grid-row: span 2; }
.wg-grupo-nome { font-size: .9rem; line-height: 1.3; word-break: break-word; }
.wg-grupo-nome b { color: var(--destaque-escuro); }
.wg-grupo-info { grid-column: 2; font-size: .74rem; color: #1f8f78; }
.wg-ja { background: #fafcfb; }
.wg-propositos { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; margin: 10px 0 14px; }
.wg-prop { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1.5px solid #e3e7ee; border-radius: 12px; cursor: pointer; font-weight: 600; }
.wg-prop:has(input:checked) { border-color: var(--destaque); background: #f0fbf8; }
.wg-prop input { width: 18px; height: 18px; accent-color: var(--destaque); }
.wg-agenda { display: grid; gap: 10px; }
.wg-rotulo { font-weight: 700; font-size: .88rem; }
.wg-horas label { min-width: 74px; justify-content: center; }
.wg-rodape { display: flex; justify-content: flex-end; margin-top: 14px; }
.wg-tit-tab { margin: 16px 16px 8px; }
.wg-prosp { padding: 18px; margin-bottom: 14px; }
.wg-prosp h3 { margin: 0 0 6px; }
.wg-prosp-status { margin: 10px 0; }
.wg-qr { display: block; width: 220px; max-width: 100%; margin: 10px auto; border-radius: 12px; border: 1px solid var(--borda); }
.wl-aviso-prosp { margin-top: 14px; }
/* Autenticações: Google Agenda */
.au-google-bt { display: inline-flex; align-items: center; gap: 10px; background: #fff !important; color: #1f1f1f !important; border: 1.5px solid #dadce0 !important; box-shadow: 0 1px 2px rgba(60, 64, 67, .15); }
.au-google-bt:hover { background: #f8faff !important; border-color: #1a73e8 !important; }
.au-passos { margin: 10px 0 14px; font-size: .9rem; }
.au-passos summary { cursor: pointer; font-weight: 700; color: var(--destaque-escuro); }
.au-passos ol { margin: 10px 0 8px 18px; padding: 0; display: grid; gap: 8px; line-height: 1.5; }
.au-copiar { display: inline-block; margin-top: 4px; padding: 4px 8px; background: #f1f3f4; border-radius: 6px; word-break: break-all; user-select: all; }
.au-google-app .au-form label { margin-top: 8px; }
.wg-grupo[hidden] { display: none !important; }
.wg-busca-campo { position: relative; flex: 1 1 320px; display: flex; }
.wg-busca-campo input { flex: 1; padding-right: 52px !important; }
.wg-lupa { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 38px; height: 34px; border: 0; border-radius: 9px; background: var(--destaque); color: #fff; display: grid; place-items: center; cursor: pointer; }
.wg-lupa:hover { background: var(--destaque-escuro); }
.wg-so-marcados { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 600; cursor: pointer; }
.wg-so-marcados input { width: 16px; height: 16px; accent-color: var(--destaque); }
.wg-nada { margin: 6px 2px 10px; }
.wg-importar [data-wg-so][hidden] { display: none !important; }
.pe-form .wg-prop { flex-direction: row !important; align-items: center !important; gap: 10px; }
.pe-form .wg-prop input { margin: 0; flex: 0 0 auto; }
.wg-propositos .wg-prop { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: flex-start; gap: 12px !important; }
.wg-propositos .wg-prop input[type=radio] { width: 20px !important; height: 20px !important; margin: 0 !important; flex: 0 0 20px; accent-color: var(--destaque); }
.wg-propositos .wg-prop span { display: inline; }
/* Simulação do Agente */
.ws-cartao { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; margin-top: 14px; border: 1.5px dashed #9fd9cd; background: #f6fcfa; }
.ws-cartao > div { display: grid; gap: 2px; flex: 1 1 320px; }
.ws-cartao small { color: var(--texto-suave); font-size: .85rem; }
.ws-dialogo { width: min(880px, calc(100vw - 24px)); }
.ws-config { display: grid; gap: 12px; margin: 10px 0; }
.ws-perfis { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
.ws-perfil { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1.5px solid #e3e7ee; border-radius: 12px; cursor: pointer; }
.ws-perfil:has(input:checked) { border-color: var(--destaque); background: #f0fbf8; }
.ws-perfil input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--destaque); flex: 0 0 auto; }
.ws-perfil span { display: grid; gap: 4px; }
.ws-perfil small { color: var(--texto-suave); font-size: .8rem; line-height: 1.35; }
.ws-prop { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.ws-prop label { display: grid; gap: 4px; font-size: .85rem; font-weight: 600; }
.ws-prop label[hidden] { display: none; }
.ws-prop :is(select, input) { height: 40px; padding: 0 12px; border: 1.5px solid var(--borda); border-radius: 10px; font: inherit; }
.ws-config [data-sim-executar] { justify-self: start; }
.ws-carregando { display: flex; align-items: center; gap: 10px; padding: 14px; color: var(--destaque-escuro); font-weight: 600; }
.ws-carregando[hidden] { display: none; }
.ws-spin { width: 18px; height: 18px; border: 3px solid #cdeee9; border-top-color: var(--destaque); border-radius: 50%; animation: ws-gira .8s linear infinite; }
@keyframes ws-gira { to { transform: rotate(360deg); } }
.ws-res-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin: 8px 0; }
.ws-chat { max-height: 46vh; padding: 12px; background: #efeae2; border-radius: 12px; }
.ws-chat .gp-saida { justify-self: end; background: #d9fdd3; }
.ws-chat .gp-entrada { background: #fff; }
.ws-nota { display: block; margin-top: 4px; font-size: .75rem; color: #9a6700; }
.ws-bloco { margin: 12px 0; }
.ws-bloco summary { cursor: pointer; font-weight: 700; }
.ws-perguntas, .ws-atencao, .ws-mudancas { margin: 8px 0 0 18px; padding: 0; display: grid; gap: 8px; font-size: .9rem; }
.ws-perguntas span { color: var(--texto-suave); }
.ws-lacuna b { color: #9a6700; }
.ws-ajustes { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--borda); }
.ws-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 10px; }
.ws-novo { margin-top: 16px; padding: 14px; border-radius: 12px; background: #f6fcfa; border: 1.5px solid #9fd9cd; }
.ws-novo h4 { margin: 0 0 6px; }
.ws-prompt-novo { width: 100%; margin-top: 10px; padding: 12px; border: 1.5px solid var(--borda); border-radius: 10px; font: inherit; font-size: .9rem; }
.ws-destaque { box-shadow: 0 0 0 4px rgba(13, 148, 136, .35) !important; transition: box-shadow .3s; }
.ws-aviso { margin-top: 10px; }
/* Agenda de Reuniões (estilo Google Agenda) */
.ag-topo-status { align-self: flex-start; }
.ag-cal { padding: 0; overflow: hidden; }
.ag-barra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--borda); }
.ag-nav, .ag-acoes { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ag-seta { width: 34px; height: 34px; border-radius: 50%; border: 0; background: transparent; font-size: 1.4rem; line-height: 1; cursor: pointer; color: var(--texto); }
.ag-seta:hover { background: #f1f3f4; }
.ag-titulo { margin: 0 0 0 6px; font-size: 1.2rem; font-weight: 500; }
.ag-visoes { display: inline-flex; border: 1.5px solid var(--borda); border-radius: 10px; overflow: hidden; }
.ag-visoes button { border: 0; background: #fff; padding: 7px 14px; font: inherit; font-size: .88rem; cursor: pointer; }
.ag-visoes button + button { border-left: 1px solid var(--borda); }
.ag-visoes button.ativa { background: #e8f0fe; color: #1967d2; font-weight: 700; }
.ag-legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; padding: 8px 16px; font-size: .78rem; color: var(--texto-suave); border-bottom: 1px solid var(--borda); }
.ag-legenda i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.ag-cor-livre { background: #e6f4ea; border: 1px dashed #34a853; }
.ag-cor-agendada { background: #0d9488; }
.ag-cor-confirmada { background: #188038; }
.ag-cor-remarcando { background: #e37400; }
.ag-cor-google { background: #7986cb; }
.ag-cor-bloqueio { background: repeating-linear-gradient(45deg, #dadce0 0 4px, #f1f3f4 4px 8px); }
.ag-cal > .gp-alerta { margin: 10px 16px 0; }
.ag-corpo { max-height: 72vh; overflow: auto; position: relative; }
.ag-carregando { padding: 30px; text-align: center; }
.ag-grade { display: grid; grid-template-columns: 58px repeat(var(--cols), minmax(110px, 1fr)); min-width: calc(58px + var(--cols) * 110px); }
.ag-cab-vazio, .ag-cab { position: sticky; top: 0; z-index: 3; background: #fff; border-bottom: 1px solid var(--borda); }
.ag-cab { text-align: center; padding: 8px 4px; cursor: context-menu; }
.ag-cab small { display: block; text-transform: uppercase; font-size: .7rem; letter-spacing: .05em; color: var(--texto-suave); }
.ag-cab b { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; font-size: 1.3rem; font-weight: 500; }
.ag-cab.hoje small { color: #1a73e8; }
.ag-cab.hoje b { background: #1a73e8; color: #fff; }
.ag-cab.bloqueado { background: repeating-linear-gradient(45deg, #f1f3f4 0 6px, #fff 6px 12px); }
.ag-cab em { display: block; font-style: normal; font-size: .68rem; color: #5f6368; }
.ag-hora-rot { font-size: .7rem; color: #70757a; text-align: right; padding-right: 8px; transform: translateY(-7px); }
.ag-dia-todo-rot { transform: none; padding-top: 6px; border-bottom: 1px solid var(--borda); }
.ag-dia-todo { min-height: 26px; border-left: 1px solid var(--borda); border-bottom: 1px solid var(--borda); padding: 2px; display: grid; gap: 2px; align-content: start; }
.ag-horas-col { border-right: 0; }
.ag-col { position: relative; border-left: 1px solid var(--borda); background-image: linear-gradient(to bottom, #eceff1 1px, transparent 1px); background-size: 100% 48px; cursor: context-menu; }
.ag-slot { position: absolute; left: 0; right: 0; }
.ag-slot:hover { background: rgba(26, 115, 232, .06); }
.ag-livre { position: absolute; left: 3px; right: 3px; border-radius: 6px; background: #e6f4ea; border: 1px dashed #34a853; color: #137333; font-size: .68rem; padding: 2px 6px; pointer-events: none; overflow: hidden; }
.ag-bloq { position: absolute; left: 0; right: 0; z-index: 1; background: repeating-linear-gradient(45deg, rgba(218, 220, 224, .85) 0 6px, rgba(241, 243, 244, .85) 6px 12px); border-top: 2px solid #9aa0a6; cursor: context-menu; }
.ag-bloq span { display: block; font-size: .7rem; color: #3c4043; padding: 2px 6px; font-weight: 600; }
.ag-ev { position: absolute; left: 4px; right: 4px; z-index: 2; border-radius: 6px; padding: 3px 7px; color: #fff; font-size: .74rem; line-height: 1.25; overflow: hidden; cursor: pointer; box-shadow: 0 1px 2px rgba(60, 64, 67, .3); }
.ag-ev b { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-ev small { display: block; opacity: .92; }
.ag-ev-agendada { background: #0d9488; }
.ag-ev-confirmada { background: #188038; }
.ag-ev-remarcando { background: #e37400; }
.ag-ev-google { background: #7986cb; cursor: default; }
.ag-ev-bloq { background: #dadce0; color: #3c4043 !important; }
.ag-ev:focus { outline: 2px solid #1a73e8; outline-offset: 1px; }
.ag-chip { position: static; display: block; margin: 0; padding: 2px 6px; border-radius: 5px; font-size: .72rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.ag-agora { position: absolute; left: 0; right: 0; z-index: 4; height: 2px; background: #ea4335; pointer-events: none; }
.ag-agora::before { content: ""; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: #ea4335; }
.ag-mes { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ag-mes-cab { text-align: center; font-size: .72rem; text-transform: uppercase; color: var(--texto-suave); padding: 6px 0; border-bottom: 1px solid var(--borda); }
.ag-mes-dia { min-height: 108px; border-right: 1px solid var(--borda); border-bottom: 1px solid var(--borda); padding: 4px; display: grid; gap: 2px; align-content: start; cursor: pointer; }
.ag-mes-dia:hover { background: #f8f9fa; }
.ag-mes-dia.fora { background: #fafafa; color: #9aa0a6; }
.ag-mes-dia.bloqueado { background: repeating-linear-gradient(45deg, #f1f3f4 0 6px, #fff 6px 12px); }
.ag-mes-num { font-size: .8rem; font-weight: 600; justify-self: center; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; }
.ag-mes-dia.hoje .ag-mes-num { background: #1a73e8; color: #fff; }
.ag-livres-n { font-size: .68rem; color: #137333; }
.ag-mais { font-size: .7rem; color: var(--texto-suave); }
.ag-menu { position: fixed; z-index: 1000; min-width: 260px; background: #fff; border-radius: 8px; box-shadow: 0 4px 16px rgba(60, 64, 67, .3); padding: 6px 0; }
.ag-menu button { display: block; width: 100%; text-align: left; border: 0; background: none; padding: 9px 16px; font: inherit; font-size: .88rem; cursor: pointer; }
.ag-menu button:hover, .ag-menu button:focus { background: #f1f3f4; outline: none; }
.ag-menu button.perigo { color: #c5221f; }
.ag-pop { position: fixed; z-index: 999; width: 320px; max-width: calc(100vw - 16px); background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgba(60, 64, 67, .35); padding: 14px 16px; font-size: .86rem; }
.ag-pop p { margin: 4px 0; }
.ag-pop-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; font-size: 1rem; margin-bottom: 6px; }
.ag-pop-x { border: 0; background: none; cursor: pointer; font-size: 1rem; color: #5f6368; }
.ag-pop-resumo { color: var(--texto-suave); font-size: .8rem; }
.ag-pop-acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.ag-perigo { color: #c5221f !important; }
.ag-horas label { min-width: 70px; justify-content: center; }
.pe-form [data-ag-horas][hidden] { display: none; }
@media (max-width: 700px) { .ag-mes-dia { min-height: 70px; } .ag-chip { font-size: .62rem; } .ag-titulo { font-size: 1rem; } }
/* Propósito do agente → Gerar Prompt */
.wp-briefing { margin-bottom: 14px; border: 1.5px solid #9fd9cd; background: linear-gradient(180deg, #f6fcfa 0%, #fff 60%); }
.wp-briefing textarea { min-height: 150px; }
.wp-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; }
.wp-resultado { margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: #fff; border: 1px solid var(--borda); font-size: .88rem; }
.wp-resultado ul { margin: 6px 0 10px 18px; padding: 0; display: grid; gap: 4px; }
.wp-preencher li { color: #9a6700; }
/* Atendimento Receptivo */
.rc-lista { display: grid; gap: 12px; margin-top: 12px; }
.rc-item { padding: 14px 16px; }
.rc-cab { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; align-items: center; }
.rc-motivo { margin: 6px 0; }
.rc-msgs { background: #efeae2; border-radius: 10px; padding: 8px 12px; margin: 8px 0; display: grid; gap: 4px; font-size: .9rem; }
.rc-msgs p { margin: 0; background: #fff; border-radius: 8px; padding: 6px 10px; justify-self: start; max-width: 90%; }
.rc-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-sub { margin: 12px 0; }
.rc-novo { margin-bottom: 12px; }
.rc-linha-acoes form { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-ordem { margin: 10px 0 14px 18px; padding: 0; display: grid; gap: 6px; font-size: .86rem; color: var(--texto-suave); }
/* Links de Avaliação */
.lk-secao { margin: 22px 0 10px; font-size: 1.05rem; }
.lk-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 14px; }
.lk-cartao { display: grid; gap: 10px; padding: 16px 18px; border-left: 4px solid var(--destaque); }
.lk-cartao.inativo { border-left-color: #c4c7c5; opacity: .82; }
.lk-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.lk-topo h4 { margin: 0 0 2px; font-size: 1rem; }
.lk-url { display: flex; flex-wrap: wrap; gap: 6px; }
.lk-url input { flex: 1 1 220px; font-size: .85rem; }
.lk-numeros { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .85rem; color: var(--texto-suave); align-items: center; }
.lk-numeros b { color: var(--texto); }
.lk-acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.lk-acoes form { display: inline; }
.lk-perigo { color: #c5221f !important; }
.lk-chave { display: inline-flex; align-items: center; gap: 8px; border: 0; background: none; cursor: pointer; font: inherit; font-size: .8rem; padding: 0; }
.lk-chave span { width: 40px; height: 22px; border-radius: 999px; background: #c4c7c5; position: relative; transition: background .2s; }
.lk-chave span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .2s; box-shadow: 0 1px 2px rgba(0, 0, 0, .3); }
.lk-chave.ligada span { background: var(--destaque); }
.lk-chave.ligada span::after { left: 21px; }
.lk-chave b { color: var(--texto-suave); font-weight: 600; }
.lk-chave.ligada b { color: var(--destaque-escuro); }
.lk-qr { display: grid; place-items: center; padding: 12px; }
.lk-qr-url { text-align: center; word-break: break-all; }
@media (max-width: 480px) { .lk-grade { grid-template-columns: 1fr; } }
/* Agenda de Reuniões — comando por IA */
.ag-cmd { margin-bottom: 14px; display: grid; gap: 10px; border-left: 4px solid var(--destaque); }
.ag-cmd-cab h3 { margin: 0 0 2px; }
.ag-cmd-linha { display: flex; gap: 8px; align-items: stretch; }
.ag-cmd-linha textarea { flex: 1; resize: vertical; min-height: 54px; }
.ag-cmd-linha .botao { white-space: nowrap; }
.ag-cmd-exemplos { display: flex; flex-wrap: wrap; gap: 6px; }
.ag-cmd-chip { border: 1px solid var(--borda, #dadce0); background: var(--fundo-suave, #f8f9fa); border-radius: 999px; padding: 4px 10px; font: inherit; font-size: .78rem; cursor: pointer; color: var(--texto); }
.ag-cmd-chip:hover { border-color: var(--destaque); }
.ag-cmd-resultado { background: var(--fundo-suave, #f8f9fa); border-radius: 10px; padding: 10px 14px; display: grid; gap: 8px; }
.ag-cmd-resultado p { margin: 0; }
.ag-cmd-ent { font-weight: 600; }
.ag-cmd-acoes { margin: 0; padding-left: 18px; font-size: .9rem; }
.ag-cmd-reun { font-size: .8rem; color: #b06000; }
.ag-cmd-ok { color: #137333; font-weight: 600; }
.ag-cmd-pre { white-space: pre-line; }
.ag-cmd-botoes { display: flex; gap: 8px; flex-wrap: wrap; }
.ag-cmd-hist summary { cursor: pointer; font-size: .88rem; }
.ag-cmd-hist ul { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 8px; font-size: .85rem; }
.ag-cmd-hist li { border-top: 1px solid var(--borda, #eee); padding-top: 6px; }
.ag-livre.extra { background: #e0f2fe; border-color: #0284c7; color: #075985; }
.ag-cor-extra { background: #e0f2fe; border: 1px solid #0284c7; }
@media (max-width: 600px) { .ag-cmd-linha { flex-direction: column; } }
/* Secretaria Virtual */
.sv-status { display: flex; align-items: center; }
.sv-empresa { margin-top: 10px; } .sv-empresa label { display: inline-flex; gap: 8px; align-items: center; font-size: .9rem; font-weight: 600; } .sv-empresa select { width: auto; min-width: 220px; }
.sv-abas { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.sv-abas a { padding: 8px 14px; border-radius: 999px; background: var(--fundo-suave, #f1f3f4); color: var(--texto); text-decoration: none; font-size: .88rem; font-weight: 600; border: 1px solid transparent; }
.sv-abas a.ativa { background: var(--destaque); color: #fff; }
.sv-abas a:not(.ativa):hover { border-color: var(--destaque); }
.sv-grade { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 14px; align-items: start; }
.sv-cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.sv-cab h3 { margin: 0; }
.sv-dia { margin-bottom: 14px; display: grid; gap: 14px; }
.sv-dia-nav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sv-dia-nav h3 { margin: 0 0 0 6px; font-size: 1.05rem; }
.sv-dia-nav form { margin: 0; }
.sv-placar { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.sv-anel { --p: 0; --c: #9aa0a6; width: 132px; height: 132px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: conic-gradient(var(--c) calc(var(--p) * 1%), #e8eaed 0); transition: background .4s; }
.sv-anel > div { width: 104px; height: 104px; border-radius: 50%; background: var(--fundo-cartao, #fff); display: grid; place-items: center; align-content: center; text-align: center; }
.sv-anel strong { font-size: 1.9rem; line-height: 1; }
.sv-anel small { font-size: .72rem; color: var(--texto-suave); text-transform: uppercase; letter-spacing: .04em; }
.sv-placar-info { display: grid; gap: 8px; flex: 1; min-width: 240px; }
.sv-placar-info p { margin: 0; }
.sv-comparar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; }
.sv-comparar label { display: flex; align-items: center; gap: 6px; font-size: .88rem; }
.sv-comp-valor { font-weight: 700; }
.sv-dif { font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #f1f3f4; font-size: .82rem; }
.sv-dif.mais { background: #e6f4ea; color: #137333; }
.sv-dif.menos { background: #fce8e6; color: #c5221f; }
.sv-barras { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 6px; align-items: end; }
.sv-barra { display: grid; gap: 3px; text-align: center; text-decoration: none; color: var(--texto-suave); font-size: .7rem; border-radius: 8px; padding: 3px 0; }
.sv-barra-v { font-size: .68rem; font-weight: 700; color: var(--texto); min-height: 1em; }
.sv-barra-c { height: 70px; display: flex; align-items: flex-end; justify-content: center; background: #f1f3f4; border-radius: 6px; overflow: hidden; }
.sv-barra-c i { width: 100%; display: block; border-radius: 6px 6px 0 0; }
.sv-barra.atual { outline: 2px solid var(--destaque); }
.sv-barra.comp { outline: 2px dashed #9aa0a6; }
.sv-itens { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 6px; }
.sv-itens li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--borda, #e5e7eb); border-radius: 12px; transition: background .2s; }
.sv-itens li.feito { background: #f3faf5; }
.sv-itens li.feito .sv-item-txt b { text-decoration: line-through; color: var(--texto-suave); }
.sv-item-txt { flex: 1; display: grid; gap: 2px; min-width: 0; }
.sv-item-txt small { color: var(--texto-suave); font-size: .76rem; }
.sv-item-acoes { display: flex; gap: 4px; }
.sv-item-acoes form { margin: 0; }
.sv-check { position: relative; width: 26px; height: 26px; flex: none; cursor: pointer; }
.sv-check input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.sv-check span { position: absolute; inset: 0; border: 2px solid #9aa0a6; border-radius: 8px; transition: all .15s; }
.sv-check input:checked + span { background: #137333; border-color: #137333; }
.sv-check input:checked + span::after { content: "✓"; color: #fff; position: absolute; inset: 0; display: grid; place-items: center; font-weight: 800; }
.sv-check input:focus-visible + span { box-shadow: 0 0 0 3px rgba(26, 115, 232, .3); }
.sv-p { font-weight: 700; }
.sv-p-alta { color: #c5221f; }
.sv-p-normal { color: #5f6368; }
.sv-p-baixa { color: #188038; }
.sv-novo { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.sv-novo .entrada:first-of-type { flex: 1 1 200px; }
.sv-metas { display: grid; gap: 10px; }
.sv-meta { display: grid; gap: 5px; padding: 10px 12px; border: 1px solid var(--borda, #e5e7eb); border-radius: 12px; }
.sv-meta.concluida { background: #f3faf5; }
.sv-meta.pausada { opacity: .75; }
.sv-meta-cab { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.sv-meta-acoes { display: flex; gap: 6px; flex-wrap: wrap; }
.sv-meta-acoes form { display: flex; gap: 4px; margin: 0; }
.sv-nova-meta summary { list-style: none; display: inline-block; }
.sv-nova-meta summary::-webkit-details-marker { display: none; }
.sv-nova-meta[open] summary { margin-bottom: 8px; }
.sv-simples { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: .88rem; }
.sv-simples li { display: flex; justify-content: space-between; gap: 8px; align-items: center; border-bottom: 1px solid var(--borda, #eee); padding-bottom: 6px; }
.sv-simples form { margin: 0; }
.sv-msg { max-width: 380px; font-size: .85rem; }
.sv-filtro { margin-bottom: 14px; }
.sv-verde { color: #137333; }
.sv-vermelho { color: #c5221f; }
.sv-meses { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; text-align: center; font-size: .75rem; }
.sv-mes { display: grid; gap: 3px; }
.sv-mes-barras { height: 110px; display: flex; gap: 3px; align-items: flex-end; justify-content: center; background: #f8f9fa; border-radius: 8px; padding: 0 6px; }
.sv-mes-barras i { width: 40%; display: block; border-radius: 4px 4px 0 0; min-height: 2px; }
.sv-mes-barras i.r, .sv-leg.r { background: #34a853; }
.sv-mes-barras i.d, .sv-leg.d { background: #ea4335; }
.sv-leg { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin: 0 4px 0 10px; }
.sv-cat { display: grid; grid-template-columns: 110px 1fr auto; gap: 8px; align-items: center; font-size: .85rem; margin-bottom: 6px; }
.sv-previsto td { color: var(--texto-suave); }
.sv-diario-dia { margin-bottom: 16px; }
.sv-diario-dia h4 { margin: 0 0 8px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sv-diario { border-left: 3px solid var(--destaque); padding: 6px 12px; margin-bottom: 8px; background: var(--fundo-suave, #f8f9fa); border-radius: 0 10px 10px 0; }
.sv-diario p { margin: 4px 0; }
.sv-diario-meta { font-size: .76rem; color: var(--texto-suave); }
.sv-diario-resumo { font-weight: 600; }
.sv-conversas { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sv-conversas li { border: 1px solid var(--borda, #e5e7eb); border-radius: 12px; padding: 10px 12px; display: grid; gap: 6px; }
.sv-conv-cab { display: flex; gap: 8px; align-items: center; }
.sv-conversas p { margin: 0; font-size: .88rem; }
.sv-conv-eu { background: #e7f3ff; border-radius: 10px; padding: 6px 10px; justify-self: start; max-width: 95%; }
.sv-conv-ent { color: var(--texto-suave); font-size: .8rem !important; }
.sv-conv-ela { background: #e6f4ea; border-radius: 10px; padding: 6px 10px; justify-self: end; max-width: 95%; white-space: normal; }
.sv-exemplos { margin: 0; padding-left: 18px; font-size: .85rem; display: grid; gap: 4px; }
@media (max-width: 900px) { .sv-grade { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .sv-barras { grid-template-columns: repeat(7, 1fr); } .sv-barras .sv-barra:nth-child(-n+7) { display: none; } .sv-cat { grid-template-columns: 90px 1fr auto; } }
/* Portal de Vagas — área do empresário e moderação */
.mv-premium { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; background: linear-gradient(135deg, #fffbeb, #fff); border: 1px solid #fde68a; }
.mv-premium p { margin: 4px 0 0; font-size: .88rem; color: var(--texto-suave); max-width: 640px; }
.mv-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.mv-vaga { display: grid; gap: 6px; text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.mv-vaga:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0, 0, 0, .08); }
.mv-vaga h3 { margin: 0; font-size: 1.05rem; }
.mv-vaga-topo { display: flex; gap: 6px; }
.mv-num { font-size: .9rem; }
.mv-num strong { font-size: 1.5rem; }
.mv-link { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.mv-link input { flex: 1 1 260px; }
.mv-cadeado { color: var(--texto-suave); text-decoration: none; font-size: .82rem; }
.mv-recursos { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.mv-recursos div { display: grid; gap: 2px; }
.mv-recursos span { font-size: 1.5rem; }
.mv-recursos small { color: var(--texto-suave); }
.mv-assinar { display: grid; gap: 10px; align-content: start; }
.mv-preco strong { font-size: 2.2rem; }
.mv-form textarea { min-height: 70px; }
.pa-mod { border: 1px solid var(--borda, #e5e7eb); border-radius: 12px; padding: 10px 14px; margin-bottom: 8px; }
.pa-mod summary { cursor: pointer; }
.pa-mod-corpo { padding-top: 10px; display: grid; gap: 6px; font-size: .9rem; }
.pa-mod-corpo p { margin: 0; }
.pa-mod-acoes { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.pa-mod-recusar { display: flex; gap: 6px; flex: 1 1 320px; }
.pa-mod-recusar input { flex: 1; }
[data-abrir-envio].ativo { background: var(--destaque); color: #fff; border-color: var(--destaque); }
.link-copiavel:hover { border-color: var(--destaque); }

/* Sugestões de IA do anúncio da vaga (vaga-ia.js) */
.ia-sug { border: 1px solid #c7d2fe; background: linear-gradient(180deg, #eef2ff, #fff); border-radius: 14px; padding: 12px 14px; display: grid; gap: 10px; }
.ia-sug-cab { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; color: #3730a3; }
.ia-sug-cab span { display: flex; gap: 6px; flex-wrap: wrap; }
.ia-sug-msg { margin: 0; color: #475569; font-size: .9rem; display: flex; align-items: center; gap: 8px; }
.ia-sug-lista { display: grid; gap: 8px; }
.ia-sug-item { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; background: #fff; border: 1px solid #e0e7ff; border-radius: 10px; padding: 8px 10px; font-size: .88rem; }
.ia-sug-item small { color: #6366f1; font-weight: 700; text-transform: uppercase; font-size: .7rem; letter-spacing: .04em; }
.ia-sug-item em { color: #94a3b8; font-weight: 500; text-transform: none; }
.ia-sug-item p { margin: 2px 0 0; color: #1e293b; }
.ia-sug-item ul { margin: 2px 0 0; padding-left: 18px; color: #1e293b; }
.ia-sug-rodape { margin: 0; font-size: .75rem; color: #64748b; }
.ia-btn { border: 1px solid #c7d2fe; background: #fff; color: #3730a3; border-radius: 8px; padding: 5px 10px; font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.ia-btn:hover { background: #eef2ff; }
.ia-btn-forte { background: #4f46e5; color: #fff; border-color: #4f46e5; }
.ia-btn-forte:hover { background: #4338ca; }
.ia-girando { width: 14px; height: 14px; border: 2px solid #c7d2fe; border-top-color: #4f46e5; border-radius: 50%; display: inline-block; animation: ia-gira .8s linear infinite; }
@keyframes ia-gira { to { transform: rotate(360deg); } }
.ia-preenchido { box-shadow: 0 0 0 3px rgba(79, 70, 229, .35) !important; transition: box-shadow .3s; }

/* Sugestões da IA: botões Usar / Editar empilhados e editor */
.ia-sug-txt { flex: 1; min-width: 0; }
.ia-sug-botoes { display: flex; flex-direction: column; gap: 6px; flex: none; }
.ia-btn-leve { background: #f8fafc; color: #475569; border-color: #e2e8f0; font-weight: 600; }
.ia-btn-leve:hover { background: #eef2ff; color: #3730a3; }
.ia-editor { width: 100%; margin-top: 6px; border: 1px solid #a5b4fc; border-radius: 8px; padding: 8px 10px; font: inherit; font-size: .9rem; color: #1e293b; background: #fff; resize: vertical; }
.ia-editor:focus { outline: 0; box-shadow: 0 0 0 3px rgba(79, 70, 229, .2); }
.ia-editor-dica { display: block; color: #64748b; font-size: .75rem; margin-top: 2px; }
.ia-editor-botoes { flex-direction: row; margin-top: 8px; }
/* Caixas de texto do anúncio: crescem com o conteúdo (vaga-ia.js) */
textarea.auto-altura { overflow-y: hidden; min-height: 92px; resize: vertical; line-height: 1.5; }

/* Configurar DISC da vaga */
.vd-passos { list-style: none; display: flex; gap: 8px; padding: 0; margin: 0 0 14px; flex-wrap: wrap; }
.vd-passos li a { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 12px; background: var(--fundo-suave, #f1f5f9); color: var(--texto-suave); text-decoration: none; font-weight: 700; border: 1px solid transparent; }
.vd-passos li span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #cbd5e1; color: #fff; font-size: .82rem; }
.vd-passos li.ativo a { background: #eef2ff; color: #3730a3; border-color: #c7d2fe; }
.vd-passos li.ativo span { background: #4f46e5; }
.vd-passos li.feito span { background: #16a34a; }
.vd-pronto { margin-bottom: 14px; }
.vd-form { display: grid; gap: 14px; }
.vd-form-cab { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.vd-form-cab h3 { margin: 0 0 4px; }
.vd-botoes { display: flex; gap: 6px; flex-wrap: wrap; }
.vd-form .campo { display: grid; gap: 6px; font-weight: 600; }
.vd-ia-msg { margin: 0; background: #eef2ff; color: #3730a3; border-radius: 10px; padding: 8px 12px; font-size: .9rem; }
.vd-rodape { display: flex; justify-content: flex-end; align-items: center; gap: 12px; flex-wrap: wrap; }
.vd-placar { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; background: var(--fundo-suave, #f8fafc); border-radius: 14px; padding: 14px 18px; position: sticky; top: 0; z-index: 2; }
.vd-total { text-align: center; min-width: 90px; }
.vd-total strong { font-size: 2.2rem; display: block; line-height: 1; }
.vd-total small { color: var(--texto-suave); }
.vd-barras { flex: 1; display: grid; gap: 6px; min-width: 240px; }
.vd-barra { display: grid; grid-template-columns: 18px 1fr 44px 100px; gap: 8px; align-items: center; font-size: .85rem; }
.vd-barra > span { font-weight: 800; }
.vd-barra > div { height: 10px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.vd-barra i { display: block; height: 100%; width: 0; border-radius: 999px; transition: width .25s; }
.vd-barra small { color: var(--texto-suave); }
.vd-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.vd-col h4 { margin: 0 0 8px; display: flex; align-items: center; gap: 8px; }
.vd-col h4 span { width: 28px; height: 28px; border-radius: 8px; background: var(--cor); color: #fff; display: grid; place-items: center; }
.vd-chip { display: grid; gap: 2px; width: 100%; text-align: left; border: 1.5px solid #e2e8f0; background: #fff; border-radius: 12px; padding: 9px 11px; margin-bottom: 6px; cursor: pointer; font: inherit; transition: border-color .15s, background .15s; }
.vd-chip b { font-size: .88rem; }
.vd-chip small { color: var(--texto-suave); font-size: .74rem; line-height: 1.3; }
.vd-chip em { font-style: normal; font-size: .72rem; font-weight: 800; color: var(--cor); }
.vd-chip:hover:not(:disabled) { border-color: var(--cor); }
.vd-chip.n1 { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 8%, #fff); }
.vd-chip.n2 { border-color: var(--cor); background: color-mix(in srgb, var(--cor) 18%, #fff); box-shadow: inset 0 0 0 1px var(--cor); }
.vd-chip:disabled { opacity: .45; cursor: not-allowed; }
.vd-bloqueio { text-align: center; padding: 30px; }
.mv-disc { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; border-left: 4px solid #4f46e5; }
.mv-disc h3 { margin: 0 0 4px; }
.mv-disc p { margin: 0; color: var(--texto-suave); }
.mv-disc.bloqueado { border-left-color: #d9a21b; background: linear-gradient(135deg, #fffbeb, #fff); }
@media (max-width: 600px) { .vd-barra { grid-template-columns: 18px 1fr 40px; } .vd-barra small { display: none; } }
/* Links de Avaliação: página para empresas */
.lk-destaque { border-left: 4px solid #d9a21b; }
.lk-numeros { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: baseline; margin: 10px 0 0; font-size: .88rem; }

/* Plano Premium (Portal do Empresário) */
.pr-hero { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; align-items: center; padding: 28px; border-radius: 20px; margin-bottom: 16px; color: #fff;
  background: radial-gradient(circle at 90% 0, rgba(231,183,79,.28), transparent 45%), linear-gradient(135deg, #0b2a4a, #13406b); box-shadow: 0 14px 40px rgba(11,42,74,.22); }
.pr-selo { display: inline-block; background: rgba(231,183,79,.18); color: #f3c969; border: 1px solid rgba(231,183,79,.5); padding: 4px 12px; border-radius: 999px; font-weight: 800; font-size: .82rem; letter-spacing: .4px; }
.pr-hero h2 { color: #fff; margin: 12px 0 8px; font-size: clamp(1.35rem, 3vw, 1.9rem); line-height: 1.2; }
.pr-hero p { color: #d6e2f0; margin: 0; max-width: 640px; }
.pr-status-ok, .pr-status-alerta { margin-top: 14px !important; display: inline-block; padding: 8px 14px; border-radius: 12px; font-weight: 600; }
.pr-status-ok { background: rgba(22,163,74,.22); color: #bbf7d0 !important; }
.pr-status-alerta { background: rgba(217,119,6,.25); color: #fde68a !important; }
.pr-hero-preco { background: #fff; color: #0f172a; border-radius: 18px; padding: 20px; text-align: center; display: grid; gap: 4px; border: 2px solid #e7b74f; }
.pr-hero-preco > small { color: #64748b; text-transform: uppercase; letter-spacing: 1px; font-size: .72rem; font-weight: 700; }
.pr-hero-preco strong { font-size: 2.3rem; line-height: 1.1; color: #0b2a4a; }
.pr-hero-preco strong.pr-sob { font-size: 1.6rem; }
.pr-hero-preco > span { color: #64748b; font-size: .85rem; }
.pr-formas { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
.pr-formas b { background: #f1f5f9; border-radius: 999px; padding: 4px 10px; font-size: .78rem; }
.pr-seguro { color: #16a34a !important; text-transform: none !important; letter-spacing: 0 !important; font-size: .78rem !important; margin-top: 4px; }
.pr-passos { list-style: none; padding: 0; margin: 0 0 16px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pr-passos li { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; padding: 12px; }
.pr-passos li > span { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #e2e8f0; color: #64748b; font-weight: 800; }
.pr-passos li div { display: grid; line-height: 1.25; }
.pr-passos li small { color: var(--texto-suave); font-size: .76rem; }
.pr-passos li.feito > span { background: #16a34a; color: #fff; }
.pr-passos li.atual { border-color: #e7b74f; box-shadow: 0 0 0 3px rgba(231,183,79,.18); }
.pr-passos li.atual > span { background: #d9a21b; color: #fff; }
.pr-grade { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: 16px; align-items: start; }
.pr-recursos h3, .pr-acao h3 { margin: 0 0 12px; }
.pr-recursos-lista { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.pr-recursos-lista > div { display: flex; gap: 10px; padding: 12px; border-radius: 14px; background: var(--fundo-suave, #f8fafc); }
.pr-recursos-lista > div > span { flex: none; width: 38px; height: 38px; border-radius: 10px; background: #fff; display: grid; place-items: center; font-size: 1.2rem; box-shadow: 0 2px 6px rgba(15,23,42,.08); }
.pr-recursos-lista b { display: block; font-size: .92rem; }
.pr-recursos-lista small { color: var(--texto-suave); font-size: .8rem; line-height: 1.35; }
.pr-comparar { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: .88rem; }
.pr-comparar th, .pr-comparar td { padding: 8px 10px; border-bottom: 1px solid #e2e8f0; text-align: center; }
.pr-comparar th:first-child, .pr-comparar td:first-child { text-align: left; }
.pr-comparar th:last-child { color: #b7791f; }
.pr-comparar td:last-child { color: #16a34a; font-weight: 800; }
.pr-acao { position: sticky; top: 12px; }
.pr-estado { text-align: center; padding: 6px 4px 14px; border-bottom: 1px dashed #e2e8f0; margin-bottom: 14px; }
.pr-estado > span { font-size: 2.2rem; display: block; }
.pr-estado h3 { margin: 6px 0; }
.pr-estado p { color: var(--texto-suave); margin: 6px 0; }
.pr-estado-ok h3 { color: #15803d; }
.pr-girando { animation: pr-gira 2.4s linear infinite; display: inline-block !important; }
@keyframes pr-gira { to { transform: rotate(360deg); } }
.pr-botoes { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 10px; }
.pr-form { display: grid; gap: 10px; }
.pr-form h3 { margin: 0; }
.pr-modulos { display: grid; gap: 8px; }
.pr-modulos label { display: flex; align-items: center; gap: 10px; border: 1.5px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; cursor: pointer; font-weight: 600; transition: border-color .15s, background .15s; }
.pr-modulos label:has(input:checked) { border-color: #d9a21b; background: #fffbeb; }
.pr-total { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 2px 0; border-top: 1px solid #e2e8f0; }
.pr-total b { font-size: 1.4rem; color: #0b2a4a; }
.pr-pagar { font-size: 1.02rem; padding: 14px; }
.pr-miudo { color: var(--texto-suave); font-size: .78rem; margin: 0; text-align: center; }
.link-botao { background: none; border: 0; color: var(--primaria, #2563eb); text-decoration: underline; cursor: pointer; font: inherit; padding: 0; }
.pr-historico { margin-top: 14px; }
.pr-historico ul { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 6px; }
.pr-historico li { display: flex; gap: 8px; justify-content: space-between; font-size: .86rem; }
.pr-historico li small { color: var(--texto-suave); }
@media (max-width: 900px) {
  .pr-hero, .pr-grade { grid-template-columns: 1fr; }
  .pr-passos { grid-template-columns: 1fr 1fr; }
  .pr-acao { position: static; }
}
@media (max-width: 520px) { .pr-passos { grid-template-columns: 1fr; } .pr-hero { padding: 20px; } }

.pr-liberar { display: grid; gap: 4px; }
.pr-liberar .botao { justify-self: start; margin-top: 4px; }

/* Cadastros → Links */
.lks-busca { display: flex; gap: 12px; align-items: center; margin-bottom: 4px; }
.lks-busca input { flex: 1; }
.lks-lista { padding: 4px 18px; }
.lks-item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid #e2e8f0; }
.lks-item:last-child { border-bottom: 0; }
.lks-info { display: grid; gap: 3px; }
.lks-info small { line-height: 1.35; }
.lks-url { flex-wrap: nowrap; }
.lks-url input { min-width: 0; }
@media (max-width: 860px) { .lks-item { grid-template-columns: 1fr; gap: 8px; } .lks-url { flex-wrap: wrap; } }

/* Banco de Candidatos */
.bc-cab-acoes { display: flex; gap: 8px; }
.bc-filtros { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; align-items: end; margin-bottom: 14px; }
.bc-f { display: grid; gap: 5px; font-size: .82rem; font-weight: 600; color: var(--texto-suave); }
.bc-f-largo { grid-column: span 2; }
.bc-f-faixa > div { display: flex; gap: 6px; }
.bc-f-faixa input { min-width: 0; }
.bc-checks { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .88rem; }
.bc-checks label { display: flex; align-items: center; gap: 6px; cursor: pointer; }
.bc-f-botoes { grid-column: 1 / -1; display: flex; gap: 8px; }
.bc-resumo { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 14px; margin-bottom: 14px; }
.bc-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.bc-kpis > div { display: grid; gap: 2px; padding: 4px 6px; border-right: 1px solid #e2e8f0; }
.bc-kpis > div:last-child { border-right: 0; }
.bc-kpis small { color: var(--texto-suave); font-size: .75rem; text-transform: uppercase; letter-spacing: .5px; font-weight: 700; }
.bc-kpis strong { font-size: 1.45rem; color: #0b2a4a; line-height: 1.15; }
.bc-kpis strong.bc-kpi-menor { font-size: 1.05rem; }
.bc-kpis span { color: var(--texto-suave); font-size: .78rem; }
.bc-faixas > small { color: var(--texto-suave); font-weight: 700; font-size: .78rem; }
.bc-faixas em { font-weight: 400; font-style: normal; }
.bc-barras { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; align-items: end; margin-top: 8px; }
.bc-barra { display: grid; justify-items: center; gap: 3px; text-decoration: none; color: inherit; padding: 4px 2px; border-radius: 8px; }
.bc-barra:hover, .bc-barra.ativa { background: #eef2ff; }
.bc-barra b { font-size: .85rem; }
.bc-barra i { display: block; width: 70%; background: linear-gradient(180deg, #3b82f6, #1d4ed8); border-radius: 6px 6px 2px 2px; }
.bc-barra.ativa i { background: linear-gradient(180deg, #e7b74f, #b7791f); }
.bc-barra span { font-size: .68rem; color: var(--texto-suave); text-align: center; line-height: 1.15; }
.bc-barra-selecao { position: sticky; top: 8px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; background: #0b2a4a; color: #fff; padding: 10px 14px; border-radius: 12px; margin-bottom: 12px; box-shadow: 0 8px 24px rgba(11,42,74,.25); }
.bc-barra-selecao[hidden] { display: none; }
.bc-barra-selecao .botao { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.3); }
.bc-lista { display: grid; gap: 14px; }
.bc-cartao { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 0; padding: 0; overflow: hidden; transition: box-shadow .15s, border-color .15s; border: 1.5px solid transparent; }
.bc-cartao:hover { box-shadow: 0 10px 30px rgba(15,23,42,.09); }
.bc-cartao.selecionado { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.15); }
.bc-principal { padding: 18px 20px; display: grid; gap: 10px; align-content: start; }
.bc-topo { display: flex; align-items: center; gap: 12px; }
.bc-sel { position: relative; cursor: pointer; }
.bc-sel input { position: absolute; opacity: 0; }
.bc-sel span { display: block; width: 22px; height: 22px; border-radius: 6px; border: 2px solid #cbd5e1; transition: all .15s; }
.bc-sel input:checked + span { background: #2563eb; border-color: #2563eb; box-shadow: inset 0 0 0 3px #fff; }
.bc-sel input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 2px; }
.bc-avatar { flex: none; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 1.1rem; color: #fff; background: var(--cor); box-shadow: 0 0 0 3px #fff, 0 0 0 5px color-mix(in srgb, var(--cor) 35%, #fff); }
.bc-nome a { font-size: 1.15rem; font-weight: 800; color: #0b2a4a; text-decoration: none; }
.bc-nome a:hover { text-decoration: underline; }
.bc-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; color: var(--texto-suave); font-size: .82rem; margin-top: 2px; }
.bc-selos { display: flex; flex-wrap: wrap; gap: 6px; }
.bc-selo { font-size: .76rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: #f1f5f9; color: #334155; text-decoration: none; }
.bc-selo-vaga { background: #eff6ff; color: #1d4ed8; }
.bc-selo-disc { background: #f5f3ff; color: #6d28d9; }
.bc-selo-ok { background: #fefce8; color: #a16207; }
.bc-selo-cinza { background: #f1f5f9; color: #64748b; }
.bc-resumo-txt { margin: 0; color: #334155; font-size: .9rem; line-height: 1.45; }
.bc-blocos { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.bc-bloco h4 { margin: 0 0 4px; font-size: .78rem; text-transform: uppercase; letter-spacing: .5px; color: var(--texto-suave); }
.bc-bloco p { margin: 0 0 8px; font-size: .88rem; }
.bc-bloco ul { margin: 0; padding-left: 16px; display: grid; gap: 3px; font-size: .88rem; }
.bc-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.bc-chips span { font-size: .75rem; background: #f8fafc; border: 1px solid #e2e8f0; padding: 2px 9px; border-radius: 999px; color: #475569; }
.bc-sem-dados { margin: 0; font-size: .85rem; }
.bc-lado { background: linear-gradient(180deg, #f8fafc, #f1f5f9); border-left: 1px solid #e2e8f0; padding: 18px; display: grid; gap: 12px; align-content: start; }
.bc-pretensao { text-align: center; background: #fff; border-radius: 14px; padding: 12px; border: 1.5px solid #e2e8f0; display: grid; gap: 2px; }
.bc-pretensao > small { text-transform: uppercase; letter-spacing: .6px; font-size: .7rem; font-weight: 800; color: var(--texto-suave); }
.bc-pretensao strong { font-size: 1.5rem; color: #0b2a4a; }
.bc-pretensao span { font-size: .78rem; font-weight: 700; }
.bc-pretensao.dentro { border-color: #86efac; }
.bc-pretensao.dentro span { color: #15803d; }
.bc-pretensao.acima { border-color: #fdba74; }
.bc-pretensao.acima span { color: #c2410c; }
.bc-pretensao.abaixo { border-color: #93c5fd; }
.bc-pretensao.abaixo span { color: #1d4ed8; }
.bc-neutro { color: var(--texto-suave); font-weight: 500 !important; }
.bc-vaga-sal { color: var(--texto-suave); font-size: .72rem; }
.bc-aneis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.bc-anel { aspect-ratio: 1; border-radius: 50%; display: grid; place-content: center; text-align: center; background: radial-gradient(closest-side, #fff 76%, transparent 78%), conic-gradient(var(--cor) calc(var(--p) * 1%), #e2e8f0 0); }
.bc-anel b { font-size: .95rem; line-height: 1; }
.bc-anel small { font-size: .6rem; color: var(--texto-suave); white-space: nowrap; }
.bc-acoes { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.bc-acoes .botao { justify-content: center; font-size: .82rem; padding: 8px 6px; }
.bc-btn-wpp { background: #16a34a; color: #fff; border-color: #16a34a; grid-column: 1 / -1; }
.bc-btn-wpp:hover { background: #15803d; color: #fff; }
.bc-contato { margin: 0; font-size: .74rem; color: var(--texto-suave); text-align: center; word-break: break-all; }
.bc-vazio { text-align: center; padding: 36px 20px; }
.bc-vazio > span { font-size: 2.4rem; }
.bc-paginas { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 18px 0; }
.bc-paginas a { min-width: 36px; padding: 7px 10px; text-align: center; border-radius: 10px; background: #fff; border: 1px solid #e2e8f0; text-decoration: none; color: inherit; font-weight: 600; }
.bc-paginas a.atual { background: #0b2a4a; color: #fff; border-color: #0b2a4a; }
@media (max-width: 980px) {
  .bc-resumo { grid-template-columns: 1fr; }
  .bc-cartao { grid-template-columns: 1fr; }
  .bc-lado { border-left: 0; border-top: 1px solid #e2e8f0; }
  .bc-f-largo { grid-column: auto; }
}
@media (max-width: 600px) {
  .bc-kpis { grid-template-columns: 1fr 1fr; }
  .bc-kpis > div:nth-child(2) { border-right: 0; }
  .bc-blocos { grid-template-columns: 1fr; }
  .bc-barras span { font-size: .6rem; }
}
@media print {
  body.bc-imprimindo .bc-cartao:not(.selecionado), body.bc-imprimindo .bc-filtros, body.bc-imprimindo .bc-resumo,
  body.bc-imprimindo .bc-barra-selecao, body.bc-imprimindo .bc-paginas, body.bc-imprimindo .bc-acoes, body.bc-imprimindo .bc-sel { display: none !important; }
  .bc-cartao { break-inside: avoid; box-shadow: none !important; border: 1px solid #cbd5e1 !important; }
}

/* Postagens Vagas em Aberto */
.pv2-novo { margin-bottom: 14px; }
.pv2-novo form { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.pv2-novo label { display: grid; gap: 6px; font-weight: 700; flex: 1 1 360px; }
.pv2-novo .dica { margin: 8px 0 0; }
.pv2-cartao { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 22px; margin-bottom: 14px; }
.pv2-celular { display: grid; gap: 8px; align-content: start; justify-items: center; }
.pv2-celular img, .pv2-sem { width: 230px; aspect-ratio: 9 / 16; border-radius: 22px; border: 6px solid #0f172a; box-shadow: 0 14px 30px rgba(15,23,42,.18); object-fit: cover; background: #f1f5f9; }
.pv2-sem { display: grid; place-content: center; text-align: center; padding: 16px; color: var(--texto-suave); }
.pv2-sem span { font-size: 2rem; }
.pv2-corpo { display: grid; gap: 14px; align-content: start; min-width: 0; }
.pv2-cab { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; }
.pv2-cab h3 { margin: 0; }
.pv2-cab h3 a { color: inherit; text-decoration: none; }
.pv2-cab p { margin: 2px 0 0; }
.pv2-situacao { display: inline-block; font-size: .78rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #f1f5f9; color: #475569; }
.pv2-ok { background: #dcfce7; color: #166534; }
.pv2-parcial { background: #fef3c7; color: #92400e; }
.pv2-erro { background: #fee2e2; color: #991b1b; }
.pv2-andamento { background: #e0f2fe; color: #075985; }
.pv2-cinza { background: #f1f5f9; color: #64748b; }
.pv2-periodo { display: grid; gap: 6px; background: var(--fundo-suave, #f8fafc); border-radius: 12px; padding: 12px 14px; }
.pv2-periodo small { color: var(--texto-suave); }
.pv2-periodo b { display: block; }
.pv2-barra { height: 8px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.pv2-barra i { display: block; height: 100%; background: linear-gradient(90deg, #d9a21b, #f0c35a); border-radius: 999px; }
.pv2-form { display: grid; gap: 12px; }
.pv2-linha { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 12px; align-items: end; }
.pv2-campo { display: grid; gap: 6px; }
.pv2-campo > small { font-weight: 700; color: var(--texto-suave); }
.pv2-dias, .pv2-redes { display: flex; flex-wrap: wrap; gap: 6px; }
.pv2-dias input, .pv2-redes input { position: absolute; opacity: 0; }
.pv2-dias label, .pv2-redes label { position: relative; cursor: pointer; }
.pv2-dias span, .pv2-redes span { display: inline-block; padding: 8px 12px; border-radius: 10px; border: 1.5px solid #e2e8f0; font-weight: 700; font-size: .85rem; background: #fff; transition: all .15s; }
.pv2-dias input:checked + span, .pv2-redes input:checked + span { background: #0b2a4a; border-color: #0b2a4a; color: #fff; }
.pv2-dias input:focus-visible + span, .pv2-redes input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 2px; }
.pv2-chave { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.pv2-chave input { position: absolute; opacity: 0; }
.pv2-chave span { width: 46px; height: 26px; border-radius: 999px; background: #cbd5e1; position: relative; transition: background .2s; flex: none; }
.pv2-chave span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: left .2s; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.pv2-chave input:checked + span { background: #16a34a; }
.pv2-chave input:checked + span::after { left: 23px; }
.pv2-chave input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 2px; }
.pv2-botoes { display: flex; gap: 8px; }
.pv2-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pv2-acoes form { display: inline; }
.pv2-n8n { font-size: .82rem; color: var(--texto-suave); margin-left: auto; }
.pv2-n8n.ok { color: #15803d; }
.pv2-n8n.erro { color: #b45309; }
.pv2-alerta { margin: 0; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; border-radius: 10px; padding: 8px 12px; font-size: .85rem; }
.pv2-hist summary { cursor: pointer; font-weight: 700; }
.pv2-hist table { margin-top: 8px; }
@media (max-width: 820px) {
  .pv2-cartao { grid-template-columns: 1fr; }
  .pv2-linha { grid-template-columns: 1fr; }
  .pv2-n8n { margin-left: 0; }
}

.pv2-postar { border-color: #dd2a7b !important; color: #be185d !important; }
.pv2-postando { color: #15803d !important; }

.pv2-cores { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; background: var(--fundo-suave, #f8fafc); border-radius: 12px; padding: 12px 14px; }
.pv2-cores[hidden] { display: none; }
.pv2-cores label { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: .86rem; cursor: pointer; }
.pv2-cores input[type=color] { width: 44px; height: 34px; border: 1px solid #e2e8f0; border-radius: 8px; padding: 2px; background: #fff; cursor: pointer; }
.pv2-amostra { width: 120px; height: 64px; border-radius: 10px; display: grid; align-content: space-between; padding: 8px; color: #fff; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.pv2-amostra b { font-size: .8rem; }
.pv2-amostra i { font-style: normal; font-size: .62rem; font-weight: 700; color: #1b1300; border-radius: 6px; padding: 2px 6px; }
.pv2-cores > small { flex-basis: 100%; }

.pv2-cores-tit { flex-basis: 100%; font-size: .9rem; }
.pv2-todas { flex-basis: 100%; }

/* Postagem Vídeo */
.pvd-cab-acoes { display: flex; gap: 8px; flex-wrap: wrap; }
.pvd-alerta { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; border-radius: 12px; padding: 12px 16px; margin-bottom: 14px; }
.pvd-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.pvd-kpi { display: grid; gap: 2px; padding: 14px; text-decoration: none; color: inherit; border: 1.5px solid transparent; transition: border-color .15s, transform .15s; }
.pvd-kpi:hover { transform: translateY(-1px); border-color: #c7d2fe; }
.pvd-kpi.ativo { border-color: #4f46e5; }
.pvd-kpi.alerta { border-color: #fecaca; background: #fff7f7; }
.pvd-kpi span { font-size: 1.2rem; }
.pvd-kpi strong { font-size: 1.6rem; line-height: 1.1; color: #0b2a4a; }
.pvd-kpi small { color: var(--texto-suave); font-size: .78rem; }
.pvd-bib-cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.pvd-bib-cab h3 { margin: 0 0 12px; }
.pvd-vazio { text-align: center; padding: 30px; color: var(--texto-suave); }
.pvd-vazio span { font-size: 2.4rem; }
.pvd-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.pvd-card { display: grid; text-decoration: none; color: inherit; border-radius: 14px; overflow: hidden; border: 1px solid #e2e8f0; background: #fff; transition: box-shadow .15s; }
.pvd-card:hover { box-shadow: 0 10px 26px rgba(15,23,42,.1); }
.pvd-thumb { position: relative; aspect-ratio: 9 / 12; background: linear-gradient(160deg, #0b2a4a, #13406b); display: grid; place-items: center; overflow: hidden; }
.pvd-thumb video { width: 100%; height: 100%; object-fit: cover; }
.pvd-thumb > span { font-size: 2.6rem; }
.pvd-st { position: absolute; top: 8px; left: 8px; font-style: normal; font-size: .72rem; font-weight: 800; padding: 3px 9px; border-radius: 999px; background: #e0e7ff; color: #3730a3; }
.pvd-ok { background: #dcfce7 !important; color: #166534 !important; }
.pvd-erro { background: #fee2e2 !important; color: #991b1b !important; }
.pvd-atencao { background: #fef3c7 !important; color: #92400e !important; }
.pvd-azul { background: #e0f2fe !important; color: #075985 !important; }
.pvd-cinza { background: #f1f5f9 !important; color: #475569 !important; }
.pvd-dur { position: absolute; bottom: 8px; right: 8px; font-style: normal; font-size: .75rem; font-weight: 700; color: #fff; background: rgba(0,0,0,.55); padding: 2px 7px; border-radius: 6px; }
.pvd-info { padding: 10px 12px 12px; display: grid; gap: 4px; }
.pvd-info b { font-size: .95rem; }
.pvd-info small { color: var(--texto-suave); font-size: .75rem; }
.pvd-redes { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 4px; }
.pvd-rede { font-size: .72rem; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: #f1f5f9; }
.pvd-instagram { background: #fdf2f8; color: #be185d; }
.pvd-tiktok { background: #f1f5f9; color: #0f172a; }
.pvd-linkedin { background: #eff6ff; color: #1d4ed8; }
/* formulário */
.pvd-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.pvd-bloco { display: grid; gap: 12px; align-content: start; }
.pvd-bloco h3 { margin: 4px 0 0; }
.pvd-f { display: grid; gap: 6px; font-weight: 600; font-size: .9rem; }
.pvd-f small { font-weight: 400; }
.pvd-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pvd-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pvd-estilos { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.pvd-estilos label, .pvd-redes-sel label { position: relative; cursor: pointer; }
.pvd-estilos input, .pvd-redes-sel input { position: absolute; opacity: 0; }
.pvd-estilos span { display: grid; gap: 2px; padding: 10px; border-radius: 12px; border: 1.5px solid #e2e8f0; height: 100%; transition: all .15s; }
.pvd-estilos span b { font-size: .85rem; }
.pvd-estilos span small { color: var(--texto-suave); font-size: .72rem; font-weight: 400; line-height: 1.3; }
.pvd-estilos input:checked + span { border-color: #4f46e5; background: #eef2ff; box-shadow: inset 0 0 0 1px #4f46e5; }
.pvd-redes-sel { display: flex; flex-wrap: wrap; gap: 8px; }
.pvd-redes-sel span { display: inline-block; padding: 9px 14px; border-radius: 10px; border: 1.5px solid #e2e8f0; font-weight: 700; }
.pvd-redes-sel input:checked + span { background: #0b2a4a; color: #fff; border-color: #0b2a4a; }
.pvd-estilos input:focus-visible + span, .pvd-redes-sel input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 2px; }
.pvd-check { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; cursor: pointer; }
.pvd-check input { margin-top: 3px; }
.pvd-uploads { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; }
.pvd-drop { position: relative; display: grid; justify-items: center; text-align: center; gap: 4px; padding: 22px 14px; border: 2px dashed #cbd5e1; border-radius: 16px; cursor: pointer; transition: all .15s; background: #f8fafc; }
.pvd-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pvd-drop.arrastando, .pvd-drop:hover { border-color: #4f46e5; background: #eef2ff; }
.pvd-drop.escolhido { border-style: solid; border-color: #16a34a; background: #f0fdf4; }
.pvd-drop-ic { font-size: 1.8rem; }
.pvd-drop small { color: var(--texto-suave); font-size: .78rem; word-break: break-all; }
.pvd-progresso { display: grid; gap: 8px; }
.pvd-linha { display: grid; grid-template-columns: minmax(0, 1fr) 2fr auto; gap: 10px; align-items: center; font-size: .85rem; }
.pvd-linha b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pvd-linha > div { height: 10px; background: #e2e8f0; border-radius: 999px; overflow: hidden; }
.pvd-linha i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #4f46e5, #7c3aed); border-radius: 999px; transition: width .2s; }
.pvd-linha.ok i { background: #16a34a; }
.pvd-linha small { color: var(--texto-suave); white-space: nowrap; }
.pvd-erro, .pvd-erro-txt { color: #b91c1c; margin: 0; font-size: .88rem; }
.pvd-rodape { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.pvd-enviar { margin-left: auto; padding: 12px 22px; }
/* projeto */
.pvd-etapas { list-style: none; padding: 0; margin: 0 0 12px; display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px; }
.pvd-etapas li { display: grid; justify-items: center; gap: 4px; text-align: center; position: relative; }
.pvd-etapas li span { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: #e2e8f0; color: #64748b; font-weight: 800; font-size: .8rem; z-index: 1; }
.pvd-etapas li small { font-size: .7rem; color: var(--texto-suave); line-height: 1.2; }
.pvd-etapas li::before { content: ""; position: absolute; top: 15px; left: -50%; width: 100%; height: 2px; background: #e2e8f0; }
.pvd-etapas li:first-child::before { display: none; }
.pvd-etapas li.feito span { background: #16a34a; color: #fff; }
.pvd-etapas li.feito::before, .pvd-etapas li.atual::before { background: #16a34a; }
.pvd-etapas li.atual span { background: #4f46e5; color: #fff; box-shadow: 0 0 0 4px #e0e7ff; }
.pvd-etapas li.atual small { color: #3730a3; font-weight: 700; }
.pvd-situacao { display: grid; gap: 6px; background: #eef2ff; border-radius: 12px; padding: 12px 16px; margin-bottom: 14px; }
.pvd-situacao.erro { background: #fef2f2; }
.pvd-situacao.atencao { background: #fffbeb; }
.pvd-situacao p { margin: 0; }
.pvd-situacao form { justify-self: start; }
.pvd-videos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.pvd-videos h3 { margin: 0 0 10px; }
.pvd-player { width: 100%; max-height: 520px; background: #000; border-radius: 12px; display: block; margin-bottom: 8px; }
.pvd-extra { display: block; color: var(--texto-suave); }
.pvd-acoes-video { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.pvd-acoes-video details a { display: block; font-size: .85rem; }
.pvd-qc { list-style: none; padding: 0; margin: 6px 0; display: grid; gap: 4px; font-size: .86rem; }
.pvd-qc li.ok { color: #166534; }
.pvd-qc li.erro { color: #b91c1c; }
.pvd-qc li.aviso { color: #92400e; }
.pvd-qc small { color: var(--texto-suave); }
.pvd-aguarde { text-align: center; padding: 50px 20px; color: var(--texto-suave); background: #f8fafc; border-radius: 12px; }
.pvd-aguarde span { font-size: 2.4rem; display: block; animation: pvd-gira 3s linear infinite; }
@keyframes pvd-gira { to { transform: rotate(360deg); } }
.pvd-aprovacao h3, .pvd-pubs h3 { margin: 0 0 10px; }
.pvd-aprov-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; align-items: start; }
.pvd-aprov-grade form { display: grid; gap: 8px; }
.pvd-aprov-grade form > button { justify-self: start; }
.pvd-sugestoes { display: flex; flex-wrap: wrap; gap: 6px; }
.pvd-chip { border: 1px solid #c7d2fe; background: #eef2ff; color: #3730a3; border-radius: 999px; padding: 4px 10px; font-size: .78rem; cursor: pointer; }
.pvd-pubs { display: grid; gap: 12px; margin-top: 14px; }
.pvd-pubs-cab { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: center; }
.pvd-agendar { display: flex; gap: 6px; }
.pvd-pub { border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px; display: grid; gap: 8px; }
.pvd-pub-cab { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pvd-pub-cab .pvd-st { position: static; }
.pvd-pub-cab form { display: inline; }
.pvd-con { font-size: .82rem; color: #b45309; }
.pvd-texto { width: 100%; font-size: .9rem; }
.pvd-brief, .pvd-hist { margin-top: 14px; }
.pvd-brief summary h3, .pvd-hist summary h3 { display: inline; margin: 0; }
.pvd-brief-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin: 12px 0; }
.pvd-brief-grade small, .pvd-brief p small { color: var(--texto-suave); text-transform: uppercase; letter-spacing: .5px; font-size: .7rem; font-weight: 700; }
.pvd-brief-grade p { margin: 2px 0 0; }
.pvd-roteiro { display: grid; gap: 4px; font-size: .88rem; }
.pvd-pre { white-space: pre-wrap; background: #f8fafc; border-radius: 10px; padding: 10px; font-size: .82rem; max-height: 320px; overflow: auto; }
.pvd-hist ul { padding-left: 18px; display: grid; gap: 4px; font-size: .88rem; }
/* conexões */
.pvd-conexoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; }
.pvd-conexao { display: grid; gap: 10px; align-content: start; border-left: 4px solid #cbd5e1; }
.pvd-conexao.ok { border-left-color: #16a34a; }
.pvd-conexao h3 { margin: 0; }
.pvd-conexao h3 small { color: var(--texto-suave); font-weight: 500; font-size: .8rem; }
.pvd-conexao p { margin: 0; }
.pvd-ok-txt { color: #166534; }
.pvd-botoes { display: flex; flex-wrap: wrap; gap: 8px; }
.pvd-botoes form { display: inline; }
.pvd-tiktok-app { display: grid; gap: 8px; }
.pvd-tiktok-app button { justify-self: start; }
.pvd-lista { padding-left: 18px; display: grid; gap: 4px; font-size: .86rem; }
@media (max-width: 900px) {
  .pvd-cols, .pvd-videos, .pvd-uploads { grid-template-columns: 1fr; }
  .pvd-etapas { grid-template-columns: repeat(5, 1fr); row-gap: 12px; }
  .pvd-etapas li::before { display: none; }
}
@media (max-width: 560px) { .pvd-2, .pvd-3 { grid-template-columns: 1fr; } .pvd-linha { grid-template-columns: 1fr; } }

.pvd-saude { margin: 0 0 12px; padding: 8px 14px; border-radius: 10px; font-size: .88rem; }
.pvd-saude.ok { background: #f0fdf4; color: #166534; }
.pvd-saude.erro { background: #fef2f2; color: #991b1b; }
.pvd-saude small { color: var(--texto-suave); margin-left: 6px; }

/* Postagens Extras */
.pex-grade { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.pex-col { display: grid; gap: 14px; min-width: 0; }
.pex-bloco { display: grid; gap: 12px; }
.pex-bloco h3 { margin: 0; }
.pex-ia { display: grid; gap: 10px; background: linear-gradient(135deg, #fffbeb, #f0f9ff); border: 1px solid #fde68a; border-radius: 14px; padding: 14px; }
.pex-ia-botoes { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.pex-ia-botoes span { font-size: .85rem; }
.pex-tres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pex-destinos { display: grid; gap: 8px; background: var(--fundo-suave, #f8fafc); border-radius: 12px; padding: 12px 14px; }
.pex-destinos[hidden] { display: none; }
.pex-abas { display: flex; flex-wrap: wrap; gap: 6px; }
.pex-abas .ativo { background: #0b2a4a; color: #fff; border-color: #0b2a4a; }
.pex-resultados { list-style: none; margin: 0; padding: 0; max-height: 240px; overflow-y: auto; display: grid; gap: 4px; }
.pex-resultados button { width: 100%; display: flex; gap: 10px; align-items: center; text-align: left; background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 8px 10px; cursor: pointer; font: inherit; }
.pex-resultados button:hover:not(:disabled) { border-color: #0b2a4a; }
.pex-resultados button:disabled { opacity: .55; cursor: default; }
.pex-resultados span { flex: 1; font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pex-resultados small { color: var(--texto-suave); white-space: nowrap; }
.pex-resultados i { font-style: normal; font-weight: 800; color: #0b2a4a; }
.pex-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pex-chip { display: inline-flex; align-items: center; gap: 6px; background: #0b2a4a; color: #fff; border-radius: 999px; padding: 5px 6px 5px 12px; font-size: .84rem; font-weight: 600; max-width: 100%; }
.pex-chip button { border: 0; background: rgba(255,255,255,.2); color: #fff; width: 22px; height: 22px; border-radius: 50%; cursor: pointer; line-height: 1; }
.pex-previas { position: sticky; top: 76px; }
.pex-modo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pex-modo label { display: flex; gap: 10px; align-items: flex-start; border: 2px solid #e2e8f0; border-radius: 12px; padding: 12px; cursor: pointer; background: #fff; }
.pex-modo label:has(input:checked) { border-color: #c9a227; background: #fffbeb; }
.pex-modo span { display: grid; gap: 3px; }
.pex-modo small { color: var(--texto-suave); font-size: .82rem; }
.pex-pronta, .pex-so-ia { display: grid; gap: 12px; }
.pex-pronta { background: var(--fundo-suave, #f8fafc); border-radius: 12px; padding: 12px 14px; }
.pex-pronta[hidden], .pex-so-ia[hidden] { display: none; }
.pex-arte-mini { max-width: 220px; max-height: 260px; object-fit: contain; border-radius: 10px; border: 1px solid #e2e8f0; background: #fff; }
.pex-arte-mini[hidden] { display: none; }
.pex-marcar { display: grid; gap: 6px; background: #fdf4ff; border: 1px solid #f0abfc; border-radius: 12px; padding: 12px 14px; }
.pex-marcar[hidden], [data-pex-dica-status][hidden] { display: none; }
.pex-horarios { display: block; margin-top: 4px; color: #0b2a4a; font-weight: 600; }
.pex-horarios.ruim { color: #b91c1c; }
.pex-legenda { min-height: 260px; resize: vertical; overflow: hidden; line-height: 1.5; }
.pex-previa-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pex-previa-duas figure { margin: 0; display: grid; gap: 6px; justify-items: center; }
.pex-previa-duas figcaption { font-size: .78rem; color: var(--texto-suave); text-align: center; }
.pex-previa-duas img { width: 100%; border-radius: 14px; border: 4px solid #0f172a; box-shadow: 0 10px 24px rgba(15,23,42,.18); }
.pex-story { aspect-ratio: 9 / 16; object-fit: contain; background: #0f172a; }
.pex-feed { aspect-ratio: 4 / 5; object-fit: contain; background: #0f172a; }
@media (max-width: 980px) {
  .pex-grade { grid-template-columns: 1fr; }
  .pex-previas { position: static; }
  .pex-tres { grid-template-columns: 1fr; }
  .pex-modo { grid-template-columns: 1fr; }
}
/* ✏ Editar contato (Leads WhatsApp / Leads Grupos → Contato em andamento) */
.wl-editar-col { text-align: center; }
.wl-editar { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid #c9d6ea; background: #f3f7fd; color: #1f3a68; font-size: .95rem; line-height: 1; cursor: pointer; display: inline-grid; place-items: center; transition: background .15s, color .15s, transform .15s; }
.wl-editar:hover { background: #1f3a68; border-color: #1f3a68; color: #fff; transform: scale(1.06); }

/* Leads WhatsApp / Leads Grupos — Configurar Automação: resumo + janela ⚙ Configurações */
.wl-cfg-resumo { list-style: none; margin: 10px 0 14px; padding: 0; display: grid; gap: 6px; }
.wl-cfg-resumo li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 10px; background: #f6f8fb; border-radius: 10px; font-size: .88rem; }
.wl-cfg-resumo li span { color: #5b6678; white-space: nowrap; }
.wl-cfg-resumo li b { text-align: right; color: #1d2a3f; }
.wl-cfg-abrir { width: 100%; margin-bottom: 10px; }
.wl-config { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 16px; box-shadow: 0 24px 60px rgba(15, 30, 60, .3); overflow: hidden; }
.wl-config[open] { display: flex; flex-direction: column; }
.wl-config::backdrop { background: rgba(12, 22, 40, .55); }
.wl-config-topo { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #e6eaf0; }
.wl-config-topo h3 { margin: 0; }
.wl-config-fechar { border: 0; background: none; font-size: 1.2rem; cursor: pointer; color: #5b6678; padding: 4px 8px; }
.wl-config-abas { display: flex; gap: 6px; padding: 10px 20px; border-bottom: 1px solid #e6eaf0; overflow-x: auto; }
.wl-config-abas button { border: 1px solid #d8dee8; background: #fff; border-radius: 999px; padding: 7px 14px; font: inherit; font-size: .88rem; cursor: pointer; white-space: nowrap; color: #33415a; }
.wl-config-abas button.ativa { background: #10294f; border-color: #10294f; color: #fff; }
.wl-config-corpo { padding: 16px 20px; overflow-y: auto; flex: 1 1 auto; }
.wl-config-corpo [data-wl-painel] { box-shadow: none; border: 0; padding: 0; margin: 0 0 16px; }
.wl-config-corpo [data-wl-painel]:not(.mostra) { display: none !important; }
.wl-config-rodape { display: flex; align-items: center; gap: 10px; justify-content: flex-end; padding: 12px 20px; border-top: 1px solid #e6eaf0; background: #fafbfd; }
.wl-config-rodape .dica { margin: 0 auto 0 0; }
@media (max-width: 600px) { .wl-config { max-height: calc(100vh - 16px); } .wl-config-rodape .dica { display: none; } }

/* Página da vaga: "De onde vêm os candidatos" (lista compacta que cabe na coluna lateral) */
.vo-lista { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.vo-lista li { border: 1px solid var(--borda, #e5e7eb); border-radius: 10px; padding: 8px 10px; min-width: 0; }
.vo-nome { display: block; font-size: .88rem; overflow-wrap: anywhere; }
.vo-nums { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; font-size: .78rem; color: var(--texto-suave); }
.vo-nums b { color: var(--texto); font-size: .9rem; }

/* Leads — Prospecções agendadas por dia (aba Etapa 2) */
.wl-agenda-dias { padding: 12px 16px; margin-bottom: 14px; }
.wl-agenda-dias summary { cursor: pointer; }
.wl-agenda-dias table { margin-top: 10px; }
.wl-agenda-dias .wl-dia-atual td { background: #fff8e6; }

/* Coluna lateral das páginas (ex.: página da vaga): botão com texto longo quebra a linha sem sair do botão */
aside.coluna .botao { height: auto; min-height: 36px; padding-top: 7px; padding-bottom: 7px; text-align: center; line-height: 1.25; white-space: normal; max-width: 100%; }
aside.coluna .botao:not(.botao-pequeno) { min-height: 48px; }
/* Estúdio do Perfil Ideal: "Automação IA" (marca as características pelas competências) */
.estudio-ia { margin-top: 14px; padding-top: 14px; border-top: 1px dashed #e2e8f0; }
.estudio-ia-botao { width: 100%; justify-content: center; }
.estudio-ia-botao:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; filter: grayscale(.4); }
.estudio-ia-botao.carregando:disabled { cursor: progress; opacity: .8; filter: none; }
.estudio-ia-resultado.erro { background: #fef2f2; border-color: #fecaca; color: #991b1b; }

/* ---------- PDI: campos da função, prévia da compatibilidade e evolução (16/10/2026) ---------- */
.pdi-campos { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 12px; align-items: stretch; }
.pdi-campo { background: #fff; border: 1px solid var(--borda); border-left: 4px solid #c9a227; border-radius: 10px; padding: 12px 14px; }
.pdi-campo h4 { margin: 0 0 6px; font-size: .85rem; color: #1f3a5f; }
.pdi-campo p { margin: 0; white-space: pre-line; font-size: .88rem; line-height: 1.5; }
.pdi-campo.vazio p { color: var(--texto-suave); font-style: italic; }
.pdi-campo { display: flex; flex-direction: column; min-width: 0; }
.pdi-campo p { max-height: 320px; overflow: auto; }
.pdi-previa-compat { margin-top: 16px; padding: 16px; border-radius: 12px; background: linear-gradient(135deg, #0b1e3a, #1f3a5f); color: #fff; }
.pdi-previa-compat .rotulo { color: #c9a227; }
.pdi-previa-compat small { color: #cbd5e1; display: block; margin-top: 8px; }
.pdi-notas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pdi-nota { border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 2px; }
.pdi-nota small { font-weight: 600; font-size: .78rem; }
.pdi-nota strong { font-size: 1.6rem; }
.pdi-nota em { font-style: normal; font-size: .75rem; opacity: .8; }
.ev { margin: 16px 0; padding: 22px; border-top: 4px solid #c9a227; }
.ev-topo { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.ev-topo h3 { margin: 6px 0 4px; font-size: 1.25rem; color: #1f3a5f; }
.ev-topo p { margin: 0; }
.ev-selo { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #8a6d0f; background: #fbf6e6; border: 1px solid #ecd98f; border-radius: 99px; padding: 3px 10px; }
.ev-ganho { text-align: center; background: #f2f5f9; border-radius: 14px; padding: 10px 18px; min-width: 130px; }
.ev-ganho.sobe { background: linear-gradient(135deg, #0d9488, #0b766c); color: #fff; }
.ev-ganho small { display: block; font-size: .75rem; opacity: .85; } .ev-ganho strong { font-size: 1.6rem; }
.ev-notas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 16px; }
.ev-nota { border: 1px solid var(--borda); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 8px; background: #fff; }
.ev-nota-geral { background: linear-gradient(135deg, #0b1e3a, #1f3a5f); color: #fff; border: 0; }
.ev-nota-geral .ev-dica, .ev-nota-geral em { color: #cbd5e1; }
.ev-nota > small { font-weight: 700; font-size: .82rem; }
.ev-par { display: flex; align-items: center; gap: 10px; }
.ev-par > div { display: flex; flex-direction: column; gap: 4px; }
.ev-par em { font-style: normal; font-size: .72rem; color: var(--texto-suave); text-transform: uppercase; letter-spacing: .04em; }
.ev-par b { font-size: 1.35rem; padding: 4px 10px; border-radius: 10px; }
.ev-seta { font-size: 1.3rem; color: #c9a227; }
.ev-delta { font-size: .8rem; font-weight: 700; } .ev-delta.sobe { color: #1d7a4b; } .ev-delta.igual { color: var(--texto-suave); }
.ev-nota-geral .ev-delta.sobe { color: #6ee7b7; }
.ev-dica { font-size: .75rem; color: var(--texto-suave); }
.ev-sub { margin: 22px 0 10px; color: #1f3a5f; font-size: 1rem; }
.ev-sit { display: inline-block; font-size: .78rem; font-weight: 600; padding: 3px 9px; border-radius: 99px; }
.ev-atende { background: var(--sucesso-fundo); color: #1d7a4b; } .ev-parcial { background: var(--aviso-fundo); color: #9a6700; } .ev-nao { background: var(--erro-fundo); color: #b42318; }
.ev-melhorou { font-size: .75rem; font-weight: 700; color: #1d7a4b; }
.ev-form { margin-top: 18px; border: 1px dashed #c9a227; border-radius: 12px; padding: 0 16px; background: #fffdf6; }
.ev-form summary { cursor: pointer; padding: 14px 0; font-weight: 700; color: #1f3a5f; }
.ev-form form { padding-bottom: 16px; }
.ev-tipos { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 12px; font-size: .9rem; }
.ev-validar { display: flex; align-items: flex-end; }
.ev-validar .caixa { display: flex; gap: 8px; align-items: center; font-size: .88rem; }
.ev-linha { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 3px solid #e3e8ef; display: grid; gap: 12px; }
.ev-item { position: relative; background: #fff; border: 1px solid var(--borda); border-radius: 12px; padding: 12px 14px; }
.ev-item::before { content: ''; position: absolute; left: -27px; top: 16px; width: 13px; height: 13px; border-radius: 50%; background: #c9a227; border: 3px solid #fff; box-shadow: 0 0 0 1px #c9a227; }
.ev-item-validada::before { background: #30a46c; box-shadow: 0 0 0 1px #30a46c; }
.ev-item-recusada { opacity: .65; } .ev-item-recusada::before { background: #e5484d; box-shadow: 0 0 0 1px #e5484d; }
.ev-item-topo { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.ev-item p { margin: 6px 0; }
.ev-mudanca { font-size: .82rem; color: #1f3a5f; }
.ev-acoes { display: flex; gap: 6px; margin-top: 8px; }
.botao-mini { padding: 5px 10px; font-size: .78rem; min-height: 0; }
@media (max-width: 900px) { .pdi-campos { grid-auto-flow: row; grid-auto-columns: auto; } .pdi-notas, .ev-notas { grid-template-columns: 1fr; } .ev-topo { flex-direction: column; } }
/* PDI: tipo do requisito de cada ação (16/10/2026) */
.qchip.q-tecnica { --q: #3e63dd; --q-claro: #eef2ff; }
.qchip.q-comportamental { --q: #b7891a; --q-claro: #fbf6e6; }
.acao-linha.acao-tecnica { --q: #3e63dd; }
.acao-linha.acao-comportamental { --q: #c9a227; }
/* PDI: cabeçalho dinâmico — resultado da análise × evolução (16/10/2026) */
.ev-nota-unica { align-items: flex-start; }
.ev-valor { font-size: 1.9rem; padding: 4px 14px; border-radius: 12px; line-height: 1.2; }
.ev-nota-geral .ev-valor { background: rgba(201,162,39,.18); color: #f3d77a; }
.ev-barra { position: relative; height: 26px; margin-top: 14px; background: #eef1f5; border-radius: 99px; overflow: hidden; }
.ev-barra span { position: absolute; top: 0; bottom: 0; }
.ev-barra-orig { left: 0; background: #1f3a5f; }
.ev-barra-ganho { background: linear-gradient(90deg, #30a46c, #6ee7b7); }
.ev-barra em { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: .78rem; font-weight: 700; color: #0f172a; }
/* PDI: quadros de requisitos em sanfona (16/10/2026) */
.ev-req .tabela-cartao { margin-bottom: 14px; }
.ev-req summary .texto-suave { font-weight: 400; font-size: .85rem; }
/* PDI: cada ação do plano em sanfona, começa fechada (16/10/2026) */
.acao-sanfona { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; color: var(--texto); font: inherit; }
.acao-sanfona svg { flex: none; transition: transform .2s; color: var(--texto-suave); }
.acao-titulo-resumo { display: none; font-weight: 600; font-size: .92rem; }
.acao-linha.fechada .acao-titulo-resumo { display: block; }
.acao-linha.fechada .acao-sanfona svg { transform: rotate(-90deg); }
.acao-linha.fechada [data-acao-corpo], .acao-linha.fechada .acao-quadrantes { display: none; }
.acao-linha.fechada { padding-bottom: 14px; }
.acao-linha.fechada .acao-topo { margin-bottom: 0; }
.acao-linha.fechada .acao-sanfona { flex: 1 1 auto; min-width: 0; }
.acao-linha.fechada .acao-titulo-resumo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* PDI: requisitos que seguem o cadastro atual da função (16/10/2026) */
.ev-novo { display: inline-block; font-size: .78rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; background: #eef2ff; color: #3e63dd; }
.ev-removidos { font-size: .82rem; color: var(--texto-suave); margin: 6px 0 12px; }

/* ---------- PDI do Colaborador: tela inicial premium (16/10/2026) ---------- */
.pdx-hero { position: relative; overflow: hidden; border-radius: 22px; padding: 28px 30px; color: #fff; margin-bottom: 18px;
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; align-items: center;
  background: radial-gradient(circle at 92% -10%, rgba(201,161,74,.38), transparent 42%), radial-gradient(circle at 0% 120%, rgba(59,130,246,.3), transparent 45%), linear-gradient(135deg, #06243a 0%, #0a3150 55%, #0f4a72 100%);
  box-shadow: 0 24px 50px -22px rgba(6,36,58,.55); }
.pdx-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(120deg, rgba(255,255,255,.025) 0 2px, transparent 2px 22px); }
.pdx-hero > * { position: relative; z-index: 1; }
.pdx-selo { display: inline-block; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #f3d27a; background: rgba(201,161,74,.14); border: 1px solid rgba(243,210,122,.35); border-radius: 999px; padding: 5px 12px; }
.pdx-hero h2 { margin: 12px 0 6px; font-size: 1.9rem; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.pdx-hero p { margin: 0; color: rgba(255,255,255,.75); font-size: .92rem; line-height: 1.55; }
.pdx-passos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pdx-passos li { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); border-radius: 14px; padding: 11px 14px; font-weight: 600; font-size: .9rem; }
.pdx-passos b { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; flex: none; color: #06243a; background: linear-gradient(135deg, #f3d27a, #c9a14a); font-size: .85rem; }
.pdx-form { display: grid; gap: 16px; margin-bottom: 26px; }
.pdx-bloco { background: #fff; border: 1px solid var(--borda); border-radius: 20px; padding: 20px 22px; box-shadow: var(--sombra); }
.pdx-bloco[hidden] { display: none; }
.pdx-bloco-topo { display: flex; gap: 14px; align-items: center; margin-bottom: 16px; }
.pdx-bloco-topo h3 { margin: 0; font-size: 1.05rem; color: #0b1e3a; }
.pdx-bloco-topo p { margin: 2px 0 0; font-size: .84rem; color: var(--texto-suave); }
.pdx-num { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; flex: none; font-weight: 800; color: #f3d27a; background: linear-gradient(135deg, #0b1e3a, #1f3a5f); }
.pdx-bloco .grade { margin: 0; }
.pdx-campos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.pdx-campo { position: relative; display: flex; flex-direction: column; border-radius: 16px; padding: 16px 16px 14px; background: #f8fafc; border: 1px solid var(--borda); overflow: hidden; }
.pdx-campo::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--cor); }
.pdx-c-comp { --cor: #c9a14a; } .pdx-c-tec { --cor: #3e63dd; } .pdx-c-ativ { --cor: #0d9488; }
.pdx-campo h4 { display: flex; align-items: center; gap: 9px; margin: 2px 0 10px; font-size: .9rem; color: #0b1e3a; }
.pdx-campo h4 i { font-style: normal; width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: #fff; border: 1px solid var(--borda); }
.pdx-campo p { margin: 0; white-space: pre-line; font-size: .86rem; line-height: 1.6; color: #334155; max-height: 230px; overflow: auto; padding-right: 4px; }
.pdx-campo.vazio p { color: var(--texto-suave); font-style: italic; }
.pdx-extras { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.pdx-extras span { font-size: .82rem; font-weight: 600; color: #1f3a5f; background: #eef4fb; border: 1px solid #d8e4f2; border-radius: 999px; padding: 6px 12px; }
.pdx-notas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pdx-nota { display: flex; align-items: center; gap: 14px; border-radius: 16px; padding: 14px 16px; background: #fff; border: 1px solid var(--borda); }
.pdx-nota small { display: block; font-size: .78rem; font-weight: 700; color: #475569; }
.pdx-nota strong { display: block; font-size: 1.05rem; margin-top: 2px; color: var(--c, #0b1e3a); }
.pdx-nota em { display: block; font-style: normal; font-size: .75rem; color: var(--texto-suave); margin-top: 2px; }
.pdx-n-verde { --c: #1d7a4b; } .pdx-n-amarelo { --c: #b7791f; } .pdx-n-vermelho { --c: #c2410c; } .pdx-n-cinza { --c: #64748b; }
.pdx-anel { --p: 0; width: 70px; height: 70px; flex: none; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(closest-side, #fff 76%, transparent 78%), conic-gradient(var(--c, #94a3b8) calc(var(--p) * 1%), #e8edf3 0); }
.pdx-anel span { font-weight: 800; font-size: .95rem; color: #0b1e3a; }
.pdx-nota-geral { background: linear-gradient(135deg, #0b1e3a, #1f3a5f); border: 0; }
.pdx-nota-geral small, .pdx-nota-geral em { color: rgba(255,255,255,.75); }
.pdx-nota-geral strong { color: #f3d27a; }
.pdx-nota-geral .pdx-anel { --c: #c9a14a; background: radial-gradient(closest-side, #0f2a4a 76%, transparent 78%), conic-gradient(#c9a14a calc(var(--p) * 1%), rgba(255,255,255,.15) 0); }
.pdx-nota-geral .pdx-anel span { color: #fff; }
.pdx-acao { display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff; border: 1px solid var(--borda); border-radius: 20px; padding: 16px 20px; box-shadow: var(--sombra); }
.pdx-acao-info { display: grid; gap: 8px; min-width: 0; }
.pdx-acao-info .aviso-credito { margin: 0; }
.pdx-acao-info p { margin: 0; font-size: .84rem; color: var(--texto-suave); }
.pdx-botao { flex: none; padding: 14px 24px; border-radius: 14px; font-weight: 700; color: #06243a; border: 0;
  background: linear-gradient(135deg, #f3d27a, #c9a14a); box-shadow: 0 10px 24px -10px rgba(201,161,74,.8); }
.pdx-botao:hover:not(:disabled) { filter: brightness(1.05); }
.pdx-botao:disabled { opacity: .5; cursor: not-allowed; }
.pdx-acao-sem-ia { border-style: dashed; }
.pdx-acao-sem-ia .pdx-botao { color: #fff; background: linear-gradient(135deg, #1f3a5f, #0b1e3a); box-shadow: 0 10px 24px -12px rgba(11,30,58,.8); }
@media (max-width: 900px) { .pdx-hero { grid-template-columns: 1fr; } .pdx-campos, .pdx-notas { grid-template-columns: 1fr; } .pdx-acao { flex-direction: column; align-items: stretch; } }

/* E-mail de apresentação dos serviços (Configurar Automação → ⚙ → 📧) */
.wl-ap .wl-ap-arq { border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; margin: 0 0 12px; display: grid; gap: 8px; }
.wl-ap .wl-ap-ok { color: #047857; font-weight: 600; margin-left: 6px; }
.wl-ap .wl-ap-falta { color: #b45309; font-weight: 600; margin-left: 6px; }
.wl-ap .wl-ap-img { max-width: 100%; max-height: 140px; object-fit: contain; border: 1px dashed #cbd5e1; border-radius: 8px; padding: 6px; background: #fff; justify-self: start; }
.wl-ap textarea { min-height: 220px; }

/* Janela ⚙ Configurações maior (16/10/2026, pedido do Heron): mais larga e alta, abas sem rolagem lateral, mais respiro */
.wl-config { width: min(1100px, 92vw); height: min(860px, 90vh); max-height: 90vh; }
.wl-config-topo { padding: 18px 28px; }
.wl-config-topo h3 { font-size: 1.25rem; }
.wl-config-abas { flex-wrap: wrap; overflow-x: visible; gap: 8px; padding: 12px 28px; background: #f8fafc; }
.wl-config-abas button { padding: 9px 18px; font-size: .95rem; }
.wl-config-corpo { padding: 24px 28px; }
.wl-config-corpo [data-wl-painel] { max-width: 980px; }
.wl-config-corpo [data-wl-painel] h3 { font-size: 1.15rem; margin-bottom: 10px; }
.wl-config-corpo label { margin-bottom: 4px; }
.wl-config-rodape { padding: 14px 28px; }
.wl-config-rodape .botao { min-width: 110px; }
.wl-ap.mostra { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; align-items: start; }
.wl-ap > h3, .wl-ap > p, .wl-ap > label, .wl-ap > .gp-linha { grid-column: 1 / -1; }
.wl-ap .wl-ap-arq { margin: 0; height: 100%; }
.wl-ap textarea { min-height: 300px; }
@media (max-width: 760px) {
  .wl-config { width: calc(100vw - 16px); height: calc(100vh - 16px); max-height: calc(100vh - 16px); }
  .wl-config-topo, .wl-config-abas, .wl-config-corpo, .wl-config-rodape { padding-left: 16px; padding-right: 16px; }
  .wl-ap.mostra { grid-template-columns: 1fr; }
}

/* Postagens Programadas: "＋ Story motivacional" na Agenda */
.pa-agenda-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pa-agenda-cab h3 { margin: 0; }
.pa-motiv { position: relative; }
.pa-motiv > summary { list-style: none; cursor: pointer; }
.pa-motiv > summary::-webkit-details-marker { display: none; }
.pa-motiv-form { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: min(320px, 86vw); display: grid; gap: 8px; padding: 14px; background: #fff; border: 1px solid #e3e6ee; border-radius: 12px; box-shadow: 0 10px 30px rgba(15, 30, 60, .15); }
.pa-motiv-form label { display: grid; gap: 4px; font-size: .85rem; }
.pa-motiv-form .dica { margin: 0; }
.em-empresa-sel { margin: 0 0 12px; } .em-empresa-sel label { display: inline-flex; gap: 8px; align-items: center; font-weight: 600; font-size: .9rem; } .em-empresa-sel select { min-width: 220px; padding: 6px 10px; border-radius: 8px; border: 1px solid #cbd5e1; }

/* Agenda de Reuniões: bloqueio premium, eventos do Google clicáveis e janela "Novo evento" (21/10/2026) */
.ag-bloq { left: 3px; right: 3px; border-radius: 10px; border: 1px solid rgba(15, 35, 64, .14); border-top: 0; overflow: hidden;
  background: linear-gradient(135deg, rgba(15, 35, 64, .055), rgba(15, 35, 64, .02)), repeating-linear-gradient(-45deg, rgba(15, 35, 64, .05) 0 2px, transparent 2px 9px), #f8fafc;
  box-shadow: inset 3px 0 0 #0f2340; transition: box-shadow .15s, background .15s; }
.ag-bloq:hover { box-shadow: inset 3px 0 0 #c9a14a, 0 6px 18px -10px rgba(15, 35, 64, .45); background-color: #fff; }
.ag-bloq-in { display: flex; gap: 8px; align-items: flex-start; padding: 7px 9px 6px 12px; position: sticky; top: 0; }
.ag-bloq-ic { flex: none; width: 24px; height: 24px; border-radius: 8px; display: grid; place-items: center; font-size: .78rem; background: #0f2340; color: #f3d27a; box-shadow: 0 2px 6px rgba(15, 35, 64, .3); }
.ag-bloq b { display: block; font-size: .74rem; color: #0f2340; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ag-bloq small { display: block; font-size: .67rem; color: #64748b; margin-top: 1px; letter-spacing: .01em; }
.ag-bloq.curto .ag-bloq-in { padding: 3px 8px 2px 10px; align-items: center; }
.ag-bloq.curto .ag-bloq-ic { width: 18px; height: 18px; font-size: .62rem; border-radius: 6px; }
.ag-bloq.curto small { display: none; }
.ag-cor-bloqueio { background: linear-gradient(135deg, #e2e8f0, #f8fafc); box-shadow: inset 2px 0 0 #0f2340; }
.ag-cab.bloqueado { background: linear-gradient(180deg, #f1f5f9, #fff); }
.ag-cab em { color: #0f2340; font-weight: 600; }
.ag-ev-google { cursor: pointer; }
.ag-pop-cor { display: inline-block; width: 12px; height: 12px; border-radius: 4px; margin-right: 8px; vertical-align: 0; }
.ag-dlg-ev { width: min(560px, 94vw); }
.ag-dlg-ev .pe-form { gap: 10px; }
.ag-ev-titulo { width: 100%; border: 0; border-bottom: 2px solid #e2e8f0; font-size: 1.35rem; padding: 8px 2px; font-weight: 600; outline: none; background: transparent; }
.ag-ev-titulo:focus { border-bottom-color: #1a73e8; }
.ag-ev-linha { display: flex; gap: 12px; align-items: flex-start; }
.ag-ev-linha > textarea, .ag-ev-linha > input, .ag-ev-linha > select { flex: 1; }
.ag-ev-ic { flex: none; width: 26px; text-align: center; font-size: 1.05rem; padding-top: 6px; }
.ag-ev-quando { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ag-ev-quando [hidden] { display: none; }
.ag-ev-video { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 2px; }
.ag-ev-video label { display: inline-flex; gap: 6px; align-items: center; border: 1.5px solid #e2e8f0; border-radius: 999px; padding: 5px 12px; font-size: .84rem; cursor: pointer; }
.ag-ev-video label:has(input:checked) { border-color: #1a73e8; background: #e8f0fe; color: #174ea6; }
.ag-ev-video input { margin: 0; }
.ag-ev-cores { display: flex; gap: 5px; align-items: center; margin-left: 6px; }
.ag-ev-cores input { position: absolute; opacity: 0; width: 0; height: 0; }
.ag-ev-cores i { display: block; width: 20px; height: 20px; border-radius: 50%; cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 0 1px #cbd5e1; }
.ag-ev-cores label:has(input:checked) i { box-shadow: 0 0 0 2px #0f2340; }

/* Agenda de Reuniões: arrastar e soltar para remarcar (21/10/2026) */
.ag-arrasta { cursor: grab; touch-action: none; }
.ag-arrasta:hover { filter: brightness(1.06); box-shadow: 0 4px 12px rgba(60, 64, 67, .35); }
.ag-movendo, .ag-movendo * { cursor: grabbing !important; user-select: none; }
.ag-arrastando { opacity: .35; }
.ag-fantasma { z-index: 6 !important; pointer-events: none; opacity: .95; box-shadow: 0 12px 28px -8px rgba(15, 35, 64, .55), 0 0 0 2px #c9a14a; transform: scale(1.02); }
.ag-fantasma-ruim { box-shadow: 0 0 0 2px #dc2626 !important; opacity: .6; }

/* PDI · bloco 3 "Compatibilidade atual com a função" só comportamental (22/10/2026): nota DISC + 4 fatores pessoa × função */
.pdx-disc { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); gap: 16px; }
.pdx-disc-nota { position: relative; overflow: hidden; border-radius: 18px; padding: 22px 20px; text-align: center; color: #fff;
  background: radial-gradient(120% 90% at 100% 0, rgba(201,161,74,.28), transparent 55%), linear-gradient(150deg, #0b1e3a, #1f3a5f); box-shadow: 0 14px 34px rgba(11,30,58,.22); }
.pdx-disc-anel-box { position: relative; width: 150px; height: 150px; margin: 0 auto 10px; }
.pdx-disc-anel { width: 100%; height: 100%; }
.pdx-disc-anel-box span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 2rem; font-weight: 800; letter-spacing: -.02em; }
.pdx-disc-nota small { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.pdx-disc-nota strong { display: block; font-size: 1.45rem; margin: 2px 0 10px; color: #f3d27a; }
.pdx-disc-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-bottom: 16px; }
.pdx-disc-chips span { font-size: .74rem; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); }
.pdx-regua { position: relative; height: 8px; border-radius: 999px; background: linear-gradient(90deg, #dc2626 0 30%, #ea580c 30% 50%, #d97706 50% 70%, #2563eb 70% 80%, #16a34a 80%); }
.pdx-regua i { position: absolute; top: 50%; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 3px solid #c9a14a; transform: translate(-50%, -50%); box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.pdx-regua-rot { display: flex; justify-content: space-between; margin-top: 6px; font-size: .66rem; color: rgba(255,255,255,.6); }
.pdx-disc-fatores { border-radius: 18px; padding: 16px 18px; background: #fff; border: 1px solid var(--borda); display: flex; flex-direction: column; gap: 10px; }
.pdx-disc-legenda { display: flex; gap: 16px; justify-content: flex-end; font-size: .75rem; color: #475569; }
.pdx-disc-legenda i { display: inline-block; vertical-align: middle; margin-right: 6px; }
.pdx-disc-legenda i.p { width: 18px; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #e5484d, #3e63dd); }
.pdx-disc-legenda i.f { width: 3px; height: 14px; border-radius: 2px; background: #0b1e3a; }
.pdx-fator { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: #f8fafc; border: 1px solid #eef2f7; }
.pdx-letra { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; font-size: 1.1rem; color: #fff; background: var(--cf); box-shadow: 0 6px 14px color-mix(in srgb, var(--cf) 35%, transparent); }
.pdx-fator-top { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.pdx-fator-top b { font-size: .92rem; color: #0b1e3a; }
.pdx-fator-top small { font-size: .74rem; color: var(--texto-suave); }
.pdx-trilho { position: relative; height: 10px; margin: 7px 0 5px; border-radius: 999px; background: #e7ecf3; }
.pdx-trilho i { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: var(--cf); }
.pdx-trilho u { position: absolute; top: -4px; bottom: -4px; width: 3px; margin-left: -1.5px; border-radius: 2px; background: #0b1e3a; text-decoration: none; }
.pdx-fator-val { display: flex; gap: 14px; font-size: .74rem; color: #64748b; }
.pdx-fator-val b { color: #0b1e3a; }
.pdx-dif { font-size: .74rem; font-weight: 800; padding: 5px 10px; border-radius: 999px; white-space: nowrap; }
.pdx-dif.ok { background: #e8f6ee; color: #15803d; } .pdx-dif.acima { background: #e8efff; color: #1d4ed8; }
.pdx-dif.abaixo { background: #fff4e5; color: #b45309; } .pdx-dif.cinza { background: #f1f5f9; color: #64748b; }
.pdx-disc-leitura { margin: 2px 0 0; padding: 10px 12px; border-radius: 12px; background: #fffbef; border: 1px solid #f3d27a; font-size: .85rem; color: #3b3220; }
@media (max-width: 900px) { .pdx-disc { grid-template-columns: 1fr; } .pdx-fator { grid-template-columns: 34px minmax(0, 1fr); } .pdx-dif { grid-column: 2; justify-self: start; } }
.pdx-disc-nota { display: flex; flex-direction: column; }
.pdx-disc-resumo { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.pdx-disc-resumo div { padding: 12px 8px; border-radius: 14px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); }
.pdx-disc-resumo b { display: block; font-size: 1.6rem; color: #f3d27a; line-height: 1.1; }
.pdx-disc-resumo span { font-size: .74rem; color: rgba(255,255,255,.75); }
.pdx-disc-rodape { margin: auto 0 0; padding-top: 16px; font-size: .78rem; line-height: 1.45; color: rgba(255,255,255,.7); }
.pdx-disc-rodape b { color: #fff; }

/* PDI · bloco 2 "O que será analisado" só com as competências comportamentais (22/10/2026) */
.pdx-comp { border-radius: 18px; padding: 18px 20px; background: linear-gradient(180deg, #fffdf6, #fff); border: 1px solid #efe2bd; border-top: 4px solid #c9a14a; }
.pdx-comp-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.pdx-comp-ic { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; font-size: 1.25rem; background: linear-gradient(150deg, #0b1e3a, #1f3a5f); box-shadow: 0 8px 18px rgba(11,30,58,.18); }
.pdx-comp-topo h4 { margin: 0; font-size: 1rem; color: #0b1e3a; }
.pdx-comp-topo small { font-size: .8rem; color: #8a6d1f; font-weight: 600; }
.pdx-comp-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.pdx-comp-lista li { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 14px; background: #fff; border: 1px solid #eef2f7; box-shadow: 0 2px 8px rgba(11,30,58,.04); font-size: .9rem; color: #1e293b; }
.pdx-comp-lista b { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 800; color: #0b1e3a; background: linear-gradient(150deg, #f3d27a, #c9a14a); }
.pdx-comp.vazio .pdx-comp-lista { display: none; }

/* SWOT e PDI: aviso das pessoas vinculadas à função escolhida */
.pessoa-aviso { display: block; margin-top: 6px; font-size: .82rem; color: var(--texto-suave); }
.pessoa-aviso.vazio { color: #B45309; font-weight: 600; }
.pessoa-aviso a { color: inherit; text-decoration: underline; }
