/* =====================================================================
   CBG ACERVO — controles de tabela (paginação/busca/colunas), badges de
   Resolução e geometria final das tabelas largas. Redesenho visual only;
   a lógica de rolagem/contenção do card permanece a mesma já corrigida.
   ===================================================================== */

.cbg-dt-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 14px}
.cbg-dt-left,.cbg-dt-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cbg-dt-length,.cbg-dt-search{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--cbg-ink-soft)}
.cbg-dt-length select,.cbg-dt-search input{min-height:34px;padding:5px 10px;border:1px solid var(--cbg-line);border-radius:var(--cbg-radius-sm);background:#fff}
.cbg-dt-search input{min-width:220px}
.cbg-dt-columns{position:relative}
.cbg-dt-columns-button{min-height:34px;padding:5px 12px;border:1px solid var(--cbg-line);border-radius:var(--cbg-radius-sm);background:#fff;color:var(--cbg-ink-soft);cursor:pointer;font-size:13px;font-weight:600}
.cbg-dt-columns-button:hover{border-color:var(--cbg-brand);color:var(--cbg-brand)}
.cbg-dt-columns-menu{display:none;position:absolute;z-index:1000;right:0;top:calc(100% + 6px);min-width:235px;max-width:310px;max-height:420px;overflow:auto;padding:10px;background:#fff;border:1px solid var(--cbg-line);border-radius:var(--cbg-radius-sm);box-shadow:var(--cbg-shadow-md)}
.cbg-dt-columns-menu.is-open{display:block}
.cbg-dt-columns-menu-title{font-weight:600;font-size:12.5px;margin:0 0 7px;padding-bottom:7px;border-bottom:1px solid var(--cbg-line-soft);color:var(--cbg-ink-soft)}
.cbg-dt-column-option{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:6px;font-size:13px;cursor:pointer}
.cbg-dt-column-option:hover{background:var(--cbg-brand-softer)}
.cbg-dt-column-option input{margin:0;accent-color:var(--cbg-brand)}
.cbg-dt-columns-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--cbg-line-soft)}
.cbg-dt-columns-actions button{padding:5px 10px;border:1px solid var(--cbg-line);background:#fff;border-radius:var(--cbg-radius-sm);cursor:pointer;font-size:12px}
.cbg-dt-columns-actions button:hover{border-color:var(--cbg-brand);color:var(--cbg-brand)}
.cbg-dt-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-top:14px}
.cbg-dt-info{font-size:12.5px;color:var(--cbg-muted)}
.cbg-dt-pagination{display:flex;gap:4px;flex-wrap:wrap}
.cbg-dt-pagination button{min-width:32px;min-height:32px;padding:4px 9px;border:1px solid var(--cbg-line);background:#fff;color:var(--cbg-brand);border-radius:var(--cbg-radius-sm);cursor:pointer;font-size:13px;line-height:1.2}
.cbg-dt-pagination button.current{font-weight:700;background:var(--cbg-brand);color:#fff;border-color:var(--cbg-brand)}
.cbg-dt-pagination button:disabled{opacity:.5;cursor:default;color:var(--cbg-muted);background:var(--cbg-paper)}
.cbg-acervo-table th.cbg-dt-sortable{cursor:pointer;position:relative;padding-right:22px}
.cbg-acervo-table th.cbg-dt-sortable:after{content:"↕";position:absolute;right:8px;opacity:.4}
.cbg-acervo-table th.cbg-dt-sort-asc:after{content:"↑";opacity:.9;color:var(--cbg-brand)}
.cbg-acervo-table th.cbg-dt-sort-desc:after{content:"↓";opacity:.9;color:var(--cbg-brand)}
.cbg-acervo-table th.cbg-dt-hidden,.cbg-acervo-table td.cbg-dt-hidden{display:none}

/* ---------------------------------------------------------------------
   Painel do acervo — cartões
--------------------------------------------------------------------- */
.cbg-acervo-dashboard-section{
    border:1px solid var(--cbg-line);
    border-radius:var(--cbg-radius);
    background:var(--cbg-surface);
    box-shadow:var(--cbg-shadow-sm);
    transition:box-shadow .18s ease;
}
.cbg-acervo-dashboard-section:hover{box-shadow:var(--cbg-shadow-md)}
.cbg-acervo-dashboard-section-title h3{position:relative;padding-left:12px}
.cbg-acervo-dashboard-section-title h3:before{
    content:"";
    position:absolute;left:0;top:3px;bottom:3px;
    width:3px;border-radius:3px;background:var(--cbg-brand);
}
.cbg-acervo-dashboard-filters{
    border:1px solid var(--cbg-line);
    border-radius:var(--cbg-radius);
    background:var(--cbg-paper);
    box-shadow:none;
}
.cbg-acervo-dashboard-kpis{border:0;background:transparent;gap:10px}
.cbg-acervo-dashboard-kpis>div{
    border:1px solid var(--cbg-line);
    border-radius:var(--cbg-radius-sm);
    box-shadow:var(--cbg-shadow-sm);
}
.cbg-acervo-dashboard-chart{
    border:1px solid var(--cbg-line);
    border-radius:var(--cbg-radius-sm);
    box-shadow:none;
}
.cbg-acervo-dashboard .cbg-acervo-table{border-collapse:separate;border-spacing:0}
.cbg-acervo-dashboard .cbg-acervo-table-wrap{
    border:1px solid var(--cbg-line);
    border-radius:var(--cbg-radius-sm);
    overflow:hidden;
    background:var(--cbg-surface);
}
.cbg-acervo-dashboard-footnote{border-radius:var(--cbg-radius-sm);box-shadow:none}

.cbg-acervo-table-wrap{width:100%;overflow-x:visible}

/* ---------------------------------------------------------------------
   Valores ausentes e badges de Resolução
--------------------------------------------------------------------- */
.cbg-acervo .cbg-acervo-table td.cbg-cell-missing,
.cbg-acervo .cbg-acervo-table .cbg-cell-missing{
    color:var(--cbg-muted) !important;
    font-style:italic !important;
    font-weight:400 !important;
}

.cbg-acervo .cbg-resolution-badge{
    display:inline-flex;
    align-items:center;
    white-space:nowrap;
    min-height:24px;
    padding:2px 10px;
    border-radius:var(--cbg-radius-pill);
    font-size:11px;
    line-height:1.2;
    font-weight:600;
    border:1px solid transparent;
}
.cbg-acervo .cbg-resolution-alta{background:#16a34a !important;color:#fff !important;border-color:#15803d !important;}
.cbg-acervo .cbg-resolution-obito{background:#dc2626 !important;color:#fff !important;border-color:#b91c1c !important;}
.cbg-acervo .cbg-resolution-eutanasia{background:#9333ea !important;color:#fff !important;border-color:#7e22ce !important;}
.cbg-acervo .cbg-resolution-ind-eutanasia{background:#f97316 !important;color:#fff !important;border-color:#ea580c !important;}
.cbg-acervo .cbg-resolution-abate{background:#2563eb !important;color:#fff !important;border-color:#1d4ed8 !important;}
.cbg-acervo .cbg-resolution-other{background:#0891b2 !important;color:#fff !important;border-color:#0e7490 !important;}

/* ---------------------------------------------------------------------
   Painel: tabelas simples (sem DataTables) usam o mesmo visual de tabela
--------------------------------------------------------------------- */
.cbg-acervo-dashboard .cbg-acervo-table-plain thead th{background:var(--cbg-brand-softer)}
.cbg-acervo-dashboard .cbg-acervo-table-plain tbody tr:hover{background:var(--cbg-brand-soft)}
.cbg-acervo-dashboard .cbg-acervo-table-plain tfoot th,
.cbg-acervo-dashboard .cbg-acervo-table-plain tbody tr:last-child th{background:var(--cbg-brand-softer);color:var(--cbg-brand-dark)}

/* ---------------------------------------------------------------------
   Contrato de contenção das tabelas largas (fichas clínicas / campo /
   morto / Pesquisa geral). O card permanece contido; a rolagem
   horizontal pertence exclusivamente ao wrapper interno da tabela.
   Lógica preservada de versões anteriores — só o visual foi atualizado.
--------------------------------------------------------------------- */
.cbg-acervo-table-component,
.cbg-acervo-table-wrap {
    display:block !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
}

.cbg-acervo-table-component > .cbg-acervo-table,
.cbg-acervo-table-wrap > .cbg-acervo-table {
    display:table !important;
    width:100%;
    max-width:none;
    table-layout:auto;
    box-sizing:border-box !important;
}

.cbg-acervo-table-component .cbg-acervo-table th,
.cbg-acervo-table-component .cbg-acervo-table td {
    box-sizing:border-box !important;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
}

.cbg-acervo-table-component .cbg-acervo-table .cbg-col-ficha,
.cbg-acervo-table-component .cbg-acervo-table .cbg-col-date,
.cbg-acervo-table-component .cbg-acervo-table .cbg-col-uf,
.cbg-acervo-table-component .cbg-acervo-table .cbg-col-compact,
.cbg-acervo-table-component .cbg-acervo-table .cbg-col-resolution,
.cbg-acervo-table-component .cbg-acervo-table .cbg-col-pdf {
    white-space:nowrap;
    overflow-wrap:normal;
}

.cbg-acervo-table-ruminantes .cbg-acervo-table,
.cbg-acervo-table-equideos .cbg-acervo-table,
.cbg-acervo-table-clinical .cbg-acervo-table,
.cbg-acervo-table-search .cbg-acervo-table{min-width:1180px;}
.cbg-acervo-table-campo .cbg-acervo-table,
.cbg-acervo-table-morto .cbg-acervo-table{min-width:1000px;}

@media(max-width:700px){
    .cbg-acervo-table-component .cbg-acervo-table,
    .cbg-acervo-table-wrap .cbg-acervo-table{font-size:12.5px;}
}
