/* =========================================================
   SWC PMO · extra-modules.css
   Estilos de Budget, Forecast e Relatórios.
========================================================= */

/* ── Budget: barras por categoria ─────────────────── */
.bg-cat-row { display: flex; flex-direction: column; gap: 6px; }
.bg-cat-row__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* ── Forecast: gráfico de fluxo de caixa ──────────── */
.fc-chart { padding: 18px; }
.fc-bars {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  min-height: 220px;
  overflow-x: auto;
  padding-bottom: 8px;
}
.fc-col {
  position: relative;
  flex: 1;
  min-width: 48px;
  height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}
.fc-col__bars {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 100%;
  width: 100%;
  justify-content: center;
}
.fc-bar {
  width: 38%;
  border-radius: 4px 4px 0 0;
  min-height: 2px;
  transition: height .35s ease;
}
.fc-bar--in  { background: linear-gradient(180deg, #34d399, #059669); }
.fc-bar--out { background: linear-gradient(180deg, #f87171, #dc2626); }
.fc-acc {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #60a5fa;
  border: 2px solid #0f1117;
  box-shadow: 0 0 0 2px rgba(96, 165, 250, .35);
}
.fc-col__lbl {
  margin-top: 6px;
  font-size: 10.5px;
  color: #8892a4;
  white-space: nowrap;
}

/* ── Relatórios: cards de resumo ──────────────────── */
.rp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}
.rp-print-head {
  grid-column: 1 / -1;
  padding: 4px 2px 0;
}
.rp-print-head h1 { font-size: 22px; font-weight: 900; margin: 0 0 2px; color: #f1f5f9; }
.rp-print-head small { color: #8892a4; font-size: 12px; }
.rp-card {
  background: #161b27;
  border: 1px solid #252d3d;
  border-left: 3px solid var(--c, #fbbf24);
  border-radius: 12px;
  padding: 14px 16px;
}
.rp-card h3 {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--c, #fbbf24);
}
.rp-table { width: 100%; border-collapse: collapse; }
.rp-table td {
  padding: 6px 0;
  font-size: 13px;
  color: #cbd5e1;
  border-bottom: 1px solid rgba(255, 255, 255, .04);
}
.rp-table tr:last-child td { border-bottom: none; }
.rp-table .rp-val { text-align: right; font-weight: 700; color: #f1f5f9; }

/* ── Impressão ────────────────────────────────────── */
@media print {
  #crm-sidebar-slot, #swm-sidebar, .swm-sidebar, .swm-topbar-actions { display: none !important; }
  #swm-view, #page-content, body { margin: 0 !important; background: #fff !important; }
  .rp-card { border: 1px solid #ccc !important; background: #fff !important; color: #000 !important; break-inside: avoid; }
  .rp-card h3, .rp-print-head h1 { color: #000 !important; }
  .rp-table td { color: #222 !important; }
  .rp-table .rp-val { color: #000 !important; }
}
