.admin-stat-grid {
  display: grid;
  grid-template-columns:
    repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.admin-stat-card {
  position: relative;
  min-height: 112px;
  display: grid;
  align-content: space-between;
  gap: 12px;
  overflow: hidden;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--admin-border);
  border-radius: 7px;
  box-shadow: 0 4px 13px rgba(16, 36, 52, 0.045);
}

.admin-stat-card::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  width: 4px;
  background: var(--admin-teal);
}

.admin-stat-card.stat-paid-total::before {
  background: var(--gold);
}

.admin-stat-card.stat-donations::before {
  background: #4f8fbd;
}

.admin-stat-card.stat-attempts::before {
  background: var(--coral);
}

.admin-stat-card span {
  color: var(--muted-strong);
  font-size: 0.9rem;
  font-weight: 800;
}

.admin-stat-card strong {
  color: var(--admin-navy);
  font-size: 1.75rem;
  line-height: 1.1;
  letter-spacing: 0;
}

.admin-overview-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.admin-overview-card {
  min-height: 360px;
}

.overview-list {
  display: grid;
}

.overview-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 94px auto;
  align-items: center;
  gap: 13px;
  padding: 14px 0;
  border-bottom: 1px solid #edf2f4;
}

.overview-row:last-child {
  border-bottom: 0;
}

.overview-row-main {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.overview-row-main strong {
  color: var(--primary);
  font-size: 0.98rem;
  overflow-wrap: anywhere;
}

.overview-row-main span {
  color: var(--muted);
  font-size: 0.85rem;
}

.overview-progress {
  height: 7px;
  overflow: hidden;
  background: #e7eef1;
  border-radius: 999px;
}

.overview-progress span {
  height: 100%;
  display: block;
  background: var(--accent-strong);
  border-radius: inherit;
}

.overview-payment-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

.admin-toolbar {
  display: grid;
  grid-template-columns:
    repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
  padding: 12px;
  background: var(--admin-surface-soft);
  border: 1px solid var(--admin-border);
  border-radius: 7px;
}

.admin-grid .admin-toolbar {
  grid-template-columns:
    minmax(0, 1.4fr)
    minmax(150px, 0.6fr);
}

.admin-item-secondary {
  color: var(--muted);
  font-size: 0.85rem;
}

.campaign-admin-progress {
  display: grid;
  gap: 7px;
  padding: 10px 0 2px;
}

.campaign-admin-progress-labels {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.82rem;
}

.campaign-admin-progress-labels strong {
  color: var(--admin-navy);
}

.campaign-admin-progress-track {
  height: 8px;
  overflow: hidden;
  background: #e7eef1;
  border-radius: 999px;
}

.campaign-admin-progress-track span {
  height: 100%;
  display: block;
  background: var(--admin-teal);
  border-radius: inherit;
}

.danger-button {
  color: #a72a21;
  background: #fff3f1;
  border-color: #ffd4ce;
}

.danger-button:hover,
.danger-button:focus-visible {
  color: #fff;
  background: #a72a21;
  border-color: #a72a21;
}

.status-active,
.status-paid {
  color: #126b46;
  background: #eaf8f1;
  border-color: #bce8d3;
}

.status-draft,
.status-pending,
.status-iframe_ready,
.status-pledged {
  color: #735300;
  background: #fff8df;
  border-color: #f1dc8b;
}

.status-completed {
  color: #265c87;
  background: #edf6fd;
  border-color: #c8e2f5;
}

.status-failed,
.status-canceled,
.status-expired {
  color: #93271f;
  background: #fff1ef;
  border-color: #f3c8c3;
}

.status-paused {
  color: #5f6570;
  background: #f1f3f5;
  border-color: #d8dde2;
}

.payment-admin-grid {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.payment-admin-grid > section {
  min-width: 0;
}

.payment-item {
  gap: 7px;
}

.payment-item h3 {
  margin: 0;
  font-size: 0.98rem;
}

.payment-item p {
  overflow-wrap: anywhere;
}

@media (max-width: 1000px) {
  .admin-stat-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .payment-admin-grid,
  .admin-overview-grid {
    grid-template-columns: 1fr;
  }

  .admin-overview-card {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .admin-toolbar,
  .admin-grid .admin-toolbar {
    grid-template-columns: 1fr;
  }

  .overview-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .overview-progress {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 520px) {
  .admin-stat-grid {
    grid-template-columns: 1fr;
  }

  .admin-stat-card {
    min-height: 104px;
  }

  .admin-stat-card strong {
    font-size: 1.7rem;
  }

  .campaign-admin-progress-labels {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }
}
