@layer components {
  .scheduling-workspace { display: grid; gap: 2rem; }
  .scheduling-heading { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
  .scheduling-heading h1 { font-size: clamp(2rem, 4vw, 3rem); }
  .scheduling-heading p { margin-top: .65rem; color: var(--muted); max-width: 65ch; }
  .scheduling-actions, .scheduling-form-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
  .scheduling-filters { display: flex; gap: .75rem; align-items: end; flex-wrap: wrap; }
  .scheduling-filters > div { display: grid; gap: .3rem; }
  .scheduling-filters > div:nth-child(2) { flex: 1; min-width: 180px; max-width: 320px; }
  .scheduling-filters input[type=submit] { width: auto; }
  .scheduling-columns { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2rem; align-items: start; }
  .scheduling-agenda { min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
  .scheduling-section-heading { padding: 1.3rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }
  .scheduling-section-heading h2 { font-size: 1.5rem; }
  .scheduling-day-navigation { display: flex; gap: .4rem; }
  .scheduling-day-navigation .button { padding: .55rem; min-width: 44px; min-height: 44px; }
  .scheduling-event-list, .scheduling-linking-list { list-style: none; margin: 0; padding: 0; }
  .scheduling-event { display: grid; grid-template-columns: 108px minmax(0, 1fr) auto; align-items: start; gap: 1rem; padding: 1.5rem; }
  .scheduling-event + .scheduling-event { border-top: 1px solid var(--line); }
  .scheduling-event-time { font-size: .84rem; font-weight: 700; font-variant-numeric: tabular-nums; padding-top: .1rem; }
  .scheduling-event-title { color: var(--ink); font-size: 1rem; font-weight: 700; overflow-wrap: anywhere; }
  @media (hover: hover) and (pointer: fine) {
    .scheduling-event-title:hover { text-decoration: underline; }
  }
  .scheduling-event-details p, .scheduling-linking p { font-size: .84rem; color: var(--muted); margin-top: .25rem; }
  .scheduling-event-note { overflow-wrap: anywhere; }
  .scheduling-badges { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-top: .45rem; }
  .scheduling-badges:empty { display: none; }
  .scheduling-badge { display: inline-flex; border-radius: 999px; padding: .2rem .55rem; background: var(--paper); color: var(--muted); font-size: .73rem; font-weight: 700; }
  .scheduling-badge.needs-attention { background: var(--warning-soft); color: var(--warning-ink); }
  .scheduling-source { color: var(--muted); font-size: .73rem; }
  .scheduling-row-action { display: inline-flex; align-items: center; min-height: 44px; font-size: .84rem; font-weight: 700; }
  .scheduling-event.is-cancelled .scheduling-event-title { text-decoration: line-through; }
  .scheduling-empty { padding: 3rem 1.5rem; display: grid; justify-items: start; gap: .75rem; }
  .scheduling-empty > .ui-icon { width: 2rem; height: 2rem; color: var(--periwinkle); margin-bottom: .25rem; }
  .scheduling-empty p { color: var(--muted); max-width: 45ch; }
  .scheduling-linking { padding-top: .5rem; }
  .scheduling-linking h2 { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; display: flex; align-items: center; gap: .5rem; }
  .scheduling-count { font-size: .75rem; background: var(--lilac-soft); color: var(--periwinkle); border-radius: 999px; padding: .2rem .5rem; }
  .scheduling-linking > header > p { margin-top: .65rem; }
  .scheduling-linking-list li { padding: 1.3rem 0; border-bottom: 1px solid var(--line-strong); }
  .scheduling-linking-list li:first-child { margin-top: .5rem; }
  .scheduling-linking .scheduling-queue-empty { padding: 1.3rem 0; color: var(--success); }
  .scheduling-editor { max-width: 820px; margin: 0 auto; }
  .scheduling-back { display: inline-flex; min-height: 44px; align-items: center; margin-bottom: 1rem; font-weight: 700; font-size: .84rem; }
  .scheduling-editor .scheduling-heading { margin-bottom: 2rem; }
  .scheduling-form { display: grid; gap: 1.5rem; }
  .scheduling-form fieldset { margin: 0; background: var(--surface); padding: 1.5rem; gap: 1.25rem; }
  .scheduling-form legend { font-size: 1rem; }
  .scheduling-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
  .scheduling-form-grid > .appointment-start-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .scheduling-form :is(input[type="date"], input[type="number"], input[role="combobox"], select) { height: 3rem; min-width: 0; padding-block: .625rem; }
  .appointment-start-fields > div { min-width: 0; display: grid; gap: .4rem; align-content: start; }
  .scheduling-form-grid > div, .scheduling-form fieldset > div:has(> input) { display: grid; gap: .4rem; }
  .scheduling-muted { color: var(--muted); font-size: .84rem; margin-top: .4rem; max-width: 65ch; }
  .scheduling-checkbox { display: flex; align-items: start; gap: .65rem; min-height: 44px; font-size: .9rem; cursor: pointer; }
  .scheduling-checkbox input { width: 18px; height: 18px; flex: 0 0 auto; margin: .15rem 0 0; accent-color: var(--navy); }
  .scheduling-checkbox small { font-weight: 400; margin-top: .25rem; }
  .scheduling-notice { padding: 1.25rem; border: 1px solid var(--warning-border); background: var(--warning-soft); color: var(--warning-ink); border-radius: 12px; margin-bottom: 1rem; }
  .scheduling-notice h2 { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; }
  .scheduling-notice p + p { margin-top: .5rem; }
  .scheduling-cancellation { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; border-top: 1px solid var(--line-strong); margin-top: 3rem; padding-top: 1.5rem; }
  .scheduling-cancellation h2 { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; }
  .scheduling-cancellation p { font-size: .84rem; color: var(--muted); margin-top: .4rem; }
  @media (max-width: 1100px) {
    .scheduling-columns { grid-template-columns: minmax(0, 1fr); }
    .scheduling-linking { padding-top: 1rem; border-top: 1px solid var(--line-strong); }
    .scheduling-heading { align-items: start; flex-direction: column; }
  }
  @media (max-width: 650px) {
    .scheduling-event { grid-template-columns: minmax(0, 1fr) auto; gap: .5rem; padding: 1rem; }
    .scheduling-event-time { grid-column: 1 / -1; }
    .scheduling-section-heading { padding: 1rem; }
    .scheduling-section-heading h2 { font-size: 1.25rem; }
    .scheduling-form-grid { grid-template-columns: minmax(0, 1fr); }
    .scheduling-form fieldset { padding: 1rem; }
    .scheduling-cancellation { flex-direction: column; align-items: start; }
    .scheduling-actions { width: 100%; }
    .scheduling-actions .button { flex: 1; }
  }
}
@layer components {
  .scheduling-provenance { padding: 1rem 0; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line-strong); }
  .scheduling-provenance h2 { font-family: var(--font-sans); font-size: 1rem; font-weight: 700; }
  .scheduling-provenance p { color: var(--muted); font-size: .84rem; margin-top: .5rem; }
  .scheduling-provenance summary { cursor: pointer; font-size: .84rem; font-weight: 700; margin-top: 1rem; min-height: 44px; display: flex; align-items: center; }
  .scheduling-original-details { white-space: pre-wrap; overflow-wrap: anywhere; }
  .scheduling-conflict-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
  .scheduling-conflict-comparison dt { font-weight: 700; }
  .scheduling-conflict-comparison dd { margin: .25rem 0 0; font-size: .84rem; }
  @media (max-width: 650px) { .scheduling-conflict-comparison { grid-template-columns: minmax(0, 1fr); } }
}
@layer components {
  .scheduling-form [hidden] { display: none; }
}
@layer components {
  .scheduling-form-grid > div { align-content: start; min-width: 0; }
  .scheduling-form select { text-overflow: ellipsis; }
  .scheduling-field-error { color: var(--warning-ink); font-size: .84rem; }
  .scheduling-field-error:empty, .scheduling-time-summary:empty { display: none; }
  .scheduling-time-summary { font-size: .9rem; font-weight: 700; }
  .scheduling-status-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: .84rem; color: var(--muted); }
  .scheduling-queue-jump { flex-shrink: 0; min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; }
  .scheduling-provenance { padding: 0; margin-bottom: 1rem; }
  .scheduling-provenance > summary { display: list-item; padding: .65rem 0; margin: 0; }
  .scheduling-provenance[open] { padding-bottom: 1rem; }
  .scheduling-connection > h1 { margin-top: 1rem; }
  .scheduling-connection > .muted { margin-top: .75rem; }
  .scheduling-connection > section { margin-top: 2rem; }
  .scheduling-connection section h2 + p { margin-top: .75rem; }
  .scheduling-connection section p + h2 { margin-top: 2rem; }
  .scheduling-connection section p + .button { margin-top: 1rem; }
  .scheduling-event { padding-top: 1.1rem; padding-bottom: 1.1rem; }
  @media (max-width: 650px) {
    .scheduling-page .site-header { padding: .35rem .65rem; gap: .35rem; }
    .scheduling-page .site-header .brand-logo--mark { width: 28px; height: 28px; }
    .scheduling-page .site-header .sidebar-session { padding: 0; }
    .scheduling-page .site-header nav { scrollbar-width: thin; gap: .5rem; }
    .scheduling-page .site-header .nav-link { flex: 0 0 auto; min-width: 90px; min-height: 44px; padding: .4rem .6rem; flex-direction: row; gap: .5rem; white-space: nowrap; }
    .scheduling-page .site-header .nav-glyph { width: 1rem; height: 1rem; }
    .scheduling-page .page-shell { padding-top: .75rem; }
    .scheduling-workspace { gap: .75rem; }
    .scheduling-heading { gap: 1rem; }
    .scheduling-status-row { flex-wrap: wrap; gap: .25rem; }
    .scheduling-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .5rem; }
    .scheduling-filters > div:nth-child(2) { min-width: 0; }
    .scheduling-filters input, .scheduling-filters select { padding: .65rem .5rem; }
    .scheduling-editor .scheduling-heading { margin-bottom: 1rem; }
    .scheduling-back { margin-bottom: .35rem; }
    .scheduling-notice { padding: .85rem; }
    .scheduling-form { gap: 1rem; }
    .scheduling-form-actions { position: sticky; bottom: 0; background: var(--surface); padding: .75rem 0; border-top: 1px solid var(--line); }
    .scheduling-form-actions .button { flex: 1; }
    .scheduling-connection > section { margin-top: 1.25rem; }
  }
}
