/* Color is an additional cue; every label remains readable without it. */
.tp-routing-badge {
    display: inline-flex; align-items: center; gap: .25rem; max-width: 100%;
    margin: .1rem .2rem .1rem 0; padding: .1rem .3rem;
    background: #eff6ff; border: 1px solid #bfdbfe; border-radius: .25rem;
    color: #1d4ed8; font-size: 12px; font-weight: 400; line-height: 1.4;
    white-space: normal; overflow-wrap: anywhere; text-align: left; vertical-align: middle;
}
.tp-routing-badge.campaign-badge { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.tp-routing-labels { display: flex; align-items: center; flex-wrap: wrap; gap: .1rem; min-width: 0; }
.tp-routing-badge.admin-badge { background: #f8fafc; border-color: #cbd5e1; color: #334155; }
.tp-routing-dot { display: inline-block; width: .5rem; height: .5rem; flex: 0 0 .5rem; border-radius: 50%; border: 1px solid rgba(0,0,0,.18); }
.tp-routing-kind { font-size: .75em; font-weight: 400; color: #64748b; }
.tp-routing-source { color: #64748b; font-size: .85em; }
.tp-routing-section { margin: .6rem 0 .3rem; font-size: 12px; font-weight: 600; color: #475569; }
.dropdown-menu-campaigns-groups { min-width: min(28rem, calc(100vw - 3rem)); max-width: calc(100vw - 3rem); }
.dropdown-menu-campaigns-groups .custom-control-label,
[id^="checkbox-container-groups"] .custom-control-label,
.group-selector .custom-control-label { white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
[id^="checkbox-container-groups"] .custom-control { min-width: 0; }
.chat-list-item > .flex-grow-1 { min-width: 0; }
.chat-list-item > .flex-grow-1 > div { min-width: 0; flex: 1; }
.chat-list-item .tp-routing-badge { white-space: normal; }
#active-contact-admins .admin-badge { max-width: 100%; }
.tp-group-picker { width: 100%; min-width: 10rem; max-width: 28rem; }
.tp-group-picker summary { cursor: pointer; color: #1366c9; padding: .4rem 0; }
.tp-group-picker-options { display: flex; flex-direction: column; gap: .25rem; max-height: 16rem; overflow-y: auto; }
.tp-group-picker-options button { white-space: normal; overflow-wrap: anywhere; text-align: left; }
