@charset "UTF-8";
/*
 * O VISUAL DO PORTAL NOVO (transparencia-web) sobre as telas do legado.
 *
 * A paleta e a forma são as do site www.mppb.mp.br, as mesmas de
 * transparencia-web/src/assets/theme.css: letra Lato, fundo cinza-claro,
 * cabeçalho branco, menu em versalete com o item ativo sublinhado de
 * vinho, faixa grafite com o título, blocos brancos retos e rodapé
 * grafite. Mudança de paleta se faz nos dois arquivos.
 *
 * Carregada pelo templatepainel.jsp DEPOIS das folhas do SmartAdmin,
 * para sobrepor só o desenho: nenhuma tela muda de comportamento.
 * O contraste (botão do topo) é a classe html.portal-contraste.
 */

/* ═══════════════════════════════════════ 1. a paleta */
:root {
  --cor-primaria: #8b0000;
  --cor-primaria-hover: #6d0000;
  --cor-primaria-tenue: #fbf3f3;
  --cor-botao: #8b1824;
  --cor-botao-hover: #6d1019;
  --cor-fundo-pagina: #f2f3f5;
  --cor-superficie: #ffffff;
  --cor-cabecalho: #ffffff;
  --cor-borda: #eaeaea;
  --cor-campo-borda: #cfd4da;
  --texto-principal: #333333;
  --texto-mutado: #696969;
  --texto-menu: #0f0f0f;
  --faixa-fundo: #36393e;
  --faixa-texto: #ffffff;
  --rodape-fundo: #36393e;
  --rodape-texto: #ffffff;
  --rodape-base-fundo: #f2f3f5;
  --rodape-base-texto: #4a4a4a;
  --tabela-cabecalho-fundo: #f7f7f8;
  --tabela-linha-borda: #eaeaea;
  --tabela-linha-hover: #fbf3f3;
  --tabela-listra: #fcfcfd;
  --fonte-texto: 'Lato', 'Helvetica Neue', Arial, sans-serif;
}

html.portal-contraste {
  --cor-primaria: #e06c6c;
  --cor-primaria-hover: #ec8a8a;
  --cor-primaria-tenue: #2a1c1c;
  --cor-botao: #a83341;
  --cor-botao-hover: #c04454;
  --cor-fundo-pagina: #141618;
  --cor-superficie: #1e2125;
  --cor-cabecalho: #1a1d20;
  --cor-borda: #33383e;
  --cor-campo-borda: #4a5058;
  --texto-principal: #e9ecef;
  --texto-mutado: #a4abb3;
  --texto-menu: #f1f3f5;
  --faixa-fundo: #0f1113;
  --rodape-fundo: #0f1113;
  --rodape-texto: #e9ecef;
  --rodape-base-fundo: #141618;
  --rodape-base-texto: #c5cad0;
  --tabela-cabecalho-fundo: #24282d;
  --tabela-linha-borda: #33383e;
  --tabela-linha-hover: #2a2e33;
  --tabela-listra: #212428;
}

/* ═══════════════════════════════════════ 2. a página */
html,
body,
body.fixed-page-footer {
  background: var(--cor-fundo-pagina) !important;
  background-image: none !important;
  color: var(--texto-principal);
  font-family: var(--fonte-texto) !important;
  min-height: 100%;
}
body.fixed-page-footer {
  padding-bottom: 0 !important;
}
body,
body .btn,
body .form-control,
body select,
body input,
body h1,
body h2,
body h3,
body h4,
body h5,
body .table,
body .select2-container .select2-choice {
  font-family: var(--fonte-texto) !important;
}

.portal-faixa-interna {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 16px;
}

/* O conteúdo ocupa a largura toda: as consultas têm dezenas de colunas (como as "páginas largas" do novo). */
.portal-conteudo {
  display: flow-root; /* as colunas do Bootstrap flutuam: sem isto o rodapé subia por trás delas */
  padding: 24px 16px 32px;
  min-height: 50vh;
}
.portal-conteudo #content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none;
}

/* Saem o cabeçalho com o brasão e o rodapé que cada tela desenhava por conta própria. */
.portal-conteudo #content > .row:has(> div > h1.page-title),
.portal-conteudo h1.page-title,
.page-footer {
  display: none !important;
}

a {
  color: var(--cor-primaria);
}
a:hover,
a:focus {
  color: var(--cor-primaria-hover);
}

/* O link "Ir para o conteúdo", só visível no foco do teclado. */
.portal-pular {
  position: absolute;
  left: -9999px;
}
.portal-pular:focus {
  position: fixed;
  left: 8px;
  top: 8px;
  z-index: 10001;
  background: var(--cor-superficie);
  color: var(--cor-primaria);
  border: 1px solid var(--cor-primaria);
  padding: 8px 12px;
}

