/* consultas.frbt.com.br — visual sóbrio, na família do app-frbt */
:root {
  --tinta: #1d2430;
  --fundo: #f6f5f2;
  --branco: #ffffff;
  --dourado: #b08d3f;
  --dourado-escuro: #8f7231;
  --cinza: #6b7280;
  --linha: #e3e0d8;
  --erro: #b3261e;
  --ok: #1a7f4b;
}
* { box-sizing: border-box; }
body {
  margin: 0; color: var(--tinta); background: var(--fundo);
  font: 16px/1.5 Georgia, "Times New Roman", serif;
  min-height: 100vh; display: flex; flex-direction: column;
}
main { flex: 1; width: min(960px, 94%); margin: 0 auto; padding: 1.5rem 0 3rem; }
a { color: var(--dourado-escuro); }

/* topo */
.topo {
  background: var(--branco); border-bottom: 2px solid var(--dourado);
  display: flex; align-items: center; gap: 1.5rem; padding: .6rem 1.2rem;
}
.topo .logo { display: flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--tinta); }
.topo .logo img { height: 42px; }
.topo .logo span {
  font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cinza);
  border-left: 1px solid var(--linha); padding-left: .6rem;
}
.topo nav { display: flex; gap: 1.1rem; flex: 1; }
.topo nav a { text-decoration: none; color: var(--tinta); padding: .25rem 0; border-bottom: 2px solid transparent; }
.topo nav a.ativo, .topo nav a:hover { border-bottom-color: var(--dourado); }
.topo .usuario { font-size: .9rem; color: var(--cinza); display: flex; align-items: center; gap: .6rem; }

/* botões e formulários */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border: 1px solid var(--dourado); background: var(--branco); color: var(--tinta);
  padding: .55rem 1.1rem; border-radius: 4px; cursor: pointer;
  font: inherit; font-size: .95rem; text-decoration: none;
}
.botao.dourado { background: var(--dourado); color: var(--branco); border-color: var(--dourado); }
.botao.dourado:hover { background: var(--dourado-escuro); }
.botao.secundario { border-color: var(--linha); }
.botao.mini { padding: .25rem .6rem; font-size: .8rem; }
input[type=text], input[type=password] {
  font: inherit; padding: .55rem .8rem; border: 1px solid var(--linha);
  border-radius: 4px; background: var(--branco); width: 100%;
}

/* avisos */
.aviso { padding: .6rem .9rem; border-radius: 4px; margin: 0 0 1rem; background: #eef2f7; border: 1px solid #d3dce8; }
.aviso.error, .erro { background: #faeceb; border: 1px solid #e6c7c4; color: var(--erro); }
.aviso.alerta { background: #fdf6e3; border: 1px solid #eadfa9; }
.falha { color: var(--erro); }
.vazio { color: var(--cinza); }

/* login */
.login-caixa {
  max-width: 380px; margin: 8vh auto 0; background: var(--branco);
  border: 1px solid var(--linha); border-top: 3px solid var(--dourado);
  border-radius: 6px; padding: 2rem; text-align: center;
  display: flex; flex-direction: column; gap: .9rem;
}
.login-caixa img { max-width: 240px; margin: 0 auto; }
.login-sistema { margin: 0; color: var(--cinza); font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.login-caixa form { display: flex; flex-direction: column; gap: .7rem; }
.google-entrar { justify-content: center; }
.login-caixa .erro { padding: .5rem .8rem; border-radius: 4px; font-size: .9rem; }

/* busca */
.busca-caixa { text-align: center; margin-top: 3vh; }
.busca-caixa h1 { font-weight: normal; letter-spacing: .02em; }
.busca-form { display: flex; gap: .6rem; max-width: 560px; margin: 0 auto; }
.busca-form input { font-size: 1.05rem; text-align: center; }
.uso { color: var(--cinza); font-size: .9rem; }

/* tabelas */
table { border-collapse: collapse; width: 100%; background: var(--branco); font-size: .92rem; }
th, td { border: 1px solid var(--linha); padding: .45rem .7rem; text-align: left; vertical-align: top; }
th { background: #efece5; font-weight: 600; }
.tabela-rolagem { overflow-x: auto; }
.historico { margin-top: 2.5rem; }
.historico h2, .ficha-secao h2 { font-size: 1.05rem; letter-spacing: .05em; }

/* resultado */
.resultado-cabecalho { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; flex-wrap: wrap; }
.resultado-cabecalho h1 { margin: 0 0 .2rem; font-weight: normal; }
.subtitulo { margin: 0; font-size: 1.05rem; }
.meta { color: var(--cinza); font-size: .85rem; }
.acoes { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.ficha-secao { background: var(--branco); border: 1px solid var(--linha); border-radius: 6px; padding: 1rem 1.3rem; margin: 1rem 0; }
.ficha-secao h2 { margin: 0 0 .6rem; border-bottom: 1px solid var(--linha); padding-bottom: .4rem; }
.ficha-secao dl { margin: 0; }
.ficha-secao dl div { display: flex; gap: .6rem; padding: .18rem 0; }
.ficha-secao dt { min-width: 220px; color: var(--cinza); }
.ficha-secao dd { margin: 0; }

/* rodapé */
footer { text-align: center; color: var(--cinza); font-size: .8rem; padding: 1.2rem 0 1.6rem; }
footer .losangos { display: block; color: var(--dourado); letter-spacing: .3em; margin-bottom: .3rem; }

@media (max-width: 640px) {
  .topo { flex-wrap: wrap; gap: .6rem; }
  .busca-form { flex-direction: column; }
  .ficha-secao dt { min-width: 140px; }
}
