.discount-impact-panel {
  display: grid;
  gap: .8rem;
  padding: .9rem;
  border: 1px solid #b9d8d1;
  border-radius: .8rem;
  background: #f7fbfa;
}

.discount-impact-panel[hidden] { display: none; }

.discount-impact-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.discount-impact-heading h4 { margin: 0; }
.discount-impact-heading p {
  margin: .2rem 0 0;
  color: var(--muted);
  font-size: .82rem;
}

.discount-impact-badge {
  flex: 0 0 auto;
  padding: .35rem .55rem;
  border-radius: 999px;
  background: #e5f2ef;
  color: var(--brand-dark);
  font-size: .78rem;
  font-weight: 800;
}

.discount-impact-grid {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.discount-impact-grid > div {
  padding: .7rem;
  border-radius: .65rem;
  background: #fff;
  border: 1px solid var(--border);
}

.discount-impact-grid span,
.discount-impact-grid strong { display: block; }
.discount-impact-grid span { color: var(--muted); font-size: .76rem; }
.discount-impact-grid strong { margin-top: .15rem; }

.discount-impact-status,
.discount-impact-error,
.discount-impact-loading {
  padding: .7rem .8rem;
  border-radius: .65rem;
  font-weight: 700;
}

.discount-impact-loading {
  background: #eef4f3;
  color: var(--muted);
}

.discount-impact-panel[data-impact-state="profit"] .discount-impact-status {
  background: var(--success-soft);
  color: var(--success);
}

.discount-impact-panel[data-impact-state="break_even"] .discount-impact-status {
  background: var(--warning-soft);
  color: #715910;
}

.discount-impact-panel[data-impact-state="loss"] {
  border-color: #efb4ad;
  background: #fff8f7;
}

.discount-impact-panel[data-impact-state="loss"] .discount-impact-status,
.discount-impact-error {
  background: var(--danger-soft);
  color: var(--danger);
}

.discount-impact-note { color: var(--muted); }

@media (max-width: 560px) {
  .discount-impact-heading { flex-direction: column; gap: .45rem; }
  .discount-impact-grid { grid-template-columns: 1fr; }
}
