.schedule-tool-heading {
  margin-block-end: clamp(1.4rem, 4vw, 2.5rem);
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--border);
}
.schedule-tool-heading > a,
.schedule-tool-link,
.schedule-tool-link-list a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
}
.schedule-tool-heading h1 { margin: .35rem 0; }
.schedule-tool-heading p {
  max-inline-size: 64ch;
  margin: .35rem 0 0;
  color: var(--muted);
}
.schedule-tool-measure { max-inline-size: 42rem; }
.schedule-tool-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.15rem;
}
.schedule-tool-form > :is(button, .button) { justify-self: start; }
.schedule-tool-form > p { margin: 0; }
.schedule-tool-empty,
.schedule-tool-note,
.schedule-tool-success {
  max-inline-size: 58ch;
  margin-block: 1rem;
  padding: .75rem 1rem;
  border-inline-start: 3px solid var(--control-border);
  background: var(--paper);
}
.schedule-tool-note { border-color: var(--warning); background: var(--warning-tint); }
.schedule-tool-success { border-color: var(--success); background: var(--success-tint); }
.schedule-tool-choices {
  min-inline-size: 0;
  margin: 0;
  padding-block: .35rem .65rem;
  border: 0;
  border-block-end: 1px solid var(--border);
}
.schedule-tool-choices legend { padding-inline: 0; }
.schedule-tool-choices .circle-option {
  padding-block: .5rem;
  border-block-end: 1px solid var(--border);
}
.schedule-tool-choices .circle-option:last-child { border-block-end: 0; }
.schedule-tool-submit {
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--border);
}
.schedule-tool-link-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-start: 1px solid var(--border);
}
.schedule-tool-link-list li { border-block-end: 1px solid var(--border); }
.schedule-tool-link-list a { min-inline-size: 2.75rem; padding-block: .45rem; }
.schedule-tool-pointer-help {
  margin-block: -.4rem 1rem;
  color: var(--muted);
  font-size: .9rem;
}
@media (max-width: 36rem), (pointer: coarse) {
  .schedule-tool-pointer-help { display: none; }
}

