/* Unified Badge Styling System for Campaign Plugin */

/* Base badge styles */
.badge,
.label {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    border-radius: 12px;
    line-height: 1;
    white-space: nowrap;
}

/* Active (Green - Success State) - Used for: sent, confirmed */
.badge-active,
.badge-success,
.bg-success,
.label-success {
    background: #d4edda;
    color: #155724;
}

/* Provisioning (Yellow - In Progress State) - Used for: sending, unconfirmed, warning */
.badge-provisioning,
.badge-warning,
.bg-warning,
.label-warning {
    background: #fff3cd;
    color: #856404;
}

/* Error (Red - Failure State) - Used for: failed, unsubscribed */
.badge-error,
.badge-danger,
.bg-danger,
.label-danger {
    background: #f8d7da;
    color: #721c24;
}

/* Off (Gray - Inactive State) - Used for: draft, paused, inactive */
.badge-off,
.badge-draft,
.badge-inactive,
.badge-secondary,
.bg-secondary,
.label-secondary {
    background: #e2e3e5;
    color: #383d41;
}

/* Archive (Dark Gray - Archived State) - Used for: cancelled, archived */
.badge-archive {
    background: #d6d8db;
    color: #1b1e21;
}

/* New (Blue - Fresh State) - Used for: scheduled, new */
.badge-new,
.badge-scheduled,
.badge-primary,
.bg-primary,
.label-primary {
    background: #cce5ff;
    color: #004085;
}

/* Info badges (light blue) */
.badge-info,
.bg-info,
.label-info {
    background: #cce5ff;
    color: #004085;
}

/* Default badges (light gray) */
.badge-default,
.label-default {
    background: #e2e3e5;
    color: #383d41;
}

/* Dark Mode Support - Using CSS nesting syntax */
.backend-dark .badge,
.backend-dark .label,
[data-bs-theme="dark"] .badge,
[data-bs-theme="dark"] .label {
    /* Active badges in dark mode */
    &.badge-active,
    &.badge-success,
    &.bg-success,
    &.label-success {
        background: rgba(39, 174, 96, 0.2);
        color: #27ae60;
    }

    /* Provisioning badges in dark mode */
    &.badge-provisioning,
    &.badge-warning,
    &.bg-warning,
    &.label-warning {
        background: rgba(243, 156, 18, 0.2);
        color: #f39c12;
    }

    /* Error badges in dark mode */
    &.badge-error,
    &.badge-danger,
    &.bg-danger,
    &.label-danger {
        background: rgba(231, 76, 60, 0.2);
        color: #e74c3c;
    }

    /* Off badges in dark mode */
    &.badge-off,
    &.badge-draft,
    &.badge-inactive,
    &.badge-secondary,
    &.bg-secondary,
    &.label-secondary {
        background: rgba(108, 117, 125, 0.2);
        color: #adb5bd;
    }

    /* Archive badges in dark mode - same as light mode */
    &.badge-archive {
        background: #d6d8db;
        color: #1b1e21;
    }

    /* New badges in dark mode */
    &.badge-new,
    &.badge-scheduled,
    &.badge-primary,
    &.bg-primary,
    &.label-primary {
        background: rgba(52, 152, 219, 0.2);
        color: #3498db;
    }

    /* Info badges in dark mode */
    &.badge-info,
    &.bg-info,
    &.label-info {
        background: rgba(52, 152, 219, 0.2);
        color: #3498db;
    }

    /* Default badges in dark mode */
    &.badge-default,
    &.label-default {
        background: rgba(108, 117, 125, 0.2);
        color: #adb5bd;
    }
}

/* Alternative CSS for browsers that don't support nesting */

/* Active badges in dark mode */
.backend-dark .badge-active,
.backend-dark .badge-success,
.backend-dark .bg-success,
.backend-dark .label-success,
[data-bs-theme="dark"] .badge-active,
[data-bs-theme="dark"] .badge-success,
[data-bs-theme="dark"] .bg-success,
[data-bs-theme="dark"] .label-success {
    background: rgba(39, 174, 96, 0.2);
    color: #27ae60;
}

