#28235 Support multiple concurrent budget windows for users
### Feature request
LiteLLM currently supports budget_limits for virtual keys and teams, but users can only configure a single max_budget / budget_duration pair. This makes it hard to express multiple concurrent aggregate user budget windows, for example 1000 USD per 30d plus 150 USD per 1d.
### Motivation
Key-level budget_limits do not aggregate across multiple keys that share the same LiteLLM user. Team-level budget_limits constrain the whole team, not an individual user. User-level windows would let admins cap an individual user's aggregate spend while keeping the existing key and team controls.
### Proposed behavior
Add budget_limits to LiteLLM users with the same schema and behavior as key/team budget_limits:
- Persist budget_limits on LiteLLM_UserTable. - Initialize reset_at for each user budget window on user create/update. - Enforce each user window during auth with counters shaped as spend:user:{user_id}:window:{budget_duration}. - Increment and reserve user window counters using the existing spend counter and budget reservation paths. - Reset expired user windows in the existing budget reset job.
Example user configuration:
```json { "user_id": "user-123", "ma…