.lista-cards,.lista-cards tbody{display:block;width:100%}.lista-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lista-cards tbody tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;padding:18px;margin:0 0 14px;border:1px solid var(--border,#ddd);border-radius:14px;background:var(--white,#fff)}.lista-cards tbody td{display:flex;flex-direction:column;white-space:normal!important;padding:4px!important;border:0!important;overflow-wrap:anywhere}.lista-cards td[data-rotulo]::before{content:attr(data-rotulo);font-size:12px;color:var(--text-muted,#666);font-weight:600;margin-bottom:8px}.lista-cards td[colspan]{grid-column:1/-1}.carrinho-flutuante{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:900;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;width:min(780px,92vw);padding:14px 18px;border:1px solid var(--border,#ddd);border-radius:16px;background:var(--white,#fff);box-shadow:0 4px 26px #0003}.com-carrinho{padding-bottom:120px}.entrada-pagamento,.detalhe-edicao{padding:20px;margin:20px 0;border:1px solid var(--border,#ddd);border-radius:14px}.entrada-pagamento label,.detalhe-edicao label{display:flex;flex-direction:column;gap:7px;margin:10px 0}.entrada-pagamento input[type=checkbox]{width:auto}.entrada-pagamento input,.entrada-pagamento select,.detalhe-edicao input,.detalhe-edicao textarea{padding:10px;border:1px solid var(--border,#ccc);border-radius:8px;color:inherit;background:var(--white,#fff)}#camposEntrada:not([hidden]){display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}#cancelarButton,.btn-danger{color:#fff!important}.numero-controle{display:inline-flex;align-items:stretch;max-width:100%;gap:3px}.numero-controle input{min-width:0;width:100%;appearance:textfield;-moz-appearance:textfield}.numero-controle input::-webkit-inner-spin-button,.numero-controle input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.numero-controle button{border:1px solid var(--border,#ddd);background:var(--white,#fff);color:inherit;border-radius:8px;min-width:28px;cursor:pointer}a.btn-primary{display:inline-flex;align-items:center;text-decoration:none;padding:12px 18px;border-radius:10px}.contagem-rodape{text-align:right;padding:15px}.card-hoje{padding:20px;border:1px solid var(--border,#ddd);border-radius:14px;background:var(--white,#fff);margin:12px 0}.card-hoje strong{display:block;font-size:24px;margin-top:10px}@media(max-width:600px){.lista-cards tbody tr{grid-template-columns:1fr 1fr}.carrinho-flutuante{gap:8px;padding:12px;font-size:13px}.detalhe-edicao{padding:12px}}
.saude-controles button,.detalhe-edicao button,#detalhesRelatorio button{min-height:42px;padding:10px 18px;border-radius:10px;border:1px solid transparent;font-weight:600;cursor:pointer}.saude-controles button:disabled,.detalhe-edicao button:disabled{opacity:.5;cursor:not-allowed}#conteudoSaude ol{padding-left:20px}.lista-cards{min-width:0!important}.detalhe-edicao form{margin-bottom:20px}.config-actions{padding:24px}.lista-cards td .numero-controle{max-width:160px}.carrinho-flutuante details{width:100%}.carrinho-flutuante details>div{max-height:30vh;overflow:auto}.carrinho-flutuante summary{cursor:pointer}.carrinho-flutuante li{margin:8px 0;list-style:none}
.lista-cards tbody tr{height:auto!important;min-height:0!important;align-items:start}.table-container:has(>.lista-cards){max-height:none!important;height:auto!important;overflow:visible!important}.lista-cards thead th{height:0!important;padding:0!important}.lista-cards td{min-width:0!important}.lista-cards tr td:last-child{grid-column:1/-1}.lista-cards .table-actions,.lista-cards .action-buttons{justify-content:flex-start!important}
#cancelarButton *{color:#fff!important}.config-card>#btnResetConfig{margin-top:16px}.detalhe-edicao{margin:20px 24px}.saude-controles label{display:flex;gap:8px;align-items:center}
/* Controles de quantidade com espaço reservado para o número. */
.produto-linha .numero-controle{width:100%;display:grid;grid-template-columns:minmax(54px,1fr) 28px 28px;gap:4px}
.produto-linha .numero-controle input{min-width:54px!important;width:100%!important;padding:6px!important;text-align:center}
.produto-linha .numero-controle button{padding:0!important;min-width:28px;flex:none}
@media(min-width:1101px){.produto-linha{grid-template-columns:minmax(220px,1fr) 130px 145px 120px 150px!important}}
@media(min-width:851px) and (max-width:1100px){.produto-linha{grid-template-columns:minmax(200px,1fr) 130px 145px 120px!important}}
@media(min-width:421px) and (max-width:850px){.produto-linha{grid-template-columns:repeat(2,minmax(140px,1fr))!important}}
@media(max-width:420px){.produto-linha{grid-template-columns:minmax(0,1fr)!important}}
#salvarRecebimento{border-radius:10px!important;padding:10px 18px!important;min-height:40px;border:0;font-weight:600}
#contasTableBody td[data-rotulo="Conta"],#contasTableBody td[data-rotulo="Banco"]{font-size:20px!important;font-weight:700;line-height:1.35!important}
#contasTableBody td[data-rotulo="Saldo"]{font-size:27px!important;font-weight:800;line-height:1.4!important;border-radius:10px;background:#f9731612;padding:12px!important;grid-column:span 2}
#contasTableBody tr{border-left:4px solid #f97316}
.zoom-passo{flex:none;min-width:36px;min-height:36px;border-radius:9px;border:1px solid var(--border,#ccc);background:var(--white,#fff);color:inherit;font-size:22px;cursor:pointer}
.config-zoom-control{flex-wrap:wrap}.config-zoom-control input[type=range]{flex:1;min-width:90px}
.exibir-relatorio{flex:none}.central-report-section>[hidden],.report-highlight>[hidden]{display:none!important}
@media print{.central-report-section>[hidden],.report-highlight>[hidden]{display:block!important}.exibir-relatorio{display:none}}

/* Navegação e leitura em celular. Desktop conserva seu layout. */
.mobile-menu-button,.mobile-menu-close,.mobile-menu-backdrop{display:none}
@media screen and (max-width:1000px){
  body.mobile-layout-ready{width:100%!important;max-width:none!important;min-height:calc(100dvh / var(--interface-zoom,1))!important;padding-top:58px}
  body.mobile-layout-ready .main-content,body.mobile-layout-ready main,body.mobile-layout-ready .main{margin-left:0!important;width:100%!important;max-width:100%!important}
  body.mobile-layout-ready .sidebar{width:min(300px,88vw)!important;height:calc(100dvh / var(--interface-zoom,1))!important;min-height:0!important;max-height:calc(100dvh / var(--interface-zoom,1))!important;transform:translateX(-110%)!important;visibility:hidden;transition:transform .2s ease,visibility .2s;z-index:2100;padding-top:48px}
  body.mobile-menu-open{overflow:hidden!important}
  body.mobile-menu-open .sidebar{transform:translateX(0)!important;visibility:visible}
  .mobile-menu-button{display:flex;align-items:center;justify-content:center;position:fixed;top:8px;left:12px;z-index:950;min-height:42px;padding:8px 18px;border:1px solid var(--border,#ddd);border-radius:12px;background:var(--white,#fff);color:var(--text-main,#222);box-shadow:0 2px 8px #0002;font-size:16px;font-weight:700}
  .mobile-menu-close{display:block;position:absolute;top:6px;right:12px;min-width:44px;min-height:44px;font-size:28px;background:transparent;color:inherit;border:1px solid #ffffff50;border-radius:10px}
  .mobile-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#0008;z-index:2000}
  body.mobile-layout-ready .sidebar-toggle{display:none!important}
  body.mobile-layout-ready .sidebar .sidebar-brand,body.mobile-layout-ready .sidebar .user-details{display:flex!important}
  body.mobile-layout-ready .sidebar .nav-title,body.mobile-layout-ready .sidebar .nav-item span:last-child,body.mobile-layout-ready .sidebar .logout-button{display:block!important}
  body.mobile-layout-ready .sidebar .nav-item{justify-content:flex-start!important;gap:12px;padding:10px 14px!important;min-height:46px;height:auto!important}
  body.mobile-layout-ready .sidebar .nav-icon{flex:0 0 26px;display:inline-flex!important;justify-content:center}
  body.mobile-layout-ready .sidebar .sidebar-header,body.mobile-layout-ready .sidebar .user-info{justify-content:flex-start!important;gap:12px;padding:12px 18px}
  body.mobile-layout-ready .sidebar .sidebar-nav{flex:1;min-height:0;overflow:auto;padding:12px}
  body.mobile-layout-ready .sidebar .sidebar-footer{padding:12px 18px max(12px,env(safe-area-inset-bottom))}
  body.mobile-layout-ready .sidebar .logout-button::before{display:none}
  .page-content,.dashboard-content{padding:12px!important}
  .topbar{padding:12px!important;flex-wrap:wrap;height:auto!important}
  .topbar-actions{display:flex!important;flex-wrap:wrap;gap:8px}
  .content-card,.config-card,.finance-card{padding:16px}
  .page-header,.content-header,.card-header,.vendas-header{flex-wrap:wrap;gap:12px}
  .page-header h1,.topbar h1{font-size:22px;line-height:1.25}
  .form-grid,.form-row,.produto-linha,.venda-dados,.finance-form-grid,.finance-filters,.receivable-form-grid,#camposEntrada:not([hidden]){grid-template-columns:minmax(0,1fr)!important}
  .form-grid>*,.form-row>*{grid-column:auto!important}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:44px}
  input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px;flex:none}
  button,.btn,.btn-primary,.btn-secondary,.btn-orange,.btn-danger{min-height:44px;white-space:normal;line-height:1.3}
  .numero-controle,.produto-linha .numero-controle{display:grid;grid-template-columns:minmax(64px,1fr) 44px 44px!important;width:100%;gap:5px}
  .numero-controle button,.produto-linha .numero-controle button{min-width:44px!important;min-height:44px;font-size:20px}
  .saude-controles{align-items:stretch}.saude-controles label{flex:1 1 100%;flex-direction:column;align-items:stretch}.saude-controles button{flex:1 1 140px}
  .saude-barra{grid-template-columns:55px minmax(25px,1fr) minmax(90px,auto)}
  .lista-cards tbody tr{grid-template-columns:minmax(0,1fr)!important;padding:14px;gap:10px}
  #contasTableBody td[data-rotulo="Saldo"]{grid-column:auto;font-size:28px!important}
  .mobile-table{display:block!important;min-width:0!important;width:100%!important;max-width:100%!important}
  .mobile-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .mobile-table tbody{display:block;width:100%}
  .mobile-table tr.mobile-table-row{display:grid;grid-template-columns:minmax(0,1fr);height:auto!important;padding:14px;margin-bottom:12px;border:1px solid var(--border,#ddd);border-radius:12px;background:var(--white,#fff)}
  .mobile-table .mobile-table-row td{display:block!important;width:auto!important;min-width:0!important;max-width:100%;height:auto!important;padding:8px 0!important;white-space:normal!important;overflow-wrap:anywhere;border:0!important;text-align:left!important}
  .mobile-table-row td[data-mobile-label]::before{content:attr(data-mobile-label);display:block;font-size:12px;font-weight:700;color:var(--text-muted,#666);margin-bottom:5px}
  .mobile-table-row td[data-mobile-label=""]::before{display:none}
  .mobile-table td[colspan]{white-space:normal!important;overflow-wrap:anywhere}
  .table-container:has(>.mobile-table){max-height:65dvh!important;overflow:auto!important}
  .table-actions,.action-buttons,.finance-row-actions{display:flex;gap:8px;flex-wrap:wrap!important;justify-content:flex-start!important}
  .carrinho-flutuante{left:12px;right:12px;bottom:max(8px,env(safe-area-inset-bottom));transform:none;width:auto;max-width:none;gap:8px;padding:12px}
  .com-carrinho{padding-bottom:190px}.carrinho-flutuante details>div{max-height:25dvh}.carrinho-flutuante summary{padding:8px 0}
  .detalhe-edicao{margin:12px;width:auto!important;padding:14px}
  dialog,#detalhesRelatorio{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:16px;overflow:auto}
  .modal-header,.modal-footer{gap:10px;flex-wrap:wrap}
}
.nav-title{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  gap:8px; padding:8px 12px; border:0; background:transparent; color:inherit;
  font:inherit; font-weight:700; text-align:left; cursor:pointer;
}
.nav-title .nav-section-caret{ transition:transform .18s ease; }
.nav-section-collapsed .nav-section-items{ display:none; }
.nav-section-collapsed .nav-section-caret{ transform:rotate(-90deg); }

@media (max-width:600px){
  .nav-title{ min-height:40px; padding:9px 12px; }
}

/* Impede o zoom automático do iPhone nos buscadores da venda, inclusive
   quando o tamanho geral da interface está configurado abaixo de 100%. */
@media screen and (max-width: 700px) {
  body:has(#btnFinalizar) #clienteBusca,
  body:has(#btnFinalizar) #produtoBusca {
    font-size: max(16px, calc(16px / var(--interface-zoom, 1))) !important;
    line-height: 1.2 !important;
    touch-action: manipulation;
  }
}

/* Superfícies neutras restantes no modo escuro.  As cores funcionais
   (ações, estados, alertas e destaques) continuam sendo definidas pelos
   seletores específicos de cada componente. */
:is(body.dark-mode, html.dark-mode) :is(
  .sales-report-modal,
  .sales-report-content,
  .sales-report-card,
  .client-report-modal,
  .client-report-body,
  .report-card,
  .report-summary-card,
  .report-mini-card,
  .reports-card,
  .central-report-section,
  .central-report-subsection,
  .devolucao-venda-modal,
  .estorno-devolucao-modal,
  .devolucao-historico-card,
  .historico-modal,
  #historicoModalConteudo,
  #historicoDevolucoesModal .modal,
  .autocomplete-list
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .autocomplete-resultados,
  .autocomplete-resultados .autocomplete-item,
  .autocomplete-resultados .autocomplete-vazio
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .central-report-section:not(.report-highlight) .card-header h3,
  .central-report-section:not(.report-highlight) .card-header p,
  .central-report-section:not(.report-highlight) h4
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media screen and (min-width: 701px) {
  :is(#clientsTableBody, #tabelaContas) td[data-mobile-label="Cliente"] {
    background: inherit !important;
    border-left-color: transparent !important;
  }
}

/* O histórico de vendas usa fundo inline branco no HTML antigo. */
:is(body.dark-mode, html.dark-mode) #historicoModal {
  background: rgba(0, 0, 0, .78) !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .sales-report-modal .modal-header,
  .sales-report-modal .sales-report-content,
  .client-report-modal .modal-header,
  .client-report-modal .client-report-body,
  #historicoModalConteudo .card-header
) {
  background-color: #1c1c1e !important;
  color: #ffffff !important;
}

/* Cards de métricas: escurecer somente o preenchimento, preservando as
   bordas coloridas que comunicam o tipo da métrica. */
:is(body.dark-mode, html.dark-mode) :is(
  .sales-report-card,
  .client-report-stat,
  .sales-report-stat,
  .report-card,
  .report-summary-card,
  .report-mini-card,
  .report-highlight-card
) {
  background-color: #1c1c1e !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .sales-report-card span,
  .sales-report-card strong,
  .client-report-stat span,
  .client-report-stat strong,
  .sales-report-stat span,
  .sales-report-stat strong,
  .report-card h3,
  .report-card p,
  .report-card strong,
  .report-summary-card h3,
  .report-summary-card p,
  .report-summary-card strong,
  .report-mini-card h3,
  .report-mini-card p,
  .report-mini-card strong
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Cabeçalhos e linhas de tabelas são neutros; badges e células com classes
   de status continuam recebendo suas cores próprias. */
:is(body.dark-mode, html.dark-mode) :is(
  .modal-overlay .data-table thead th,
  .sales-report-modal table thead th,
  .client-report-modal table thead th,
  #historicoTabelaContainer table thead th,
  #historicoDevolucoesModal table thead th
) {
  background-color: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .modal-overlay .data-table tbody td,
  .sales-report-modal table tbody td,
  .client-report-modal table tbody td,
  #historicoTabelaContainer table tbody td,
  #historicoDevolucoesModal table tbody td
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .autocomplete-list,
  .autocomplete-item,
  .product-suggestions,
  .produto-sugestoes
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

/* Títulos neutros dos formulários de compra permanecem legíveis sem
   substituir o laranja dos ícones funcionais. */
:is(body.dark-mode, html.dark-mode):is(:has(#purchaseForm), :has(#purchaseItems))
  :is(.content-card h2, .content-card h3) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Títulos neutros dos cards de venda e compra. Os ícones SVG mantêm as
   cores próprias definidas no HTML. */
:is(body.dark-mode, html.dark-mode) :is(
  .vendas-box-header h2,
  .vendas-box-header p
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Ficha de cliente: transformar as células e a tabela neutras em superfícies
   escuras, mantendo nome, saldo e status com suas cores funcionais. */
:is(body.dark-mode, html.dark-mode) :is(
  .client-view-item,
  .client-summary-card,
  .client-table-wrapper,
  .client-history-table,
  #viewClientSalesBody tr td
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .client-view-item span,
  .client-view-item strong,
  .client-summary-card span,
  .client-summary-card strong,
  .client-section-header h3,
  .client-section-header p,
  .client-history-table th,
  .client-history-table td
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  #viewClientName,
  #viewClientOpenBalance,
  #viewClientCreditBalance
) {
  -webkit-text-fill-color: currentColor !important;
}

:is(body.dark-mode, html.dark-mode) #viewClientName {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
}
:is(body.dark-mode, html.dark-mode) #viewClientOpenBalance {
  color: #dc2626 !important;
  -webkit-text-fill-color: #dc2626 !important;
}
:is(body.dark-mode, html.dark-mode) #viewClientCreditBalance {
  color: #f97316 !important;
  -webkit-text-fill-color: #f97316 !important;
}

:is(body.dark-mode, html.dark-mode) .client-history-table thead th {
  background-color: #2c2c2e !important;
  border-color: #4b5563 !important;
}

/* Detalhes do fornecedor: a grade cadastral era branca por estilo global. */
:is(body.dark-mode, html.dark-mode) #supplierDetailModal :is(.details-grid, .detail-item) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
}

:is(body.dark-mode, html.dark-mode) #supplierDetailModal :is(.detail-item span, .detail-item strong) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Diálogos criados dinamicamente (por exemplo, detalhes da venda) usam
   estilos inline claros; no tema escuro eles seguem as mesmas superfícies
   dos demais modais. */
:is(body.dark-mode, html.dark-mode) dialog {
  background: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) dialog::backdrop {
  background: rgba(0, 0, 0, .78) !important;
}

/* Página de detalhes da conta a receber. */
:is(body.dark-mode, html.dark-mode):has(#tabelaHistoricoRecebimentos) :is(
  .details-grid,
  .details-grid .detail-item,
  #produtosVendaCard,
  .receivable-product-item
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
}

:is(body.dark-mode, html.dark-mode):has(#tabelaHistoricoRecebimentos) :is(
  .details-grid .detail-item span,
  .details-grid .detail-item strong,
  .receivable-product-item,
  .receivable-products-total
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode):has(#tabelaHistoricoRecebimentos) .data-table thead th {
  background-color: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode):has(#tabelaHistoricoRecebimentos) .data-table tbody td {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode):has(#tabelaHistoricoRecebimentos) :is(
  #cliente,
  #saldoRestante,
  #vencimento,
  #recebimentoButton,
  .btn-recibo-pagamento,
  .recebimento-estornado-badge
) {
  -webkit-text-fill-color: currentColor !important;
}

:is(body.dark-mode, html.dark-mode):has(#tabelaHistoricoRecebimentos) #cliente {
  color: #2563eb !important;
  -webkit-text-fill-color: #2563eb !important;
}
:is(body.dark-mode, html.dark-mode):has(#tabelaHistoricoRecebimentos) :is(#saldoRestante, #vencimento) {
  color: #dc2626 !important;
  -webkit-text-fill-color: #dc2626 !important;
}

/* Campos específicos da compra têm seletores com ID no CSS da página; esta
   regra final garante o preenchimento escuro também nesses campos. */
:is(body.dark-mode, html.dark-mode):has(#purchaseForm) :is(
  #purchaseForm input,
  #purchaseForm select,
  #purchaseForm textarea,
  .content-card:has(#addItemButton) input,
  .content-card:has(#addItemButton) select
) {
  background-color: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Detalhes de contas a pagar: resumo, grade cadastral e histórico. */
:is(body.dark-mode, html.dark-mode):has(#historicoPagamentosTabela) :is(
  .conta-resumo-item,
  .details-grid,
  .details-grid .detail-item,
  #historicoPagamentosConta,
  #observacoesCard
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
}

:is(body.dark-mode, html.dark-mode):has(#historicoPagamentosTabela) :is(
  .conta-resumo-item span,
  .details-grid .detail-item span,
  .details-grid .detail-item strong:not(.valor-destaque):not(.status-detalhe),
  #historicoPagamentosConta .card-header h2,
  #historicoPagamentosConta .card-header p
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode):has(#historicoPagamentosTabela) .data-table thead th {
  background-color: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode):has(#historicoPagamentosTabela) .data-table tbody td {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

/* Financeiro: barra de período e saldos neutros no tema escuro. */
:is(body.dark-mode, html.dark-mode) .financeiro-page :is(
  .finance-period-bar,
  .finance-period-button,
  .finance-today-button,
  .finance-secondary-button
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) .financeiro-page :is(
  .finance-period-info span,
  .finance-period-info strong,
  .finance-balance-label,
  .finance-balance-card > span,
  .finance-summary-header span
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) .financeiro-page :is(
  #saldoInicial,
  #saldoAtual,
  #saldoPrevisto
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Cabeçalhos e rodapés dos modais de cadastro não devem permanecer brancos
   no tema escuro. */
:is(body.dark-mode, html.dark-mode) :is(
  #productModal .modal-header,
  #productModal .modal-footer,
  #contaModal .modal-header,
  #contaModal .modal-footer,
  #modalDivida .modal-header,
  #modalDivida .modal-footer,
  #userModal .modal-header,
  #userModal .modal-footer
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  #productModal .modal-header h2,
  #productModal .modal-header p,
  #contaModal .modal-header h2,
  #contaModal .modal-header p,
  #modalDivida .modal-header h2,
  #modalDivida .modal-header p,
  #userModal .modal-header h2,
  #userModal .modal-header p
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .welcome-card h2,
  .welcome-card p
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) #viewClientModal :is(
  .client-history-summary-title,
  .client-history-summary-description
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) #viewClientModal .client-history-summary-action {
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Aparência mobile aprovada: linhas suaves em vez de formulário encaixotado. */
@media screen and (max-width:1000px){
 body:has(#btnFinalizar) .vendas-box:has(#cliente),
 body:has(#purchaseForm) .content-card:has(#purchaseForm){background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
 body:has(#btnFinalizar) .vendas-box:has(#cliente)>.vendas-box-header,
 body:has(#purchaseForm) .content-card:has(#purchaseForm)>.card-header{display:none!important}
 body:has(#btnFinalizar) .venda-dados,
 body:has(#purchaseForm) #purchaseForm .form-grid{gap:7px!important}
 body:has(#btnFinalizar) .venda-campo,
 body:has(#purchaseForm) #purchaseForm .form-group{min-height:48px!important;padding:6px 10px!important;border:1px solid color-mix(in srgb,var(--border,#ddd) 60%,transparent)!important;border-radius:11px!important;background:var(--white,#fff)!important}
 body:has(#btnFinalizar) .venda-campo :is(input,select),
 body:has(#purchaseForm) #purchaseForm .form-group :is(input,select,textarea){background:transparent!important;border:0!important;box-shadow:none!important;padding:2px 0!important}
 body:has(#btnFinalizar) .venda-campo :is(input,select):focus,
 body:has(#purchaseForm) #purchaseForm .form-group :is(input,select,textarea):focus{outline:0!important;border:0!important;box-shadow:none!important}
 body:has(#btnFinalizar) .vendas-box:has(#btnAdicionarItem)>.vendas-box-header h2,
 body:has(#btnFinalizar) .carrinho-box>.vendas-box-header h2,
 body:has(#purchaseForm) .content-card:has(#addItemButton)>.card-header h3,
 body:has(#purchaseForm) .content-card:has(#purchaseItems)>.card-header h3{color:#f97316!important}
 body:has(#btnFinalizar) .vendas-box:has(#btnAdicionarItem),
 body:has(#purchaseForm) .content-card:has(#addItemButton){padding:10px!important}
 body:has(#btnFinalizar) .produto-linha>.produto-campo,
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group{background:transparent!important;border:0!important;padding:0!important}
 body:has(#btnFinalizar) .produto-linha>.produto-campo:first-child,
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:first-child{padding:6px 9px!important;border:1px solid var(--border,#ddd)!important;border-radius:10px!important;background:var(--background,#f5f5f5)!important}
 body:has(#btnFinalizar) .produto-linha>.produto-campo:first-child :is(input,select),
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:first-child :is(input,select){border:0!important;background:transparent!important;box-shadow:none!important}
 body:has(#btnFinalizar) #btnAdicionarItem,
 body:has(#purchaseForm) #addItemButton{border:1px solid #f97316!important;background:transparent!important;color:#f97316!important;border-radius:9px!important}
 body:has(#btnFinalizar) .carrinho-flutuante,
 body:has(#purchaseForm) .carrinho-flutuante{display:none!important}
 body:has(#btnFinalizar).com-carrinho,
 body:has(#purchaseForm).com-carrinho{padding-bottom:0!important}
 body:has(#btnFinalizar) .carrinho-box,
 body:has(#purchaseForm) .content-card:has(#purchaseItems){overflow:visible!important}
 body:has(#btnFinalizar) .carrinho-footer,
 body:has(#purchaseForm) .compra-resumo-acoes{position:sticky!important;bottom:0!important;border-radius:0 0 12px 12px!important}
 body:has(#btnFinalizar) #btnFinalizar,
 body:has(#purchaseForm) #finalizePurchaseButton{background:#22a447!important;border-color:#22a447!important;color:#fff!important}
}

/* Venda e compra compactas no celular, mantendo fluxo e ordem existentes. */
@media screen and (max-width:1000px){
 body:has(#btnFinalizar) .dashboard-content,
 body:has(#purchaseForm) .dashboard-content{padding:7px!important}
 body:has(#btnFinalizar) .section-header,
 body:has(#purchaseForm) .section-header{margin-bottom:7px!important;gap:5px!important}
 body:has(#btnFinalizar) .section-header h2,
 body:has(#purchaseForm) .section-header h2{font-size:18px!important;line-height:1.15!important}
 body:has(#btnFinalizar) .section-header p,
 body:has(#purchaseForm) .section-header p{font-size:11px!important;margin:2px 0!important}

 body:has(#btnFinalizar) .vendas-box,
 body:has(#purchaseForm) .page-content>.content-card{padding:9px!important;margin-bottom:7px!important;border-radius:12px!important;box-shadow:0 3px 12px #00000017!important}
 body:has(#btnFinalizar) .vendas-box-header,
 body:has(#purchaseForm) .page-content>.content-card>.card-header{padding:0 0 7px!important;margin:0 0 7px!important;min-height:0!important}
 body:has(#btnFinalizar) .vendas-box-header h2,
 body:has(#purchaseForm) .page-content>.content-card>.card-header h3{font-size:15px!important;line-height:1.15!important}
 body:has(#btnFinalizar) .vendas-box-header p,
 body:has(#purchaseForm) .page-content>.content-card>.card-header p{font-size:10px!important;line-height:1.2!important;margin-top:2px!important}

 body:has(#btnFinalizar) .venda-dados{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;background:transparent!important}
 body:has(#btnFinalizar) .venda-campo{gap:2px!important;padding:6px 7px!important;border:0!important;border-radius:9px!important;background:color-mix(in srgb,var(--background,#f3f4f6) 78%,transparent)!important}
 body:has(#btnFinalizar) .venda-campo:has(#cliente),
 body:has(#btnFinalizar) .venda-campo:has(#observacoes){grid-column:1/-1!important}
 body:has(#btnFinalizar) :is(.venda-campo,.produto-campo) label,
 body:has(#purchaseForm) .form-group label{font-size:10px!important;margin:0 0 2px!important;line-height:1.15!important}
 body:has(#btnFinalizar) .venda-campo :is(input,select),
 body:has(#purchaseForm) #purchaseForm :is(input,select){height:34px!important;min-height:34px!important;padding:4px 7px!important;border-width:0 0 1px!important;border-radius:0!important;background:transparent!important;font-size:13px!important}
 body:has(#btnFinalizar) .venda-campo :is(input,select):focus,
 body:has(#purchaseForm) #purchaseForm :is(input,select):focus{outline:0!important;border-bottom-color:#f97316!important;box-shadow:none!important}
 body:has(#btnFinalizar) #observacoes,
 body:has(#purchaseForm) #purchaseNotes{height:34px!important;min-height:34px!important;max-height:54px!important;padding:5px 7px!important;resize:vertical!important;font-size:13px!important}

 body:has(#btnFinalizar) .produto-linha{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;align-items:end!important}
 body:has(#btnFinalizar) .produto-linha>.produto-campo:first-child{grid-column:1/-1!important}
 body:has(#btnFinalizar) .produto-campo{gap:2px!important;min-width:0!important}
 body:has(#btnFinalizar) .produto-campo :is(input,select,.produto-subtotal){height:34px!important;min-height:34px!important;padding:4px 6px!important;font-size:12px!important}
 body:has(#btnFinalizar) .produto-linha .numero-controle{grid-template-columns:minmax(34px,1fr) 30px 30px!important;gap:2px!important}
 body:has(#btnFinalizar) .produto-linha .numero-controle button{min-width:30px!important;min-height:34px!important;height:34px!important;font-size:15px!important}
 body:has(#btnFinalizar) #btnAdicionarItem{width:100%!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:3px 5px!important;font-size:11px!important}

 body:has(#purchaseForm) #purchaseForm .form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;padding:0!important}
 body:has(#purchaseForm) #purchaseForm .form-group{padding:6px 7px!important;border-radius:9px!important;background:color-mix(in srgb,var(--background,#f3f4f6) 78%,transparent)!important}
 body:has(#purchaseForm) #purchaseForm .form-group:has(#supplier),
 body:has(#purchaseForm) #purchaseForm .form-group-full{grid-column:1/-1!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:0!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:first-child{grid-column:1/-1!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group{min-width:0!important;padding:5px 6px!important;border-radius:9px!important;background:color-mix(in srgb,var(--background,#f3f4f6) 78%,transparent)!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) :is(input,select,#itemSubtotal){height:34px!important;min-height:34px!important;padding:4px 6px!important;font-size:12px!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton)>div:has(>#addItemButton){margin:5px 0 0!important}
 body:has(#purchaseForm) #addItemButton{width:100%!important;height:34px!important;min-height:34px!important;padding:3px 8px!important;font-size:12px!important}

 body:has(#btnFinalizar) .carrinho-box .vendas-box-header,
 body:has(#purchaseForm) .content-card:has(#purchaseItems) .card-header{padding:0 0 6px!important;margin:0!important}
 body:has(#btnFinalizar) .carrinho-box .table-container,
 body:has(#purchaseForm) .content-card:has(#purchaseItems) .table-container{max-height:180px!important;overflow:auto!important;border-radius:8px!important}
 body:has(#btnFinalizar) .mais-opcoes,
 body:has(#purchaseForm) .mais-opcoes{margin-top:5px!important}
 body:has(#btnFinalizar) .mais-opcoes summary,
 body:has(#purchaseForm) .mais-opcoes summary{padding:7px!important;font-size:11px!important}
 body:has(#btnFinalizar) .carrinho-footer,
 body:has(#purchaseForm) .compra-resumo-acoes{position:sticky!important;bottom:0!important;z-index:20!important;margin:6px -9px -9px!important;padding:8px 9px max(8px,env(safe-area-inset-bottom))!important;background:var(--white,#fff)!important;border-top:1px solid var(--border,#ddd)!important;box-shadow:0 -8px 22px #0002!important}
 body:has(#btnFinalizar) .carrinho-footer :is(button,strong),
 body:has(#purchaseForm) .compra-resumo-acoes :is(button,strong){min-height:36px!important;font-size:12px!important}
 body:has(#purchaseForm) #finalizePurchaseButton{background:#22a447!important;border-color:#22a447!important;color:#fff!important}
}
@media(prefers-reduced-motion:reduce){body.mobile-layout-ready .sidebar{transition:none}}
@media print{.mobile-menu-button,.mobile-menu-close,.mobile-menu-backdrop{display:none!important}}
@media screen and (max-width:1000px){
  body.mobile-layout-ready .sidebar .nav-item span:last-child,body.mobile-layout-ready .sidebar .sidebar-brand,body.mobile-layout-ready .sidebar .user-details,body.mobile-layout-ready .sidebar .nav-title{width:auto!important;opacity:1!important;overflow:visible!important}
  body.mobile-layout-ready .sidebar .logout-button{font-size:14px!important;width:100%;padding:10px!important}
  body.mobile-layout-ready .sidebar{z-index:2100!important}
  .page-toolbar button,.page-toolbar .btn-secondary,.page-toolbar .btn-orange,#showAllStockButton,#showLowStockButton,#searchStockButton{font-size:14px!important}
}

@media screen and (max-width:1000px){
  .table-container>.lista-cards{width:100%!important;max-width:100%!important;min-width:0!important}
}
@media screen and (max-width:1000px){
  body.mobile-layout-ready .table-container table.lista-cards,body.mobile-layout-ready .table-container table.mobile-table{width:100%!important;max-width:100%!important;min-width:0!important}
}

/* Camada de tema: prioridade uniforme sobre regras legadas com !important. */
@layer interface-ajustes {
/* Superfícies distintas, contraste e acentos âmbar. */
@media screen {
}

}

/* Nome como título do cartão, preservando código e demais informações. */
@media screen {
  :is(#stockTableBody,#productsTableBody) td[data-rotulo="Produto"]{
    grid-column:1/-1;order:-1;font-size:22px!important;font-weight:750!important;line-height:1.4!important;
    padding:12px 14px!important;border-left:3px solid #c26718!important;border-radius:8px;background:#fff3e5!important;color:#38220e!important;
  }
  :is(#stockTableBody,#productsTableBody) td[data-rotulo="Produto"]::before{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
}
@media screen and (max-width:1000px){
  :is(#clientsTableBody,#tabelaContas) td[data-mobile-label="Cliente"]{
    order:-1;font-size:21px!important;font-weight:750!important;line-height:1.4!important;
    padding:12px 14px!important;border-left:3px solid #c26718!important;border-radius:8px;background:#fff3e5!important;color:#38220e!important;
  }
  :is(#clientsTableBody,#tabelaContas) td[data-mobile-label="Cliente"]::before{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
}

/* Compensação da escala escolhida pelo usuário em telas móveis. */
@media screen and (max-width:1000px){
 body.mobile-layout-ready .sidebar{width:min(300px,calc(88vw / var(--interface-zoom,1)))!important}
 body.mobile-layout-ready .mobile-menu-backdrop{width:calc(100vw / var(--interface-zoom,1));height:calc(100dvh / var(--interface-zoom,1))}
 body.mobile-layout-ready :is(dialog,#detalhesRelatorio,.modal,.modal-content,.modal-card,.client-modal,.client-view-modal,.client-confirm-modal,.finance-modal-card,.receivable-modal-card){max-width:calc(100vw / var(--interface-zoom,1) - 24px)!important;width:calc(100vw / var(--interface-zoom,1) - 24px)!important;max-height:calc(100dvh / var(--interface-zoom,1) - 24px)!important}
}

/* Refinamentos móveis a partir da conferência em aparelho real. */
.custo-produto-info{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:6px;color:var(--text-secondary,#666);font-size:11px;line-height:1.35}
.mais-opcoes{margin:14px 0;border:1px solid var(--border,#ddd);border-radius:12px;background:var(--white,#fff)}
.mais-opcoes>summary{cursor:pointer;padding:12px 16px;font-size:13px;font-weight:700;color:var(--text-secondary,#666)}
.mais-opcoes .entrada-pagamento{margin:0;border:0;border-top:1px solid var(--border,#ddd);border-radius:0;background:transparent}
@media screen and (max-width:1000px){
  :is(.modal-overlay,.layout-modal-overlay,.finance-modal-overlay,.finance-modal,.receivable-modal-overlay,.receivable-modal,.client-modal-overlay,.debt-modal-overlay,.account-modal-overlay,.system-global-confirm-overlay,[class$="-modal-overlay"]){position:fixed!important;inset:auto!important;top:calc(var(--mobile-vv-top,0px)/var(--interface-zoom,1))!important;left:0!important;right:auto!important;bottom:auto!important;width:calc(100vw/var(--interface-zoom,1))!important;height:calc(var(--mobile-vv-height,100dvh)/var(--interface-zoom,1))!important;max-width:none!important;max-height:none!important;padding:calc(12px/var(--interface-zoom,1))!important;overflow-x:hidden!important;overflow-y:auto!important;align-items:flex-start!important;justify-content:center!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  :is(.modal-overlay>.modal,.layout-modal,.finance-modal-card,.finance-modal-content,.receivable-modal-card,.receivable-modal-content,.system-global-confirm,.client-modal,.client-view-modal,.client-confirm-modal,.sales-report-modal,.devolucao-venda-modal,.estorno-devolucao-modal,.debt-modal,.account-modal,.modal-dialog,.modal-content,.modal-card){width:100%!important;max-width:min(620px,calc(100vw/var(--interface-zoom,1) - 24px))!important;max-height:calc((var(--mobile-vv-height,100dvh) - 24px)/var(--interface-zoom,1))!important;margin:calc(12px/var(--interface-zoom,1)) auto 0!important;display:flex!important;flex-direction:column!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding-block:16px}
  :is(.modal-overlay .modal-body,.modal-overlay .client-form-body,.modal-overlay .client-view-body,.modal-overlay .client-confirm-body,.modal-overlay .finance-modal-body,.modal-overlay .receivable-modal-body,.finance-modal .finance-modal-body,.receivable-modal .receivable-modal-body){flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding-bottom:24px}
  .modal-overlay>.modal>form,.modal-overlay>.modal>.modal-body,.modal-overlay>.modal form>.form-grid,.client-modal .modal-body{min-height:0;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
  #productModal .modal>form{display:flex!important;flex-direction:column;min-height:0;overflow:hidden!important}
  #productModal .modal>form>.form-grid{display:grid!important;overflow-y:auto!important;padding:16px!important}
  #productModal .modal-footer{flex:0 0 auto;background:inherit!important}
  .system-global-confirm{height:auto!important;max-height:min(520px,calc((var(--mobile-vv-height,100dvh) - 24px)/var(--interface-zoom,1)))!important;padding:20px!important}
  dialog[open]{position:fixed!important;inset:auto!important;top:calc((var(--mobile-vv-top,0px) + 12px)/var(--interface-zoom,1))!important;left:calc(50vw/var(--interface-zoom,1))!important;transform:translateX(-50%)!important;width:calc(100vw/var(--interface-zoom,1) - 24px)!important;max-width:620px!important;max-height:calc((var(--mobile-vv-height,100dvh) - 24px)/var(--interface-zoom,1))!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .system-global-confirm-actions{flex:0 0 auto}
}

.modal-content,.modal-dialog,.modal-card{max-height:calc(100dvh - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch}
@media(max-width:600px){
  .modal-content,.modal-dialog,.modal-card{width:min(96vw,620px);max-height:calc(100dvh - 16px);overflow-y:auto}
  .form-group,.form-row,.form-grid,.venda-dados,.finance-form-grid{gap:8px!important;margin-bottom:8px!important}
  .form-group label,.form-row label{margin-bottom:3px!important}
}

/* Ajustes finais do layout mobile aprovado. */
@media screen and (max-width:1000px){
 body:has(#btnFinalizar) .venda-campo:has(#dataVenda){grid-column:2!important;grid-row:2!important;min-width:0!important}
 body:has(#btnFinalizar) .produto-linha{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body:has(#btnFinalizar) .produto-linha>#btnAdicionarItem{grid-column:1/-1!important}
 body:has(#btnFinalizar) .carrinho-footer{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
 body:has(#btnFinalizar) .total-venda{display:grid!important;grid-template-columns:auto auto!important;align-items:center!important;justify-content:start!important;gap:3px 8px!important}
 body:has(#btnFinalizar) .venda-indicadores{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px 8px!important;margin:0!important}
 body:has(#btnFinalizar) .venda-acoes{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
 body:has(#btnFinalizar) .venda-acoes button{width:100%!important;min-height:36px!important;padding:5px 8px!important}

 body:has(#purchaseForm) #purchaseForm :is(input,select){height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) #purchaseNotes{height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) :is(input,select,#itemSubtotal){height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) div:has(>#addItemButton){margin:5px 0!important;padding:0!important}
 body:has(#purchaseForm) #addItemButton{height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) .compra-resumo-acoes>div:last-child{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important;padding:0!important}
 body:has(#purchaseForm) :is(#cancelPurchaseButton,#finalizePurchaseButton){width:100%!important;min-height:36px!important;padding:5px 8px!important}
 body:has(#purchaseForm) #purchaseForm :is(input,select,textarea),
 body:has(#purchaseForm) .content-card:has(#addItemButton) :is(input,select,textarea){font-size:16px!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#product){grid-column:1/-1!important}
}
/* Mantém o botão do produto dentro da grade quando a sidebar reduz a área útil. */
@media(min-width:851px) and (max-width:1100px){
  .produto-linha>#btnAdicionarItem{width:100%!important;min-width:0!important}
}
@media(min-width:851px) and (max-width:1100px){
  .produto-linha{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .produto-linha .produto-campo:first-child{grid-column:span 2}
  .produto-linha>#btnAdicionarItem{grid-column:span 2;width:100%!important}
}

/* Carrinho compacto e cartões densos. */
.carrinho-flutuante{
  left:auto!important;right:18px!important;bottom:16px!important;transform:none!important;
  width:min(360px,calc(100vw - 36px))!important;padding:10px 12px!important;gap:6px 10px!important;
  border-radius:14px!important;font-size:12px!important
}
.carrinho-flutuante>strong{font-size:14px}
.carrinho-flutuante>span{margin-left:auto;text-align:right}
.carrinho-flutuante details{font-size:12px}
.carrinho-flutuante details>summary{padding:3px 0}
.com-carrinho{padding-bottom:100px}

.lista-cards tbody tr{
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;
  gap:8px 12px!important;padding:12px!important;margin-bottom:10px!important
}
.lista-cards tbody td{padding:2px!important;font-size:13px!important;line-height:1.3!important}
.lista-cards td[data-rotulo]::before{font-size:10px!important;margin-bottom:3px!important}
:is(#stockTableBody,#productsTableBody) td[data-rotulo="Produto"]{
  font-size:18px!important;padding:9px 11px!important;line-height:1.25!important
}

/* O conteúdo, e não o popup inteiro, recebe a rolagem no celular. */
#salesReportModal .sales-report-modal{display:flex!important;flex-direction:column!important;overflow:hidden!important}
#salesReportModal .sales-report-content{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

@layer interface-ajustes{
}

@media(max-width:600px){
  .lista-cards tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:10px!important;gap:7px 10px!important}
  .lista-cards tbody td{font-size:12px!important}
  .lista-cards tr td:last-child,.lista-cards td[colspan],
  :is(#stockTableBody,#productsTableBody) td[data-rotulo="Produto"]{grid-column:1/-1!important}
  .carrinho-flutuante{right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:calc(100vw - 20px)!important}
  .sales-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .sales-report-card{padding:10px!important}
  .sales-report-card strong{font-size:15px!important}
}
@media(max-width:600px){
  .carrinho-flutuante{width:min(330px,calc(100vw - 20px))!important}
}
.produto-valor-fixo{display:flex;align-items:center;min-height:36px;padding:6px 10px;border-radius:7px;background:var(--background,#f5f5f5);color:var(--text,#222);font-size:14px;font-weight:700}
.preco-fixo-controle{display:none!important}
.ajustes-valor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:600px){
  .lista-cards tbody tr{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .ajustes-valor{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Identidade visual uniforme para todos os cartões. */
:is(.card,.content-card,.config-card,.finance-card,.dashboard-card,.stat-card,.stats-card,.welcome-card,.quick-action,.card-hoje,.sales-report-card,.report-highlight,.central-report-section,.finance-balance-card,.finance-summary-card,.finance-account-card,.finance-action-card,.finance-account-summary,.finance-extract-summary,.report-highlight-card,.report-summary-card,.summary-card,.client-report-stat,.sales-report-stat,.permission-group,.permission-item,.carrinho-flutuante,.mais-opcoes),
.lista-cards tbody tr,
.mobile-table tr.mobile-table-row{
  border-left:2px solid #f97316!important;
}
/* Cartões que apenas agrupam outros cartões conservam a borda neutra. */
:is(.card,.content-card,.config-card,.finance-card,.dashboard-card,.stats-card,.report-highlight,.central-report-section,.finance-summary-card,.finance-account-summary,.finance-extract-summary):has(.card,.stat-card,.sales-report-card,.report-highlight-card,.report-summary-card,.summary-card,.finance-account-card,.finance-action-card,.lista-cards tbody tr){
  border-left:1px solid var(--border,#dddddd)!important;
}
/* Ajustes financeiros em sequência vertical para leitura imediata. */
.entrada-pagamento .ajustes-valor,
.entrada-pagamento #camposEntrada:not([hidden]){grid-template-columns:minmax(0,1fr)!important}
/* Preço e custo são informações simples, sem aparência de campo editável. */
.preco-produto-info{margin-top:0!important;color:var(--text-secondary,#666)!important;font-weight:400!important;background:transparent!important;border:0!important;padding:0!important;min-height:0!important}
/* O preço já possui rótulo próprio na linha informativa. */
.produto-campo:has(#precoUnitario)>label{display:none!important}
/* Bloco financeiro compacto, mantendo uma opção por linha. */
.mais-opcoes .entrada-pagamento{padding:10px 14px!important;margin:0!important}
.mais-opcoes .entrada-pagamento label{gap:3px!important;margin:4px 0!important}
.mais-opcoes .entrada-pagamento :is(.ajustes-valor,#camposEntrada:not([hidden])){gap:5px!important}
.mais-opcoes .entrada-pagamento :is(input,select){min-height:36px!important;height:36px!important;padding:5px 9px!important}
.mais-opcoes .entrada-pagamento .numero-controle{min-height:36px!important}
.mais-opcoes .entrada-pagamento .numero-controle button{min-height:36px!important;height:36px!important}
.mais-opcoes .entrada-pagamento p{margin:4px 0 0!important;line-height:1.25!important}
@media(max-width:600px){
 .mais-opcoes .entrada-pagamento{padding:8px 10px!important}
 .mais-opcoes .entrada-pagamento :is(input,select){min-height:40px!important;height:40px!important}
 .mais-opcoes .entrada-pagamento .numero-controle,.mais-opcoes .entrada-pagamento .numero-controle button{min-height:40px!important;height:40px!important}
}
/* Rótulo e controle na mesma linha; cada opção continua abaixo da anterior. */
.mais-opcoes .entrada-pagamento label{display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important}
@media(max-width:600px){.mais-opcoes .entrada-pagamento label{grid-template-columns:92px minmax(0,1fr)!important;column-gap:6px!important;font-size:12px!important}}
.mais-opcoes .entrada-pagamento label{margin:0!important}
.mais-opcoes .entrada-pagamento :is(.ajustes-valor,#camposEntrada:not([hidden])){gap:2px!important}
.venda-indicadores{display:flex;flex-direction:column;gap:3px;margin-top:5px}
.venda-indicadores small{color:var(--text-secondary,#666);font-size:11px;font-weight:400;line-height:1.3}
.venda-indicadores #lucroEstimadoVenda{color:#15803d}
.venda-indicadores #lucroEstimadoVenda.negativo{color:#dc2626}
/* Avisos de página são apresentados pelo popup global. */
.mensagem-convertida-popup{display:none!important}
@media(max-width:1000px){
 body.mobile-layout-ready .system-global-messages{
  top:12px!important;right:auto!important;left:calc(50vw / var(--interface-zoom,1))!important;
  transform:translateX(-50%)!important;width:min(430px,calc(100vw / var(--interface-zoom,1) - 24px))!important;
  max-width:calc(100vw / var(--interface-zoom,1) - 24px)!important
 }
 body.mobile-layout-ready .system-global-message{max-height:calc(100dvh / var(--interface-zoom,1) - 24px)!important;overflow:auto!important}
}

/* Nova compra compacta, sem alterar a ordem ou a lógica dos campos. */
body:has(#purchaseForm) #purchaseForm .form-grid,
body:has(#purchaseForm) .content-card:has(#addItemButton) .form-grid{
 gap:8px 10px!important;padding:12px 14px!important
}
body:has(#purchaseForm) #purchaseForm .form-group label,
body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group label{margin-bottom:3px!important}
body:has(#purchaseForm) #purchaseForm :is(input,select),
body:has(#purchaseForm) .content-card:has(#addItemButton) :is(input,select,#itemSubtotal){height:36px!important;min-height:36px!important}
body:has(#purchaseForm) #purchaseForm textarea{min-height:58px!important;padding:7px 10px!important}
body:has(#purchaseForm) #purchaseFormError{margin:0 14px 10px!important}
body:has(#purchaseForm) .content-card:has(#addItemButton) div:has(>#addItemButton){margin:0 14px 12px!important}
@media(max-width:700px){
 body:has(#purchaseForm) #purchaseForm .form-grid,
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-grid{gap:6px!important;padding:10px!important}
 body:has(#purchaseForm) #purchaseForm :is(input,select),
 body:has(#purchaseForm) .content-card:has(#addItemButton) :is(input,select,#itemSubtotal){height:42px!important;min-height:42px!important}
 body:has(#purchaseForm) #purchaseForm textarea{min-height:54px!important}
}
/* Total e ações da compra no mesmo rodapé, como na venda. */
.compra-resumo-acoes{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border,#ddd)}
.compra-resumo-acoes>div{margin:0!important;padding:0!important;border:0!important}
.compra-resumo-acoes>div:first-child{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:4px!important}
.compra-resumo-acoes>div:last-child{display:flex!important;align-items:center;justify-content:flex-end;gap:8px!important}
@media(max-width:600px){.compra-resumo-acoes{align-items:stretch;flex-direction:column;gap:10px}.compra-resumo-acoes>div:last-child{display:grid!important;grid-template-columns:1fr 1fr}.compra-resumo-acoes button{width:100%!important}}

/* Detalhes compactos de contas a receber e a pagar. */
.dashboard-content:has(#contaId) .content-card{margin-bottom:10px!important}
.dashboard-content:has(#contaId) .card-header{padding:10px 14px!important}
.dashboard-content:has(#contaId) .details-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.dashboard-content:has(#contaId) .detail-item{min-height:52px!important;padding:8px 10px!important;gap:2px!important}
.dashboard-content:has(#contaId) :is(#observacoesCard,.observacoes-box){padding:10px 14px!important;margin:0!important}
.dashboard-content:has(#contaId) :is(.quick-actions,.conta-acoes){display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:10px 14px!important}
.dashboard-content:has(#contaId) :is(#recebimentoButton,#pagamentoButton,#cancelarButton){width:auto!important;min-width:150px!important;min-height:38px!important;padding:8px 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important}
.dashboard-content:has(#contaId) :is(#recebimentoButton,#pagamentoButton,#cancelarButton) small{display:none!important}
.dashboard-content:has(#contaId) :is(#recebimentoButton,#pagamentoButton){background:#15803d!important;border-color:#15803d!important;color:#fff!important}
.dashboard-content:has(#contaId) :is(#recebimentoButton,#pagamentoButton) *{color:#fff!important}
.dashboard-content:has(#contaId) #cancelarButton{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important}
@media(max-width:600px){
 .dashboard-content:has(#contaId) .details-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .dashboard-content:has(#contaId) .detail-item{min-height:48px!important;padding:7px!important}
 .dashboard-content:has(#contaId) .detail-item span{font-size:9px!important}
 .dashboard-content:has(#contaId) .detail-item strong{font-size:11px!important}
 .dashboard-content:has(#contaId) :is(#recebimentoButton,#pagamentoButton,#cancelarButton){min-width:0!important;flex:1 1 130px!important}
}

/* Relatórios roláveis em clientes e produtos. */
#clientReportModal .client-report-modal,#productsReportModal>.modal{display:flex!important;flex-direction:column!important;overflow:hidden!important}
#clientReportModal .client-report-body,#productsReportModal .products-report-body{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#productsReportModal > .modal { width:min(1100px,calc(100vw - 24px))!important; max-height:calc(100dvh - 24px)!important; }
#productsReportModal .products-report-body { max-height:calc(100dvh - 110px)!important; box-sizing:border-box; }

/* Três colunas para cartões e linhas densas no celular. */
@media(max-width:600px){
 .mobile-table tr.mobile-table-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px 9px!important;padding:10px!important}
 .mobile-table .mobile-table-row td{font-size:12px!important;padding:3px 0!important}
 .mobile-table-row td[data-mobile-label]::before{font-size:9px!important;margin-bottom:2px!important}
 .mobile-table-row td:last-child,.mobile-table-row td[colspan],.mobile-table-row td[data-mobile-label="Produto"],.mobile-table-row td[data-mobile-label="Cliente"],.mobile-table-row td[data-mobile-label="Descrição"]{grid-column:1/-1!important}
}
.item-carrinho-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 8px;padding:7px;border-left:2px solid #f97316;border-radius:7px;background:var(--background,#f5f5f5)}
.item-carrinho-card span{min-width:0;overflow-wrap:anywhere}
.item-carrinho-card small{display:block;color:var(--text-secondary,#666);font-size:8px;line-height:1.2}

/* Ações financeiras por função. */
#novaReceita{background:#ecfdf5!important;border-color:#a7f3d0!important}
#novaDespesa{background:#fef2f2!important;border-color:#fecaca!important}
#novaTransferencia{background:#fffbeb!important;border-color:#fde68a!important}
#gerenciarCategorias{background:#faf5ff!important;border-color:#e9d5ff!important}
#gerenciarCategorias .finance-action-icon{background:#f3e8ff!important;color:#7e22ce!important}

/* Resumos e extratos financeiros em três colunas. */
.finance-account-summary,.finance-extract-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.finance-account-period-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.finance-account-value{font-size:20px!important;overflow-wrap:anywhere}
@media(max-width:600px){.finance-account-summary,.finance-account-period-summary,.finance-extract-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.finance-account-summary>div,.finance-account-period-summary>div,.finance-extract-summary>div{padding:8px!important}.finance-account-summary strong,.finance-account-period-summary strong,.finance-extract-summary strong{font-size:11px!important}.finance-account-summary span,.finance-account-period-summary span,.finance-extract-summary span{font-size:8px!important}}

/* Filtros e cartões de vencimento. */
#limparFiltros{background:#f97316!important;border-color:#f97316!important;color:#fff!important}
#exportarFiltroPdf{background:#374151!important;border-color:#374151!important;color:#fff!important}
.stats-grid>.card-hoje{margin:0!important;min-height:0!important}

@layer interface-ajustes{
 @media screen{

.receivable-adjustments{margin:8px 0 12px;padding:8px 10px;border:1px solid var(--border);border-radius:10px}
.receivable-adjustments summary{cursor:pointer;font-size:.86rem;font-weight:700;color:#f97316}
.receivable-adjustments .receivable-form-grid{margin-top:8px}
.client-view-body{gap:10px!important}.client-view-grid{gap:6px!important}.client-view-item{padding:8px 10px!important}
 }
}

/* Saldo das contas bancárias sem quebra no cartão do celular. */
#contasTableBody td:nth-child(6) strong{white-space:nowrap!important;font-size:18px!important;line-height:1.1!important}
@media(max-width:600px){
 #contasTableBody td:nth-child(6) strong{font-size:13px!important;letter-spacing:-.25px!important}
 #contasTableBody td:nth-child(6){min-width:0!important;overflow:hidden!important}
 #saldoTotal{font-size:18px!important;white-space:nowrap!important}
}

/* Contraste e superfícies legadas. */
@layer interface-ajustes{
}

/* Refinamento mobile: dados, topo, carrinho simples e totais alinhados. */
@media screen and (max-width:1000px){
 body:has(#btnFinalizar) .topbar,
 body:has(#purchaseForm) .topbar{position:relative!important;padding-right:58px!important;align-items:flex-start!important}
 body:has(#btnFinalizar) .topbar>.global-date-time,
 body:has(#purchaseForm) .topbar>.global-date-time{margin-left:auto!important;margin-right:0!important;padding-right:0!important;align-self:flex-start!important}

 body:has(#btnFinalizar) .vendas-box:has(#cliente),
 body:has(#purchaseForm) .content-card:has(#purchaseForm){display:block!important;background:var(--white,#fff)!important;border:1px solid var(--border,#ddd)!important;box-shadow:0 3px 12px #00000017!important;padding:10px!important;border-radius:12px!important}
 body:has(#btnFinalizar) .vendas-box:has(#cliente)>.vendas-box-header,
 body:has(#purchaseForm) .content-card:has(#purchaseForm)>.card-header{display:flex!important;padding:0 0 7px!important;margin:0 0 7px!important;border-bottom:1px solid var(--border,#ddd)!important}
 body:has(#btnFinalizar) .vendas-box:has(#cliente)>.vendas-box-header h2,
 body:has(#purchaseForm) .content-card:has(#purchaseForm)>.card-header h3{color:#f97316!important}

 body:has(#btnFinalizar) .carrinho-tabela th:nth-child(n+2):not(:last-child),
 body:has(#btnFinalizar) .carrinho-tabela td:nth-child(n+2):not(:last-child){display:none!important}
 body:has(#btnFinalizar) .carrinho-tabela th:first-child,
 body:has(#btnFinalizar) .carrinho-tabela td:first-child{width:auto!important;text-align:left!important}
 body:has(#btnFinalizar) .carrinho-tabela th:last-child,
 body:has(#btnFinalizar) .carrinho-tabela td:last-child{display:table-cell!important;width:54px!important;text-align:right!important;padding:6px!important}
 body:has(#btnFinalizar) .carrinho-tabela :is(th,td){height:36px!important;padding:6px 9px!important;font-size:12px!important}
 body:has(#btnFinalizar) .carrinho-tabela .btn-remover-item{min-width:34px!important;width:34px!important;height:30px!important;padding:0!important;font-size:0!important}
 body:has(#btnFinalizar) .carrinho-tabela .btn-remover-item::after{content:'×';font-size:18px!important;color:#fff!important}

 body:has(#purchaseForm) .content-card:has(#purchaseItems) table th:nth-child(n+2):not(:last-child),
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table td:nth-child(n+2):not(:last-child){display:none!important}
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table{min-width:0!important;width:100%!important;table-layout:fixed!important}
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table th:first-child,
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table td:first-child{width:auto!important;text-align:left!important}
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table th:last-child,
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table td:last-child{display:table-cell!important;width:54px!important;text-align:right!important;padding:6px!important}
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table :is(th,td){height:36px!important;padding:6px 9px!important;font-size:12px!important}

 body:has(#btnFinalizar) .total-venda{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:4px 8px!important}
 body:has(#btnFinalizar) .total-venda>span,
 body:has(#btnFinalizar) .total-venda>#totalVenda{display:inline-flex!important;align-items:baseline!important;margin:0!important;line-height:1!important}
 body:has(#btnFinalizar) .total-venda>#totalVenda{font-size:16px!important}
 body:has(#btnFinalizar) .venda-indicadores{flex-basis:100%!important}
 body:has(#purchaseForm) .compra-resumo-acoes>div:first-child{display:flex!important;flex-direction:row!important;align-items:baseline!important;gap:8px!important}
 body:has(#purchaseForm) #totalPurchase{font-size:16px!important;line-height:1!important;margin:0!important}
 body:has(#btnFinalizar) .carrinho-tabela td.empty-state,
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table td.empty-state{display:table-cell!important;width:auto!important;text-align:center!important;white-space:normal!important}
}

/* Posicionamento móvel final de venda, compra e itens do carrinho. */
@media screen and (max-width:1000px){
 body:has(#btnFinalizar) .venda-dados{grid-template-areas:'cliente cliente' 'pagamento data' 'observacoes observacoes'!important}
 body:has(#btnFinalizar) .venda-campo:has(#cliente){grid-area:cliente!important}
 body:has(#btnFinalizar) .venda-campo:has(#formaPagamento){grid-area:pagamento!important}
 body:has(#btnFinalizar) .venda-campo:has(#dataVenda){grid-area:data!important}
 body:has(#btnFinalizar) .venda-campo:has(#observacoes){grid-area:observacoes!important}

 body:has(#purchaseForm) #purchaseForm .form-group:has(#purchaseNotes){grid-column:auto!important;min-height:48px!important}
 body:has(#purchaseForm) #purchaseNotes{height:34px!important;min-height:34px!important;max-height:34px!important;overflow:auto!important}

 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-grid>.form-group:first-child{grid-column:1/-1!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) .form-grid>.form-group{min-width:0!important}

 body:has(#btnFinalizar) .carrinho-tabela tbody tr:not(:has(td[colspan])),
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table tbody tr:not(:has(td[colspan])){display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;align-items:center!important;gap:6px!important;min-height:38px!important;padding:4px 6px!important}
 body:has(#btnFinalizar) .carrinho-tabela tbody tr:not(:has(td[colspan])) td:first-child,
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table tbody tr:not(:has(td[colspan])) td:first-child{display:block!important;grid-column:1!important;width:auto!important;min-width:0!important;padding:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
 body:has(#btnFinalizar) .carrinho-tabela tbody tr:not(:has(td[colspan])) td:last-child,
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table tbody tr:not(:has(td[colspan])) td:last-child{display:flex!important;grid-column:2!important;width:38px!important;align-items:center!important;justify-content:center!important;padding:0!important}
 body:has(#btnFinalizar) .carrinho-tabela tbody tr:not(:has(td[colspan])) td:last-child :is(button,.btn),
 body:has(#purchaseForm) .content-card:has(#purchaseItems) table tbody tr:not(:has(td[colspan])) td:last-child :is(button,.btn){width:32px!important;min-width:32px!important;height:30px!important;min-height:30px!important;padding:0!important;margin:0!important}
 body:has(#btnFinalizar) .venda-campo:has(#cliente){grid-column:1/-1!important;grid-row:1!important}
 body:has(#btnFinalizar) .venda-campo:has(#formaPagamento){grid-column:1!important;grid-row:2!important}
 body:has(#btnFinalizar) .venda-campo:has(#dataVenda){grid-column:2!important;grid-row:2!important}
 body:has(#btnFinalizar) .venda-campo:has(#observacoes){grid-column:1/-1!important;grid-row:3!important}
 body:has(#btnFinalizar) .venda-campo:has(#dataVenda) label{font-size:9px!important;white-space:nowrap!important}
 body:has(#btnFinalizar) :is(input,select,textarea),
 body:has(#purchaseForm) :is(input,select,textarea){font-size:16px!important}
}

/* Prioridade final para a proposta compacta em telas pequenas. */
@media screen and (max-width:1000px){
 body:has(#btnFinalizar) .venda-campo:has(#dataVenda){grid-column:2!important;grid-row:2!important;min-width:0!important}
 body:has(#btnFinalizar) :is(#cliente,#dataVenda,#formaPagamento,#observacoes,#produtoBusca,#quantidade){font-size:16px!important}
 body:has(#purchaseForm) :is(input,select,textarea){font-size:16px!important}
 body:has(#btnFinalizar) .produto-linha{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body:has(#btnFinalizar) .produto-linha>#btnAdicionarItem{grid-column:1/-1!important}
 body:has(#btnFinalizar) .carrinho-footer{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
 body:has(#btnFinalizar) .total-venda{display:grid!important;grid-template-columns:auto auto!important;align-items:center!important;justify-content:start!important;gap:3px 8px!important}
 body:has(#btnFinalizar) .venda-indicadores{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px 8px!important;margin:0!important}
 body:has(#btnFinalizar) .venda-acoes{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
 body:has(#btnFinalizar) .venda-acoes button{width:100%!important;min-height:36px!important;padding:5px 8px!important}
 body:has(#purchaseForm) #purchaseForm :is(input,select){height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) #purchaseNotes{height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) :is(input,select,#itemSubtotal){height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) .content-card:has(#addItemButton) div:has(>#addItemButton){margin:5px 0!important;padding:0!important}
 body:has(#purchaseForm) #addItemButton{height:34px!important;min-height:34px!important}
 body:has(#purchaseForm) .compra-resumo-acoes>div:last-child{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important;padding:0!important}
 body:has(#purchaseForm) :is(#cancelPurchaseButton,#finalizePurchaseButton){width:100%!important;min-height:36px!important;padding:5px 8px!important}
}

/* Refinamentos compactos e consistentes para celular. */
@media screen and (max-width:700px){
  html{-webkit-text-size-adjust:100%}
  body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px!important}
  .page-content,.dashboard-content{padding:7px!important}
  .content-card,.card,.stat-card,.dashboard-card,.finance-section{margin-bottom:7px!important;padding:9px!important;border-radius:11px!important}
  .card-header,.modal-header,.finance-modal-header,.receivable-modal-header{gap:8px!important;padding:9px 10px!important;margin-bottom:6px!important}
  .modal-body,.finance-modal-body,.receivable-modal-body,.client-view-body{padding:10px!important}
  .modal-footer,.finance-modal-footer,.receivable-modal-footer{gap:6px!important;padding:9px 10px!important}
  .form-grid,.receivable-form-grid,.finance-form-grid,.client-form-grid{gap:6px!important}
  .form-group,.receivable-field,.finance-field{gap:2px!important;margin-bottom:0!important}
  .form-group :is(input,select,textarea),.receivable-field :is(input,select,textarea),.finance-field :is(input,select,textarea){min-height:36px!important;padding:6px 8px!important}
  .modal-overlay,.receivable-modal,.finance-modal{padding:7px!important;align-items:center!important;overflow:hidden!important}
  .modal,.receivable-modal-card,.finance-modal-card{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 14px)!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .modal-body,.receivable-modal-body,.finance-modal-body,.client-form-body,.client-view-body{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .details-grid{gap:5px!important}
  .detail-item{min-height:46px!important;padding:6px 7px!important;gap:2px!important}
  .mobile-table tr.mobile-table-row,.lista-cards tbody tr{padding:7px!important;gap:4px 7px!important}
  .finance-extract-summary{min-height:78px!important;gap:5px!important;padding:7px!important}
  .finance-extract-summary>div{min-width:0!important;padding:8px 5px!important}
  .finance-extract-summary strong{font-size:12px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .table-scroll-10{max-height:430px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  #productModal .modal{max-width:430px!important}
  #productModal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px!important}
  #productModal .form-group{min-width:0!important}
  #productModal .form-group-full{grid-column:1/-1!important}
  #productModal textarea{min-height:50px!important;max-height:70px!important}
  #modalPagamento .modal{border-radius:14px!important}
  #modalPagamento .modal-body{padding:10px!important}
  .central-report-section{margin-bottom:8px!important}
  .central-report-section+.central-report-section{margin-top:8px!important}
}

/* Compra compacta no mesmo padrão visual da venda. */
@media screen and (max-width:1000px){
  body:has(#purchaseForm) #purchaseForm :is(input,select,textarea),
  body:has(#purchaseForm) .content-card:has(#addItemButton) :is(input,select,textarea){font-size:16px!important}
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#product){grid-column:1/-1!important}
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#quantity),
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#unitPrice),
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#itemSubtotal){grid-column:auto!important}
  body:has(#purchaseForm) #itemSubtotal{border:0!important;background:transparent!important;box-shadow:none!important;padding:7px 2px!important;font-size:13px!important;white-space:nowrap!important}
  body:has(#purchaseForm) :is(.number-stepper,.numero-controle){display:grid!important;grid-template-columns:minmax(0,1fr) 34px 34px!important;gap:4px!important;align-items:center!important}
  body:has(#purchaseForm) :is(.number-stepper,.numero-controle) button{position:static!important;width:34px!important;min-width:34px!important;height:34px!important;margin:0!important}
}

/* Detalhes de clientes e contas mais densos. */
@media screen and (min-width:701px){.client-view-modal{width:min(960px,calc(100vw - 40px))!important;max-width:960px!important}}
.client-view-item{min-height:56px!important;padding:9px 11px!important;gap:3px!important}
.client-view-body{padding:14px!important}
.client-balance-card,.client-open-balance,.saldo-em-aberto{border-left-color:#f97316!important;background:#fff7ed!important}

/* Contas, relatórios e ações. */
#tabelaContas .action-buttons{margin:0!important}
@media screen and (max-width:700px){
  #tabelaContas tr.mobile-table-row td[data-mobile-label="Status"],#tabelaContas tr.mobile-table-row td:last-child{grid-column:auto!important;align-self:center!important}
  #tabelaContas tr.mobile-table-row td:last-child .action-button{min-height:30px!important;padding:4px 8px!important}
}
#generateReportButton,#exportCsvButton,#exportPdfButton,#sharePdfButton,.report-export-button,.report-pdf-button,.report-share-pdf-button,
[id*="ExportCsv"],[id*="ExportPdf"],[id*="SharePdf"],[id*="CompartilharPdf"]{min-width:138px!important;height:38px!important;min-height:38px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.report-actions,.report-export-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important}
.acoes-venda-historico>:is(button,.btn){width:78px!important;min-width:78px!important;height:32px!important;min-height:32px!important;padding:0 7px!important;border-radius:7px!important;font-size:11px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}

/* Contas bancárias e financeiro. */
#tabelaContasBancarias td:first-child strong,#tabelaContasBancarias td:nth-child(2),#accountsTableBody td:first-child strong,#accountsTableBody td:nth-child(2),#contasTableBody td:first-child strong,#contasTableBody td:nth-child(2){font-size:11px!important;line-height:1.2!important}
#viewClientOpenBalance{color:#f97316!important}
.finance-cancel-button{color:#dc2626!important;border-color:#dc2626!important}
.finance-cancel-button::before,.finance-cancel-button::after{content:none!important}
.finance-account-movements,.table-scroll-10{max-height:430px!important;overflow-y:auto!important}

/* Extrato financeiro: rótulo acima e valor inteiro na linha inferior. */
.finance-extract-summary>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:0!important;
}
.finance-extract-summary>div>strong{
  display:block!important;
  width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.2!important;
}
@media screen and (max-width:700px){
  .finance-extract-summary>div>strong{font-size:clamp(10px,3vw,13px)!important}
}

/* Controles numéricos compactos no cadastro e edição de produtos. */
#productModal :is(.numero-controle,.number-stepper){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 36px 36px!important;
  gap:4px!important;
  align-items:center!important;
}
#productModal :is(.numero-controle,.number-stepper)>button{
  position:static!important;
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  margin:0!important;
  font-size:18px!important;
}
@media screen and (max-width:700px){
  #productModal :is(.numero-controle,.number-stepper){grid-template-columns:minmax(0,1fr) 30px 30px!important;gap:3px!important}
  #productModal :is(.numero-controle,.number-stepper)>button{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;font-size:16px!important}
}

/* Adição de produto em Compras: dois campos amplos e subtotal discreto. */
@media screen and (max-width:700px){
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#product),
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#itemSubtotal){
    grid-column:1/-1!important;
  }
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#quantity),
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#unitPrice){
    grid-column:auto!important;
    min-width:0!important;
  }
  body:has(#purchaseForm) .content-card:has(#addItemButton) .numero-controle{
    grid-template-columns:minmax(68px,1fr) 32px 32px!important;
    gap:3px!important;
  }
  body:has(#purchaseForm) .content-card:has(#addItemButton) .numero-controle button{
    width:32px!important;
    min-width:32px!important;
    height:34px!important;
  }
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#itemSubtotal){
    display:flex!important;
    flex-direction:row!important;
    align-items:baseline!important;
    gap:6px!important;
    padding:2px 6px!important;
    background:transparent!important;
  }
  body:has(#purchaseForm) .content-card:has(#addItemButton) .form-group:has(#itemSubtotal)>label{
    margin:0!important;
    color:var(--text-secondary,#6b7280)!important;
    font-size:10px!important;
  }
  body:has(#purchaseForm) #itemSubtotal{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    color:var(--text-secondary,#6b7280)!important;
    font-size:11px!important;
    font-weight:500!important;
  }
}

/* Prioridade final: mantém os buscadores da venda em 16 px efetivos mesmo
   quando a escala geral da interface está abaixo de 100%. */
@media screen and (max-width:700px){
  body:has(#btnFinalizar) #clienteBusca,
  body:has(#btnFinalizar) #produtoBusca{
    font-size:max(16px,calc(16px / var(--interface-zoom,1)))!important;
    line-height:1.2!important;
    touch-action:manipulation;
  }
}

@layer interface-ajustes{
}

.payment-adjustments{margin:0 0 14px;border:1px solid var(--border,#ddd);border-radius:10px;padding:0 12px}
.payment-adjustments summary{cursor:pointer;padding:11px 0;font-weight:700;color:#f97316}
.payment-adjustments[open] summary{border-bottom:1px solid var(--border,#ddd);margin-bottom:10px}
.payment-adjustments .form-grid{margin-bottom:10px}
.remarcacao-compacta{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:10px;align-items:end}
.remarcacao-compacta label{margin:0!important}
.remarcacao-compacta input{width:100%}
.remarcacao-compacta button{min-height:40px;white-space:nowrap}

@media(max-width:600px){
  body:has(#filtroDividas) .page-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  body:has(#filtroDividas) :is(.search-box,#filtroDividas,#btnNovaDivida){width:100%!important;min-width:0!important}
  .debt-payment-modal{max-height:calc(100dvh - 16px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .payment-adjustments .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .remarcacao-compacta{grid-template-columns:minmax(0,1fr) 145px!important;gap:8px!important}
  .remarcacao-compacta .remarcacao-motivo{grid-column:1/-1}
  .remarcacao-compacta .remarcacao-data{min-width:0}
  .remarcacao-compacta .remarcacao-data input{min-width:0!important;width:100%!important;font-size:14px!important;padding:7px 8px!important}
  .remarcacao-compacta button{width:100%;min-width:0;padding:8px 10px!important;font-size:13px!important}
}
@media(max-width:390px){
  .remarcacao-compacta{grid-template-columns:minmax(0,1fr)!important}
  .remarcacao-compacta :is(.remarcacao-motivo,.remarcacao-data,button){grid-column:1/-1!important}
}



/* =========================================================
   CARDS - DESTAQUE DO NOME EM LARANJA CLARO
   Clientes, Contas, Produtos e Estoque
   ========================================================= */

/* PRODUTO - ESTOQUE E PRODUTOS */
@media screen {

  :is(
    #stockTableBody,
    #productsTableBody
  ) td[data-rotulo="Produto"] {

    background: #fed7aa !important;

    border-left-color: #f97316 !important;

    color: #7c2d12 !important;
  }

}

/* =========================================================
   AJUSTES VISUAIS PONTUAIS - AÇÕES E DESTAQUES
   ========================================================= */

#tabelaDividas .table-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(70px, 1fr)) !important;
  align-items: center !important;
  gap: 4px !important;
  min-width: 155px !important;
}

#tabelaDividas .table-actions .btn-small {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 27px !important;
  height: 27px !important;
  padding: 0 7px !important;
  font-size: 10px !important;
}

#tabelaDividas .table-actions .btn-small.danger {
  min-width: 68px !important;
}

#tabelaDividas .table-actions .btn-small.danger[onclick*="desativarRecorrencia"] {
  min-width: 0 !important;
  grid-column: 1 / -1 !important;
}

.bank-brand-icon { display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#374151;color:#fff!important;font-size:10px;font-weight:800;line-height:1 }
.bank-account-name-cell{display:inline-flex;align-items:center;gap:8px}.finance-account-name{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:8px;align-items:center}.finance-account-name .bank-brand-icon{grid-row:1/3}.bank-cash{background:#15803d}.bank-bb{background:#facc15;color:#1d4ed8!important}.bank-caixa{background:#2563eb}.bank-itau,.bank-inter{background:#f97316}.bank-bradesco,.bank-santander{background:#dc2626}.bank-nubank{background:#820ad1}.bank-mercado-pago{background:#009ee3}.bank-picpay{background:#16a34a}

.bank-account-actions {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  white-space: nowrap !important;
}

.bank-account-actions > button {
  width: auto !important;
  min-width: 66px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 8px !important;
  font-size: 10px !important;
}

:is(
  #stockTableBody,
  #productsTableBody
) td[data-rotulo="Produto"] *,
:is(
  #clientsTableBody,
  #tabelaContas
) td[data-mobile-label="Cliente"] * {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

.modal-close,
.finance-modal-close,
.receivable-modal-close,
.layout-modal-close,
.modal-close-action,
#btnFecharHistorico {
  border-color: #dc2626 !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Botões azuis: texto e ícones sempre brancos. */
:is(
  .btn-primary,
  .action-create,
  .action-add,
  .action-view,
  .action-history,
  .action-report.global-icon-action,
  .action-edit,
  #dashboardQuickActions .quick-action,
  #addItemButton,
  #searchButton,
  #clearSearchButton,
  #searchStockButton,
  #showAllStockButton,
  #showLowStockButton,
  #clientReportButton,
  #updateClientReportButton,
  #updateSalesReport,
  #generateReportButton,
  #exportarFiltro,
  #limparFiltros,
  #clearUserSearch,
  #atualizarRelatorioRecebimentos,
  #atualizarExtrato,
  #newClientButton,
  #newSupplierButton,
  #newProductButton,
  #novaContaButton,
  #btnNovaDivida,
  #newUserButton,
  #tabelaDividas button[onclick^="editarDivida"],
  #tabelaDividas button[onclick^="abrirHistorico"]
) {
  color: #ffffff !important;
}

:is(
  .btn-primary,
  .action-create,
  .action-add,
  .action-view,
  .action-history,
  .action-report,
  .action-edit,
  #addItemButton,
  #searchButton,
  #clearSearchButton,
  #searchStockButton,
  #showAllStockButton,
  #showLowStockButton,
  #clientReportButton,
  #updateClientReportButton,
  #updateSalesReport,
  #generateReportButton,
  #exportarFiltro,
  #limparFiltros,
  #clearUserSearch,
  #atualizarRelatorioRecebimentos,
  #atualizarExtrato,
  #newClientButton,
  #newSupplierButton,
  #newProductButton,
  #novaContaButton,
  #btnNovaDivida,
  #newUserButton,
  #tabelaDividas button[onclick^="editarDivida"],
  #tabelaDividas button[onclick^="abrirHistorico"]
) :is(.ui-icon, svg) {
  color: #ffffff !important;
  filter: brightness(0) invert(1);
}

.modal-close:hover,
.finance-modal-close:hover,
.receivable-modal-close:hover,
.layout-modal-close:hover,
.modal-close-action:hover,
#btnFecharHistorico:hover {
  border-color: #b91c1c !important;
  background: #b91c1c !important;
  color: #ffffff !important;
}

.modal-close-action .ui-icon-x {
  filter: brightness(0) invert(1);
}


/* CLIENTE - CLIENTES E CONTAS A RECEBER */
@media screen and (max-width: 1000px) {

  :is(
    #clientsTableBody,
    #tabelaContas
  ) td[data-mobile-label="Cliente"] {

    background: #fed7aa !important;

    border-left-color: #f97316 !important;

    color: #7c2d12 !important;
  }

}

@media screen and (max-width: 1000px) {
  #tabelaDividas tr > td:first-child {
    order: -1; padding: 12px 14px !important; border-left: 3px solid #475569 !important;
    border-radius: 8px; background: #64748b !important; color: #fff !important;
    font-weight: 750 !important;
  }
  #tabelaDividas tr > td:first-child * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
}

@media screen {

  :is(#stockTableBody, #productsTableBody) td[data-rotulo="Produto"] *,
  #tabelaContas td[data-mobile-label="Cliente"] * {
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
  }

  #clientsTableBody td[data-mobile-label="Cliente"] * {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
  }
}

/* Correção final: ações de Dívidas sem compressão ou sobreposição. */
#tabelaDividas th:last-child,
#tabelaDividas td:last-child { width: 210px !important; min-width: 210px !important; }
#tabelaDividas .table-actions { display:grid !important;grid-template-columns:repeat(2,minmax(96px,1fr)) !important;gap:5px !important;width:100% !important;min-width:200px !important; }
#tabelaDividas .table-actions .btn-small { box-sizing:border-box !important;width:100% !important;min-width:0 !important;height:30px !important;min-height:30px !important;padding:0 7px !important;gap:4px !important;font-size:11px !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important; }
#tabelaDividas .table-actions .btn-small .ui-icon { width:13px !important;height:13px !important;flex:0 0 13px !important; }
#tabelaDividas .table-actions .btn-small[onclick*="desativarRecorrencia"] { grid-column:1/-1 !important; }
:is(#stockTableBody,#productsTableBody) td[data-rotulo="Produto"] * { color:#fff !important;-webkit-text-fill-color:#fff !important; }
:is(#clientsTableBody,#tabelaContas) td[data-mobile-label="Cliente"] * { color:inherit !important;-webkit-text-fill-color:currentColor !important; }

/* Dívidas: vence as regras legadas ultracompactas de 18–22px. */
body #tabelaDividas tbody td:last-child {
  width: 220px !important;
  min-width: 220px !important;
}

body #tabelaDividas tbody td .table-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(102px, 1fr)) !important;
  width: 100% !important;
  min-width: 210px !important;
  gap: 5px !important;
  align-items: center !important;
}

body #tabelaDividas tbody td .table-actions > button,
body #tabelaDividas tbody td .table-actions > button.btn,
body #tabelaDividas tbody td .table-actions > button.btn-small,
body #tabelaDividas tbody td .table-actions > button.global-icon-action {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 7px !important;
  margin: 0 !important;
  gap: 5px !important;
  flex: none !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  overflow: hidden !important;
}

body #tabelaDividas tbody td .table-actions > button[onclick*="desativarRecorrencia"] {
  grid-column: 1 / -1 !important;
}

body #tabelaDividas tbody td .table-actions > button svg {
  width: 13px !important;
  height: 13px !important;
  flex: 0 0 13px !important;
}

body #tabelaDividas tbody td .table-actions > button .global-action-label {
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  overflow: hidden !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  font-size: 11px !important;
}

/* A repetição do ID é intencional: neutraliza seletores legados mais específicos. */
#tabelaDividas#tabelaDividas tbody td:last-child {
  width: 224px !important;
  min-width: 224px !important;
}

#tabelaDividas#tabelaDividas tbody td .table-actions.table-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(104px, 1fr)) !important;
  width: 100% !important;
  min-width: 214px !important;
  gap: 5px !important;
  flex-wrap: initial !important;
}

#tabelaDividas#tabelaDividas tbody td .table-actions.table-actions > button.btn.btn-small.global-icon-action,
#tabelaDividas#tabelaDividas tbody td .table-actions.table-actions > button.btn.btn-small.btn-primary.global-icon-action,
#tabelaDividas#tabelaDividas tbody td .table-actions.table-actions > button.btn.btn-small.danger.global-icon-action {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 7px !important;
  margin: 0 !important;
  gap: 5px !important;
  flex: none !important;
  font-size: 11px !important;
}

#tabelaDividas#tabelaDividas tbody td .table-actions.table-actions > button[onclick*="desativarRecorrencia"] {
  grid-column: 1 / -1 !important;
}

#tabelaDividas#tabelaDividas tbody td .table-actions.table-actions > button .global-action-label {
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: hidden !important;
  font-size: 11px !important;
}

/* Cards de clientes: mesmo destaque azul-acinzentado usado em Produtos. */
@media screen and (max-width: 1000px) {
  #clientsTableBody tr > td:first-child {
    order: -1;
    padding: 12px 14px !important;
    border-left: 3px solid #475569 !important;
    border-radius: 8px;
    background: #64748b !important;
    color: #ffffff !important;
    font-size: 21px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
  }

  #clientsTableBody tr > td:first-child * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

/* Vendas a receber: destaque discreto do nome do cliente. */
@media screen and (max-width: 1000px) {
  #tabelaContas tr > td[data-mobile-label="Cliente"] {
    background: #64748b !important;
    border-left: 3px solid #475569 !important;
    border-radius: 8px;
    color: #ffffff !important;
  }
  #tabelaContas tr > td[data-mobile-label="Cliente"] * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}

@media screen {
}

/* =========================================================
   PRESERVAÇÃO DA IDENTIDADE FUNCIONAL

   A camada mantém a especificidade necessária para vencer seletores
   legados que misturam IDs dentro de :is(); ações, estados, destaques e valores conservam
   exatamente a paleta usada no modo claro.
   ========================================================= */
@layer interface-ajustes {
}

/* =========================================================
   AJUSTES VISUAIS CONFIRMADOS EM NAVEGADOR — 2026-09-15
   Mantidos na mesma camada das regras históricas para que a
   prioridade seja determinística em todas as páginas.
   ========================================================= */
@layer interface-ajustes {
@media screen {
  /* Cabeçalho global: título laranja e textos auxiliares brancos. */
  .topbar :is(h1, .topbar-title h1) {
    color: #f97316 !important;
    -webkit-text-fill-color: #f97316 !important;
  }

  .topbar .topbar-title p,
  .topbar > div > p,
  .topbar .topbar-actions,
  .topbar .topbar-actions > span {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  /* Relatórios recolhidos: linha e título compartilham a mesma cor. */
  :is(.report-highlight, .central-report-section) > .card-header p {
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
  }

  .report-highlight-payment::before { background: #2563eb !important; }
  .report-highlight-payment > .card-header h3 { color: #2563eb !important; -webkit-text-fill-color: #2563eb !important; }
  .report-highlight-products::before { background: #f59e0b !important; }
  .report-highlight-products > .card-header h3 { color: #f59e0b !important; -webkit-text-fill-color: #f59e0b !important; }
  .report-highlight-suppliers::before { background: #ef4444 !important; }
  .report-highlight-suppliers > .card-header h3 { color: #ef4444 !important; -webkit-text-fill-color: #ef4444 !important; }

  #centralSalesReport { border-top-color: #16a34a !important; }
  #centralSalesReport > .card-header h3 { color: #16a34a !important; -webkit-text-fill-color: #16a34a !important; }
  #centralClientsReport { border-top-color: #2563eb !important; }
  #centralClientsReport > .card-header h3 { color: #2563eb !important; -webkit-text-fill-color: #2563eb !important; }
  #centralProductsReport { border-top-color: #f59e0b !important; }
  #centralProductsReport > .card-header h3 { color: #f59e0b !important; -webkit-text-fill-color: #f59e0b !important; }
  #centralReceiptsReport { border-top-color: #0891b2 !important; }
  #centralReceiptsReport > .card-header h3 { color: #0891b2 !important; -webkit-text-fill-color: #0891b2 !important; }
}
}

/* Preferências visuais globais solicitadas: fundo uniforme e ações azuis.
   Ações destrutivas/irreversíveis permanecem com suas cores funcionais. */
body:not(.login-page),
body:not(.login-page) .main-content,
body:not(.login-page) main,
body:not(.login-page) .page-content {
  background: #f3f2ea !important;
}

body:not(.login-page) :is(
  .btn-primary,
  .btn-secondary,
  .btn-orange:not(.action-cancel),
  .finance-primary-button,
  .finance-secondary-button,
  .finance-period-button,
  .finance-today-button,
  .finance-collapse-button,
  .action-edit,
  .action-view,
  .action-history,
  .action-report,
  .action-create,
  .action-add,
  .action-pay,
  .action-stock-in,
  .action-stock-out,
  .action-reactivate,
  .action-permissions,
  .action-success,
  .action-back,
  .action-search,
  .btn:not(.danger):not(.btn-danger):not(.btn-cancel),
  .action-button:not(.danger),
  .finance-account-actions button,
  .quick-action,
  #inicioRelatorioDia,
  .inicio-relatorio-sem-recompra,
  .finance-filter-clear,
  .finance-modal-close,
  .receivable-modal-close,
  .modal-close,
  .layout-modal-close,
  .report-individual-button,
  .finance-effectivate-button,
  .finance-small-button:not(.danger),
  .btn-recibo-venda,
  .btn-recibo-pagamento,
  .btn-devolver-venda,
  .btn-historico-devolucoes,
  .conta-acao-primary,
  .config-button.primary,
  .layout-config-button.primary,
  .layout-config-button.secondary,
  .report-export-button,
  .report-pdf-button,
  .report-share-pdf-button,
  .config-button.secondary,
  button[type="submit"]:not(.btn-danger):not(.danger)
) {
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Último override: no desktop não há preenchimento azul-acinzentado em
   clientes ou vendas a receber; o destaque permanece apenas no mobile. */
@media screen and (min-width: 701px) {
  :is(#clientsTableBody, #tabelaContas) td[data-mobile-label="Cliente"] {
    background: inherit !important;
    border-left-color: transparent !important;
  }
}

:is(body.dark-mode, html.dark-mode) :is(#subtotalProduto, #itemSubtotal) {
  color: #60a5fa !important;
  -webkit-text-fill-color: #60a5fa !important;
}

/* O destaque azul-acinzentado de clientes e produtos fica restrito ao
   celular; no desktop a célula usa o fundo normal da tabela. */
@media screen and (min-width: 701px) {
  :is(#stockTableBody, #productsTableBody) td[data-rotulo="Produto"],
  :is(#clientsTableBody, #tabelaContas) td[data-mobile-label="Cliente"] {
    background: inherit !important;
    border-left-color: transparent !important;
  }
}

/* Descrições e textos auxiliares ficam brancos no modo escuro. */
:is(body.dark-mode, html.dark-mode) :is(
  .card-header p,
  .section-header p,
  .content-card p,
  .page-card p,
  .panel p,
  .client-section-header p,
  .client-history-summary-description,
  .central-report-description,
  .observacoes-box p,
  .finance-description-cell,
  [id*="descricao"],
  [class*="descricao"],
  [id*="Description"],
  [class*="description"]
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Os subtítulos dos relatórios tinham uma regra clara específica que usava
   texto preto; no escuro eles seguem o contraste do restante da interface. */
:is(body.dark-mode, html.dark-mode) :is(
  .report-highlight > .card-header p,
  .central-report-section > .card-header p
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode):has(#purchaseForm) #itemSubtotal {
  background: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* No escuro, textos azuis escuros ganham contraste azul-claro. Fundos de
   botões e demais cores de ação não entram nesta regra. */
:is(body.dark-mode, html.dark-mode) :is(
  #cliente,
  #viewClientName,
  .receivable-client-title,
  .receivable-modal-header h2,
  .receivable-balance-box strong,
  .report-highlight-payment > .card-header h3,
  #centralClientsReport > .card-header h3,
  .client-history-summary-title,
  .client-name,
  .client-link,
  .link-primary,
  .text-primary
) {
  color: #60a5fa !important;
  -webkit-text-fill-color: #60a5fa !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .report-highlight-payment .data-table thead th,
  .report-highlight-payment .data-table tbody td a,
  .report-highlight-payment .report-value,
  .central-report-section .client-name
) {
  color: #93c5fd !important;
  -webkit-text-fill-color: #93c5fd !important;
}

/* Campos de data do relatório de vendas: a página possui uma regra
   específica com !important, portanto este override também é específico. */
:is(body.dark-mode, html.dark-mode) :is(#salesReportStart, #salesReportEnd) {
  background: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Última camada do modo escuro: neutraliza fundos e textos neutros de
   relatórios, históricos e formulários sem tocar nas cores funcionais. */
:is(body.dark-mode, html.dark-mode) :is(
  .sales-report-modal,
  .sales-report-content,
  .sales-report-card,
  .client-report-modal,
  .client-report-body,
  .report-card,
  .report-summary-card,
  .report-mini-card,
  .reports-card,
  .central-report-section:not(.report-highlight),
  .devolucao-venda-modal,
  .estorno-devolucao-modal,
  .devolucao-historico-card,
  #historicoModalConteudo,
  #historicoDevolucoesModal .modal,
  .autocomplete-resultados,
  .autocomplete-resultados .autocomplete-item,
  .autocomplete-resultados .autocomplete-vazio
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) #historicoModal {
  background: rgba(0, 0, 0, .78) !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .sales-report-card span,
  .sales-report-card strong,
  .client-report-stat span,
  .client-report-stat strong,
  .sales-report-stat span,
  .sales-report-stat strong,
  .report-card h3,
  .report-card p,
  .report-card strong,
  .report-summary-card h3,
  .report-summary-card p,
  .report-summary-card strong,
  .report-mini-card h3,
  .report-mini-card p,
  .report-mini-card strong,
  .central-report-section:not(.report-highlight) .card-header h3,
  .central-report-section:not(.report-highlight) .card-header p,
  .central-report-section:not(.report-highlight) h4
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .modal-overlay .data-table thead th,
  .sales-report-modal table thead th,
  .client-report-modal table thead th,
  #historicoTabelaContainer table thead th,
  #historicoDevolucoesModal table thead th
) {
  background-color: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .modal-overlay .data-table tbody td,
  .sales-report-modal table tbody td,
  .client-report-modal table tbody td,
  #historicoTabelaContainer table tbody td,
  #historicoDevolucoesModal table tbody td
) {
  background-color: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode):is(:has(#purchaseForm), :has(#purchaseItems))
  :is(.content-card h2, .content-card h3) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Destaque padronizado para nomes de produtos e clientes.
   A mesma superfície azul-acinzentada vale nos modos claro e escuro. */
:is(#stockTableBody, #productsTableBody) td[data-rotulo="Produto"],
:is(#clientsTableBody, #tabelaContas) td[data-mobile-label="Cliente"] {
  background: #475569 !important;
  border-left-color: #64748b !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(#stockTableBody, #productsTableBody) td[data-rotulo="Produto"] *,
:is(#clientsTableBody, #tabelaContas) td[data-mobile-label="Cliente"] * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Superfícies neutras que não podem permanecer brancas no modo escuro. */
:is(body.dark-mode, html.dark-mode) :is(input, select, textarea) {
  background: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) :is(input, select, textarea)::placeholder {
  color: #a1a1aa !important;
  -webkit-text-fill-color: #a1a1aa !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .numero-controle button,
  .number-stepper button,
  .zoom-passo
) {
  background: #2c2c2e !important;
  border-color: #4b5563 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body.dark-mode, html.dark-mode) .mais-opcoes,
:is(body.dark-mode, html.dark-mode) .compra-resumo-acoes {
  background: #1c1c1e !important;
  border-color: #38383a !important;
}

:is(body.dark-mode, html.dark-mode) .mais-opcoes > summary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.login-page) :is(
  .btn-primary,
  .btn-secondary,
  .btn-orange:not(.action-cancel),
  .finance-primary-button,
  .finance-secondary-button,
  .finance-period-button,
  .finance-today-button,
  .finance-collapse-button,
  .action-edit,
  .action-view,
  .action-history,
  .action-report,
  .action-create,
  .action-add,
  .action-pay,
  .action-stock-in,
  .action-stock-out,
  .action-reactivate,
  .action-permissions,
  .action-success,
  .action-back,
  .action-search,
  .btn:not(.danger):not(.btn-danger):not(.btn-cancel),
  .action-button:not(.danger),
  .finance-account-actions button,
  .quick-action,
  #inicioRelatorioDia,
  .inicio-relatorio-sem-recompra,
  .finance-filter-clear,
  .finance-modal-close,
  .receivable-modal-close,
  .modal-close,
  .layout-modal-close,
  .report-individual-button,
  .finance-effectivate-button,
  .finance-small-button:not(.danger),
  .btn-recibo-venda,
  .btn-recibo-pagamento,
  .btn-devolver-venda,
  .btn-historico-devolucoes,
  .conta-acao-primary,
  .config-button.primary,
  .layout-config-button.primary,
  .layout-config-button.secondary,
  .report-export-button,
  .report-pdf-button,
  .report-share-pdf-button,
  .config-button.secondary,
  button[type="submit"]:not(.btn-danger):not(.danger)
):hover {
  background: #1d4ed8 !important;
  border-color: #1e40af !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Ícones internos acompanham a cor branca dos botões azuis. */
body:not(.login-page) :is(
  .btn-primary,
  .btn-secondary,
  .btn-orange:not(.action-cancel),
  .finance-primary-button,
  .finance-secondary-button,
  .finance-period-button,
  .finance-today-button,
  .finance-collapse-button,
  .action-edit,
  .action-view,
  .action-history,
  .action-report,
  .action-create,
  .action-add,
  .action-pay,
  .action-stock-in,
  .action-stock-out,
  .action-reactivate,
  .action-permissions,
  .action-success,
  .action-back,
  .action-search,
  .btn:not(.danger):not(.btn-danger):not(.btn-cancel),
  .action-button:not(.danger),
  .finance-account-actions button,
  .quick-action,
  #inicioRelatorioDia,
  .inicio-relatorio-sem-recompra,
  .finance-filter-clear,
  .finance-modal-close,
  .receivable-modal-close,
  .modal-close,
  .layout-modal-close,
  .report-individual-button,
  .finance-effectivate-button,
  .finance-small-button:not(.danger),
  .btn-recibo-venda,
  .btn-recibo-pagamento,
  .btn-devolver-venda,
  .btn-historico-devolucoes,
  .conta-acao-primary,
  .config-button.primary,
  .layout-config-button.primary,
  .layout-config-button.secondary,
  .report-export-button,
  .report-pdf-button,
  .report-share-pdf-button,
  .config-button.secondary,
  button[type="submit"]:not(.btn-danger):not(.danger)
) :is(svg, .ui-icon, i) {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Exceções explícitas: cancelar, excluir, desativar e finalizar. */
body:not(.login-page) :is(
  .btn-danger,
  .danger,
  .action-danger,
  .action-delete,
  .action-disable,
  .action-cancel,
  .btn-cancel,
  .btn-delete,
  .btn-disable,
  .btn-finalizar,
  .action-finish,
  #btnFinalizar,
  #finalizePurchaseButton
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.login-page) :is(
  .btn-finalizar,
  .action-finish,
  #btnFinalizar,
  #finalizePurchaseButton
) {
  background: #16a34a !important;
  border-color: #15803d !important;
}

body:not(.login-page) :is(
  .btn-danger,
  .danger,
  .action-danger,
  .action-delete,
  .action-disable,
  .btn-delete,
  .btn-disable
) {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
}

body:not(.login-page) :is(.action-cancel, .btn-cancel) {
  background: #f97316 !important;
  border-color: #ea580c !important;
}

/* Exceções funcionais solicitadas. */
body:not(.login-page) :is(.btn-recibo-venda, #reciboVendaButton) {
  background: #f97316 !important;
  border-color: #ea580c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.login-page) :is(.modal-close, .finance-modal-close, .receivable-modal-close, .layout-modal-close, .btn-fechar-devolucao, .btn-fechar-estorno) {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.login-page) :is(.modal-close, .finance-modal-close, .receivable-modal-close, .layout-modal-close, .btn-fechar-devolucao, .btn-fechar-estorno) :is(svg, .ui-icon, i),
body:not(.login-page) :is(.btn-recibo-venda, #reciboVendaButton) :is(svg, .ui-icon, i) {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

body:not(.login-page) :is(
  .action-pay,
  .action-success,
  #recebimentoButton,
  #pagamentoButton,
  #salvarRecebimento,
  #confirmarPagamentoButton,
  #registrarPagamentoButton,
  button[onclick^="abrirPagamento"],
  #btnFinalizar,
  #finalizePurchaseButton
) {
  background: #16a34a !important;
  border-color: #15803d !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.login-page) :is(
  .action-pay,
  .action-success,
  #recebimentoButton,
  #pagamentoButton,
  #salvarRecebimento,
  #confirmarPagamentoButton,
  #registrarPagamentoButton,
  #btnFinalizar,
  #finalizePurchaseButton
) :is(svg, .ui-icon, i) {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Apenas no celular: os cards superiores e ações ocupam duas colunas. */
@media screen and (max-width: 700px) {
  body:has(#dashboardQuickActions) #dashboardQuickActions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(#stockTableBody) .stats-grid,
  body:has(#reportSalesTotal) .stats-grid,
  body:has(#tabelaContas) .stats-grid,
  body:has(#contasTableBody) .stats-grid,
  body:has(#statAbertas) .stats-grid,
  body:has(#usersTableBody) .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(#pagamentoButton) .conta-resumo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Correções finais de contraste e cores funcionais por página. */
body:not(.login-page) :is(
  .inicio-relatorios :is(a, button),
  #btnCancelar,
  #cancelPurchaseButton,
  #contasTableBody .action-disable,
  #usersTableBody .action-disable,
  #btnRemoveLogo,
  #btnRemoveReceiptLogo,
  #btnFecharHistorico,
  #closeSalesReportModal,
  #closeClientReportModal,
  .btn-fechar-devolucao,
  .btn-fechar-estorno
) :is(svg, .ui-icon, i) {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Cancelar, excluir, desativar e fechar continuam vermelhos em ambos os temas. */
body:not(.login-page) :is(
  #btnCancelar,
  #cancelPurchaseButton,
  #cancelarButton,
  #btnRemoveLogo,
  #btnRemoveReceiptLogo,
  #contasTableBody .action-disable,
  #usersTableBody .action-disable,
  #usersTableBody [data-status-user],
  #cancelClientButton,
  #cancelSupplierButton,
  #cancelUserButton,
  #cancelPermissionsButton,
  #cancelStatusButton,
  #cancelRescheduleReceivablesButton,
  #cancelDeleteClientButton,
  #cancelConfirmationButton,
  #cancelStockMovement,
  #cancelStockConfirmation,
  #cancelModalButton,
  #cancelarContaButton,
  #btnFecharHistorico,
  #closeSalesReportModal,
  #closeClientReportModal,
  .btn-fechar-devolucao,
  .btn-fechar-estorno
) {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body:not(.login-page) :is(
  #btnCancelar,
  #cancelPurchaseButton,
  #cancelarButton,
  #btnRemoveLogo,
  #btnRemoveReceiptLogo,
  #contasTableBody .action-disable,
  #usersTableBody .action-disable,
  #usersTableBody [data-status-user],
  #cancelClientButton,
  #cancelSupplierButton,
  #cancelUserButton,
  #cancelPermissionsButton,
  #cancelStatusButton,
  #cancelRescheduleReceivablesButton,
  #cancelDeleteClientButton,
  #cancelConfirmationButton,
  #cancelStockMovement,
  #cancelStockConfirmation,
  #cancelModalButton,
  #cancelarContaButton,
  #btnFecharHistorico,
  #closeSalesReportModal,
  #closeClientReportModal,
  .btn-fechar-devolucao,
  .btn-fechar-estorno
) :is(svg, .ui-icon, i) {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Recibo da venda na conta: amarelo com texto e ícone pretos. */
body:not(.login-page) #reciboVendaButton {
  background: #facc15 !important;
  border-color: #ca8a04 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
body:not(.login-page) #reciboVendaButton :is(svg, .ui-icon, i) {
  color: #111111 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Voltar mantém o ícone branco nos dois temas. */
body:not(.login-page) #voltarButton :is(svg, .ui-icon, i) {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Ações normais ficam azuis também no claro, sem alterar as ações destrutivas. */
body:not(.login-page) :is(
  .inicio-relatorios :is(a, button),
  #dashboardQuickActions .quick-action,
  #btnRelatorioVendas,
  #btnHistorico,
  #exportarFiltro,
  #limparFiltros,
  #searchButton,
  #clearSearchButton,
  #clearUserSearch,
  #searchStockButton,
  #showAllStockButton,
  #showLowStockButton,
  #clientReportButton,
  #updateClientReportButton,
  #updateSalesReport,
  #generateReportButton,
  .report-export-button,
  .report-pdf-button,
  .report-share-pdf-button,
  .finance-period-button,
  .finance-today-button,
  .finance-collapse-button,
  #atualizarRelatorioRecebimentos,
  #atualizarExtrato,
  #newClientButton,
  #newSupplierButton,
  #newProductButton,
  #novaContaButton,
  #btnNovaDivida,
  #newUserButton,
  [data-exportacao],
  [data-importacao],
  #btnBackupDatabase,
  #btnShareBackup,
  #btnRestoreBackup,
  #btnResetConfig,
  #btnSaveConfig
) {
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Desktop: remove o preenchimento azul-acinzentado dos nomes. */
@media screen and (min-width: 701px) {
  :is(#clientsTableBody, #tabelaContas) td[data-mobile-label="Cliente"] {
    background: inherit !important;
    border-left-color: transparent !important;
  }
}

/* Na página de vendas, o total acompanha o contraste azul-claro no escuro. */
:is(body.dark-mode, html.dark-mode) #totalVenda {
  color: #60a5fa !important;
  -webkit-text-fill-color: #60a5fa !important;
}

:is(body.dark-mode, html.dark-mode) #viewClientReceivablesBody tr td {
  background: #1c1c1e !important;
  border-color: #38383a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* No modo claro, nomes de clientes permanecem pretos. */
body:not(.dark-mode) :is(
  #clientsTableBody td[data-mobile-label="Cliente"],
  #clientsTableBody td[data-mobile-label="Cliente"] strong,
  #clientsTableBody tr > td:first-child,
  #clientsTableBody tr > td:first-child strong,
  #clientsTableBody tr > td:nth-child(2),
  #clientsTableBody tr > td:nth-child(2) strong,
  #tabelaContas td[data-mobile-label="Cliente"],
  #tabelaContas td[data-mobile-label="Cliente"] *,
  #tabelaContas tr > td:nth-child(3)
) {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  #tabelaContas td,
  #tabelaContas td[data-mobile-label="Descrição"],
  #tabelaContas td[data-label="Descrição"]
) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Status mantêm suas cores próprias também no modo escuro. */
:is(body.dark-mode, html.dark-mode) :is(
  .status-pendente,
  .client-status-pendente,
  .client-status-aberta
) {
  background: #fff7ed !important;
  color: #c2410c !important;
  -webkit-text-fill-color: #c2410c !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .status-pago,
  .client-status-pago,
  .client-status-finalizada
) {
  background: #dcfce7 !important;
  color: #15803d !important;
  -webkit-text-fill-color: #15803d !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .status-vencido,
  .client-status-vencido
) {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  -webkit-text-fill-color: #dc2626 !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .status-cancelado,
  .client-status-cancelada,
  .client-status-cancelado,
  .status-default
) {
  background: #f1f1f1 !important;
  color: #525252 !important;
  -webkit-text-fill-color: #525252 !important;
}

/* Valores financeiros que eram azul-escuros ficam azul-claros no escuro. */
:is(body.dark-mode, html.dark-mode) :is(
  .finance-summary-header strong,
  .finance-summary-details strong
) {
  color: #60a5fa !important;
  -webkit-text-fill-color: #60a5fa !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .finance-section-header h2,
  .finance-section-header p,
  .finance-field label,
  .finance-extract-summary strong,
  .finance-account-summary strong:not(.positive):not(.negative),
  .finance-account-movements-header strong,
  .finance-receipts-title,
  .finance-evolution-label
) {
  color: #60a5fa !important;
  -webkit-text-fill-color: #60a5fa !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  .finance-account-name strong,
  .finance-account-value,
  .finance-account-summary strong:not(.positive):not(.negative),
  .finance-receipts-summary strong,
  .finance-receipts-card strong,
  .finance-evolution-value strong,
  .finance-category-info strong,
  .finance-account-period-summary strong:not(.positive):not(.negative),
  .finance-account-movements-header strong
) {
  color: #60a5fa !important;
  -webkit-text-fill-color: #60a5fa !important;
}

:is(body.dark-mode, html.dark-mode) :is(
  #recebimentosTotal,
  #recebimentosQuantidade,
  #recebimentosTicketMedio,
  #recebimentosFormasPagamento .finance-payment-main strong,
  #recebimentosFormasPagamento .finance-payment-values strong,
  #recebimentosEvolucao .finance-evolution-value strong
) {
  color: #60a5fa !important;
  -webkit-text-fill-color: #60a5fa !important;
}

/* Cancelar lançamento: vermelho com texto e ícone brancos nos dois temas. */
:is(body:not(.login-page), body.dark-mode, html.dark-mode) .finance-cancel-button {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

:is(body:not(.login-page), body.dark-mode, html.dark-mode) .finance-cancel-button :is(svg, i, .ui-icon) {
  display: inline-block !important;
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  filter: brightness(0) invert(1) !important;
}

:is(body:not(.login-page), body.dark-mode, html.dark-mode) .finance-cancel-button::before,
:is(body:not(.login-page), body.dark-mode, html.dark-mode) .finance-cancel-button::after {
  color: #ffffff !important;
  border-color: #ffffff !important;
  filter: brightness(0) invert(1) !important;
}

/* Ações da conta a receber: os ícones permanecem brancos nos dois temas. */
:is(body:not(.login-page), body.dark-mode, html.dark-mode) :is(
  #recebimentoButton,
  #reciboVendaButton,
  #cancelarButton,
  #cancelarContaButton
) :is(svg, i, .ui-icon) {
  display: inline-block !important;
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  -webkit-text-fill-color: #ffffff !important;
  filter: brightness(0) invert(1) !important;
}

/* Opções do Dashboard: texto preto sobre o fundo claro, inclusive no escuro. */
:is(body.dark-mode, html.dark-mode) .config-dashboard-section .dashboard-card-option,
:is(body.dark-mode, html.dark-mode) .config-dashboard-section .dashboard-card-option span {
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

:is(body:not(.login-page), body.dark-mode, html.dark-mode) :is(
  #recebimentoButton,
  #reciboVendaButton,
  #cancelarButton,
  #cancelarContaButton
)::before,
:is(body:not(.login-page), body.dark-mode, html.dark-mode) :is(
  #recebimentoButton,
  #reciboVendaButton,
  #cancelarButton,
  #cancelarContaButton
)::after {
  color: #ffffff !important;
  border-color: #ffffff !important;
  filter: brightness(0) invert(1) !important;
}


/* =========================================================
   FINANCEIRO — SALDO ATUAL
   Verde permanente nos temas claro e escuro.
   ========================================================= */

body:not(.login-page) .financeiro-page #saldoAtual,
body:not(.login-page) #saldoAtual,
:is(body.dark-mode, html.dark-mode) .financeiro-page #saldoAtual,
:is(body.dark-mode, html.dark-mode) #saldoAtual {
  color: #16a34a !important;
  -webkit-text-fill-color: #16a34a !important;
}



/* SALDO ATUAL FINANCEIRO — VERDE NOS DOIS TEMAS */
.financeiro-page #saldoAtual,
:is(body.dark-mode, html.dark-mode) .financeiro-page #saldoAtual {
  color: #16a34a !important;
  -webkit-text-fill-color: #16a34a !important;
}

