.badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-s);font-size:var(--t-xs);font-weight:500;line-height:1;white-space:nowrap;border:1px solid transparent;transition:all var(--transition-fast);color:var(--text-body);background-color:var(--surface-elevated)}.badge svg{width:1.2rem;height:1.2rem;flex-shrink:0}.badge--default{background-color:var(--surface-elevated);color:var(--fg);border-color:var(--border)}.badge--primary{background-color:var(--primary);color:var(--primary-foreground)}.badge--secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.badge--success{background-color:var(--success);color:var(--success-foreground)}.badge--warning{background-color:var(--warning);color:var(--warning-foreground)}.badge--error{background-color:var(--error);color:var(--error-foreground)}.badge--info{background-color:var(--info);color:var(--info-foreground)}.badge--primary-subtle{background-color:var(--primary-subtle);color:var(--primary);border-color:var(--primary)}.badge--success-subtle{background-color:var(--success-subtle);color:var(--success);border-color:var(--success)}.badge--warning-subtle{background-color:var(--warning-subtle);color:var(--warning);border-color:var(--warning)}.badge--error-subtle{background-color:var(--error-subtle);color:var(--error);border-color:var(--error)}.badge--info-subtle{background-color:var(--info-subtle);color:var(--info);border-color:var(--info)}.badge--primary-soft{background-color:hsla(from var(--primary) h s l/.1);color:var(--primary);border-color:transparent}.badge--success-soft{background-color:hsla(from var(--success) h s l/.1);color:var(--success);border-color:transparent}.badge--warning-soft{background-color:hsla(from var(--warning) h s l/.1);color:var(--warning);border-color:transparent}.badge--error-soft{background-color:hsla(from var(--error) h s l/.1);color:var(--error);border-color:transparent}.badge--info-soft{background-color:hsla(from var(--info) h s l/.1);color:var(--info);border-color:transparent}.badge--outline{background-color:transparent;border:1px solid var(--border);color:var(--fg-subtle);border-color:var(--border)}.badge--outline-primary{background-color:transparent;color:var(--primary);border-color:var(--primary)}.badge--outline-success{background-color:transparent;color:var(--success);border-color:var(--success)}.badge--outline-warning{background-color:transparent;color:var(--warning);border-color:var(--warning)}.badge--outline-error{background-color:transparent;color:var(--error);border-color:var(--error)}.badge--outline-info{background-color:transparent;color:var(--info);border-color:var(--info)}.badge.difficulty-1{background-color:var(--difficulty-1-subtle);color:var(--difficulty-1);border:1px solid var(--difficulty-1)}.badge.difficulty-2{background-color:var(--difficulty-2-subtle);color:var(--difficulty-2);border:1px solid var(--difficulty-2)}.badge.difficulty-3{background-color:var(--difficulty-3-subtle);color:var(--difficulty-3);border:1px solid var(--difficulty-3)}.badge.difficulty-4{background-color:var(--difficulty-4-subtle);color:var(--difficulty-4);border:1px solid var(--difficulty-4)}.badge.difficulty-5{background-color:var(--difficulty-5-subtle);color:var(--difficulty-5);border:1px solid var(--difficulty-5)}.badge--xs{padding:.15rem .4rem;font-size:1rem}.badge--xs svg{width:.9rem;height:.9rem}.badge--sm{padding:.2rem .5rem;font-size:1.1rem}.badge--sm svg{width:1rem;height:1rem}.badge--lg{padding:.3rem .8rem;font-size:1.3rem}.badge--lg svg{width:1.4rem;height:1.4rem}.badge--dot{padding-left:.5rem}.badge--dot:before{content:"";width:.6rem;height:.6rem;border-radius:50%;background-color:currentColor}.badge--category,.badge--category-cardio{background-color:var(--category-cardio);color:white}.badge--category-strength{background-color:var(--category-strength);color:white}.badge--category-yoga{background-color:var(--category-yoga);color:white}.badge--category-pilates{background-color:var(--category-pilates);color:white}.badge--category-hiit{background-color:var(--category-hiit);color:white}.badge--category-flexibility{background-color:var(--category-flexibility);color:white}.badge--category-recovery{background-color:var(--category-recovery);color:white}.badge--category-dance{background-color:var(--category-dance);color:white}.badge--interactive{cursor:pointer}.badge--interactive:hover{opacity:.9;transform:scale(1.05)}.badge--interactive:active{transform:scale(.95)}.badge--removable{padding-right:.3rem}.badge__remove{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:none;border:none;cursor:pointer;color:currentColor;opacity:.7;transition:opacity var(--transition-fast)}.badge__remove:hover{opacity:1;background-color:rgba(0,0,0,.1)}.badge__remove svg{width:1rem;height:1rem}.badge--tiny-new{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .4rem;border-radius:var(--radius-xs);font-size:1rem;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:.05em;background-color:var(--primary);color:var(--primary-foreground);border:none;margin-left:var(--space-2xs);vertical-align:middle}