/* Keep document headings accessible without repeating navigation labels in the content. */
.page-name-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.portal-page .portal-heading { margin-block-end: 16px; }
.portal-page .portal-heading .eyebrow { margin-block-end: 0; }
.calendar-agenda .calendar-actions { display: grid; grid-template-columns: minmax(0,1fr); justify-content: stretch; gap: 12px; margin: 0; }
.calendar-agenda .calendar-actions > .button { width: 100%; margin: 0; justify-content: center; }
.calendar-agenda .calendar-filters { grid-template-columns: minmax(0,1fr); }
.calendar-agenda .calendar-filter-panel .calendar-checkbox-row { grid-template-columns: minmax(0,1fr); }
.calendar-agenda .calendar-filter-panel > summary { width: 100%; justify-content: center; }
.calendar-agenda .calendar-filter-panel { margin: 0; }
.calendar-agenda > h2 { margin-block: 4px 0; }
.calendar-layout { margin-block-start: 0; }
.calendar-heading-picker::after { content: ' \25be'; }
.staff-search-form { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; margin-block: 24px; }
.staff-search-form > label { flex: 1 1 260px; }
.staff-search-form > button { flex-shrink: 0; }
.staff-search-result { display: grid; gap: 8px; width: 100%; text-align: start; padding: 18px; margin-block: 12px; border: 1px solid var(--border); border-radius: 12px; color: var(--foreground); background: var(--surface); font: inherit; cursor: pointer; overflow-wrap: anywhere; }
.staff-search-result:hover { border-color: var(--foreground); }
.staff-search-result > span { color: var(--muted); font-size: .85rem; }
.website-management-navigation { display: flex; flex-wrap: wrap; gap: 12px; margin-block-end: 24px; }
.company-details-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 24px; margin-block: 24px; }
.company-details-form > button { justify-self: start; }
.company-registry { display: grid; gap: 12px; margin-block: 24px; }
.company-registry > p { display: flex; flex-wrap: wrap; gap: 16px; padding: 16px; border: 1px solid var(--border); border-radius: 10px; }
.company-manager-section > form { margin-block: 24px; }
@media(max-width:700px) { .company-details-form { grid-template-columns: minmax(0,1fr); } }
