/* Dashboard v2 — carregado depois de enterprise.css. Escopo sempre em
   .dashboard-v2, então nenhuma outra tela muda. Paleta dos gráficos validada
   pelo script da skill dataviz (petróleo, azul, coral). */
.dashboard-v2 {
  --viz-1: #1A9475;
  --viz-2: #3270BB;
  --viz-3: #E0703A;
  --dash-surface: #FFFFFF;
  --dash-ink: #0F1F24;
  --dash-ink-2: #5A6B70;
  --dash-ink-3: #8A9A9E;
  --dash-line: #E3EAEC;
  --dash-tint: #E7F4EF;
  --dash-radius: 16px;
  --dash-shadow: 0 1px 2px rgba(15, 31, 36, .04), 0 6px 20px rgba(15, 31, 36, .05);
  display: grid;
  gap: 20px;
}

/* ── Cabeçalho ── */
.app-shell .dashboard-v2 .dash-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.app-shell .dashboard-v2 .daily-summary {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: var(--dash-ink) !important;
  flex: 1 1 520px;
}
.app-shell .dashboard-v2 .daily-summary-greeting {
  font-size: clamp(1.75rem, 2.4vw, 2.25rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  color: var(--dash-ink) !important;
  margin: 0 0 4px !important;
}
.app-shell .dashboard-v2 .daily-summary-subtitle,
.app-shell .dashboard-v2 .daily-summary-empty { color: var(--dash-ink-2) !important; font-size: .9375rem !important; margin: 0 !important; }
.app-shell .dashboard-v2 .daily-summary-farm {
  display: inline-flex; align-items: center; gap: 6px;
  margin: 6px 0 0 !important; padding: 3px 10px !important;
  border-radius: 999px !important; background: var(--dash-tint) !important;
  color: #146B55 !important; font-size: 12px !important; font-weight: 600 !important;
}
.app-shell .dashboard-v2 .daily-summary-list {
  display: flex !important; flex-wrap: wrap; gap: 8px !important; margin: 12px 0 0 !important;
}
.app-shell .dashboard-v2 .daily-summary-list li {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 10px; border-radius: 999px;
  background: var(--dash-surface); border: 1px solid var(--dash-line);
  color: var(--dash-ink-2) !important; font-size: 12.5px !important; line-height: 1.3 !important;
}
.app-shell .dashboard-v2 .daily-summary-list .dot { margin: 0 !important; width: 7px !important; height: 7px !important; background: var(--viz-1) !important; }
.app-shell .dashboard-v2 .daily-summary-list .dot.warning { background: #C98A00 !important; }
.app-shell .dashboard-v2 .daily-summary-list .dot.error { background: #C8372D !important; }
.dashboard-v2 .dash-hero-meta { color: var(--dash-ink-2); font-size: .875rem; padding-bottom: 4px; }
.dashboard-v2 .dash-hero-date::first-letter { text-transform: uppercase; }

/* ── Layout principal + coluna direita ── */
.dashboard-v2 .dash-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
  align-items: start;
}
.dashboard-v2 .dash-main,
.dashboard-v2 .dash-rail { display: grid; gap: 20px; min-width: 0; }
.dashboard-v2 .dash-rail { position: sticky; top: calc(var(--topbar-height, 72px) + 16px); }

/* ── Cartões base ── */
.app-shell .dashboard-v2 :is(.metric-card, .viz-card, .table-panel, .chart-panel, .dash-quick, .financial-chart) {
  background: var(--dash-surface) !important;
  border: 1px solid var(--dash-line) !important;
  border-radius: var(--dash-radius) !important;
  box-shadow: var(--dash-shadow) !important;
}

/* ── KPIs principais ── */
.app-shell .dashboard-v2 .dashboard-grid.primary {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 16px !important;
  background: none !important; padding: 0 !important; box-shadow: none !important;
}
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-card {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon value" "icon footer";
  column-gap: 14px !important; row-gap: 2px !important;
  padding: 18px !important; min-height: 0 !important;
  align-content: start;
}
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-head { display: contents !important; }
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-icon {
  grid-area: icon; align-self: start;
  width: 52px !important; height: 52px !important; border-radius: 14px !important;
  background: var(--dash-tint) !important; color: #146B55 !important;
}
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-icon svg { width: 26px !important; height: 26px !important; }
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-icon.warning { background: #FFF4DC !important; color: #8A5A00 !important; }
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-icon.info { background: #E8F0FA !important; color: #24569A !important; }
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-title { grid-area: title; }
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-label { font-size: 13px !important; font-weight: 600 !important; color: var(--dash-ink-2) !important; text-transform: none !important; letter-spacing: 0 !important; }
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-meta { display: none; }
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-value {
  grid-area: value;
  font-size: 2rem !important; font-weight: 800 !important; line-height: 1.1 !important;
  letter-spacing: -.02em; color: var(--dash-ink) !important;
  font-variant-numeric: tabular-nums;
}
.app-shell .dashboard-v2 .dashboard-grid.primary .metric-footer { grid-area: footer; margin-top: 6px; }
.app-shell .dashboard-v2 .metric-action::after { content: none !important; }
.app-shell .dashboard-v2 .metric-action { color: #146B55 !important; font-weight: 600 !important; font-size: 12.5px !important; }
.app-shell .dashboard-v2 .metric-action:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ── Gráficos novos ── */
.dashboard-v2 .dash-charts {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
  gap: 20px;
}
.dashboard-v2 .viz-card { padding: 20px; display: grid; gap: 12px; align-content: start; }
.dashboard-v2 .viz-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.dashboard-v2 .viz-head h2 { margin: 0; font-size: 1.0625rem; font-weight: 700; color: var(--dash-ink); }
.dashboard-v2 .viz-head p { margin: 2px 0 0; font-size: 12.5px; color: var(--dash-ink-2); }
.dashboard-v2 .viz-legend { display: flex; gap: 16px; list-style: none; margin: 0; padding: 0; font-size: 12.5px; color: var(--dash-ink-2); }
.dashboard-v2 .viz-legend li { display: inline-flex; align-items: center; gap: 6px; }
.dashboard-v2 .viz-swatch { width: 10px; height: 10px; border-radius: 50%; background: var(--swatch); flex: none; }
.dashboard-v2 .viz-link {
  border: 0; background: none; padding: 0; cursor: pointer;
  color: #146B55; font-size: 13px; font-weight: 600; font-family: inherit;
}
.dashboard-v2 .viz-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.dashboard-v2 .viz-empty {
  display: grid; place-items: center; min-height: 200px; padding: 16px;
  text-align: center; color: var(--dash-ink-2); font-size: 13.5px;
  border: 1px dashed var(--dash-line); border-radius: 12px;
}
.dashboard-v2 .viz-plot { position: relative; }
.dashboard-v2 .viz-plot svg { display: block; width: 100%; height: auto; overflow: visible; }
.dashboard-v2 .viz-grid line { stroke: var(--dash-line); stroke-width: 1; }
.dashboard-v2 .viz-grid text,
.dashboard-v2 .viz-axis { fill: var(--dash-ink-3); font-size: 11px; font-variant-numeric: tabular-nums; }
.dashboard-v2 .viz-line { fill: none; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.dashboard-v2 .viz-end { stroke: var(--dash-surface); stroke-width: 2; }
.dashboard-v2 .viz-direct { fill: var(--dash-ink-2); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.dashboard-v2 .viz-crosshair { stroke: var(--dash-ink-3); stroke-width: 1; stroke-dasharray: 3 3; }
.dashboard-v2 .viz-hit { fill: transparent; cursor: crosshair; outline: none; }
.dashboard-v2 .viz-hit:focus-visible { stroke: var(--viz-1); stroke-width: 1; fill: rgba(26, 148, 117, .06); }
.dashboard-v2 .viz-tooltip {
  position: absolute; top: 0; transform: translate(-50%, -8px);
  display: grid; gap: 4px; min-width: 140px; padding: 10px 12px;
  background: #0F1F24; color: #fff; border-radius: 10px;
  font-size: 12px; box-shadow: 0 8px 24px rgba(15, 31, 36, .2); pointer-events: none;
}
.dashboard-v2 .viz-tooltip strong { font-size: 12px; font-weight: 700; margin-bottom: 2px; }
.dashboard-v2 .viz-tooltip span { display: flex; align-items: center; gap: 6px; }
.dashboard-v2 .viz-tooltip i { width: 8px; height: 8px; border-radius: 50%; background: var(--swatch); }
.dashboard-v2 .viz-tooltip b { margin-left: auto; font-variant-numeric: tabular-nums; }

.dashboard-v2 .viz-donut-wrap { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; align-items: center; }
.dashboard-v2 .viz-donut { width: 180px; height: 180px; }
.dashboard-v2 .viz-arc-track { fill: none; stroke: #F0F4F5; stroke-width: 22; }
.dashboard-v2 .viz-arc { fill: none; stroke-width: 22; }
.dashboard-v2 .viz-donut-value { font-size: 30px; font-weight: 800; fill: var(--dash-ink); font-variant-numeric: tabular-nums; }
.dashboard-v2 .viz-donut-label { font-size: 12px; fill: var(--dash-ink-2); }
.dashboard-v2 .viz-donut-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.dashboard-v2 .viz-donut-legend li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 13.5px; }
.dashboard-v2 .viz-donut-name { color: var(--dash-ink); }
.dashboard-v2 .viz-donut-num { color: var(--dash-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.dashboard-v2 .viz-donut-num small { color: var(--dash-ink-2); font-weight: 500; font-size: 12px; }

/* ── Painéis (alertas, agenda, gráficos antigos) ── */
.app-shell .dashboard-v2 .table-panel .panel-toolbar { background: none !important; padding: 18px 20px 0 !important; }
.app-shell .dashboard-v2 .panel-title h2,
.dashboard-v2 .dash-panel-head h2,
.dashboard-v2 .dash-quick h2 { margin: 0; font-size: 1.0625rem; font-weight: 700; color: var(--dash-ink); }
.app-shell .dashboard-v2 .chart-panel { padding: 20px !important; }

.dashboard-v2 .dash-panel-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px 6px; }
.dashboard-v2 .dash-panel-body { padding: 4px 20px 18px; }

/* ── Coluna direita: acesso rápido em lista ── */
.app-shell .dashboard-v2 .dash-quick { padding: 18px 20px 20px !important; display: grid; gap: 12px; }
.app-shell .dashboard-v2 .dash-quick .dashboard-operations {
  border: 0 !important; box-shadow: none !important; padding: 0 !important; background: none !important;
}
.app-shell .dashboard-v2 .dash-quick .dashboard-operations-heading { display: none; }
.app-shell .dashboard-v2 .dash-quick .dashboard-operations-grid {
  display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important;
}
.app-shell .dashboard-v2 .dash-quick .dashboard-operation-card {
  display: grid !important; grid-template-columns: 36px minmax(0, 1fr) 16px; align-items: center; gap: 12px;
  min-height: 0 !important; padding: 10px 12px !important;
  border: 1px solid var(--dash-line) !important; border-radius: 12px !important;
  background: var(--dash-surface) !important; text-align: left;
  transition: border-color .15s ease, background-color .15s ease;
}
.app-shell .dashboard-v2 .dash-quick .dashboard-operation-card::after {
  content: ""; width: 8px; height: 8px; justify-self: end;
  border-top: 2px solid var(--dash-ink-3); border-right: 2px solid var(--dash-ink-3);
  transform: rotate(45deg);
}
.app-shell .dashboard-v2 .dash-quick .dashboard-operation-card:hover:not(:disabled) { border-color: #9FD3C2 !important; background: #F6FBF9 !important; }
.app-shell .dashboard-v2 .dash-quick .dashboard-operation-icon {
  width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center;
  background: var(--dash-tint) !important; color: #146B55 !important;
}
.app-shell .dashboard-v2 .dash-quick .dashboard-operation-card small,
.app-shell .dashboard-v2 .dash-quick .dashboard-operation-card span:not(.dashboard-operation-icon) { color: var(--dash-ink-2); font-size: 12px; }

/* ── Indicadores secundários: mais discretos ── */
.app-shell .dashboard-v2 .dashboard-section-title { font-size: 1.0625rem !important; color: var(--dash-ink) !important; margin: 4px 0 -6px !important; text-transform: none !important; letter-spacing: 0 !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary { gap: 12px !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)) !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-card { padding: 14px 16px !important; box-shadow: none !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-value { font-size: 1.375rem !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-label { text-transform: none !important; letter-spacing: 0 !important; }

/* ── Responsivo ── */
@media (max-width: 520px) {
  .dashboard-v2 .viz-donut-wrap { grid-template-columns: 1fr; justify-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .app-shell .dashboard-v2 .dash-quick .dashboard-operation-card { transition: none; }
}

/* ── Correções após revisão visual com dados ── */
.dashboard-v2 .viz-tooltip[hidden] { display: none !important; }
.app-shell .dashboard-v2 .daily-summary { display: block !important; }
.app-shell .dashboard-v2 .daily-summary > * { grid-column: auto !important; }
.app-shell .dashboard-v2 .metric-card { background-image: none !important; }
.app-shell .dashboard-v2 .metric-card::before,
.app-shell .dashboard-v2 .metric-card::after { display: none !important; }
.app-shell .dashboard-v2 .metric-footer { border-top: 0 !important; padding-top: 0 !important; justify-content: flex-start !important; }
.app-shell .dashboard-v2 .metric-footer .metric-action { text-align: left !important; }

.dashboard-v2 .viz-repro { container-type: inline-size; }
@container (max-width: 440px) {
  .dashboard-v2 .viz-donut-wrap { grid-template-columns: 1fr; justify-items: center; gap: 16px; }
  .dashboard-v2 .viz-donut { width: 168px; height: 168px; }
  .dashboard-v2 .viz-donut-legend { width: 100%; gap: 10px; }
}
.dashboard-v2 .viz-donut-legend li > * { min-width: 0; }
.dashboard-v2 .viz-donut-name { white-space: nowrap; }

/* ════════ Layout adaptativo v2.1 ════════
   Tokens do full-system-modernization.js: raios 12/16/20, sombra de cartão
   em 2 camadas e sombra de hover. O layout responde à LARGURA REAL do
   conteúdo (container query), então abrir/recolher a barra lateral
   (272px / 68px) reorganiza a tela sem depender da largura da janela. */
.dashboard-v2 {
  --dash-radius: 16px;
  --dash-radius-sm: 12px;
  --dash-shadow: 0 2px 12px rgba(13, 66, 73, .06), 0 1px 3px rgba(13, 66, 73, .04);
  --dash-shadow-hover: 0 8px 28px rgba(13, 66, 73, .13), 0 2px 6px rgba(13, 66, 73, .06);
  container: dash / inline-size;
}

/* A coluna direita acompanha só o topo (KPIs, gráficos, alertas); o que vem
   depois usa a largura toda — sem coluna vazia no fim da página. */
.dashboard-v2 .dash-layout {
  grid-template-columns: minmax(0, 1fr) 320px;
  grid-template-areas:
    "kpis      rail"
    "charts    rail"
    "alerts    rail"
    "sec-title sec-title"
    "secondary secondary"
    "herd      herd"
    "finance   finance";
  row-gap: 20px;
}
.dashboard-v2 .dash-main { display: contents; }
.dashboard-v2 .dash-rail { grid-area: rail; position: static; align-self: start; }
.dashboard-v2 .dash-kpis { grid-area: kpis; }
.dashboard-v2 .dash-charts { grid-area: charts; align-items: stretch; }
.dashboard-v2 .dash-layout > .dash-main > .dashboard-alerts-panel { grid-area: alerts; }
.dashboard-v2 .dash-main > .dashboard-section-title { grid-area: sec-title; }
.dashboard-v2 .dash-main > .dashboard-grid.secondary { grid-area: secondary; }
.dashboard-v2 .dash-main > .herd-analytics-grid { grid-area: herd; }
.dashboard-v2 .dash-main > [data-financial-overview],
.dashboard-v2 .dash-main > .financial-chart-grid { grid-area: finance; }

/* Cartões de gráfico com a mesma altura; o gráfico ocupa o cartão. */
.dashboard-v2 .viz-card { display: flex; flex-direction: column; gap: 12px; }
.dashboard-v2 .viz-evolution .viz-plot { flex: 1; display: flex; align-items: center; }
.dashboard-v2 .viz-repro .viz-donut-wrap { flex: 1; align-content: center; }
.dashboard-v2 .viz-card:hover,
.app-shell .dashboard-v2 .dashboard-grid .metric-card:hover { box-shadow: var(--dash-shadow-hover) !important; }

/* Indicadores secundários: mesmo padrão ícone + valor dos KPIs, compacto. */
.app-shell .dashboard-v2 .dashboard-grid.secondary {
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
}
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-card {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr);
  grid-template-areas: "icon title" "icon value" "icon footer";
  column-gap: 12px !important; row-gap: 2px !important;
  padding: 14px 16px !important; min-height: 0 !important; align-content: start;
}
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-head { display: contents !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-icon {
  grid-area: icon; width: 40px !important; height: 40px !important; border-radius: var(--dash-radius-sm) !important;
  background: var(--dash-tint) !important; color: #146B55 !important;
}
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-icon.warning { background: #FFF4DC !important; color: #8A5A00 !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-icon.info { background: #E8F0FA !important; color: #24569A !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-icon svg { width: 20px !important; height: 20px !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-title { grid-area: title; min-width: 0; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-label { font-size: 12.5px !important; font-weight: 600 !important; color: var(--dash-ink-2) !important; }
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-meta {
  font-size: 11.5px !important; color: var(--dash-ink-3) !important; line-height: 1.35 !important;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-value {
  grid-area: value; font-size: 1.375rem !important; font-weight: 800 !important; color: var(--dash-ink) !important;
  font-variant-numeric: tabular-nums; line-height: 1.2 !important; margin-top: 2px;
}
.app-shell .dashboard-v2 .dashboard-grid.secondary .metric-footer { grid-area: footer; margin-top: 4px; }

/* Gráficos antigos (nascimentos/óbitos e categorias) sem vazios. */
.app-shell .dashboard-v2 .herd-analytics-grid { display: grid !important; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) !important; gap: 20px !important; align-items: stretch; }
.app-shell .dashboard-v2 .herd-analytics-grid .chart-panel { display: flex; flex-direction: column; gap: 10px; }
.app-shell .dashboard-v2 .herd-analytics-grid .panel-title { display: block !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .panel-title p { margin: 2px 0 0 !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .donut-wrap { flex: 1; display: grid; place-items: center; gap: 16px; }

/* ── Adaptação ao espaço do conteúdo (barra lateral aberta ou recolhida) ── */
@container dash (max-width: 1180px) {
  .dashboard-v2 .dash-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "kpis" "charts" "rail" "alerts" "sec-title" "secondary" "herd" "finance";
  }
  .dashboard-v2 .dash-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container dash (max-width: 900px) {
  .dashboard-v2 .dash-charts,
  .app-shell .dashboard-v2 .herd-analytics-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@container dash (max-width: 680px) {
  .dashboard-v2 .dash-rail { grid-template-columns: minmax(0, 1fr); }
  .app-shell .dashboard-v2 .dashboard-grid.primary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@container dash (max-width: 440px) {
  .app-shell .dashboard-v2 .dashboard-grid.primary { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Superfície única nos cartões do dashboard: vence as regras de tom por
   estado (degradê + borda colorida) do bloco de modernização. Especificidade
   reforçada de propósito (classe repetida), sem mexer em outras telas. */
.app-shell .dashboard-v2 .dashboard-grid .metric-card.metric-card.metric-card {
  background: var(--dash-surface) !important;
  background-image: none !important;
  border: 1px solid var(--dash-line) !important;
}
.app-shell .dashboard-v2 .dashboard-grid .metric-card .metric-action.metric-action {
  border: 0 !important; padding: 0 !important; background: none !important;
  width: auto !important; text-align: left !important; white-space: nowrap;
}
.app-shell .dashboard-v2 .dashboard-grid .metric-footer > span:empty { display: none; }

/* ════════ Alertas operacionais no padrão do Acesso rápido ════════
   Só apresentação: mesmo markup (renderAlertsTable), mesmos data-action.
   Cada alerta = linha com ícone em tom suave (cor pela criticidade),
   título, contexto em 1 linha, métrica e dispensar; ações viram links. */
.app-shell .dashboard-v2 .dashboard-alerts-panel { padding: 0 0 16px !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .panel-toolbar { padding: 18px 20px 4px !important; border: 0 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .panel-title { display: flex !important; flex-direction: column; gap: 2px; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .panel-title p { margin: 0 !important; font-size: 12.5px !important; color: var(--dash-ink-2) !important; }

.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-kpi-strip {
  display: flex !important; flex-wrap: wrap; gap: 8px !important; padding: 8px 20px 4px !important; margin: 0 !important;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-kpi-chip {
  display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 6px;
  min-height: 0 !important; padding: 4px 10px !important; border-radius: 999px !important;
  border: 1px solid var(--dash-line) !important; background: var(--dash-surface) !important;
  font-size: 12.5px !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-kpi-chip strong { font-size: 12.5px !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-kpi-chip.error strong { color: #B42318 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-kpi-chip.warning strong { color: #8A5A00 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-kpi-chip.info strong { color: #24569A !important; }

.app-shell .dashboard-v2 .dashboard-alerts-panel .alert-groups { display: grid; gap: 14px; padding: 6px 20px 0 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .alert-group { display: grid; gap: 8px; padding: 0 !important; border: 0 !important; background: none !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .alert-group-title {
  display: flex; align-items: center; gap: 6px; margin: 0 !important;
  font-size: 12px !important; font-weight: 700 !important; color: var(--dash-ink-2) !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .alert-group-title .count {
  min-width: 20px; padding: 0 6px; border-radius: 999px; background: #F0F4F5; color: var(--dash-ink-2); font-size: 11px; text-align: center;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .alert-card-list { display: grid !important; gap: 8px !important; }

.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) auto auto;
  align-items: center; column-gap: 12px; row-gap: 2px;
  padding: 10px 12px !important; margin: 0 !important;
  border: 1px solid var(--dash-line) !important;
  border-radius: var(--dash-radius-sm) !important;
  background: var(--dash-surface) !important; background-image: none !important; box-shadow: none !important;
  transition: border-color .15s ease, background-color .15s ease;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card:hover { border-color: #9FD3C2 !important; background: #F6FBF9 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-header { display: contents !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .metric-icon {
  grid-row: 1 / span 2; align-self: start;
  width: 36px !important; height: 36px !important; border-radius: 10px !important; margin: 0 !important;
  display: grid !important; place-items: center;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .metric-icon svg { width: 18px !important; height: 18px !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .metric-icon.error { background: #FDECEA !important; color: #B42318 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .metric-icon.warning { background: #FFF4DC !important; color: #8A5A00 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .metric-icon.info { background: #E8F0FA !important; color: #24569A !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-heading { display: flex; flex-direction: column; min-width: 0; gap: 1px; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-heading strong { font-size: 13.5px !important; font-weight: 600 !important; color: var(--dash-ink) !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-title:empty { display: none; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-title { font-size: 12px !important; color: var(--dash-ink-2) !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-metric { font-size: 12px; font-weight: 700; color: var(--dash-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-dismiss {
  grid-column: 4; grid-row: 1; width: 28px !important; height: 28px !important; min-height: 0 !important; padding: 0 !important;
  border: 0 !important; background: none !important; color: var(--dash-ink-3) !important; border-radius: 8px !important;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-dismiss:hover { background: #F0F4F5 !important; color: var(--dash-ink) !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-dismiss svg { width: 14px !important; height: 14px !important; }

/* Tudo abaixo do cabeçalho alinha com o texto, não com o ícone. */
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card > :not(.insight-card-header) { grid-column: 2 / -1; margin: 0 !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-context {
  font-size: 12px !important; color: var(--dash-ink-2) !important; line-height: 1.4 !important;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .button:not(.insight-card-dismiss),
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card summary {
  justify-self: start; width: auto !important; min-height: 0 !important; height: auto !important;
  padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
  color: #146B55 !important; font-size: 12.5px !important; font-weight: 600 !important; cursor: pointer;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .button:not(.insight-card-dismiss):hover,
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card .button svg { width: 13px; height: 13px; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-actions { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-actions:empty { display: none; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card-group-list .alert-card-list { margin-top: 8px; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .empty-state { margin: 8px 20px 0; }
@media (prefers-reduced-motion: reduce) {
  .app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card { transition: none; }
}

/* Um só grupo: o chip de contagem acima já diz o nível — rótulo repetido sai. */
.app-shell .dashboard-v2 .dashboard-alerts-panel .alert-groups:has(> .alert-group:only-child) .alert-group-title { display: none; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card > :not(.insight-card-header) + :not(.insight-card-header) { margin-top: 2px !important; }

/* ════════ Gráficos de baixo e alertas mais compactos ════════ */

/* Nascimentos e óbitos */
.app-shell .dashboard-v2 .herd-events-card { gap: 8px !important; padding: 18px 20px 14px !important; }
.app-shell .dashboard-v2 .herd-events-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin: 0 !important; }
.app-shell .dashboard-v2 .herd-events-period { display: inline-flex !important; align-items: center; gap: 8px; font-size: 12px !important; color: var(--dash-ink-2) !important; }
.app-shell .dashboard-v2 .herd-events-period select { height: 32px !important; min-height: 0 !important; padding: 0 28px 0 10px !important; font-size: 12.5px !important; border-radius: 8px !important; }
.app-shell .dashboard-v2 .herd-events-summary { display: flex; gap: 16px; margin: 0 !important; font-size: 12.5px !important; color: var(--dash-ink-2); }
.app-shell .dashboard-v2 .herd-events-summary strong { font-size: 15px !important; color: var(--dash-ink); }
.app-shell .dashboard-v2 .herd-events-plot { height: 180px !important; }
.app-shell .dashboard-v2 .herd-events-gridline { stroke: var(--dash-line) !important; }
.app-shell .dashboard-v2 .herd-events-axis-line { stroke: var(--dash-line) !important; }
.app-shell .dashboard-v2 :is(.herd-events-axis-value, .herd-events-month-label) { fill: var(--dash-ink-3) !important; font-size: 10.5px !important; }
.app-shell .dashboard-v2 .herd-events-legend { display: flex; gap: 16px; margin: 0 !important; font-size: 12px !important; color: var(--dash-ink-2); }
.app-shell .dashboard-v2 .herd-events-card .empty-state { min-height: 140px !important; padding: 16px !important; }

/* Rebanho por categoria: rosca menor, legenda ao lado */
.app-shell .dashboard-v2 .herd-analytics-grid .chart-panel:not(.herd-events-card) { padding: 18px 20px 14px !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .donut-wrap {
  min-height: 0 !important;
  display: grid !important; grid-template-columns: 128px minmax(0, 1fr); align-items: center; justify-items: start; gap: 18px !important;
}
.app-shell .dashboard-v2 .herd-analytics-grid .donut { width: 128px !important; height: 128px !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .donut::after { width: 78px !important; height: 78px !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .donut-center strong { font-size: 22px !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .donut-center span { font-size: 11px !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .donut-legend { display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; font-size: 12.5px !important; justify-items: start; }
.app-shell .dashboard-v2 .herd-analytics-grid .legend-item { display: inline-flex; align-items: center; gap: 8px; color: var(--dash-ink) !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .swatch { width: 10px !important; height: 10px !important; border-radius: 50% !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .empty-state { min-height: 140px !important; }

/* Receitas e despesas por mês */
.app-shell .dashboard-v2 .financial-chart { padding: 18px 20px 14px !important; }
.app-shell .dashboard-v2 .financial-chart h3 { margin: 0 !important; font-size: 1.0625rem !important; font-weight: 700 !important; color: var(--dash-ink) !important; }
.app-shell .dashboard-v2 .financial-chart > p { margin: 2px 0 8px !important; font-size: 12.5px !important; color: var(--dash-ink-2) !important; }
.app-shell .dashboard-v2 .financial-chart svg { max-height: 200px !important; }
.app-shell .dashboard-v2 .financial-chart-grid { gap: 20px !important; }
.financial-chart-legend { display: flex; gap: 16px; font-size: 12.5px; color: var(--text-secondary, #5A6B70); }
.financial-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.financial-chart-legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }

/* Alertas operacionais: lista com altura limitada e rolagem interna */
.app-shell .dashboard-v2 .dashboard-alerts-panel .panel-toolbar { padding: 14px 18px 2px !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-kpi-strip { padding: 6px 18px 2px !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .alert-groups {
  padding: 6px 18px 2px !important;
  max-height: 320px; overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: thin; scrollbar-color: #CBD8DB transparent;
}
.app-shell .dashboard-v2 .dashboard-alerts-panel { padding-bottom: 12px !important; }
.app-shell .dashboard-v2 .dashboard-alerts-panel .insight-card { padding: 8px 10px !important; }

/* Cartão de nascimentos sem altura mínima herdada (430px); o resumo do topo já
   mostra cor + total de cada série, então a legenda de baixo seria repetição. */
.app-shell .dashboard-v2 .herd-analytics-grid .herd-events-card { min-height: 0 !important; justify-content: flex-start !important; }
.app-shell .dashboard-v2 .herd-events-legend { display: none !important; }
.app-shell .dashboard-v2 .herd-events-summary { margin-top: 4px !important; }
/* Texto da legenda sempre em tinta neutra; a cor fica só no marcador. */
.financial-chart-legend span, .financial-chart-legend span + span { color: var(--text-secondary, #5A6B70) !important; }

.app-shell .dashboard-v2 .herd-events-header { padding: 0 !important; min-height: 0 !important; border: 0 !important; align-items: flex-start !important; }
.app-shell .dashboard-v2 .herd-events-header .panel-title { margin: 0 !important; padding: 0 !important; }
.app-shell .dashboard-v2 .herd-events-summary { padding: 0 !important; min-height: 0 !important; margin: 0 !important; }
.app-shell .dashboard-v2 .herd-events-card .empty-state { margin: 0 !important; }

.app-shell .dashboard-v2 .herd-analytics-grid .chart-panel { min-height: 0 !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .chart-panel .panel-title { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
.app-shell .dashboard-v2 .herd-analytics-grid .chart-panel .panel-title h2 { margin: 0 !important; }
