/* Dashboard: gráfica real de ingresos y lista de pendientes */

.dash-trend { font-weight: 600; }
.dash-trend.up { color: #4ade80; }
.dash-trend.down { color: #f87171; }
.dash-trend.flat { color: var(--muted); }
.dash-danger { color: #f87171; }

/* ---------- Gráfica de barras (una serie: ingresos cobrados) ---------- */
.dash-chart {
  position: relative;
  min-height: 160px;
  margin: 6px 21px 0;
}

.dash-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.dash-chart .grid-line { stroke: rgba(255, 255, 255, .06); stroke-width: 1; }
.dash-chart .axis-text { fill: #847b8c; font-size: 10px; }
.dash-chart .bar { fill: #8b5cf6; transition: fill .15s ease; }
.dash-chart .bar.current { fill: #a78bfa; }
.dash-chart .bar-hit { fill: transparent; cursor: default; }
.dash-chart .bar-hit:hover + .bar,
.dash-chart .bar.hover { fill: #c4b5fd; }
.dash-chart .value-label { fill: #d0c7d9; font-size: 10px; font-weight: 600; }

.dash-chart-empty {
  display: grid;
  place-items: center;
  min-height: 160px;
  color: var(--muted);
  font-size: 13px;
}

.dash-tooltip {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  background: #1b1724;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .35);
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
  transform: translate(-50%, calc(-100% - 10px));
}

.dash-tooltip small { display: block; color: var(--muted); }

.dash-table-toggle { margin: 4px 21px 18px; color: var(--muted); font-size: 12px; }
.dash-table-toggle summary { cursor: pointer; }
.dash-data-table { width: 100%; margin-top: 8px; border-collapse: collapse; font-size: 12px; }
.dash-data-table th, .dash-data-table td { padding: 6px 8px; border-bottom: 1px solid var(--border); text-align: right; }
.dash-data-table th:first-child, .dash-data-table td:first-child { text-align: left; }
.dash-data-table td { color: var(--muted-strong); }

/* ---------- Requiere tu atención ---------- */
.dash-actions { display: flex; flex-direction: column; padding: 4px 21px 6px; }

.dash-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 4px;
  border-bottom: 1px solid var(--border);
  color: var(--muted-strong);
  font-size: 13px;
  text-decoration: none;
  transition: background .15s ease;
}

.dash-action:last-child { border-bottom: 0; }
.dash-action:hover { background: rgba(139, 92, 246, .06); }
.dash-action span { display: flex; align-items: center; gap: 9px; }
.dash-action i { width: 8px; height: 8px; border-radius: 50%; background: #5f5868; flex: none; }
.dash-action.warning i { background: #fbbf24; }
.dash-action.danger i { background: #f87171; }
.dash-action.info i { background: #8b5cf6; }
.dash-action b { min-width: 26px; padding: 2px 8px; border-radius: 999px; background: rgba(255, 255, 255, .06); color: #fff; font-size: 12px; text-align: center; }
.dash-action.zero { opacity: .55; }
.dash-action.zero b { background: transparent; color: var(--muted); }

.dash-all-clear { padding: 14px 4px; color: #4ade80; font-size: 13px; }
