/**
 * @file
 * A barra fixa do canto: recolher, atalhos do registro financeiro, trocar
 * relatório, voltar, imprimir e voltar ao topo.
 *
 * Desde 13/10/2026 os botões seguem o molde do "Notificações" e do "Sair" do
 * cabeçalho: fundo no azul-escuro do menu principal (#1b2b32, o mesmo da
 * borda), texto branco e o ícone numa moldura própria, branca. O botão de
 * recolher é mais fino e leva só um triângulo discreto. O desenho antigo
 * (quadrados de 70px) continua no tema; os seletores com o id valem por cima
 * dele.
 */
@media screen {
  /* A barra é uma faixa da largura da tela, colada no pé, com fundo branco em
     degradê: sólido embaixo e transparente em cima, para o que passa por trás
     (os blocos do painel, as tabelas, o texto) ir esmaecendo até sumir sob os
     botões. O respiro é de 50px dos lados e embaixo, e de 150px em cima, para
     o esmaecer começar mais alto. Os botões encostam à direita e quebram em
     duas linhas em tela menor. O vazio da faixa não pega clique: o que
     aparece através dela continua clicável. */
  #bloco-voltar-topo.bloco-voltar-topo {
    left: 0;
    right: 0;
    bottom: 0;
    padding: 150px 50px 50px;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 2px;
    background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.85) 45%,
      #fff 100%);
    pointer-events: none;
  }

  #bloco-voltar-topo.bloco-voltar-topo a,
  #bloco-voltar-topo.bloco-voltar-topo button {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    height: 56px;
    margin: 0;
    padding: 0 18px 0 11px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    color: #fff;
    background-color: #1b2b32;
    border: 1px solid #1b2b32;
    border-radius: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    transform: none;
    cursor: pointer;
  }

  /* Foco só pelo teclado (:focus-visible): com :focus, o botão clicado ficava
     com a cor do hover até se clicar em outro lugar. */
  #bloco-voltar-topo.bloco-voltar-topo a:hover,
  #bloco-voltar-topo.bloco-voltar-topo a:focus-visible,
  #bloco-voltar-topo.bloco-voltar-topo button:hover,
  #bloco-voltar-topo.bloco-voltar-topo button:focus-visible {
    color: #fff;
    background-color: #304e5b;
    text-decoration: none;
    transform: none;
  }
  #bloco-voltar-topo.bloco-voltar-topo a:focus,
  #bloco-voltar-topo.bloco-voltar-topo button:focus {
    outline: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  }
  #bloco-voltar-topo.bloco-voltar-topo a:focus-visible,
  #bloco-voltar-topo.bloco-voltar-topo button:focus-visible {
    outline: 2px solid #7d97a2;
    outline-offset: -4px;
  }
  /* O de recolher não muda de fundo nem ao passar o mouse: só o triângulo
     clareia. */
  #bloco-voltar-topo.bloco-voltar-topo button.pmr-barra-recolher:hover,
  #bloco-voltar-topo.bloco-voltar-topo button.pmr-barra-recolher:focus-visible {
    background-color: #1b2b32;
  }

  /* A moldura do ícone. */
  #bloco-voltar-topo .pmr-barra-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border: 1px solid #1b2b32;
    border-radius: 0;
    background-color: #fff;
    color: #1b2b32;
  }
  #bloco-voltar-topo .pmr-barra-ico svg,
  #bloco-voltar-topo .pmr-barra-ico i {
    font-size: 15px;
  }

  /* Recolhida: só os ícones, em botões quadrados, e o botão de recolher vira
     o de abrir. A passagem é um deslize: o nome encolhe até sumir (e cresce
     de volta) junto com o vão e o respiro do botão, e como a barra encosta à
     direita os botões deslizam para lá. */
  #bloco-voltar-topo.bloco-voltar-topo a {
    transition: padding 0.35s ease, gap 0.35s ease, background-color 0.2s ease;
  }
  #bloco-voltar-topo .pmr-barra-atalho .pmr-barra-texto,
  #bloco-voltar-topo .btn-voltar .pmr-barra-texto,
  #bloco-voltar-topo .btn-imprimir .pmr-barra-texto {
    display: inline-block;
    max-width: 260px;
    overflow: hidden;
    opacity: 1;
    transition: max-width 0.35s ease, opacity 0.25s ease;
  }
  #bloco-voltar-topo.bloco-voltar-topo.pmr-barra-recolhida a {
    gap: 0;
    padding: 0 11px;
  }
  #bloco-voltar-topo.pmr-barra-recolhida a .pmr-barra-texto {
    max-width: 0;
    opacity: 0;
  }
  /* Ao abrir a página já recolhida, nada desliza: ela chega pronta. */
  #bloco-voltar-topo.pmr-barra-parada a,
  #bloco-voltar-topo.pmr-barra-parada .pmr-barra-texto {
    transition: none !important;
  }
  /* O de recolher é mais fino que os outros: ele mexe na barra, não leva a
     lugar nenhum, e a diferença de largura deixa isso à vista. Mesmo fundo
     dos outros; 28px de largura e 3px até o botão vizinho (os 2px da fileira
     + 1). A seta é a dupla (») do Font Awesome, branca, sem moldura. */
  #bloco-voltar-topo.bloco-voltar-topo button.pmr-barra-recolher {
    margin-right: 1px;
    padding: 0 6px;
  }
  #bloco-voltar-topo .pmr-barra-recolher .pmr-barra-ico {
    width: 14px;
    border: 0;
    background: transparent;
    color: #fff;
  }
  #bloco-voltar-topo .pmr-barra-recolher .pmr-barra-ico svg,
  #bloco-voltar-topo .pmr-barra-recolher .pmr-barra-ico i {
    font-size: 14px;
  }
  #bloco-voltar-topo .pmr-barra-recolher .pmr-barra-texto,
  #bloco-voltar-topo .btn-topo .pmr-barra-texto {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  /* As pontas da fileira levemente arredondadas: à esquerda o de recolher, à
     direita o último botão — o Voltar, ou o Topo enquanto ele aparece (aí o
     Voltar volta a ser quadrado). O Voltar é o vizinho do Imprimir: o Trocar
     relatório também leva a classe btn-voltar. */
  #bloco-voltar-topo.bloco-voltar-topo button.pmr-barra-recolher {
    border-radius: 6px 0 0 6px;
  }
  #bloco-voltar-topo.bloco-voltar-topo .btn-imprimir + a.btn-voltar,
  #bloco-voltar-topo.bloco-voltar-topo a.btn-topo {
    border-radius: 0 6px 6px 0;
  }
  #bloco-voltar-topo.bloco-voltar-topo .btn-imprimir + a.btn-voltar {
    transition: padding 0.35s ease, gap 0.35s ease, background-color 0.2s ease,
      border-radius 0.35s ease;
  }
  #bloco-voltar-topo.bloco-voltar-topo:has(a.btn-topo.pmr-topo-visivel) .btn-imprimir + a.btn-voltar {
    border-radius: 0;
  }

  #bloco-voltar-topo .pmr-ico-abrir,
  #bloco-voltar-topo.pmr-barra-recolhida .pmr-ico-recolher {
    display: none;
  }
  #bloco-voltar-topo.pmr-barra-recolhida .pmr-ico-abrir {
    display: inline-flex;
  }

  /* O "Topo" fica na fileira, no fim, e é só a seta (o nome vai para o leitor
     de tela e o título). Ele aparece quando a página desce abrindo da largura
     zero até a dele e clareando, e os vizinhos lhe abrem espaço aos poucos;
     some do mesmo jeito. Fechado, nem o vão de 2px antes dele sobra. */
  #bloco-voltar-topo.bloco-voltar-topo a.btn-topo {
    display: flex;
    gap: 0;
    max-width: 0;
    margin-left: -2px;
    padding: 0;
    border-width: 0;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: max-width 0.35s ease, margin 0.35s ease, padding 0.35s ease,
      border-width 0.35s ease, opacity 0.3s ease, background-color 0.2s ease;
  }
  #bloco-voltar-topo.bloco-voltar-topo a.btn-topo.pmr-topo-visivel {
    max-width: 60px;
    margin-left: 0;
    padding: 0 11px;
    border-width: 1px;
    opacity: 1;
    pointer-events: auto;
  }

  /* O rodapé, onde a barra assenta: era uma faixa preta (do tema), vazia para a
     equipe. Fica branco. O `body` na frente é para valer sobre o tema, que
     carrega depois. */
  body .site-footer {
    background: #fff;
  }

  /* O fim da página não fica escondido atrás da barra. */
  body:has(#bloco-voltar-topo) {
    padding-bottom: 246px;
  }

  /* Os botões das páginas de "registro salvo / alterado / excluído" (dois nós
     e uma view, no banco) deram lugar aos atalhos da barra. O `body` na
     frente é para valer sobre o tema, que carrega depois. */
  body .bts-redirecionamento {
    display: none;
  }
}