.calendar-days.schedule-calendar-board {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 1.25rem;
}
.schedule-calendar-board .calendar-day {
  min-inline-size: 0;
  border-block-start: 3px solid var(--link);
  border-block-end: 1px solid var(--border);
}
.schedule-calendar-board .calendar-day-header {
  padding: .65rem .85rem .3rem;
  background: var(--paper);
}
.schedule-calendar-board .calendar-day-header .day-metadata {
  margin: 0;
  font-size: .83rem;
}
.schedule-calendar-board .calendar-day-header a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  color: var(--ink);
}
.schedule-calendar-board .calendar-items { margin: 0; }
.schedule-calendar-board .calendar-item { padding: .6rem .85rem .25rem; }
.schedule-calendar-board .calendar-item-time { color: var(--muted); font-size: .85rem; }
.schedule-calendar-board .calendar-item-title {
  display: flex;
  align-items: center;
  min-block-size: 2.75rem;
  font-weight: 700;
}
.schedule-calendar-board .calendar-actions {
  gap: .15rem .9rem;
  align-items: center;
}
.schedule-calendar-board .calendar-actions a,
.schedule-calendar-board footer a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  font-size: .9rem;
}
.schedule-calendar-board .calendar-actions:empty { display: none; }
.schedule-calendar-board .calendar-day > footer {
  padding-inline: .85rem;
  border-block-start: 1px solid var(--border);
}
.calendar-day-empty { padding-inline: .85rem; color: var(--muted); }
.schedule-template-library {
  max-inline-size: 42rem;
  margin-block-start: clamp(1.75rem, 5vw, 3rem);
}
.schedule-calendar-change,
.schedule-group-workspace {
  display: grid;
  gap: 1.4rem;
  align-items: start;
}
.schedule-calendar-change > *,
.schedule-group-workspace > * { min-inline-size: 0; }
.schedule-calendar-change h2,
.schedule-group-workspace h2 { margin-block-start: 0; }
.schedule-calendar-current {
  padding: 1rem;
  border-block-start: 2px solid var(--control-border);
  background: var(--paper);
}
.schedule-calendar-current h2 { font-size: 1.15rem; }
.schedule-calendar-current > a:not(.button),
.calendar-preview a {
  display: inline-flex;
  align-items: center;
  min-block-size: 2.75rem;
  justify-self: start;
}
.schedule-calendar-change .calendar-preview {
  padding: 1rem;
  border-block-start: 2px solid var(--primary);
  background: var(--accent-tint);
}
.schedule-template-items { margin-block-end: 0; }
.schedule-template-items li { padding-block: .4rem; border-block-start: 1px solid var(--border); }
.schedule-template-items li > :first-child { margin-inline-end: .4rem; }
@media (min-width: 52rem) {
  .schedule-calendar-change { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .schedule-group-workspace:has(> section):has(> form) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}

.schedule-upload {
  margin-block-start: 1rem;
  padding: clamp(.8rem, 3vw, 1.3rem);
  border-block-start: 2px solid var(--teal);
  background: var(--paper);
}
.schedule-upload input[type="file"] {
  padding: .2rem;
  min-inline-size: 0;
}
.schedule-upload input[type="file"]::file-selector-button {
  min-block-size: 2.75rem;
  max-inline-size: 100%;
  margin-inline-end: .6rem;
  padding: .35rem .65rem;
  border: 1px solid var(--control-border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
}
.schedule-upload input[type="file"]::file-selector-button:hover { background: var(--link-tint); }
.schedule-upload input[type="file"]::file-selector-button:active { background: var(--accent-tint); }
.word-import-form { margin-block-start: 1.25rem; }
.word-import-form .schedule-tool-submit p { margin-block: 0 .65rem; }
.word-review-options { display: grid; justify-items: start; gap: .75rem; }
.word-review-options label { inline-size: min(100%, 36rem); }
.word-review-ledger { border-block-start: 2px solid var(--ink); }
.word-review-entry { min-inline-size: 0; border-block-end: 1px solid var(--border); }
.word-review-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .3rem .65rem;
  align-items: center;
  min-block-size: 3.25rem;
  padding: .7rem .45rem;
  cursor: pointer;
  list-style: none;
}
.word-review-summary::-webkit-details-marker { display: none; }
.word-review-summary::after {
  content: "";
  grid-row: 1;
  grid-column: 3;
  inline-size: .55rem;
  block-size: .55rem;
  margin-inline: .2rem;
  border: solid var(--link);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.word-review-entry[open] > .word-review-summary::after { transform: rotate(225deg); }
.word-review-summary:hover,
.word-review-entry[open] > .word-review-summary { background: var(--link-tint); }
.word-review-summary:active { background: var(--accent-tint); }
.word-review-row-number {
  display: grid;
  place-items: center;
  inline-size: 2rem;
  block-size: 2rem;
  border-radius: 50%;
  background: var(--paper);
  color: var(--ink);
  font-size: .9rem;
  font-variant-numeric: tabular-nums;
}
.word-review-summary-text {
  display: grid;
  min-inline-size: 0;
  gap: .15rem;
  text-align: start;
  overflow-wrap: anywhere;
}
.word-review-summary-text .day-metadata { font-size: .87rem; font-weight: 450; }
.word-review-summary > .badge { grid-column: 2; justify-self: start; }
.word-review-summary > .word-review-skipped { display: none; }
.word-review-entry:has(.word-row-skip input:checked) .word-review-skipped { display: inline-block; }
.word-review-error-summary {
  margin-block-end: 1.25rem;
  padding: 1rem;
  border-inline-start: 3px solid var(--danger);
  background: var(--danger-tint);
}
.word-review-error-summary h2 { margin-block: 0 .4rem; }
.word-review-error-summary p { margin-block: 0 .85rem; }
.word-review-inline-error {
  color: var(--danger-ink);
  margin: 0 0 .7rem;
  font-weight: 650;
}
.word-import-form :is(input, select, fieldset, p)[id] { scroll-margin-block-start: 1rem; }
.word-review-row {
  min-inline-size: 0;
  margin: 0;
  padding: .85rem .45rem;
  border: 0;
  border-radius: 0;
}
.word-review-fieldset-title {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.word-review-layout {
  display: grid;
  gap: 1rem;
  align-items: start;
}
.word-review-layout > * { min-inline-size: 0; }
.word-review-source {
  padding: .75rem;
  border-inline-start: 2px solid var(--control-border);
  background: var(--paper);
}
.word-review-source h2 { margin: 0 0 .5rem; font-size: 1rem; }
.word-review-source dl { margin: 0; font-size: .9rem; }
.word-review-source dl > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: .65rem;
}
.word-review-source dl > div + div {
  margin-block-start: .4rem;
  padding-block-start: .4rem;
  border-block-start: 1px solid var(--border);
}
.word-review-source dt { color: var(--muted); }
.word-review-source dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.word-review-edit { gap: .7rem; }
.travel-import-review { gap: 1.45rem; }
.travel-import-date {
  min-inline-size: 0;
  border-block-start: 3px solid var(--teal);
  border-block-end: 1px solid var(--border);
}
.travel-import-date-heading { padding: .7rem .8rem; background: var(--paper); }
.travel-import-date-heading h2 { margin: 0; }
.travel-import-bulk:not([hidden]) {
  display: grid;
  gap: .5rem;
  margin-block-start: .7rem;
}
.travel-import-bulk-controls {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
  align-items: center;
  max-inline-size: 34rem;
}
.travel-import-bulk-controls select { flex: 1 1 13rem; }
.travel-import-bulk-controls button { justify-content: center; }
.travel-import-bulk p { margin: 0; color: var(--muted); }
.travel-import-row {
  display: grid;
  gap: .8rem;
  align-items: start;
  padding: 1rem .8rem;
  border-block-start: 1px solid var(--border);
  scroll-margin-block-start: 1rem;
}
.travel-import-row h3 { margin-block: .3rem .5rem; font-size: 1.18rem; }
.travel-import-row > * { min-inline-size: 0; }
.travel-import-file-row { margin: 0; font-size: .88rem; }
.travel-import-kind, .travel-import-flight-number { margin-block: .3rem; color: var(--muted); }
.travel-import-legs { margin: .5rem 0 0; padding: 0; list-style: none; }
.travel-import-legs > li + li { margin-block-start: .7rem; }
.travel-import-leg { margin: 0; border-inline-start: 2px solid var(--control-border); }
.travel-import-stop { position: relative; padding-inline-start: .8rem; }
.travel-import-stop + .travel-import-stop { margin-block-start: .65rem; }
.travel-import-stop::before {
  content: "";
  position: absolute;
  inset-block-start: .5em;
  inset-inline-start: -.3rem;
  inline-size: .5rem;
  block-size: .5rem;
  border-radius: 50%;
  background: var(--link);
}
.travel-import-stop dt { font-size: .88rem; font-weight: 700; }
.travel-import-stop time { font-variant-numeric: tabular-nums; }
.travel-import-stop dd { margin: 0; }
.travel-import-stop dd .day-metadata { display: block; font-size: .83rem; }
.travel-import-target { padding: .75rem; background: var(--paper); }
.travel-import-target p { margin: 0; }
.travel-import-target label { margin-block-end: .35rem; }
.travel-import-target-label { font-size: .88rem; color: var(--muted); }
.travel-import-error {
  margin-block-end: 1rem;
  padding: 1rem;
  border-inline-start: 3px solid var(--danger);
  background: var(--danger-tint);
}
.travel-import-error h2 { margin-block: 0 .4rem; }
.travel-import-error p { margin-block: 0 .8rem; }
.travel-import-target .travel-import-inline-error {
  color: var(--danger-ink);
  margin-block-end: .6rem;
  font-weight: 650;
}
.travel-import-target select[aria-invalid="true"] { border-color: var(--danger); }
@media (min-width: 52rem) {
  .word-review-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr); }
  .travel-import-row { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}

.schedule-group-review .draft-group-item {
  padding-block: 1rem;
  border-block-start: 2px solid var(--ink);
}
.schedule-group-review .draft-group-comparison { gap: .65rem; }
.schedule-group-review .draft-group-comparison > section {
  min-inline-size: 0;
  padding: .8rem;
}
.schedule-group-review .draft-proposal {
  border-block-start: 2px solid var(--primary);
  background: var(--accent-tint);
}
.schedule-group-review .draft-published {
  border-block-start: 2px solid var(--control-border);
  background: var(--paper);
}
.schedule-group-review .draft-group-comparison h2 { margin: 0 0 .7rem; }
.schedule-group-review .draft-group-comparison a:not(.button) {
  display: inline-flex;
  min-block-size: 2.75rem;
  align-items: center;
}
.schedule-group-review .draft-action button { margin-block-start: .75rem; }
.schedule-group-review > .publication-actions {
  padding-block-start: 1rem;
  border-block-start: 1px solid var(--border);
}

.schedule-export-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: .85rem;
  align-items: end;
}
.schedule-export-lead { color: var(--muted); max-inline-size: 60ch; }
.schedule-export-compose, .schedule-export-review {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr);
  max-inline-size: 60rem;
  align-items: start;
  margin-block-start: 1rem;
}
.schedule-export-settings {
  display: grid;
  gap: .85rem;
  min-inline-size: 0;
  margin: 0;
  padding: .7rem .8rem .8rem;
  background: var(--paper);
  border: 1px solid var(--border);
}
.schedule-export-settings select { inline-size: 100%; }
.schedule-export-members { max-inline-size: none; }
.schedule-export-members p { margin: .25rem 0 .55rem; color: var(--muted); }
.schedule-export-members .circle-option { min-block-size: 3rem; }
.schedule-export-member { display: grid; min-inline-size: 0; text-align: start; overflow-wrap: anywhere; }
.schedule-export-member > bdi { justify-self: start; max-inline-size: 100%; }
.schedule-export-member-email { color: var(--muted); font-size: .9rem; }
.schedule-export-review h2 { margin-block: 0 .55rem; font-size: 1.15rem; }
.schedule-export-review-facts dl {
  margin: 0 0 1.35rem;
  border-block-start: 1px solid var(--border);
}
.schedule-export-review-facts dl div {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: .65rem;
  padding-block: .6rem;
  border-block-end: 1px solid var(--border);
}
.schedule-export-review-facts dd { margin: 0; overflow-wrap: anywhere; }
.schedule-export-review-facts dt { color: var(--muted); }
.schedule-export-review-members { margin: 0; padding: 0; list-style: none; border-block-start: 1px solid var(--border); }
.schedule-export-review-members li { padding-block: .55rem; border-block-end: 1px solid var(--border); }
.schedule-export-heading-example { padding: 1rem; background: var(--paper); }
.schedule-export-heading-example p { margin-block: 0 .6rem; }
.schedule-export-sample {
  padding: .9rem;
  margin-block-start: .9rem;
  border: 1px solid var(--border);
  border-block-start: 3px solid var(--primary);
  background: var(--surface);
  overflow-wrap: anywhere;
}
.schedule-export-sample p:last-child { margin-block-end: 0; }
.schedule-export-sample-title { font-size: 1.25rem; font-weight: 750; }
.schedule-export-actions { display: flex; gap: .55rem; flex-wrap: wrap; }
@media (min-width: 50rem) {
  .schedule-export-compose { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  .schedule-export-review { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
  .schedule-export-compose .schedule-tool-submit, .schedule-export-actions { grid-column: 1 / -1; }
}
.schedule-export-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  padding-block-end: 1rem;
  border-block-end: 1px solid var(--border);
}
.schedule-export-toolbar > a:not(.button) {
  display: inline-flex;
  min-block-size: 2.75rem;
  align-items: center;
  margin-inline-end: auto;
}
.schedule-export-preview { padding: clamp(.5rem, 3vw, 1.5rem); background: var(--paper); }
.schedule-export-preview .export-document {
  margin: 0 auto;
  border: 1px solid var(--border);
}
.schedule-shared-list { max-inline-size: 42rem; }
.schedule-shared-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  column-gap: 1rem;
}
.schedule-contact-steps { display: grid; align-items: start; gap: 1.4rem; }
.schedule-contact-steps > * { min-inline-size: 0; }
.schedule-contact-steps h2 { margin-block-start: 0; }
.schedule-contact-scope {
  padding: 1rem;
  border-block-start: 3px solid var(--link);
  background: var(--paper);
}
.schedule-contact-scope h2, .schedule-contact-review h2 { margin-block: 0 .55rem; font-size: 1.2rem; }
.schedule-contact-scope-form { gap: .7rem; }
.schedule-contact-scope-form select { inline-size: 100%; }
.schedule-contact-scope-form > label, .schedule-contact-scope-form .schedule-export-options > label { min-inline-size: 0; }
.schedule-contact-scope dl { margin: 0 0 .85rem; }
.schedule-contact-scope dl > div {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr);
  gap: .55rem;
  padding-block: .45rem;
  border-block-start: 1px solid var(--border);
}
.schedule-contact-scope dt { color: var(--muted); }
.schedule-contact-scope dd { display: grid; margin: 0; min-inline-size: 0; overflow-wrap: anywhere; }
.schedule-contact-scope dd > bdi { justify-self: start; max-inline-size: 100%; }
.schedule-contact-email { color: var(--muted); font-size: .9rem; }
.schedule-contact-scope summary { list-style: none; }
.schedule-contact-scope summary::-webkit-details-marker { display: none; }
.schedule-contact-scope details[open] summary { margin-block-end: .85rem; }
.schedule-contact-review > p { margin-block: 0 1rem; max-inline-size: 59ch; color: var(--muted); }
.schedule-contact-day { max-inline-size: none; padding-inline: 0; }
.schedule-contact-day legend { color: var(--link); }
.schedule-contact-day .circle-option { min-block-size: 3rem; overflow-wrap: anywhere; }
.schedule-contact-day .circle-option > span { display: grid; gap: .1rem; min-inline-size: 0; }
.schedule-contact-day small { color: var(--muted); }
.schedule-contact-error {
  max-inline-size: 55rem;
  margin-block-end: 1.25rem;
  padding: .75rem 1rem;
  border-inline-start: 3px solid var(--danger-ink);
  background: var(--paper);
}
.schedule-contact-error p { margin-block: 0 .55rem; color: var(--danger-ink); }
.schedule-contact-actions { margin-block-end: 1rem; }
.schedule-contact-code { margin-block-start: 1rem; }
.schedule-contact-gate {
  max-inline-size: 34rem;
  margin-inline: auto;
  padding-block-start: clamp(.5rem, 5vw, 2rem);
}
.schedule-contact-gate-heading {
  padding-block-start: .8rem;
  border-block-start: 3px solid var(--primary);
}
.schedule-contact-gate-heading h1 { margin-block: 0 .6rem; }
.schedule-contact-gate-heading p, .schedule-contact-help p, #contact-code-hint { color: var(--muted); }
.schedule-contact-otp { gap: .45rem; margin-block-start: 1.3rem; }
.schedule-contact-otp input {
  inline-size: min(100%, 11rem);
  min-block-size: 3rem;
  font-size: 1.25rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .2em;
}
.schedule-contact-otp button { margin-block-start: .45rem; }
.schedule-contact-otp .schedule-contact-code-error {
  padding: .65rem .8rem;
  margin-block-end: .35rem;
  color: var(--danger-ink);
  background: var(--paper);
  border-inline-start: 3px solid var(--danger-ink);
}
.schedule-contact-help { margin-block-start: 1.55rem; padding-block-start: 1rem; border-block-start: 1px solid var(--border); }
.schedule-contact-help h2 { margin: 0; font-size: 1.1rem; }
.schedule-contact-help p { margin-block: .45rem; }
.schedule-contact-help button { margin-block-start: .4rem; }
@media (min-width: 52rem) {
  .schedule-contact-steps:has(.schedule-contact-review) {
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
}
.schedule-contact-steps:not(:has(.schedule-contact-review)) .schedule-contact-scope { max-inline-size: 34rem; }
.schedule-template-application { display: grid; gap: 1.2rem 2rem; max-inline-size: 66rem; align-items: start; }
.schedule-template-application > * { min-inline-size: 0; }
.schedule-template-application h2 { margin-block: 0 .6rem; }
.schedule-template-decision { padding: .85rem; border-block-start: 3px solid var(--primary); background: var(--paper); }
.schedule-template-agenda { margin: 0; padding: 0; list-style: none; }
.schedule-template-agenda li { padding: .55rem .65rem; border-block-start: 1px solid var(--border); overflow-wrap: anywhere; }
.schedule-template-agenda li > div { margin-block-end: .2rem; color: var(--muted); font-size: .87rem; }
@media (min-width: 52rem) {
  .schedule-template-application { grid-template-columns: minmax(0, 3fr) minmax(0, 4fr); }
}

@media print {
  body:has(.schedule-export-preview) :is(.site-header, .skip-link, .schedule-export-toolbar) {
    display: none;
  }

  body:has(.schedule-export-preview) #main-content,
  .schedule-export-preview .export-document {
    max-width: none;
    padding: 0;
    border: 0;
    box-shadow: none;
  }

  .export-header, .export-day-header, .export-row {
    break-inside: avoid;
  }
}
