/* centralpb_dashboard_unidade_v40_clean - layout limpo: menu, tema e tabelas */
:root{
  --sidebar:260px; --radius:14px;
  --bg:#061c17; --panel:#102f28; --panel2:#173b33; --text:#f4fff9; --muted:#b8d3c8; --line:rgba(197,234,217,.18); --shadow:0 14px 34px rgba(0,0,0,.25);
  --green:#21c142; --orange:#ff8617; --yellow:#d6c300; --teal:#19b9c3; --blue:#2b74dd; --purple:#8440d8; --red:#ff4a4a;
}

/* ================================================================
   TUDHO V34.35 — padrão global de relatórios e tabelas
   ================================================================ */

/* Títulos, cabeçalhos e dados tabulares seguem o mesmo alinhamento
   em todas as telas, inclusive quando a célula contém outros elementos. */
main.content table{
  margin-left:auto!important;
  margin-right:auto!important;
}
main.content table th,
main.content table td,
main.content table .num{
  text-align:center!important;
  vertical-align:middle!important;
}
main.content table th>*,
main.content table td>*{
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}

@media print{
  /* Blocos com tabelas podem atravessar páginas. Impede que uma tabela
     inteira seja empurrada para a folha seguinte e deixe espaços vazios. */
  main.content .card:has(table),
  main.content .card:has(.tableWrap),
  main.content .forecastDailyCard{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  main.content .card:has(table)>h2,
  main.content .card:has(table)>h3{
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }
  main.content table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 auto!important;
    border-collapse:collapse!important;
  }
  main.content table thead{display:table-header-group!important}
  main.content table tfoot{display:table-footer-group!important}
  main.content table tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  main.content table th,
  main.content table td,
  main.content table .num{
    text-align:center!important;
    vertical-align:middle!important;
  }
  main.content section.card>h2,
  main.content section.card>h3{
    text-align:center!important;
  }

  /* Previsão de vendas: quatro indicadores em uma única faixa compacta. */
  .page-vendas .forecastKpis{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
    margin:0 0 6px!important;
    break-inside:avoid-page!important;
  }
  .page-vendas .forecastKpis>.metric{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:5px!important;
    min-height:0!important;
    height:24mm!important;
    padding:5px 6px!important;
    align-content:center!important;
  }
  .page-vendas .forecastKpis .ico{
    grid-row:1 / 4!important;
    align-self:start!important;
    width:20px!important;
    height:20px!important;
    margin:0!important;
    font-size:9px!important;
  }
  .page-vendas .forecastKpis .metricLabel{
    font-size:7pt!important;
    min-height:0!important;
    text-align:center!important;
  }
  .page-vendas .forecastKpis .metricValue{
    font-size:12pt!important;
    line-height:1.05!important;
    margin:1mm 0!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .page-vendas .forecastKpis .metricSub{
    font-size:6.5pt!important;
    line-height:1.05!important;
    text-align:center!important;
  }
  .page-vendas .forecastDailyCard{
    padding:6px!important;
    margin-top:0!important;
  }
  .page-vendas .forecastDailyCard>h2{margin:1mm 0!important}
  .page-vendas .forecastDailyCard>.hint{
    text-align:center!important;
    font-size:6.8pt!important;
    line-height:1.15!important;
    margin:0 0 2mm!important;
  }
  .page-vendas .forecastDailyCard .dataTable th,
  .page-vendas .forecastDailyCard .dataTable td{
    font-size:7.4pt!important;
    padding:2px 3px!important;
  }
}

/* TUDHO V34.34 - Resumo Executivo em uma folha A4 paisagem. */
@media print{
  .page-vendas .recebBox{display:none!important}
  .page-vendas .dashboardEstornosCard{
    padding:2mm 3mm!important;margin:0!important;break-inside:avoid-page!important
  }
  .page-vendas .dashboardEstornosCard>h2{
    font-size:11pt!important;margin:0 0 1.2mm!important;text-align:center!important
  }
  .page-vendas .dashboardEstornosCard .smallCards{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:2mm!important;margin:0 0 1mm!important
  }
  .page-vendas .dashboardEstornosCard .smallCards>div{
    padding:1.2mm!important;text-align:center!important;border:1px solid #ccd8d2!important
  }
  .page-vendas .dashboardEstornosCard .smallCards b{font-size:9.5pt!important}
  .page-vendas .dashboardEstornosCard .smallCards span{display:block;font-size:6.3pt!important}
  .page-vendas .dashboardEstornosCard .dashboardGoalBox{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:5mm!important;
    margin:1mm auto 0!important;max-width:170mm!important;align-items:start!important
  }
  .page-vendas .dashboardEstornosCard .goalGauge{
    width:38mm!important;max-width:38mm!important;margin:0 auto!important
  }
  .page-vendas .dashboardEstornosCard .gTitle{font-size:8pt!important;margin:0 0 .5mm!important}
  .page-vendas .dashboardEstornosCard .gCenter strong{font-size:10pt!important}
  .page-vendas .dashboardEstornosCard .gCenter small{font-size:6pt!important}
  .page-vendas .dashboardEstornosCard .gScale{font-size:5.8pt!important;margin-top:.4mm!important}
  .page-vendas .dashboardEstornosCard .gSub{font-size:5.8pt!important;margin-top:.4mm!important}
  .page-vendas .dashboardRankTables{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:3mm!important;
    break-before:page!important;page-break-before:always!important;margin:0!important
  }
  .page-vendas .dashboardRankTables>.card{margin:0!important}
  .page-vendas .twoCols>.card .donut{display:none!important}
  .page-vendas .twoCols>.card .donutBox{min-height:0!important;height:auto!important;padding:4mm 0!important}
  .page-vendas .twoCols>.card .legend{text-align:center!important;font-size:8pt!important}
}

/* TUDHO V34.35 - regras finais: prevalecem sobre estilos antigos. */
main.content table{margin-left:auto!important;margin-right:auto!important}
main.content table th,main.content table td,main.content table .num{
  text-align:center!important;vertical-align:middle!important
}
main.content table th>*,main.content table td>*{
  margin-left:auto!important;margin-right:auto!important;text-align:center!important;
  justify-content:center!important;align-items:center!important
}
@media print{
  main.content .card:has(table),main.content .card:has(.tableWrap),main.content .forecastDailyCard{
    break-inside:auto!important;page-break-inside:auto!important
  }
  main.content table{width:100%!important;min-width:0!important;max-width:100%!important;margin:0 auto!important}
  main.content table thead{display:table-header-group!important}
  main.content table tfoot{display:table-footer-group!important}
  main.content table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  main.content table th,main.content table td,main.content table .num{text-align:center!important;vertical-align:middle!important}
  main.content section.card>h2,main.content section.card>h3{text-align:center!important}
  .page-vendas .forecastKpis{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;margin:0 0 6px!important;break-inside:avoid-page!important
  }
  .page-vendas .forecastKpis>.metric{
    display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;column-gap:5px!important;
    min-height:0!important;height:24mm!important;padding:5px 6px!important;align-content:center!important
  }
  .page-vendas .forecastKpis .ico{
    grid-row:1 / 4!important;align-self:start!important;width:20px!important;height:20px!important;
    margin:0!important;font-size:9px!important
  }
  .page-vendas .forecastKpis .metricLabel{font-size:7pt!important;min-height:0!important;text-align:center!important}
  .page-vendas .forecastKpis .metricValue{
    font-size:12pt!important;line-height:1.05!important;margin:1mm 0!important;
    white-space:normal!important;text-align:center!important
  }
  .page-vendas .forecastKpis .metricSub{font-size:6.5pt!important;line-height:1.05!important;text-align:center!important}
  .page-vendas .forecastDailyCard{padding:6px!important;margin-top:0!important}
  .page-vendas .forecastDailyCard>h2{margin:1mm 0!important}
  .page-vendas .forecastDailyCard>.hint{
    text-align:center!important;font-size:6.8pt!important;line-height:1.15!important;margin:0 0 2mm!important
  }
  .page-vendas .forecastDailyCard .dataTable th,.page-vendas .forecastDailyCard .dataTable td{
    font-size:7.4pt!important;padding:2px 3px!important
  }
}

/* TUDHO V34.33 - primeira folha compacta com Top 3. */
@media print{
  .performanceNetworkReport .performanceKpis{
    gap:1.8mm!important;margin-bottom:1.8mm!important
  }
  .performanceNetworkReport .performanceKpis>.metric{
    min-height:22mm!important;height:22mm!important;padding:2mm!important
  }
  .performanceNetworkReport .performanceKpis .metricLabel{font-size:6.8pt!important;min-height:4mm!important}
  .performanceNetworkReport .performanceKpis .metricValue{font-size:13.5pt!important;margin:.6mm 0!important}
  .performanceNetworkReport .performanceKpis .metricSub{font-size:6.2pt!important}
  .performanceNetworkReport .performanceAnalysis{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.8mm!important;
    margin:0 0 1.8mm!important;break-inside:avoid-page!important
  }
  .performanceNetworkReport .performanceAnalysis>.card{
    min-height:27mm!important;height:27mm!important;margin:0!important;padding:2mm 2.5mm!important;
    overflow:hidden!important
  }
  .performanceNetworkReport .performanceAnalysis h2{
    text-align:center!important;font-size:10.5pt!important;margin:0 0 1mm!important
  }
  .performanceNetworkReport .performanceAnalysis ul{margin:0!important;padding-left:4mm!important}
  .performanceNetworkReport .performanceAnalysis li{
    font-size:7.2pt!important;line-height:1.16!important;margin:.8mm 0!important
  }
  .performanceNetworkReport .performanceTop3{
    padding:1.8mm 2.2mm!important;margin:0!important;break-inside:avoid-page!important
  }
  .performanceNetworkReport .performanceTop3Head{
    margin:0 0 .8mm!important;gap:3mm!important
  }
  .performanceNetworkReport .performanceTop3Head h2{font-size:11pt!important}
  .performanceNetworkReport .performanceTop3Head p{font-size:6.2pt!important}
  .performanceNetworkReport .performancePodium{gap:1.8mm!important}
  .performanceNetworkReport .podiumCard{
    min-height:24mm!important;height:24mm!important;padding:1.2mm!important;gap:0!important
  }
  .performanceNetworkReport .podiumCard span{font-size:6.3pt!important}
  .performanceNetworkReport .podiumCard b{font-size:7.8pt!important}
  .performanceNetworkReport .podiumCard strong{font-size:12.5pt!important}
  .performanceNetworkReport .podiumCard small,.performanceNetworkReport .podiumVariation{font-size:5.8pt!important;line-height:1.05!important}
}

/* TUDHO V34.32 - Performance em formato de relatório, não captura da tela. */
@media print{
  @page{size:A4 landscape;margin:7mm!important}
  .page-delivery>.topbar,.page-salao>.topbar,
  .performanceReport .channelTabs,.performanceReport .moduleTabs,
  .performanceReport .performanceRefreshNote{display:none!important}
  .page-delivery>.printContext,.page-salao>.printContext{
    display:block!important;text-align:center!important;margin:0 0 4mm!important;
    padding:0 0 2.5mm!important;border-bottom:1px solid #8aa69a!important
  }
  .page-delivery>.printContext>b,.page-salao>.printContext>b{
    display:block!important;font-size:17pt!important;color:#07543f!important
  }
  .page-delivery>.printContext .printReportMeta,.page-salao>.printContext .printReportMeta{
    display:block!important;font-size:8.5pt!important;color:#4d625a!important;margin-top:1.5mm!important
  }
  .performanceReport{display:block!important;width:100%!important;color:#17231f!important}
  .performanceReport section.card{
    padding:3mm!important;margin:0 0 2.5mm!important;border:1px solid #b8cbc2!important;
    border-radius:2.5mm!important;box-shadow:none!important;background:#fff!important
  }
  .performanceReport h2{text-align:center!important;font-size:13pt!important;margin:0 0 1.5mm!important;color:#123e32!important}
  .performanceReport .hint{text-align:center!important;font-size:7.2pt!important;line-height:1.2!important;color:#596a63!important}

  /* Primeira folha: resumo executivo completo. */
  .performanceReport .performanceKpis{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:2.5mm!important;margin:0 0 2.5mm!important;break-inside:avoid-page!important
  }
  .performanceReport .performanceKpis>.metric{
    display:block!important;min-height:27mm!important;height:27mm!important;padding:3mm!important;
    border:1px solid #b8cbc2!important;border-top:3px solid #0a7449!important;border-radius:2.5mm!important
  }
  .performanceReport .performanceKpis .ico{display:none!important}
  .performanceReport .performanceKpis .metricLabel{text-align:center!important;font-size:7.5pt!important;min-height:7mm!important}
  .performanceReport .performanceKpis .metricValue{text-align:center!important;font-size:15pt!important;line-height:1.05!important;margin:1mm 0!important;white-space:normal!important}
  .performanceReport .performanceKpis .metricSub{text-align:center!important;font-size:7pt!important;line-height:1.1!important}
  .performanceReport .analysisGrid{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:2.5mm!important;
    margin:0 0 2.5mm!important;break-inside:avoid-page!important
  }
  .performanceReport .analysisGrid>.card{min-height:34mm!important;margin:0!important;padding:3mm!important}
  .performanceReport .analysisGrid h2{text-align:left!important;font-size:12pt!important}
  .performanceReport .analysisGrid li{font-size:8pt!important;line-height:1.25!important;margin:1.2mm 0!important}
  .performanceReport .performanceTop3{break-inside:avoid-page!important;padding:2.5mm!important}
  .performanceReport .performanceTop3Head{display:flex!important;justify-content:center!important;align-items:baseline!important;gap:4mm!important;margin-bottom:1.5mm!important}
  .performanceReport .performanceTop3Head h2{margin:0!important}
  .performanceReport .performanceTop3Head p{font-size:7pt!important;margin:0!important;color:#596a63!important}
  .performanceReport .performancePodium{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2.5mm!important}
  .performanceReport .podiumCard{min-height:30mm!important;padding:2mm!important;gap:.5mm!important;text-align:center!important;border:1px solid #d1ddd7!important;border-radius:2mm!important}
  .performanceReport .podiumCard span{font-size:7.5pt!important}.performanceReport .podiumCard b{font-size:9pt!important}
  .performanceReport .podiumCard strong{font-size:15pt!important;line-height:1!important}.performanceReport .podiumCard small,.performanceReport .podiumVariation{font-size:6.8pt!important}

  /* Segunda folha: recebimentos e ranking. */
  .performanceNetworkReport .deliveryReceiptSummary{break-before:page!important;page-break-before:always!important;break-inside:avoid-page!important}
  .performanceReport .deliveryReceiptSummary{padding:2.5mm!important}
  .performanceReport .deliveryReceiptSummary .dataTable th,.performanceReport .deliveryReceiptSummary .dataTable td{font-size:7.4pt!important;padding:1.2mm!important}
  .performanceReport .performanceRanking{break-inside:avoid-page!important;padding:2.5mm!important}
  .performanceReport .performanceRanking h2{font-size:13pt!important}
  .performanceReport .deliverySelectionAudit{justify-content:center!important;gap:2mm!important;margin:1mm 0!important}
  .performanceReport .deliverySelectionAudit>*{font-size:7pt!important;padding:1mm 2mm!important}
  .performanceReport .performanceRanking .hint,.performanceReport .performanceFootnote{font-size:6.6pt!important;text-align:center!important;line-height:1.15!important}
  .performanceReport .performanceRanking .dataTable th,.performanceReport .performanceRanking .dataTable td{font-size:6.9pt!important;line-height:1.05!important;padding:1mm .7mm!important}
  .performanceReport .performanceRanking .dataTable th:nth-child(2),.performanceReport .performanceRanking .dataTable td:nth-child(2){width:14%!important}

  /* Terceira folha: cobertura; financeiro apenas quando solicitado. */
  .performanceNetworkReport .performanceCoverage{break-before:page!important;page-break-before:always!important;break-inside:avoid-page!important}
  .performanceReport .performanceCoverage .dataTable th,.performanceReport .performanceCoverage .dataTable td{font-size:8pt!important;padding:1.5mm!important}
  .performanceReport .financialReportToggle{display:none!important}
  .performanceReport .optionalFinancial:not(.isVisible){display:none!important}
  .performanceReport .optionalFinancial.isVisible{display:block!important;break-before:page!important;page-break-before:always!important}
  .performanceReport .optionalFinancial .dataTable th,.performanceReport .optionalFinancial .dataTable td{font-size:7pt!important;padding:1mm!important}
}

/* TUDHO V34.20 - impressão gerencial da Performance Delivery. */
@media print{
  .performanceReport .topbar,.performanceReport .filters{display:none!important}
  .performanceReport .printFilterSummary{display:none!important}
  .performanceReport .printReportMeta{display:block!important;font-size:8.5pt!important;margin-top:3px!important;color:#444!important}
  .performanceReport .performanceKpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .performanceReport .performanceKpis>.metric{min-height:0!important;height:auto!important;padding:7px!important}
  .performanceReport .analysisGrid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;break-inside:avoid-page!important}
  .performanceReport .performancePodium{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  .performanceReport .performanceTop3{padding:5px 7px!important;margin-bottom:4px!important}
  .performanceReport .performanceTop3Head{display:flex!important;align-items:baseline!important;gap:10px!important;margin-bottom:3px!important}
  .performanceReport .performanceTop3Head h2{font-size:13pt!important;margin:0!important}
  .performanceReport .performanceTop3Head p{font-size:6.8pt!important;margin:0!important;color:#555!important}
  .performanceReport .podiumCard{min-height:0!important;padding:4px 6px!important;gap:1px!important}
  .performanceReport .podiumCard span{font-size:7pt!important}.performanceReport .podiumCard b{font-size:8.5pt!important}.performanceReport .podiumCard strong{font-size:14pt!important;line-height:1!important}.performanceReport .podiumCard small{font-size:6.3pt!important}.performanceReport .podiumScoreLabel{margin-top:1px!important}.performanceReport .podiumVariation{font-size:6.6pt!important}
  .performanceReport .performanceTop3{break-inside:avoid-page!important}
  .performanceReport .deliveryReceiptSummary{padding:5px 7px!important;margin-bottom:4px!important}
  .performanceReport .deliveryReceiptSummary h2{font-size:12pt!important;margin:0 0 2px!important}
  .performanceReport .deliveryReceiptSummary .hint{font-size:6.5pt!important;line-height:1.15!important;margin:2px 0 3px!important}
  .performanceReport .deliveryReceiptSummary .dataTable th,.performanceReport .deliveryReceiptSummary .dataTable td{font-size:6.2pt!important;line-height:1.05!important;padding:1px 3px!important}
  .performanceReport .performanceRanking{break-inside:auto!important;padding:5px 7px!important}
  .performanceReport .performanceRanking h2{font-size:12pt!important;margin:0 0 2px!important}
  .performanceReport .performanceRanking .hint,.performanceReport .performanceFootnote{font-size:6.3pt!important;line-height:1.15!important;margin:2px 0 3px!important}
  .performanceReport .performanceRanking thead{display:table-header-group!important}
  .performanceReport .performanceRanking .dataTable th,.performanceReport .performanceRanking .dataTable td{font-size:6.5pt!important;padding:2px!important;white-space:normal!important}
  .performanceReport .performanceRanking .dataTable th:nth-child(2),.performanceReport .performanceRanking .dataTable td:nth-child(2){min-width:88px!important}
  .performanceReport .headerFilterBtn,.performanceReport .columnFilter,.performanceReport select{display:none!important}
  .performanceReport .performanceCoverage .dataTable th,.performanceReport .performanceCoverage .dataTable td{font-size:7pt!important}
  .performanceReport .deliveryComparisonBlock{break-inside:auto!important}
  .performanceReport .deliveryComparisonBlock .dataTable th,.performanceReport .deliveryComparisonBlock .dataTable td{font-size:6.7pt!important;padding:2px 3px!important}
  .performanceReport .financialReportToggle{display:none!important}
  .performanceReport .optionalFinancial:not(.isVisible){display:none!important}
  .performanceReport .optionalFinancial.isVisible{display:block!important}
  .performanceReport .comparisonPrintNote{display:block!important}
}
html[data-theme="claro"], body[data-theme="claro"]{
  --bg:#f7faf8; --panel:#ffffff; --panel2:#f1f7f3; --text:#061b15; --muted:#385248; --line:#d7e7dd; --shadow:0 10px 26px rgba(0,0,0,.10);
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:var(--bg)!important;color:var(--text)!important} a{text-decoration:none;color:inherit}.app{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);background:var(--bg)!important}.sidebar{position:sticky;top:0;height:100vh;background:var(--panel)!important;border-right:1px solid var(--line);padding:16px 14px;display:flex;flex-direction:column;gap:12px;overflow:hidden;color:var(--text)!important}.brandBox{height:112px;display:flex;align-items:center;justify-content:center;overflow:hidden}.brandSymbol{display:block;max-width:92px;max-height:92px;width:auto;height:auto;object-fit:contain}.logoLight{display:none}html[data-theme="claro"] .logoDark{display:none!important}html[data-theme="claro"] .logoLight{display:block!important}html[data-theme="escuro"] .logoDark{display:block!important}html[data-theme="escuro"] .logoLight{display:none!important}.collapseBtn{height:44px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);display:flex;align-items:center;justify-content:center;gap:10px;font-weight:900;cursor:pointer}.collapseBtn:hover{filter:brightness(1.05)}.nav{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin;scrollbar-color:#87b59d transparent}.nav::-webkit-scrollbar{width:9px}.nav::-webkit-scrollbar-track{background:transparent}.nav::-webkit-scrollbar-thumb{background:#87b59d;border-radius:999px}.nav a{display:flex;align-items:center;gap:12px;border-radius:12px;margin:5px 0;padding:10px 12px;color:var(--text)!important;min-width:0}.nav a:hover{background:rgba(33,193,66,.14)!important;color:var(--text)!important}.nav a.active{background:#078346!important;color:#fff!important;box-shadow:inset 4px 0 0 #26df68}.navIcon{width:38px;height:38px;min-width:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid var(--line)}html[data-theme="claro"] .navIcon{background:#eef8f1;color:#08723c;border-color:#cfe7d8}.navIcon svg{width:22px;height:22px}.navText{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.userbox{border-top:1px solid var(--line);padding-top:12px;display:flex;gap:10px;align-items:center;min-height:58px}.avatar{width:42px;height:42px;min-width:42px;border-radius:999px;background:#078346;color:#fff;display:grid;place-items:center;font-weight:900}.uinfo{min-width:0}.uinfo small{color:var(--muted);word-break:break-all}body.menu-collapsed{--sidebar:86px}body.menu-collapsed .brandBox{height:78px}body.menu-collapsed .brandSymbol{max-width:54px;max-height:54px}body.menu-collapsed .collapseText,body.menu-collapsed .navText,body.menu-collapsed .uinfo{display:none!important}body.menu-collapsed .sidebar{padding:12px 10px}body.menu-collapsed .nav a{justify-content:center;padding:11px 4px}body.menu-collapsed .userbox{justify-content:center}.content{min-width:0;padding:28px;background:var(--bg)!important;color:var(--text)!important}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar h1{margin:0;font-size:28px;line-height:1.15}.filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.filters label{font-size:12px;color:var(--muted)}.input{height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:0 12px;display:flex;align-items:center;gap:8px;margin-top:6px}.input input{background:transparent;border:0;color:var(--text);font-size:15px;outline:0;color-scheme:dark;min-width:140px}html[data-theme="claro"] .input input{color:#061b15;color-scheme:light}.themeControl{height:44px;border:1px solid var(--line);background:var(--panel);border-radius:10px;display:flex;align-items:center;padding:3px}.themeControl button,.refresh{border:0;border-radius:8px;background:transparent;color:var(--text);height:36px;min-width:42px;cursor:pointer;font-size:18px}.themeControl button.active,.refresh{background:#078346!important;color:#fff!important}.refresh{height:44px}.card{background:var(--panel)!important;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;color:var(--text)!important;min-width:0}.kpiGrid,.salesCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin-bottom:16px}.metric{min-height:145px}.ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:23px;margin-bottom:16px}.green{background:var(--green)}.orange{background:var(--orange)}.yellow{background:var(--yellow)}.teal{background:var(--teal)}.blue{background:var(--blue)}.purple{background:var(--purple)}.metricLabel{text-transform:uppercase;font-size:12px;line-height:1.2;color:var(--muted);font-weight:900}.metricValue{font-size:22px;margin:12px 0 8px;white-space:nowrap}.metricSub{color:var(--muted);font-size:13px;font-weight:700}.nowrap{white-space:nowrap}.up{color:#36de5f}.twoCols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:16px;margin-bottom:16px}.threeCols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.summaryRows>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.summaryRows .strong b{font-weight:900}.cmvGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.cmvGrid>div{border-left:1px solid var(--line);padding-left:14px}.cmvGrid>div:first-child{border-left:0}.cmvGrid span,.cmvGrid small{display:block;color:var(--muted)}.cmvGrid b{display:block;font-size:20px;margin:5px 0}.cmvGrid em{font-style:normal;color:#e1c400;font-weight:900}.donutBox{display:flex;align-items:center;justify-content:center;gap:28px}.donut{width:210px;height:210px;border-radius:50%;background:conic-gradient(var(--orange) 0 var(--p), var(--purple) var(--p) 100%);box-shadow:0 0 42px rgba(255,134,23,.20)}.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.orangeDot{background:var(--orange)}.purpleDot{background:var(--purple)}.smallCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.smallCards>div{border:1px solid var(--line);border-radius:12px;padding:16px}.smallCards b{display:block;font-size:20px}.tableWrap{max-width:100%;overflow:auto;display:block}.dataTable{border-collapse:collapse;table-layout:auto;width:max-content;min-width:min(100%,420px);max-width:100%}.dataTable th,.dataTable td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left;white-space:nowrap}.dataTable th{color:var(--muted);font-size:13px;font-weight:900}.dataTable .num{text-align:right}.autoTable .dataTable{width:auto;max-width:100%}.autoTable .dataTable th:nth-child(1),.autoTable .dataTable td:nth-child(1){white-space:normal;min-width:160px;max-width:320px}.autoTable .dataTable th:not(:first-child),.autoTable .dataTable td:not(:first-child){width:1%;white-space:nowrap}.estornosTable .dataTable{min-width:720px;width:100%;table-layout:auto}.estornosTable .dataTable th:nth-child(1),.estornosTable .dataTable td:nth-child(1){width:105px;min-width:105px}.estornosTable .dataTable th:nth-child(2),.estornosTable .dataTable td:nth-child(2){width:145px;min-width:145px}.estornosTable .dataTable th:nth-child(3),.estornosTable .dataTable td:nth-child(3){width:160px;min-width:160px}.estornosTable .dataTable th:nth-child(4),.estornosTable .dataTable td:nth-child(4){white-space:normal;min-width:260px;width:auto}.estornosTable .dataTable th:nth-child(5),.estornosTable .dataTable td:nth-child(5){width:60px}.estornosTable .dataTable th:nth-child(6),.estornosTable .dataTable td:nth-child(6){width:100px}.payTable .dataTable{width:360px!important;min-width:360px!important;max-width:360px!important}.payTable .dataTable th:nth-child(1),.payTable .dataTable td:nth-child(1){width:120px}.payTable .dataTable th:nth-child(2),.payTable .dataTable td:nth-child(2){width:160px}.monthCurrent .dataTable,.monthAuto .dataTable{min-width:460px;width:max-content}.monthCurrent .dataTable th:first-child,.monthCurrent .dataTable td:first-child,.monthAuto .dataTable th:first-child,.monthAuto .dataTable td:first-child{position:sticky;left:0;background:var(--panel)!important;z-index:2;width:64px;min-width:64px;max-width:64px;text-align:center}.monthCurrent .dataTable th:not(:first-child),.monthCurrent .dataTable td:not(:first-child),.monthAuto .dataTable th:not(:first-child),.monthAuto .dataTable td:not(:first-child){min-width:130px}.formGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.formGrid input,.formGrid select,.configTable input{width:100%;height:38px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:8px;padding:0 10px}.saveBtn{margin:16px 0;border:0;background:#078346;color:#fff;border-radius:10px;height:42px;padding:0 18px;font-weight:900}.pill{border:1px solid #078346;border-radius:8px;padding:5px 10px;background:rgba(11,141,72,.15)}.statusBadge{display:inline-flex;align-items:center;justify-content:center;min-width:78px;border-radius:999px;padding:5px 10px;font-weight:900}.statusBadge.ok{background:#d5f6df;color:#075f2f}.statusBadge.bad{background:#ffe1df;color:#bd1c18}.linePlaceholder{height:240px;display:grid;place-items:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px}
@media(max-width:900px){:root{--sidebar:132px}.app{grid-template-columns:var(--sidebar) minmax(0,1fr)}.sidebar{padding:12px 8px}.brandBox{height:88px}.brandSymbol{max-width:76px;max-height:76px}.collapseBtn{height:40px}.content{padding:18px 12px}.topbar{display:block}.topbar h1{font-size:30px}.filters{display:grid;grid-template-columns:1fr;gap:10px}.input,.themeControl,.refresh{width:100%}.themeControl{display:grid;grid-template-columns:1fr 1fr}.nav a{flex-direction:column;justify-content:center;text-align:center;min-height:68px;padding:8px 4px}.navText{font-size:11px;font-weight:800}.navIcon{width:42px;height:42px}.navIcon svg{width:24px;height:24px}.userbox{display:none}.kpiGrid,.salesCards,.twoCols,.threeCols{grid-template-columns:1fr}.metric{min-height:132px}.metricValue{font-size:25px}.donutBox{flex-direction:column}.donut{width:180px;height:180px}.cmvGrid{grid-template-columns:1fr}.cmvGrid>div{border-left:0;border-top:1px solid var(--line);padding:10px 0 0}.cmvGrid>div:first-child{border-top:0}.smallCards{grid-template-columns:1fr}.autoTable .dataTable th:nth-child(1),.autoTable .dataTable td:nth-child(1){min-width:130px;max-width:180px}.payTable .dataTable{width:300px!important;min-width:300px!important;max-width:300px!important}.estornosTable .dataTable{min-width:640px}.estornosTable .dataTable th:nth-child(4),.estornosTable .dataTable td:nth-child(4){min-width:220px}.monthCurrent .dataTable th:first-child,.monthCurrent .dataTable td:first-child,.monthAuto .dataTable th:first-child,.monthAuto .dataTable td:first-child{width:56px;min-width:56px;max-width:56px}body.menu-collapsed{--sidebar:74px}body.menu-collapsed .brandSymbol{max-width:48px;max-height:48px}body.menu-collapsed .collapseText,body.menu-collapsed .navText{display:none!important}}
@media(min-width:901px){body.menu-collapsed .nav a{position:relative}body.menu-collapsed .nav a:hover::after{content:attr(title);position:absolute;left:70px;background:var(--panel);border:1px solid var(--line);padding:7px 10px;border-radius:8px;box-shadow:var(--shadow);white-space:nowrap;color:var(--text);z-index:20}.sidebar{position:sticky}.nav a{position:relative}}


/* centralpb_dashboard_unidade_v40_clean - alinhamento de títulos/colunas e gráfico real */
.dataTable th{ text-align:center!important; vertical-align:middle!important; }
.dataTable td{ vertical-align:middle!important; }
.dataTable th.num, .dataTable td.num{ text-align:right!important; }
.dataTable th:first-child, .dataTable td:first-child{ text-align:left!important; }
.monthCurrent .dataTable th:first-child, .monthCurrent .dataTable td:first-child,
.monthAuto .dataTable th:first-child, .monthAuto .dataTable td:first-child{ text-align:center!important; }
.autoTable .dataTable th, .autoTable .dataTable td{ vertical-align:middle!important; }
.autoTable .dataTable th:nth-child(2), .autoTable .dataTable td:nth-child(2){ text-align:center!important; }
.autoTable .dataTable th:nth-child(n+3), .autoTable .dataTable td:nth-child(n+3){ text-align:right!important; }
.estornosTable .dataTable th:nth-child(5), .estornosTable .dataTable td:nth-child(5){ text-align:center!important; }
.payTable .dataTable th:nth-child(2), .payTable .dataTable td:nth-child(2){ text-align:right!important; }
.chartWrap{width:100%; overflow:hidden; min-height:260px; display:flex; align-items:center; justify-content:center;}
.lineChart{width:100%; max-width:680px; height:auto; color:var(--green);}
.chartGrid line{stroke:var(--line); stroke-width:1;}
.chartArea{fill:rgba(33,193,66,.18);}
.chartLine{fill:none; stroke:var(--green); stroke-width:4; stroke-linecap:round; stroke-linejoin:round;}
.chartDots circle{fill:var(--green); stroke:var(--panel); stroke-width:2;}
.chartLabels text{fill:var(--muted); font-size:12px; font-weight:800;}
html[data-theme="claro"] .chartDots circle{stroke:#fff;}
@media(max-width:900px){
  .chartWrap{min-height:210px;}
  .lineChart{min-width:520px;}
  .card .chartWrap{overflow-x:auto; justify-content:flex-start;}
}

/* TUDHO V34.26 — resumo Delivery em três cards compactos. */
.page-delivery .deliverySummaryCards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.page-delivery .deliverySummaryCards>.metric{
  min-height:132px!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  column-gap:12px!important;
  align-items:start!important;
}
.page-delivery .deliverySummaryCards .ico{
  width:42px!important;height:42px!important;margin:0!important;font-size:18px!important;
  grid-row:1/3!important;
}
.page-delivery .deliverySummaryCards .metricLabel{font-size:13px!important;margin:2px 0 8px!important}
.page-delivery .deliverySummaryCards .metricValue{margin:0!important;white-space:normal!important;min-width:0!important}
.page-delivery .deliverySummaryCards .metricSub{display:none!important}
.page-delivery .deliverySummaryCards .splitMetric{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.page-delivery .deliverySummaryCards .splitMetric>div+div{border-left:1px solid var(--line)!important;border-top:0!important;padding-left:10px!important}
.page-delivery .combinedMetric{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-width:0}
.page-delivery .combinedMetric>div{min-width:0;padding:0 10px;border-left:1px solid var(--line)}
.page-delivery .combinedMetric>div:first-child{padding-left:0;border-left:0}
.page-delivery .combinedMetric>div:last-child{padding-right:0}
.page-delivery .combinedMetric span,.page-delivery .combinedMetric small{display:block;color:var(--muted);font-size:11px;line-height:1.2;white-space:normal}
.page-delivery .combinedMetric b{display:block;font-size:18px;line-height:1.15;margin:4px 0;white-space:nowrap}
.page-delivery .goalsCombinedMetric{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1050px){
  .page-delivery .deliverySummaryCards{grid-template-columns:minmax(0,1fr)!important}
}

@media print{
  .page-delivery .deliverySummaryCards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-delivery .deliverySummaryCards>.metric{height:74px!important;min-height:74px!important;padding:5px!important;grid-template-columns:24px minmax(0,1fr)!important;column-gap:5px!important}
  .page-delivery .deliverySummaryCards .ico{width:22px!important;height:22px!important;font-size:10px!important}
  .page-delivery .deliverySummaryCards .metricLabel{font-size:7pt!important;margin:0 0 2px!important}
  .page-delivery .combinedMetric b{font-size:8.2pt!important;margin:1px 0!important}
  .page-delivery .combinedMetric span,.page-delivery .combinedMetric small{font-size:5.8pt!important}
  .page-delivery .combinedMetric>div{padding:0 4px!important}
}

/* O mesmo resumo de vendas é usado no Salão. */
/* TUDHO V34.26 — resumo Salão em três cards compactos. */
.page-salao .deliverySummaryCards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.page-salao .deliverySummaryCards>.metric{
  min-height:132px!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  column-gap:12px!important;
  align-items:start!important;
}
.page-salao .deliverySummaryCards .ico{
  width:42px!important;height:42px!important;margin:0!important;font-size:18px!important;
  grid-row:1/3!important;
}
.page-salao .deliverySummaryCards .metricLabel{font-size:13px!important;margin:2px 0 8px!important}
.page-salao .deliverySummaryCards .metricValue{margin:0!important;white-space:normal!important;min-width:0!important}
.page-salao .deliverySummaryCards .metricSub{display:none!important}
.page-salao .deliverySummaryCards .splitMetric{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.page-salao .deliverySummaryCards .splitMetric>div+div{border-left:1px solid var(--line)!important;border-top:0!important;padding-left:10px!important}
.page-salao .combinedMetric{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;min-width:0}
.page-salao .combinedMetric>div{min-width:0;padding:0 10px;border-left:1px solid var(--line)}
.page-salao .combinedMetric>div:first-child{padding-left:0;border-left:0}
.page-salao .combinedMetric>div:last-child{padding-right:0}
.page-salao .combinedMetric span,.page-salao .combinedMetric small{display:block;color:var(--muted);font-size:11px;line-height:1.2;white-space:normal}
.page-salao .combinedMetric b{display:block;font-size:18px;line-height:1.15;margin:4px 0;white-space:nowrap}
.page-salao .goalsCombinedMetric{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1050px){
  .page-salao .deliverySummaryCards{grid-template-columns:minmax(0,1fr)!important}
}

@media print{
  .page-salao .deliverySummaryCards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-salao .deliverySummaryCards>.metric{height:74px!important;min-height:74px!important;padding:5px!important;grid-template-columns:24px minmax(0,1fr)!important;column-gap:5px!important}
  .page-salao .deliverySummaryCards .ico{width:22px!important;height:22px!important;font-size:10px!important}
  .page-salao .deliverySummaryCards .metricLabel{font-size:7pt!important;margin:0 0 2px!important}
  .page-salao .combinedMetric b{font-size:8.2pt!important;margin:1px 0!important}
  .page-salao .combinedMetric span,.page-salao .combinedMetric small{font-size:5.8pt!important}
  .page-salao .combinedMetric>div{padding:0 4px!important}
}

/* TUDHO V34.25 — Delivery: filtros sem sobreposição e metas em cards. */
.page-delivery .topbar-delivery{
  display:grid!important;
  grid-template-columns:minmax(170px,240px) minmax(0,1fr)!important;
  align-items:end!important;
  gap:18px!important;
  min-height:104px!important;
  margin-bottom:18px!important;
}
.page-delivery .topbar-delivery>.filters{
  display:grid!important;
  grid-template-columns:minmax(250px,1.25fr) minmax(210px,1fr) minmax(170px,.78fr) minmax(170px,.78fr) 52px 52px!important;
  align-items:end!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.page-delivery .topbar-delivery>.filters>label{width:100%!important;min-width:0!important;max-width:none!important}
.page-delivery .topbar-delivery .storeMultiLabel,.page-delivery .topbar-delivery .storeMultiSelect{width:100%!important;min-width:0!important}
.page-delivery .topbar-delivery .input,.page-delivery .topbar-delivery .storeMultiSelect>summary{width:100%!important;min-width:0!important;height:52px!important}
.page-delivery .deliverySummaryCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.page-delivery .deliverySummaryCards>.metric{min-height:154px!important;height:100%!important}
.page-delivery .managerialChartFull{width:100%!important;margin-bottom:16px!important}

@media(max-width:1500px) and (min-width:901px){
  .page-delivery .topbar-delivery{grid-template-columns:1fr!important;align-items:start!important}
  .page-delivery .topbar-delivery>h1{margin:0!important}
}
@media(max-width:1180px) and (min-width:901px){
  .page-delivery .topbar-delivery>.filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-delivery .topbar-delivery .topRefreshBtn,.page-delivery .topbar-delivery .topActionsMenu{width:100%!important}
}
@media(max-width:900px){
  .page-delivery .topbar-delivery,.page-delivery .topbar-delivery>.filters{grid-template-columns:minmax(0,1fr)!important}
  .page-delivery .deliverySummaryCards{grid-template-columns:minmax(0,1fr)!important}
}

@media print{
  .page-delivery .deliverySummaryCards{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
  }
  .page-delivery .deliverySummaryCards>.metric{
    min-height:82px!important;height:82px!important;padding:6px 8px!important;
    display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;column-gap:7px!important;align-content:center!important;
  }
  .page-delivery .deliverySummaryCards .ico{grid-row:1/4!important;margin:0!important;align-self:start!important}
  .page-delivery .deliverySummaryCards .metricLabel{font-size:7.4pt!important}
  .page-delivery .deliverySummaryCards .metricValue{font-size:11.5pt!important;margin:2px 0!important}
  .page-delivery .deliverySummaryCards .metricSub{font-size:7.2pt!important}
  .page-delivery .managerialChartFull{break-inside:avoid-page!important}
}

/* centralpb_dashboard_unidade_v40_clean - tabelas compactas, gráficos e alinhamentos */
.dataTable{width:auto;max-width:100%;}
.dataTable th,.dataTable td{padding:7px 10px;}
.dataTable th.num,.dataTable td.num{text-align:right;}
.dataTable th.center,.dataTable td.center{text-align:center;}
.compactData .dataTable{width:auto!important;min-width:0!important;max-width:100%;}
.compactData .dataTable th,.compactData .dataTable td{padding:7px 12px;}
.compactData .dataTable th:nth-child(1),.compactData .dataTable td:nth-child(1){width:auto;min-width:0;max-width:none;}
.compactData .dataTable th:not(:first-child),.compactData .dataTable td:not(:first-child){width:auto;min-width:0;}

.groupsLayout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;}
.groupsLayout .dataTable th:nth-child(1),.groupsLayout .dataTable td:nth-child(1){min-width:180px;max-width:340px;white-space:normal;}
.groupsLayout .dataTable th:nth-child(2),.groupsLayout .dataTable td:nth-child(2){width:78px;text-align:right;}
.groupsLayout .dataTable th:nth-child(3),.groupsLayout .dataTable td:nth-child(3){width:130px;text-align:right;}
.groupsLayout .dataTable th:nth-child(4),.groupsLayout .dataTable td:nth-child(4){width:70px;text-align:right;}

.miniDonutBox{display:flex;gap:22px;align-items:center;justify-content:center;min-height:260px;}
.miniDonut{width:190px;height:190px;border-radius:50%;box-shadow:0 16px 36px rgba(0,0,0,.15);flex:0 0 auto;}
.miniLegend{min-width:160px;font-size:14px;}
.miniLegend p{margin:8px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:6px;}
.miniLegend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;flex:0 0 auto;}

.payMonthLayout{grid-template-columns:max-content minmax(320px,1fr);align-items:start;}
.payTable .dataTable{width:330px!important;min-width:330px!important;max-width:330px!important;}
.payTable .dataTable th:nth-child(1),.payTable .dataTable td:nth-child(1){width:95px!important;min-width:95px!important;}
.payTable .dataTable th:nth-child(2),.payTable .dataTable td:nth-child(2){width:150px!important;min-width:150px!important;text-align:right;}
.barChart{display:grid;gap:9px;padding:4px 2px;max-width:680px;}
.barRow{display:grid;grid-template-columns:72px minmax(160px,1fr) 120px;gap:12px;align-items:center;font-size:14px;}
.barRow>span{font-weight:700;color:var(--muted);}
.barRow>div{height:12px;background:var(--panel2);border:1px solid var(--line);border-radius:999px;overflow:hidden;}
.barRow>div>b{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--teal));border-radius:999px;}
.barRow>strong{text-align:right;white-space:nowrap;}

.cmvLayout{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);align-items:start;}
.cmvTable .dataTable th:nth-child(1),.cmvTable .dataTable td:nth-child(1){width:110px;min-width:110px;}
.cmvTable .dataTable th:not(:first-child),.cmvTable .dataTable td:not(:first-child){width:auto;text-align:right;}
.cmvLayout .chartWrap{height:280px;display:grid;place-items:center;}
.cmvLayout .lineChart{max-height:260px;}

.dreTable .dataTable th:nth-child(1),.dreTable .dataTable td:nth-child(1){width:auto;min-width:140px;max-width:300px;}
.dreTable .dataTable th:not(:first-child),.dreTable .dataTable td:not(:first-child){width:auto;min-width:0;}
.dreTable .dataTable th:last-child,.dreTable .dataTable td:last-child{text-align:center;}

.configTable .dataTable th:nth-child(3),.configTable .dataTable td:nth-child(3),
.configTable .dataTable th:nth-child(4),.configTable .dataTable td:nth-child(4){text-align:center;}
.configTable .dataTable th:nth-child(5),.configTable .dataTable td:nth-child(5),
.configTable .dataTable th:nth-child(6),.configTable .dataTable td:nth-child(6),
.configTable .dataTable th:nth-child(7),.configTable .dataTable td:nth-child(7){text-align:right;}
.centerInput{text-align:center!important;}
.moneyInput{text-align:right!important;}
.diffPos{color:#0b8d48!important;font-weight:900;}
.diffNeg{color:#d83333!important;font-weight:900;}

.chartWrap{width:100%;min-height:250px;display:grid;place-items:center;}
.lineChart{width:100%;max-width:720px;height:auto;overflow:visible;}
.chartGrid line{stroke:var(--line);stroke-width:1;}
.chartArea{fill:rgba(33,193,66,.15);}
.chartLine{fill:none;stroke:var(--green);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;}
.chartDots circle{fill:var(--green);stroke:var(--panel);stroke-width:2;}
.chartLabels text{font-size:12px;fill:var(--muted);font-weight:700;}

@media(max-width:900px){
  .groupsLayout,.payMonthLayout,.cmvLayout{grid-template-columns:1fr;}
  .miniDonutBox{flex-direction:column;align-items:center;}
  .barRow{grid-template-columns:62px minmax(120px,1fr) 112px;}
  .payTable .dataTable{width:300px!important;min-width:300px!important;}
  .compactData .dataTable{min-width:max-content!important;}
}


/* centralpb_dashboard_unidade_v40_clean - gráficos maiores, pagamentos e metas */
.chartWrap{min-height:360px!important; align-items:stretch!important; justify-content:center!important;}
.lineChart{max-width:1000px!important; width:100%!important; min-height:330px!important;}
.cmvLayout .chartWrap{min-height:360px!important; height:auto!important;}
.cmvLayout .lineChart{max-height:none!important;}
.payMonthLayout{grid-template-columns:minmax(280px,360px) minmax(520px,1fr)!important; column-gap:34px!important; align-items:start!important;}
.payChartPanel{min-width:0!important;}
.payChartPanel .barChart{max-width:900px!important; width:100%!important; gap:12px!important; padding-top:10px!important;}
.payChartPanel .barRow{grid-template-columns:78px minmax(280px,1fr) 140px!important; font-size:16px!important;}
.payChartPanel .barRow>div{height:16px!important;}
.payTablePanel{width:max-content!important; max-width:100%!important;}
.payTable .dataTable{width:320px!important; min-width:320px!important; max-width:320px!important;}
.configTable th.center,.configTable td.center{text-align:center!important;}
.configTable .centerInput{text-align:center!important; margin:auto!important; display:block!important;}
.configTable .moneyInput{text-align:right!important; margin:auto!important; display:block!important;}
.configTable th:nth-child(3),.configTable td:nth-child(3),.configTable th:nth-child(4),.configTable td:nth-child(4){text-align:center!important;}
.configTable th:nth-child(7),.configTable td:nth-child(7){text-align:right!important;}
.configTable td.num:empty::after{content:'—'; color:var(--muted); font-weight:700;}
@media(max-width:900px){
  .chartWrap{min-height:280px!important; overflow-x:auto!important; justify-content:flex-start!important;}
  .lineChart{min-width:720px!important; min-height:280px!important;}
  .payMonthLayout{grid-template-columns:1fr!important;}
  .payChartPanel .barChart{min-width:620px!important;}
  .payChartPanel{overflow-x:auto!important;}
}


/* centralpb_dashboard_unidade_v40_clean - logos arredondadas e pagamentos futuros */
.brandBox{height:118px!important; padding:8px!important; overflow:hidden!important;}
.brandSymbol{max-width:92px!important; max-height:92px!important; object-fit:contain!important; object-position:center!important;}
body.menu-collapsed .brandBox{height:74px!important; padding:6px!important;}
body.menu-collapsed .brandSymbol{max-width:48px!important; max-height:48px!important;}
.payMonthLayout{grid-template-columns:max-content minmax(520px,1fr)!important;}
.payChartPanel .barChart{max-width:860px!important;}
.payChartPanel .barRow{grid-template-columns:78px minmax(280px,1fr) 140px!important;}
@media(max-width:900px){
  .brandBox{height:86px!important;}
  .brandSymbol{max-width:60px!important;max-height:60px!important;}
  .payMonthLayout{grid-template-columns:1fr!important;}
  .payChartPanel{overflow-x:auto!important;}
  .payChartPanel .barChart{min-width:620px!important;}
}

.ico.red{background:#ef4444;color:white;}
body[data-theme="claro"] .ico.red{background:#ef4444;color:white;}

/* centralpb_dashboard_unidade_v46_clean - metas em gauge e cards diários */
.dailyCards{grid-template-columns:repeat(4,minmax(180px,1fr))!important;}
.annualGoalLayout{display:grid;grid-template-columns:minmax(320px,0.95fr) minmax(320px,1.05fr);gap:22px;align-items:center;}
.goalPanel{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:18px;align-items:center;justify-items:center;min-height:260px;}
.goalGauge{width:100%;max-width:290px;text-align:center;color:var(--text);}
.goalGauge .gTitle{font-weight:900;font-size:18px;margin-bottom:8px;}
.gaugeArc{--p:0;width:100%;aspect-ratio:2/1;position:relative;overflow:hidden;border-radius:999px 999px 0 0;background:conic-gradient(from 270deg at 50% 100%, var(--green) 0 calc(var(--p)*1%), var(--panel2) calc(var(--p)*1%) 100%);box-shadow:inset 0 0 0 1px var(--line);}
.gaugeArc:after{content:"";position:absolute;left:17%;right:17%;bottom:0;height:66%;background:var(--panel);border-radius:999px 999px 0 0;box-shadow:0 -1px 0 var(--line) inset;}
.gCenter{position:absolute;z-index:2;left:0;right:0;bottom:13%;display:grid;place-items:center;gap:2px;}
.gCenter strong{font-size:clamp(24px,3.2vw,42px);line-height:1;font-weight:500;white-space:nowrap;}
.gCenter small{font-weight:900;color:var(--green);}
.gScale{display:flex;justify-content:space-between;margin-top:6px;font-weight:900;font-size:13px;color:var(--muted);}
.gSub{font-size:12px;color:var(--muted);margin-top:8px;}
html[data-theme="claro"] .gaugeArc:after, body[data-theme="claro"] .gaugeArc:after{background:#fff;}
@media(max-width:1100px){.annualGoalLayout{grid-template-columns:1fr}.goalPanel{min-height:auto}.dailyCards{grid-template-columns:repeat(2,minmax(160px,1fr))!important;}}
@media(max-width:620px){.dailyCards{grid-template-columns:1fr!important}.goalPanel{grid-template-columns:1fr}.goalGauge{max-width:260px}.annualGoalLayout{gap:12px}}

/* centralpb_dashboard_unidade_v47_clean - gauges reposicionados, tickets e percentuais coloridos */
.dailyCards{grid-template-columns:repeat(5,minmax(170px,1fr))!important;}
.oneGauge{grid-template-columns:1fr!important;min-height:220px!important;}
.monthGoalLayout{grid-template-columns:minmax(320px,.8fr) minmax(300px,.5fr)!important;align-items:center!important;}
.pctGood{color:#20d65a!important;font-weight:900;}
.pctWarn{color:#ffd400!important;font-weight:900;}
.pctBad{color:#ff5252!important;font-weight:900;}
.metricSub .pctGood,.metricSub .pctWarn,.metricSub .pctBad{font-weight:900;}
.chartValues text,.pointValue{font-size:13px;fill:var(--text);font-weight:900;paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round;}
.dreChartLayout{grid-template-columns:minmax(420px,.9fr) minmax(460px,1.1fr)!important;align-items:start!important;}
.dreChartLayout .chartWrap{min-height:380px!important;}
.dreChartLayout .lineChart{max-width:980px!important;min-height:340px!important;}
.cmvTable .pctGood,.cmvTable .pctWarn,.cmvTable .pctBad{display:inline-block;min-width:54px;text-align:right;}
@media(max-width:1200px){.dailyCards{grid-template-columns:repeat(3,minmax(170px,1fr))!important}.monthGoalLayout,.dreChartLayout{grid-template-columns:1fr!important}}
@media(max-width:700px){.dailyCards{grid-template-columns:1fr!important}.oneGauge{min-height:auto!important}.monthGoalLayout{gap:12px!important}}


/* centralpb_dashboard_unidade_v48_clean - gauges proporcionais, layout mais compacto e correções finais */
.gaugeArc{
  background:conic-gradient(from 270deg at 50% 100%, var(--green) 0 calc(var(--p) * .5%), var(--panel2) calc(var(--p) * .5%) 50%, transparent 50% 100%) !important;
}
.goalPanel{align-items:center;justify-content:center;gap:16px;min-width:0;overflow:hidden;}
.goalGauge{max-width:245px!important;min-width:0;}
.oneGauge .goalGauge{max-width:300px!important;}
.annualGoalLayout{grid-template-columns:minmax(320px,1fr) minmax(260px,.75fr)!important;gap:16px!important;overflow:hidden;}
.monthGoalLayout{grid-template-columns:minmax(320px,.7fr) minmax(260px,.55fr)!important;}
.vendasMetaLayout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;}
.dailyCards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;}
.cmvTable .pctGood,.cmvTable .pctWarn,.cmvTable .pctBad,.dataTable .pctGood,.dataTable .pctWarn,.dataTable .pctBad{font-weight:900;}
@media(max-width:1100px){
  .annualGoalLayout,.monthGoalLayout,.vendasMetaLayout{grid-template-columns:1fr!important;}
  .goalGauge{max-width:260px!important;}
}
@media(max-width:620px){
  .goalGauge{max-width:220px!important;}
  .oneGauge .goalGauge{max-width:240px!important;}
  .gTitle{font-size:15px!important;}
  .gCenter strong{font-size:28px!important;}
}

/* centralpb_dashboard_unidade_v50_clean */
.splitMetric{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start;min-width:0}
.splitMetric>div{min-width:0;border-left:1px solid var(--border);padding-left:10px}
.splitMetric>div:first-child{border-left:0;padding-left:0}
.splitMetric span{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.splitMetric b{display:block;font-size:1.3rem;line-height:1.15;white-space:nowrap}
.splitMetric small{display:block;margin-top:3px;font-size:.78rem;color:var(--muted);font-weight:700}
@media (max-width: 720px){.splitMetric{grid-template-columns:1fr}.splitMetric>div{border-left:0;padding-left:0;border-top:1px solid var(--border);padding-top:8px}.splitMetric>div:first-child{border-top:0;padding-top:0}.splitMetric b{font-size:1.1rem}}


/* centralpb_dashboard_unidade_v50_clean - ajustes finais de layout/mobile/metas */
.dashboardKpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;}
.dashboardGoalBox{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:16px;align-items:center;justify-items:center;}
.dashboardGoalBox .goalGauge{max-width:230px!important;}
.dashboardGoalBox .gCenter strong{font-size:clamp(22px,2.1vw,34px)!important;}
.dashboardGoalBox .gTitle{font-size:16px!important;}
/* Gauges proporcionais: apenas parte realizada preenchida, restante sem destaque */
.gaugeArc{background:conic-gradient(from 270deg at 50% 100%, var(--green) 0 calc(var(--p) * .5%), rgba(255,255,255,.08) calc(var(--p) * .5%) 50%, transparent 50% 100%)!important;}
html[data-theme="claro"] .gaugeArc{background:conic-gradient(from 270deg at 50% 100%, var(--green) 0 calc(var(--p) * .5%), #e8eee9 calc(var(--p) * .5%) 50%, transparent 50% 100%)!important;}
.goalPanel,.dashboardGoalBox{overflow:visible!important;}
.goalGauge{overflow:hidden!important;}
/* Mobile: gráficos de meta sempre abaixo das tabelas e sem rolagem horizontal da área */
@media(max-width:720px){
  .annualGoalLayout,.monthGoalLayout,.vendasMetaLayout{display:flex!important;flex-direction:column!important;grid-template-columns:1fr!important;gap:14px!important;overflow:visible!important;}
  .annualGoalLayout>div,.monthGoalLayout>div{width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible!important;}
  .goalPanel,.oneGauge,.dashboardGoalBox{width:100%!important;min-width:0!important;max-width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:12px!important;min-height:auto!important;}
  .goalGauge,.oneGauge .goalGauge,.dashboardGoalBox .goalGauge{max-width:210px!important;width:100%!important;}
  .gCenter strong{font-size:24px!important;max-width:160px;overflow:hidden;text-overflow:ellipsis;}
  .gSub{font-size:11px!important;white-space:normal!important;}
  .tableWrap{overflow-x:hidden!important;}
  .monthAuto .dataTable,.monthCurrent .dataTable{width:100%!important;min-width:0!important;max-width:100%!important;font-size:13px!important;table-layout:auto!important;}
  .monthAuto .dataTable th,.monthAuto .dataTable td,.monthCurrent .dataTable th,.monthCurrent .dataTable td{padding:6px 4px!important;white-space:nowrap!important;}
  .monthAuto .dataTable th:first-child,.monthAuto .dataTable td:first-child,.monthCurrent .dataTable th:first-child,.monthCurrent .dataTable td:first-child{position:static!important;width:44px!important;min-width:44px!important;max-width:44px!important;background:transparent!important;}
  .monthAuto .dataTable th:not(:first-child),.monthAuto .dataTable td:not(:first-child),.monthCurrent .dataTable th:not(:first-child),.monthCurrent .dataTable td:not(:first-child){min-width:0!important;width:auto!important;}
  .dashboardGoalBox{grid-template-columns:1fr!important;}
}

/* V69 - visão gerencial consolidada, mantendo o menu existente */
.managerialCard{margin-bottom:14px!important;}
.gerencialMatrix{overflow:auto;max-height:520px;border:1px solid var(--line);border-radius:10px;}
.gerencialMatrix .dataTable{width:max-content;min-width:100%;font-size:11px;white-space:nowrap;}
.gerencialMatrix .dataTable th,.gerencialMatrix .dataTable td{padding:5px 7px!important;min-width:92px;text-align:right;}
.gerencialMatrix .dataTable th:first-child,.gerencialMatrix .dataTable td:first-child{position:sticky;left:0;z-index:2;min-width:72px;text-align:center;background:var(--panel2);font-weight:900;}
.gerencialMatrix .dataTable thead th{position:sticky;top:0;z-index:3;background:var(--panel2);}
.gerencialMatrix .dataTable thead th:first-child{z-index:4;}
.gerencialMatrix .dataTable tbody tr:first-child td{font-weight:900;color:var(--accent);}
.managerialBottom{align-items:stretch;margin-bottom:18px;}
.managerialBottom>.card{min-width:0;}
@media(max-width:900px){.managerialBottom{grid-template-columns:1fr!important;}.gerencialMatrix .dataTable{font-size:10px;}}

/* centralpb_dashboard_unidade_v51_clean - ajustes solicitados: sem Total duplicado, gauges compactos e mobile com rolagem horizontal local */
/* Card Fechadas/Abertas: reduzir fonte para caber melhor no desktop */
.splitMetric{gap:8px!important;}
.splitMetric>div{padding-left:8px!important;}
.splitMetric span{font-size:.68rem!important;line-height:1.1!important;letter-spacing:.02em!important;}
.splitMetric b{font-size:clamp(1.02rem,1.25vw,1.18rem)!important;line-height:1.08!important;white-space:nowrap!important;}
.splitMetric small{font-size:.68rem!important;line-height:1.15!important;}
.metric:has(.splitMetric){min-height:138px!important;}
.metric:has(.splitMetric) .ico{width:46px!important;height:46px!important;font-size:20px!important;margin-bottom:12px!important;}

/* Mês atual agora possui somente Dia + Loja, sem coluna Total repetida */
.monthCurrent .dataTable{min-width:360px!important;width:max-content!important;}
.monthCurrent .dataTable th:first-child,.monthCurrent .dataTable td:first-child{width:58px!important;min-width:58px!important;max-width:58px!important;text-align:center!important;}
.monthCurrent .dataTable th:nth-child(2),.monthCurrent .dataTable td:nth-child(2){min-width:170px!important;width:1%!important;text-align:right!important;}

/* Gauges menores para evitar barra horizontal no desktop */
.annualGoalLayout{grid-template-columns:minmax(320px,1fr) minmax(230px,0.58fr)!important;gap:12px!important;align-items:center!important;}
.monthGoalLayout{grid-template-columns:minmax(320px,0.8fr) minmax(230px,0.48fr)!important;}
.goalPanel{min-height:190px!important;gap:10px!important;}
.oneGauge{min-height:180px!important;}
.goalGauge{max-width:220px!important;}
.oneGauge .goalGauge{max-width:235px!important;}
.goalGauge .gTitle{font-size:15px!important;margin-bottom:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.gCenter strong{font-size:clamp(20px,2.1vw,31px)!important;max-width:170px!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.gCenter small{font-size:12px!important;}
.gScale{font-size:11px!important;margin-top:3px!important;}
.gSub{font-size:10.5px!important;margin-top:4px!important;}
.card .goalPanel{overflow:hidden!important;}

/* Reduzir risco de scroll horizontal no desktop dos blocos Ano Atual */
.vendasMetaLayout>.card{overflow:hidden!important;}
.vendasMetaLayout .tableWrap{max-width:100%!important;}
.monthAuto .dataTable{min-width:0!important;width:max-content!important;max-width:100%!important;}
.monthAuto .dataTable th,.monthAuto .dataTable td{padding:7px 8px!important;}
.monthAuto .dataTable th:first-child,.monthAuto .dataTable td:first-child{width:78px!important;min-width:78px!important;max-width:78px!important;}
.monthAuto .dataTable th:not(:first-child),.monthAuto .dataTable td:not(:first-child){min-width:115px!important;}

/* Mobile: manter rolagem horizontal local para ver metas ao lado da tabela */
@media(max-width:720px){
  .card{overflow:hidden!important;}
  .annualGoalLayout,.monthGoalLayout{display:grid!important;grid-template-columns:minmax(420px,1fr) minmax(220px,260px)!important;gap:12px!important;align-items:center!important;overflow-x:auto!important;overflow-y:hidden!important;padding-bottom:6px!important;}
  .annualGoalLayout>div,.monthGoalLayout>div{min-width:0!important;width:auto!important;max-width:none!important;overflow:visible!important;}
  .annualGoalLayout .tableWrap,.monthGoalLayout .tableWrap{overflow:visible!important;}
  .monthAuto .dataTable,.monthCurrent .dataTable{font-size:14px!important;min-width:360px!important;width:max-content!important;max-width:none!important;}
  .monthAuto .dataTable th,.monthAuto .dataTable td,.monthCurrent .dataTable th,.monthCurrent .dataTable td{padding:7px 8px!important;white-space:nowrap!important;}
  .monthAuto .dataTable th:first-child,.monthAuto .dataTable td:first-child,.monthCurrent .dataTable th:first-child,.monthCurrent .dataTable td:first-child{position:sticky!important;left:0!important;background:var(--panel)!important;width:64px!important;min-width:64px!important;max-width:64px!important;z-index:3!important;}
  .goalPanel,.oneGauge{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:220px!important;width:220px!important;max-width:220px!important;min-height:170px!important;}
  .goalGauge,.oneGauge .goalGauge{max-width:200px!important;width:200px!important;}
  .gCenter strong{font-size:24px!important;max-width:145px!important;}
  .splitMetric{grid-template-columns:1fr 1fr!important;gap:6px!important;}
  .splitMetric>div{border-left:1px solid var(--line)!important;border-top:0!important;padding-top:0!important;padding-left:7px!important;}
  .splitMetric>div:first-child{border-left:0!important;padding-left:0!important;}
  .splitMetric b{font-size:1rem!important;}
}


/* V52 - Login e acesso por usuario */
.loginPage{min-height:100vh;display:grid;place-items:center;background:#06271f;color:#fff;padding:24px}
.loginCard{width:min(420px,100%);background:#103b31;border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:32px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.loginLogo{width:88px;height:88px;object-fit:contain;margin-bottom:12px}.loginCard h1{font-size:34px;margin:0 0 6px}.loginCard p{opacity:.82;margin:0 0 22px}.loginCard label{display:block;font-weight:800;margin:14px 0 6px}.loginCard input{width:100%;font-size:18px;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0c2f27;color:#fff}.loginCard button{width:100%;margin-top:20px;padding:15px;border:0;border-radius:12px;background:#08934b;color:#fff;font-weight:900;font-size:18px}.loginErro{color:#ffb7b7;font-weight:800;margin-top:14px;min-height:22px}.logoutLink{color:inherit;opacity:.8;text-decoration:none;font-size:12px}.logoutLink:hover{opacity:1;text-decoration:underline}
body[data-theme="claro"] .loginPage{background:#f5faf7;color:#001f19}body[data-theme="claro"] .loginCard{background:#fff;border-color:#d6eadf}body[data-theme="claro"] .loginCard input{background:#fff;color:#001f19;border-color:#cfe4d8}

/* centralpb_dashboard_unidade_v53_clean - ajustes finos solicitados */
body{font-size:14px!important;}
.content{padding:24px!important;}
.card{padding:16px!important;}
.card h2{font-size:24px!important;line-height:1.1!important;}
.metricValue{font-size:20px!important;}
.dataTable th,.dataTable td{font-size:13.5px!important;padding:7px 8px!important;}

/* Card Fechadas/Abertas: quebrar linha para não embolar */
.metric:has(.splitMetric){min-height:150px!important;}
.splitMetric{grid-template-columns:1fr 1fr!important;gap:12px!important;}
.splitMetric>div{border-left:1px solid var(--line)!important;padding-left:12px!important;min-width:0!important;}
.splitMetric>div:first-child{border-left:0!important;padding-left:0!important;}
.splitMetric span{font-size:.67rem!important;line-height:1.05!important;}
.splitMetric b{display:block!important;font-size:.98rem!important;line-height:1.05!important;white-space:normal!important;word-break:keep-all!important;}
.splitMetric small{font-size:.67rem!important;line-height:1.1!important;}

/* Menos barras horizontais em Top Grupos/Produtos */
.threeCols{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;}
.autoTable .dataTable{width:100%!important;min-width:0!important;table-layout:auto!important;}
.autoTable .dataTable th:nth-child(1),.autoTable .dataTable td:nth-child(1){min-width:120px!important;max-width:220px!important;white-space:normal!important;}
.autoTable .dataTable th:not(:first-child),.autoTable .dataTable td:not(:first-child){min-width:70px!important;width:auto!important;}

/* Pagamentos: tabela e gráfico alinhados mês a mês */
.payAligned{width:100%;overflow-x:auto;padding-bottom:4px;}
.payHead,.payMonthRow{display:grid;grid-template-columns:90px 145px minmax(260px,1fr);gap:14px;align-items:center;min-width:560px;}
.payHead{color:var(--muted);font-weight:900;border-bottom:1px solid var(--line);padding:8px 0;}
.payMonthRow{border-bottom:1px solid var(--line);padding:8px 0;}
.payMonthRow strong{text-align:right;white-space:nowrap;}
.payMonthBar{height:18px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.05);}
.payMonthBar b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--teal));}

/* Gráfico de recebimentos abaixo das metas */
.recebBox{margin-top:18px;border-top:1px solid var(--line);padding-top:16px;}
.recebBox h3{margin:0 0 10px;font-size:18px;}
.miniDonutBox{display:flex;align-items:center;justify-content:center;gap:18px;min-height:170px;}
.miniDonut{width:150px;height:150px;border-radius:50%;box-shadow:0 0 24px rgba(0,0,0,.18);}
.miniLegend{display:grid;gap:6px;max-width:220px;}
.miniLegend p{margin:0;color:var(--muted);font-size:13px;font-weight:800;}
.miniLegend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;}
.miniLegend b{color:var(--text);}

/* V34.49 - metas e recebimentos alinhados na mesma linha */
.dashboardChartsRow{
  display:grid;
  grid-template-columns:minmax(210px,.8fr) minmax(210px,.8fr) minmax(420px,1.5fr);
  gap:18px;
  align-items:center;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.dashboardChartsRow>.goalGauge{width:100%!important;max-width:230px!important;justify-self:center!important;}
.dashboardChartsRow>.recebBox{margin:0!important;padding:0!important;border-top:0!important;min-width:0!important;}
.dashboardChartsRow .recebBox h3{text-align:center!important;}
.dashboardChartsRow .miniDonutBox{min-height:170px!important;gap:18px!important;}
.dashboardChartsRow .miniLegend{max-width:none!important;min-width:240px!important;}
.dashboardChartsRow .miniLegend p{white-space:nowrap!important;}
@media(max-width:1100px){
  .dashboardChartsRow{grid-template-columns:repeat(2,minmax(220px,1fr));}
  .dashboardChartsRow>.recebBox{grid-column:1/-1;}
}
@media(max-width:720px){
  .dashboardChartsRow{grid-template-columns:1fr;}
  .dashboardChartsRow>.recebBox{grid-column:auto;}
  .dashboardChartsRow .miniLegend{min-width:0!important;}
  .dashboardChartsRow .miniLegend p{white-space:normal!important;}
}

@media(max-width:1180px){
  .threeCols{grid-template-columns:1fr!important;}
  .autoTable .dataTable{min-width:520px!important;}
}
@media(max-width:720px){
  body{font-size:13px!important;}
  .content{padding:18px!important;}
  .card h2{font-size:22px!important;}
  .splitMetric{grid-template-columns:1fr!important;gap:7px!important;}
  .splitMetric>div{border-left:0!important;border-top:1px solid var(--line)!important;padding-left:0!important;padding-top:7px!important;}
  .splitMetric>div:first-child{border-top:0!important;padding-top:0!important;}
  .splitMetric b{font-size:1rem!important;}
  .miniDonutBox{flex-direction:column;align-items:center;}
  .payHead,.payMonthRow{grid-template-columns:78px 125px minmax(220px,1fr);min-width:470px;font-size:13px;}
}

/* centralpb_dashboard_unidade_v54_clean - correção 500 e compactação final */
body{font-size:13px!important;}
.content{padding:20px!important;}
.topbar{margin-bottom:16px!important;gap:12px!important;}
.topbar h1{font-size:26px!important;}
.card{padding:14px!important;border-radius:12px!important;}
.card h2{font-size:22px!important;margin-top:0!important;margin-bottom:14px!important;}
.kpiGrid,.salesCards{gap:12px!important;margin-bottom:14px!important;}
.metric{min-height:132px!important;}
.ico{width:46px!important;height:46px!important;font-size:20px!important;margin-bottom:12px!important;}
.metricLabel{font-size:11px!important;line-height:1.15!important;}
.metricValue{font-size:18px!important;margin:9px 0 6px!important;}
.metricSub{font-size:12px!important;}

/* Fechadas/Abertas com quebra real e sem embolar */
.metric:has(.splitMetric){min-height:146px!important;}
.splitMetric{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.splitMetric>div{border-left:0!important;border-top:1px solid var(--line)!important;padding-left:0!important;padding-top:7px!important;}
.splitMetric>div:first-child{border-top:0!important;padding-top:0!important;}
.splitMetric span{font-size:.66rem!important;line-height:1.05!important;}
.splitMetric b{font-size:.98rem!important;line-height:1.05!important;white-space:normal!important;}
.splitMetric small{font-size:.66rem!important;line-height:1.05!important;}

/* Ano atual: reduzir espaços, tabela e gauge para matar barra horizontal no desktop */
.vendasMetaLayout{grid-template-columns:minmax(0,1fr) minmax(0,.82fr)!important;gap:12px!important;}
.annualGoalLayout{grid-template-columns:minmax(0,1fr) 230px!important;gap:8px!important;align-items:center!important;overflow:hidden!important;}
.monthGoalLayout{grid-template-columns:minmax(0,1fr) 230px!important;gap:8px!important;}
.goalPanel{min-height:158px!important;gap:6px!important;padding:0!important;}
.oneGauge{width:230px!important;min-width:230px!important;max-width:230px!important;min-height:155px!important;}
.goalGauge,.oneGauge .goalGauge{max-width:205px!important;width:205px!important;}
.goalGauge .gTitle{font-size:14px!important;margin-bottom:2px!important;}
.gCenter strong{font-size:clamp(18px,1.8vw,27px)!important;max-width:150px!important;}
.gCenter small{font-size:11px!important;}
.gScale{font-size:10px!important;margin-top:2px!important;}
.gSub{font-size:10px!important;margin-top:3px!important;}
.monthAuto .dataTable{font-size:12.5px!important;min-width:0!important;width:100%!important;table-layout:auto!important;}
.monthAuto .dataTable th,.monthAuto .dataTable td{font-size:12.5px!important;padding:6px 6px!important;}
.monthAuto .dataTable th:first-child,.monthAuto .dataTable td:first-child{width:62px!important;min-width:62px!important;max-width:62px!important;}
.monthAuto .dataTable th:not(:first-child),.monthAuto .dataTable td:not(:first-child){min-width:88px!important;width:auto!important;}
.monthCurrent .dataTable{font-size:12.5px!important;min-width:300px!important;}
.monthCurrent .dataTable th,.monthCurrent .dataTable td{font-size:12.5px!important;padding:6px 6px!important;}

/* Pagamentos: mês, valor e barra sempre na mesma linha */
.payAligned{overflow-x:hidden!important;}
.payHead,.payMonthRow{display:grid!important;grid-template-columns:86px 128px minmax(260px,1fr)!important;gap:12px!important;min-width:0!important;}
.payMonthRow{padding:7px 0!important;}
.payMonthBar{height:15px!important;}

/* Dashboard/Resumo: reduzir largura das tabelas para evitar rolagens desnecessárias */
.threeCols{gap:12px!important;}
.autoTable .dataTable th,.autoTable .dataTable td{font-size:12.5px!important;padding:6px 7px!important;}
.autoTable .dataTable th:nth-child(1),.autoTable .dataTable td:nth-child(1){min-width:95px!important;max-width:180px!important;}
.autoTable .dataTable th:not(:first-child),.autoTable .dataTable td:not(:first-child){min-width:58px!important;}
.dashboardGoalBox{gap:8px!important;margin-top:12px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.dashboardGoalBox .goalGauge{max-width:190px!important;width:190px!important;}
.recebBox{margin-top:12px!important;padding-top:12px!important;}
.miniDonutBox{min-height:140px!important;gap:12px!important;}
.miniDonut{width:122px!important;height:122px!important;}
.miniLegend p{font-size:12px!important;}

/* Estornos: manter todos os cancelados, mas compactar a tabela */
.estornosTable .dataTable{min-width:640px!important;}
.estornosTable .dataTable th,.estornosTable .dataTable td{font-size:12.5px!important;padding:6px 7px!important;}
.estornosTable .dataTable th:nth-child(4),.estornosTable .dataTable td:nth-child(4){min-width:210px!important;}

@media(max-width:1180px){
  .vendasMetaLayout{grid-template-columns:1fr!important;}
  .annualGoalLayout,.monthGoalLayout{grid-template-columns:minmax(420px,1fr) 220px!important;overflow-x:auto!important;}
  .oneGauge{width:220px!important;min-width:220px!important;max-width:220px!important;}
}
@media(max-width:720px){
  .content{padding:16px!important;}
  .topbar h1{font-size:24px!important;}
  .card h2{font-size:21px!important;}
  .annualGoalLayout,.monthGoalLayout{grid-template-columns:minmax(420px,1fr) minmax(210px,220px)!important;overflow-x:auto!important;}
  .monthAuto .dataTable,.monthCurrent .dataTable{font-size:13px!important;min-width:360px!important;width:max-content!important;max-width:none!important;}
  .monthAuto .dataTable th,.monthAuto .dataTable td,.monthCurrent .dataTable th,.monthCurrent .dataTable td{font-size:13px!important;padding:6px 7px!important;}
  .payAligned{overflow-x:auto!important;}
  .payHead,.payMonthRow{grid-template-columns:78px 116px minmax(220px,1fr)!important;min-width:440px!important;gap:8px!important;}
  .dashboardGoalBox{grid-template-columns:1fr!important;}
}


/* centralpb_dashboard_unidade_v56_clean - seletor, usuarios e layout compacto */
.input select{
  appearance:none;-webkit-appearance:none;background:transparent;border:0;color:var(--text);font-size:14px;outline:0;width:100%;min-width:170px;padding-right:24px;font-weight:700;
}
html[data-theme="claro"] .input select{color:#061b15;background:transparent;}
.selectInput{position:relative;min-width:210px;background:var(--panel2)!important;border-color:rgba(184,211,200,.32)!important;}
.selectInput:after{content:"⌄";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:900;pointer-events:none;font-size:16px;}
.filters .selectInput{height:44px;}
.itemFilters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:0 0 14px;}
.itemFilters label{font-size:12px;color:var(--muted);font-weight:800;}
.itemFilters .input input{min-width:220px;}
.hint{font-size:12px;color:var(--muted);margin:8px 0 12px;}
.estornosTable .dataTable{min-width:760px!important;}
.estornosTable .dataTable th:nth-child(4),.estornosTable .dataTable td:nth-child(4){min-width:190px!important;max-width:380px!important;white-space:normal!important;}
.estornosTable .dataTable th:nth-child(6),.estornosTable .dataTable td:nth-child(6),.estornosTable .dataTable th:nth-child(7),.estornosTable .dataTable td:nth-child(7){min-width:82px!important;text-align:right!important;}
@media(max-width:720px){
  .selectInput{min-width:0;width:100%;}
  .input select{min-width:0;font-size:15px;}
  .itemFilters{display:grid;grid-template-columns:1fr;gap:10px;}
  .itemFilters .input input{min-width:0;width:100%;}
}


/* V56 - select legível e vínculo usuário x loja */
.input select option,.formGrid select option{background:#0d3329!important;color:#f7fff9!important;}
html[data-theme="claro"] .input select option,html[data-theme="claro"] .formGrid select option{background:#ffffff!important;color:#061b15!important;}
.formGrid select{width:100%;height:38px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:8px;padding:0 10px;}
.checksGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:10px 0 6px}.checkLine{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--panel2);font-weight:800}.miniBtn{border:0;border-radius:8px;padding:7px 10px;background:#8b1d1d;color:#fff;font-weight:900}.secondaryBtn{display:inline-flex;align-items:center;margin-left:8px;background:#0c6940!important}.usersTable .dataTable{min-width:680px;table-layout:auto}.usersTable th:nth-child(4),.usersTable td:nth-child(4){width:150px;max-width:190px;white-space:normal}.usersTable th:nth-child(5),.usersTable td:nth-child(5){width:64px}.usersTable th:nth-child(6),.usersTable td:nth-child(6){width:128px}.userForm h3{margin-top:18px}

.rowActions{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.rowActions form{margin:0}.iconAction{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;font-size:19px;line-height:1;cursor:pointer}.dangerBtn{background:#7a1b1b!important;color:#fff!important}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}.tab{padding:8px 12px;border:1px solid var(--border,#2d3b34);border-radius:10px;text-decoration:none}.tab.active{font-weight:700}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
@media print{.sidebar,.filters,.actions,.tabs{display:none!important}.content{margin:0!important}.card{box-shadow:none!important;border:0!important}}

/* V70 - itens de vendas com filtros múltiplos e ordenação */
.itemKpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.itemCascade{display:grid!important;grid-template-columns:repeat(4,minmax(180px,1fr)) repeat(2,minmax(120px,.55fr)) auto;align-items:end!important;gap:10px!important;}
.filterField>span,.itemCascade>label{display:block;font-size:12px;color:var(--muted);font-weight:800;}
.multiSelect{position:relative;margin-top:5px;}
.multiSelect summary{list-style:none;display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);font-weight:800;cursor:pointer;white-space:nowrap;}
.multiSelect summary::-webkit-details-marker{display:none}.multiSelect summary:after{content:'⌄';margin-left:10px;color:var(--muted)}
.multiSelect[open] summary{border-color:var(--accent);border-radius:10px 10px 0 0;}
.multiOptions{position:absolute;z-index:20;left:0;right:0;top:44px;max-height:260px;overflow:auto;padding:7px;background:var(--panel2);border:1px solid var(--accent);border-top:0;border-radius:0 0 10px 10px;box-shadow:0 12px 28px rgba(0,0,0,.35);}
.multiOptions label{display:flex;align-items:flex-start;gap:7px;padding:7px;border-radius:7px;color:var(--text);font-size:12px;font-weight:700;cursor:pointer;line-height:1.25;}
.multiOptions label:hover{background:rgba(21,192,95,.13)}.multiOptions input{margin-top:1px;accent-color:var(--accent);}
.multiOptions em{display:block;padding:8px;color:var(--muted);}
.filterActions{display:flex;gap:7px;align-items:center}.clearFilters{display:inline-grid;place-items:center;height:44px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none;font-weight:800;}
.itemsReport{max-height:640px;overflow:auto;border:1px solid var(--line);border-radius:10px;}
.itemsReport .dataTable{min-width:1080px;width:100%;}
.itemsReport .dataTable thead th{position:sticky;top:0;z-index:3;background:var(--panel2);}
.itemsReport .dataTable th a{display:block;color:var(--text);text-decoration:none;white-space:nowrap;}
.itemsReport .dataTable th a:hover{color:var(--accent);}
.itemsReport .dataTable th:nth-child(1),.itemsReport .dataTable td:nth-child(1){min-width:125px;}
.itemsReport .dataTable th:nth-child(2),.itemsReport .dataTable td:nth-child(2){min-width:115px;}
.itemsReport .dataTable th:nth-child(3),.itemsReport .dataTable td:nth-child(3){min-width:145px;}
.itemsReport .dataTable th:nth-child(4),.itemsReport .dataTable td:nth-child(4){min-width:230px;}
.itemsReport .dataTable tbody tr:first-child td{font-weight:900;color:var(--accent);background:var(--panel2);position:sticky;top:34px;z-index:2;}
@media(max-width:1500px){.itemCascade{grid-template-columns:repeat(4,minmax(170px,1fr));}.filterActions{grid-column:span 2}.itemKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:900px){.itemCascade{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.filterActions{grid-column:span 2}.itemKpis{grid-template-columns:1fr 1fr!important;}}
@media(max-width:560px){.itemCascade{grid-template-columns:1fr!important;}.filterActions{grid-column:auto}.itemKpis{grid-template-columns:1fr!important;}.multiOptions{position:relative;top:0;}}

/* V70.1 - metas consolidadas */
.configSummaryKpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.consolidatedGoals .dataTable{min-width:820px;}
@media(max-width:900px){.configSummaryKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:560px){.configSummaryKpis{grid-template-columns:1fr!important;}}

/* TUDHO V1 - navegação por macroáreas e impressão contextual */
.productName{font-size:12px;font-weight:900;letter-spacing:.22em;text-align:center;color:var(--muted);margin:-8px 0 10px}
.navGroup{border-top:1px solid var(--line);padding-top:7px;margin-top:4px}
.navGroup:first-child{border-top:0;margin-top:0}
.navGroup>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:8px 7px 5px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;user-select:none}
.navGroup>summary::-webkit-details-marker{display:none}
.navGroup[open] .navChevron{transform:rotate(180deg)}
.navChevron{transition:transform .18s ease;font-size:14px}
.navGroupLinks{display:grid;gap:4px;padding-bottom:5px}
.printBtn{height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:0 14px;font-weight:900;cursor:pointer;white-space:nowrap}
.printBtn:hover{border-color:#078346;background:rgba(7,131,70,.12)}
.screenActions{display:flex;justify-content:flex-end}
.printContext{display:none}
body.menu-collapsed .productName,body.menu-collapsed .navGroup>summary{display:none!important}
body.menu-collapsed .navGroup{border-top:0;padding-top:0;margin-top:0}
body.menu-collapsed .navGroup:not([open]) .navGroupLinks{display:grid}
@media(max-width:900px){.productName{font-size:10px}.navGroup>summary{justify-content:center}.navChevron{display:none}.navGroupTitle{font-size:9px;text-align:center}.printBtn{width:100%}}
@media print{
  @page{size:auto;margin:10mm}
  html,body{background:#fff!important;color:#111!important}
  .sidebar,.filters,.screenActions,.printBtn,.themeControl,.refresh,.actions,.tabs{display:none!important}
  .app{display:block!important}.content{padding:0!important;margin:0!important;background:#fff!important;color:#111!important}
  .topbar{margin-bottom:8px!important}.topbar h1{display:none!important}
  .printContext{display:block!important;border-bottom:1px solid #999;padding:0 0 8px;margin:0 0 12px;color:#111!important}
  .printContext>b{font-size:18px}.printFilterSummary{font-size:11px;margin-top:5px;color:#444!important}
  .card{box-shadow:none!important;background:#fff!important;color:#111!important;border:1px solid #bbb!important;break-inside:avoid}
  .dataTable th,.dataTable td{color:#111!important;border-color:#ccc!important}
}

/* TUDHO V3 - branding por cliente no login */
.loginCardBranded{display:flex;flex-direction:column;align-items:stretch}
.loginClientBrand{display:flex;align-items:center;justify-content:center;min-height:150px;margin:-4px 0 4px}
.loginClientLogo{display:block;width:min(100%,360px);max-height:205px;object-fit:contain}
.loginSubtitle{text-align:center!important;margin:2px 0 22px!important;font-size:16px}
.loginPowered{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center;gap:10px;opacity:.68;font-size:13px;font-weight:800;letter-spacing:.10em}
.loginPowered img{width:34px;height:34px;object-fit:contain}
@media(max-width:520px){.loginCardBranded{padding:26px 22px}.loginClientBrand{min-height:130px}.loginClientLogo{max-height:170px}.loginPowered{margin-top:18px}}

/* TUDHO V4 */
.clientBrandBox{height:150px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px 16px!important}.clientSidebarLogo{display:block;max-width:260px;width:88%;max-height:125px;object-fit:contain}.clientCollapsedMark{display:none;width:42px;height:42px;object-fit:contain}.sidebar.collapsed .clientSidebarLogo,body.menuCollapsed .clientSidebarLogo{display:none!important}.sidebar.collapsed .clientCollapsedMark,body.menuCollapsed .clientCollapsedMark{display:block!important}.sidebar.collapsed .clientBrandBox,body.menuCollapsed .clientBrandBox{height:82px!important;padding:10px!important}.loginClientLogo{max-width:300px!important;width:52%!important;height:auto!important;object-fit:contain!important}.coreGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;align-items:end}.formGrid label{display:grid;gap:6px;font-weight:800}.formGrid input,.formGrid select{width:100%;min-height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:8px 10px}.formGrid select[multiple]{min-height:250px}.formGrid button,.miniBtn{border:0;border-radius:9px;padding:10px 14px;background:var(--green);color:white;font-weight:900;cursor:pointer}.miniBtn.danger{background:#b91c1c}.formGrid .wide{grid-column:1/-1}.sizes{grid-template-columns:repeat(5,minmax(90px,1fr)) auto}.notice{padding:10px 12px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);border-radius:9px;margin-bottom:12px}.muted{color:var(--muted)}@media(max-width:900px){.coreGrid{grid-template-columns:1fr}.formGrid,.sizes{grid-template-columns:1fr}.clientBrandBox{height:112px!important}.clientSidebarLogo{max-width:210px;max-height:92px}}@media(max-width:720px){.tableWrap,.mobileScroll,.gerencialMatrix{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:auto!important;max-height:65vh!important;-webkit-overflow-scrolling:touch!important}.tableWrap .dataTable,.mobileScroll .dataTable,.gerencialMatrix .dataTable{width:max-content!important;min-width:100%!important;max-width:none!important;table-layout:auto!important}.tableWrap .dataTable th,.tableWrap .dataTable td,.mobileScroll .dataTable th,.mobileScroll .dataTable td{white-space:nowrap!important}.tableWrap .dataTable thead th,.mobileScroll .dataTable thead th{position:sticky!important;top:0!important;z-index:3!important;background:var(--panel2)!important}}

/* TUDHO V5 - branding recolhido, resumo de porcoes e telas Core */
body.menu-collapsed .clientSidebarLogo{display:none!important}
body.menu-collapsed .clientCollapsedMark{display:block!important;width:46px!important;height:34px!important;object-fit:cover!important;object-position:center!important}
body.menu-collapsed .clientBrandBox{height:70px!important;padding:8px!important}
.rowActions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.rowActions form{margin:0}.miniBtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.inlineEdit{display:flex;gap:6px;align-items:center}.inlineEdit input{width:90px;height:36px}.backLink{display:inline-block;margin-bottom:8px;font-weight:800;color:var(--green)}.detailFilters{grid-template-columns:repeat(5,minmax(140px,1fr))}.porcaoSummary .dataTable{min-width:920px}
@media(max-width:900px){.detailFilters{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.detailFilters{grid-template-columns:1fr}.rowActions{min-width:250px}}

/* TUDHO V6 - ações por ícones, DRE em lote, modais e filtros automáticos */
.clientSidebarLogo{max-width:225px!important;width:82%!important;max-height:112px!important;object-fit:contain!important}
body.menu-collapsed .clientCollapsedMark{display:block!important;width:44px!important;height:32px!important;object-fit:contain!important;object-position:center!important}
body.menu-collapsed .clientSidebarLogo{display:none!important}
.iconAction{width:38px;height:38px;padding:0!important;font-size:18px;line-height:1;background:rgba(21,192,95,.16)!important;border:1px solid rgba(21,192,95,.34)!important;color:var(--text)!important}
.iconAction:hover{background:rgba(21,192,95,.28)!important;border-color:var(--accent)!important}
.dangerBtn{background:rgba(220,38,38,.14)!important;border-color:rgba(239,68,68,.45)!important;color:#ffb4b4!important}
.dangerBtn:hover{background:rgba(220,38,38,.28)!important;border-color:#ef4444!important}
.filterAutoStatus{height:44px;display:inline-flex;align-items:center;padding:0 12px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}
.filterAutoStatus.is-loading{color:var(--accent);border-color:var(--accent)}
.secondaryBtn{height:42px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);padding:0 13px;font-weight:800;cursor:pointer}.secondaryBtn:hover{border-color:var(--accent)}
.dreContextForm{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto!important;margin-bottom:14px}
.dreBatchForm{display:block}.dreBatchTools{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:8px 0 12px}.dreSearch{display:grid;gap:6px;min-width:min(420px,100%);font-weight:800}.dreSearch input{height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:0 11px}
.dreCheckList{border:1px solid var(--line);border-radius:10px;max-height:440px;overflow:auto;padding:8px;background:var(--panel2)}
.dreCheckItem{display:flex;align-items:flex-start;gap:10px;padding:9px;border-bottom:1px solid var(--line);cursor:pointer}.dreCheckItem:last-child{border-bottom:0}.dreCheckItem:hover{background:rgba(21,192,95,.08)}.dreCheckItem input{margin-top:3px;accent-color:var(--accent);transform:scale(1.12)}.dreCheckItem span{display:block;min-width:0}.dreCheckItem em{font-style:normal;color:var(--muted);font-size:12px}.linkedElsewhere{display:block;color:#f0b429;margin-top:3px;font-weight:800}
/* modal global de confirmação */
.tudhoModalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);display:none;align-items:center;justify-content:center;padding:20px;z-index:10000}.tudhoModalBackdrop.open{display:flex}.tudhoModal{width:min(520px,100%);background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.42);padding:20px}.tudhoModal h3{margin:0 0 9px;font-size:21px}.tudhoModal p{margin:0;color:var(--muted);line-height:1.5}.tudhoModalActions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.tudhoModalActions button{height:42px;padding:0 16px;border-radius:9px;font-weight:900;cursor:pointer}.modalCancel{border:1px solid var(--line);background:var(--panel2);color:var(--text)}.modalConfirm{border:0;background:var(--green);color:#fff}.modalConfirm.danger{background:#b91c1c}
@media(max-width:900px){.clientSidebarLogo{max-width:150px!important;max-height:88px!important}.dreContextForm{grid-template-columns:1fr!important}.dreBatchTools>*{width:100%}.secondaryBtn{width:100%}}
@media(max-width:720px){.tudhoModalActions{flex-direction:column-reverse}.tudhoModalActions button{width:100%}.rowActions{min-width:unset!important;flex-wrap:nowrap}.iconAction{min-width:44px;min-height:44px}}

/* TUDHO V7 - tabelas inteligentes, visões salvas e árvore DRE */
.viewBtn{height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:0 12px;font-weight:900;cursor:pointer;white-space:nowrap}.viewBtn:hover{border-color:var(--accent);background:rgba(21,192,95,.10)}
.sortableHead{cursor:pointer;user-select:none;position:relative;padding-right:34px!important}.sortableHead:hover{background:rgba(21,192,95,.08)}.sortBadge{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;min-width:26px;height:20px;padding:0 4px;border-radius:999px;background:rgba(21,192,95,.18);color:var(--accent);font-size:10px;font-weight:900;vertical-align:middle}.sortActive{color:var(--text)}
.compactCascade{grid-template-columns:repeat(4,minmax(180px,1fr)) auto!important}.compactCascade .filterActions{align-self:end}
.dreOneLine{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(180px,.8fr) minmax(260px,1fr) auto auto;gap:10px;align-items:end;margin:8px 0 12px}.dreOneLine label{display:grid;gap:6px;font-weight:800}.dreOneLine input,.dreOneLine select{height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:0 11px;width:100%}.dreTreeList{border:1px solid var(--line);border-radius:10px;max-height:470px;overflow:auto;background:var(--panel2);padding:6px}.dreTreeItem{display:flex;align-items:flex-start;gap:8px;min-height:39px;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer}.dreTreeItem:last-child{border-bottom:0}.dreTreeItem:hover{background:rgba(21,192,95,.07)}.dreTreeItem input{margin-top:3px;accent-color:var(--accent);transform:scale(1.08)}.dreTreeItem em{font-style:normal;color:var(--muted);font-size:11px}.dreGroupNode{font-weight:800;background:rgba(255,255,255,.015)}.treeIndent{font-family:monospace;min-width:0}.treeToggle{color:var(--muted);width:14px;text-align:center}.dreBatchFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.dreSelectionCount{color:var(--muted);font-weight:800}
.viewsModal{width:min(680px,100%)}.viewsHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.viewsHeader h3{margin:0}.viewsClose{font-size:24px!important}.viewsBody{display:grid;gap:8px;margin-top:14px;max-height:460px;overflow:auto}.savedViewRow{display:grid;grid-template-columns:minmax(0,1fr) 42px 42px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px;background:var(--panel2)}.savedViewOpen{display:grid;text-align:left;border:0;background:transparent;color:var(--text);cursor:pointer;padding:7px}.savedViewOpen span{font-weight:900}.savedViewOpen small{color:var(--muted);margin-top:2px}.savedViewDefault{color:#f3c623!important}.savedViewDefault.isDefault{background:rgba(243,198,35,.14)!important;border-color:rgba(243,198,35,.5)!important}
@media(max-width:1100px){.dreOneLine{grid-template-columns:1fr 1fr}.dreOneLine label:nth-child(3){grid-column:1/-1}.compactCascade{grid-template-columns:1fr 1fr!important}}
@media(max-width:720px){.viewBtn{height:44px}.dreOneLine,.compactCascade{grid-template-columns:1fr!important}.dreOneLine label:nth-child(3){grid-column:auto}.dreOneLine .secondaryBtn{width:100%}.dreBatchFooter{align-items:stretch;flex-direction:column}.dreBatchFooter .saveBtn{width:100%}.savedViewRow{grid-template-columns:minmax(0,1fr) 44px 44px}}
.viewSaveForm{display:grid;gap:14px;margin-top:16px}.viewSaveForm[hidden],.viewsBody[hidden]{display:none!important}.viewSaveForm label{display:grid;gap:6px;font-weight:800}.viewSaveForm input[type="text"],.viewSaveForm input:not([type]){height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:0 11px}.viewSaveForm #viewNameInput{height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:0 11px}.viewDefaultCheck{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:9px!important;font-weight:700!important}.viewDefaultCheck input{accent-color:var(--accent)}.inputError{border-color:#ef4444!important}.viewDeleteConfirm p{color:var(--muted);line-height:1.5}.viewSaveStatus{min-height:18px;margin:0;color:var(--muted);font-size:13px}.viewSaveStatus.isError{color:#ff8b8b;font-weight:800}


/* TUDHO V8 - DRE analítico */
.dreModeTabs{display:flex;gap:8px;margin:0 0 14px}.dreModeTabs a{padding:9px 16px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none;font-weight:800}.dreModeTabs a.active{background:var(--green);border-color:var(--green);color:#fff}.dreAnalyticFilters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end;margin:10px 0 14px}.dreAnalyticFilters label{display:grid;gap:5px;font-weight:700}.dreAnalyticFilters select,.dreAnalyticFilters input{min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:8px 10px}.dreStatusFilters{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.statusFilterOpt{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:6px!important;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.dreQuickFilters{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.dreQuickFilters button{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:7px 11px;border-radius:9px;cursor:pointer}.drePayStatus{display:inline-flex;padding:4px 8px;border-radius:999px;font-weight:800;white-space:nowrap}.drePayStatus.paid{background:#dff7e8;color:#08702e}.drePayStatus.late{background:#fff0d4;color:#9b5700}.drePayStatus.due{background:#fff7bf;color:#715b00}.drePayStatus.overdue{background:#ffe1e1;color:#a21818}.dreNoteLink{border:0;background:transparent;color:#4fc3ff;text-decoration:underline;font-weight:800;cursor:pointer;padding:2px}.dreNfModal{width:min(980px,94vw);max-height:85vh;overflow:auto}.dreNfBody h4{margin:14px 0 8px}.notice.error{border-color:#b62020;color:#ffb7b7}
@media(max-width:900px){.dreAnalyticFilters{grid-template-columns:1fr 1fr}.dreAnalyticTable{max-height:68vh}}
@media(max-width:620px){.dreAnalyticFilters{grid-template-columns:1fr}.dreStatusFilters,.dreQuickFilters{grid-column:1}.dreModeTabs{position:sticky;top:0;z-index:3;background:var(--bg);padding:6px 0}.dreNfModal{width:96vw}}

/* TUDHO V9 - CMV drill-down */
.cmvMonthLink{border:0;background:transparent;color:#5ec8ff;text-decoration:underline;font:inherit;font-weight:900;cursor:pointer;padding:0}.cmvMonthLink:hover{color:#9bddff}.appModal[hidden]{display:none!important}.appModal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px}.appModalBackdrop{position:absolute;inset:0;background:rgba(0,0,0,.62)}.appModalCard{position:relative;width:min(760px,96vw);max-height:86vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.appModalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.appModalHead h3{margin:0}.appModalHead p{margin:4px 0 0}

/* TUDHO V10.3 — DRE Analítico: alinhamento e fornecedor longo */
.dreAnalyticTable .dataTable th,
.dreAnalyticTable .dataTable td{
  text-align:center!important;
  vertical-align:middle!important;
}
.dreAnalyticTable .dataTable th.num,
.dreAnalyticTable .dataTable td.num{
  text-align:center!important;
}
.dreAnalyticTable .dataTable th:nth-child(5),
.dreAnalyticTable .dataTable td:nth-child(5){
  min-width:170px!important;
  width:210px!important;
  max-width:240px!important;
}
.dreFornecedorCell{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
  white-space:normal!important;
  overflow-wrap:anywhere;
  line-height:1.25;
  max-width:230px;
  margin:0 auto;
  cursor:help;
}
@media(max-width:720px){
  .dreAnalyticTable .dataTable th:nth-child(5),
  .dreAnalyticTable .dataTable td:nth-child(5){min-width:150px!important;width:170px!important;max-width:180px!important;}
  .dreFornecedorCell{display:block;white-space:nowrap!important;text-overflow:ellipsis;overflow:hidden;max-width:165px;}
}

/* TUDHO V10.4 — DRE analítico: colunas centralizadas e fornecedor longo. */
.dreAnalyticTable th,.dreAnalyticTable td{text-align:center!important;vertical-align:middle}
.dreAnalyticTable .dreFornecedorCell{display:-webkit-box;max-width:240px;margin:0 auto;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;line-height:1.25;text-align:center}
@media(max-width:720px){.dreAnalyticTable .dreFornecedorCell{display:block;max-width:180px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dreAnalyticTable th,.dreAnalyticTable td{min-width:105px}.dreAnalyticTable th:nth-child(6),.dreAnalyticTable td:nth-child(6){min-width:180px}}

/* TUDHO V10.9 - tema claro suave e identidade do cliente */
html[data-theme="claro"], body[data-theme="claro"]{
  --bg:#e9f3ed;
  --panel:#eef7f1;
  --panel2:#e2f0e7;
  --text:#0b2b21;
  --muted:#4d6b5e;
  --line:#c5dacf;
  --shadow:0 8px 22px rgba(21,74,50,.07);
}
html[data-theme="claro"],html[data-theme="claro"] body,
html[data-theme="claro"] .app,html[data-theme="claro"] .content{
  background:#e9f3ed!important;
  background-color:#e9f3ed!important;
}
html[data-theme="claro"] .card,
html[data-theme="claro"] .smallCards>div,
html[data-theme="claro"] .tableWrap,
html[data-theme="claro"] .appModalCard{
  background:#eef7f1!important;
  border-color:#c5dacf!important;
}
html[data-theme="claro"] .sidebar{
  background:#e3efe8!important;
  border-right-color:#bfd5c8!important;
}
html[data-theme="claro"] .clientBrandBox{
  background:#12372f!important;
  border:1px solid #295348!important;
  border-radius:14px!important;
  padding:10px!important;
  margin-bottom:2px!important;
}
html[data-theme="claro"] .clientSidebarLogo{
  filter:none!important;
  max-width:190px!important;
  max-height:92px!important;
}
html[data-theme="claro"] .collapseBtn,
html[data-theme="claro"] .input,
html[data-theme="claro"] input,
html[data-theme="claro"] select,
html[data-theme="claro"] textarea{
  background:#f3f9f5!important;
  border-color:#c5dacf!important;
}
html[data-theme="claro"] .topbar,
html[data-theme="claro"] section.card{
  background-color:#eef7f1!important;
}

/* ================================================================
   TUDHO V11 — consolidação visual / tabelas / estoque / estornos
   ================================================================ */

/* Cabeçalho global: título limpo à esquerda; filtros e ações em uma faixa consistente. */
.topbar{display:grid!important;grid-template-columns:minmax(180px,260px) minmax(0,1fr)!important;align-items:start!important;gap:18px!important}
.topbar>h1{margin:8px 0 0!important;line-height:1.08!important;white-space:normal!important}
.topbar .filters{display:flex!important;align-items:end!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;margin:0!important}
.topbar .filters>.viewBtn,.topbar .filters>.printBtn{align-self:end!important;white-space:nowrap!important}
@media(min-width:1450px){.topbar .filters{flex-wrap:nowrap!important}}
@media(max-width:900px){.topbar{grid-template-columns:1fr!important}.topbar .filters{justify-content:flex-start!important}}

/* Estoque: cards principais sempre lado a lado no desktop. */
.stockMetrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
.stockMetrics>.card{min-width:0!important;height:100%!important}
@media(max-width:700px){.stockMetrics{grid-template-columns:1fr!important}}

/* Itens de Vendas: filtros moram nos cabeçalhos, sem uma segunda faixa de controles. */
.headerFilterTable .filterableHead{position:relative;padding-right:34px!important}
.headerFilterBtn{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--panel2);color:var(--muted);cursor:pointer;font-size:12px;z-index:3}
.headerFilterBtn.active{background:var(--green);color:#fff;border-color:var(--green)}
.headerFilterPopover{position:fixed;z-index:13000;width:min(300px,calc(100vw - 24px));max-height:370px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.headerFilterPopover .hfpSearch{width:100%;height:38px;margin-bottom:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);padding:0 10px}
.headerFilterPopover .hfpOptions{display:grid;gap:4px;max-height:245px;overflow:auto}
.headerFilterPopover label{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:7px;cursor:pointer;font-weight:500}
.headerFilterPopover label:hover{background:var(--panel2)}
.headerFilterPopover .hfpActions{display:flex;justify-content:space-between;gap:8px;padding-top:8px;margin-top:8px;border-top:1px solid var(--line)}
.headerFilterPopover button{height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);padding:0 10px;cursor:pointer}
.headerFilterPopover button.primary{background:var(--green);color:#fff;border-color:var(--green)}

/* Estornos compactos. Texto longo permanece em uma linha e pode ser lido por hover/pressão. */
.estornosTable .dataTable th,.estornosTable .dataTable td{text-align:center!important;vertical-align:middle!important;white-space:nowrap!important}
.estornosTable .dataTable th:nth-child(1),.estornosTable .dataTable td:nth-child(1){width:105px;min-width:105px}
.estornosTable .dataTable th:nth-child(2),.estornosTable .dataTable td:nth-child(2),
.estornosTable .dataTable th:nth-child(3),.estornosTable .dataTable td:nth-child(3){width:130px;min-width:115px;max-width:150px}
.estornosTable .dataTable th:nth-child(4),.estornosTable .dataTable td:nth-child(4){width:220px;min-width:160px;max-width:240px}
.estornosTable .dataTable th:nth-child(5),.estornosTable .dataTable td:nth-child(5){min-width:210px;max-width:330px}
.holdHint{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}
.holdHintBubble{position:fixed;z-index:15000;max-width:min(390px,calc(100vw - 28px));padding:10px 12px;background:#fffbdc;color:#273026;border:1px solid #b9b479;border-radius:7px;box-shadow:0 10px 35px rgba(0,0,0,.22);font-size:14px;line-height:1.35;pointer-events:none;white-space:normal;overflow-wrap:anywhere}
html[data-theme="escuro"] .holdHintBubble{background:#fffbdc;color:#273026}

/* V11 mantém a paleta clara aprovada, cobrindo também áreas vazias externas. */
html[data-theme="claro"],html[data-theme="claro"] body,
html[data-theme="claro"] .app,html[data-theme="claro"] .content,
html[data-theme="claro"] main.content{background:#e9f3ed!important;background-color:#e9f3ed!important}

/* Monitor informativo de NFC-e não autorizadas. */
.nfceMonitorTable .dataTable th,.nfceMonitorTable .dataTable td{text-align:center!important;vertical-align:middle!important}
.nfceMonitorTable .dataTable th:first-child,.nfceMonitorTable .dataTable td:first-child{text-align:left!important;min-width:190px}
.nfceZero{color:var(--muted)}.nfceAlertMid{display:inline-grid;place-items:center;min-width:30px;height:28px;padding:0 7px;border-radius:8px;background:#fff2b8;color:#775c00;font-weight:900}.nfceAlertHigh{display:inline-grid;place-items:center;min-width:30px;height:28px;padding:0 7px;border-radius:8px;background:#ffd7d7;color:#a22020;font-weight:900}

/* ========================================================================== */
/* TUDHO V12 — Fiscal em submenus + barras horizontais superior/inferior */
/* ========================================================================== */
.navSubGroup{margin:2px 0 4px 10px;border-left:1px solid var(--line);padding-left:6px}
.navSubGroup>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:46px;padding:7px 10px;border-radius:10px;cursor:pointer;color:var(--text);font-weight:800}
.navSubGroup>summary::-webkit-details-marker{display:none}.navSubGroup>summary:hover{background:var(--panel2)}
.navSubIcon{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel2);flex:0 0 auto}
.navSubIcon svg{width:20px;height:20px}.navSubGroup>summary .navChevron{margin-left:auto}.navSubGroupLinks{padding-left:10px}
.navSubGroupLinks a{min-height:42px!important;padding:7px 9px!important}.navSubGroupLinks .navIcon{width:32px!important;height:32px!important}.navSubGroupLinks .navIcon svg{width:18px!important;height:18px!important}
.nfceMonitorCard{padding-top:14px}.nfceInfo{margin:0 0 12px}.nfceMonitorTable .dataTable{width:max-content;min-width:520px}.nfceMonitorTable th,.nfceMonitorTable td{text-align:center!important}.nfceMonitorTable th:first-child,.nfceMonitorTable td:first-child{text-align:left!important;min-width:190px}

/* Barra superior sincronizada: a barra inferior continua sendo a rolagem nativa do tableWrap. */
.tableScrollTop{height:18px;overflow-x:auto;overflow-y:hidden;margin:0 0 3px;border-radius:8px;background:color-mix(in srgb,var(--panel2) 92%,transparent);scrollbar-gutter:stable both-edges}
.tableScrollTopInner{height:1px}.tableScrollTop::-webkit-scrollbar,.tableWrap::-webkit-scrollbar{height:12px}.tableScrollTop::-webkit-scrollbar-thumb,.tableWrap::-webkit-scrollbar-thumb{background:#8fa59a;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.tableScrollTop::-webkit-scrollbar-track,.tableWrap::-webkit-scrollbar-track{background:rgba(100,130,115,.12);border-radius:999px}
.tableScrollTop.noOverflow{display:none}
@media(max-width:900px){.tableScrollTop{height:20px;position:sticky;top:0;z-index:8;background:var(--bg)}}


/* ========================================================================
   TUDHO V13 — consolidação de interface e vínculos de consumo
   ======================================================================== */
.topIconAction{width:48px!important;min-width:48px!important;height:48px!important;padding:0!important;display:inline-grid!important;place-items:center!important;font-size:19px!important}
.filters .topIconAction{flex:0 0 48px!important}
.salesAnnualCard .tableWrap{max-width:100%!important}
.salesGoalRow{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.salesGoalCard{display:grid!important;place-items:center!important;min-height:310px!important}
.salesGoalCard .goalPanel{width:100%!important;justify-content:center!important}
.salesChartCard{display:block!important}
.centeredMonthTable{max-width:780px;margin:0 auto}.centeredMonthTable th,.centeredMonthTable td{text-align:center!important}
.itemsDataCard{padding-top:14px!important}.itemsDataCard>.tableScrollTop:first-child{margin-top:0!important}
.cmvTableFull{width:100%;margin-top:14px}.cmvTableFull .tableWrap{max-width:100%!important}.cmvTableFull table{width:100%!important;table-layout:auto!important}
.centeredTable th,.centeredTable td{text-align:center!important;vertical-align:middle!important}
.cmvChartBelow{margin-top:18px;padding-top:8px;border-top:1px solid var(--line)}.cmvChartBelow>h2{text-align:center}.cmvChartBelow .chartWrap{height:320px!important;max-width:1100px;margin:0 auto}.cmvChartBelow .lineChart{max-height:310px!important}
.dreAnalyticCard .sectionHeader{margin-bottom:8px}.dreAnalyticCard .dataTable th,.dreAnalyticCard .dataTable td{text-align:center!important;vertical-align:middle!important}
.stockSummaryTable tbody tr:last-child{font-weight:900;border-top:2px solid var(--line)}
.compactPortionCreate{padding:14px 16px!important}.portionCreateRow{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(150px,.6fr) auto;gap:12px;align-items:end}.portionCreateRow label{display:grid;gap:5px;font-weight:800}.portionCreateRow input{height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:0 11px}.portionCreateRow button{height:42px;border:0;border-radius:9px;background:var(--green);color:#fff;font-weight:900;padding:0 18px;cursor:pointer}
.newLinkPanel{padding:0!important;overflow:visible}.newLinkPanel>summary{cursor:pointer;list-style:none;padding:16px 18px;font-size:17px;font-weight:900}.newLinkPanel>summary::-webkit-details-marker{display:none}.newLinkPanel[open]>summary{border-bottom:1px solid var(--line)}
.linkOneLine{display:grid;grid-template-columns:1.25fr 1.1fr 1.2fr .55fr .7fr 1fr;gap:10px;padding:16px;align-items:end}.linkOneLine label{display:grid;gap:5px;font-weight:800;min-width:0}.linkOneLine input,.linkOneLine select{width:100%;min-height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:7px 9px}.linkOneLine .linkProducts{grid-column:1/-1}.linkOneLine .linkProducts select{min-height:190px}.linkOneLine .linkSave{grid-column:1/-1;justify-self:start}
.porcaoSummary table{width:100%!important}
@media(max-width:1050px){.salesGoalRow{grid-template-columns:1fr!important}.salesGoalCard{min-height:0!important}.linkOneLine{grid-template-columns:repeat(2,minmax(0,1fr))}.portionCreateRow{grid-template-columns:1fr 180px auto}}
@media(max-width:700px){.portionCreateRow,.linkOneLine{grid-template-columns:1fr!important}.linkOneLine .linkProducts,.linkOneLine .linkSave{grid-column:auto}.topIconAction{width:44px!important;min-width:44px!important;height:44px!important}.salesGoalRow{grid-template-columns:1fr!important}}

/* ========================================================================== */
/* TUDHO V14 — padrão global de tabelas, Fiscal e diagnóstico de NF           */
/* ========================================================================== */
.dataTable th,.dataTable td{text-align:center!important;vertical-align:middle!important}
.dataTable .num{text-align:center!important}
.dataTable th.filterableHead{padding-right:36px!important;position:relative}
.headerFilterBtn{font-size:13px;line-height:1}

/* Cards de status da NF-e: cinco indicadores na mesma linha no desktop. */
.fiscalStatusCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.fiscalStatusCard{min-height:88px;border:1px solid var(--line);border-radius:13px;padding:14px 16px;display:flex;flex-direction:column;justify-content:center;background:var(--panel2)}
.fiscalStatusCard b{font-size:25px;line-height:1;margin-bottom:7px}
.fiscalStatusCard span{font-weight:800}
.fiscalStatusCard.orange{border-top:5px solid var(--orange)}
.fiscalStatusCard.yellow{border-top:5px solid var(--yellow)}
.fiscalStatusCard.red{border-top:5px solid #ef4444}
.fiscalStatusCard.purple{border-top:5px solid var(--purple)}
.fiscalStatusCard.green{border-top:5px solid var(--green)}

/* Modal DRE/NF: falha de vínculo não vira mais erro opaco; mostra diagnóstico. */
.notice.warn{border-color:#d5a600!important;color:#8a6500!important;background:rgba(255,211,61,.10)!important}
.nfDiagnostic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.nfDiagnostic b{grid-column:1/-1}.nfDiagnostic span{font-size:12px;color:var(--muted);font-weight:700}
.nfWarnings{font-size:12px;color:var(--muted);padding:8px 10px;border-left:3px solid var(--yellow);background:var(--panel2)}

/* Pagamentos: sem título duplicado/texto técnico; o único subtítulo interno é Abertos por mês. */
.paycards + h2{margin-top:18px}

/* Evita títulos duplicados visualmente próximos em blocos de tabela. */
.itemsDataCard>.sectionHeader:empty,.fiscalNfeCard>.sectionHeader:empty{display:none}

@media(max-width:1100px){.fiscalStatusCards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.fiscalStatusCards{grid-template-columns:1fr 1fr}.nfDiagnostic{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fiscalStatusCards{grid-template-columns:1fr}}

/* TUDHO V15 — exceções de consumo e filtros estáveis */
.exceptionOneLine{display:grid;grid-template-columns:minmax(320px,1fr) minmax(180px,.35fr) auto;gap:12px;align-items:end}
.exceptionOneLine label{display:grid;gap:6px;font-weight:800}
.exceptionOneLine select,.exceptionOneLine input{height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:0 11px;width:100%}
.groupExceptions .muted{margin-top:0}
.headerFilterPopover{overscroll-behavior:contain}
.headerFilterPopover .hfpOptions{overscroll-behavior:contain}
@media(max-width:900px){.exceptionOneLine{grid-template-columns:1fr}.exceptionOneLine button{width:100%}}

/* ========================================================================== */
/* TUDHO V16 — refinamento de layout: KPIs, CMV, DRE e vínculos             */
/* ========================================================================== */

/* 1. Itens de Vendas: quatro cards sempre em uma linha no desktop. */
@media(min-width:901px){
  .page-itens .itemKpis{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media(max-width:900px) and (min-width:561px){
  .page-itens .itemKpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .page-itens .itemKpis{grid-template-columns:1fr!important;}
}

/* 2. CMV: cabeçalho em uma linha no desktop, mais compacto e sem quebra das ações. */
@media(min-width:1101px){
  .page-cmv .topbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;}
  .page-cmv .topbar h1{white-space:nowrap;align-self:center;}
  .page-cmv .filters{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-end;align-items:flex-end;gap:10px;min-width:0;}
  .page-cmv .filters>label{min-width:0;}
  .page-cmv .filters>label:first-child{width:min(285px,22vw);}
  .page-cmv .filters .input{min-width:0;}
  .page-cmv .filters input[type="date"]{min-width:150px;width:170px;}
  .page-cmv .topIconAction,.page-cmv .refresh{flex:0 0 48px!important;}
}

/* 3 e 4. CMV: título interno removido no HTML; tabela alinhada e sem desalinhamento. */
.cmvMainCard{padding-top:18px!important;}
.cmvMainCard .salesCards{margin-top:0!important;}
.cmvTable .dataTable{width:100%!important;table-layout:fixed!important;}
.cmvTable .dataTable th,.cmvTable .dataTable td{text-align:center!important;vertical-align:middle!important;}
.cmvTable .dataTable th:nth-child(1),.cmvTable .dataTable td:nth-child(1){width:13%;}
.cmvTable .dataTable th:nth-child(2),.cmvTable .dataTable td:nth-child(2){width:16%;}
.cmvTable .dataTable th:nth-child(3),.cmvTable .dataTable td:nth-child(3){width:16%;}
.cmvTable .dataTable th:nth-child(4),.cmvTable .dataTable td:nth-child(4){width:13%;}
.cmvTable .dataTable th:nth-child(5),.cmvTable .dataTable td:nth-child(5){width:16%;}
.cmvTable .dataTable th:nth-child(6),.cmvTable .dataTable td:nth-child(6){width:13%;}
.cmvTable .dataTable th:nth-child(7),.cmvTable .dataTable td:nth-child(7){width:13%;}

/* 5. DRE Sintético: tabela usa toda a largura e gráfico vem abaixo. */
.dreSyntheticTableCard{width:100%;margin-bottom:16px;}
.dreSyntheticTableCard .tableWrap{width:100%;max-width:100%!important;}
.dreSyntheticTableCard .dataTable{width:100%!important;table-layout:auto!important;}
.dreSyntheticChartBelow{width:100%;margin-top:0;}
.dreSyntheticChartBelow>.card{width:100%;}
.dreSyntheticChartBelow .chartWrap{height:330px!important;max-width:1200px;margin:0 auto;}
.dreSyntheticChartBelow .lineChart{max-height:320px!important;}

/* 7. Exceção por produto: pesquisar entre as porções já cadastradas. */
.exceptionPortionSearch{grid-template-columns:minmax(320px,1fr) minmax(300px,.75fr) auto!important;}
.exceptionPortionSearch input[type="search"]{height:42px;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:0 11px;width:100%;}
.exceptionPortionSearch input[type="search"]::placeholder{color:var(--muted);}

/* 8. Qtd. base efetiva: editor compacto, horizontal e sem botões grandes. */
.qtyEffectiveEditor{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;}
.qtyEffectiveForm,.qtyResetForm{display:inline-flex;align-items:center;gap:4px;margin:0;}
.qtyEffectiveForm input{width:78px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);padding:0 8px;text-align:center;font-weight:700;}
.qtyIconBtn{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);display:inline-grid;place-items:center;cursor:pointer;font-size:16px;font-weight:900;padding:0;}
.qtyIconBtn.save{background:var(--green);color:#fff;border-color:var(--green);}
.qtyIconBtn.reset{background:var(--panel2);color:var(--text);}
.qtyIconBtn:hover{filter:brightness(1.05);}

@media(max-width:1100px){
  .exceptionPortionSearch{grid-template-columns:1fr!important;}
  .exceptionPortionSearch button{width:100%;}
}


/* ================================================================
   TUDHO V17 — impressão global compacta + cabeçalho em uma linha
   ================================================================ */

/* Desktop: título, unidade, período e ações ocupam uma única faixa. */
@media (min-width: 1180px){
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(150px,250px) minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
  }
  .topbar>h1{margin:0!important;align-self:center!important;white-space:nowrap!important;}
  .topbar .filters{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:end!important;
    justify-content:flex-end!important;
    gap:9px!important;
    min-width:0!important;
  }
  .topbar .filters>label{min-width:0!important;}
  .topbar .filters .input{min-width:160px!important;}
  .topbar .filters .topIconAction,.topbar .filters .viewBtn,.topbar .filters .printBtn{flex:0 0 auto!important;}
}

/* A impressão do TUDHO é um relatório, não uma captura da tela. */
@media print{
  @page{size:A4 landscape;margin:6mm!important;}
  html,body{width:100%!important;min-height:0!important;background:#fff!important;color:#111!important;font-size:9pt!important;}
  .app{display:block!important;min-height:0!important;background:#fff!important;}
  .content{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important;background:#fff!important;}

  /* Nunca imprimir controles de navegação/interação. */
  .sidebar,.topbar,.filters,.screenActions,.printBtn,.viewBtn,.topIconAction,.themeControl,.refresh,
  .actions,.tabs,.dreModeTabs,.itemFilters,.headerFilterBtn,.tableTopScroll,.tableBottomScroll,
  .smartScrollTop,.smartScrollBottom,.filterPopover,.columnFilter,.columnFilterMenu,
  .appModal,.tudhoModalBackdrop,.rowActions,.saveBtn,.secondaryBtn,.miniBtn{display:none!important;}

  /* Cabeçalho de relatório único. */
  .printContext{display:block!important;border-bottom:1px solid #999!important;padding:0 0 4px!important;margin:0 0 6px!important;color:#111!important;}
  .printContext>b{font-size:13pt!important;line-height:1.05!important;}
  .printFilterSummary{font-size:8.5pt!important;margin-top:2px!important;color:#444!important;}
  .comparisonPrintNote{font-size:7.4pt!important;line-height:1.25!important;margin:4px 0 0!important;padding:4px 6px!important;color:#444!important;background:#f3f6f4!important;border-left:3px solid #078346!important;}

  /* Remove títulos internos quando repetem o título do relatório. */
  .page-estoque>section.card>h2:first-child,
  .page-cmv .cmvMainCard>h2:first-child,
  .page-dre .dreSyntheticTableCard>h2:first-child{display:none!important;}

  /* Superfícies compactas. */
  section.card,.card{background:#fff!important;color:#111!important;box-shadow:none!important;border:1px solid #c8c8c8!important;border-radius:6px!important;padding:7px!important;margin:0 0 6px!important;break-inside:avoid-page!important;}
  h1,h2,h3,h4{color:#111!important;break-after:avoid-page!important;}
  h2{font-size:12pt!important;margin:4px 0 5px!important;}
  h3{font-size:10pt!important;margin:5px 0 3px!important;}
  p{margin:2px 0!important;}

  /* KPIs sempre na mesma linha quando possível. */
  .kpiGrid,.salesCards,.metrics,.stockMetrics,.smallCards{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
    margin:0 0 6px!important;
    break-inside:avoid-page!important;
  }
  .stockMetrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .salesCards>.metric,.metrics>.metric,.kpiGrid>.metric,.smallCards>div{
    min-height:0!important;height:auto!important;padding:6px!important;margin:0!important;border:1px solid #ccc!important;border-radius:6px!important;box-shadow:none!important;
  }
  .metric .ico{width:24px!important;height:24px!important;font-size:12px!important;margin:0 0 3px!important;}
  .metricLabel{font-size:7.2pt!important;line-height:1.05!important;}
  .metricValue{font-size:11pt!important;margin:3px 0 2px!important;white-space:nowrap!important;}
  .metricSub{font-size:7.3pt!important;line-height:1.08!important;}

  /* Tabelas usam toda a página, sem scroll e com cabeçalhos alinhados. */
  .tableWrap,.mobileScroll,.gerencialMatrix,.autoTable,.cmvTableFull{overflow:visible!important;max-height:none!important;width:100%!important;max-width:none!important;}
  table.dataTable,.dataTable{width:100%!important;min-width:0!important;max-width:none!important;table-layout:auto!important;border-collapse:collapse!important;}
  .dataTable th,.dataTable td{
    color:#111!important;border-color:#cfcfcf!important;padding:2.5px 4px!important;font-size:7.6pt!important;line-height:1.1!important;vertical-align:middle!important;white-space:nowrap!important;
  }
  .dataTable th{text-align:center!important;font-weight:800!important;}
  .dataTable td{text-align:center!important;}
  .dataTable .num{text-align:center!important;}
  .dataTable thead{display:table-header-group!important;}
  .dataTable tr{break-inside:avoid!important;}

  /* CMV: cards + tabela + gráfico em uma folha sempre que o conteúdo couber. */
  .page-cmv .cmvMainCard{padding:6px!important;}
  .page-cmv .salesCards{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .page-cmv .cmvChartBelow{margin-top:5px!important;break-inside:avoid-page!important;}
  .page-cmv .cmvChartBelow h2{font-size:10pt!important;text-align:center!important;margin:3px 0!important;}
  .page-cmv .chartWrap{height:118px!important;max-height:118px!important;overflow:hidden!important;margin:0 auto!important;}
  .page-cmv .lineChart{height:118px!important;max-height:118px!important;width:100%!important;}
  .page-cmv .cmvTable .dataTable th,.page-cmv .cmvTable .dataTable td{font-size:7.2pt!important;padding:2px 3px!important;text-align:center!important;}

  /* DRE: KPIs em uma faixa; tabela primeiro e gráfico compacto abaixo. */
  .page-dre .salesCards,.page-dre .kpiGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .page-dre .dreSyntheticChartBelow{margin-top:5px!important;break-inside:avoid-page!important;}
  .page-dre .dreSyntheticChartBelow .card{padding:5px!important;}
  .page-dre .dreSyntheticChartBelow .chartWrap{height:145px!important;max-height:145px!important;margin:0 auto!important;overflow:hidden!important;}
  .page-dre .dreSyntheticChartBelow .lineChart{height:145px!important;max-height:145px!important;width:100%!important;}
  .page-dre .dreTable .dataTable th,.page-dre .dreTable .dataTable td{font-size:7.4pt!important;padding:2.5px 3px!important;}

  /* Estoque: um único título e duas tabelas consecutivas. */
  .page-estoque .stockMetrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .page-estoque h3{margin-top:5px!important;}

  /* Gráficos e blocos não devem forçar páginas vazias. */
  .chartWrap,.lineChart,.donutBox{break-inside:avoid-page!important;page-break-before:auto!important;page-break-after:auto!important;}
  svg{max-width:100%!important;}
}

/* ================================================================
   TUDHO V18 — cabeçalho compacto, menu de ações e DRE responsivo
   ================================================================ */
.topbar{display:grid!important;grid-template-columns:minmax(120px,220px) minmax(0,1fr)!important;align-items:center!important;gap:12px!important;margin-bottom:14px!important}
.topbar>h1{margin:0!important;white-space:nowrap!important;font-size:26px!important;align-self:center!important}
.topbar .filters{display:grid!important;grid-template-columns:repeat(4,minmax(170px,1fr)) auto!important;align-items:end!important;gap:9px!important;min-width:0!important;width:100%!important}
.topbar .filters>label{min-width:0!important;width:100%!important}
.topbar .filters .input{width:100%!important;min-width:0!important}
.topbar .filters input[type="date"],.topbar .filters select{width:100%!important;min-width:0!important}
.topActionsMenu{position:relative;align-self:end;justify-self:end;z-index:60}
.topActionsMenu>summary{list-style:none;width:46px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);cursor:pointer;font-size:21px;font-weight:900}
.topActionsMenu>summary::-webkit-details-marker{display:none}
.topActionsMenu[open]>summary{background:#078346;color:#fff;border-color:#078346}
.topActionsPanel{position:absolute;right:0;top:50px;min-width:220px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 18px 42px rgba(0,0,0,.28);display:grid;gap:6px;z-index:1000}
.topMenuAction,.topActionsPanel .themeControl{width:100%!important;min-height:40px!important;height:auto!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--panel2)!important;color:var(--text)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;padding:7px 10px!important;font-size:14px!important;cursor:pointer!important}
.topMenuAction b,.menuThemeControl b{font-size:13px!important}
.menuThemeControl{display:grid!important;grid-template-columns:1fr 1fr!important;padding:3px!important;gap:3px!important}
.menuThemeControl button{min-width:0!important;width:100%!important;height:36px!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important}

/* telas com Empresa/CNPJ recebem uma coluna adicional sem sobreposição */
.topbar .filters:has(label:nth-of-type(5)){grid-template-columns:repeat(5,minmax(150px,1fr)) auto!important}

/* DRE: gráfico anual mais baixo e nunca corta valores negativos */
.page-dre .dreSyntheticChartBelow .card{padding:14px!important}
.page-dre .dreSyntheticChartBelow .chartWrap{height:230px!important;max-width:980px!important;margin:0 auto!important;overflow:visible!important}
.page-dre .dreSyntheticChartBelow .lineChart{height:230px!important;max-height:230px!important;width:100%!important;overflow:visible!important}
.page-dre .chartArea{opacity:.16!important}
.page-dre .zeroLine{stroke:var(--muted)!important;stroke-width:1.4!important;stroke-dasharray:4 4!important}

/* Estoque analítico: filtro externo removido; tabela é a fonte de filtros. */
.page-estoque .itemFilters{display:none!important}

/* Os cards ocupam uma única faixa no desktop; filtros locais podem recalculá-los via JS. */
@media(min-width:1050px){
  .page-itens .itemKpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* Melhor quebra para resoluções intermediárias sem sobreposição. */
@media(max-width:1450px){
  .topbar{grid-template-columns:minmax(110px,190px) minmax(0,1fr)!important}
  .topbar .filters{grid-template-columns:repeat(3,minmax(150px,1fr)) auto!important}
  .topbar .filters:has(label:nth-of-type(5)){grid-template-columns:repeat(4,minmax(145px,1fr)) auto!important}
}
@media(max-width:1100px){
  .topbar{grid-template-columns:1fr!important;align-items:start!important}
  .topbar .filters,.topbar .filters:has(label:nth-of-type(5)){grid-template-columns:repeat(2,minmax(160px,1fr)) auto!important}
  .topActionsMenu{justify-self:start!important}
}
@media(max-width:650px){
  .topbar .filters,.topbar .filters:has(label:nth-of-type(5)){grid-template-columns:1fr!important}
  .topActionsMenu{justify-self:stretch!important}
  .topActionsMenu>summary{width:100%!important}
  .topActionsPanel{left:0;right:auto;width:min(320px,calc(100vw - 30px))}
}

@media print{
  .topActionsMenu,.topActionsPanel{display:none!important}
  .page-dre .dreSyntheticChartBelow .chartWrap,.page-dre .dreSyntheticChartBelow .lineChart{height:125px!important;max-height:125px!important;overflow:visible!important}
}

/* ================================================================
   TUDHO V19 — cabeçalho ultracompacto + ticket mensal + alinhamentos
   ================================================================ */
@media(min-width:1101px){
  .topbar{grid-template-columns:minmax(110px,190px) minmax(0,1fr)!important;gap:10px!important}
  .topbar .filters{display:flex!important;flex-wrap:nowrap!important;align-items:flex-end!important;justify-content:flex-end!important;gap:8px!important}
  .topbar .filters>label{flex:0 1 auto!important;width:auto!important;min-width:0!important}
  .topbar .filters>label:nth-of-type(1){flex-basis:220px!important;max-width:260px!important}
  .topbar .filters>label:nth-of-type(2){flex-basis:225px!important;max-width:280px!important}
  .topbar .filters>label:nth-last-of-type(2),
  .topbar .filters>label:nth-last-of-type(1){flex-basis:178px!important;max-width:190px!important}
  .topbar .filters .selectInput,.topbar .filters .input{height:44px!important}
  .topbar .filters select,.topbar .filters input[type="date"]{height:42px!important}
  .topRefreshBtn{flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;border:0!important;border-radius:10px!important;background:#078346!important;color:#fff!important;font-size:22px!important;display:grid!important;place-items:center!important;cursor:pointer!important}
  .topActionsMenu{flex:0 0 46px!important}
}
/* Datas: campo inteiro abre o picker; ícone nativo fica oculto para economizar largura. */
.dateCompact{padding:0 10px!important;cursor:pointer!important}
.dateCompact input[type="date"]{padding:0!important;cursor:pointer!important;background:transparent!important}
.dateCompact input[type="date"]::-webkit-calendar-picker-indicator{opacity:0!important;width:0!important;padding:0!important;margin:0!important;display:none!important}
/* Evita largura desnecessária após o valor da data. */
.topbar input[type="date"]{font-variant-numeric:tabular-nums!important;letter-spacing:0!important}

/* Empresa: o texto exibido já é somente fantasia; mantenha seleção compacta. */
.topbar select[name="empresa"]{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}

/* Vendas / Salão / Delivery — coluna Ticket Médio e tabela equilibrada. */
.salesAnnualTable .dataTable{table-layout:fixed!important;width:100%!important}
.salesAnnualTable .dataTable th,.salesAnnualTable .dataTable td{text-align:center!important;vertical-align:middle!important}
.salesAnnualTable .dataTable th:nth-child(1),.salesAnnualTable .dataTable td:nth-child(1){width:14%!important}
.salesAnnualTable .dataTable th:nth-child(2),.salesAnnualTable .dataTable td:nth-child(2){width:23%!important}
.salesAnnualTable .dataTable th:nth-child(3),.salesAnnualTable .dataTable td:nth-child(3){width:21%!important}
.salesAnnualTable .dataTable th:nth-child(4),.salesAnnualTable .dataTable td:nth-child(4){width:21%!important}
.salesAnnualTable .dataTable th:nth-child(5),.salesAnnualTable .dataTable td:nth-child(5){width:21%!important}
.dualLegend{display:flex;justify-content:center;gap:24px;margin:2px 0 8px;font-weight:800;font-size:12px}
.dualLegend span{display:flex;align-items:center;gap:7px}
.dualLegend i{display:inline-block;width:22px;height:4px;border-radius:999px}
.dualLegend .lgFat{background:#20c24a}
.dualLegend .lgTicket{background:#2f78e0}
.dualLineChart .fatLine{stroke:#20c24a!important}
.dualLineChart .ticketLine{stroke:#2f78e0!important}
.dualLineChart .fatDots circle{fill:#20c24a!important;stroke:var(--panel)!important}
.dualLineChart .ticketDots circle{fill:#2f78e0!important;stroke:var(--panel)!important}
.dualLineChart polyline{fill:none;stroke-width:3!important}

/* CMV — centralização forte inclusive com controles de filtro no cabeçalho. */
.page-cmv .cmvTable .dataTable th,.page-cmv .cmvTable .dataTable td{ text-align:center!important; vertical-align:middle!important }
.page-cmv .cmvTable .headerFilterBtn{vertical-align:middle!important;margin-left:5px!important}

/* DRE Analítico: mantém colunas financeiras compactas e centralizadas. */
.page-dre .dreAnalyticTable th,.page-dre .dreAnalyticTable td{text-align:center!important;vertical-align:middle!important}
.page-dre .dreFornecedorCell{display:block;max-width:170px;margin:0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:1100px){
  .topRefreshBtn{width:44px;height:44px;border:0;border-radius:10px;background:#078346;color:#fff;font-size:22px}
}

/* TUDHO V20 - Performance Delivery */
.performanceKpis{grid-template-columns:repeat(4,minmax(0,1fr));}
.performanceAnalysis{align-items:stretch;}
.performanceAnalysis .card{min-height:150px;}
.performanceAnalysis ul{margin:10px 0 0 20px;padding:0;line-height:1.55;}
.performanceAnalysis li+li{margin-top:8px;}
.performanceTable table{min-width:1180px;}
.performanceTable th,.performanceTable td{text-align:center;vertical-align:middle;}
.externalDataCard{margin-top:16px;}
.sectionTitleRow{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.sectionTitleRow h2{margin:0;}
.pendingMetrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:16px;}
.pendingMetrics span{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line,#d8e5de);border-radius:10px;text-align:center;}
.pendingMetrics b{font-size:12px;opacity:.72;}
.performanceFootnote{margin:10px 0 0;}
.financialReportToggle{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}.financialReportToggle h2{margin:0 0 4px}.financialReportToggle p{margin:0}.financialToggleControl{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 16px;border-radius:12px;background:#078346;color:#fff;font-weight:900;cursor:pointer;white-space:nowrap}.financialToggleControl input{width:19px;height:19px;accent-color:#19d55b}.optionalFinancial{display:none}.optionalFinancial.isVisible{display:block}
@media(max-width:1100px){.performanceKpis{grid-template-columns:repeat(2,minmax(0,1fr));}.pendingMetrics{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:650px){.performanceKpis,.pendingMetrics{grid-template-columns:1fr}.sectionTitleRow,.financialReportToggle{align-items:flex-start;flex-direction:column;}.financialToggleControl{width:100%;justify-content:center}}

/* TUDHO V21 - Performance Delivery */
.performanceReport .performanceTable th,.performanceReport .performanceTable td,.performanceReport .channelTable th,.performanceReport .channelTable td{text-align:center!important;vertical-align:middle!important}
.platformUploadList{display:grid;gap:9px;margin-top:12px}.platformUploadRow{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--panel2);padding:12px 14px;border-radius:10px}.platformUploadRow>div{display:grid;gap:3px}.platformUploadRow small{color:var(--muted)}
.statusChip{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}.statusChip.neutral{background:var(--panel2);color:var(--muted)}
.statusChip.missingData{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.45);color:#ff8f8f}.deliverySelectionAudit{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.deliverySelectionAudit>*{padding:5px 9px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:12px}.deliverySelectionAudit .missing{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.45);color:#f6bf55}.deliverySelectionAudit .ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4);color:#62df89}
.performanceTop3Head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:10px}.performanceTop3Head h2,.performanceTop3Head p{margin:0}.performanceTop3Head p{font-size:12px;color:var(--muted);text-align:right}.performancePodium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.podiumCard{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px;display:grid;gap:5px;text-align:center}.podiumCard span{font-size:13px;color:var(--muted);font-weight:800}.podiumCard b{font-size:16px}.podiumCard strong{font-size:24px}.podiumCard small{color:var(--muted)}.podiumScoreLabel{text-transform:uppercase;font-size:10px!important;font-weight:900;letter-spacing:.05em;margin-top:3px}.podiumVariation{font-style:normal;font-size:12px;font-weight:900}.performanceDelta{display:inline-block;font-weight:900;white-space:nowrap}.podiumVariation.positive,.performanceDelta.positive{color:#159447}.podiumVariation.negative,.performanceDelta.negative{color:#e54848}
.tableLink{color:#42bfff;font-weight:800;text-decoration:underline;text-underline-offset:2px}.emptyState{padding:14px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);text-align:center}.menuActionIcon{display:inline-grid;place-items:center;width:22px;font-size:18px}
@media(max-width:900px){.performanceTop3Head{align-items:flex-start;flex-direction:column;gap:4px}.performanceTop3Head p{text-align:left}.performancePodium{grid-template-columns:1fr}.platformUploadRow{align-items:flex-start;flex-direction:column}}


/* TUDHO DRE MENSAL CENTRALIZADO V1 */
.dreMonthlyMatrix .dataTable th,
.dreMonthlyMatrix .dataTable td{
  text-align:center!important;
  vertical-align:middle!important;
  min-width:68px!important;
  width:68px!important;
  padding:7px 24px!important;
}
.dreMonthlyMatrix .dataTable{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  table-layout:auto!important;
}
.dreMonthlyMatrix .dataTable th:first-child,
.dreMonthlyMatrix .dataTable td:first-child{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
}
.dreMonthlyMatrix .dataTable th:nth-last-child(3),
.dreMonthlyMatrix .dataTable td:nth-last-child(3){width:78px!important;min-width:78px!important}
.dreMonthlyMatrix .dataTable th:nth-last-child(2),
.dreMonthlyMatrix .dataTable td:nth-last-child(2){width:70px!important;min-width:70px!important}
.dreMonthlyMatrix .dataTable th:last-child,
.dreMonthlyMatrix .dataTable td:last-child{width:105px!important;min-width:105px!important}
.dreMonthlyMatrix .dataTable th.filterableHead,
.dreMonthlyMatrix .dataTable th.sortableHead{
  padding-left:24px!important;
  padding-right:24px!important;
}
.dreMonthlyMatrix .headerFilterBtn{
  width:19px!important;
  height:19px!important;
  right:3px!important;
  border-radius:6px!important;
  font-size:10px!important;
}
.dreMonthlyMatrix .dataTable .statusBadge{
  margin-left:auto!important;
  margin-right:auto!important;
}


/* TUDHO MOBILE SEM SOBREPOSICAO V1 */
@media(max-width:900px){
  :root{--sidebar:76px!important}
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .app{display:block!important;width:100%!important;max-width:100%!important;min-height:100vh!important}
  .sidebar{
    position:fixed!important;left:0!important;top:0!important;bottom:0!important;
    width:76px!important;min-width:76px!important;max-width:76px!important;height:100dvh!important;
    padding:8px 6px!important;z-index:12000!important;overflow:hidden!important
  }
  .brandBox{height:62px!important;width:64px!important}
  .brandSymbol,.clientSidebarLogo{max-width:50px!important;max-height:50px!important}
  .collapseBtn{width:64px!important;min-width:64px!important;height:46px!important;padding:0!important}
  .collapseText,.navText,.navGroupTitle,.navChevron,.uinfo{display:none!important}
  .nav{padding:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  .navGroup,.navSubGroup{border:0!important;margin:0!important;padding:0!important}
  .navGroup>summary,.navSubGroup>summary{display:none!important}
  .navGroupLinks,.navSubGroupLinks{display:block!important;padding:0!important}
  .nav a{width:64px!important;min-width:64px!important;min-height:62px!important;margin:6px 0!important;padding:6px 0!important;display:flex!important;justify-content:center!important;align-items:center!important}
  .navIcon{width:46px!important;height:46px!important;min-width:46px!important;margin:0!important}
  .userbox{display:none!important}
  .content,main.content{
    margin-left:76px!important;width:calc(100% - 76px)!important;max-width:calc(100% - 76px)!important;
    min-width:0!important;padding:12px 8px!important;overflow-x:hidden!important
  }
  .topbar{display:block!important;width:100%!important;max-width:100%!important;margin-bottom:14px!important}
  .topbar h1{font-size:24px!important;line-height:1.15!important;margin:0 0 14px!important;overflow-wrap:anywhere!important}
  .filters{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;width:100%!important;max-width:100%!important}
  .filters label,.filters .input,.filters select,.filters input,.filters .refresh,.filters .topActionsMenu{width:100%!important;max-width:100%!important;min-width:0!important}
  .input{height:48px!important;margin-top:4px!important}
  .input input{font-size:15px!important;min-width:0!important}
  .refresh{height:46px!important}
  .card,section.card{width:100%!important;max-width:100%!important;min-width:0!important;padding:14px!important}
  .kpiGrid,.salesCards,.twoCols,.threeCols,.smallCards{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .metric{min-width:0!important;overflow:hidden!important}
  .metricValue{font-size:21px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .tableWrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .tableWrap .dataTable{max-width:none!important}
  .chartWrap,.dualChartWrap{max-width:100%!important;overflow-x:auto!important}
}

/* V34.26 deve permanecer por último para prevalecer sobre estilos legados. */
@media(min-width:1051px){
  .page-delivery .deliverySummaryCards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .page-delivery .deliverySummaryCards>.metric{min-height:132px!important;height:132px!important}
}
@media print{
  .page-delivery .deliverySummaryCards>.metric{
    min-height:74px!important;height:74px!important;padding:5px!important;
    grid-template-columns:24px minmax(0,1fr)!important;grid-template-rows:auto 1fr!important;column-gap:5px!important
  }
  .page-delivery .deliverySummaryCards .ico{width:22px!important;height:22px!important;font-size:10px!important;grid-row:1/3!important}
  .page-delivery .deliverySummaryCards .metricLabel{font-size:7pt!important;margin:0 0 2px!important}
  .page-delivery .deliverySummaryCards .metricValue{font-size:inherit!important;margin:0!important}
}

/* TUDHO V34.27 — cabeçalho compacto e abas operacionais. */
@media(min-width:1501px){
  .page-delivery .topbar-delivery,.page-salao .topbar-salao{
    grid-template-columns:minmax(150px,210px) minmax(0,1fr)!important;
    min-height:82px!important;height:auto!important;gap:14px!important;
    padding-top:4px!important;padding-bottom:6px!important;margin-bottom:10px!important;align-items:center!important
  }
  .page-delivery .topbar-delivery>h1,.page-salao .topbar-salao>h1{margin:0!important;align-self:center!important}
  .page-delivery .topbar-delivery>.filters,.page-salao .topbar-salao>.filters{
    display:grid!important;grid-template-columns:minmax(220px,1.2fr) minmax(190px,1fr) minmax(160px,.8fr) minmax(160px,.8fr) 48px 48px!important;
    gap:9px!important;align-items:end!important;min-height:0!important
  }
  .page-delivery .topbar-delivery .input,.page-salao .topbar-salao .input,
  .page-delivery .topbar-delivery .storeMultiSelect>summary,.page-salao .topbar-salao .storeMultiSelect>summary{height:48px!important;min-height:48px!important}
}
.channelTabs{margin-bottom:12px!important}
.performanceRefreshNote{position:fixed;right:18px;bottom:16px;z-index:9000;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:11px;box-shadow:var(--shadow)}
.performanceRefreshNote b{color:var(--text)}
@media print{.performanceRefreshNote{display:none!important}}

/* TUDHO V34.46 - cronômetro visível durante a navegação. */
@media screen{
  .performanceReport .performanceRefreshNote{
    display:flex!important;
    position:fixed!important;
    right:12px!important;
    bottom:10px!important;
    z-index:10000!important
  }
  .performanceReport .performanceRefreshNote:hover{opacity:1!important}
}

/* TUDHO V34.28 — filtros em faixa própria, sem colisão com o título. */
@media(min-width:901px){
  .page-vendas .topbar-vendas,.page-delivery .topbar-delivery,.page-salao .topbar-salao{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;
    min-height:0!important;height:auto!important;padding-top:4px!important;padding-bottom:8px!important;
    margin-bottom:10px!important;align-items:start!important
  }
  .page-vendas .topbar-vendas>h1,.page-delivery .topbar-delivery>h1,.page-salao .topbar-salao>h1{
    margin:0!important;line-height:1.15!important
  }
  .page-vendas .topbar-vendas>.filters,.page-delivery .topbar-delivery>.filters,.page-salao .topbar-salao>.filters{
    display:grid!important;grid-template-columns:minmax(240px,1.25fr) minmax(210px,1fr) minmax(175px,.78fr) minmax(175px,.78fr) 52px 52px!important;
    gap:10px!important;width:100%!important;max-width:none!important;align-items:end!important;min-height:0!important
  }
  .page-vendas .topbar-vendas .input,.page-delivery .topbar-delivery .input,.page-salao .topbar-salao .input,
  .page-vendas .topbar-vendas .storeMultiSelect>summary,.page-delivery .topbar-delivery .storeMultiSelect>summary,.page-salao .topbar-salao .storeMultiSelect>summary{
    height:48px!important;min-height:48px!important
  }
}
@media(min-width:901px) and (max-width:1250px){
  .page-vendas .topbar-vendas>.filters,.page-delivery .topbar-delivery>.filters,.page-salao .topbar-salao>.filters{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
  .page-vendas .topbar-vendas .topRefreshBtn,.page-delivery .topbar-delivery .topRefreshBtn,.page-salao .topbar-salao .topRefreshBtn,
  .page-vendas .topbar-vendas .topActionsMenu,.page-delivery .topbar-delivery .topActionsMenu,.page-salao .topbar-salao .topActionsMenu{
    width:100%!important
  }
}

/* TUDHO V34.29 — filtros próximos entre si e ancorados à direita. */
@media(min-width:1401px){
  .page-vendas .topbar-vendas,.page-delivery .topbar-delivery,.page-salao .topbar-salao{
    display:grid!important;grid-template-columns:minmax(150px,1fr) auto!important;
    column-gap:18px!important;row-gap:8px!important;align-items:end!important
  }
  .page-vendas .topbar-vendas>h1,.page-delivery .topbar-delivery>h1,.page-salao .topbar-salao>h1{
    align-self:center!important;margin:0!important
  }
  .page-vendas .topbar-vendas>.filters,.page-delivery .topbar-delivery>.filters,.page-salao .topbar-salao>.filters{
    display:flex!important;justify-content:flex-end!important;align-items:flex-end!important;
    gap:8px!important;width:auto!important;max-width:none!important;justify-self:end!important
  }
  .page-vendas .topbar-vendas>.filters>label,.page-delivery .topbar-delivery>.filters>label,.page-salao .topbar-salao>.filters>label{
    flex:0 0 220px!important;width:220px!important;min-width:0!important
  }
  .page-vendas .topbar-vendas>.filters>label:has(.dateCompact),.page-delivery .topbar-delivery>.filters>label:has(.dateCompact),.page-salao .topbar-salao>.filters>label:has(.dateCompact){
    flex-basis:160px!important;width:160px!important
  }
  .page-vendas .topbar-vendas .storeMultiLabel,.page-delivery .topbar-delivery .storeMultiLabel,.page-salao .topbar-salao .storeMultiLabel{
    flex-basis:220px!important;width:220px!important;min-width:220px!important
  }
  .page-vendas .topbar-vendas .topRefreshBtn,.page-delivery .topbar-delivery .topRefreshBtn,.page-salao .topbar-salao .topRefreshBtn,
  .page-vendas .topbar-vendas .topActionsMenu,.page-delivery .topbar-delivery .topActionsMenu,.page-salao .topbar-salao .topActionsMenu{
    flex:0 0 48px!important;width:48px!important;min-width:48px!important
  }
}
@media(min-width:901px) and (max-width:1400px){
  .page-vendas .topbar-vendas,.page-delivery .topbar-delivery,.page-salao .topbar-salao{
    grid-template-columns:minmax(0,1fr)!important
  }
  .page-vendas .topbar-vendas>.filters,.page-delivery .topbar-delivery>.filters,.page-salao .topbar-salao>.filters{
    display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;
    gap:8px!important;width:100%!important;justify-self:end!important
  }
  .page-vendas .topbar-vendas>.filters>label,.page-delivery .topbar-delivery>.filters>label,.page-salao .topbar-salao>.filters>label{
    flex:0 1 220px!important;width:220px!important
  }
  .page-vendas .topbar-vendas>.filters>label:has(.dateCompact),.page-delivery .topbar-delivery>.filters>label:has(.dateCompact),.page-salao .topbar-salao>.filters>label:has(.dateCompact){
    flex-basis:165px!important;width:165px!important
  }
  .page-vendas .topbar-vendas .topRefreshBtn,.page-delivery .topbar-delivery .topRefreshBtn,.page-salao .topbar-salao .topRefreshBtn,
  .page-vendas .topbar-vendas .topActionsMenu,.page-delivery .topbar-delivery .topActionsMenu,.page-salao .topbar-salao .topActionsMenu{
    flex:0 0 48px!important;width:48px!important;min-width:48px!important
  }
}

/* TUDHO V34.30 - alinhamento soberano das tabelas e impressão executiva. */
.dataTable th,.dataTable td,
.dataTable th:first-child,.dataTable td:first-child,
.dataTable th.num,.dataTable td.num,
.autoTable .dataTable th,.autoTable .dataTable td,
.performanceTable th,.performanceTable td{
  text-align:center!important;vertical-align:middle!important
}

@media print{
  @page{size:A4 landscape;margin:8mm}
  .moduleTabs,.channelTabs,.forecastNav,.headerFilterBtn,.columnFilter{display:none!important}
  .printFilterSummary{display:none!important}
  .dataTable,.autoTable .dataTable{width:100%!important;max-width:100%!important;table-layout:fixed!important;margin:0 auto!important}
  .dataTable th,.dataTable td,
  .dataTable th:first-child,.dataTable td:first-child,
  .dataTable th.num,.dataTable td.num{
    text-align:center!important;vertical-align:middle!important;white-space:normal!important
  }
  .dataTable thead{display:table-header-group!important}
  .dataTable tr{break-inside:avoid!important}

  .page-vendas .topbar-vendas{display:none!important}
  .page-vendas .printContext{margin:0 0 5mm!important;padding:0 0 3mm!important}
  .page-vendas .printContext>b{display:block!important;text-align:center!important;font-size:18pt!important}
  .page-vendas .printReportMeta{text-align:center!important;font-size:9pt!important;margin-top:2mm!important}
  .page-vendas .card{padding:8px!important;border-color:#c9d5cf!important;border-radius:8px!important}
  .page-vendas .card h2{font-size:13pt!important;margin:0 0 5px!important;text-align:center!important}
  .page-vendas .dashboardKpis{
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;margin:0 0 6px!important
  }
  .page-vendas .dashboardKpis>.metric{
    min-height:78px!important;height:78px!important;padding:6px!important;
    display:grid!important;grid-template-columns:23px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;column-gap:5px!important;align-content:center!important
  }
  .page-vendas .dashboardKpis .ico{width:21px!important;height:21px!important;font-size:9px!important;margin:0!important;grid-row:1/4!important}
  .page-vendas .dashboardKpis .metricLabel{font-size:6.7pt!important;text-align:center!important}
  .page-vendas .dashboardKpis .metricValue{font-size:10.5pt!important;margin:1px 0!important;text-align:center!important;white-space:normal!important}
  .page-vendas .dashboardKpis .metricSub{font-size:6.2pt!important;text-align:center!important}
  .page-vendas .dashboardKpis .splitMetric{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3px!important}
  .page-vendas .dashboardKpis .splitMetric span,.page-vendas .dashboardKpis .splitMetric small{font-size:5.8pt!important}
  .page-vendas .dashboardKpis .splitMetric b{font-size:7.5pt!important}

  .page-vendas .twoCols{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:6px!important;margin:0 0 6px!important}
  .page-vendas .summaryRows>div{padding:4px 0!important;font-size:8pt!important}
  .page-vendas .cmvGrid{gap:5px!important;margin-top:5px!important}
  .page-vendas .cmvGrid>div{text-align:center!important;padding:3px!important}
  .page-vendas .cmvGrid b{font-size:10pt!important;margin:2px 0!important}
  .page-vendas .cmvGrid span,.page-vendas .cmvGrid small,.page-vendas .cmvGrid em{font-size:7pt!important}
  .page-vendas .donutBox{gap:12px!important}
  .page-vendas .donut{width:105px!important;height:105px!important;box-shadow:none!important}
  .page-vendas .legend{font-size:7pt!important;text-align:center!important}

  .page-vendas .threeCols{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;
    align-items:start!important
  }
  .page-vendas .threeCols>.card:nth-child(3){grid-column:1/-1!important}
  .page-vendas .threeCols .dataTable th,.page-vendas .threeCols .dataTable td{font-size:7pt!important;padding:2px 3px!important}
  .page-vendas .smallCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}
  .page-vendas .smallCards>div{text-align:center!important;padding:6px!important}
  .page-vendas .smallCards b{font-size:11pt!important}
  .page-vendas .dashboardGoalBox{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .page-vendas .recebBox{text-align:center!important}
}

/* TUDHO V34.32 - Performance em formato de relatório, não captura da tela. */
@media print{
  @page{size:A4 landscape;margin:7mm!important}
  .page-delivery>.topbar,.page-salao>.topbar,
  .performanceReport .channelTabs,.performanceReport .moduleTabs,
  .performanceReport .performanceRefreshNote{display:none!important}
  .page-delivery>.printContext,.page-salao>.printContext{
    display:block!important;text-align:center!important;margin:0 0 4mm!important;
    padding:0 0 2.5mm!important;border-bottom:1px solid #8aa69a!important
  }
  .page-delivery>.printContext>b,.page-salao>.printContext>b{
    display:block!important;font-size:17pt!important;color:#07543f!important
  }
  .page-delivery>.printContext .printReportMeta,.page-salao>.printContext .printReportMeta{
    display:block!important;font-size:8.5pt!important;color:#4d625a!important;margin-top:1.5mm!important
  }
  .performanceReport{display:block!important;width:100%!important;color:#17231f!important}
  .performanceReport section.card{
    padding:3mm!important;margin:0 0 2.5mm!important;border:1px solid #b8cbc2!important;
    border-radius:2.5mm!important;box-shadow:none!important;background:#fff!important
  }
  .performanceReport h2{text-align:center!important;font-size:13pt!important;margin:0 0 1.5mm!important;color:#123e32!important}
  .performanceReport .hint{text-align:center!important;font-size:7.2pt!important;line-height:1.2!important;color:#596a63!important}

  /* Primeira folha: resumo executivo completo. */
  .performanceReport .performanceKpis{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:2.5mm!important;margin:0 0 2.5mm!important;break-inside:avoid-page!important
  }
  .performanceReport .performanceKpis>.metric{
    display:block!important;min-height:27mm!important;height:27mm!important;padding:3mm!important;
    border:1px solid #b8cbc2!important;border-top:3px solid #0a7449!important;border-radius:2.5mm!important
  }
  .performanceReport .performanceKpis .ico{display:none!important}
  .performanceReport .performanceKpis .metricLabel{text-align:center!important;font-size:7.5pt!important;min-height:7mm!important}
  .performanceReport .performanceKpis .metricValue{text-align:center!important;font-size:15pt!important;line-height:1.05!important;margin:1mm 0!important;white-space:normal!important}
  .performanceReport .performanceKpis .metricSub{text-align:center!important;font-size:7pt!important;line-height:1.1!important}
  .performanceReport .analysisGrid{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:2.5mm!important;
    margin:0 0 2.5mm!important;break-inside:avoid-page!important
  }
  .performanceReport .analysisGrid>.card{min-height:34mm!important;margin:0!important;padding:3mm!important}
  .performanceReport .analysisGrid h2{text-align:left!important;font-size:12pt!important}
  .performanceReport .analysisGrid li{font-size:8pt!important;line-height:1.25!important;margin:1.2mm 0!important}
  .performanceReport .performanceTop3{break-inside:avoid-page!important;padding:2.5mm!important}
  .performanceReport .performanceTop3Head{display:flex!important;justify-content:center!important;align-items:baseline!important;gap:4mm!important;margin-bottom:1.5mm!important}
  .performanceReport .performanceTop3Head h2{margin:0!important}
  .performanceReport .performanceTop3Head p{font-size:7pt!important;margin:0!important;color:#596a63!important}
  .performanceReport .performancePodium{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2.5mm!important}
  .performanceReport .podiumCard{min-height:30mm!important;padding:2mm!important;gap:.5mm!important;text-align:center!important;border:1px solid #d1ddd7!important;border-radius:2mm!important}
  .performanceReport .podiumCard span{font-size:7.5pt!important}.performanceReport .podiumCard b{font-size:9pt!important}
  .performanceReport .podiumCard strong{font-size:15pt!important;line-height:1!important}.performanceReport .podiumCard small,.performanceReport .podiumVariation{font-size:6.8pt!important}

  /* Segunda folha: recebimentos e ranking. */
  .performanceNetworkReport .deliveryReceiptSummary{break-before:page!important;page-break-before:always!important;break-inside:avoid-page!important}
  .performanceReport .deliveryReceiptSummary{padding:2.5mm!important}
  .performanceReport .deliveryReceiptSummary .dataTable th,.performanceReport .deliveryReceiptSummary .dataTable td{font-size:7.4pt!important;padding:1.2mm!important}
  .performanceReport .performanceRanking{break-inside:avoid-page!important;padding:2.5mm!important}
  .performanceReport .performanceRanking h2{font-size:13pt!important}
  .performanceReport .deliverySelectionAudit{justify-content:center!important;gap:2mm!important;margin:1mm 0!important}
  .performanceReport .deliverySelectionAudit>*{font-size:7pt!important;padding:1mm 2mm!important}
  .performanceReport .performanceRanking .hint,.performanceReport .performanceFootnote{font-size:6.6pt!important;text-align:center!important;line-height:1.15!important}
  .performanceReport .performanceRanking .dataTable th,.performanceReport .performanceRanking .dataTable td{font-size:6.9pt!important;line-height:1.05!important;padding:1mm .7mm!important}
  .performanceReport .performanceRanking .dataTable th:nth-child(2),.performanceReport .performanceRanking .dataTable td:nth-child(2){width:14%!important}

  /* Terceira folha: cobertura; financeiro apenas quando solicitado. */
  .performanceNetworkReport .performanceCoverage{break-before:page!important;page-break-before:always!important;break-inside:avoid-page!important}
  .performanceReport .performanceCoverage .dataTable th,.performanceReport .performanceCoverage .dataTable td{font-size:8pt!important;padding:1.5mm!important}
  .performanceReport .financialReportToggle{display:none!important}
  .performanceReport .optionalFinancial:not(.isVisible){display:none!important}
  .performanceReport .optionalFinancial.isVisible{display:block!important;break-before:page!important;page-break-before:always!important}
  .performanceReport .optionalFinancial .dataTable th,.performanceReport .optionalFinancial .dataTable td{font-size:7pt!important;padding:1mm!important}
}

/* TUDHO V34.33 - primeira folha compacta com Top 3. */
@media print{
  .performanceNetworkReport .performanceKpis{
    gap:1.8mm!important;margin-bottom:1.8mm!important
  }
  .performanceNetworkReport .performanceKpis>.metric{
    min-height:22mm!important;height:22mm!important;padding:2mm!important
  }
  .performanceNetworkReport .performanceKpis .metricLabel{font-size:6.8pt!important;min-height:4mm!important}
  .performanceNetworkReport .performanceKpis .metricValue{font-size:13.5pt!important;margin:.6mm 0!important}
  .performanceNetworkReport .performanceKpis .metricSub{font-size:6.2pt!important}
  .performanceNetworkReport .performanceAnalysis{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.8mm!important;
    margin:0 0 1.8mm!important;break-inside:avoid-page!important
  }
  .performanceNetworkReport .performanceAnalysis>.card{
    min-height:27mm!important;height:27mm!important;margin:0!important;padding:2mm 2.5mm!important;
    overflow:hidden!important
  }
  .performanceNetworkReport .performanceAnalysis h2{
    text-align:center!important;font-size:10.5pt!important;margin:0 0 1mm!important
  }
  .performanceNetworkReport .performanceAnalysis ul{margin:0!important;padding-left:4mm!important}
  .performanceNetworkReport .performanceAnalysis li{
    font-size:7.2pt!important;line-height:1.16!important;margin:.8mm 0!important
  }
  .performanceNetworkReport .performanceTop3{
    padding:1.8mm 2.2mm!important;margin:0!important;break-inside:avoid-page!important
  }
  .performanceNetworkReport .performanceTop3Head{
    margin:0 0 .8mm!important;gap:3mm!important
  }
  .performanceNetworkReport .performanceTop3Head h2{font-size:11pt!important}
  .performanceNetworkReport .performanceTop3Head p{font-size:6.2pt!important}
  .performanceNetworkReport .performancePodium{gap:1.8mm!important}
  .performanceNetworkReport .podiumCard{
    min-height:24mm!important;height:24mm!important;padding:1.2mm!important;gap:0!important
  }
  .performanceNetworkReport .podiumCard span{font-size:6.3pt!important}
  .performanceNetworkReport .podiumCard b{font-size:7.8pt!important}
  .performanceNetworkReport .podiumCard strong{font-size:12.5pt!important}
  .performanceNetworkReport .podiumCard small,.performanceNetworkReport .podiumVariation{font-size:5.8pt!important;line-height:1.05!important}
}

/* TUDHO V34.34 - Resumo Executivo em uma folha A4 paisagem. */
@media print{
  .page-vendas .recebBox{display:none!important}
  .page-vendas .dashboardEstornosCard{
    padding:2mm 3mm!important;margin:0!important;break-inside:avoid-page!important
  }
  .page-vendas .dashboardEstornosCard>h2{
    font-size:11pt!important;margin:0 0 1.2mm!important;text-align:center!important
  }
  .page-vendas .dashboardEstornosCard .smallCards{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:2mm!important;margin:0 0 1mm!important
  }
  .page-vendas .dashboardEstornosCard .smallCards>div{
    padding:1.2mm!important;text-align:center!important;border:1px solid #ccd8d2!important
  }
  .page-vendas .dashboardEstornosCard .smallCards b{font-size:9.5pt!important}
  .page-vendas .dashboardEstornosCard .smallCards span{display:block;font-size:6.3pt!important}
  .page-vendas .dashboardEstornosCard .dashboardGoalBox{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:5mm!important;
    margin:1mm auto 0!important;max-width:170mm!important;align-items:start!important
  }
  .page-vendas .dashboardEstornosCard .goalGauge{
    width:38mm!important;max-width:38mm!important;margin:0 auto!important
  }
  .page-vendas .dashboardEstornosCard .gTitle{font-size:8pt!important;margin:0 0 .5mm!important}
  .page-vendas .dashboardEstornosCard .gCenter strong{font-size:10pt!important}
  .page-vendas .dashboardEstornosCard .gCenter small{font-size:6pt!important}
  .page-vendas .dashboardEstornosCard .gScale{font-size:5.8pt!important;margin-top:.4mm!important}
  .page-vendas .dashboardEstornosCard .gSub{font-size:5.8pt!important;margin-top:.4mm!important}
  .page-vendas .dashboardRankTables{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:3mm!important;
    break-before:page!important;page-break-before:always!important;margin:0!important
  }
  .page-vendas .dashboardRankTables>.card{margin:0!important}
  .page-vendas .twoCols>.card .donut{display:none!important}
  .page-vendas .twoCols>.card .donutBox{min-height:0!important;height:auto!important;padding:4mm 0!important}
  .page-vendas .twoCols>.card .legend{text-align:center!important;font-size:8pt!important}
}
