/* Agenda — hand-authored additions.

   pages/agenda.css is GENERATED from the design handoff by scripts/extract_page_css.py and
   must never be hand-edited; additions live here (CLAUDE.md house style).

   The mock styled its break rows with inline `style=` attributes duplicating the
   `.session--break` rules that already exist in the generated file. Those are dropped rather
   than reproduced — the class already does the work. What remains here is the flat-row
   layout the mock only ever expressed inline, and one state the mock did not have. */

/* A row with nothing to expand: registration, breaks, the close — and any session whose
   brief has not been written yet. Same grid as a <summary>, minus the chevron column. */
.session__row {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: var(--sp-3);
  padding: var(--sp-4);
}

/* Pagehead CTA row. */
.pagehead__ctas {
  display: flex;
  gap: var(--sp-3);
  flex-wrap: wrap;
}

/* The "timings may shift" footnote. */
.agenda-note {
  margin: 0;
}

/* A programme slot that is real but not yet written up. It must not look like an error —
   the sessions are confirmed, the copy simply follows with each speaker wave. */
.session--pending .session__title {
  color: var(--c-text-secondary);
}
