/* Análise de Centro de Custo (Relatórios > Centro de custo) — js/cost-center-analysis.js. Cores da marca: navy, dourado; verde/vermelho/âmbar só como semáforo. */
#ccAnalysisPanel .cc-status { margin: 4px 0 12px; }
#ccAnalysisPanel .cc-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) { #ccAnalysisPanel .cc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
#ccAnalysisPanel .cc-kpis small { display: block; font-size: 12px; font-weight: 600; color: var(--brand-muted, #5b6676); }

.cc-table { min-width: 0; width: 100%; }
#ccAnalysisPanel .cc-table th, #ccAnalysisPanel .cc-table td { padding: 8px 9px; font-size: 12.5px; white-space: nowrap; }
#ccAnalysisPanel .cc-table th { white-space: normal; vertical-align: bottom; line-height: 1.25; }
#ccAnalysisPanel .cc-table th small { font-weight: 500; color: var(--brand-muted, #5b6676); }
#ccAnalysisPanel .cc-table th:first-child, #ccAnalysisPanel .cc-table td:first-child { white-space: normal; min-width: 140px; }
.cc-sub { display: block; margin-top: 2px; font-size: 11px; font-weight: 600; color: var(--brand-muted, #5b6676); }
.cc-row { cursor: pointer; }
.cc-row:hover { background: #f7f9fc; }
.cc-row.is-selected { background: #fff8e8; }
.cc-row:focus-visible { outline: 2px solid var(--gp-gold, #DDB52F); outline-offset: -2px; }
.cc-name { font-weight: 700; }
.cc-strong { font-weight: 800; }
.cc-money { font-variant-numeric: tabular-nums; }
.cc-neg { color: #b91c1c; }
.cc-total td { border-top: 2px solid #cfd8e3; font-weight: 800; background: #f4f7fa; }
.cc-tag { display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; font-size: 10.5px; font-weight: 700; color: #5b6676; background: #eef2f7; }

.cc-margin { display: inline-block; min-width: 54px; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 800; text-align: center; }
.cc-margin-ok { color: #166534; background: #dcfce7; }
.cc-margin-warn { color: #8a4b00; background: #fef3c7; }
.cc-margin-bad { color: #991b1b; background: #fee2e2; }
.cc-margin-na { color: #5b6676; background: #eef2f7; }

.cc-delta { font-size: 12.5px; font-weight: 800; }
.cc-delta-up { color: #15803d; }
.cc-delta-down { color: #b91c1c; }
.cc-delta-flat { color: var(--brand-muted, #5b6676); font-weight: 600; }

.cc-svg { display: block; width: 100%; max-width: 900px; height: auto; }
.cc-axis { font-size: 10px; fill: var(--brand-muted, #5b6676); }

.cc-detail-head { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between; margin: 18px 0 4px; }
.cc-detail-head h3 { margin: 0; font-size: 18px; color: var(--brand-navy, #0b1320); }
.cc-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cc-detail-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 12px; }
@media (max-width: 720px) { .cc-detail-grid { grid-template-columns: 1fr; } }
