/* IMPERIAL_PWA_GLOBAL_CSS_V1 */

:root {
  --imperial-pwa-azul: #0b3b6e;
  --imperial-pwa-laranja: #f27405;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  padding-bottom:
    env(safe-area-inset-bottom);
}

button,
a,
input,
select,
textarea {
  touch-action: manipulation;
}

.pwa-instalar {
  position: fixed;
  right: 18px;
  bottom:
    max(
      18px,
      calc(
        18px +
        env(safe-area-inset-bottom)
      )
    );
  z-index: 9997;
  display: none;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 11px 16px;
  color: #ffffff;
  background:
    linear-gradient(
      145deg,
      var(--imperial-pwa-laranja),
      #e85d04
    );
  border: 0;
  border-radius: 999px;
  box-shadow:
    0 12px 30px
    rgba(242, 116, 5, 0.3);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.pwa-instalar.visivel {
  display: inline-flex;
}

.pwa-atualizacao {
  position: fixed;
  left: 50%;
  bottom:
    max(
      18px,
      calc(
        18px +
        env(safe-area-inset-bottom)
      )
    );
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: min(
    calc(100% - 28px),
    520px
  );
  padding: 13px 15px;
  color: #ffffff;
  background: #102a43;
  border-radius: 14px;
  box-shadow:
    0 18px 45px
    rgba(16, 42, 67, 0.3);
  transform: translateX(-50%);
}

.pwa-atualizacao.visivel {
  display: flex;
}

.pwa-atualizacao span {
  font-size: 13px;
  font-weight: 750;
}

.pwa-atualizacao button {
  min-height: 38px;
  padding: 8px 12px;
  color: #ffffff;
  background: var(--imperial-pwa-laranja);
  border: 0;
  border-radius: 9px;
  font-weight: 850;
  white-space: nowrap;
  cursor: pointer;
}

.pwa-conexao {
  position: fixed;
  top:
    max(
      12px,
      env(safe-area-inset-top)
    );
  left: 50%;
  z-index: 10000;
  display: none;
  padding: 9px 14px;
  color: #ffffff;
  background: #b42318;
  border-radius: 999px;
  box-shadow:
    0 8px 24px
    rgba(180, 35, 24, 0.25);
  font-size: 12px;
  font-weight: 850;
  transform: translateX(-50%);
}

.pwa-conexao.visivel {
  display: block;
}

@media (display-mode: standalone) {
  .pwa-instalar {
    display: none !important;
  }
}

@media (max-width: 700px) {
  body {
    overscroll-behavior-y:
      contain;
  }

  input,
  select,
  textarea {
    font-size: 16px;
  }

  .pwa-instalar {
    right: 12px;
    bottom:
      max(
        12px,
        calc(
          12px +
          env(safe-area-inset-bottom)
        )
      );
  }

  .pwa-atualizacao {
    bottom:
      max(
        12px,
        calc(
          12px +
          env(safe-area-inset-bottom)
        )
      );
  }
}

@media print {
  .pwa-instalar,
  .pwa-atualizacao,
  .pwa-conexao {
    display: none !important;
  }
}


/* ==================================================
   IMPERIAL_NAVEGACAO_MOBILE_GLOBAL_V1
================================================== */

.pwa-navegacao-mobile {
  display: none;
}

@media (max-width: 900px) {
  body.pwa-com-navegacao-mobile {
    padding-bottom:
      calc(
        78px +
        env(safe-area-inset-bottom)
      ) !important;
  }

  .pwa-navegacao-mobile {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9000;
    display: grid;
    grid-template-columns:
      repeat(5, minmax(0, 1fr));
    min-height:
      calc(
        66px +
        env(safe-area-inset-bottom)
      );
    padding:
      5px
      5px
      env(safe-area-inset-bottom);
    background:
      rgba(255, 255, 255, 0.97);
    border-top:
      1px solid #dbe5ed;
    box-shadow:
      0 -8px 28px
      rgba(16, 42, 67, 0.12);
    backdrop-filter:
      blur(14px);
    -webkit-backdrop-filter:
      blur(14px);
  }

  .pwa-nav-item {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    padding: 5px 2px;
    color: #65798c;
    background: transparent;
    border: 0;
    border-radius: 11px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color:
      transparent;
  }

  .pwa-nav-item.ativo {
    color: #0b5fa8;
    background: #eaf4ff;
  }

  .pwa-nav-item.ativo::before {
    position: absolute;
    top: 2px;
    width: 24px;
    height: 3px;
    content: "";
    background: #f27405;
    border-radius: 999px;
  }

  .pwa-nav-icone {
    display: grid;
    min-height: 25px;
    place-items: center;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
  }

  .pwa-nav-item[data-area="financeiro"]
  .pwa-nav-icone {
    font-size: 14px;
  }

  .pwa-instalar {
    bottom:
      calc(
        82px +
        env(safe-area-inset-bottom)
      );
  }

  .pwa-atualizacao {
    bottom:
      calc(
        82px +
        env(safe-area-inset-bottom)
      );
  }
}


/* ==================================================
   DASHBOARD MOBILE PWA
================================================== */

@media (max-width: 900px) {
  .pwa-pagina-dashboard .conteudo {
    width: 100% !important;
    margin-left: 0 !important;
    padding:
      14px
      13px
      24px !important;
  }

  .pwa-pagina-dashboard .topo {
    position: relative;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    gap: 13px;
    margin-bottom: 14px;
    padding:
      17px
      15px !important;
    background: #ffffff;
    border: 1px solid #dfe8ef;
    border-radius: 16px;
  }

  .pwa-pagina-dashboard .topo h1 {
    font-size: 22px;
    line-height: 1.2;
  }

  .pwa-pagina-dashboard
  .topo-acoes {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .pwa-pagina-dashboard
  .filtro-periodo-dashboard {
    width: 100%;
  }

  .pwa-pagina-dashboard
  .filtro-periodo-dashboard select {
    width: 100%;
    min-height: 46px;
    font-size: 16px;
  }

  .pwa-pagina-dashboard
  .datas-personalizadas-dashboard {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .pwa-pagina-dashboard
  .datas-personalizadas-dashboard input {
    width: 100%;
    min-height: 46px;
    font-size: 16px;
  }

  .pwa-pagina-dashboard
  .indicadores-principais {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .pwa-pagina-dashboard
  .indicador-card {
    min-width: 0;
    min-height: 130px;
    padding: 14px !important;
    border-radius: 15px;
  }

  .pwa-pagina-dashboard
  .indicador-card strong {
    overflow-wrap: anywhere;
    font-size: 20px !important;
  }

  .pwa-pagina-dashboard
  .indicadores-financeiros {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .pwa-pagina-dashboard
  .financeiro-card {
    min-width: 0;
    padding: 14px !important;
  }

  .pwa-pagina-dashboard
  .financeiro-card.destaque {
    grid-column: 1 / -1;
  }

  .pwa-pagina-dashboard
  .grade-superior,
  .pwa-pagina-dashboard
  .grade-inferior {
    grid-template-columns:
      1fr !important;
    gap: 13px !important;
  }

  .pwa-pagina-dashboard
  .painel {
    min-width: 0;
    padding: 15px !important;
    border-radius: 15px;
  }

  .pwa-pagina-dashboard
  .painel-cabecalho {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .pwa-pagina-dashboard
  .atalhos-grade {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .pwa-pagina-dashboard
  .atalho {
    min-width: 0;
    min-height: 78px;
    padding: 12px !important;
  }
}

@media (max-width: 520px) {
  .pwa-pagina-dashboard
  .indicadores-principais,
  .pwa-pagina-dashboard
  .indicadores-financeiros {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-dashboard
  .financeiro-card.destaque {
    grid-column: auto;
  }

  .pwa-pagina-dashboard
  .atalhos-grade {
    grid-template-columns: 1fr !important;
  }
}

@media print {
  .pwa-navegacao-mobile {
    display: none !important;
  }

  body.pwa-com-navegacao-mobile {
    padding-bottom: 0 !important;
  }
}


/* ==================================================
   IMPERIAL_FINANCEIRO_MOBILE_PWA_V1
================================================== */

@media (max-width: 900px) {
  .pwa-pagina-financeiro .conteudo-principal,
  .pwa-pagina-financeiro .pagina,
  .pwa-pagina-financeiro .conteudo,
  .pwa-pagina-financeiro main {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  .pwa-pagina-financeiro .conteudo-principal,
  .pwa-pagina-financeiro .conteudo {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .pwa-pagina-financeiro .topo,
  .pwa-pagina-financeiro .topo-pagina,
  .pwa-pagina-financeiro .cabecalho {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .pwa-pagina-financeiro .topo-acoes,
  .pwa-pagina-financeiro .cabecalho-acoes {
    width: 100%;
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .pwa-pagina-financeiro .topo-acoes .botao,
  .pwa-pagina-financeiro .cabecalho-acoes .botao {
    width: 100%;
    min-height: 48px;
  }

  .pwa-pagina-financeiro .cards,
  .pwa-pagina-financeiro .cards-resumo,
  .pwa-pagina-financeiro .resumo,
  .pwa-pagina-financeiro .resumo-financeiro,
  .pwa-pagina-financeiro .indicadores {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .pwa-pagina-financeiro .card,
  .pwa-pagina-financeiro .card-resumo,
  .pwa-pagina-financeiro .indicador {
    min-width: 0;
    padding: 14px !important;
    border-radius: 15px !important;
  }

  .pwa-pagina-financeiro .card strong,
  .pwa-pagina-financeiro .card-resumo strong,
  .pwa-pagina-financeiro .indicador strong {
    overflow-wrap: anywhere;
    font-size: clamp(
      18px,
      5vw,
      24px
    ) !important;
  }

  .pwa-pagina-financeiro .abas,
  .pwa-pagina-financeiro .tabs {
    display: flex !important;
    width: 100%;
    gap: 7px;
    padding-bottom: 5px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pwa-pagina-financeiro .abas::-webkit-scrollbar,
  .pwa-pagina-financeiro .tabs::-webkit-scrollbar {
    display: none;
  }

  .pwa-pagina-financeiro .aba,
  .pwa-pagina-financeiro .tab {
    min-height: 43px;
    flex: 0 0 auto;
    padding: 9px 14px !important;
    white-space: nowrap;
  }

  .pwa-pagina-financeiro .painel,
  .pwa-pagina-financeiro .bloco {
    min-width: 0;
    padding: 14px !important;
    border-radius: 15px !important;
  }

  .pwa-pagina-financeiro .bloco-topo {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 5px !important;
  }

  .pwa-pagina-financeiro .filtros {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100%;
  }

  .pwa-pagina-financeiro .filtros .campo {
    width: 100%;
    min-width: 0;
  }

  .pwa-pagina-financeiro .filtros input,
  .pwa-pagina-financeiro .filtros select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px;
    font-size: 16px;
  }

  .pwa-pagina-financeiro .filtros > .botao {
    width: 100%;
    min-height: 48px;
  }

  .pwa-pagina-financeiro .tabela-container {
    width: 100%;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .pwa-pagina-financeiro .tabela-container table,
  .pwa-pagina-financeiro .tabela-container thead,
  .pwa-pagina-financeiro .tabela-container tbody,
  .pwa-pagina-financeiro .tabela-container tr,
  .pwa-pagina-financeiro .tabela-container td {
    display: block;
    width: 100%;
  }

  .pwa-pagina-financeiro .tabela-container thead {
    display: none;
  }

  .pwa-pagina-financeiro .tabela-container tbody {
    display: grid;
    gap: 12px;
  }

  .pwa-pagina-financeiro .tabela-container tbody tr {
    position: relative;
    overflow: hidden;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #dce6ee;
    border-radius: 16px;
    box-shadow:
      0 7px 20px
      rgba(16, 42, 67, 0.07);
  }

  .pwa-pagina-financeiro .tabela-container tbody td {
    display: grid;
    grid-template-columns:
      minmax(92px, 38%)
      minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-height: 31px;
    padding: 7px 0 !important;
    text-align: right !important;
    border: 0 !important;
    border-bottom:
      1px dashed #e3eaf0 !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td:last-child {
    display: flex;
    grid-template-columns: none;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 12px !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td::before {
    color: #64788b;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.03em;
    text-align: left;
    text-transform: uppercase;
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(1)::before {
    content: "Cliente";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(2)::before {
    content: "Venda";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(3)::before {
    content: "Categoria";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(4)::before {
    content: "Vencimento";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(5)::before {
    content: "Valor";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(6)::before {
    content: "Recebido";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(7)::before {
    content: "Saldo";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(8)::before {
    content: "Status";
  }

  .pwa-pagina-financeiro
  #tabelaReceber
  td:nth-child(9)::before {
    content: none;
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(1)::before {
    content: "Fornecedor";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(2)::before {
    content: "Descrição";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(3)::before {
    content: "Categoria";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(4)::before {
    content: "Vencimento";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(5)::before {
    content: "Valor";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(6)::before {
    content: "Pago";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(7)::before {
    content: "Saldo";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(8)::before {
    content: "Status";
  }

  .pwa-pagina-financeiro
  #tabelaPagar
  td:nth-child(9)::before {
    content: none;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td.estado {
    display: block;
    padding: 24px 12px !important;
    text-align: center !important;
    border: 0 !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td.estado::before {
    content: none !important;
  }

  .pwa-pagina-financeiro .valor,
  .pwa-pagina-financeiro .saldo {
    font-weight: 850;
  }

  .pwa-pagina-financeiro .saldo {
    color: #0b5fa8;
  }

  .pwa-pagina-financeiro .status {
    justify-self: end;
    width: fit-content;
  }

  .pwa-pagina-financeiro .acoes-categoria {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 7px;
  }

  .pwa-pagina-financeiro .botao-categoria,
  .pwa-pagina-financeiro .acao-tabela {
    min-height: 43px;
    flex: 1 1 130px;
    margin: 0 !important;
    padding: 9px 12px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 850;
  }

  .pwa-pagina-financeiro .modal,
  .pwa-pagina-financeiro .modal-overlay {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .pwa-pagina-financeiro .modal-conteudo,
  .pwa-pagina-financeiro .modal-card,
  .pwa-pagina-financeiro .modal-caixa {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 92vh !important;
    margin: 0 !important;
    overflow-y: auto;
    border-radius:
      20px
      20px
      0
      0 !important;
    padding-bottom:
      calc(
        20px +
        env(safe-area-inset-bottom)
      ) !important;
  }

  .pwa-pagina-financeiro .modal input,
  .pwa-pagina-financeiro .modal select,
  .pwa-pagina-financeiro .modal textarea {
    width: 100%;
    min-height: 46px;
    font-size: 16px;
  }

  .pwa-pagina-financeiro .modal-acoes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .pwa-pagina-financeiro .modal-acoes .botao,
  .pwa-pagina-financeiro .modal-acoes button {
    width: 100%;
    min-height: 48px;
  }
}

@media (max-width: 560px) {
  .pwa-pagina-financeiro .cards,
  .pwa-pagina-financeiro .cards-resumo,
  .pwa-pagina-financeiro .resumo,
  .pwa-pagina-financeiro .resumo-financeiro,
  .pwa-pagina-financeiro .indicadores {
    grid-template-columns: 1fr !important;
  }
}

@media print {
  .pwa-pagina-financeiro
  .tabela-container table {
    display: table !important;
  }

  .pwa-pagina-financeiro
  .tabela-container thead {
    display: table-header-group !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody {
    display: table-row-group !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tr {
    display: table-row !important;
  }

  .pwa-pagina-financeiro
  .tabela-container td {
    display: table-cell !important;
  }

  .pwa-pagina-financeiro
  .tabela-container td::before {
    display: none !important;
  }
}


/* ==================================================
   IMPERIAL_FINANCEIRO_MOBILE_COMPACTO_V2
================================================== */

@media (max-width: 900px) {

  .pwa-pagina-financeiro {
    background: #f3f6f9;
  }

  .pwa-pagina-financeiro .conteudo-principal,
  .pwa-pagina-financeiro .conteudo,
  .pwa-pagina-financeiro main {
    padding:
      10px
      10px
      20px !important;
  }

  /*
   * Cabeçalho
   */

  .pwa-pagina-financeiro .topo-pagina,
  .pwa-pagina-financeiro .topo,
  .pwa-pagina-financeiro .cabecalho {
    position: relative !important;
    display: grid !important;
    grid-template-columns:
      minmax(0, 1fr)
      auto !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
    padding: 12px 12px !important;
    background: #ffffff !important;
    border: 1px solid #dce6ee !important;
    border-radius: 14px !important;
    box-shadow:
      0 4px 15px
      rgba(16, 42, 67, 0.05) !important;
  }

  .pwa-pagina-financeiro .topo-pagina h1,
  .pwa-pagina-financeiro .topo h1,
  .pwa-pagina-financeiro .cabecalho h1 {
    margin: 0 !important;
    font-size: 21px !important;
    line-height: 1.15 !important;
  }

  .pwa-pagina-financeiro .topo-pagina p,
  .pwa-pagina-financeiro .topo p,
  .pwa-pagina-financeiro .cabecalho p {
    margin: 3px 0 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  .pwa-pagina-financeiro .topo-acoes,
  .pwa-pagina-financeiro .cabecalho-acoes {
    width: auto !important;
    flex-direction: row !important;
  }

  .pwa-pagina-financeiro
  .topo-acoes
  .botao,
  .pwa-pagina-financeiro
  .cabecalho-acoes
  .botao {
    width: auto !important;
    min-width: 44px !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
  }

  /*
   * Abas
   */

  .pwa-pagina-financeiro .abas,
  .pwa-pagina-financeiro .tabs {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin: 0 0 10px !important;
    padding: 4px !important;
    background: #ffffff !important;
    border: 1px solid #dce6ee !important;
    border-radius: 13px !important;
    overflow: hidden !important;
  }

  .pwa-pagina-financeiro .aba,
  .pwa-pagina-financeiro .tab {
    width: 100% !important;
    min-height: 42px !important;
    padding: 8px 6px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: center !important;
  }

  /*
   * Bloco principal
   */

  .pwa-pagina-financeiro .painel,
  .pwa-pagina-financeiro .bloco {
    margin: 0 0 12px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    box-shadow:
      0 4px 15px
      rgba(16, 42, 67, 0.05) !important;
  }

  .pwa-pagina-financeiro .bloco-topo {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
    padding-bottom: 9px !important;
    border-bottom:
      1px solid #e2e9ef !important;
  }

  .pwa-pagina-financeiro .bloco-topo h3 {
    margin: 0 !important;
    font-size: 18px !important;
  }

  .pwa-pagina-financeiro .bloco-topo span {
    font-size: 12px !important;
  }

  /*
   * Filtros compactos
   */

  .pwa-pagina-financeiro .filtros {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 12px !important;
    padding: 10px !important;
    background: #f7f9fb !important;
    border: 1px solid #e1e8ee !important;
    border-radius: 12px !important;
  }

  .pwa-pagina-financeiro
  .filtros
  .campo:first-child {
    grid-column: 1 / -1;
  }

  .pwa-pagina-financeiro
  .filtros
  .campo label {
    display: block !important;
    margin: 0 0 4px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  .pwa-pagina-financeiro
  .filtros input,
  .pwa-pagina-financeiro
  .filtros select {
    min-height: 40px !important;
    padding: 8px 10px !important;
    border-radius: 9px !important;
    font-size: 14px !important;
  }

  .pwa-pagina-financeiro
  .filtros
  > .botao {
    grid-column: 1 / -1;
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
  }

  /*
   * Cartões das contas
   */

  .pwa-pagina-financeiro
  .tabela-container
  tbody {
    gap: 9px !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody tr {
    padding: 11px 12px !important;
    border-radius: 13px !important;
    box-shadow:
      0 4px 12px
      rgba(16, 42, 67, 0.05) !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td {
    grid-template-columns:
      minmax(78px, 34%)
      minmax(0, 1fr) !important;
    min-height: 26px !important;
    gap: 7px !important;
    padding: 5px 0 !important;
    font-size: 13px !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td::before {
    font-size: 9px !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td:first-child strong {
    font-size: 15px !important;
  }

  .pwa-pagina-financeiro
  .tabela-container
  tbody td:last-child {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding-top: 9px !important;
  }

  .pwa-pagina-financeiro
  .acao-tabela,
  .pwa-pagina-financeiro
  .botao-categoria {
    min-height: 39px !important;
    padding: 7px 8px !important;
    font-size: 11px !important;
  }

  /*
   * Menu hambúrguer
   */

  .pwa-pagina-financeiro
  #mobileMenuButton {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    border-radius: 13px !important;
    font-size: 21px !important;
  }
}

@media (max-width: 430px) {
  .pwa-pagina-financeiro .filtros {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-financeiro
  .filtros
  .campo:first-child,
  .pwa-pagina-financeiro
  .filtros
  > .botao {
    grid-column: auto;
  }

  .pwa-pagina-financeiro
  .topo-pagina,
  .pwa-pagina-financeiro
  .topo,
  .pwa-pagina-financeiro
  .cabecalho {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-financeiro
  .topo-acoes,
  .pwa-pagina-financeiro
  .cabecalho-acoes {
    width: 100% !important;
  }

  .pwa-pagina-financeiro
  .topo-acoes
  .botao,
  .pwa-pagina-financeiro
  .cabecalho-acoes
  .botao {
    width: 100% !important;
  }
}


/* ==================================================
   IMPERIAL_FINANCEIRO_CARDS_MOBILE_V3
================================================== */

@media (max-width: 900px) {

  .pwa-pagina-financeiro
  .tabela-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .pwa-pagina-financeiro
  .tabela-container table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody {
    display: grid !important;
    width: 100% !important;
    gap: 10px !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody tr {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0 12px !important;
    padding: 14px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 15px !important;
    box-shadow:
      0 5px 16px
      rgba(16, 42, 67, 0.06) !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 9px 0 !important;
    overflow: hidden !important;
    text-align: left !important;
    border: 0 !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td::before {
    display: block !important;
    width: 100% !important;
    color: #60758a !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    text-align: left !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td > *,
  .pwa-pagina-financeiro
  .tabela-container tbody td strong,
  .pwa-pagina-financeiro
  .tabela-container tbody td span,
  .pwa-pagina-financeiro
  .tabela-container tbody td div {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
  }

  /*
   * Cliente ou fornecedor em destaque
   */

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(1) {
    grid-column: 1 / -1 !important;
    padding-top: 2px !important;
    padding-bottom: 11px !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(1) strong {
    color: #102a43 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  /*
   * Venda e categoria
   */

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(2),
  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(3) {
    min-height: 62px !important;
  }

  /*
   * Categoria com botão alterar
   */

  .pwa-pagina-financeiro
  .acoes-categoria {
    display: flex !important;
    width: 100% !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 6px !important;
  }

  .pwa-pagina-financeiro
  .categoria-tipo {
    width: 100% !important;
    color: #102a43 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
  }

  .pwa-pagina-financeiro
  .botao-categoria {
    width: auto !important;
    min-width: 0 !important;
    min-height: 30px !important;
    flex: none !important;
    padding: 5px 8px !important;
    font-size: 10px !important;
    border-radius: 8px !important;
  }

  /*
   * Valor, recebido, saldo e status
   */

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(4),
  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(5),
  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(6),
  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(7),
  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(8) {
    font-size: 13px !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(7) {
    color: #0b5fa8 !important;
    font-weight: 900 !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(8) {
    align-items: flex-start !important;
  }

  .pwa-pagina-financeiro
  .status {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    justify-self: auto !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
  }

  /*
   * Botões finais
   */

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(9) {
    display: grid !important;
    grid-column: 1 / -1 !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
    padding-top: 12px !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(9)::before {
    display: none !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(9)
  .acao-tabela {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    flex: none !important;
    margin: 0 !important;
    padding: 8px 7px !important;
    overflow: hidden !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    border-radius: 10px !important;
  }

  /*
   * Mensagens vazias e carregamento
   */

  .pwa-pagina-financeiro
  .tabela-container tbody tr:has(td.estado) {
    display: block !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td.estado {
    display: block !important;
    width: 100% !important;
    padding: 24px 12px !important;
    text-align: center !important;
    border: 0 !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td.estado::before {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .pwa-pagina-financeiro
  .tabela-container tbody tr {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(1),
  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(9) {
    grid-column: auto !important;
  }

  .pwa-pagina-financeiro
  .tabela-container tbody td:nth-child(9) {
    grid-template-columns: 1fr !important;
  }
}


/* ==================================================
   IMPERIAL_FINANCEIRO_MOBILE_FIX_V4
   Corrige corte de informações no card mobile
================================================== */

@media (max-width: 640px) {

  .pwa-pagina-financeiro .tabela-container,
  .pwa-pagina-financeiro .tabela-container table,
  .pwa-pagina-financeiro .tabela-container tbody,
  .pwa-pagina-financeiro .tabela-container tr,
  .pwa-pagina-financeiro .tabela-container td {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .pwa-pagina-financeiro .tabela-container {
    overflow: visible !important;
  }

  .pwa-pagina-financeiro .tabela-container table {
    table-layout: auto !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody {
    display: block !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody tr {
    display: block !important;
    width: 100% !important;
    padding: 14px !important;
    margin-bottom: 12px !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06) !important;
    overflow: hidden !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td {
    display: block !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-bottom: 1px dashed #e5edf4 !important;
    overflow: hidden !important;
    text-align: left !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td:last-child {
    border-bottom: 0 !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td::before {
    display: block !important;
    margin-bottom: 4px !important;
    color: #6b7c93 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td,
  .pwa-pagina-financeiro .tabela-container tbody td * {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td strong {
    display: block !important;
    color: #102a43 !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td:nth-child(1) strong {
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .pwa-pagina-financeiro .acoes-categoria {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .pwa-pagina-financeiro .categoria-tipo {
    display: inline-block !important;
    max-width: 100% !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  .pwa-pagina-financeiro .botao-categoria {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
    border-radius: 8px !important;
  }

  .pwa-pagina-financeiro .status {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 5px 10px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    border-radius: 999px !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td:nth-child(9) {
    padding-top: 12px !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td:nth-child(9)::before {
    display: none !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td:nth-child(9) .acao-tabela {
    display: flex !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    border-radius: 10px !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td:nth-child(9) .acao-tabela:last-child {
    margin-bottom: 0 !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td.estado {
    text-align: center !important;
    padding: 22px 10px !important;
  }

  .pwa-pagina-financeiro .tabela-container tbody td.estado::before {
    display: none !important;
  }
}


/* ==================================================
   IMPERIAL_HISTORICO_FINANCEIRO_MOBILE_V1
================================================== */

@media (max-width: 700px) {

  /*
   * Fundo e janela do modal
   */

  .pwa-pagina-financeiro
  #modalHistorico {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico > .modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 94vh !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius:
      20px
      20px
      0
      0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  .modal-topo {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    align-items: flex-start !important;
    padding: 15px !important;
    background: #ffffff !important;
    border-bottom:
      1px solid #e2e8f0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  .modal-topo h3 {
    margin: 0 !important;
    padding-right: 38px !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  #descricaoHistorico {
    max-width: 100% !important;
    padding-right: 30px !important;
    overflow-wrap: anywhere !important;
    font-size: 12px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  .fechar {
    position: absolute !important;
    top: 11px !important;
    right: 11px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border-radius: 10px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  .modal-corpo {
    max-height:
      calc(
        94vh -
        145px
      ) !important;
    padding: 12px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #f4f7fa !important;
  }

  /*
   * Remove a largura mínima de 820px
   */

  .pwa-pagina-financeiro
  #modalHistorico
  .modal-corpo > div {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico thead {
    display: none !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody {
    display: grid !important;
    width: 100% !important;
    gap: 11px !important;
  }

  /*
   * Cada movimentação vira um cartão
   */

  .pwa-pagina-financeiro
  #modalHistorico
  tbody tr {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 13px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 15px !important;
    box-shadow:
      0 5px 16px
      rgba(16, 42, 67, 0.06) !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 0 !important;
    overflow: hidden !important;
    color: #102a43 !important;
    font-size: 13px !important;
    text-align: left !important;
    border: 0 !important;
    border-bottom:
      1px dashed #e2e9ef !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td::before {
    display: block !important;
    margin-bottom: 4px !important;
    color: #64788b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(1)::before {
    content: "Data";
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(2)::before {
    content: "Valor";
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(3)::before {
    content: "Desconto";
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(4)::before {
    content: "Juros / multa";
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(5)::before {
    content: "Forma de pagamento";
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(6)::before {
    content: "Conta financeira";
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(7)::before {
    content: "Comprovante";
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(8)::before {
    content: "Ações";
  }

  /*
   * Valor principal em destaque
   */

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(2) strong {
    display: block !important;
    color: #0b5fa8 !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(2) div {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 6px !important;
    overflow-wrap: anywhere !important;
  }

  /*
   * Comprovantes
   */

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(7) > div {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 7px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(7)
  .acao-tabela {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 39px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 7px !important;
    overflow-wrap: anywhere !important;
    font-size: 11px !important;
    text-align: center !important;
    border-radius: 9px !important;
  }

  /*
   * Ações editar e excluir
   */

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(8) {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(8) > div {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 7px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(8)
  .acao-tabela {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 41px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px 6px !important;
    font-size: 11px !important;
    text-align: center !important;
    border-radius: 9px !important;
  }

  /*
   * Estado vazio ou carregando
   */

  .pwa-pagina-financeiro
  #modalHistorico
  tbody tr:has(td.estado) {
    display: block !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td.estado {
    display: block !important;
    padding: 25px 12px !important;
    text-align: center !important;
    border: 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  tbody td.estado::before {
    display: none !important;
  }

  /*
   * Rodapé do modal
   */

  .pwa-pagina-financeiro
  #modalHistorico
  .modal-acoes {
    position: sticky !important;
    bottom: 0 !important;
    display: block !important;
    padding:
      10px
      12px
      calc(
        10px +
        env(safe-area-inset-bottom)
      ) !important;
    background: #ffffff !important;
    border-top:
      1px solid #e2e8f0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico
  .modal-acoes .botao {
    width: 100% !important;
    min-height: 44px !important;
  }
}

@media (max-width: 380px) {
  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(7) > div,
  .pwa-pagina-financeiro
  #modalHistorico
  tbody td:nth-child(8) > div {
    grid-template-columns: 1fr !important;
  }
}

@media print {
  .pwa-pagina-financeiro
  #modalHistorico table {
    display: table !important;
    min-width: 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico thead {
    display: table-header-group !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody {
    display: table-row-group !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tr {
    display: table-row !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico td {
    display: table-cell !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico td::before {
    display: none !important;
  }
}


/* ==================================================
   IMPERIAL_HISTORICO_FINANCEIRO_MOBILE_V2
================================================== */

@media (max-width: 700px) {
  .pwa-pagina-financeiro #modalHistorico {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico > .modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 94vh !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 20px 20px 0 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico .modal-topo {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    padding: 14px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico .modal-topo h3 {
    margin: 0 !important;
    padding-right: 42px !important;
    font-size: 19px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico #descricaoHistorico {
    padding-right: 35px !important;
    overflow-wrap: anywhere !important;
    font-size: 12px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico .fechar {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 38px !important;
    height: 38px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico .modal-corpo {
    max-height: calc(94vh - 145px) !important;
    padding: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #f4f7fa !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico .modal-corpo > div {
    width: 100% !important;
    overflow: visible !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico thead {
    display: none !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody {
    display: grid !important;
    width: 100% !important;
    gap: 11px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody tr {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 13px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 16px rgba(16, 42, 67, 0.06) !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 0 !important;
    overflow: hidden !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    border: 0 !important;
    border-bottom: 1px dashed #e2e9ef !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td::before {
    display: block !important;
    margin-bottom: 4px !important;
    color: #64788b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(1)::before {
    content: "Data";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(2)::before {
    content: "Valor";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(3)::before {
    content: "Desconto";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(4)::before {
    content: "Juros / multa";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(5)::before {
    content: "Forma de pagamento";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(6)::before {
    content: "Conta financeira";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(7)::before {
    content: "Comprovante";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(8)::before {
    content: "Ações";
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(2) strong {
    display: block !important;
    color: #0b5fa8 !important;
    font-size: 18px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(7) > div,
  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(8) > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 7px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(7) .acao-tabela,
  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(8) .acao-tabela {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 41px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px 6px !important;
    font-size: 11px !important;
    text-align: center !important;
    white-space: normal !important;
    border-radius: 9px !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(8) {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td.estado {
    padding: 25px 12px !important;
    text-align: center !important;
    border: 0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico tbody td.estado::before {
    display: none !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico .modal-acoes {
    position: sticky !important;
    bottom: 0 !important;
    display: block !important;
    padding:
      10px
      12px
      calc(10px + env(safe-area-inset-bottom)) !important;
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
  }

  .pwa-pagina-financeiro
  #modalHistorico .modal-acoes .botao {
    width: 100% !important;
    min-height: 44px !important;
  }
}

@media (max-width: 380px) {
  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(7) > div,
  .pwa-pagina-financeiro
  #modalHistorico tbody td:nth-child(8) > div {
    grid-template-columns: 1fr !important;
  }
}


/* ==================================================
   IMPERIAL_PWA_OCULTAR_INSTALADOR_EM_MODAL_V1
================================================== */

body:has(.modal-fundo.aberto) .pwa-instalar,
body:has(.modal.aberto) .pwa-instalar,
body:has([role="dialog"].aberto) .pwa-instalar {
  display: none !important;
}


/* ==================================================
   IMPERIAL_CATEGORIAS_FINANCEIRAS_MOBILE_V1
================================================== */

@media (max-width: 700px) {

  .pwa-pagina-financeiro
  #tabelaCategorias {
    display: block !important;
    width: 100% !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias tr {
    display: block !important;
    width: 100% !important;
    padding: 14px !important;
    margin-bottom: 11px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 15px !important;
    box-shadow:
      0 5px 16px
      rgba(16, 42, 67, 0.06) !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 8px 0 !important;
    overflow: hidden !important;
    color: #102a43 !important;
    font-size: 13px !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    border: 0 !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td::before {
    display: block !important;
    width: 100% !important;
    margin-bottom: 4px !important;
    color: #64788b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(1)::before {
    content: "Nome";
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(2)::before {
    content: "Tipo";
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(3)::before {
    content: "Descrição";
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(4)::before {
    content: "Status";
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(5)::before {
    content: "Atualização";
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(6)::before {
    content: "Ações";
  }

  /*
   * Nome da categoria
   */

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(1) {
    padding-top: 2px !important;
    padding-bottom: 11px !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(1) strong {
    display: block !important;
    color: #102a43 !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  /*
   * Etiqueta do tipo
   */

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(2) {
    color: #102a43 !important;
    font-weight: 800 !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(2) > span,
  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(2) > strong {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 6px 10px !important;
    background: #e7edf4 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
  }

  /*
   * Descrição sem espaço exagerado
   */

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(3) {
    min-height: 0 !important;
    color: #475569 !important;
  }

  /*
   * Status
   */

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(4) .status,
  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(4) > span {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }

  /*
   * Data
   */

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(5) {
    color: #334155 !important;
  }

  /*
   * Botões
   */

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(6) {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding-top: 12px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(6)::before {
    grid-column: 1 / -1;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(6) button,
  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(6) .acao-tabela {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 41px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px 7px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    text-align: center !important;
    white-space: normal !important;
    border-radius: 9px !important;
  }

  /*
   * Estado vazio ou carregando
   */

  .pwa-pagina-financeiro
  #tabelaCategorias tr:has(td.estado) {
    display: block !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td.estado {
    display: block !important;
    padding: 24px 12px !important;
    text-align: center !important;
    border: 0 !important;
  }

  .pwa-pagina-financeiro
  #tabelaCategorias td.estado::before {
    display: none !important;
  }

  /*
   * Cabeçalho da área de categorias
   */

  .pwa-pagina-financeiro
  #painelCategorias
  .bloco-topo {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .pwa-pagina-financeiro
  #painelCategorias
  #botaoNovaCategoria {
    width: 100% !important;
    min-height: 43px !important;
  }
}

@media (max-width: 380px) {
  .pwa-pagina-financeiro
  #tabelaCategorias td:nth-child(6) {
    grid-template-columns: 1fr !important;
  }
}


/* ==================================================
   IMPERIAL_CONSUMO_DIARIO_MOBILE_V1
================================================== */

@media (max-width: 800px) {

  /*
   * Estrutura da página
   */

  .pwa-pagina-consumo {
    background: #f3f6f9;
  }

  .pwa-pagina-consumo
  .conteudo-principal {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  .pwa-pagina-consumo
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding:
      12px
      11px
      24px !important;
  }

  /*
   * Cabeçalho
   */

  .pwa-pagina-consumo
  .topo {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 13px 12px !important;
  }

  .pwa-pagina-consumo
  .topo-esquerda {
    width: 100%;
    align-items: center !important;
  }

  .pwa-pagina-consumo
  .topo h1 {
    font-size: 21px !important;
  }

  .pwa-pagina-consumo
  .topo p {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .pwa-pagina-consumo
  .topo-acoes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .pwa-pagina-consumo
  .topo-acoes .botao {
    width: 100% !important;
    min-height: 43px !important;
  }

  /*
   * Abas
   */

  .pwa-pagina-consumo
  .abas {
    display: grid !important;
    grid-template-columns:
      repeat(3, minmax(0, 1fr)) !important;
    gap: 4px !important;
    margin-bottom: 11px !important;
    padding: 4px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dce6ee !important;
    border-radius: 13px !important;
  }

  .pwa-pagina-consumo
  .aba {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 43px !important;
    padding: 7px 4px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    border-radius: 9px !important;
  }

  /*
   * Painéis
   */

  .pwa-pagina-consumo
  .painel {
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 11px !important;
    padding: 13px !important;
    border-radius: 15px !important;
    box-shadow:
      0 5px 16px
      rgba(16, 42, 67, 0.06) !important;
  }

  .pwa-pagina-consumo
  .painel-topo {
    display: flex !important;
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }

  .pwa-pagina-consumo
  .painel-topo h2 {
    margin: 0 !important;
    font-size: 18px !important;
  }

  .pwa-pagina-consumo
  .painel-topo p {
    margin-top: 4px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  /*
   * Data e observações
   */

  .pwa-pagina-consumo
  .linha-formulario {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .pwa-pagina-consumo
  .campo {
    width: 100% !important;
    min-width: 0 !important;
  }

  .pwa-pagina-consumo
  .campo label {
    display: block !important;
    margin-bottom: 5px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }

  .pwa-pagina-consumo
  .campo input,
  .pwa-pagina-consumo
  .campo select,
  .pwa-pagina-consumo
  .campo textarea {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 9px 10px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  /*
   * Selecionar todos e limpar
   */

  .pwa-pagina-consumo
  .acoes-topo {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 7px !important;
  }

  .pwa-pagina-consumo
  .acoes-topo .botao {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 7px !important;
    font-size: 11px !important;
    white-space: normal !important;
  }

  /*
   * Remove rolagem horizontal
   */

  .pwa-pagina-consumo
  .tabela-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .pwa-pagina-consumo
  .tabela-wrapper table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  .pwa-pagina-consumo
  .tabela-wrapper thead {
    display: none !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios {
    display: grid !important;
    width: 100% !important;
    gap: 11px !important;
  }

  /*
   * Cada berçário vira cartão
   */

  .pwa-pagina-consumo
  #corpoBercarios tr {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 13px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 15px !important;
    box-shadow:
      0 5px 16px
      rgba(16, 42, 67, 0.06) !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 8px 0 !important;
    overflow: hidden !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    border: 0 !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td::before {
    display: block !important;
    width: 100% !important;
    margin-bottom: 5px !important;
    color: #64788b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(1)::before {
    content: "Incluir no lançamento";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(2)::before {
    content: "Berçário";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(3)::before {
    content: "Lote";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(4)::before {
    content: "Produto";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(5)::before {
    content: "Tratos por dia";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(6)::before {
    content: "Quantidade por trato";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(7)::before {
    content: "Unidade";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(8)::before {
    content: "Total consumido no dia";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(9)::before {
    content: "Valor unitário";
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(10)::before {
    content: "Valor total";
  }

  /*
   * Checkbox
   */

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(1) {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 12px !important;
    padding-top: 2px !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(1)::before {
    width: auto !important;
    margin: 0 !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(1) input[type="checkbox"] {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    min-height: 25px !important;
    accent-color: #1769aa;
  }

  /*
   * Nome do berçário
   */

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(2) {
    color: #102a43 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  /*
   * Campos do cartão
   */

  .pwa-pagina-consumo
  #corpoBercarios input,
  .pwa-pagina-consumo
  #corpoBercarios select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 45px !important;
    padding: 9px 10px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios
  input[type="number"] {
    text-align: left !important;
  }

  /*
   * Totais em destaque
   */

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(8),
  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(9),
  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(10) {
    font-weight: 850 !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td:nth-child(10) {
    padding-bottom: 2px !important;
    color: #087443 !important;
    font-size: 17px !important;
    border-bottom: 0 !important;
  }

  /*
   * Linha de carregamento
   */

  .pwa-pagina-consumo
  #corpoBercarios tr:has(td[colspan]) {
    display: block !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td[colspan] {
    display: block !important;
    padding: 24px 12px !important;
    text-align: center !important;
    border: 0 !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td[colspan]::before {
    display: none !important;
  }

  /*
   * Resumo
   */

  .pwa-pagina-consumo
  .resumo-lancamento {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }

  .pwa-pagina-consumo
  .resumo-card {
    min-width: 0 !important;
    min-height: 84px !important;
    padding: 11px !important;
    border-radius: 12px !important;
  }

  .pwa-pagina-consumo
  .resumo-card span {
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  .pwa-pagina-consumo
  .resumo-card strong {
    display: block !important;
    margin-top: 6px !important;
    overflow-wrap: anywhere !important;
    font-size: 17px !important;
  }

  /*
   * Botões finais
   */

  .pwa-pagina-consumo
  .rodape-lancamento {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 13px !important;
  }

  .pwa-pagina-consumo
  .rodape-lancamento .botao {
    width: 100% !important;
    min-height: 47px !important;
  }

  .pwa-pagina-consumo
  #botaoSalvar {
    order: -1;
  }
}

@media (max-width: 390px) {
  .pwa-pagina-consumo
  .abas {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-consumo
  .resumo-lancamento {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-consumo
  .acoes-topo {
    grid-template-columns: 1fr !important;
  }
}

@media print {
  .pwa-pagina-consumo
  .tabela-wrapper table {
    display: table !important;
  }

  .pwa-pagina-consumo
  .tabela-wrapper thead {
    display: table-header-group !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios {
    display: table-row-group !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios tr {
    display: table-row !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td {
    display: table-cell !important;
  }

  .pwa-pagina-consumo
  #corpoBercarios td::before {
    display: none !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_MOBILE_V1
================================================== */

@media (max-width: 750px) {

  /*
   * Estrutura da página
   */

  .pwa-pagina-povoamentos
  .conteudo {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  .pwa-pagina-povoamentos
  main {
    width: 100% !important;
    max-width: 100% !important;
    padding:
      72px
      11px
      28px !important;
  }

  .pwa-pagina-povoamentos
  .topbar {
    display: none !important;
  }

  /*
   * Título
   */

  .pwa-pagina-povoamentos
  .cabecalho-pagina {
    margin-bottom: 13px !important;
    padding: 2px 1px !important;
  }

  .pwa-pagina-povoamentos
  .cabecalho-pagina h2 {
    margin-bottom: 4px !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
  }

  .pwa-pagina-povoamentos
  .cabecalho-pagina p {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  /*
   * Indicadores
   */

  .pwa-pagina-povoamentos
  .resumo {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .pwa-pagina-povoamentos
  .resumo-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 91px !important;
    padding: 12px !important;
    border-radius: 13px !important;
  }

  .pwa-pagina-povoamentos
  .resumo-card span {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .pwa-pagina-povoamentos
  .resumo-card strong {
    display: block !important;
    margin-top: 7px !important;
    overflow-wrap: anywhere !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
  }

  /*
   * Card principal
   */

  .pwa-pagina-povoamentos
  main > .card {
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    overflow: visible !important;
    border-radius: 15px !important;
    box-shadow:
      0 5px 16px
      rgba(16, 42, 67, 0.06) !important;
  }

  /*
   * Filtros
   */

  .pwa-pagina-povoamentos
  .filtros {
    padding: 0 !important;
  }

  .pwa-pagina-povoamentos
  .grade-filtros {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .pwa-pagina-povoamentos
  .campo {
    width: 100% !important;
    min-width: 0 !important;
  }

  .pwa-pagina-povoamentos
  .campo label {
    display: block !important;
    margin-bottom: 5px !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-povoamentos
  .campo input,
  .pwa-pagina-povoamentos
  .campo select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 9px 10px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  .pwa-pagina-povoamentos
  .barra-filtros {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  .pwa-pagina-povoamentos
  .barra-filtros .botao {
    width: 100% !important;
    min-height: 43px !important;
  }

  /*
   * Resultado
   */

  .pwa-pagina-povoamentos
  .barra-resultado {
    display: flex !important;
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin:
      13px
      0
      10px !important;
    padding:
      10px
      11px !important;
    border-radius: 10px !important;
  }

  .pwa-pagina-povoamentos
  .barra-resultado span:first-child {
    color: #102a43 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
  }

  .pwa-pagina-povoamentos
  .barra-resultado span:last-child {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  /*
   * Tabela transformada em cartões
   */

  .pwa-pagina-povoamentos
  .tabela-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
  }

  .pwa-pagina-povoamentos
  .tabela-container table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
  }

  .pwa-pagina-povoamentos
  .tabela-container thead {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela {
    display: grid !important;
    width: 100% !important;
    gap: 11px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 13px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-left: 4px solid #1677ff !important;
    border-radius: 14px !important;
    box-shadow:
      0 5px 16px
      rgba(16, 42, 67, 0.07) !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 0 !important;
    overflow: hidden !important;
    color: #243b53 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    border: 0 !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    display: block !important;
    margin-bottom: 4px !important;
    color: #64788b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    content: attr(data-label);
  }

  /*
   * Cliente em destaque
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente {
    padding-top: 3px !important;
    color: #102a43 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente strong {
    display: block !important;
    font-size: 17px !important;
  }

  /*
   * Quantidade
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-quantidade {
    color: #0b5fa8 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
  }

  /*
   * Status
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status span,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .selo {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding:
      6px
      10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
  }

  /*
   * Ações
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 7px !important;
    padding-top: 11px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes::before {
    grid-column: 1 / -1 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes button,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes .botao {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px 6px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    text-align: center !important;
    white-space: normal !important;
    border-radius: 9px !important;
  }

  /*
   * Estado vazio e carregamento
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado {
    display: block !important;
    border-left:
      1px solid #dbe5ed !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado td {
    display: block !important;
    padding:
      25px
      12px !important;
    text-align: center !important;
    border: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado td::before {
    display: none !important;
  }

  /*
   * Modais
   */

  .pwa-pagina-povoamentos
  .modal-fundo {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .pwa-pagina-povoamentos
  .modal-fundo > .modal {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 94vh !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius:
      20px
      20px
      0
      0 !important;
  }

  .pwa-pagina-povoamentos
  .modal-cabecalho {
    position: sticky !important;
    top: 0 !important;
    z-index: 5 !important;
    padding:
      14px
      55px
      14px
      14px !important;
    background: #ffffff !important;
    border-bottom:
      1px solid #e2e8f0 !important;
  }

  .pwa-pagina-povoamentos
  .modal-cabecalho h3 {
    font-size: 18px !important;
    line-height: 1.25 !important;
  }

  .pwa-pagina-povoamentos
  .fechar-modal {
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
    width: 39px !important;
    height: 39px !important;
  }

  .pwa-pagina-povoamentos
  .modal-corpo {
    max-height:
      calc(94vh - 66px) !important;
    padding: 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #f4f7fa !important;
  }

  .pwa-pagina-povoamentos
  .grade-detalhes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .pwa-pagina-povoamentos
  .detalhe {
    width: 100% !important;
    min-width: 0 !important;
    padding: 11px !important;
    border-radius: 10px !important;
  }

  .pwa-pagina-povoamentos
  .detalhe span {
    display: block !important;
    margin-bottom: 4px !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-povoamentos
  .detalhe strong {
    display: block !important;
    overflow-wrap: anywhere !important;
    font-size: 14px !important;
  }

  .pwa-pagina-povoamentos
  .modal-acoes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 13px !important;
  }

  .pwa-pagina-povoamentos
  .modal-acoes .botao,
  .pwa-pagina-povoamentos
  #botaoSalvar {
    width: 100% !important;
    min-height: 45px !important;
  }

  .pwa-pagina-povoamentos
  #formEditar
  .campo select {
    width: 100% !important;
    min-height: 45px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 380px) {
  .pwa-pagina-povoamentos
  .resumo {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-template-columns: 1fr !important;
  }
}

@media print {
  .pwa-pagina-povoamentos
  .tabela-container table {
    display: table !important;
  }

  .pwa-pagina-povoamentos
  .tabela-container thead {
    display: table-header-group !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela {
    display: table-row-group !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: table-row !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    display: table-cell !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    display: none !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTO_DETALHES_DESIGNER_V1
================================================== */

@media (max-width: 750px) {

  /*
   * Fundo e janela
   */

  .pwa-pagina-povoamentos
  #modalDetalhes {
    align-items: flex-end !important;
    padding: 0 !important;
    background:
      rgba(15, 23, 42, 0.62) !important;
    backdrop-filter: blur(3px);
  }

  .pwa-pagina-povoamentos
  #modalDetalhes > .modal {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 94dvh !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #f4f7fa !important;
    border-radius:
      22px
      22px
      0
      0 !important;
    box-shadow:
      0 -12px 40px
      rgba(15, 23, 42, 0.24) !important;
  }

  /*
   * Cabeçalho
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal-cabecalho {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    min-height: 64px !important;
    padding:
      18px
      62px
      15px
      17px !important;
    background:
      linear-gradient(
        135deg,
        #0b3b6e,
        #1769aa
      ) !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal-cabecalho h3 {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .fechar-modal {
    position: absolute !important;
    top: 11px !important;
    right: 12px !important;
    display: flex !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 25px !important;
    background:
      rgba(255, 255, 255, 0.14) !important;
    border: 1px solid
      rgba(255, 255, 255, 0.22) !important;
    border-radius: 12px !important;
  }

  /*
   * Conteúdo
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal-corpo {
    max-height:
      calc(94dvh - 64px) !important;
    padding:
      13px
      12px
      calc(
        96px +
        env(safe-area-inset-bottom)
      ) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #f4f7fa !important;
    overscroll-behavior: contain;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .grade-detalhes {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 9px !important;
  }

  /*
   * Cartões dos dados
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 78px !important;
    padding: 11px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 13px !important;
    box-shadow:
      0 3px 10px
      rgba(16, 42, 67, 0.045) !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe span {
    display: block !important;
    margin-bottom: 5px !important;
    color: #60758a !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.055em !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe strong {
    display: block !important;
    min-width: 0 !important;
    color: #102a43 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /*
   * Cliente ocupa a largura inteira
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-cliente {
    grid-column: 1 / -1 !important;
    min-height: 86px !important;
    padding: 14px !important;
    background:
      linear-gradient(
        135deg,
        #ffffff,
        #edf5fb
      ) !important;
    border-color: #bad4e7 !important;
    border-left:
      4px solid #1769aa !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-cliente strong {
    color: #0b3b6e !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  /*
   * Venda e vendedor
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-venda strong {
    color: #0b5fa8 !important;
    font-weight: 900 !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-vendedor strong {
    font-weight: 850 !important;
  }

  /*
   * Data, dias e situação
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-data,
  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-dias,
  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-situacao {
    min-height: 76px !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-situacao strong {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding:
      5px
      10px !important;
    color: #166534 !important;
    background: #dcfce7 !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  /*
   * Quantidades
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-quantidade,
  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-bonificacao {
    min-height: 82px !important;
    background: #f8fbfd !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-quantidade strong {
    color: #0b5fa8 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-bonificacao strong {
    color: #7c3aed !important;
    font-size: 16px !important;
    font-weight: 900 !important;
  }

  /*
   * Valor
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-valor {
    min-height: 84px !important;
    background:
      linear-gradient(
        135deg,
        #ecfdf5,
        #dcfce7
      ) !important;
    border-color: #a7f3d0 !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-valor strong {
    color: #067647 !important;
    font-size: 18px !important;
    font-weight: 950 !important;
  }

  /*
   * Pagamento
   */

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-pagamento {
    min-height: 84px !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-pagamento strong {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding:
      6px
      10px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .pagamento-pendente strong {
    color: #92400e !important;
    background: #fef3c7 !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .pagamento-pago strong {
    color: #166534 !important;
    background: #dcfce7 !important;
  }
}

@media (max-width: 370px) {
  .pwa-pagina-povoamentos
  #modalDetalhes
  .grade-detalhes {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .detalhe-cliente {
    grid-column: auto !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_CARD_COMPACTO_V2
================================================== */

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  #corpoTabela {
    gap: 9px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 0 12px !important;
    padding: 12px !important;
    border-left-width: 4px !important;
    border-radius: 13px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 7px 0 !important;
    font-size: 12px !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    margin-bottom: 3px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
  }

  /*
   * Cliente na largura completa
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente {
    grid-column: 1 / -1 !important;
    padding-top: 2px !important;
    padding-bottom: 9px !important;
    font-size: 16px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente strong {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  /*
   * Venda e vendedor lado a lado
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-quantidade {
    font-size: 15px !important;
  }

  /*
   * Dias em uma linha
   */

  .pwa-pagina-povoamentos
  #corpoTabela td {
    line-height: 1.2 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td br {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td small {
    display: inline !important;
    margin-left: 3px !important;
    font-size: 10px !important;
  }

  /*
   * Situação mais curta
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status {
    align-self: start !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status span,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .selo {
    width: auto !important;
    min-width: 0 !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
  }

  /*
   * Ações compactas
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding-top: 9px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 1px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes button,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes .botao {
    min-height: 38px !important;
    padding: 7px 6px !important;
    font-size: 10px !important;
    border-radius: 9px !important;
  }

  /*
   * Remove bordas nas últimas áreas
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    border-bottom: 0 !important;
  }

  /*
   * Estado vazio
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado {
    display: block !important;
  }
}

@media (max-width: 380px) {
  .pwa-pagina-povoamentos
  #corpoTabela tr {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: auto !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_CARD_SUPERCOMPACTO_V3
================================================== */

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  #corpoTabela {
    gap: 7px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: grid !important;
    grid-template-columns:
      repeat(6, minmax(0, 1fr)) !important;
    gap: 0 9px !important;
    padding: 9px 10px !important;
    border-left-width: 4px !important;
    border-radius: 12px !important;
    box-shadow:
      0 3px 11px
      rgba(16, 42, 67, 0.055) !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    min-width: 0 !important;
    padding: 5px 0 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    margin-bottom: 2px !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.045em !important;
  }

  /*
   * Data e venda
   */

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(1),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(2) {
    grid-column: span 3 !important;
  }

  /*
   * Cliente
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente {
    grid-column: 1 / -1 !important;
    padding:
      6px
      0
      7px !important;
    font-size: 14px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente strong {
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  /*
   * Vendedor, quantidade e dias
   */

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(4),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(5),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(6) {
    grid-column: span 2 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-quantidade {
    color: #0b5fa8 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  /*
   * Dias na mesma linha
   */

  .pwa-pagina-povoamentos
  #corpoTabela td br {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td small {
    display: inline !important;
    margin-left: 2px !important;
    font-size: 9px !important;
  }

  /*
   * Situação
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 8px !important;
    padding:
      6px
      0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status::before {
    width: auto !important;
    margin: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status span,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .selo {
    width: auto !important;
    min-width: 0 !important;
    padding:
      4px
      8px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  /*
   * Ações
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding:
      6px
      0
      0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes::before {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes button,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes .botao {
    min-height: 34px !important;
    padding:
      5px
      6px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    border-radius: 8px !important;
  }

  /*
   * Estado vazio
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado {
    display: block !important;
    padding: 10px !important;
  }
}

@media (max-width: 360px) {
  .pwa-pagina-povoamentos
  #corpoTabela tr {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(1),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(2),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(4),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(5),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(6) {
    grid-column: span 1 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_CARD_COMPACTO_V2
================================================== */

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  #corpoTabela {
    gap: 9px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 0 12px !important;
    padding: 12px !important;
    border-left-width: 4px !important;
    border-radius: 13px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 7px 0 !important;
    font-size: 12px !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    margin-bottom: 3px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
  }

  /*
   * Cliente na largura completa
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente {
    grid-column: 1 / -1 !important;
    padding-top: 2px !important;
    padding-bottom: 9px !important;
    font-size: 16px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente strong {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  /*
   * Venda e vendedor lado a lado
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-quantidade {
    font-size: 15px !important;
  }

  /*
   * Dias em uma linha
   */

  .pwa-pagina-povoamentos
  #corpoTabela td {
    line-height: 1.2 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td br {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td small {
    display: inline !important;
    margin-left: 3px !important;
    font-size: 10px !important;
  }

  /*
   * Situação mais curta
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status {
    align-self: start !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status span,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .selo {
    width: auto !important;
    min-width: 0 !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
  }

  /*
   * Ações compactas
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding-top: 9px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 1px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes button,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes .botao {
    min-height: 38px !important;
    padding: 7px 6px !important;
    font-size: 10px !important;
    border-radius: 9px !important;
  }

  /*
   * Remove bordas nas últimas áreas
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    border-bottom: 0 !important;
  }

  /*
   * Estado vazio
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado {
    display: block !important;
  }
}

@media (max-width: 380px) {
  .pwa-pagina-povoamentos
  #corpoTabela tr {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: auto !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_CARD_COMPACTO_V2
================================================== */

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  #corpoTabela {
    gap: 9px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 0 12px !important;
    padding: 12px !important;
    border-left-width: 4px !important;
    border-radius: 13px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 7px 0 !important;
    font-size: 12px !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    margin-bottom: 3px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
  }

  /*
   * Cliente na largura completa
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente {
    grid-column: 1 / -1 !important;
    padding-top: 2px !important;
    padding-bottom: 9px !important;
    font-size: 16px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente strong {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  /*
   * Venda e vendedor lado a lado
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-quantidade {
    font-size: 15px !important;
  }

  /*
   * Dias em uma linha
   */

  .pwa-pagina-povoamentos
  #corpoTabela td {
    line-height: 1.2 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td br {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td small {
    display: inline !important;
    margin-left: 3px !important;
    font-size: 10px !important;
  }

  /*
   * Situação mais curta
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status {
    align-self: start !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status span,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .selo {
    width: auto !important;
    min-width: 0 !important;
    padding: 5px 9px !important;
    font-size: 10px !important;
  }

  /*
   * Ações compactas
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding-top: 9px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes::before {
    grid-column: 1 / -1 !important;
    margin-bottom: 1px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes button,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes .botao {
    min-height: 38px !important;
    padding: 7px 6px !important;
    font-size: 10px !important;
    border-radius: 9px !important;
  }

  /*
   * Remove bordas nas últimas áreas
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    border-bottom: 0 !important;
  }

  /*
   * Estado vazio
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado {
    display: block !important;
  }
}

@media (max-width: 380px) {
  .pwa-pagina-povoamentos
  #corpoTabela tr {
    grid-template-columns: 1fr !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: auto !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_CARD_SUPERCOMPACTO_V3
================================================== */

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  #corpoTabela {
    gap: 7px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: grid !important;
    grid-template-columns:
      repeat(6, minmax(0, 1fr)) !important;
    gap: 0 9px !important;
    padding: 9px 10px !important;
    border-left-width: 4px !important;
    border-radius: 12px !important;
    box-shadow:
      0 3px 11px
      rgba(16, 42, 67, 0.055) !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    min-width: 0 !important;
    padding: 5px 0 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    border-bottom:
      1px dashed #e2e9ef !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    margin-bottom: 2px !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
    letter-spacing: 0.045em !important;
  }

  /*
   * Data e venda
   */

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(1),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(2) {
    grid-column: span 3 !important;
  }

  /*
   * Cliente
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente {
    grid-column: 1 / -1 !important;
    padding:
      6px
      0
      7px !important;
    font-size: 14px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente strong {
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  /*
   * Vendedor, quantidade e dias
   */

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(4),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(5),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(6) {
    grid-column: span 2 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-quantidade {
    color: #0b5fa8 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
  }

  /*
   * Dias na mesma linha
   */

  .pwa-pagina-povoamentos
  #corpoTabela td br {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td small {
    display: inline !important;
    margin-left: 2px !important;
    font-size: 9px !important;
  }

  /*
   * Situação
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 8px !important;
    padding:
      6px
      0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status::before {
    width: auto !important;
    margin: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status span,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .selo {
    width: auto !important;
    min-width: 0 !important;
    padding:
      4px
      8px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  /*
   * Ações
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding:
      6px
      0
      0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes::before {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes button,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes .botao {
    min-height: 34px !important;
    padding:
      5px
      6px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    border-radius: 8px !important;
  }

  /*
   * Estado vazio
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado {
    display: block !important;
    padding: 10px !important;
  }
}

@media (max-width: 360px) {
  .pwa-pagina-povoamentos
  #corpoTabela tr {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(1),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(2),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(4),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(5),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(6) {
    grid-column: span 1 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_CARD_APROVEITAMENTO_V4
================================================== */

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  #corpoTabela tr {
    display: grid !important;
    grid-template-columns:
      repeat(12, minmax(0, 1fr)) !important;
    gap: 0 8px !important;
    padding: 9px 10px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td {
    padding: 5px 0 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td::before {
    margin-bottom: 2px !important;
    font-size: 7px !important;
  }

  /*
   * Data e venda
   */

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(1),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(2) {
    grid-column: span 6 !important;
  }

  /*
   * Cliente na largura total
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente {
    grid-column: 1 / -1 !important;
    padding:
      5px
      0
      7px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-cliente strong {
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  /*
   * Vendedor, quantidade e dias
   */

  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(4),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(5),
  .pwa-pagina-povoamentos
  #corpoTabela td:nth-child(6) {
    grid-column: span 4 !important;
    min-height: 46px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-quantidade {
    font-size: 13px !important;
  }

  /*
   * Corrige "1" e "dias" separados
   */

  .pwa-pagina-povoamentos
  #corpoTabela td br {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela td small {
    display: inline !important;
    margin-left: 3px !important;
    font-size: 9px !important;
  }

  /*
   * Situação ocupa 4 colunas
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status {
    grid-column: span 4 !important;
    display: block !important;
    padding:
      6px
      7px
      0
      0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status::before {
    display: block !important;
    width: 100% !important;
    margin-bottom: 3px !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status span,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .status,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status .selo {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    padding:
      4px
      8px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  /*
   * Ações ocupam o restante da mesma linha
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: span 8 !important;
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    align-items: end !important;
    gap: 6px !important;
    padding:
      6px
      0
      0 !important;
    border-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes::before {
    display: block !important;
    grid-column: 1 / -1 !important;
    margin-bottom: 0 !important;
    content: "Ações" !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes button,
  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes .botao {
    min-height: 33px !important;
    padding:
      5px
      5px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    border-radius: 8px !important;
  }

  /*
   * Remove espaços desnecessários
   */

  .pwa-pagina-povoamentos
  #corpoTabela
  td:last-child {
    margin-bottom: 0 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  tr.povoamento-estado {
    display: block !important;
  }
}

@media (max-width: 350px) {

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-status {
    grid-column: 1 / -1 !important;
  }

  .pwa-pagina-povoamentos
  #corpoTabela
  td.povoamento-acoes {
    grid-column: 1 / -1 !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_CARDS_PREMIUM_V1
================================================== */

.povoamentos-premium-lista {
  display: none;
}

@media (max-width: 750px) {

  /*
   * Esconde somente a tabela no celular
   */

  .pwa-pagina-povoamentos
  .tabela-container {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-premium-lista {
    display: grid !important;
    width: 100% !important;
    gap: 12px !important;
  }

  /*
   * Card
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-card {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #d9e4ec !important;
    border-radius: 17px !important;
    box-shadow:
      0 6px 18px
      rgba(16, 42, 67, 0.07) !important;
  }

  /*
   * Topo: data e situação
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-topo {
    display: flex !important;
    align-items: center !important;
    justify-content:
      space-between !important;
    gap: 10px !important;
    margin-bottom: 13px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-data {
    display: flex !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 9px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-data-icone {
    display: flex !important;
    width: 35px !important;
    height: 35px !important;
    flex: 0 0 35px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0969da !important;
    font-size: 18px !important;
    background: #edf5ff !important;
    border-radius: 10px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-data span,
  .pwa-pagina-povoamentos
  .povoamento-premium-cliente span,
  .pwa-pagina-povoamentos
  .povoamento-premium-info-texto span {
    display: block !important;
    margin-bottom: 3px !important;
    color: #687c90 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.065em !important;
    text-transform: uppercase !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-data strong {
    display: block !important;
    color: #102a43 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
  }

  /*
   * Etiqueta de situação
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-situacao {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 900 !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-situacao i {
    display: block !important;
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    border-radius: 50% !important;
    background: currentColor !important;
  }

  .pwa-pagina-povoamentos
  .situacao-verde {
    color: #147a3d !important;
    background: #dcfce7 !important;
  }

  .pwa-pagina-povoamentos
  .situacao-amarela {
    color: #9a5b00 !important;
    background: #fef3c7 !important;
  }

  .pwa-pagina-povoamentos
  .situacao-vermelha {
    color: #b42318 !important;
    background: #fee2e2 !important;
  }

  .pwa-pagina-povoamentos
  .situacao-cinza {
    color: #475569 !important;
    background: #e8eef3 !important;
  }

  /*
   * Cliente
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-cliente {
    width: 100% !important;
    padding-bottom: 12px !important;
    margin-bottom: 11px !important;
    border-bottom:
      1px solid #dfe8ef !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-cliente strong {
    display: block !important;
    color: #102a43 !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
  }

  /*
   * Venda e vendedor
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-linha-principal {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 0 !important;
    margin-bottom: 10px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-linha-principal
  .povoamento-premium-info {
    padding:
      3px
      9px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-linha-principal
  .povoamento-premium-info:first-child {
    padding-left: 0 !important;
    border-right:
      1px solid #dfe8ef !important;
  }

  /*
   * Estrutura de cada informação
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-info {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-icone {
    display: flex !important;
    width: 31px !important;
    height: 31px !important;
    flex: 0 0 31px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #0969da !important;
    font-size: 16px !important;
    background: #edf5ff !important;
    border-radius: 9px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-info-texto {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-info-texto strong {
    display: block !important;
    min-width: 0 !important;
    color: #102a43 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .pwa-pagina-povoamentos
  .info-venda
  .povoamento-premium-info-texto strong {
    color: #0969da !important;
  }

  /*
   * Quantidade e dias
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-resumo {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-resumo
  .povoamento-premium-info {
    min-height: 64px !important;
    padding: 9px !important;
    background:
      linear-gradient(
        135deg,
        #f6faff,
        #edf5fb
      ) !important;
    border-radius: 12px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-resumo
  .povoamento-premium-info-texto strong {
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  /*
   * Botões
   */

  .pwa-pagina-povoamentos
  .povoamento-premium-acoes {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-botao {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 10px !important;
    cursor: pointer !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-botao.botao-detalhes {
    color: #0969da !important;
    background: #ffffff !important;
    border:
      1.5px solid #0969da !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-botao.botao-editar {
    color: #ffffff !important;
    background:
      linear-gradient(
        135deg,
        #f59e0b,
        #ef8b00
      ) !important;
    border:
      1px solid #ef8b00 !important;
  }

  /*
   * Lista vazia
   */

  .pwa-pagina-povoamentos
  .povoamentos-premium-vazio {
    width: 100% !important;
    padding: 28px 15px !important;
    color: #64748b !important;
    font-size: 13px !important;
    text-align: center !important;
    background: #ffffff !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 15px !important;
  }
}

@media (max-width: 365px) {
  .pwa-pagina-povoamentos
  .povoamento-premium-card {
    padding: 12px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-icone {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-resumo
  .povoamento-premium-info {
    min-height: 57px !important;
  }
}

@media (min-width: 751px) {
  .pwa-pagina-povoamentos
  .povoamentos-premium-lista {
    display: none !important;
  }

  .pwa-pagina-povoamentos
  .tabela-container {
    display: block !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_FILTRO_RETRATIL_V1
================================================== */

.povoamentos-filtro-alternar {
  display: none;
}

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  .povoamentos-filtro-alternar {
    display: flex !important;
    width: 100% !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    margin-bottom: 9px !important;
    padding: 10px 12px !important;
    color: #0b3b6e !important;
    background: #ffffff !important;
    border: 1px solid #d8e3eb !important;
    border-radius: 12px !important;
    box-shadow:
      0 3px 10px
      rgba(16, 42, 67, 0.05) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtro-icone {
    display: flex !important;
    width: 29px !important;
    height: 29px !important;
    flex: 0 0 29px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #edf5ff !important;
    border-radius: 8px !important;
    font-size: 14px !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtro-texto {
    flex: 1 1 auto !important;
    text-align: left !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtro-seta {
    flex: 0 0 auto !important;
    font-size: 15px !important;
    transition:
      transform
      0.2s ease !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtro-alternar.com-filtro-ativo {
    color: #0969da !important;
    border-color: #9fc8ee !important;
    background: #f5faff !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtro-alternar.com-filtro-ativo::after {
    content: "Ativo";
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 3px 7px !important;
    color: #166534 !important;
    background: #dcfce7 !important;
    border-radius: 999px !important;
    font-size: 8px !important;
    font-weight: 900 !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtros-retrateis {
    display: none !important;
    width: 100% !important;
    margin-bottom: 10px !important;
    padding: 11px !important;
    background: #f8fbfd !important;
    border: 1px solid #dbe5ed !important;
    border-radius: 13px !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtros-retrateis.aberto {
    display: block !important;
    animation:
      imperialFiltrosAbrir
      0.18s ease-out !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtros-retrateis
  .grade-filtros {
    gap: 8px !important;
  }

  .pwa-pagina-povoamentos
  .povoamentos-filtros-retrateis
  .barra-filtros {
    margin-top: 9px !important;
  }
}

@keyframes imperialFiltrosAbrir {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (min-width: 751px) {
  .pwa-pagina-povoamentos
  .povoamentos-filtros-retrateis {
    display: block !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTO_MODAL_COMPLETO_V1
================================================== */

.pwa-pagina-povoamentos
#modalDetalhes
.modal {
  width: min(820px, 94vw) !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

.pwa-pagina-povoamentos
#modalDetalhes
.modal-corpo {
  max-height: calc(92vh - 72px) !important;
  padding: 16px !important;
  overflow-y: auto !important;
  background: #f5f8fb !important;
}

.pwa-pagina-povoamentos
#modalDetalhes
.grade-detalhes {
  display: block !important;
}

.povoamento-detalhe-cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  margin-bottom: 12px;
  color: #ffffff;
  background:
    linear-gradient(
      135deg,
      #0b3b6e,
      #1262a8
    );
  border-radius: 14px;
}

.povoamento-detalhe-cabecalho span {
  display: block;
  margin-bottom: 4px;
  color: #cfe8ff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.povoamento-detalhe-cabecalho strong {
  display: block;
  font-size: 18px;
  line-height: 1.2;
}

.povoamento-detalhe-cabecalho small {
  display: block;
  margin-top: 5px;
  color: #dceeff;
  font-size: 11px;
  font-weight: 700;
}

.povoamento-detalhe-status-principal {
  flex: 0 0 auto;
  padding: 7px 11px;
  color: #ffffff;
  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.32);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.povoamento-detalhe-status-principal.ativo {
  color: #14532d;
  background: #dcfce7;
  border-color: #86efac;
}

.povoamento-detalhe-secoes {
  display: grid;
  gap: 9px;
}

.povoamento-detalhe-secao {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #dce6ee;
  border-radius: 13px;
}

.povoamento-detalhe-secao summary {
  display: flex;
  min-height: 49px;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  color: #163a59;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.povoamento-detalhe-secao summary::-webkit-details-marker {
  display: none;
}

.povoamento-detalhe-secao-icone {
  display: flex;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  align-items: center;
  justify-content: center;
  background: #edf5ff;
  border-radius: 8px;
  font-size: 15px;
}

.povoamento-detalhe-secao-titulo {
  flex: 1;
}

.povoamento-detalhe-secao-seta {
  color: #7890a3;
  font-size: 21px;
  transition: transform 0.18s ease;
}

.povoamento-detalhe-secao[open]
.povoamento-detalhe-secao-seta {
  transform: rotate(90deg);
}

.povoamento-detalhe-secao-corpo {
  padding: 0 12px 12px;
  border-top: 1px solid #edf1f5;
}

.povoamento-detalhe-grade {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding-top: 11px;
}

.povoamento-detalhe-campo {
  min-width: 0;
  padding: 10px;
  background: #f7fafc;
  border: 1px solid #e5edf3;
  border-radius: 10px;
}

.povoamento-detalhe-campo.campo-largo {
  grid-column: 1 / -1;
}

.povoamento-detalhe-campo span {
  display: block;
  margin-bottom: 5px;
  color: #718397;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.povoamento-detalhe-campo strong {
  display: block;
  color: #17354f;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.povoamento-detalhe-campo.campo-destaque strong {
  font-size: 14px;
}

.povoamento-detalhe-campo.campo-quantidade {
  background: #edf6ff;
  border-color: #c9e2f7;
}

.povoamento-detalhe-campo.campo-quantidade strong {
  color: #0969a8;
  font-size: 15px;
}

.povoamento-detalhe-campo.campo-total {
  background: #ecfdf3;
  border-color: #bbf7d0;
}

.povoamento-detalhe-campo.campo-total strong {
  color: #16723c;
  font-size: 15px;
}

.povoamento-detalhe-status {
  display: inline-flex !important;
  width: auto !important;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 9px !important;
}

.povoamento-detalhe-status.status-sucesso {
  color: #166534;
  background: #dcfce7;
}

.povoamento-detalhe-status.status-alerta {
  color: #92400e;
  background: #fef3c7;
}

.povoamento-detalhe-status.status-erro {
  color: #991b1b;
  background: #fee2e2;
}

.povoamento-detalhe-status.status-info {
  color: #1d4ed8;
  background: #dbeafe;
}

.povoamento-detalhe-status.status-neutro {
  color: #475569;
  background: #e8eef3;
}

.povoamento-detalhe-observacoes {
  display: grid;
  gap: 9px;
  padding-top: 11px;
}

.povoamento-detalhe-observacoes > div {
  padding: 11px;
  background: #f7fafc;
  border: 1px solid #e5edf3;
  border-radius: 10px;
}

.povoamento-detalhe-observacoes span {
  display: block;
  margin-bottom: 6px;
  color: #718397;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.povoamento-detalhe-observacoes p {
  color: #29465e;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
}

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  #modalDetalhes.modal-fundo {
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal {
    width: 100% !important;
    max-width: none !important;
    max-height: 94vh !important;
    margin: 0 !important;
    border-radius: 20px 20px 0 0 !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal-cabecalho {
    min-height: 58px !important;
    padding: 13px 15px !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal-corpo {
    max-height: calc(94vh - 58px) !important;
    padding: 11px !important;
    padding-bottom: 92px !important;
  }

  .povoamento-detalhe-cabecalho {
    padding: 13px;
  }

  .povoamento-detalhe-cabecalho strong {
    font-size: 15px;
  }

  .povoamento-detalhe-grade {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .povoamento-detalhe-campo {
    padding: 9px;
  }

  .povoamento-detalhe-secao summary {
    min-height: 47px;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal-acoes {
    position: sticky !important;
    bottom: -92px !important;
    z-index: 5 !important;
    margin:
      14px
      -11px
      -92px !important;
    padding:
      10px
      11px
      calc(
        10px +
        env(safe-area-inset-bottom)
      ) !important;
    background: #ffffff !important;
    border-top: 1px solid #dce6ee !important;
  }

  .pwa-pagina-povoamentos
  #modalDetalhes
  .modal-acoes button {
    width: 100% !important;
    min-height: 43px !important;
  }
}

@media (max-width: 360px) {
  .povoamento-detalhe-grade {
    grid-template-columns: 1fr;
  }

  .povoamento-detalhe-campo.campo-largo {
    grid-column: auto;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTOS_ACOES_PREMIUM_FIX_V1
================================================== */

@media (max-width: 750px) {

  .pwa-pagina-povoamentos
  .povoamento-premium-acoes:not(:empty) {
    display: grid !important;
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }

  .pwa-pagina-povoamentos
  .povoamento-premium-acoes
  .povoamento-premium-botao {
    display: flex !important;
    width: 100% !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


/* ==================================================
   IMPERIAL_POVOAMENTO_CHECKLIST_MODAL_V1
================================================== */

.povoamento-checklist-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 11px;
  padding: 12px;
  border-radius: 11px;
}

.povoamento-checklist-status > span {
  display: flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 17px;
  font-weight: 900;
}

.povoamento-checklist-status div {
  min-width: 0;
}

.povoamento-checklist-status strong {
  display: block;
  font-size: 12px;
  line-height: 1.2;
}

.povoamento-checklist-status small {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  line-height: 1.3;
}

.povoamento-checklist-status.preenchido {
  color: #166534;
  background: #ecfdf3;
  border: 1px solid #bbf7d0;
}

.povoamento-checklist-status.preenchido > span {
  color: #ffffff;
  background: #16a34a;
}

.povoamento-checklist-status.pendente {
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fde68a;
}

.povoamento-checklist-status.pendente > span {
  color: #ffffff;
  background: #f59e0b;
}

.povoamento-checklist-subtitulo {
  margin-top: 15px;
  margin-bottom: 7px;
  color: #516b80;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.povoamento-checklist-conferencias {
  display: grid;
  gap: 7px;
}

.povoamento-checklist-conferencia {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: 9px;
}

.povoamento-checklist-conferencia span {
  display: flex;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 900;
}

.povoamento-checklist-conferencia strong {
  font-size: 11px;
}

.povoamento-checklist-conferencia.confirmado {
  color: #166534;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}

.povoamento-checklist-conferencia.confirmado span {
  color: #ffffff;
  background: #22c55e;
}

.povoamento-checklist-conferencia.pendente {
  color: #64748b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.povoamento-checklist-conferencia.pendente span {
  color: #64748b;
  background: #e2e8f0;
}

.povoamento-checklist-observacao {
  margin-top: 13px;
  padding: 11px;
  background: #f7fafc;
  border: 1px solid #e5edf3;
  border-radius: 10px;
}

.povoamento-checklist-observacao span {
  display: block;
  margin-bottom: 6px;
  color: #718397;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.povoamento-checklist-observacao p {
  color: #29465e;
  font-size: 11px;
  line-height: 1.45;
  white-space: pre-wrap;
}
