/* ══════════════════════════════════════════════════════════════
   HERO DASHBOARD — Dribbble-replica, light + dark, responsive
   Standalone CSS for views/partials/dashboard-hero.php
   ══════════════════════════════════════════════════════════════ */
.hero-dash {
  display: grid;
  grid-template-columns: 48px 1fr;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 1.4;
  pointer-events: none;
  user-select: none;

  /* Light palette — ONE continuous background */
  --dash-bg: #f4f4f8;
  --dash-card: #eaeaf0;
  --dash-card-deep: #e0e1ea;
  --dash-border: rgba(0, 0, 0, 0.07);
  --dash-text: #1a1a2e;
  --dash-text-2: #6b6b80;
  --dash-text-3: #9999aa;
  --dash-accent: #5170FF;
  --dash-accent-soft: rgba(81, 112, 255, 0.10);
  --dash-accent-pos: #5170FF;
  --dash-danger: #ef4444;

  /* Liquid glass — frosted white, translucent over Vanta */
  --glass-color: #e8eaf4;
  background-color: color-mix(in srgb, var(--glass-color) 50%, transparent);
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  color: var(--dash-text);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow:
    var(--glass-shadow),
    0 -8px 30px rgba(0, 0, 0, 0.04),
    0 0 40px rgba(0, 0, 0, 0.03),
    0 2px 6px rgba(0, 0, 0, 0.02);
}

[data-theme="dark"] .hero-dash {
  --dash-bg: #0a0e1a;
  --dash-card: #111827;
  --dash-card-deep: #0d1117;
  --dash-border: rgba(255, 255, 255, 0.07);
  --dash-text: #f0f0f5;
  --dash-text-2: #8b92a5;
  --dash-text-3: #4b5563;
  --dash-accent: #8B2FC9;
  --dash-accent-soft: rgba(139, 47, 201, 0.14);
  --dash-accent-pos: #8B2FC9;
  --dash-danger: #ef4444;

  --glass-color: #0f1520;
  background-color: color-mix(in srgb, var(--glass-color) 85%, transparent);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    var(--glass-shadow),
    0 -8px 30px rgba(0, 0, 0, 0.08),
    0 0 40px rgba(0, 0, 0, 0.06),
    0 2px 6px rgba(0, 0, 0, 0.04),
    0 0 0 1px rgba(255, 255, 255, 0.03);
}

/* ── Sidebar ── */
.hero-dash__sidebar {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 6px;
  border-right: 1px solid var(--dash-border);
}

.hero-dash__sidebar-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  flex-shrink: 0;
}

.hero-dash__sidebar-logo img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.hero-dash__sidebar-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 1;
}

.hero-dash__sidebar-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 12px;
}

.hero-dash__sidebar-item {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dash-text);
  width: 36px;
  height: 36px;
  border-radius: 10px;
}

.hero-dash__sidebar-item svg {
  width: 18px;
  height: 18px;
}

/* ── Active state — liquid glass (same system as pill-nav) ── */
.hero-dash__sidebar-item--active {
  --glass-color: var(--dash-accent);
  --glass-reflex-dark: 1.8;
  background-color: color-mix(in srgb, var(--glass-color) 28%, transparent);
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow: var(--glass-shadow);
}

/* Active icon: canonical gradient stroke */
.hero-dash__sidebar-item--active svg,
.hero-dash__sidebar-item--active svg path,
.hero-dash__sidebar-item--active svg polyline,
.hero-dash__sidebar-item--active svg circle,
.hero-dash__sidebar-item--active svg rect,
.hero-dash__sidebar-item--active svg line {
  stroke: url(#gradient-active);
}

[data-theme="dark"] .hero-dash__sidebar-item--active {
  --glass-color: var(--dash-accent);
  --glass-reflex-light: 0.6;
  --glass-reflex-dark: 2.5;
  background-color: color-mix(in srgb, var(--glass-color) 30%, transparent);
}

/* ── Body (header + grid) ── */
.hero-dash__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

/* ── Header — 3-zone: title (start) | search (center) | controls (end) ── */
.hero-dash__header {
  display: flex;
  align-items: center;
  padding: 8px 14px;
  flex-shrink: 0;
}

.hero-dash__header-title {
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--dash-text);
  flex: 1;
  min-width: 0;
}

.hero-dash__header-title svg { width: 12px; height: 12px; color: var(--dash-text); }

.hero-dash__header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

