/* Visão consolidada do ente, sem controles administrativos de edição. */
.consulta {
  max-width: 1500px;
  margin: 0 auto;
  padding: 24px 28px;
}

.previa-consulta,
.titulo-consulta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
}

.previa-consulta {
  padding: 12px 16px;
  border: 1px dashed #9db3ca;
  border-radius: 8px;
  background: #edf3f9;
  font-size: 12px;
}

.previa-consulta p {
  margin: 4px 0 0;
  color: var(--cinza);
}

.consulta label {
  display: grid;
  gap: 4px;
  color: var(--cinza);
  font-size: 12px;
}

.consulta input,
.consulta select {
  width: 100%;
  min-height: 36px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--borda);
  border-radius: 6px;
  background: white;
  color: var(--texto);
  font: inherit;
}

.titulo-consulta p {
  margin: 0 0 2px;
  color: var(--cinza);
}

.titulo-consulta h2 {
  margin: 0;
  color: var(--azul);
  font-size: 23px;
}

.titulo-consulta span,
.resumo-secao {
  color: var(--cinza);
  font-size: 12px;
}

.selo-consulta {
  padding: 4px 10px;
  border: 1px solid var(--borda);
  border-radius: 5px;
}

.secao-consulta {
  margin-bottom: 14px;
  border: 1px solid var(--borda);
  border-radius: 9px;
  background: white;
}

section.secao-consulta {
  padding: 16px 20px;
}

.secao-consulta h3 {
  margin: 0;
  color: var(--azul);
  font-size: 16px;
  font-weight: 600;
}

.secao-consulta summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 14px 20px;
  cursor: pointer;
  list-style: none;
}

.secao-consulta summary::-webkit-details-marker {
  display: none;
}
.seta-consulta {
  margin-left: auto;
  color: var(--azul);
}
.secao-consulta[open] > summary .seta-consulta {
  transform: rotate(180deg);
}
.conteudo-secao {
  padding: 0 20px 18px;
}
.consulta a {
  color: var(--azul);
  overflow-wrap: anywhere;
}
.consulta :focus-visible {
  outline: 2px solid var(--azul);
  outline-offset: 3px;
}

.alertas-consulta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.alertas-consulta li {
  padding: 10px 12px;
  border-left: 3px solid #7a9ebf;
  border-radius: 4px;
  background: var(--fundo);
  font-size: 13px;
}

.alertas-consulta [data-nivel="atencao"] {
  border-color: #b57915;
  background: #fff8e9;
}

.dados-plano-consulta,
.financeiro-consulta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 0;
}

.financeiro-consulta {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.consulta dl > div {
  padding: 12px;
  border-radius: 6px;
  background: var(--fundo);
}
.consulta dt {
  font-size: 12px;
  color: var(--cinza);
}
.consulta dd {
  margin: 4px 0 0;
  color: var(--azul);
  font-weight: 600;
}
.anexo-consulta {
  margin-top: 14px;
  color: var(--cinza);
  font-size: 13px;
}
.reunioes-consulta {
  margin: 0;
  padding: 0;
  list-style: none;
}
.reunioes-consulta li {
  padding: 12px 0;
  border-top: 1px solid var(--borda);
}
.reunioes-consulta li > div {
  margin-top: 4px;
  font-size: 12px;
  color: var(--cinza);
}
.consulta-vazia {
  padding: 12px 0;
  color: var(--cinza);
  font-size: 13px;
}

.pesquisa-consulta {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}

.pesquisa-consulta label {
  flex: 0 1 400px;
}
.pesquisa-consulta span {
  font-size: 12px;
  color: var(--cinza);
}
.tabela-consulta {
  overflow-x: auto;
  border: 1px solid var(--borda);
  border-radius: 6px;
}
.tabela-consulta table {
  width: 100%;
  min-width: 1000px;
  border-collapse: collapse;
  font-size: 12px;
}
.tabela-consulta th {
  padding: 10px;
  text-align: left;
  background: var(--azul);
  color: white;
}
.tabela-consulta td {
  padding: 10px;
  border-bottom: 1px solid var(--borda);
}
.tabela-consulta .numero {
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .financeiro-consulta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .consulta {
    padding: 18px 16px;
  }
  .previa-consulta > label {
    width: 100%;
  }
  .alertas-consulta {
    grid-template-columns: 1fr;
  }
  .dados-plano-consulta,
  .financeiro-consulta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
