/* ═══════════════════════════════════════════════════════════════════
   PRINT.CSS — Estilos de impressão · Orizendash / Mission Control
   v20260501-print

   Filosofia:
   • Fundo branco, texto preto — legível em P&B e laser colorida
   • Identidade preservada: tipografia Archivo, estrutura editorial
   • Nenhum ruído de interface (sidebars, botões, filtros interativos)
   • Cabeçalho e rodapé automáticos em todas as páginas
   • Tabelas: thead repetido em cada página
   • Gráficos ECharts/Canvas: print-color-adjust: exact

   Estados especiais:
   • body.mc-print-all         → imprime a aba inteira atual
   • body.mc-print-table-{id}  → imprime apenas uma tabela específica
     Ambos são adicionados por MCPrint.js antes de window.print()
     e removidos no evento 'afterprint'.

   ⚠ NÃO alterar classes JS-bound.
   ⚠ NÃO alterar lógica de exportação CSV/PDF existente.
   ═══════════════════════════════════════════════════════════════════ */


/* ════════════════════════════════════════════════════════════════════
   CONFIGURAÇÃO DE PÁGINA — @page rules
   ════════════════════════════════════════════════════════════════════ */

@page {
  size: A4 portrait;
  margin: 15mm 14mm 18mm 14mm;
}

/* Tabelas largas: landscape automático via JS (vide MCPrint.js) */
@page landscape {
  size: A4 landscape;
  margin: 12mm 14mm 16mm 14mm;
}

/* Página de capa / primeira */
@page :first {
  margin-top: 12mm;
}


/* ════════════════════════════════════════════════════════════════════
   @MEDIA PRINT — reset e base
   ════════════════════════════════════════════════════════════════════ */

