/* Desk-only layout additions. Tokens only; no values of its own. */
.b-stack { display: grid; gap: var(--b-space-4); }
.b-between { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--b-space-2); }
.b-gap-row { display: flex; flex-wrap: wrap; gap: var(--b-space-2); align-items: center; }
.b-pad-view__title { font-family: var(--b-font-serif); font-size: var(--b-text-2xl); font-weight: var(--b-weight-regular); line-height: var(--b-leading-tight); margin: 0 0 var(--b-space-4); }
.b-rail__item[aria-disabled="true"], .b-section__item[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; }
.b-section__note { padding: var(--b-space-3) var(--b-space-4); }
.b-boot { padding: var(--b-space-8) var(--b-space-6); }
/* Month cells (E3-C3/C4). The copied components.css gives each Month cell and event an auto grid
   column, so a nowrap title makes the column as wide as the whole title and the event's
   overflow:hidden then clips the title AND the time. Constrain the tracks so the time can stack
   and the title can ellipsize. Tokens only; components.css is untouched. */
.b-cal-month > div { grid-template-columns: minmax(0, 1fr); }
.b-cal-month .b-event { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.b-cal-month .b-event strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.b-cal-month .b-event time { white-space: normal; overflow-wrap: normal; }
@media (max-width: 759px) {
  /* Seven narrow columns: give the text the room. The time is never cut: it stacks (10:00 / – / 11:00). */
  .b-cal-month > div { padding: var(--b-space-0); }
  .b-cal-month .b-event { padding-inline: var(--b-space-1); }
}

/* Section rail (E1-C1): the Person ID is one 39-character unbreakable token, wider than the rail.
   .b-section has overflow-y:auto, which makes overflow-x compute to auto and gives the rail its own
   horizontal scrollbar. Let the ID wrap so it stays fully readable; nothing is hidden or clipped. */
.b-section__header #desk-person { overflow-wrap: anywhere; min-width: 0; }