/* ═══════════════════════════════════════ 3. o cabeçalho */
.portal-cabecalho {
  background: var(--cor-cabecalho);
  border-bottom: 1px solid var(--cor-borda);
}
.portal-cabecalho__linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 12px;
  padding-bottom: 12px;
}
.portal-marca {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: inherit;
}
.portal-marca__logo {
  height: 56px;
  width: auto;
}
.portal-marca__logo--escuro,
html.portal-contraste .portal-marca__logo--claro {
  display: none;
}
html.portal-contraste .portal-marca__logo--escuro {
  display: inline;
}
.portal-marca__texto {
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--cor-borda);
  padding-left: 12px;
  line-height: 1.2;
}
.portal-marca__nome {
  font-size: 17px;
  font-weight: 700;
  color: var(--cor-primaria);
  letter-spacing: 0.3px;
}
.portal-marca__orgao {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--texto-mutado);
}
.portal-acessibilidade {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--texto-mutado);
  font-size: 12px;
}
.portal-acessibilidade a {
  color: var(--texto-mutado);
  text-decoration: none;
}
.portal-acessibilidade a:hover {
  color: var(--cor-primaria);
}
.portal-icone {
  background: none;
  border: 0;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  color: var(--texto-mutado);
  font-size: 15px;
  cursor: pointer;
}
.portal-icone:hover,
.portal-icone:focus-visible,
.portal-icone[aria-pressed='true'] {
  background: var(--cor-primaria-tenue);
  color: var(--cor-primaria);
}
.portal-icone:disabled {
  opacity: 0.35;
  cursor: default;
}

/* ═══════════════════════════════════════ 4. o menu */
.portal-menu {
  background: var(--cor-cabecalho);
  border-bottom: 1px solid var(--cor-borda);
  position: relative;
  z-index: 1000;
}
.portal-menu__grupos {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.portal-grupo {
  position: relative;
}
.portal-grupo__titulo {
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--texto-menu);
  cursor: pointer;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 1px;
  padding: 16px 10px 13px;
  text-transform: uppercase;
  white-space: nowrap;
}
.portal-grupo__titulo .fa {
  margin-left: 4px;
}
.portal-grupo:hover > .portal-grupo__titulo,
.portal-grupo.aberto > .portal-grupo__titulo,
.portal-grupo.ativo > .portal-grupo__titulo {
  border-bottom-color: var(--cor-primaria);
}
.portal-submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 320px;
  max-width: 460px;
  max-height: 70vh;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 6px 0;
  background: var(--cor-superficie);
  border: 1px solid var(--cor-borda);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.14);
}
.portal-submenu--direita {
  left: auto;
  right: 0;
}
.portal-grupo:hover > .portal-submenu,
.portal-grupo.aberto > .portal-submenu {
  display: block;
}
.portal-submenu a {
  display: block;
  padding: 8px 16px;
  color: var(--texto-principal);
  font-size: 13.5px;
  line-height: 1.35;
  text-decoration: none;
}
.portal-submenu a:hover,
.portal-submenu a:focus {
  background: var(--cor-primaria-tenue);
  color: var(--cor-primaria);
}
.portal-submenu a.ativo {
  color: var(--cor-primaria);
  font-weight: 700;
  border-left: 3px solid var(--cor-primaria);
  padding-left: 13px;
}
.portal-menu__abrir {
  display: none;
  background: none;
  border: 0;
  color: var(--texto-menu);
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 14px 4px;
}

/* No celular o menu vira uma lista que abre pelo botão "Consultas". */
@media (max-width: 991px) {
  .portal-menu__abrir {
    display: inline-block;
  }
  .portal-menu__grupos {
    display: none;
    flex-direction: column;
    padding-bottom: 8px;
  }
  .portal-menu.aberto .portal-menu__grupos {
    display: flex;
  }
  .portal-grupo__titulo {
    width: 100%;
    text-align: left;
    padding: 12px 4px;
  }
  .portal-grupo:hover > .portal-submenu {
    display: none;
  }
  .portal-grupo.aberto > .portal-submenu {
    display: block;
    position: static;
    max-width: none;
    box-shadow: none;
    border: 0;
    border-left: 2px solid var(--cor-borda);
    margin-left: 6px;
  }
  .portal-acessibilidade {
    flex-wrap: wrap;
  }
}