@media print {

  /* ── Reset global ──────────────────────────────────────────────── */
  *,
  *::before,
  *::after {
    /* Garante que backgrounds e cores sejam impressos */
    -webkit-print-color-adjust: exact !important;
    print-color-adjust:         exact !important;
    color-adjust:               exact !important;
    /* Remove box-shadow decorativo */
    box-shadow: none !important;
    /* Transições não fazem sentido em print */
    transition: none !important;
    animation:  none !important;
  }

  /* ── Base de página ────────────────────────────────────────────── */
  html,
  body {
    background: #FFFFFF !important;
    color:      #111111 !important;
    font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif !important;
    font-size:  12px !important;
    line-height: 1.5 !important;
    width:  100% !important;
    margin: 0    !important;
    padding: 0   !important;
    overflow: visible !important;
  }

  #root {
    overflow: visible !important;
    width:    100%    !important;
    height:   auto    !important;
  }


  /* ════════════════════════════════════════════════════════════════
     ELEMENTOS OCULTOS EM IMPRESSÃO (sempre)
     ════════════════════════════════════════════════════════════════ */

  /* Interface de navegação */
  .sidebar,
  .nav,
  .header,
  .app-header                         { display: none !important; }

  /* Topbar MC e controles interativos */
  .mc-topbar,
  .mc-tabs,
  .mc-filterbar-wrap,
  .mc-btn-back,
  .mc-btn-export,
  .mc-btn-print,                       /* botão imprimir (ele mesmo) */
  .mc-print-btn,
  [data-print-hide]                   { display: none !important; }

  /* Barra de filtros interativa */
  .filter-bar,
  .filter-bar-header,
  .filter-bar-actions,
  .active-filters,
  .grl-preset-bar                     { display: none !important; }

  /* Botões de ação e exportação */
  .btn-mc,
  .mc-csv-btn,
  .header-actions,
  .mc-table-toolbar-right             { display: none !important; }

  /* Modais, tooltips, overlays */
  .od-root,
  .od-portal,
  .tooltip-bubble,
  .loading-overlay,
  .modal,
  .modal-overlay                      { display: none !important; }

  /* Upload screen e auth */
  .upload-screen,
  .login-screen                       { display: none !important; }

  /* Elementos decorativos */
  .mc-topbar-divider,
  .mc-topbar-sub,
  .analytic-toolbar__sep,
  .chart-card-title-icon              { display: none !important; }


  /* ════════════════════════════════════════════════════════════════
     ELEMENTOS VISÍVEIS APENAS EM IMPRESSÃO
     ════════════════════════════════════════════════════════════════ */

  /* Cabeçalho e rodapé de impressão injetados por MCPrint.js */
  .mc-print-header,
  .mc-print-footer                    { display: block !important; }


  /* ════════════════════════════════════════════════════════════════
     LAYOUT PRINCIPAL — mc-shell e mc-content
     ════════════════════════════════════════════════════════════════ */

  .mc-shell {
    display:    block !important;
    height:     auto  !important;
    overflow:   visible !important;
    background: #FFFFFF !important;
  }

  .mc-content,
  .content {
    display:    block   !important;
    overflow:   visible !important;
    padding:    0       !important;
    height:     auto    !important;
    max-width:  100%    !important;
    background: #FFFFFF !important;
    color:      #111111 !important;
  }

  /* App shell: remover flex/grid limitadores */
  .app-shell,
  .main-area {
    display:  block   !important;
    overflow: visible !important;
    height:   auto    !important;
  }


  /* ════════════════════════════════════════════════════════════════
     CABEÇALHO DE IMPRESSÃO — .mc-print-header
     Injetado por MCPrint.js como primeiro filho de .mc-shell
     ════════════════════════════════════════════════════════════════ */

  .mc-print-header {
    width:         100%;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #111111;
    page-break-after: avoid;
    break-after:      avoid;
  }

  .mc-print-header-top {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             12px;
    margin-bottom:   6px;
  }

  .mc-print-logo {
    display:     flex;
    align-items: center;
    gap:         8px;
  }

  .mc-print-logo-icon {
    width:       28px;
    height:      28px;
    background:  #111111;
    border-radius: 4px;
    display:     flex;
    align-items: center;
    justify-content: center;
    color:       #FFFFFF;
    font-size:   12px;
    flex-shrink: 0;
  }

  .mc-print-logo-text {
    font-family: 'Archivo', sans-serif;
    font-size:   16px;
    font-weight: 700;
    color:       #111111;
    letter-spacing: -0.02em;
    line-height: 1;
  }

  .mc-print-logo-text b {
    font-weight: 800;
  }

  .mc-print-logo-sub {
    font-size:   9px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color:       #555555;
    margin-top:  2px;
  }

  .mc-print-title {
    font-family: 'Archivo', sans-serif;
    font-size:   18px;
    font-weight: 700;
    color:       #111111;
    letter-spacing: -0.02em;
  }

  .mc-print-meta {
    font-family: 'Archivo', sans-serif;
    font-size:   10px;
    color:       #555555;
    text-align:  right;
    line-height: 1.4;
  }

  .mc-print-meta strong { color: #111111; font-weight: 600; }

  .mc-print-filters {
    font-family: 'Archivo', sans-serif;
    font-size:   10px;
    color:       #555555;
    line-height: 1.5;
    padding-top: 4px;
  }

  .mc-print-filters strong {
    color:       #111111;
    font-weight: 600;
    margin-right: 4px;
  }

  .mc-print-filter-tag {
    display:       inline-block;
    padding:       1px 6px;
    margin:        1px 3px 1px 0;
    border:        1px solid #CCCCCC;
    border-radius: 3px;
    font-size:     9px;
    color:         #333333;
    background:    #F5F5F5;
  }


  /* ════════════════════════════════════════════════════════════════
     RODAPÉ DE IMPRESSÃO — .mc-print-footer
     Posicionado via @page — injetado por MCPrint.js
     ════════════════════════════════════════════════════════════════ */

  .mc-print-footer {
    position:   fixed;
    bottom:     0;
    left:       0;
    right:      0;
    height:     12mm;
    display:    flex !important;
    align-items: center;
    justify-content: space-between;
    padding:    0 14mm;
    border-top: 1px solid #DDDDDD;
    font-family: 'Archivo', sans-serif;
    font-size:  9px;
    color:      #777777;
  }

  .mc-print-footer-left  { text-align: left;   }
  .mc-print-footer-right { text-align: right;  }

  /* Numeração de páginas via CSS counter */
  .mc-print-footer-page::after {
    content: counter(page) ' / ' counter(pages);
  }


  /* ════════════════════════════════════════════════════════════════
     TIPOGRAFIA — escala A4
     ════════════════════════════════════════════════════════════════ */

  /* Títulos de seção / página */
  .mc-page-title,
  .section-title,
  h1, h2 {
    font-size:    18px !important;
    font-weight:  700  !important;
    color:        #111111 !important;
    margin-bottom: 4px !important;
    line-height:  1.25  !important;
  }

  .mc-page-sub,
  .mc-page-subtitle,
  .section-subtitle,
  h3 {
    font-size:   12px !important;
    font-weight: 400  !important;
    color:       #444444 !important;
    margin-bottom: 8px !important;
  }

  /* Labels de seção */
  .mc-section-label {
    font-size:    9px  !important;
    font-weight:  700  !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color:        #777777 !important;
    margin-bottom: 6px   !important;
  }

  /* Page header */
  .mc-page-header {
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid #DDDDDD !important;
  }


  /* ════════════════════════════════════════════════════════════════
     KPI CARDS — .mc-kpi, .mc-kpi-accent, .kpi-card
     ════════════════════════════════════════════════════════════════ */

  .mc-kpi-row {
    display:               grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap:                   8px  !important;
    margin-bottom:         12px !important;
  }

  .mc-kpi {
    background:    #F8F8F8 !important;
    border:        1px solid #DDDDDD !important;
    border-radius: 4px !important;
    padding:       10px 12px !important;
    break-inside:  avoid !important;
    page-break-inside: avoid !important;
  }

  .mc-kpi-accent {
    width:  3px !important;
    height: 100% !important;
    background: #333333 !important;  /* cinza escuro em P&B */
  }

  /* Variantes de cor → cinza em impressão */
  .mc-kpi-accent.blue,
  .mc-kpi-accent.green,
  .mc-kpi-accent.red,
  .mc-kpi-accent.purple,
  .mc-kpi-accent.orange,
  .mc-kpi-accent.cyan { background: #555555 !important; }

  .mc-kpi-label {
    font-size:      9px  !important;
    font-weight:    600  !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color:          #666666 !important;
  }

  .mc-kpi-value {
    font-size:   22px !important;
    font-weight: 700  !important;
    color:       #111111 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
  }

  .mc-kpi-footer {
    font-size:  10px !important;
    color:      #555555 !important;
    margin-top:  3px  !important;
  }

  /* kpi-card do dashboard principal */
  .kpi-card {
    background:    #F8F8F8 !important;
    border:        1px solid #DDDDDD !important;
    color:         #111111 !important;
    break-inside:  avoid !important;
    page-break-inside: avoid !important;
  }

  .kpi-card-value { color: #111111 !important; }
  .kpi-card-label { color: #555555 !important; }


  /* ════════════════════════════════════════════════════════════════
     CARDS — .mc-card, .analytic-container, .chart-card
     ════════════════════════════════════════════════════════════════ */

  .mc-card,
  .analytic-container,
  .chart-card {
    background:    #FFFFFF !important;
    border:        1px solid #DDDDDD !important;
    border-radius: 4px     !important;
    break-inside:  avoid   !important;
    page-break-inside: avoid !important;
    margin-bottom: 10px    !important;
  }

  .mc-card-header,
  .analytic-header,
  .chart-card-header {
    background:    #F3F3F3  !important;
    border-bottom: 1px solid #DDDDDD !important;
    padding:       8px 12px !important;
  }

  .mc-card-title,
  .analytic-header__title,
  .chart-card-title {
    font-size:   11px !important;
    font-weight: 700  !important;
    color:       #111111 !important;
    letter-spacing: 0.05em !important;
  }

  .mc-card-sub,
  .chart-card-sub {
    font-size: 10px  !important;
    color:     #555555 !important;
  }

  .mc-card-badge {
    font-size:  9px !important;
    color:      #555555 !important;
    background: #EEEEEE !important;
    border:     1px solid #CCCCCC !important;
  }


  /* ════════════════════════════════════════════════════════════════
     GRIDS DE CHARTS — colapsar para 1 coluna em impressão
     ════════════════════════════════════════════════════════════════ */

  .mc-charts-1,
  .mc-charts-2,
  .mc-charts-3,
  .mc-charts-4,
  .mc-charts-2-1,
  .mc-charts-1-2,
  .charts-grid,
  .chart-rules-grid {
    display:               grid !important;
    grid-template-columns: 1fr !important;
    gap:                   10px !important;
  }

  /* Dois por linha quando há espaço (para tabelas de ranking curtas) */
  .mc-charts-2 {
    grid-template-columns: 1fr 1fr !important;
  }

  /* Alturas dos gráficos: fixas e adequadas para A4 */
  .mc-echarts {
    height: 220px !important;
    width:  100%  !important;
    max-width: 100% !important;
  }

  /* Canvas ECharts: renderizar visível */
  .mc-echarts canvas {
    display: block !important;
    max-width: 100% !important;
  }

  /* Chart container genérico */
  .chart-container,
  .chart-card-body {
    padding: 10px !important;
  }


  /* ════════════════════════════════════════════════════════════════
     TABELAS — .mc-table, .data-table, table
     ════════════════════════════════════════════════════════════════ */

  /* Wrapper: remover scroll horizontal */
  .mc-table-wrap,
  .data-table-scroll,
  .table-wrapper {
    overflow:   visible !important;
    width:      100%    !important;
    max-width:  100%    !important;
  }

  /* Toolbar: mostrar apenas lado esquerdo (título + contagem) */
  .mc-table-toolbar {
    display:         flex   !important;
    flex-direction:  row    !important;
    align-items:     center !important;
    justify-content: space-between !important;
    margin-bottom:   6px   !important;
    padding:         0     !important;
  }

  /* Ocultar busca e botões no toolbar — já ocultamos acima */
  .mc-table-toolbar input,
  .mc-table-toolbar .mc-csv-btn,
  .mc-table-toolbar .mc-print-btn { display: none !important; }

  /* Tabela base */
  .mc-table,
  .data-table,
  table {
    width:           100%      !important;
    border-collapse: collapse  !important;
    font-size:       10px      !important;
    color:           #111111   !important;
    table-layout:    fixed     !important;
  }

  /* Thead: repetir em cada página */
  .mc-table thead,
  .data-table thead,
  thead {
    display:            table-header-group !important;
    background:         #F0F0F0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Células de cabeçalho */
  .mc-table thead th,
  .data-table thead th,
  thead th {
    padding:        6px 8px  !important;
    font-size:      9px      !important;
    font-weight:    700      !important;
    letter-spacing: 0.07em  !important;
    text-transform: uppercase !important;
    color:          #333333  !important;
    background:     #F0F0F0 !important;
    border-bottom:  2px solid #CCCCCC !important;
    white-space:    nowrap   !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Células de corpo */
  .mc-table tbody td,
  .data-table tbody td,
  tbody td {
    padding:     5px 8px  !important;
    font-size:   10px     !important;
    color:       #111111  !important;
    border-bottom: 1px solid #EEEEEE !important;
    word-break:  break-word !important;
    vertical-align: top  !important;
  }

  /* Linhas: evitar quebra no meio */
  .mc-table tbody tr,
  .data-table tbody tr,
  tbody tr {
    break-inside:      avoid !important;
    page-break-inside: avoid !important;
  }

  /* Linhas zebradas suaves */
  .mc-table tbody tr:nth-child(even),
  .data-table tbody tr:nth-child(even),
  tbody tr:nth-child(even) {
    background: #FAFAFA !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Remover hover */
  .mc-table tbody tr:hover,
  .data-table tbody tr:hover,
  tbody tr:hover {
    background: inherit !important;
  }

  /* Células especiais */
  .mc-table td.primary,
  .data-table td.primary { font-weight: 600 !important; color: #111111 !important; }

  .mc-table td.mono,
  .data-table td.mono    { font-family: 'JetBrains Mono', monospace !important; font-size: 9px !important; }

  /* Rank badge */
  .mc-rank-badge,
  .rank-badge {
    background: #EEEEEE !important;
    color:      #333333 !important;
    border:     1px solid #CCCCCC !important;
    font-size:  9px !important;
  }

  /* Status badges — tons de cinza em impressão */
  .mc-status,
  .status-badge {
    background: #EEEEEE !important;
    color:      #333333 !important;
    border:     1px solid #CCCCCC !important;
    font-size:  9px  !important;
    padding:    1px 5px !important;
  }

  .mc-status.entregue  { background: #E8F5E9 !important; border-color: #BBCCBB !important; }
  .mc-status.cancelado { background: #FDECEA !important; border-color: #CCBBBB !important; }
  .mc-status.enviado   { background: #E3F2FD !important; border-color: #BBCCDD !important; }

  /* Days badge */
  .mc-days-badge {
    font-size: 9px !important;
    padding:   1px 5px !important;
    background: #EEEEEE !important;
    color:      #333333 !important;
    border:     1px solid #CCCCCC !important;
  }

  /* Paginação: ocultar em impressão (imprime tudo) */
  .mc-pagination,
  .mc-pagination-controls,
  .pagination { display: none !important; }

  /* Empty state de tabela: ocultar em print */
  .mc-empty { display: none !important; }


  /* ════════════════════════════════════════════════════════════════
     RANKING LISTS — .mc-ranking-list, .mc-ranking-item
     ════════════════════════════════════════════════════════════════ */

  .mc-ranking-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }

  .mc-ranking-item {
    display:       flex      !important;
    align-items:   center    !important;
    gap:           6px       !important;
    padding:       4px 0     !important;
    border-bottom: 1px solid #EEEEEE !important;
    break-inside:  avoid     !important;
    page-break-inside: avoid !important;
  }

  .mc-rank-num   { font-size: 9px !important; color: #888888 !important; min-width: 14px !important; }
  .mc-rank-label { font-size: 10px !important; color: #111111 !important; flex: 1 !important; }
  .mc-rank-value { font-size: 10px !important; font-weight: 600 !important; color: #111111 !important; }

  /* Barras de ranking: converter para cinza */
  .mc-rank-bar-wrap {
    flex:       1  !important;
    height:     6px !important;
    background: #EEEEEE !important;
    border-radius: 2px !important;
    overflow:   hidden !important;
  }

  .mc-rank-bar {
    height:    6px   !important;
    background: #555555 !important;
    border-radius: 2px !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Variantes de cor → cinza uniforme */
  .mc-rank-bar.blue,
  .mc-rank-bar.green,
  .mc-rank-bar.purple,
  .mc-rank-bar.orange,
  .mc-rank-bar.cyan,
  .mc-rank-bar.red { background: #555555 !important; }


  /* ════════════════════════════════════════════════════════════════
     SECTION BREAKS — quebras entre seções principais
     ════════════════════════════════════════════════════════════════ */

  /* Cada seção MC começa em nova página se for grande */
  .mc-section-break {
    page-break-before: always !important;
    break-before:      page   !important;
  }

  /* Evitar orphans em cards e itens de lista */
  .mc-card,
  .mc-kpi,
  .kpi-card,
  .mc-ranking-item,
  .chart-card {
    orphans: 3 !important;
    widows:  3 !important;
  }


  /* ════════════════════════════════════════════════════════════════
     ORDER DETAIL — .od-* (se aberto, imprimir o detalhe)
     ════════════════════════════════════════════════════════════════ */

  .od-root { display: none !important; }

  /* Se body tiver classe mc-print-order-detail, mostrar apenas od */
  body.mc-print-order-detail .mc-shell   { display: none !important; }
  body.mc-print-order-detail .od-root    { display: block !important; }
  body.mc-print-order-detail .od-nav     { display: none !important; }
  body.mc-print-order-detail .od-overlay { overflow: visible !important; height: auto !important; }
  body.mc-print-order-detail .od-body    { overflow: visible !important; padding: 0 !important; }

  .od-hero {
    background: #F8F8F8 !important;
    border:     1px solid #DDDDDD !important;
    color:      #111111 !important;
  }

  .od-hero-id-value { color: #111111 !important; font-size: 20px !important; }
  .od-hero-kpi-value { color: #111111 !important; }
  .od-hero-kpi-label { color: #555555 !important; }

  .od-card {
    background:    #FFFFFF !important;
    border:        1px solid #DDDDDD !important;
    break-inside:  avoid   !important;
    page-break-inside: avoid !important;
  }

  .od-card-header { background: #F3F3F3 !important; }
  .od-field-label { color: #666666 !important; }
  .od-field-value { color: #111111 !important; }


  /* ════════════════════════════════════════════════════════════════
     MODO: IMPRIMIR APENAS UMA TABELA — body.mc-print-table
     MCPrint.js adiciona body.mc-print-table e [data-print-table-id]
     A tabela selecionada recebe o atributo data-print-active="true"
     ════════════════════════════════════════════════════════════════ */

  body.mc-print-table .mc-shell              { display: none !important; }
  body.mc-print-table .mc-print-table-portal { display: block !important; }

  .mc-print-table-portal {
    display: none; /* oculto em tela — aparece apenas no modo de impressão de tabela */
  }

  body.mc-print-table .mc-print-header {
    display: block !important;
    margin-bottom: 14px !important;
  }


  /* ════════════════════════════════════════════════════════════════
     RESUMO DE FILTROS — aparece no cabeçalho de impressão
     ════════════════════════════════════════════════════════════════ */

  .mc-print-filter-summary {
    display:   block  !important;
    font-size: 10px   !important;
    color:     #555555 !important;
    margin-top: 4px   !important;
  }


  /* ════════════════════════════════════════════════════════════════
     OVERRIDES DE COR — forçar legibilidade em P&B
     ════════════════════════════════════════════════════════════════ */

  /* Backgrounds escuros → branco */
  [style*="background: #000"],
  [style*="background:#000"],
  [style*="background-color: #000"],
  [style*="background-color:#000"] {
    background: #FFFFFF !important;
    color:      #111111 !important;
  }

  /* Textos claros (para fundos escuros) → escuro */
  .mc-text-primary,
  [style*="color: #fff"],
  [style*="color:#fff"],
  [style*="color: white"] { color: #111111 !important; }

  .mc-text-sub,
  .mc-text-secondary      { color: #333333 !important; }
  .mc-text-dim,
  .mc-text-ghost          { color: #666666 !important; }

  /* CSS vars: sobrescrever para impressão */
  :root {
    --mc-bg-void:    #FFFFFF !important;
    --mc-bg-base:    #FFFFFF !important;
    --mc-bg-card:    #F8F8F8 !important;
    --mc-bg-raised:  #F0F0F0 !important;
    --mc-bg-overlay: #FFFFFF !important;
    --mc-bg-input:   #F5F5F5 !important;

    --mc-border-subtle:  #DDDDDD !important;
    --mc-border-default: #CCCCCC !important;
    --mc-border-strong:  #AAAAAA !important;
    --mc-border-solid:   #999999 !important;

    --mc-text-primary:   #111111 !important;
    --mc-text-sub:       #222222 !important;
    --mc-text-secondary: #444444 !important;
    --mc-text-dim:       #666666 !important;
    --mc-text-ghost:     #888888 !important;

    --mc-hover-bg:   transparent !important;
    --mc-press-bg:   transparent !important;
    --mc-active-bg:  transparent !important;
  }


  /* ════════════════════════════════════════════════════════════════
     GRÁFICOS — ECharts / Canvas
     Nota: ECharts usa <canvas>. O navegador precisa de
     -webkit-print-color-adjust: exact para renderizar o canvas.
     MCPrint.js converte os canvas para PNG antes de imprimir.
     ════════════════════════════════════════════════════════════════ */

  canvas {
    display:   block    !important;
    max-width: 100%     !important;
    height:    auto     !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Wrapper dos gráficos: fundo branco */
  .mc-echarts {
    background: #FFFFFF !important;
    border:     1px solid #EEEEEE !important;
    border-radius: 2px !important;
    padding:    4px !important;
  }


  /* ════════════════════════════════════════════════════════════════
     FILTROS APLICADOS — .mc-active-filter-summary (gerado por MCPrint)
     ════════════════════════════════════════════════════════════════ */

  .mc-active-filter-summary {
    display:         flex     !important;
    flex-wrap:       wrap     !important;
    gap:             4px      !important;
    margin-top:      4px      !important;
    align-items:     center   !important;
    font-size:       9px      !important;
    color:           #555555  !important;
  }

  .mc-active-filter-summary .label {
    font-weight: 600  !important;
    color:       #333333 !important;
    margin-right: 2px !important;
  }


  /* ════════════════════════════════════════════════════════════════
     UTILITÁRIOS DE QUEBRA DE PÁGINA
     ════════════════════════════════════════════════════════════════ */

  .print-break-before { page-break-before: always !important; break-before: page !important; }
  .print-break-after  { page-break-after:  always !important; break-after:  page !important; }
  .print-no-break     { break-inside: avoid !important; page-break-inside: avoid !important; }
  .print-hide         { display: none !important; }
  .print-show         { display: block !important; }

} /* fim de @media print */
