[data-ui-surface="navigator"] .calendar-panel__surface {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

[data-ui-surface="navigator"] .calendar-agenda__scroll {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
  scrollbar-width: none;
}
[data-ui-surface="navigator"] .calendar-agenda__scroll::-webkit-scrollbar { width: 0; height: 0; }

[data-ui-surface="navigator"] .calendar-month {
  flex: none;
  margin: var(--arhix-space-block) var(--arhix-space-inset) 0;
  padding-bottom: var(--arhix-space-block);
  border-bottom: 1px solid var(--arhix-line);
}
[data-ui-surface="navigator"] .calendar-month__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--arhix-control-height) var(--arhix-control-height);
  gap: var(--arhix-space-micro);
  margin-bottom: var(--arhix-space-gap);
}
[data-ui-surface="navigator"] .calendar-month__title,
[data-ui-surface="navigator"] .calendar-month__chevron,
[data-ui-surface="navigator"] .calendar-month__day {
  height: var(--arhix-control-height);
  border-radius: var(--arhix-radius-control);
  background: var(--arhix-surface);
  color: var(--arhix-ink);
}
[data-ui-surface="navigator"] .calendar-month__title {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 0 var(--arhix-space-inset);
  font: var(--arhix-font-weight-body) var(--arhix-font-size-body)/1 var(--arhix-font);
}
[data-ui-surface="navigator"] .calendar-month__chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--arhix-ink-muted);
  cursor: pointer;
}
[data-ui-surface="navigator"] .calendar-month__chevron:hover { background: var(--arhix-surface-sunken); }
[data-ui-surface="navigator"] .calendar-month__chevron svg { width: var(--arhix-icon-size); height: var(--arhix-icon-size); }
[data-ui-surface="navigator"] .calendar-month__chevron[data-calendar-month-step="-1"] svg { transform: rotate(90deg); }
[data-ui-surface="navigator"] .calendar-month__chevron[data-calendar-month-step="1"] svg { transform: rotate(-90deg); }
[data-ui-surface="navigator"] .calendar-month__weekdays,
[data-ui-surface="navigator"] .calendar-month__days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  column-gap: var(--arhix-space-micro);
}
[data-ui-surface="navigator"] .calendar-month__weekdays { margin-bottom: var(--arhix-space-micro); }
[data-ui-surface="navigator"] .calendar-month__days { row-gap: var(--arhix-space-micro); }
[data-ui-surface="navigator"] .calendar-month__weekday {
  height: var(--arhix-control-height);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--arhix-ink-muted);
  font: var(--arhix-font-weight-body) var(--arhix-font-size-body)/1 var(--arhix-font);
}
[data-ui-surface="navigator"] .calendar-month__day {
  display: grid;
  place-items: center;
  min-width: 0;
  padding: 0;
  text-align: center;
  font: var(--arhix-font-weight-body) var(--arhix-font-size-body)/1 var(--arhix-font);
  cursor: pointer;
}
[data-ui-surface="navigator"] .calendar-month__day.is-weekend { color: var(--arhix-ink-muted); }
[data-ui-surface="navigator"] .calendar-month__day:hover { background: var(--arhix-surface-sunken); }
[data-ui-surface="navigator"] .calendar-month__day:focus-visible {
  outline: 2px solid var(--arhix-accent);
  outline-offset: 1px;
}
[data-ui-surface="navigator"] .calendar-month__day.is-today {
  background: var(--arhix-ink);
  color: var(--arhix-surface-raised);
  font-weight: var(--arhix-font-weight-label);
}
[data-ui-surface="navigator"] .calendar-month__day:is(.is-selected, .is-range-start, .is-range-end) {
  background: var(--arhix-accent);
  color: var(--arhix-surface-raised);
}
[data-ui-surface="navigator"] .calendar-month__day.is-range-between { background: var(--arhix-accent-tint); }
[data-ui-surface="navigator"] .calendar-month__day.is-today.is-range-between {
  color: var(--arhix-ink);
}

[data-ui-surface="navigator"] .calendar-agenda {
  padding-bottom: var(--arhix-space-block);
}
[data-ui-surface="navigator"] .calendar-agenda::after {
  content: "";
  display: block;
  margin: var(--arhix-space-block) var(--arhix-space-inset) 0;
  border-bottom: 1px solid var(--arhix-line);
}
[data-ui-surface="navigator"] .calendar-agenda__marker {
  margin: var(--arhix-space-block) var(--arhix-space-inset) 0;
  padding-top: var(--arhix-space-block);
  border-top: 1px solid var(--arhix-line);
}
[data-ui-surface="navigator"] .calendar-agenda__marker.is-first-visible {
  padding-top: 0;
  border-top: 0;
}
[data-ui-surface="navigator"] .calendar-agenda__date {
  min-width: var(--arhix-control-height);
  height: var(--arhix-control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--arhix-space-gap);
  border-radius: var(--arhix-radius-control);
  background: var(--arhix-surface);
  color: var(--arhix-ink);
  font: var(--arhix-font-weight-body) var(--arhix-font-size-body)/1 var(--arhix-font);
}
[data-ui-surface="navigator"] .calendar-agenda__date.is-today {
  background: var(--arhix-ink);
  color: var(--arhix-surface-raised);
  font-weight: var(--arhix-font-weight-label);
}
[data-ui-surface="navigator"] .calendar-agenda > .calendar-event {
  width: calc(100% - 2 * var(--arhix-space-inset));
  margin-top: var(--arhix-space-block);
  background: var(--arhix-surface);
}
[data-ui-surface="navigator"] .calendar-agenda > .calendar-event + .calendar-event {
  margin-top: var(--arhix-space-micro);
}
[data-ui-surface="navigator"] .calendar-agenda > .calendar-event.panel__item--current {
  background: var(--arhix-accent-tint);
}
[data-ui-surface="navigator"] .calendar-agenda > .calendar-project-version {
  cursor: default;
}
[data-ui-surface="navigator"] .calendar-agenda > .calendar-project-version:hover {
  background: var(--arhix-surface);
}
/* Calendar events are authored as grey rows, so their carried and landing
   copies keep that same surface. The common navigator ghost stays raised
   white for every other collection. */
[data-ui-surface="navigator"] .drag-ghost:not(.drag-ghost--current) > .panel__item.calendar-event {
  background: var(--arhix-surface);
}
/* The shared drag law mutes stale :hover by making ordinary navigator rows
   transparent while the live FLIP and landing settle. Calendar events are
   grey at rest, so a displaced neighbour must keep that authored surface
   instead of briefly exposing the white panel underneath. */
[data-ui-surface="navigator"] .navigator__panel.is-hover-muted
    .calendar-agenda > .calendar-event:not(.panel__item--current):not(.panel__item--picked):hover {
  background: var(--arhix-surface);
}
[data-ui-surface="navigator"] .calendar-agenda > .calendar-event--hidden :is(.item__name, .item__badge-text) {
  color: var(--arhix-ink-muted);
}
[data-ui-surface="navigator"] .calendar-agenda__empty {
  margin: var(--arhix-space-block) var(--arhix-space-inset);
  color: var(--arhix-ink-muted);
  font: var(--arhix-font-weight-body) var(--arhix-font-size-body)/1.4 var(--arhix-font);
}
[data-ui-surface="navigator"] .calendar-agenda__create {
  background: var(--arhix-surface);
}
[data-ui-surface="navigator"] .calendar-agenda__create .item__name {
  padding-right: 0;
  text-align: center;
}
