/*
 * Theme-independent semantic status badges.
 *
 * Application theme colors identify actions and selection. Status colors keep
 * the same meaning in every theme, including white, light, saturated, and dark.
 */
:root {
    --dc-status-success-bg: #167447;
    --dc-status-success-border: #0f5f39;
    --dc-status-success-text: #ffffff;
    --dc-status-warning-bg: #f59e0b;
    --dc-status-warning-border: #d97706;
    --dc-status-warning-text: #111827;
    --dc-status-danger-bg: #b42318;
    --dc-status-danger-border: #8f1d14;
    --dc-status-danger-text: #ffffff;
    --dc-status-info-bg: #1d4ed8;
    --dc-status-info-border: #1e40af;
    --dc-status-info-text: #ffffff;
    --dc-status-neutral-bg: #475569;
    --dc-status-neutral-border: #334155;
    --dc-status-neutral-text: #ffffff;
}

body .badge.bg-success,
body .badge.btn-success,
body .badge.dc-status-success {
    background-color: var(--dc-status-success-bg) !important;
    border: 1px solid var(--dc-status-success-border) !important;
    color: var(--dc-status-success-text) !important;
}

body .badge.bg-warning,
body .badge.dc-status-warning {
    background-color: var(--dc-status-warning-bg) !important;
    border: 1px solid var(--dc-status-warning-border) !important;
    color: var(--dc-status-warning-text) !important;
}

body .badge.bg-danger,
body .badge.dc-status-danger {
    background-color: var(--dc-status-danger-bg) !important;
    border: 1px solid var(--dc-status-danger-border) !important;
    color: var(--dc-status-danger-text) !important;
}

body .badge.bg-info,
body .badge.bg-primary,
body .badge.dc-status-info {
    background-color: var(--dc-status-info-bg) !important;
    border: 1px solid var(--dc-status-info-border) !important;
    color: var(--dc-status-info-text) !important;
}

body .badge.bg-secondary,
body .badge.badge-default,
body .badge.dc-status-neutral {
    background-color: var(--dc-status-neutral-bg) !important;
    border: 1px solid var(--dc-status-neutral-border) !important;
    color: var(--dc-status-neutral-text) !important;
}

/* Navigation counts are attention indicators, not status labels. Keep them
   borderless so the compact sidebar treatment remains visually lightweight. */
body .sidebar-menu .navigation-count-badge.bg-warning,
body .mobile-menu-badge.navigation-count-badge.bg-warning {
    background-color: #f5b301 !important;
    border: 0 !important;
    color: #ffffff !important;
}

body a.badge.bg-success:hover,
body a.badge.btn-success:hover,
body a.badge.dc-status-success:hover {
    background-color: #0f5f39 !important;
}

body a.badge.bg-warning:hover,
body a.badge.dc-status-warning:hover {
    background-color: #d97706 !important;
    color: #111827 !important;
}

body a.badge.bg-danger:hover,
body a.badge.dc-status-danger:hover {
    background-color: #8f1d14 !important;
}

body a.badge.bg-info:hover,
body a.badge.bg-primary:hover,
body a.badge.dc-status-info:hover {
    background-color: #1e40af !important;
}

body a.badge.bg-secondary:hover,
body a.badge.badge-default:hover,
body a.badge.dc-status-neutral:hover {
    background-color: #334155 !important;
}

body a.badge:focus-visible {
    box-shadow: none !important;
    outline: 2px solid var(--dc-primary-focus-ring, #2563eb);
    outline-offset: 2px;
}
