.riwayat-wrap { max-width: 640px; margin: 0 auto; padding: 40px 20px 80px; }
.riwayat-title { font-size: 22px; margin: 0 0 24px; }

.riwayat-date-header {
  color: var(--neon-magenta);
  font-weight: 700;
  font-size: 14px;
  margin: 26px 0 12px;
}
.riwayat-date-header:first-child { margin-top: 0; }

.riwayat-card {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--bg-raised);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 12px;
}
.riwayat-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.riwayat-icon.purchase { background: rgba(255, 77, 109, 0.14); color: var(--danger); }
.riwayat-icon.topup { background: rgba(0, 240, 255, 0.14); color: var(--neon-cyan); }

.riwayat-info { flex: 1; min-width: 0; }
.riwayat-name { font-weight: 600; font-size: 14px; margin: 0 0 3px; }
.riwayat-time { color: var(--ink-dim); font-size: 12px; margin: 0; display: flex; align-items: center; gap: 4px; }

.riwayat-amount-wrap { text-align: right; flex-shrink: 0; }
.riwayat-amount {
  display: inline-block;
  font-weight: 700;
  font-size: 13px;
  border-radius: 999px;
  padding: 4px 10px;
  margin-bottom: 4px;
}
.riwayat-amount.purchase { background: rgba(255, 77, 109, 0.14); color: var(--danger); }
.riwayat-amount.topup { background: rgba(0, 240, 255, 0.14); color: var(--neon-cyan); }
.riwayat-balance { color: var(--ink-dim); font-size: 11px; }

.riwayat-empty { color: var(--ink-dim); text-align: center; padding: 40px 0; }