/* Shared glass treatment for header controls */
.hero-dash__search,
.hero-dash__header-notif,
.hero-dash__header-date {
  --glass-color: var(--dash-text-3);
  background-color: color-mix(in srgb, var(--glass-color) 8%, transparent);
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow: var(--glass-shadow);
}

/* Search — icon-only in header-right on mobile, absolute centered on desktop */
.hero-dash__search {
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: var(--dash-text);
}

.hero-dash__search svg { width: 14px; height: 14px; flex-shrink: 0; }

.hero-dash__search-text,
.hero-dash__search-kbd {
  display: none;
}

/* Notification bell — sidebar-item style + Apple badge */
.hero-dash__header-notif {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: var(--dash-text);
  flex-shrink: 0;
}

.hero-dash__header-notif svg { width: 16px; height: 16px; stroke-width: 2; }

.hero-dash__header-notif-badge {
  position: absolute;
  top: -1px;
  right: -1px;
  font-size: 7px;
  font-weight: 700;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #ef4444;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Date picker — icon-only on mobile, full on desktop */
.hero-dash__header-date {
  display: none;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 500;
  color: var(--dash-text);
  white-space: nowrap;
  flex-shrink: 0;
}

.hero-dash__header-date-icon {
  display: flex;
  align-items: center;
  color: var(--dash-text);
}

.hero-dash__header-date-icon svg { width: 14px; height: 14px; }

.hero-dash__header-date-text,
.hero-dash__header-date-arrow {
  display: none;
}

/* User profile */
.hero-dash__header-user {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

/* Mobile: hide name/role, show chevron next to avatar */
.hero-dash__header-user-info {
  display: none;
}

.hero-dash__header-user-chevron {
  display: flex;
  align-items: center;
  color: var(--dash-text);
}

.hero-dash__header-user-chevron svg {
  width: 10px;
  height: 10px;
  stroke-width: 2.5;
}

.hero-dash__header-user-name {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 10px;
  font-weight: 700;
  color: var(--dash-text);
  white-space: nowrap;
}

.hero-dash__header-user-name svg {
  width: 10px;
  height: 10px;
  color: var(--dash-text);
  stroke-width: 2.5;
}

.hero-dash__header-user-role {
  font-size: 8px;
  color: var(--dash-text);
  white-space: nowrap;
}

/* ── Avatars ── */
.hero-dash__avatar {
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: linear-gradient(155deg, #1e2e7a, #5170FF);
  flex-shrink: 0;
}

[data-theme="dark"] .hero-dash__avatar {
  background: linear-gradient(155deg, #CE32FF, #FF5599);
}

.hero-dash__avatar--lg {
  width: 28px;
  height: 28px;
  object-fit: cover;
}

.hero-dash__avatar--xs {
  width: 10px;
  height: 10px;
  object-fit: cover;
}

.hero-dash__avatar-stack {
  display: flex;
}

.hero-dash__avatar-stack > .hero-dash__avatar + .hero-dash__avatar {
  margin-left: -3px;
}

/* ── Content Grid ── */
.hero-dash__grid {
  display: grid;
  grid-template-columns: 1fr;
  flex: 1;
  overflow: hidden;
  gap: 0;
}

/* Column separators */
.hero-dash__campaigns {
  border-right: none;
}

/* ── Shared panel styles ── */
.hero-dash__campaigns {
  padding: 14px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}


/* Mobile: campaigns with fade at bottom */
.hero-dash__campaigns {
  position: relative;
}

.hero-dash__campaigns::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40px;
  background: linear-gradient(to top, color-mix(in srgb, var(--glass-color) 65%, transparent), transparent);
  pointer-events: none;
  z-index: 1;
}

.hero-dash__panel-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 4px 8px;
  margin-bottom: 8px;
}

.hero-dash__panel-head .hero-dash__subtitle {
  grid-column: 1 / -1;
  margin: 0;
}


.hero-dash__title-lg {
  font-size: 13px;
  font-weight: 800;
  color: var(--dash-text);
  margin: 0;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
}

.hero-dash__subtitle {
  font-size: 11px;
  color: var(--dash-text-2);
  margin: 4px 0 0;
  text-align: left;
}

/* ── Tabs (selector) ── */
.hero-dash__tabs {
  display: flex;
  gap: 1px;
}

.hero-dash__tab {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 8px;
  color: var(--dash-text);
  background-color: var(--glass-btn-bg);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

.hero-dash__tab svg { width: 10px; height: 10px; }

/* ── Overview section (liquid glass card — contains stats, tabs, chart, bigstat) ── */
.hero-dash__overview {
  display: flex;
  flex-direction: column;
  flex: 1;
  background-color: color-mix(in srgb, var(--dash-card) 80%, transparent);
  border: 1px solid var(--dash-border);
  border-radius: 14px;
  padding: 18px;
  margin-bottom: 14px;
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  min-height: 0;
}

[data-theme="dark"] .hero-dash__overview {
  background-color: color-mix(in srgb, #151c2c 88%, transparent);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.hero-dash__overview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 700;
  color: var(--dash-text);
  margin-bottom: 14px;
}

.hero-dash__overview-head svg { width: 16px; height: 16px; color: var(--glass-btn-color); }

.hero-dash__overview-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}

.hero-dash__stat-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.hero-dash__stat-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--dash-text);
}

.hero-dash__stat-desc {
  font-size: 10px;
  color: var(--dash-text-2);
  line-height: 1.4;
}

.hero-dash__stat-val--pos {
  font-size: 15px;
  font-weight: 800;
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .hero-dash__stat-val--pos {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Overview tabs (24h / Semana / Mes) — full width */
.hero-dash__overview-tabs {
  display: flex;
  background-color: var(--glass-btn-bg);
  border: 1px solid var(--glass-btn-border);
  border-radius: 10px;
  padding: 3px;
  box-shadow: var(--glass-shadow);
}

.hero-dash__overview-tab {
  flex: 1;
  text-align: center;
  font-size: 11px;
  font-weight: 500;
  padding: 7px 0;
  border-radius: 8px;
  color: var(--dash-text-2);
}

.hero-dash__overview-tab--active {
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  color: #ffffff;
  font-weight: 700;
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

[data-theme="dark"] .hero-dash__overview-tab--active {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
}

/* ── Chart ── */
.hero-dash__chart {
  position: relative;
  margin: 12px 0 6px;
  flex: 1;
  min-height: 120px;
}

.hero-dash__chart-svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Dark mode: shift chart gradients from blue to violet */
[data-theme="dark"] .hero-dash__chart-svg #hdcg stop {
  stop-color: #CE32FF;
}

[data-theme="dark"] .hero-dash__chart-svg #hdcl stop:first-child {
  stop-color: #D94FFF;
}

[data-theme="dark"] .hero-dash__chart-svg #hdcl stop:nth-child(2) {
  stop-color: #CE32FF;
}

[data-theme="dark"] .hero-dash__chart-svg #hdcl stop:last-child {
  stop-color: #FF5599;
}

