/* /sales/funnel (Sales::FunnelController#show) — the sales funnel page. */

.sales-funnel {
  max-width: 56rem;
  margin-inline: auto;
  color: var(--text-primary);
}

.sales-funnel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--spacing-16);
  flex-wrap: wrap;
}

.sales-funnel-sub {
  margin-top: var(--spacing-12);
  max-width: 44rem;
}

/* ---------- Date range ---------- */
.sales-funnel-range {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: var(--spacing-16);
  flex-wrap: wrap;
}

.sales-funnel-presets {
  display: flex;
  gap: var(--spacing-8);
  flex-wrap: wrap;
}

.sales-funnel-preset {
  padding: var(--spacing-4) var(--spacing-12);
  border: var(--stroke-weight-1) solid var(--border-subtle);
  border-radius: var(--corner-radius-full);
  color: var(--text-secondary);
  text-decoration: none;
  font-size: var(--font-size-14);

  &:hover { border-color: var(--border-strong); color: var(--text-primary); }
}

.sales-funnel-range-form {
  display: flex;
  align-items: flex-end;
  gap: var(--spacing-12);
}

.sales-funnel-range-field,
.sales-internal-field {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.sales-funnel-date {
  height: 32px;
  padding: var(--spacing-2) var(--spacing-8);
  background-color: var(--background-surface-1);
  border: var(--stroke-weight-1) solid var(--border-default);
  border-radius: var(--corner-radius-xs);
  color: var(--text-primary);
  font-size: var(--font-size-14);
}

/* ---------- Headline cards ---------- */
.sales-funnel-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: var(--spacing-16);
}

.sales-funnel-card {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  align-items: flex-start;
}

.sales-funnel-card-value { line-height: 1.1; }
.sales-funnel-card-sub { margin-top: var(--spacing-2); }

/* ---------- Funnel bars ---------- */
.sales-funnel-bars { display: flex; flex-direction: column; gap: var(--spacing-16); }

.sales-funnel-bar-row { display: flex; flex-direction: column; gap: var(--spacing-8); }

.sales-funnel-bar-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--spacing-12);
}

.sales-funnel-bar-conv { color: var(--text-tertiary); }

.sales-funnel-bar-track {
  height: 14px;
  background-color: var(--background-surface-2);
  border-radius: var(--corner-radius-full);
  overflow: hidden;
}

.sales-funnel-bar-fill {
  height: 100%;
  min-width: 2px;
  background-image: var(--brand-gradient);
  border-radius: var(--corner-radius-full);
  transition: width 240ms ease;
}

.sales-funnel-bars-foot { margin-top: var(--spacing-8); }

/* ---------- Acquisition breakdowns (sources / pages) ---------- */
.sales-funnel-breakdowns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: var(--spacing-16);
}

.sales-funnel-breakdown { display: flex; flex-direction: column; gap: var(--spacing-12); }

.sales-funnel-breakdown-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
  margin: 0;
  padding: 0;
  list-style: none;
}

.sales-funnel-breakdown-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6rem auto;
  align-items: center;
  gap: var(--spacing-12);
}

.sales-funnel-breakdown-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-funnel-breakdown-track {
  height: 8px;
  background-color: var(--background-surface-2);
  border-radius: var(--corner-radius-full);
  overflow: hidden;
}

.sales-funnel-breakdown-fill {
  display: block;
  height: 100%;
  min-width: 2px;
  background-image: var(--brand-gradient);
  border-radius: var(--corner-radius-full);
}

.sales-funnel-breakdown-count {
  font-variant-numeric: tabular-nums;
  text-align: right;
}

/* ---------- Sign-ups per day trend ---------- */
.sales-funnel-trend { display: flex; flex-direction: column; gap: var(--spacing-12); }

.sales-funnel-trend-cols {
  display: flex;
  align-items: flex-end;
  gap: var(--spacing-2);
  height: 72px;
}

.sales-funnel-trend-col {
  flex: 1 1 0;
  display: flex;
  align-items: flex-end;
  height: 100%;
}

.sales-funnel-trend-bar {
  width: 100%;
  min-height: 1px;
  background-color: var(--background-highlight);
  border-radius: var(--corner-radius-xs);
}

.sales-funnel-trend-axis { display: flex; justify-content: space-between; }
