/* ui_badge — pair file for src/ui_system/badge.jl
 *
 * Three palettes share a common shape (verdict / role / status). The
 * .verdict-badge shape is also reused by .builder-chip-verdict via
 * class composition. */

.verdict-badge {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: var(--ds-radius-sm);
    border: 1px solid transparent;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.5;
    white-space: nowrap;
}

.badge-positive     { background: rgba(16, 185, 129, 0.18); color: var(--ds-color-positive);     border-color: var(--ds-color-positive); }
.badge-negative     { background: rgba(239,  68,  68, 0.18); color: var(--ds-color-negative);     border-color: var(--ds-color-negative); }
.badge-invalid      { background: rgba(107, 114, 128, 0.22); color: var(--ds-color-invalid);      border-color: var(--ds-color-invalid); }
.badge-inconclusive { background: rgba(245, 158,  11, 0.18); color: var(--ds-color-inconclusive); border-color: var(--ds-color-inconclusive); }
/* Neutral chip — bg tint derived from the token (no hardcoded hex) so a
 * palette change to --ds-color-info-bg flows through. */
.badge-info         { background: color-mix(in srgb, var(--ds-color-info-bg) 22%, transparent); color: var(--ds-color-info); border-color: var(--ds-color-info); }
/* Emphasised neutral — the "N events here" multi-feature chip. Same hue,
 * stronger fill so it reads as a heavier header than a single Event chip. */
.badge-info-emph    { background: color-mix(in srgb, var(--ds-color-info-bg) 45%, transparent); color: var(--ds-color-info); border-color: var(--ds-color-info); }

.role-badge {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.1rem 0.4rem;
    border-radius: 1rem;
    white-space: nowrap;
    line-height: 1.4;
}
.role-admin    { background: var(--ds-color-role-admin-bg);    color: var(--ds-color-role-admin-fg); }
.role-reviewer { background: var(--ds-color-role-reviewer-bg); color: var(--ds-color-role-reviewer-fg); }

.export-status-pill {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: var(--ds-radius-sm);
    border: 1px solid transparent;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
.export-status-queued    { background: rgba(107, 114, 128, 0.22); color: var(--ds-color-invalid);      border-color: var(--ds-color-invalid); }
.export-status-running   { background: rgba(245, 158,  11, 0.18); color: var(--ds-color-inconclusive); border-color: var(--ds-color-inconclusive); }
.export-status-ready     { background: rgba(16, 185, 129, 0.18); color: var(--ds-color-positive);     border-color: var(--ds-color-positive); }
.export-status-failed    { background: rgba(239,  68,  68, 0.18); color: var(--ds-color-negative);     border-color: var(--ds-color-negative); }
.export-status-cancelled { background: rgba(107, 114, 128, 0.22); color: var(--ds-color-invalid);      border-color: var(--ds-color-invalid); }
