:root {
  --kafei-success: #2f7d4f;
  --kafei-success-dark: #245f3d;
  --kafei-success-soft: #e9f6ee;
  --kafei-success-line: #b9ddc7;
}

/* Green is reserved for states that communicate health, completion, or readiness. */
.pulse-dot,
.demo-dot,
.attendance-live-dot::before,
.provider-badge span,
.live-indicator i,
.top-health i.healthy,
.live-badge i,
.hero-status.healthy .status-orbit i,
.runtime-dot.online {
  background: var(--kafei-success) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--kafei-success) 16%, transparent) !important;
}

.status.paid,
.status.completed,
.status.available,
.billing-badge.current,
.import-result.success,
.lan-discovery-status[data-tone="success"],
.guest-account.signed-in,
.membership-status,
.status-pill:not(.warning):not(.danger):not(.neutral),
.live-indicator,
.ready .ticket-status,
.delivered .ticket-status,
.live-badge,
.pill.green,
.status.good,
.sales-settings-live,
.qr-compatibility.ready,
.cashier-shift-live {
  border-color: var(--kafei-success-line) !important;
  background: var(--kafei-success-soft) !important;
  color: var(--kafei-success-dark) !important;
}

.toast.success,
.success-check,
.membership-status > span,
.qr-compatibility.ready > span {
  background: var(--kafei-success) !important;
  color: #fff !important;
}

.work-ticket.ready,
.work-ticket.delivered {
  border-top-color: var(--kafei-success) !important;
}

.delivery-card.delivered {
  border-left-color: var(--kafei-success) !important;
}

.finance-kpis article.positive::before {
  background: var(--kafei-success) !important;
}

.store-qr-actions .copied,
.qr-compatibility.ready li:not(.failed) > b,
.access-on,
.report-profit {
  border-color: var(--kafei-success-line) !important;
  color: var(--kafei-success-dark) !important;
}

.store-qr-actions .copied {
  background: var(--kafei-success-soft) !important;
}