/* Data point dot — HTML element so it stays a perfect circle despite SVG stretching */
.hero-dash__chart-dot {
  position: absolute;
  top: var(--dot-top, 15%);
  left: var(--dot-left, 74%);
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: linear-gradient(155deg, #0f1a4d, #5170FF);
  border: 2px solid var(--dash-card-deep);
  box-shadow: 0 0 0 3px rgba(81, 112, 255, 0.25);
  z-index: 4;
}

[data-theme="dark"] .hero-dash__chart-dot {
  background: linear-gradient(155deg, #CE32FF, #FF5599);
  border-color: #0d1117;
  box-shadow: 0 0 0 3px rgba(206, 50, 255, 0.30);
}

.hero-dash__chart-dot-halo {
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  background-color: rgba(81, 112, 255, 0.12);
}

[data-theme="dark"] .hero-dash__chart-dot-halo {
  background-color: rgba(206, 50, 255, 0.18);
}

/* Tooltip — positioned BELOW the data point, liquid glass */
.hero-dash__chart-tooltip {
  position: absolute;
  top: calc(var(--dot-top, 15%) + 8%);
  left: var(--dot-left, 74%);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 12px;
  border-radius: 10px;
  background-color: color-mix(in srgb, var(--dash-card) 55%, transparent);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  backdrop-filter: var(--glass-backdrop);
  -webkit-backdrop-filter: var(--glass-backdrop);
  white-space: nowrap;
  z-index: 3;
}

[data-theme="dark"] .hero-dash__chart-tooltip {
  background-color: color-mix(in srgb, #1a2236 45%, transparent);
  border-color: rgba(255, 255, 255, 0.10);
  box-shadow:
    0 4px 16px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Arrow pointing UP from tooltip to data point */
.hero-dash__chart-tooltip-arrow {
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  background-color: color-mix(in srgb, var(--dash-card) 55%, transparent);
  border-left: 1px solid rgba(0, 0, 0, 0.06);
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  backdrop-filter: var(--glass-backdrop);
  -webkit-backdrop-filter: var(--glass-backdrop);
}

[data-theme="dark"] .hero-dash__chart-tooltip-arrow {
  background-color: color-mix(in srgb, #1a2236 45%, transparent);
  border-color: rgba(255, 255, 255, 0.10);
}

.hero-dash__chart-tooltip-date {
  font-size: 8px;
  font-weight: 600;
  color: var(--dash-text-2);
}

.hero-dash__chart-tooltip-val {
  font-size: 12px;
  font-weight: 800;
  color: var(--dash-text);
}

.hero-dash__chart-tooltip-val small {
  font-size: 9px;
  font-weight: 700;
  color: var(--dash-text);
  opacity: 1;
}

.hero-dash__chart-tooltip-pct {
  font-size: 8px;
  font-weight: 700;
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .hero-dash__chart-tooltip-pct {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}


.hero-dash__chart-x {
  display: flex;
  justify-content: space-between;
  font-size: 9px;
  color: var(--dash-text-3);
  padding: 6px 0 0;
}

/* ── Big stat row ── */
.hero-dash__bigstat-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 8px;
}

.hero-dash__bigstat {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.hero-dash__bigstat-val {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.03em;
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .hero-dash__bigstat-val {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-dash__bigstat-pct {
  font-size: 14px;
  font-weight: 700;
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .hero-dash__bigstat-pct {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero-dash__bigstat-time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 10px;
  color: var(--dash-text-2);
}

.hero-dash__bigstat-time strong {
  color: var(--dash-text);
  font-size: 11px;
}

/* ── Top Campaigns (Módulos más usados) ── */
.hero-dash__top-campaigns {
  margin-top: auto;
  padding: 14px;
  border-radius: 14px;
  background-color: color-mix(in srgb, var(--dash-card) 60%, transparent);
  border: 1px solid var(--dash-border);
}

[data-theme="dark"] .hero-dash__top-campaigns {
  background-color: color-mix(in srgb, #111827 80%, transparent);
  border-color: rgba(255, 255, 255, 0.06);
}

.hero-dash__top-campaigns-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.hero-dash__top-campaigns-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Mobile: hide count + left arrow, show only right arrow */
.hero-dash__top-campaigns-count {
  display: none;
  font-size: 10px;
  color: var(--dash-text-2);
}

.hero-dash__top-campaigns-nav .hero-dash__top-campaigns-count + .hero-dash__top-campaigns-arrow {
  display: none;
}

.hero-dash__top-campaigns-count {
  font-size: 10px;
  color: var(--dash-text-2);
}

.hero-dash__count-double { display: none; }

.hero-dash__top-campaigns-list {
  display: flex;
  gap: 8px;
}

/* Mobile/tablet: only show first card */
.hero-dash__top-campaigns-list .hero-dash__campaign-card:nth-child(2) {
  display: none;
}


.hero-dash__campaign-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 14px;
  background-color: color-mix(in srgb, var(--dash-card) 80%, transparent);
  border: 1px solid var(--dash-border);
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.06),
    0 8px 24px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  flex: 1;
  min-width: 0;
}

[data-theme="dark"] .hero-dash__campaign-card {
  background-color: color-mix(in srgb, #151c2c 88%, transparent);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.20),
    0 8px 24px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.hero-dash__campaign-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Menu dots — liquid glass (uses global --glass-btn-* tokens) */
.hero-dash__campaign-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  color: var(--glass-btn-color);
  background-color: var(--glass-btn-bg);
  backdrop-filter: var(--glass-backdrop);
  -webkit-backdrop-filter: var(--glass-backdrop);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
  flex-shrink: 0;
}

.hero-dash__campaign-menu svg {
  width: 10px;
  height: 10px;
}

.hero-dash__campaign-name {
  font-size: 12px;
  font-weight: 700;
  color: var(--dash-text);
  text-align: left;
}

.hero-dash__campaign-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  text-align: left;
}

.hero-dash__campaign-meta {
  font-size: 11px;
  color: var(--dash-text-2);
  text-align: left;
}

.hero-dash__campaign-pct {
  font-size: 10px;
  font-weight: 700;
  text-align: left;
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .hero-dash__campaign-pct {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ── Avatars — shadcn/radix style ── */
.hero-dash__campaign-avatars {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.hero-dash__avatar-group {
  display: flex;
  align-items: center;
}

.hero-dash__avatar--sm {
  width: 26px;
  height: 26px;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  object-position: center center;
  flex-shrink: 0;
}

.hero-dash__avatar-group .hero-dash__avatar--sm {
  margin-left: -8px;
  border: 2px solid var(--dash-card);
}

[data-theme="dark"] .hero-dash__avatar-group .hero-dash__avatar--sm {
  border-color: #151c2c;
}

.hero-dash__avatar-group .hero-dash__avatar--sm:first-child {
  margin-left: 0;
}

.hero-dash__campaign-overflow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  aspect-ratio: 1;
  border-radius: 50%;
  margin-left: -8px;
  font-size: 8px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #ffffff;
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  border: 2px solid var(--dash-card);
}

[data-theme="dark"] .hero-dash__campaign-overflow {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
  border-color: #151c2c;
}

/* Add button — liquid glass circle (uses global --glass-btn-* tokens) */
.hero-dash__campaign-add {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: var(--glass-btn-color);
  flex-shrink: 0;
  background-color: var(--glass-btn-bg);
  backdrop-filter: var(--glass-backdrop);
  -webkit-backdrop-filter: var(--glass-backdrop);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

.hero-dash__campaign-add svg {
  width: 10px;
  height: 10px;
}

.hero-dash__top-campaigns-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  color: var(--glass-btn-color);
  background-color: var(--glass-btn-bg);
  backdrop-filter: var(--glass-backdrop);
  -webkit-backdrop-filter: var(--glass-backdrop);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

.hero-dash__top-campaigns-arrow svg {
  width: 10px;
  height: 10px;
}

/* ── Main area (center + right columns) ── */
.hero-dash__main {
  display: none;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  overflow: hidden;
  min-width: 0;
}

.hero-dash__main-top {
  display: flex;
  gap: 8px;
  min-height: 0;
}


/* ── Module Card ── */
.hero-dash__module-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 10px;
  border-radius: 14px;
  background-color: color-mix(in srgb, var(--dash-card) 80%, transparent);
  border: 1px solid var(--dash-border);
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  min-width: 0;
}

[data-theme="dark"] .hero-dash__module-card {
  background-color: color-mix(in srgb, #151c2c 88%, transparent);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.hero-dash__module-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.hero-dash__module-desc {
  font-size: 10px;
  color: var(--dash-text-2);
  margin: 0 0 6px;
  line-height: 1.3;
}

/* Video placeholder */
.hero-dash__module-video {
  position: relative;
  width: 100%;
  aspect-ratio: 21 / 9;
  border-radius: 10px;
  background: linear-gradient(145deg, #0f1a3a, #162250, #1a3fa0);
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

[data-theme="dark"] .hero-dash__module-video {
  background: linear-gradient(145deg, #0d0620, #1a0d35, #2a1050);
}

.hero-dash__module-video-play {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.85);
}

.hero-dash__module-video-play svg {
  width: 28px;
  height: 28px;
}

.hero-dash__module-video-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}

.hero-dash__module-video-time {
  font-size: 7px;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}

.hero-dash__module-video-progress {
  flex: 1;
  height: 2px;
  border-radius: 1px;
  background-color: rgba(255, 255, 255, 0.2);
}

.hero-dash__module-video-fill {
  width: 0%;
  height: 100%;
  border-radius: 1px;
  background-color: rgba(255, 255, 255, 0.7);
}

/* Module stats row */
.hero-dash__module-stats {
  display: flex;
  gap: 10px;
  margin-top: auto;
}

.hero-dash__module-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px;
  border-radius: 8px;
  background-color: var(--glass-btn-bg);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

.hero-dash__module-stat-val {
  font-size: 13px;
  font-weight: 800;
  color: var(--dash-text);
  letter-spacing: -0.02em;
}

.hero-dash__module-stat-label {
  font-size: 8px;
  color: var(--dash-text-2);
}


/* ── magIA Premium promo ── */
.hero-dash__magia-promo {
  flex: 0 0 40%;
  display: flex;
  flex-direction: column;
  padding: 10px;
  border-radius: 14px;
  background: linear-gradient(145deg, #0f1a3a, #162250, #1a3fa0);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
  min-width: 0;
}

[data-theme="dark"] .hero-dash__magia-promo {
  background: linear-gradient(145deg, #0d0620, #1a0d35, #2a1050);
  border-color: rgba(255, 255, 255, 0.10);
}

.hero-dash__magia-promo-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 7px;
  font-weight: 700;
  color: #ffffff;
  padding: 4px 10px;
  border-radius: 10px;
  background: linear-gradient(135deg, #CE32FF, #FF3E89);
  margin-bottom: 8px;
  align-self: flex-start;
}

.hero-dash__magia-promo-badge svg {
  width: 10px;
  height: 10px;
}

.hero-dash__magia-promo-title {
  font-size: 11px;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 6px;
}

.hero-dash__magia-promo-desc {
  font-size: 8px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 10px;
  line-height: 1.4;
  flex: 1;
}

.hero-dash__magia-promo-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 12px;
  border-radius: 8px;
  font-size: 8px;
  font-weight: 700;
  background-color: #ffffff;
  color: #0f1a3a;
}

[data-theme="dark"] .hero-dash__magia-promo-cta {
  background-color: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.hero-dash__magia-promo-cta svg { width: 10px; height: 10px; }

/* ── Activity table ── */
.hero-dash__activity {
  padding: 10px;
  border-radius: 14px;
  background-color: color-mix(in srgb, var(--dash-card) 60%, transparent);
  border: 1px solid var(--dash-border);
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  display: flex;
  flex-direction: column;
}

[data-theme="dark"] .hero-dash__activity {
  background-color: color-mix(in srgb, #111827 80%, transparent);
  border-color: rgba(255, 255, 255, 0.06);
  box-shadow:
    0 4px 24px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.hero-dash__activity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

/* Actions: filter + search + menu */
.hero-dash__activity-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.hero-dash__activity-filter {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 7px;
  color: var(--glass-btn-color);
  background-color: var(--glass-btn-bg);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

.hero-dash__activity-filter svg { width: 8px; height: 8px; }

.hero-dash__activity-search,
.hero-dash__activity-view {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  color: var(--glass-btn-color);
  background-color: var(--glass-btn-bg);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

.hero-dash__activity-search svg,
.hero-dash__activity-view svg { width: 10px; height: 10px; }

/* Meta row: avatar stack + count + subtitle */
.hero-dash__activity-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.hero-dash__activity-ctrl {
  display: flex;
  align-items: center;
  gap: 6px;
}

.hero-dash__activity-ctrl-count {
  font-size: 10px;
  color: var(--dash-text-2);
  white-space: nowrap;
}

.hero-dash__activity-subtitle {
  font-size: 10px;
  color: var(--dash-text-3);
}

/* Pagination */
.hero-dash__activity-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  padding-top: 0;
}

.hero-dash__activity-page-info {
  font-size: 10px;
  color: var(--dash-text-3);
}

.hero-dash__activity-page-nav {
  display: flex;
  align-items: center;
  gap: 3px;
}

.hero-dash__activity-page-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 4px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  color: var(--glass-btn-color);
  background-color: var(--glass-btn-bg);
  border: 1px solid var(--glass-btn-border);
  box-shadow: var(--glass-shadow);
}

.hero-dash__activity-page-btn svg { width: 10px; height: 10px; }

.hero-dash__activity-page-btn--active {
  background: linear-gradient(155deg, #0f1a4d 0%, #1e2e7a 40%, #5170FF 100%);
  color: #ffffff;
  font-weight: 700;
  border-color: transparent;
  box-shadow: 0 2px 8px rgba(81, 112, 255, 0.3);
}

[data-theme="dark"] .hero-dash__activity-page-btn--active {
  background: linear-gradient(155deg, #D94FFF 0%, #CE32FF 40%, #FF5599 100%);
}

/* ── Table — modern, spacious ── */
.hero-dash__table-wrap {
  overflow-x: auto;
  pointer-events: auto;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--dash-accent) 30%, transparent) transparent;
}

.hero-dash__table-wrap::-webkit-scrollbar {
  height: 3px;
}

.hero-dash__table-wrap::-webkit-scrollbar-track {
  background: transparent;
}

.hero-dash__table-wrap::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--dash-accent) 30%, transparent);
  border-radius: 3px;
}

.hero-dash__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 10px;
}

.hero-dash__table th {
  font-size: 9px;
  font-weight: 600;
  color: var(--dash-text-3);
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 8px 8px;
  border-bottom: 1px solid var(--dash-border);
  white-space: nowrap;
}

.hero-dash__table td {
  padding: 7px 8px;
  color: var(--dash-text-2);
  white-space: nowrap;
  vertical-align: middle;
  border-bottom: 1px solid color-mix(in srgb, var(--dash-border) 50%, transparent);
}

.hero-dash__table tbody tr:last-child td {
  border-bottom: none;
}

/* Table user cell — avatar + name + role */
.hero-dash__table-user {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hero-dash__avatar--table {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.hero-dash__table-user-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.hero-dash__table-user-name {
  font-size: 10px;
  font-weight: 700;
  color: var(--dash-text);
}

.hero-dash__table-user-role {
  font-size: 8px;
  color: var(--dash-text-3);
}

/* Module badge in table — liquid glass */
.hero-dash__table-module {
  display: inline-flex;
  align-items: center;
  font-size: 9px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  background-color: color-mix(in srgb, var(--dash-accent) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--dash-accent) 18%, transparent);
  color: var(--dash-text);
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow: var(--glass-shadow);
}

/* Status badges — liquid glass */
.hero-dash__badge--active,
.hero-dash__badge--completed,
.hero-dash__badge--pending {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 9px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  backdrop-filter: var(--glass-backdrop-soft);
  -webkit-backdrop-filter: var(--glass-backdrop-soft);
  box-shadow: var(--glass-shadow);
}

.hero-dash__badge--active {
  background-color: color-mix(in srgb, #22c55e 12%, transparent);
  border: 1px solid color-mix(in srgb, #22c55e 20%, transparent);
  color: #22c55e;
}

.hero-dash__badge--completed {
  background-color: color-mix(in srgb, var(--dash-accent) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--dash-accent) 20%, transparent);
  color: var(--dash-accent);
}

.hero-dash__badge--pending {
  background-color: color-mix(in srgb, #f59e0b 12%, transparent);
  border: 1px solid color-mix(in srgb, #f59e0b 20%, transparent);
  color: #f59e0b;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* ── Small (420px) — show header icons + nav inline ── */
@media (min-width: 420px) {
  .hero-dash__search { display: flex; }
  .hero-dash__header-date { display: flex; }
  .hero-dash__top-campaigns-count { display: inline; }
  .hero-dash__top-campaigns-nav .hero-dash__top-campaigns-count + .hero-dash__top-campaigns-arrow { display: flex; }
}

/* ── Tablet (640px) ──
   2 columnas: left + main (module stacked above magIA, table hidden)
   ─────────────────────────────────────────────────────── */
@media (min-width: 640px) {
  .hero-dash {
    grid-template-columns: 52px 1fr;
    font-size: 9px;
  }

  .hero-dash__grid {
    grid-template-columns: 1fr 1fr;
  }

  /* Show main area on tablet */
  .hero-dash__main { display: flex; }

  /* Stack cards vertically, fill 100% height 50/50 */
  .hero-dash__main-top { flex-direction: column; flex: 1; min-height: 0; }
  .hero-dash__module-card { flex: 1; min-height: 0; }
  .hero-dash__magia-promo { flex: 1; min-height: 0; }

  /* Hide activity table on tablet */
  .hero-dash__activity { display: none; }

  .hero-dash__campaigns {
    border-right: none;
  }

  .hero-dash__campaigns::after { display: none; }

  /* Header: expand date + user info */
  .hero-dash__header-date { width: auto; height: 30px; padding: 0 8px; gap: 4px; justify-content: flex-start; }
  .hero-dash__header-date-icon { display: none; }
  .hero-dash__header-date-text { display: inline; }
  .hero-dash__header-date-arrow { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 5px; color: var(--dash-text); }
  .hero-dash__header-user-info { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
  .hero-dash__header-user-chevron { display: none; }
  .hero-dash__header-user { gap: 8px; }
}

/* ── Desktop (1024px) ──
   3 columnas: left (campaigns) | main spans 2 cols (module+magIA top, table bottom)
   ─────────────────────────────────────────────────────────── */
@media (min-width: 1024px) {
  .hero-dash {
    max-width: 1100px;
    font-size: 10px;
    grid-template-columns: 64px 1fr;
  }

  .hero-dash__grid {
    grid-template-columns: 1fr 2fr;
  }

  /* Main fills full grid height */
  .hero-dash__main { align-self: stretch; }

  /* Side by side on desktop */
  .hero-dash__main-top { flex-direction: row; flex: 0 0 auto; min-height: 220px; }

  /* Activity fills remaining height, paginación siempre abajo */
  .hero-dash__activity { display: flex; flex: 1; min-height: 0; }
  .hero-dash__activity .hero-dash__activity-pagination { margin-top: auto; }

  /* Scale up table for desktop */
  .hero-dash__table { font-size: 11px; }
  .hero-dash__table th { font-size: 9px; padding: 10px 10px; }
  .hero-dash__table td { padding: 8px 10px; }
  .hero-dash__avatar--table { width: 32px; height: 32px; }
  .hero-dash__table-user { gap: 10px; }
  .hero-dash__table-user-name { font-size: 12px; }
  .hero-dash__table-user-role { font-size: 9px; }
  .hero-dash__table-module { font-size: 10px; padding: 4px 12px; }
  .hero-dash__badge--active,
  .hero-dash__badge--completed,
  .hero-dash__badge--pending { font-size: 10px; padding: 4px 12px; }
  .hero-dash__activity-filter { font-size: 11px; padding: 6px 14px; }
  .hero-dash__activity-search,
  .hero-dash__activity-view { width: 30px; height: 30px; }
  .hero-dash__activity-ctrl-count { font-size: 11px; }
  .hero-dash__activity-subtitle { font-size: 10px; }
  .hero-dash__activity-ctrl .hero-dash__avatar--xs { width: 18px; height: 18px; }
  .hero-dash__activity-page-info { font-size: 10px; }
  .hero-dash__activity-page-btn { min-width: 28px; height: 28px; font-size: 10px; }
  .hero-dash__activity-pagination { margin-top: 8px; padding-top: 0; }

  /* Sidebar: scale up */
  .hero-dash__sidebar { padding: 16px 8px; }
  .hero-dash__sidebar-logo img { width: 36px; height: 36px; }
  .hero-dash__sidebar-logo { margin-bottom: 20px; }
  .hero-dash__sidebar-nav { gap: 8px; }
  .hero-dash__sidebar-bottom { gap: 8px; padding-top: 14px; }
  .hero-dash__sidebar-item { width: 40px; height: 40px; border-radius: 12px; }
  .hero-dash__sidebar-item svg { width: 20px; height: 20px; }

  /* Header: centered search bar, full controls */
  .hero-dash__header { padding: 14px; position: relative; }
  .hero-dash__header-title { font-size: 15px; gap: 5px; }
  .hero-dash__header-title svg { width: 14px; height: 14px; }
  .hero-dash__header-right { gap: 14px; }
  .hero-dash__search { position: absolute; left: 50%; transform: translateX(-50%); height: 38px; padding: 0 16px; border-radius: 12px; gap: 10px; width: 340px; justify-content: flex-start; color: var(--dash-text); }
  .hero-dash__search svg { width: 16px; height: 16px; }
  .hero-dash__search-text { display: block; font-size: 10px; color: var(--dash-text); flex: 1; white-space: nowrap; }
  .hero-dash__search-kbd { display: block; font-size: 8px; font-weight: 600; padding: 3px 8px; border-radius: 6px; background-color: var(--glass-btn-bg); border: 1px solid var(--glass-btn-border); box-shadow: var(--glass-shadow); color: var(--dash-text); flex-shrink: 0; }
  .hero-dash__header-notif { width: 32px; height: 32px; border-radius: 9px; }
  .hero-dash__header-notif svg { width: 16px; height: 16px; stroke-width: 2; }
  .hero-dash__header-notif-badge { width: 12px; height: 12px; font-size: 6.5px; }
  .hero-dash__header-date { height: 38px; padding: 0 10px; border-radius: 12px; font-size: 10px; gap: 5px; }
  .hero-dash__header-date-arrow { width: 22px; height: 22px; border-radius: 6px; }
  .hero-dash__header-date-arrow svg { width: 12px; height: 12px; }
  .hero-dash__avatar--lg { width: 36px; height: 36px; }
  .hero-dash__header-user-name { font-size: 13px; }
  .hero-dash__header-user-role { font-size: 9px; }
  .hero-dash__title-lg { font-size: 16px; }
  .hero-dash__bigstat-val { font-size: 26px; }
  .hero-dash__module-stat-val { font-size: 15px; }
  .hero-dash__module-stat-label { font-size: 9px; }
  .hero-dash__module-desc { font-size: 11px; }
  .hero-dash__magia-promo-title { font-size: 13px; }
  .hero-dash__magia-promo-desc { font-size: 9px; }
  .hero-dash__magia-promo-cta { font-size: 9px; }
}

/* ── Campaign cards: show both side-by-side only on wide desktop ── */
@media (min-width: 1200px) {
  .hero-dash__top-campaigns-list .hero-dash__campaign-card:nth-child(2) {
    display: flex;
  }
  .hero-dash__top-campaigns-list {
    gap: 10px;
  }
  .hero-dash__count-single { display: none; }
  .hero-dash__count-double { display: inline; }
}

/* ── Wide (1440px) ── */
@media (min-width: 1440px) {
  .hero-dash {
    max-width: 1280px;
  }
}
