:root {
    --bs-primary: #0d6efd;
    --bs-secondary: #6c757d;
    --bs-success: #198754;
    --bs-danger: #dc3545;
    --bs-warning: #ffc107;
    --bs-info: #0dcaf0;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-badge-font-size: 0.75em;
    --bs-badge-font-weight: 700;
    --bs-badge-padding-x: 0.65em;
    --bs-badge-padding-y: 0.35em;
    --bs-badge-border-radius: 0.375rem;
    --bs-badge-pill-padding-x: 0.6em;
    --bs-badge-pill-border-radius: 50rem;
}

.badge {
    display: inline-block;
    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
    font-size: var(--bs-badge-font-size);
    font-weight: var(--bs-badge-font-weight);
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: var(--bs-badge-border-radius);
}

.badge:empty {
    display: none;
}

.btn .badge {
    position: relative;
    top: -1px;
}

.badge.rounded-pill {
    padding-right: var(--bs-badge-pill-padding-x);
    padding-left: var(--bs-badge-pill-padding-x);
    border-radius: var(--bs-badge-pill-border-radius);
}

.badge.bg-primary {
    background-color: var(--bs-primary);
}

.badge.bg-secondary {
    background-color: var(--bs-secondary);
}

.badge.bg-success {
    background-color: var(--bs-success);
}

.badge.bg-danger {
    background-color: var(--bs-danger);
}

.badge.bg-warning {
    background-color: var(--bs-warning);
    color: #000;
}

.badge.bg-info {
    background-color: var(--bs-info);
    color: #000;
}

.badge.bg-light {
    background-color: var(--bs-light);
    color: #000;
}

.badge.bg-dark {
    background-color: var(--bs-dark);
}