/* Shared dock slot — hosts place <WidgetDockSlot Name="…" /> (or any [data-dns-widget-dock]).
   Empty slots collapse so layouts can always reserve the mount point. */

.dns-widget-dock-slot:empty {
    display: none !important;
}

.dns-widget-dock-slot.dns-widget-dock--filled {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; /* unread badge pins to a corner of the slot */
}

/* Docked launchers drop the floating-pill chrome; hosts (e.g. a nav rail) supply the box. */
.dns-widget-docked.tsw-launcher,
.dns-widget-docked.cw-button {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    box-shadow: none !important;
    z-index: auto !important;
}

/* Icon-only when docked: keep the label in the DOM for fallbacks but hide visually —
   the button's aria-label / title carries the accessible name. */
.dns-widget-docked.tsw-launcher > span:not(.tsw-badge) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
