/* Drop 1078: the numbers in the top menus — what is waiting for action on each page, its section and its menu. */
:root { --nc-bg: var(--gold-400, #E5A833); --nc-fg: #1A1205; --nc-late: #D92D20; --nc-late-fg: #FFFFFF; --nc-ring: rgba(229, 168, 51, .35); }
.nc-b { display: inline-flex; align-items: center; justify-content: center; flex: none; box-sizing: border-box; min-width: 19px; height: 19px; padding: 0 6px;
  border-radius: 999px; background: var(--nc-bg); color: var(--nc-fg); font-size: .68rem; font-weight: 800; line-height: 1; letter-spacing: 0;
  font-variant-numeric: tabular-nums; white-space: nowrap; margin-inline-start: auto; }
.nc-b[hidden] { display: none !important; }
.nc-b.is-late { background: var(--nc-late); color: var(--nc-late-fg); }
/* drop 1079: themes colour .is-late text red (ux-plus.css: the staff light theme, the portal dark theme) — a badge keeps its own colours, so its number stays readable */
html body .nc-b, html body .nc-b:hover { color: var(--nc-fg) !important; -webkit-text-fill-color: currentColor; }
html body .nc-b.nc-b.is-late, html body .nc-b.nc-b.is-late:hover { background: var(--nc-late) !important; color: var(--nc-late-fg) !important; }
.nc-b.nc-top { min-width: 17px; height: 17px; padding: 0 5px; font-size: .62rem; margin-inline-start: .15rem; }
.nc-b.is-pop { animation: nc-pop .55s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes nc-pop { 0% { transform: scale(.6); } 60% { transform: scale(1.18); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .nc-b.is-pop { animation: none; } }
/* inside a menu link the badge sits at the end of the row; in a rail button it replaces the page count */
.nv-link .nc-b, .pn-link .nc-b, .nv-sec .nc-b, .pn-sec .nc-b { margin-inline-start: .4rem; }
.cph-link .nc-b { margin-inline-start: .3rem; }
/* narrow top bars: the menu total becomes a dot so the labels keep their room */
@media (max-width: 1380px) and (min-width: 969px) { .nv-top .nc-b.nc-top { min-width: 8px; width: 8px; height: 8px; padding: 0; font-size: 0; } }