/* ═══════════════════════════════════════ 5. a faixa de título */
.portal-faixa {
  background: var(--faixa-fundo);
  color: var(--faixa-texto);
  padding: 20px 0;
}
.portal-faixa h1 {
  color: var(--faixa-texto);
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 0.2px;
  line-height: 1.2;
  margin: 0;
}
.portal-trilha {
  font-size: 12px;
  margin-top: 4px;
  opacity: 0.85;
}
.portal-trilha a {
  color: inherit;
  text-decoration: underline;
}

/* ═══════════════════════════════════════ 6. o título da tela e os filtros (o .well) */
.portal-conteudo .well {
  background: var(--cor-superficie) !important;
  border: 1px solid var(--cor-borda) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--texto-principal);
  margin-bottom: 20px;
  padding: 18px 20px;
}
/* "PORTAL DA TRANSPARÊNCIA" pequeno e espaçado; o nome da consulta em vinho, como no novo. */
.portal-conteudo .well h4 {
  margin: 0 0 14px;
  line-height: 1.3;
}
.portal-conteudo .well h4 > .semi-bold:not(.text-danger) {
  color: var(--texto-mutado);
  font-size: 12px;
  letter-spacing: 2px;
}
.portal-conteudo .well h4 > .semi-bold:not(.text-danger) b {
  font-weight: 700;
}
.portal-conteudo .text-danger {
  color: var(--cor-primaria) !important;
}
.portal-conteudo .well h4 > .text-danger {
  font-size: 19px;
  letter-spacing: 0.5px;
}

/* Os rótulos dos filtros ("GESTORAS::", "EXERCÍCIO::"…): versalete pequeno e cinza. */
.portal-conteudo .well label,
.portal-conteudo .smart-form .label,
.portal-conteudo .well section > b,
.portal-conteudo .well .semi-bold:not(.text-danger) > b {
  color: var(--texto-mutado);
}
.portal-conteudo .smart-form .label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.8px;
}

/* ═══════════════════════════════════════ 7. os campos */
.portal-conteudo .form-control,
.portal-conteudo select,
.portal-conteudo input[type='text'],
.portal-conteudo input[type='search'],
.portal-conteudo .smart-form .input input,
.portal-conteudo .smart-form .select select,
.portal-conteudo .smart-form .textarea textarea {
  background-color: var(--cor-superficie);
  border: 1px solid var(--cor-campo-borda) !important;
  border-radius: 4px !important;
  color: var(--texto-principal);
  box-shadow: none !important;
  min-height: 34px;
}
.portal-conteudo .form-control:focus,
.portal-conteudo select:focus,
.portal-conteudo input:focus,
.portal-conteudo .smart-form .input input:focus,
.portal-conteudo .smart-form .select select:focus {
  border-color: var(--cor-primaria) !important;
  outline: 0;
  box-shadow: 0 0 0 2px var(--cor-primaria-tenue) !important;
}
.portal-conteudo .smart-form .select i {
  display: none;
}
.portal-conteudo .select2-container .select2-choice,
.portal-conteudo .select2-container-multi .select2-choices {
  background: var(--cor-superficie) !important;
  border: 1px solid var(--cor-campo-borda) !important;
  border-radius: 4px !important;
  color: var(--texto-principal);
}
.portal-conteudo .select2-container .select2-choice .select2-arrow {
  background: none !important;
  border-left: 0 !important;
}
.select2-drop {
  border-color: var(--cor-primaria) !important;
}
.select2-results .select2-highlighted {
  background: var(--cor-primaria) !important;
  color: #fff !important;
}
.portal-conteudo .input-group-addon {
  background: var(--tabela-cabecalho-fundo);
  border-color: var(--cor-campo-borda);
  color: var(--texto-mutado);
}

/* ═══════════════════════════════════════ 8. os botões */
.portal-conteudo .btn {
  border-radius: 3px !important;
  box-shadow: none !important;
  font-size: 13px;
  letter-spacing: 0.4px;
  padding: 7px 16px;
  text-transform: none;
}
.portal-conteudo .btn-xs {
  padding: 3px 8px;
  font-size: 12px;
}
.portal-conteudo .btn-primary,
.portal-conteudo .btn-success,
.portal-conteudo .btn-info {
  background: var(--cor-botao) !important;
  border: 1px solid var(--cor-botao) !important;
  color: #fff !important;
}
.portal-conteudo .btn-primary:hover,
.portal-conteudo .btn-success:hover,
.portal-conteudo .btn-info:hover,
.portal-conteudo .btn-primary:focus,
.portal-conteudo .btn-success:focus,
.portal-conteudo .btn-info:focus {
  background: var(--cor-botao-hover) !important;
  border-color: var(--cor-botao-hover) !important;
}
.portal-conteudo .btn-default,
.portal-conteudo .btn-error,
.portal-conteudo .btn-warning {
  background: var(--cor-superficie) !important;
  border: 1px solid var(--cor-botao) !important;
  color: var(--cor-botao) !important;
}
.portal-conteudo .btn-default:hover,
.portal-conteudo .btn-default:focus,
.portal-conteudo .btn-error:hover,
.portal-conteudo .btn-warning:hover {
  background: var(--cor-primaria-tenue) !important;
}
html.portal-contraste .portal-conteudo .btn-default,
html.portal-contraste .portal-conteudo .btn-error,
html.portal-contraste .portal-conteudo .btn-warning {
  color: var(--cor-primaria) !important;
  border-color: var(--cor-primaria) !important;
}

