.publicacao-grupo { display: flex; align-items: center; gap: var(--e-3); flex: none; }
.publicacao-indicador { display: inline-flex; align-items: center; gap: 6px; font: 500 11px/1.3 var(--fonte); color: var(--texto-3); white-space: nowrap; }
.publicacao-indicador::before, .publicacao-ponto { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--texto-3); flex: none; }
.publicacao-indicador[data-estado="publicado"]::before, [data-estado="publicado"] .publicacao-ponto { background: var(--ok); }
.publicacao-indicador:is([data-estado="alteracoes_pendentes"],[data-estado="em_revisao"])::before, :is([data-estado="alteracoes_pendentes"],[data-estado="em_revisao"]) .publicacao-ponto { background: var(--alerta); }
.publicacao-indicador[data-estado="bloqueado"]::before, [data-estado="bloqueado"] .publicacao-ponto { background: var(--erro); }
.publicacao-painel { position: fixed; inset: 68px 16px auto auto; width: min(440px,calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 84px); margin: 0; padding: 0; border: 1px solid var(--borda); border-radius: var(--raio-g); background: var(--fundo-elevado); color: var(--texto); box-shadow: var(--sombra-3); overflow-y: auto; overscroll-behavior: contain; }
.publicacao-painel::backdrop { background: var(--veu); }
/* `hidden` vence o display dos botões e das linhas (odim-btn é inline-flex). */
.publicacao-painel [hidden] { display: none !important; }
.publicacao-cabecalho { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--e-3); padding: var(--e-5) var(--e-6) var(--e-4); }
.publicacao-cabecalho h2 { margin: 0; font: 800 20px/1.3 var(--fonte-titulo); letter-spacing: -.4px; }
.publicacao-projeto { margin: 4px 0 0; max-width: 290px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 12px/1.5 var(--fonte); color: var(--texto-3); }
.publicacao-painel .odim-btn { min-height: 44px; }
.publicacao-painel .icone { min-width: 44px; }
.publicacao-painel button:focus-visible, .publicacao-painel a:focus-visible { outline: 2px solid var(--foco-cor); outline-offset: 2px; }
.publicacao-painel h2:focus { outline: none; }
.publicacao-corpo { padding: 0 var(--e-6) var(--e-4); }
.publicacao-situacao { margin-bottom: var(--e-5); }
.publicacao-situacao-linha { display: flex; align-items: center; gap: var(--e-2); }
.publicacao-situacao h3 { margin: 0; font: 700 14px/1.4 var(--fonte); }
.publicacao-situacao p { margin: var(--e-2) 0 0; font: 400 12px/1.6 var(--fonte); color: var(--texto-3); }
.publicacao-situacao .odim-btn { margin-top: var(--e-2); padding-left: 0; color: var(--link); }
.publicacao-endereco { padding: var(--e-4); border: 1px solid var(--borda); border-radius: var(--raio); background: var(--fundo-sutil); }
.publicacao-cartao-topo { display: flex; align-items: center; justify-content: space-between; gap: var(--e-2); }
.publicacao-cartao-topo h3 { margin: 0; font: 600 12px/1.4 var(--fonte); }
.publicacao-gratis { font: 500 10px/1.5 var(--fonte); color: var(--texto-3); }
.publicacao-url { margin: var(--e-3) 0 var(--e-1); font: 500 13px/1.6 var(--fonte-mono); overflow-wrap: anywhere; }
.publicacao-endereco-acoes { display: flex; flex-wrap: wrap; gap: var(--e-1); }
.publicacao-endereco-acoes .odim-btn { padding-inline: var(--e-2); font-size: 11px; }
.publicacao-escolha-titulo { margin: var(--e-3) 0 var(--e-2); font: 500 12px/1.4 var(--fonte); }
.publicacao-sugestoes { display: grid; gap: var(--e-1); }
.publicacao-sugestao { display: flex; align-items: center; gap: var(--e-2); min-height: 44px; padding: 0 var(--e-3); box-sizing: border-box; border: 1px solid var(--borda); border-radius: var(--raio-p); background: var(--fundo-elevado); cursor: pointer; font: 500 13px/1.4 var(--fonte-mono); overflow-wrap: anywhere; }
.publicacao-sugestao:has(input:checked) { border-color: var(--acao-hover); box-shadow: inset 0 0 0 1px var(--acao-hover); }
.publicacao-sugestao:focus-within { outline: 2px solid var(--foco-cor); outline-offset: 2px; }
.publicacao-sugestao input { flex: none; margin: 0; accent-color: var(--acao-hover); }
.publicacao-sugestao .publicacao-sufixo { color: var(--texto-3); font-weight: 400; }
.publicacao-sugestao-outro { font-family: var(--fonte); }
.publicacao-edicao { margin-top: var(--e-3); padding-top: var(--e-3); border-top: 1px solid var(--borda); }
.publicacao-edicao label { display: block; margin-bottom: var(--e-2); font: 500 12px/1.4 var(--fonte); }
.publicacao-rotulo-grupo { display: flex; align-items: center; gap: var(--e-2); min-width: 0; }
.publicacao-rotulo-grupo input { flex: 1; min-width: 0; height: 44px; font-family: var(--fonte-mono); }
.publicacao-rotulo-grupo span { font: 400 12px/1.4 var(--fonte-mono); color: var(--texto-3); overflow-wrap: anywhere; max-width: 45%; }
.publicacao-endereco-msg, .publicacao-trocas { margin: var(--e-2) 0 0; font: 400 11px/1.6 var(--fonte); color: var(--texto-3); }
.publicacao-edicao-acoes { display: flex; justify-content: flex-end; gap: var(--e-2); margin-top: var(--e-2); }
.publicacao-dominios { padding: var(--e-4) 0; margin-top: var(--e-2); border-bottom: 1px solid var(--borda); }
.publicacao-muted { margin: var(--e-2) 0; font: 400 12px/1.6 var(--fonte); color: var(--texto-3); }
.publicacao-dominios .odim-btn { padding-left: 0; color: var(--link); }
.publicacao-dominio-linha { display: flex; flex-direction: column; gap: 2px; padding-top: var(--e-3); overflow-wrap: anywhere; font: 500 12px/1.5 var(--fonte); }
.publicacao-dominio-status { color: var(--texto-3); font-size: 11px; font-weight: 400; }
.publicacao-selo { padding: var(--e-4) 0; border-bottom: 1px solid var(--borda); }
.publicacao-selo-linha { display: flex; align-items: center; justify-content: space-between; gap: var(--e-3); }
.publicacao-selo h3 { margin: 0; font: 600 12px/1.4 var(--fonte); }
.publicacao-selo .publicacao-muted { margin: var(--e-1) 0 0; }
.publicacao-selo .odim-btn { padding-left: 0; color: var(--link); }
/* Interruptor: alvo de 52x44 (toque), trilho e bolinha desenhados por dentro. */
.publicacao-painel .publicacao-chave { position: relative; flex: none; width: 52px; min-width: 52px; height: 44px; min-height: 44px; padding: 0; border: 0; background: none; cursor: pointer; }
.publicacao-chave::before { content: ''; position: absolute; left: 4px; top: 11px; width: 44px; height: 22px; box-sizing: border-box; border-radius: 999px; border: 1px solid var(--borda-campo); background: var(--fundo-sutil); transition: background var(--dur-2) var(--curva-saida); }
.publicacao-chave::after { content: ''; position: absolute; left: 7px; top: 14px; width: 16px; height: 16px; border-radius: 50%; background: var(--odim-branco); box-shadow: var(--sombra-1); transition: transform var(--dur-2) var(--curva-saida); }
.publicacao-chave[aria-checked="true"]::before { background: var(--acao-hover); border-color: var(--acao-hover); }
.publicacao-chave[aria-checked="true"]::after { transform: translateX(22px); }
.publicacao-chave:disabled { cursor: not-allowed; opacity: .55; }
@media (prefers-reduced-motion: reduce) { .publicacao-chave::before, .publicacao-chave::after { transition: none; } }
.publicacao-visibilidade { margin: var(--e-4) 0 0; color: var(--texto-3); font: 400 11px/1.6 var(--fonte); }
.publicacao-aviso { margin: var(--e-3) 0 0; padding: var(--e-3); border-radius: var(--raio-p); background: var(--fundo-sutil); font: 400 12px/1.6 var(--fonte); }
.publicacao-erro { color: var(--erro); }
.publicacao-rodape { padding: var(--e-4) var(--e-6) var(--e-5); border-top: 1px solid var(--borda); background: var(--fundo-sutil); }
.publicacao-rodape p { margin: 0 0 var(--e-3); color: var(--texto-3); font: 400 11px/1.6 var(--fonte); }
.publicacao-rodape #publicacao-confirmar:disabled:not([aria-busy="true"]) { background: var(--fundo); border-color: var(--borda); color: var(--texto-3); opacity: 1; box-shadow: none; transform: none; }
.publicacao-copia { position: fixed; left: -9999px; top: 0; }
body.odim-editor dialog#domains-overlay { position: fixed; inset: 0; margin: auto; width: min(620px,calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--borda); border-radius: var(--raio-g); background: var(--fundo-elevado); color: var(--texto); overflow-y: auto; }
body.odim-editor dialog#domains-overlay::backdrop { background: var(--veu); }
body.odim-editor #domains-overlay #endereco-gratis { display: none !important; }
body.odim-editor #domains-overlay .odim-btn, body.odim-editor #domains-overlay button { min-height: 44px; }
body.odim-editor #domains-overlay .icone { min-width: 44px; }
@media(max-width:768px) {
  .publicacao-grupo { gap: var(--e-2); }
  #publicacao-topo-texto { display: none; }
  .publicacao-painel { inset: auto 16px 16px; width: calc(100vw - 32px); max-height: calc(100dvh - 32px); }
  .publicacao-cabecalho { padding: var(--e-4); }
  .publicacao-corpo { padding-inline: var(--e-4); }
  .publicacao-rodape { padding: var(--e-4); }
}
/* Mudança no banco esperando o dono (marca/pendencia-banco.js): publicar
   fica travado e o "Aplicar agora" aparece aqui, com as cores de alerta. */
