/* FERCOPOR Marketing — estilos específicos, carregados depois de estilo-base.css, do Design System e de estilo.css
   (os mesmos ficheiros do Dashboard). Só o que a app Marketing acrescenta. */

/* Navegação superior com ligações simples (sem submenus) */
.nav-topo > a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border-radius: var(--ds-r); color: inherit; text-decoration: none; font-weight: 600; white-space: nowrap; }
.nav-topo > a:hover { background: rgba(255, 255, 255, .08); }
.nav-topo > a.ativo { box-shadow: inset 0 -2px 0 var(--ds-dourado); }

/* Filtro de empreendimentos (vários): menu com caixas de seleção */
.filtro-multiplo { position: relative; align-self: flex-end; }
.filtro-multiplo > summary { display: inline-flex; align-items: center; gap: 6px; min-height: var(--ds-altura-controlo); padding: 0 14px; border: 1px solid var(--ds-linha-forte); border-radius: var(--ds-r); background: var(--ds-superficie); cursor: pointer; list-style: none; }
.filtro-multiplo > summary::-webkit-details-marker { display: none; }
.filtro-multiplo > summary::after { content: '▾'; color: var(--ds-texto-3); }
.filtro-multiplo[open] > summary { border-color: var(--ds-dourado); box-shadow: var(--ds-anel-foco); }
.filtro-multiplo fieldset { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; min-width: 240px; max-height: 340px; overflow: auto; margin: 0; padding: 10px; display: grid; gap: 2px; background: var(--ds-superficie); border: 1px solid var(--ds-linha); border-radius: var(--ds-r-cartao); box-shadow: var(--ds-sombra-2); }
.opcao { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 6px; border-radius: 6px; font-weight: 500; cursor: pointer; }
.opcao:hover { background: var(--ds-superficie-2); }
.opcao input { width: 18px; height: 18px; accent-color: var(--ds-grafite); }
.grelha-opcoes { flex-basis: 100%; margin: 0; padding: 12px; border: 1px solid var(--ds-linha); border-radius: var(--ds-r); display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 2px 12px; }
.grelha-opcoes legend { padding: 0 6px; font-weight: 700; }
.filtros input[type="search"], .filtros input[type="email"], .form-utilizadores input[type="email"] { min-height: var(--ds-altura-controlo); border-radius: var(--ds-r); border: 1px solid var(--ds-linha-forte); background: var(--ds-superficie); padding: 0 12px; font: inherit; }

.titulo-seccao { margin: 28px 0 4px; font-size: 26px; }
.celula-nota { display: block; max-width: 320px; font-size: 12px; color: var(--ds-texto-3); overflow-wrap: anywhere; }
.tabela-consulta td, .tabela-consulta th { vertical-align: top; }
.paginacao { display: flex; gap: 10px; justify-content: space-between; margin-top: 14px; }
.sucesso { padding: 10px 14px; border-radius: var(--ds-r); background: #E7F2E9; color: #1E5A2A; font-weight: 600; }
.definicoes > summary { cursor: pointer; list-style: none; }
.definicoes > summary h2 { display: inline; }
.definicoes dl, .lista-config { display: grid; grid-template-columns: minmax(140px, max-content) 1fr; gap: 8px 18px; margin: 14px 0 0; }
.definicoes dt, .lista-config dt { font-weight: 700; }
.definicoes dd, .lista-config dd { margin: 0; color: var(--ds-texto-2); overflow-wrap: anywhere; }
.form-utilizadores .caixa-tabela { margin-bottom: 12px; }
@media (max-width: 640px) {
  .definicoes dl, .lista-config { grid-template-columns: 1fr; }
  .filtro-multiplo fieldset { position: static; box-shadow: none; }
}

/* Relatório mensal: as mesmas regras de impressão do Relatório Comercial do Dashboard; aqui só o que é novo */
.relatorio-mkt .duas-colunas { gap: 18px; }
@media print {
  .nao-imprimir, .filtros-ativos { display: none !important; }
  .relatorio-mkt .duas-colunas { display: grid; grid-template-columns: 1fr 1fr; }
  .relatorio-mkt .cad-indicadores { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Navegação de fundo (telemóvel): seis secções numa só linha */
.nav-fundo { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 2px; }
.nav-fundo a { font-size: 10px; letter-spacing: -.02em; overflow-wrap: normal; white-space: nowrap; }
/* Definições: indicação de que abre */
.definicoes > summary::after { content: ' ＋'; color: var(--ds-texto-3); font-weight: 600; }
.definicoes[open] > summary::after { content: ' −'; }
/* Relatório: tabelas largas (nomes de campanhas) cabem na página — o nome quebra, os números não */
.relatorio-mkt .tabela-cad tbody th { white-space: normal; overflow-wrap: anywhere; min-width: 12ch; }
@media print {
  .relatorio-mkt .caixa-tabela > table { width: 100%; font-size: 8pt; }
  .relatorio-mkt .caixa-tabela > table th, .relatorio-mkt .caixa-tabela > table td { padding: 5px 6px; }
  .relatorio-mkt .caixa-tabela > table thead th { font-size: 6.5pt; letter-spacing: .04em; white-space: normal; }
}