/* ═══════════════════════════════════════ 9. os blocos (jarviswidget) */
.portal-conteudo .jarviswidget {
  background: var(--cor-superficie);
  border: 1px solid var(--cor-borda) !important;
  box-shadow: none !important;
  margin-bottom: 20px !important;
}
.portal-conteudo .jarviswidget > header,
.portal-conteudo .jarviswidget-color-blueDark > header,
.portal-conteudo .jarviswidget-color-darken > header {
  background: var(--cor-superficie) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--cor-borda) !important;
  color: var(--texto-principal) !important;
  height: auto !important;
  min-height: 46px;
}
.portal-conteudo .jarviswidget > header h2 {
  color: var(--texto-principal) !important;
  font-size: 13px !important;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 46px !important;
  height: auto !important;
  text-transform: uppercase;
  margin-left: 18px !important;
}
.portal-conteudo .jarviswidget > header h2 b {
  font-weight: 700;
}
.portal-conteudo .jarviswidget > header .widget-icon {
  display: none;
}
.portal-conteudo .jarviswidget > header .jarviswidget-ctrls,
.portal-conteudo .jarviswidget .jarviswidget-editbox {
  display: none !important;
}
.portal-conteudo .jarviswidget > div {
  background: var(--cor-superficie) !important;
  border: 0 !important;
  color: var(--texto-principal);
  padding: 14px 16px !important;
}
.portal-conteudo .jarviswidget > div > .widget-body,
.portal-conteudo .widget-body {
  background: transparent !important;
}
.portal-conteudo .jarviswidget .widget-body.no-padding {
  margin: 0 !important;
}

/* As abas do cabeçalho do bloco (NOTAS DE EMPENHO | CONSOLIDAÇÕES…): sublinhado de vinho na ativa. */
.portal-conteudo .jarviswidget > header > .nav-tabs {
  border: 0 !important;
}
.portal-conteudo .jarviswidget > header > .nav-tabs > li > a {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 0 !important;
  color: var(--texto-mutado) !important;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  box-shadow: none !important;
  margin-top: 0 !important;
  padding: 13px 14px 10px !important;
}
.portal-conteudo .jarviswidget > header > .nav-tabs > li.active > a,
.portal-conteudo .jarviswidget > header > .nav-tabs > li > a:hover {
  border-bottom-color: var(--cor-primaria) !important;
  color: var(--texto-principal) !important;
}
.portal-conteudo .nav-tabs > li.active > a {
  border-top-color: var(--cor-primaria);
}

/* ═══════════════════════════════════════ 10. as tabelas */
.portal-conteudo .table {
  background: var(--cor-superficie);
  color: var(--texto-principal);
  font-size: 13px;
  margin-bottom: 0;
}
.portal-conteudo .table-bordered,
.portal-conteudo .table-bordered > thead > tr > th,
.portal-conteudo .table-bordered > tbody > tr > td,
.portal-conteudo .table-bordered > tfoot > tr > td,
.portal-conteudo .table-bordered > tfoot > tr > th {
  border-color: var(--tabela-linha-borda) !important;
}
.portal-conteudo .table-bordered {
  border-left: 0 !important;
  border-right: 0 !important;
}
.portal-conteudo .table-bordered > thead > tr > th,
.portal-conteudo .table-bordered > tbody > tr > td {
  border-left: 0 !important;
  border-right: 0 !important;
}
.portal-conteudo .table > thead > tr > th,
.portal-conteudo .table > thead > tr > td {
  background: var(--tabela-cabecalho-fundo) !important;
  background-image: none !important;
  border-bottom: 2px solid var(--cor-primaria) !important;
  color: var(--texto-principal) !important;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  vertical-align: bottom;
}
.portal-conteudo .table > tbody > tr > td {
  vertical-align: middle;
}
.portal-conteudo .table-striped > tbody > tr:nth-of-type(odd) {
  background: var(--tabela-listra);
}
.portal-conteudo .table > tbody > tr:hover > td {
  background: var(--tabela-linha-hover);
}
.portal-conteudo .table > tfoot > tr > td,
.portal-conteudo .table > tfoot > tr > th {
  background: var(--tabela-cabecalho-fundo);
  border-top: 2px solid var(--cor-borda) !important;
  font-weight: 700;
}
.portal-conteudo .table a {
  color: var(--cor-primaria);
  font-weight: 600;
}
.portal-conteudo .table-responsive {
  border: 0 !important;
}