/* Em celular a barra já é só de ícones, e o botão de recolher sai. O nome
   continua lá para o leitor de tela e no título do botão. Botões e respiro
   menores, para os sete caberem numa linha. */
@media screen and (max-width: 767px) {
  #bloco-voltar-topo.bloco-voltar-topo {
    padding: 16px;
    gap: 2px;
  }
  body:has(#bloco-voltar-topo) {
    padding-bottom: 80px;
  }
  #bloco-voltar-topo.bloco-voltar-topo a {
    height: 44px;
    padding: 0 7px;
  }
  #bloco-voltar-topo.bloco-voltar-topo a.btn-topo.pmr-topo-visivel {
    padding: 0 7px;
  }
  #bloco-voltar-topo .pmr-barra-ico {
    width: 28px;
    height: 28px;
  }
  #bloco-voltar-topo.bloco-voltar-topo .pmr-barra-recolher {
    display: none;
  }
  /* Sem o de recolher, o arredondado da esquerda passa ao vizinho dele. */
  #bloco-voltar-topo.bloco-voltar-topo .pmr-barra-recolher + a {
    border-radius: 6px 0 0 6px;
  }
  #bloco-voltar-topo .pmr-barra-texto {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

/* Quem pediu ao sistema para reduzir animações vê a troca direto. */
@media (prefers-reduced-motion: reduce) {
  #bloco-voltar-topo a,
  #bloco-voltar-topo .pmr-barra-texto {
    transition: none !important;
  }
}

/* A barra não sai no papel. Na impressão o navegador tirava o fundo escuro dos
   botões mas deixava a sombra e o contorno, e os quadrados vazios apareciam
   por cima dos relatórios (13/10/2026). */
@media print {
  .bloco-voltar-topo,
  .btn-topo {
    display: none !important;
  }
}