.publicacao-banco { margin: var(--e-3) 0 0; padding: var(--e-3); border: 1px solid var(--alerta-borda); border-radius: var(--raio-p);
  background: var(--alerta-suave); display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-2) var(--e-3); }
.publicacao-banco[hidden] { display: none; }
.publicacao-banco-texto { flex: 1 1 220px; margin: 0; font: 600 13px/1.45 var(--fonte); color: var(--alerta-forte); }
/* Visitas do site: barras por dia e listas com barra proporcional (sem biblioteca). */
.publicacao-visitas { padding: var(--e-4) 0; border-bottom: 1px solid var(--borda); }
.publicacao-visitas-topo { display: flex; align-items: center; justify-content: space-between; gap: var(--e-2); flex-wrap: wrap; }
.publicacao-visitas h3 { margin: 0; font: 600 12px/1.4 var(--fonte); }
.publicacao-periodos { display: inline-flex; gap: 2px; }
.publicacao-painel .publicacao-periodo { min-height: 44px; padding: 0 var(--e-2); border: 0; background: none; color: var(--texto-3); font: 500 11px/1 var(--fonte); cursor: pointer; border-radius: var(--raio-p); }
.publicacao-periodo[aria-pressed="true"] { color: var(--texto); background: var(--fundo-sutil); box-shadow: inset 0 0 0 1px var(--borda); }
.publicacao-periodo:disabled { cursor: not-allowed; opacity: .55; }
.publicacao-visitas-resumo { margin: var(--e-2) 0; font: 500 13px/1.5 var(--fonte); overflow-wrap: anywhere; }
.publicacao-barras { display: flex; align-items: flex-end; gap: 1px; height: 56px; margin-bottom: var(--e-3); }
.publicacao-barra { flex: 1; min-width: 1px; background: var(--acao-hover); border-radius: 1px 1px 0 0; opacity: .85; }
.publicacao-lista { margin-bottom: var(--e-3); }
.publicacao-lista h4 { margin: 0 0 var(--e-1); font: 600 11px/1.4 var(--fonte); color: var(--texto-3); }
.publicacao-lista-linha { display: grid; grid-template-columns: 1fr auto; column-gap: var(--e-2); align-items: baseline; padding: 3px 0; font: 400 12px/1.5 var(--fonte); }
.publicacao-lista-nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--fonte); }
.publicacao-lista-n { font-variant-numeric: tabular-nums; color: var(--texto-3); }
.publicacao-lista-fundo { grid-column: 1 / -1; height: 3px; border-radius: 2px; background: var(--fundo-sutil); overflow: hidden; }
.publicacao-lista-barra { display: block; height: 100%; background: var(--acao-hover); }
.publicacao-visitas .publicacao-selo-linha { margin-top: var(--e-3); }
.publicacao-visitas .publicacao-muted { margin: var(--e-1) 0 0; }