/* O DataTables: a pesquisa e a combo de linhas em cima, a contagem e a paginação embaixo. */
.portal-conteudo .dt-toolbar,
.portal-conteudo .dt-toolbar-footer {
  background: transparent !important;
  border: 0 !important;
  padding: 8px 0 !important;
}
.portal-conteudo .dt-toolbar-footer {
  border-top: 1px solid var(--tabela-linha-borda) !important;
  margin-top: 0;
}
.portal-conteudo .dataTables_info,
.portal-conteudo .dataTables_info * {
  color: var(--texto-mutado) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}
.portal-conteudo .pagination > li > a,
.portal-conteudo .pagination > li > span {
  background: var(--cor-superficie);
  border-color: var(--cor-borda);
  color: var(--texto-principal);
}
.portal-conteudo .pagination > .active > a,
.portal-conteudo .pagination > .active > span,
.portal-conteudo .pagination > .active > a:hover {
  background: var(--cor-primaria) !important;
  border-color: var(--cor-primaria) !important;
  color: #fff !important;
}
.portal-conteudo .pagination > li > a:hover {
  background: var(--cor-primaria-tenue);
  color: var(--cor-primaria);
}
.portal-conteudo .dataTables_filter .input-group-addon {
  border-radius: 4px 0 0 4px !important;
}
.portal-conteudo .dataTables_filter input {
  border-radius: 0 4px 4px 0 !important;
}
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
  opacity: 0.5;
}

/* Os avisos e os modais. */
.portal-conteudo .alert {
  border-radius: 0;
  border-width: 0 0 0 4px;
}
.modal-content {
  border-radius: 4px;
  border: 1px solid var(--cor-borda);
  font-family: var(--fonte-texto);
}
.modal-header {
  border-bottom: 2px solid var(--cor-primaria);
}

/* ═══════════════════════════════════════ 11. o rodapé */
.portal-rodape {
  background: var(--rodape-fundo);
  color: var(--rodape-texto);
  font-size: 13px;
}
.portal-rodape a {
  color: inherit;
  text-decoration: underline;
}
.portal-rodape__blocos {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  padding-top: 24px;
  padding-bottom: 24px;
}
.portal-rodape__bloco {
  flex: 1 1 260px;
  line-height: 1.6;
}
.portal-rodape__titulo {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.portal-rodape__base {
  background: var(--rodape-base-fundo);
  color: var(--rodape-base-texto);
  font-size: 12px;
}
.portal-rodape__linha {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 12px;
  padding-bottom: 12px;
}

/* ═══════════════════════════════════════ 12. o contraste nas peças do SmartAdmin */
html.portal-contraste .portal-conteudo,
html.portal-contraste .portal-conteudo .table,
html.portal-contraste .portal-conteudo td,
html.portal-contraste .portal-conteudo th,
html.portal-contraste .portal-conteudo label,
html.portal-contraste .portal-conteudo .smart-form .label {
  color: var(--texto-principal) !important;
}
html.portal-contraste .portal-conteudo .table > tbody > tr > td {
  background: var(--cor-superficie);
}
html.portal-contraste .portal-conteudo .table > tbody > tr:hover > td {
  background: var(--tabela-linha-hover);
}
html.portal-contraste .portal-conteudo .smart-form,
html.portal-contraste .portal-conteudo .smart-form fieldset,
html.portal-contraste .portal-conteudo .smart-form footer {
  background: transparent !important;
  color: var(--texto-principal);
}
html.portal-contraste .portal-conteudo .select2-chosen,
html.portal-contraste .select2-drop,
html.portal-contraste .select2-results li {
  background: var(--cor-superficie);
  color: var(--texto-principal);
}
html.portal-contraste .modal-content {
  background: var(--cor-superficie);
  color: var(--texto-principal);
}

/* ═══════════════════════════════════════ 13. a impressão */
@media print {
  .portal-cabecalho,
  .portal-menu,
  .portal-rodape,
  .portal-pular {
    display: none !important;
  }
  .portal-faixa {
    background: none;
    color: #000;
    padding: 0 0 8px;
  }
  .portal-faixa h1 {
    color: #000;
  }
}
