.topbar-user > a:is([href="/notifications"], [href="/messages"]) { position: relative; overflow: visible; }
.topbar-user > a.has-unread::after { content: none; }
.unread-count-badge { position: absolute; top: -6px; right: -7px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 19px; height: 19px; padding: 0 4px; border: 2px solid #41455f; border-radius: 12px; background: #b64043; color: #fff; font: 700 10px/1 system-ui, sans-serif; font-variant-numeric: tabular-nums; box-shadow: 0 2px 4px #25294526; pointer-events: none; }
.unread-count-badge[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
  .topbar-user > a[href="/notifications"].has-unread > .ui-icon { transform-origin: 50% 15%; animation: unread-bell 5s ease-in-out infinite; }
  .topbar-user > a[href="/messages"].has-unread > .ui-icon,
  .account-inbox.has-unread > .account-inbox-icon { transform-origin: center; animation: unread-envelope 5.6s ease-in-out infinite; }
  .has-unread > .unread-count-badge { animation: unread-count-pulse 5s ease-in-out infinite; }
  @keyframes unread-bell { 0%, 22%, 100% { transform: rotate(0); } 4%, 12% { transform: rotate(-13deg); } 8%, 16% { transform: rotate(13deg); } 19% { transform: rotate(-5deg); } }
  @keyframes unread-envelope { 0%, 22%, 100% { transform: translateY(0) rotate(0); } 6% { transform: translateY(-2px) rotate(-8deg); } 12% { transform: translateY(-2px) rotate(8deg); } 17% { transform: translateY(-1px) rotate(-3deg); } }
  @keyframes unread-count-pulse { 0%, 20%, 100% { transform: scale(1); } 10% { transform: scale(1.1); } }
}