/* Provisioning badges in dark mode */
.backend-dark .badge-provisioning,
.backend-dark .badge-warning,
.backend-dark .bg-warning,
.backend-dark .label-warning,
[data-bs-theme="dark"] .badge-provisioning,
[data-bs-theme="dark"] .badge-warning,
[data-bs-theme="dark"] .bg-warning,
[data-bs-theme="dark"] .label-warning {
    background: rgba(243, 156, 18, 0.2);
    color: #f39c12;
}

/* Error badges in dark mode */
.backend-dark .badge-error,
.backend-dark .badge-danger,
.backend-dark .bg-danger,
.backend-dark .label-danger,
[data-bs-theme="dark"] .badge-error,
[data-bs-theme="dark"] .badge-danger,
[data-bs-theme="dark"] .bg-danger,
[data-bs-theme="dark"] .label-danger {
    background: rgba(231, 76, 60, 0.2);
    color: #e74c3c;
}

/* Off badges in dark mode */
.backend-dark .badge-off,
.backend-dark .badge-draft,
.backend-dark .badge-inactive,
.backend-dark .badge-secondary,
.backend-dark .bg-secondary,
.backend-dark .label-secondary,
[data-bs-theme="dark"] .badge-off,
[data-bs-theme="dark"] .badge-draft,
[data-bs-theme="dark"] .badge-inactive,
[data-bs-theme="dark"] .badge-secondary,
[data-bs-theme="dark"] .bg-secondary,
[data-bs-theme="dark"] .label-secondary {
    background: rgba(108, 117, 125, 0.2);
    color: #adb5bd;
}

/* Archive badges in dark mode */
.backend-dark .badge-archive,
[data-bs-theme="dark"] .badge-archive {
    background: #d6d8db;
    color: #1b1e21;
}

/* New badges in dark mode */
.backend-dark .badge-new,
.backend-dark .badge-scheduled,
.backend-dark .badge-primary,
.backend-dark .bg-primary,
.backend-dark .label-primary,
[data-bs-theme="dark"] .badge-new,
[data-bs-theme="dark"] .badge-scheduled,
[data-bs-theme="dark"] .badge-primary,
[data-bs-theme="dark"] .bg-primary,
[data-bs-theme="dark"] .label-primary {
    background: rgba(52, 152, 219, 0.2);
    color: #3498db;
}

/* Info badges in dark mode */
.backend-dark .badge-info,
.backend-dark .bg-info,
.backend-dark .label-info,
[data-bs-theme="dark"] .badge-info,
[data-bs-theme="dark"] .bg-info,
[data-bs-theme="dark"] .label-info {
    background: rgba(52, 152, 219, 0.2);
    color: #3498db;
}

/* Default badges in dark mode */
.backend-dark .badge-default,
.backend-dark .label-default,
[data-bs-theme="dark"] .badge-default,
[data-bs-theme="dark"] .label-default {
    background: rgba(108, 117, 125, 0.2);
    color: #adb5bd;
}

/* Size variations */
.badge-sm,
.label-sm {
    padding: 2px 6px;
    font-size: 10px;
}

.badge-lg,
.label-lg {
    padding: 6px 12px;
    font-size: 13px;
}

/* Remove text decoration on badges in links */
a .badge,
a .label {
    text-decoration: none;
}

/* Badge inside tables */
.table .badge,
.table .label {
    vertical-align: middle;
}

/* Badge counts */
.badge-pill {
    border-radius: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

/* Scoreboard positive/negative indicators */
.scoreboard .positive {
    color: #198754 !important;
}

.scoreboard .negative {
    color: #dc3545 !important;
}

/* Dark mode scoreboard indicators */
.backend-dark .scoreboard .positive,
[data-bs-theme="dark"] .scoreboard .positive {
    color: #198754 !important;
}

.backend-dark .scoreboard .negative,
[data-bs-theme="dark"] .scoreboard .negative {
    color: #dc3545 !important;
}