@import url("./rich-text-editor.css");

:is(.agenda-dialog-tab-meeting, .agenda-meeting-participants-card, .meeting-participant-selector, .meeting-people-popover) {
  --meeting-accent: var(--info);
  --meeting-accent-soft: var(--info-soft);
  --meeting-accent-border: #bfdbfe;
  --meeting-accent-hover: #dbeafe;
}
.app-dialog.agenda-event-dialog.is-meeting-tab { --agenda-event-dialog-width: 1510px; }
.app-dialog.agenda-event-dialog.is-meeting-tab.is-event-recurring { --agenda-event-dialog-width: 1840px; }
.agenda-event-dialog.is-meeting-tab .agenda-meeting-participants-card .agenda-form-section-fields { grid-template-columns: minmax(0, 1fr); }
.agenda-event-dialog.has-meeting-option .agenda-dialog-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.agenda-event-dialog.is-meeting-tab:not(.has-meeting-option) .agenda-dialog-tabs { grid-template-columns: minmax(0, 1fr); }
.agenda-event-dialog .agenda-dialog-tab-meeting {
  color: var(--meeting-accent); box-shadow: inset 0 0 0 1px transparent;
}
.agenda-event-dialog .agenda-dialog-tab-meeting:hover:not(:disabled) { background: var(--meeting-accent-hover); color: var(--meeting-accent); }
.agenda-event-dialog .agenda-dialog-tab-meeting:is(.active, [aria-selected="true"]) {
  background: var(--meeting-accent-soft); color: var(--meeting-accent);
  box-shadow: inset 0 0 0 1px var(--meeting-accent-border), inset 0 -3px 0 var(--meeting-accent);
}
.agenda-event-dialog .agenda-dialog-tab-meeting:focus-visible { outline: 2px solid var(--meeting-accent); outline-offset: 2px; }
.agenda-event-dialog .agenda-dialog-tab-meeting:disabled { background: var(--surface-subtle); color: var(--text-muted); box-shadow: none; cursor: not-allowed; }
.agenda-event-dialog.has-meeting-option .agenda-dialog-tab { min-width: 0; padding: 8px; line-height: 1.35; overflow-wrap: anywhere; }
.agenda-event-dialog.is-meeting-tab .agenda-event-form { height: auto; align-content: start; grid-template-rows: auto auto; }
.agenda-event-dialog.is-meeting-tab .agenda-event-workspace,
.agenda-event-dialog.is-meeting-tab .agenda-event-workspace.is-recurring {
  grid-template-columns: minmax(0, 1fr); align-items: start;
  max-width: 100%; height: auto;
}
.agenda-event-dialog.is-meeting-tab .agenda-event-main-grid {
  grid-area: original; min-width: 0; grid-template-rows: none;
  grid-template-columns: minmax(0, 1fr); align-items: stretch; align-content: stretch;
}
.agenda-event-dialog.is-meeting-tab .agenda-event-workspace {
  grid-template-areas: "original" "people";
}
.agenda-event-dialog.is-meeting-tab .agenda-event-workspace.is-recurring {
  grid-template-areas: "original" "people" "preview";
}
.agenda-event-dialog.is-meeting-tab .agenda-event-main-grid > .agenda-form-section:not(.agenda-event-recurrence-card) {
  min-height: min-content;
}
.agenda-event-dialog.is-meeting-tab .agenda-event-info-card .agenda-form-section-fields,
.agenda-event-dialog.is-meeting-tab .agenda-event-info-card .agenda-event-description-field,
.agenda-event-dialog.is-meeting-tab .agenda-event-info-card .agenda-event-description {
  flex: 0 0 auto;
}
.agenda-event-dialog.is-meeting-tab .agenda-meeting-participants-card {
  grid-area: people; min-width: 0; min-height: 0; align-self: start; height: auto;
  container: meeting-people / inline-size;
}
.agenda-meeting-participants-card .agenda-form-section-icon { background: var(--meeting-accent-soft); color: var(--meeting-accent); }
.agenda-meeting-participants-card .meeting-organizer-line { margin: 0; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.agenda-event-dialog.is-meeting-tab .agenda-event-workspace > .agenda-recurrence-preview-card {
  grid-area: preview; align-self: start; height: auto; max-height: none; contain: none;
}
.agenda-event-dialog.is-meeting-tab .agenda-recurrence-preview-card .agenda-form-section-fields,
.agenda-event-dialog.is-meeting-tab .agenda-recurrence-preview-card .agenda-recurrence-preview { flex: 0 1 auto; min-width: 0; min-height: 0; }
.agenda-event-dialog.is-meeting-tab .agenda-preview-dates {
  flex: 0 1 auto; min-width: 0; min-height: 0; max-height: min(360px, 38dvh);
  scrollbar-width: thin; scrollbar-gutter: stable; padding: 2px;
}
.agenda-event-dialog.is-meeting-tab .agenda-preview-occurrence { min-width: 0; grid-template-columns: minmax(0, 1fr); gap: 3px; }
.agenda-event-dialog.is-meeting-tab .agenda-preview-occurrence small { white-space: normal; overflow-wrap: anywhere; }

/* Share Event's 2x2 grid; stretch the card surfaces, never the controls inside them. */
.app-dialog.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded { height: calc(100dvh - 24px); }
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded > .app-dialog-body { align-content: stretch; grid-template-rows: minmax(0, 1fr); }
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-form { height: 100%; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; }
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-panel { height: 100%; min-height: 0; }
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-workspace {
  height: var(--agenda-meeting-workspace-height, auto);
  grid-template-rows: var(--agenda-meeting-workspace-rows, none);
}
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-main-grid {
  height: var(--agenda-meeting-available-height, auto); min-height: min-content;
}
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-recurrence-card {
  display: flex; flex-direction: column;
}
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-recurrence-card > .agenda-form-section-heading { flex: 0 0 auto; }
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-recurrence-card > .agenda-form-section-fields {
  flex: 0 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-gutter: stable;
}
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-event-workspace > :is(.agenda-meeting-participants-card, .agenda-recurrence-preview-card) {
  display: flex; flex-direction: column; align-self: start;
  height: var(--agenda-meeting-available-height, auto); min-height: 0; max-height: none;
  /* A tall feedback message must remain reachable even when the compact controls exhaust the track. */
  overflow-y: auto; scrollbar-width: thin;
}
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-meeting-participants-card > .agenda-form-section-heading,
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .meeting-organizer-line { flex: 0 0 auto; }
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded :is(.agenda-meeting-participants-card, .agenda-recurrence-preview-card) > .agenda-form-section-fields,
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-recurrence-preview-card .agenda-recurrence-preview {
  display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0;
}
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-meeting-participants-card .meeting-participant-selector {
  display: flex; flex-direction: column; flex: 1 1 0; min-height: 0;
}
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-meeting-participants-card .meeting-participant-selector > :not(.meeting-people-list) { flex: 0 0 auto; }
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-meeting-participants-card .meeting-people-list,
.agenda-event-dialog.is-meeting-tab.is-meeting-height-bounded .agenda-preview-dates {
  flex: 1 1 0; min-height: 3.5em; max-height: none;
}

/* Keep room for two original cards before introducing the side columns. */
@container agenda-event-body (min-width: 760px) {
  .agenda-event-dialog.is-meeting-tab .agenda-event-workspace.is-recurring {
    grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "original original" "people preview";
  }
}
@container agenda-event-body (min-width: 880px) {
  .agenda-event-dialog.is-meeting-tab .agenda-event-main-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; }
}
@container agenda-event-body (min-width: 1200px) {
  .agenda-event-dialog.is-meeting-tab .agenda-event-workspace:not(.is-recurring) {
    grid-template-columns: minmax(854px, 2.2fr) minmax(320px, 1fr); grid-template-areas: "original people";
    --agenda-meeting-workspace-height: 100%; --agenda-meeting-workspace-rows: minmax(0, 1fr);
  }
}
@container agenda-event-body (min-width: 1500px) {
  .agenda-event-dialog.is-meeting-tab .agenda-event-workspace.is-recurring {
    grid-template-columns: minmax(854px, 2.4fr) minmax(320px, 1fr) minmax(280px, .85fr); grid-template-areas: "original people preview";
    --agenda-meeting-workspace-height: 100%; --agenda-meeting-workspace-rows: minmax(0, 1fr);
  }
}

/* Persisted meetings have taller Google controls; their original columns never share row heights. */
.agenda-event-dialog.is-meeting-edit .agenda-event-main-grid {
  height: auto; min-height: 0; grid-template-rows: none; align-items: start; align-content: start;
}
.agenda-event-dialog.is-meeting-edit .agenda-meeting-edit-column { display: contents; }
.agenda-event-dialog.is-meeting-edit .agenda-event-main-grid .agenda-form-section { align-self: start; min-height: 0; }
.agenda-event-dialog.is-meeting-edit .agenda-event-info-card { order: 0; }
.agenda-event-dialog.is-meeting-edit .agenda-event-recurrence-card { order: 1; }
.agenda-event-dialog.is-meeting-edit .agenda-event-schedule-card { order: 2; }
.agenda-event-dialog.is-meeting-edit .agenda-google-card { order: 3; }
.agenda-event-dialog.is-meeting-edit.is-meeting-height-bounded .agenda-event-main-grid {
  height: auto; min-height: 0; max-height: var(--agenda-meeting-available-height, none);
  overflow-y: auto; scrollbar-width: thin; scrollbar-gutter: stable;
}
.agenda-event-dialog.is-meeting-edit.is-meeting-height-bounded .agenda-event-recurrence-card > .agenda-form-section-fields {
  flex: 0 0 auto; overflow: visible;
}
.agenda-event-dialog.is-meeting-edit .agenda-meeting-edit-column > .agenda-form-section { flex: 0 0 auto; width: 100%; }
.agenda-event-dialog.is-meeting-edit.is-meeting-height-bounded .agenda-event-workspace {
  height: auto; grid-template-rows: none;
}
.agenda-event-dialog.is-meeting-edit .agenda-recurrence-preview-card .agenda-form-section-heading { flex: 0 0 auto; }
@container agenda-event-body (min-width: 880px) {
  .agenda-event-dialog.is-meeting-edit .agenda-meeting-edit-column { display: flex; flex-direction: column; min-width: 0; gap: var(--agenda-event-gap); }
}
@container agenda-event-body (min-width: 1200px) and (max-width: 1499px) {
  .agenda-event-dialog.is-meeting-edit .agenda-event-workspace.is-recurring {
    grid-template-columns: minmax(854px, 2.2fr) minmax(320px, 1fr);
    grid-template-areas: "original people" "preview preview";
  }
  .agenda-event-dialog.is-meeting-edit .agenda-event-workspace.is-recurring > .agenda-recurrence-preview-card {
    height: min(var(--agenda-meeting-available-height, 60dvh), 60dvh); max-height: none;
  }
}

.agenda-event-dialog .agenda-google-card > .agenda-form-section-heading.has-icon {
  grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center;
}
.agenda-event-dialog .agenda-google-card .agenda-google-primary-controls {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 224px), 1fr));
  align-items: end; min-width: 0; gap: 10px;
}
.agenda-event-dialog .agenda-google-card .agenda-google-distribution {
  color: var(--text-secondary); font-size: 11px; font-weight: 700; line-height: 1.4;
}
.agenda-event-dialog .agenda-google-card .agenda-google-distribution > select { min-height: 42px; }
.agenda-event-dialog .agenda-google-card .agenda-google-distribution-value {
  display: flex; align-items: center; min-width: 0; min-height: 42px; padding: 10px 12px;
  border: 1px solid var(--border-subtle); border-radius: 9px; background: var(--surface-subtle);
  color: var(--text-secondary); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere;
}
.agenda-event-dialog .agenda-google-card .agenda-personal-reminder { min-width: 0; }
.agenda-event-dialog .agenda-google-card .agenda-personal-reminder .agenda-reminder-choice { min-height: 42px; }
.agenda-event-dialog .agenda-google-card .agenda-personal-preferences {
  display: flex; flex-wrap: wrap; align-items: center; min-width: 0; gap: 8px 10px; padding-top: 0;
}
.agenda-event-dialog .agenda-google-card .agenda-personal-sync-controls {
  display: flex; flex: 1 1 100%; flex-wrap: wrap; align-items: center; min-width: 0; gap: 8px;
}
.agenda-event-dialog .agenda-google-card .agenda-personal-sync-controls .agenda-google-toggle { flex: 1 1 190px; }
.agenda-event-dialog .agenda-google-card .agenda-personal-preferences > .muted { flex: 1 1 180px; min-width: 0; }
.agenda-event-dialog .agenda-google-card .agenda-personal-actions { display: flex; flex: 0 0 auto; justify-content: flex-end; margin-inline-start: auto; }
.agenda-event-dialog .agenda-google-card .agenda-personal-feedback { flex: 1 1 100%; min-width: 0; }
.agenda-event-dialog .agenda-google-card :is(.agenda-personal-save, .agenda-personal-default) {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: auto; max-width: 100%; min-width: 0; min-height: 36px; gap: 7px; padding: 7px 11px;
  border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface);
  color: var(--brand-hover); font-size: 12px; font-weight: 700; line-height: 1.4; white-space: normal; box-shadow: var(--shadow-xs);
}
.agenda-event-dialog .agenda-google-card :is(.agenda-personal-save, .agenda-personal-default):hover:not(:disabled) { background: var(--surface-hover); border-color: var(--brand); }
.agenda-event-dialog .agenda-google-card .agenda-google-info {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px;
  width: 36px; min-width: 36px; height: 36px; min-height: 36px; padding: 8px;
  border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface);
  color: var(--text-secondary); box-shadow: none;
}
.agenda-event-dialog .agenda-google-card .agenda-google-info:hover:not(:disabled),
.agenda-event-dialog .agenda-google-card .agenda-google-info[aria-expanded="true"] { background: var(--brand-soft); color: var(--brand-hover); border-color: var(--brand); }
.agenda-event-dialog .agenda-google-card :is(.agenda-google-info, .agenda-personal-save, .agenda-personal-default):focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.agenda-event-dialog .agenda-google-card :is(.agenda-google-info, .agenda-personal-save):disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.agenda-event-dialog .agenda-google-card :is(.agenda-google-info, .agenda-personal-save) > svg,
.agenda-google-info-popover svg {
  flex: 0 0 16px; width: 16px; height: 16px; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.gcal-info-popover.agenda-google-info-popover {
  display: flex; flex-direction: column; width: min(360px, calc(100vw - 20px)); min-height: 0;
  margin: 0; gap: 10px; font: 13px/1.45 Aptos, "Segoe UI", sans-serif;
}
.agenda-google-info-popover .gcal-info-popover-header { display: flex; flex: 0 0 auto; align-items: start; justify-content: space-between; min-width: 0; gap: 10px; }
.agenda-google-info-popover .gcal-info-popover-header > div { min-width: 0; }
.agenda-google-info-popover .gcal-info-popover-title { margin: 0; color: var(--text-primary); font-size: 14px; line-height: 1.4; }
.agenda-google-info-popover .gcal-info-popover-close {
  display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; min-height: 36px;
  padding: 0; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface); color: var(--text-secondary);
}
.agenda-google-info-popover .gcal-info-popover-close:hover { background: var(--surface-hover); }
.agenda-google-info-popover .gcal-info-popover-body { display: grid; flex: 1 1 auto; min-height: 0; gap: 10px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.agenda-google-info-popover .gcal-info-popover-actions:empty { display: none; }
.agenda-google-info-popover .agenda-google-info-row { display: grid; min-width: 0; gap: 3px; }
.agenda-google-info-popover .agenda-google-info-row > strong { color: var(--text-primary); font-size: 12px; }
.agenda-google-info-popover :focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-confirmation-actions > button {
  display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 36px;
  padding: 7px 11px; gap: 7px; border-radius: 8px; font-size: 12px; line-height: 1.4;
  font-weight: 700; white-space: nowrap; box-shadow: var(--shadow-xs);
}
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-continue-action { border-color: var(--border-default); background: var(--surface-subtle); color: var(--text-secondary); }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-continue-action:hover:not(:disabled) { background: var(--surface-hover); border-color: #b4c9c1; }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-discard-action { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-discard-action:hover:not(:disabled) { background: var(--danger); color: #fff; }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-confirmation-actions > button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-discard-action:focus-visible { outline-color: var(--danger); }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-confirmation-actions > button:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.agenda-event-dialog .agenda-event-discard-confirm .agenda-event-action-icon {
  flex: 0 0 16px; width: 16px; height: 16px; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}

.agenda-event-dialog:not(.is-event-detail):not(.is-delete-confirming) > .app-dialog-actions {
  position: static; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap;
  min-width: 0; gap: 8px; overflow: visible; box-shadow: none;
}
.agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > :is(.agenda-event-close-action, .agenda-event-save-action) {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 1 auto;
  min-width: 0; max-width: 100%; min-height: 42px; gap: 8px; padding: 10px 16px;
  border: 1px solid var(--border-default); border-radius: 9px; font-size: 13px;
  font-weight: 700; line-height: 1.35; white-space: nowrap; box-shadow: var(--shadow-xs); transform: none;
}
.agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > .agenda-event-close-action { background: var(--surface-subtle); color: var(--text-secondary); }
.agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > .agenda-event-close-action:hover:not(:disabled) { background: var(--surface-hover); border-color: #b4c9c1; }
.agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > .agenda-event-save-action { border-color: var(--brand-hover); background: var(--brand-hover); color: #fff; }
.agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > .agenda-event-save-action:hover:not(:disabled) { background: #006b61; border-color: #006b61; }
.agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > :is(.agenda-event-close-action, .agenda-event-save-action):focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > :is(.agenda-event-close-action, .agenda-event-save-action):disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.agenda-item-meeting .agenda-item-symbol { display: inline-flex; align-items: center; }
.agenda-item-meeting .projects-icon { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.meeting-calendar-response { flex: 0 0 auto; margin-inline-start: auto; padding: 1px 4px; border-radius: 4px; background: var(--warning-soft); color: var(--warning); font-size: 9px; line-height: 1.3; }
.meeting-calendar-response[data-response="ACCEPTED"] { background: var(--success-soft); color: var(--success); }
.meeting-calendar-response[data-response="DECLINED"] { background: var(--danger-soft); color: var(--danger); }

.app-dialog.meeting-detail-dialog.ticket-workflow-dialog {
  width: min(1180px, calc(100% - 32px));
  height: fit-content; min-width: 0; min-height: 0;
  max-height: calc(100dvh - 32px);
  padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible;
}
.app-dialog.meeting-detail-dialog.ticket-workflow-dialog[open] { display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; }
.meeting-detail-surface {
  display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto minmax(0, 1fr) auto; align-self: center;
  min-width: 0; min-height: 0; max-height: calc(var(--workflow-viewport-height, 100dvh) - 32px);
  border-top: 3px solid var(--brand); border-radius: var(--radius-lg); background: var(--surface);
  box-shadow: var(--shadow-md); overflow: hidden;
}
.meeting-detail-surface > .app-dialog-header { grid-row: 1; }
.meeting-detail-surface > .meeting-my-invitation { grid-row: 2; }
.meeting-detail-surface > .meeting-tabs { grid-row: 3; }
.meeting-detail-surface > .app-dialog-body { grid-row: 4; }
.meeting-detail-surface > .app-dialog-actions { grid-row: 5; }
.meeting-detail-surface > :is(.app-dialog-header, .meeting-tabs, .app-dialog-body, .app-dialog-actions) {
  min-width: 0;
  border-radius: 0;
}
.meeting-detail-dialog, .meeting-participant-selector { box-sizing: border-box; }
/* Document tabs share the modal's viewport budget; the footer remains outside
   their scrolling surfaces, including the mobile visual-viewport adjustment. */
.meeting-detail-dialog.is-document-tab .meeting-detail-surface { height: calc(var(--workflow-viewport-height, 100dvh) - 32px); }
.meeting-detail-dialog.is-document-tab .app-dialog-body { display: flex; flex-direction: column; }
.meeting-detail-dialog.is-document-tab .meeting-panels { flex: 1 1 auto; min-height: 0; }
.meeting-detail-dialog.is-document-tab .meeting-panel { min-height: 100%; }
.meeting-detail-dialog.is-document-tab .meeting-panels:has(> .meeting-collection-panel:not([hidden])) { display: flex; flex-direction: column; flex: 1 1 0; }
.meeting-detail-dialog.is-document-tab .meeting-collection-panel { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; }
.meeting-detail-dialog .meeting-document-collection { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; gap: 10px; }
.meeting-document-collection > .meeting-section-heading { flex: 0 0 auto; }
.meeting-document-collection > .meeting-stack { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; }
.meeting-collection-workspace { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); flex: 1 1 0; min-width: 0; min-height: 0; gap: 12px; align-items: stretch; }
.meeting-collection-workspace:has(> .meeting-collection-editor:not([hidden])) { grid-template-rows: minmax(72px, .25fr) minmax(0, .75fr); }
.meeting-collection-workspace > .meeting-list { align-content: start; grid-auto-rows: max-content; min-width: 0; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #a5bdb7 transparent; scrollbar-gutter: stable; overscroll-behavior: contain; padding: 2px 6px 6px 2px; }
.meeting-collection-editor { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow-y: auto; scrollbar-width: thin; }
.meeting-collection-editor > .meeting-rich-view { flex: 1 1 auto; padding: 10px; }
.meeting-document-collection .meeting-collection-item { align-content: start; gap: 0; padding-block: 10px; }
.meeting-document-collection .meeting-collection-item > .meeting-item-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; }
.meeting-document-collection .meeting-item-heading > .meeting-item-actions { flex-wrap: nowrap; margin: 0; }
.meeting-document-collection .meeting-item-heading > .meeting-item-copy { align-content: start; justify-items: start; gap: 5px; }
.meeting-document-collection .meeting-collection-title { display: block; width: 100%; min-width: 0; min-height: 26px; margin: 0; padding: 2px 0; border: 0; border-radius: 3px; background: transparent; box-shadow: none; color: var(--text-primary); font: inherit; font-weight: 400; font-size: 13px; line-height: 1.45; text-align: start; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.meeting-document-collection .meeting-status { max-width: none; white-space: nowrap; overflow-wrap: normal; padding: 3px 8px; }
.meeting-document-collection .meeting-collection-association { font-size: 11px; overflow-wrap: anywhere; }
.meeting-document-collection .meeting-collection-title:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-collection-workspace > .meeting-list:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-document-collection .meeting-inline-form { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; gap: 8px; padding: 10px; }
.meeting-document-collection .meeting-inline-form > .rich-editor { flex: 1 1 0; min-height: 240px; }
.meeting-document-collection .meeting-inline-form > .meeting-actions { flex: 0 0 auto; }
.meeting-record-association { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: 0 0 auto; gap: 8px; }
.meeting-detail-dialog .meeting-record-association :is(input, select) { min-height: 34px; padding-block: 6px; }
.meeting-document-collection .meeting-actions { justify-content: flex-end; }
.meeting-document-collection .meeting-actions > button { min-height: 36px; padding: 6px 12px; box-shadow: none; }
.meeting-detail-dialog .meeting-collection-menu { position: fixed; inset: auto; z-index: 100; box-sizing: border-box; margin: 0; width: max-content; min-width: 0; max-width: min(240px, calc(100vw - 16px)); min-height: 0; height: fit-content; padding: 4px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface); box-shadow: var(--shadow-sm); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.meeting-collection-menu::backdrop { background: transparent; backdrop-filter: none; }
.meeting-collection-menu .anchored-popover-body { display: grid; min-width: 0; gap: 1px; }
.meeting-detail-dialog .meeting-collection-menu .ghost-button { min-width: 0; min-height: 32px; margin: 0; padding: 6px 9px; gap: 7px; border-radius: 5px; font-size: 13px; font-weight: 400; line-height: 1.35; white-space: normal; text-align: start; box-shadow: none; transform: none; }
.meeting-detail-dialog .meeting-collection-menu .meeting-collection-menu-item { justify-content: flex-start; border: 0; background: transparent; color: var(--text-primary); }
.meeting-detail-dialog .meeting-collection-menu .meeting-collection-menu-item:hover:not(:disabled) { background: var(--surface-hover); }
.meeting-detail-dialog .meeting-collection-menu .meeting-collection-menu-item.meeting-danger { color: var(--danger); }
.meeting-detail-dialog .meeting-collection-menu .meeting-collection-menu-item.meeting-danger:hover:not(:disabled) { background: var(--danger-soft); }
.meeting-detail-dialog .meeting-collection-menu .meeting-collection-menu-item:focus-visible { outline-offset: -2px; }
.meeting-detail-dialog .meeting-collection-menu .projects-icon { flex: 0 0 16px; width: 16px; height: 16px; }
.meeting-collection-menu .ghost-button > span { min-width: 0; overflow-wrap: anywhere; }
.meeting-detail-dialog .meeting-collection-menu.is-confirming { width: 320px; max-width: calc(100vw - 16px); padding: 12px; font: 400 12px/1.45 Aptos, "Segoe UI", sans-serif; }
.meeting-collection-menu .anchored-popover-header { margin: 0 0 6px; }
.meeting-collection-menu .anchored-popover-title { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--text-primary); font-size: 13px; font-weight: 500; line-height: 1.4; }
.meeting-collection-menu .anchored-popover-title > .projects-icon { color: var(--text-muted); }
.meeting-collection-menu .meeting-collection-confirm-copy { color: var(--text-secondary); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.meeting-collection-menu .anchored-popover-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin-top: 10px; }
.meeting-detail-dialog .meeting-collection-menu.is-confirming .anchored-popover-actions > button { min-height: 36px; }
.meeting-detail-dialog .meeting-collection-menu.is-confirming .anchored-popover-actions > .ghost-button:not(.confirm-dialog-destructive) { border: 1px solid var(--border-default); background: var(--surface-subtle); color: var(--text-secondary); }
.meeting-detail-dialog .meeting-collection-menu.is-confirming .anchored-popover-actions > .ghost-button:not(.confirm-dialog-destructive):hover:not(:disabled) { background: var(--surface-hover); }
.meeting-detail-dialog .meeting-collection-menu .confirm-dialog-destructive { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }
.meeting-detail-dialog .meeting-collection-menu .confirm-dialog-destructive:hover:not(:disabled) { background: var(--danger); color: #fff; }
.meeting-collection-menu .anchored-popover-actions:empty { display: none; }
.meeting-context-confirm {
  --rich-picker-safe-top: env(safe-area-inset-top);
  --rich-picker-safe-right: env(safe-area-inset-right);
  --rich-picker-safe-bottom: env(safe-area-inset-bottom);
  --rich-picker-safe-left: env(safe-area-inset-left);
  position: fixed; inset: auto; z-index: 100; box-sizing: border-box; display: grid;
  width: 320px; max-width: calc(100vw - max(8px, env(safe-area-inset-left)) - max(8px, env(safe-area-inset-right)));
  min-width: 0; min-height: 0; max-height: calc(100dvh - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)));
  margin: 0; padding: 12px; border: 1px solid var(--border-default); border-radius: 8px;
  background: var(--surface); color: var(--text-primary); box-shadow: var(--shadow-sm);
  font: 400 12px/1.45 Aptos, "Segoe UI", sans-serif; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
}
.meeting-context-confirm * { box-sizing: border-box; }
.meeting-context-confirm[hidden] { display: none !important; }
.meeting-context-confirm::backdrop { background: transparent; backdrop-filter: none; }
.meeting-context-confirm .anchored-popover-header { margin: 0 0 6px; }
.meeting-context-confirm .anchored-popover-title { display: flex; align-items: center; min-width: 0; gap: 7px; margin: 0; color: var(--text-primary); font-size: 13px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-context-confirm .anchored-popover-body { display: grid; min-width: 0; gap: 8px; }
.meeting-context-heading { display: flex; align-items: center; min-width: 0; gap: 7px; }
.meeting-context-heading > div { min-width: 0; }
.meeting-context-confirm svg { flex: 0 0 16px; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.meeting-context-heading .anchored-popover-title > svg { color: var(--text-muted); }
.meeting-context-heading .meeting-context-description { margin: 6px 0 0; color: var(--text-secondary); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.meeting-context-options { display: grid; min-width: 0; gap: 6px; padding: 8px 0; border-block: 1px solid var(--border-subtle); }
.meeting-context-options > label { display: flex; align-items: start; min-width: 0; min-height: 36px; gap: 8px; margin: 0; padding: 7px; border-radius: 6px; color: var(--text-secondary); font-size: 12px; font-weight: 400; line-height: 1.45; overflow-wrap: anywhere; cursor: pointer; }
.meeting-context-options > label:has(input:checked) { background: var(--brand-soft); color: var(--brand-hover); }
.meeting-context-options > label:focus-within { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-context-options input:is([type="radio"], [type="checkbox"]) { flex: 0 0 17px; width: 17px; min-width: 17px; height: 17px; min-height: 17px; margin: 1px 0 0; padding: 0; accent-color: var(--brand); }
.meeting-context-actions, .meeting-context-confirm > .anchored-popover-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; min-width: 0; gap: 6px; margin-top: 10px; }
.meeting-context-confirm :is(.meeting-context-actions, .anchored-popover-actions) > button {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 1 auto; min-width: 0; max-width: 100%; min-height: 36px;
  margin: 0; padding: 6px 9px; gap: 7px; border: 1px solid var(--border-default); border-radius: 6px;
  background: var(--surface-subtle); color: var(--text-secondary); font: 400 13px/1.35 Aptos, "Segoe UI", sans-serif;
  white-space: normal; box-shadow: none; transform: none;
}
.meeting-context-confirm :is(.meeting-context-actions, .anchored-popover-actions) > button:hover:not(:disabled) { background: var(--surface-hover); }
.meeting-context-confirm :is(.meeting-context-actions, .anchored-popover-actions) > :is(.meeting-danger, .confirm-dialog-destructive) { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }
.meeting-context-confirm :is(.meeting-context-actions, .anchored-popover-actions) > :is(.meeting-danger, .confirm-dialog-destructive):hover:not(:disabled) { background: var(--danger); color: #fff; }
.meeting-context-confirm button:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-context-confirm button:disabled { opacity: .55; cursor: not-allowed; }
.meeting-context-confirm :is(.anchored-popover-header, .anchored-popover-actions, .meeting-context-options, .meeting-context-actions):empty { display: none; }
@container meeting-detail-body (min-width: 900px) {
  .meeting-collection-workspace:has(> .meeting-collection-editor:not([hidden])) { grid-template-columns: minmax(260px, .29fr) minmax(0, .71fr); grid-template-rows: minmax(0, 1fr); }
}
/* Coordinated surfaces share the editor lifecycle; only the stage scrolls the paper. */
.app-dialog.meeting-detail-dialog.is-minutes-tab { width: min(1600px, calc(100% - 32px)); }
.meeting-detail-dialog.is-minutes-tab .app-dialog-body:has(.meeting-minutes-panel) { padding: 0; overflow: visible; }
.meeting-detail-dialog.is-minutes-tab .meeting-panels:has(> .meeting-minutes-panel:not([hidden])) { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; }
.meeting-detail-dialog.is-minutes-tab .meeting-panel.meeting-minutes-panel { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; gap: 0; }
.meeting-detail-dialog.is-minutes-tab .meeting-feedback { flex: 0 1 auto; max-height: 30%; overflow-y: auto; scrollbar-width: thin; }
.meeting-detail-dialog .meeting-minutes-section.meeting-section { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; gap: 0; padding: 0; border: 0; border-radius: 0; }
.meeting-minutes-section > .meeting-section-heading { flex: 0 0 auto; padding: 10px 16px 4px; }
.meeting-minutes-section > .meeting-stack { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; gap: 0; }
.meeting-detail-dialog.is-minutes-tab .app-dialog-body:has(.meeting-document-controls-surface) { padding: 12px 0; }
.meeting-minutes-section:has(.meeting-document-controls-surface) { background: transparent; }
.meeting-minutes-section:has(.meeting-document-controls-surface) > .meeting-section-heading { display: none; }
.meeting-document-editor, .meeting-document-insert-menu, .meeting-document-choice-menu {
  --meeting-document-control-height: 34px;
  --meeting-document-grip-width: 22px;
  --meeting-document-selection-width: 28px;
}
.meeting-document-editor { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; height: min(68dvh, 760px); background: transparent; container: meeting-document / inline-size; }
.meeting-minutes-section .meeting-document-editor { flex: 1 1 0; height: auto; min-height: 0; }
.meeting-document-controls { display: flex; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; min-width: 0; gap: 3px; padding: 8px; border-bottom: 1px solid var(--border-default); overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.meeting-document-title { flex: 0 1 auto; min-width: 0; margin: 0; padding-inline-end: 4px; color: var(--text-primary); font-size: 13px; font-weight: 500; line-height: 1.4; white-space: nowrap; }
.meeting-document-status { flex: 0 0 auto; min-width: 0; margin-inline-start: auto; padding-inline-start: 4px; color: var(--text-muted); font-size: 11px; font-weight: 400; line-height: 1.4; white-space: nowrap; }
.meeting-detail-dialog .meeting-document-editor .ghost-button { min-width: 0; min-height: var(--meeting-document-control-height); gap: 6px; padding: 6px 9px; border-radius: 6px; font-size: 12px; font-weight: 400; line-height: 1.35; box-shadow: none; transform: none; }
.meeting-detail-dialog .meeting-document-editor .meeting-document-icon-button { flex: 0 0 var(--meeting-document-control-height); width: var(--meeting-document-control-height); min-width: var(--meeting-document-control-height); height: var(--meeting-document-control-height); padding: 7px; }
.meeting-detail-dialog .meeting-document-editor .ghost-button > svg { flex: 0 0 16px; width: 16px; height: 16px; }
.meeting-document-controls > .ghost-button { flex: 0 0 auto; height: var(--meeting-document-control-height); }
.meeting-detail-dialog .meeting-document-editor .ghost-button:hover:not(:disabled) { border-color: var(--border-default); background: var(--surface-hover); }
.meeting-detail-dialog .meeting-document-editor .ghost-button:is([aria-pressed="true"], [aria-expanded="true"]):not(:disabled) { background: var(--brand-soft); border-color: var(--brand); color: var(--brand-hover); }
.meeting-document-workspace { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(420px, .95fr) minmax(0, 1.55fr); grid-template-rows: minmax(0, 1fr); align-items: stretch; flex: 1 1 0; min-width: 0; min-height: 0; gap: 12px; }
.meeting-document-controls-surface, .meeting-document-document-surface {
  --meeting-document-inner-radius: max(0px, calc(var(--radius-lg) - 5px));
  display: flex; flex-direction: column; min-width: 0; min-height: 0; height: 100%; max-height: 100%; padding: 4px;
  border: 1px solid var(--border-default); border-radius: var(--radius-lg); background: var(--surface); background-clip: padding-box; box-shadow: var(--shadow-sm);
  /* Only the surface frame clips. Contextual popovers mount outside it in the dialog. */
  overflow: clip;
}
.meeting-document-controls-surface { container: meeting-document-controls / inline-size; }
.meeting-document-controls-surface > .meeting-document-controls { border-radius: var(--meeting-document-inner-radius) var(--meeting-document-inner-radius) 0 0; }
.meeting-document-controls-body { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; border-radius: 0 0 var(--meeting-document-inner-radius) var(--meeting-document-inner-radius); overflow: hidden; }
.meeting-document-document-heading { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; padding: 4px; border-radius: var(--meeting-document-inner-radius) var(--meeting-document-inner-radius) 0 0; background: var(--surface-subtle); }
.meeting-document-document-surface > .meeting-document-stage { border-radius: var(--meeting-document-inner-radius) var(--meeting-document-inner-radius) 0 0; }
.meeting-document-document-heading:not([hidden]) + .meeting-document-stage { border-top-left-radius: 0; border-top-right-radius: 0; }
.meeting-document-document-surface > .meeting-document-viewbar { border-radius: 0 0 var(--meeting-document-inner-radius) var(--meeting-document-inner-radius); }
.meeting-document-navigation, .meeting-document-inspector { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; max-height: 100%; background: var(--surface); }
.meeting-document-editor[data-structure-editing="true"] .meeting-document-navigation { flex: 0 1 42%; min-height: 100px; border-bottom: 1px solid var(--border-default); }
.meeting-document-editor[data-structure-editing="true"] .meeting-document-inspector { flex: 1 1 0; }
.meeting-document-mobile-tabs { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; gap: 4px; margin-bottom: 8px; padding: 4px; border: 1px solid var(--border-default); border-radius: 9px; background: var(--surface); }
.meeting-detail-dialog .meeting-document-mobile-tabs > button { flex: 1 1 0; }
.meeting-document-editor[data-compact="true"] .meeting-document-workspace { grid-template-columns: minmax(0, 1fr); }
.meeting-document-editor[data-controls-collapsed="true"] .meeting-document-workspace { grid-template-columns: minmax(0, 1fr); gap: 0; }
.meeting-document-pane-heading { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; min-width: 0; gap: 6px; padding: 8px 10px; border-bottom: 1px solid var(--border-subtle); }
.meeting-document-pane-heading h4 { display: flex; flex: 1 1 0; align-items: center; min-width: 0; gap: 7px; font-size: 13px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-document-pane-heading h4 > svg { flex: 0 0 17px; width: 17px; height: 17px; color: var(--text-muted); }
.meeting-document-pane-heading h4 > span { display: -webkit-box; min-width: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.meeting-document-outline { flex: 1 1 0; min-width: 0; min-height: 0; overflow-y: auto; padding: 6px; }
.meeting-document-outline-group > summary { min-height: var(--meeting-document-control-height); padding: 8px 5px; color: var(--text-secondary); font-size: 12px; font-weight: 400; line-height: 1.4; cursor: pointer; overflow-wrap: anywhere; }
.meeting-document-outline-group .meeting-document-outline-group { padding-inline-start: 8px; }
.meeting-document-outline-row { display: grid; grid-template-columns: var(--meeting-document-grip-width) var(--meeting-document-selection-width) minmax(0, 1fr); align-items: center; min-width: 0; gap: 2px; border-radius: 6px; }
.meeting-document-outline-row:not(:has(> .meeting-document-grip)) { grid-template-columns: minmax(0, 1fr); }
.meeting-detail-dialog .meeting-document-outline-row > .meeting-document-grip { grid-column: 1; width: var(--meeting-document-grip-width); min-width: var(--meeting-document-grip-width); height: var(--meeting-document-control-height); padding: 0; border-color: transparent; background: transparent; color: var(--text-muted); cursor: grab; }
.meeting-detail-dialog .meeting-document-outline-row > .meeting-document-grip:active { cursor: grabbing; }
.meeting-detail-dialog .meeting-document-outline-row > .meeting-document-grip:disabled { cursor: not-allowed; }
.meeting-detail-dialog .meeting-document-outline-row > label.meeting-document-block-selection { display: grid; grid-column: 2; place-items: center; align-self: stretch; width: var(--meeting-document-selection-width); min-width: var(--meeting-document-selection-width); min-height: var(--meeting-document-control-height); margin: 0; padding: 0; gap: 0; border-radius: 4px; cursor: pointer; }
.meeting-detail-dialog .meeting-document-block-selection > input[type="checkbox"][data-selection-id] { flex: 0 0 17px; width: 17px; min-width: 17px; height: 17px; min-height: 17px; margin: 0; padding: 0; accent-color: var(--brand); }
.meeting-detail-dialog .meeting-document-outline-row > .ghost-button:not(.meeting-document-grip) { grid-column: -2 / -1; justify-content: start; min-width: 0; padding: 5px; border-color: transparent; background: transparent; text-align: start; }
.meeting-document-outline-row > button > span { display: -webkit-box; min-width: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; white-space: normal; overflow-wrap: anywhere; }
.meeting-document-outline-row.is-associated { padding-inline-start: 8px; }
.meeting-document-outline-row:hover { background: var(--surface-hover); }
.meeting-document-outline-row.is-selected, .meeting-document-outline-row:has(> button[aria-pressed="true"]) { background: var(--brand-soft); box-shadow: inset 3px 0 var(--brand); }
.meeting-document-outline-row.is-drop-target { outline: 2px dashed var(--brand); outline-offset: -2px; }
.meeting-document-selection-actions { display: flex; flex: 0 0 auto; align-items: center; min-width: 0; gap: 3px; padding: 5px; border-top: 1px solid var(--border-default); font-size: 11px; }
.meeting-document-selection-actions > span { flex: 1 1 auto; min-width: 0; padding: 2px 4px; overflow-wrap: anywhere; }
.meeting-document-stage { flex: 1 1 0; min-width: 0; min-height: 0; overflow: auto; scrollbar-gutter: stable; background: var(--surface-subtle); padding: 16px; }
.meeting-document-page-frame { position: relative; margin: 0 auto 16px; overflow: clip; box-shadow: var(--shadow-sm); outline: 1px solid var(--border-subtle); }
.meeting-document-page-frame:last-child { margin-bottom: 0; }
.meeting-document-page { position: absolute; inset: 0 auto auto 0; box-sizing: border-box; transform-origin: top left; color: #071614; }
.meeting-document-page-header { position: relative; }
.meeting-document-header-element { position: absolute; overflow-wrap: anywhere; }
.meeting-document-page-body { position: relative; display: flow-root; min-width: 0; }
.meeting-document-page-footer { height: 24pt; font-size: 8pt; color: #536563; text-align: right; padding-top: 8pt; }
.meeting-document-fragment { position: relative; display: flow-root; min-width: 0; margin-bottom: 8pt; background: transparent; overflow-wrap: anywhere; }
.meeting-document-flow-exclusion { pointer-events: none; user-select: none; }
.meeting-document-rich-content { position: relative; z-index: 2001; min-width: 0; }
/* Keep rich wrappers in the same formatting context as square attachments. */
.meeting-document-rich-content, .meeting-document-rich-content > .rich-text-output { display: block; overflow: visible; }
.meeting-document-attachment { position: relative; box-sizing: border-box; background: transparent; }
.meeting-document-attachment:is(.is-front, .is-behind) { position: absolute; }
.meeting-document-attachment.is-top-bottom { display: flow-root; clear: both; }
.meeting-document-attachment.is-square { display: block; }
.meeting-document-editor [data-document-target] { cursor: pointer; }
.meeting-document-editor [data-document-target]:hover { outline: 1px dashed var(--brand); outline-offset: 2px; }
.meeting-document-editor [data-document-target].is-selected { outline: 1px solid var(--brand); outline-offset: 2px; }
.meeting-document-editor [data-document-target].is-active { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-document-stage[data-stale="true"] { box-shadow: inset 0 0 0 2px var(--warning); }
.meeting-document-shape { position: relative; box-sizing: border-box; max-width: 100%; background: transparent; }
.meeting-document-shape-content { position: absolute; min-width: 0; }
.meeting-document-shape.is-rounded, .meeting-document-shape.is-callout { border-radius: 8pt; }
.meeting-document-shape.is-ellipse { border-radius: 50%; }
.meeting-detail-dialog .meeting-document-editor .meeting-document-shape-handle { position: absolute; z-index: 2; display: grid; place-items: center; width: var(--meeting-document-control-height); min-width: var(--meeting-document-control-height); height: var(--meeting-document-control-height); min-height: var(--meeting-document-control-height); padding: 5px; border: 1px solid var(--brand); border-radius: 5px; background: var(--surface); color: var(--brand-hover); opacity: 0; pointer-events: none; touch-action: none; }
.meeting-document-shape-handle[data-shape-handle="move"] { inset-block-start: 2px; inset-inline-start: 2px; cursor: move; }
.meeting-document-shape-handle[data-shape-handle="resize"] { inset-block-end: 2px; inset-inline-end: 2px; cursor: nwse-resize; }
.meeting-detail-dialog .meeting-document-editor [data-document-target]:is(.is-selected, .is-active, :hover, :focus-within) .meeting-document-shape-handle,
.meeting-detail-dialog .meeting-document-editor .meeting-document-shape-handle:focus-visible { opacity: 1; pointer-events: auto; }
.meeting-document-context-tabs { display: flex; flex: 0 0 auto; min-width: 0; gap: 4px; padding: 5px 8px; border-bottom: 1px solid var(--border-subtle); }
.meeting-document-context-tabs > button { flex: 1 1 0; }
.meeting-document-context-body { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; }
.meeting-document-text-pane { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; padding: 8px; gap: 8px; }
.meeting-document-hint { padding: 6px; color: var(--text-secondary); font-size: 12px; line-height: 1.5; }
.meeting-document-editor-host { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; }
.meeting-document-editor-host > .rich-editor { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; background: var(--surface); }
.meeting-document-editor-host .rich-editor-toolbar { background: var(--surface); color: var(--text-primary); }
.meeting-detail-dialog .meeting-document-editor-host .rich-editor-toolbar .rich-editor-button { height: var(--meeting-document-control-height); min-height: var(--meeting-document-control-height); font-weight: 400; }
.meeting-detail-dialog .meeting-document-editor-host .rich-editor-region-label { color: var(--text-secondary); font-weight: 400; }
.meeting-document-editor .meeting-document-editor-host .rich-editor-content { min-height: 3em; max-height: none; background: var(--document-edit-background, var(--surface)); font-size: 10.5pt; }
.meeting-document-editor .meeting-document-editor-host .is-split .is-body { flex: 1 1 0; min-height: 0; }
.meeting-document-editor .meeting-document-editor-host .is-split .is-title > .rich-editor-content { min-height: 2.8em; max-height: 6em; }
.meeting-document-editor-host:not(:has(> .rich-editor)) { overflow-y: auto; gap: 8px; padding: 8px; }
.meeting-document-properties-pane { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); align-content: start; align-items: start; flex: 1 1 0; min-width: 0; min-height: 0; gap: 14px; overflow-y: auto; padding: 10px; }
.meeting-document-inspector:is([data-mode="page"], [data-mode="header"]) .meeting-document-properties-pane { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 14px; }
.meeting-document-properties > .meeting-document-field-wide { grid-column: 1 / -1; }
.meeting-document-property-group { min-width: 0; margin: 0; padding: 10px 0 0; border: 0; border-top: 1px solid var(--border-subtle); }
.meeting-document-property-group > legend { padding-inline-end: 7px; color: var(--text-secondary); font-size: 12px; font-weight: 400; line-height: 1.4; }
.meeting-document-properties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; min-width: 0; gap: 10px 8px; }
.meeting-document-properties > label, .meeting-document-color-field { display: grid; min-width: 0; gap: 5px; color: var(--text-secondary); font-size: 12px; font-weight: 400; line-height: 1.4; }
.meeting-detail-dialog .meeting-document-properties input:not([type="checkbox"]):not([type="color"]) { width: 100%; min-width: 0; max-width: 100%; height: var(--meeting-document-control-height); min-height: var(--meeting-document-control-height); padding: 6px 8px; border-radius: 6px; font-size: 12px; font-weight: 400; }
.meeting-document-properties input[placeholder="Misto"]::placeholder { color: var(--text-muted); font-style: italic; opacity: 1; }
.meeting-detail-dialog .meeting-document-properties > .meeting-document-switch { display: flex; align-items: center; gap: 8px; grid-column: 1 / -1; min-height: var(--meeting-document-control-height); font-size: 12px; }
.meeting-detail-dialog .meeting-document-properties .meeting-document-switch > input[type="checkbox"] { flex: 0 0 17px; width: 17px; min-width: 17px; min-height: 17px; height: 17px; margin: 0 0 0 auto; padding: 0; accent-color: var(--brand); }
.meeting-document-properties > button { min-width: 0; white-space: normal; text-align: start; }
.meeting-detail-dialog .meeting-document-properties .meeting-document-select { justify-content: flex-start; width: 100%; min-width: 0; height: var(--meeting-document-control-height); padding: 6px 8px; border-color: var(--border-default); background: var(--surface); color: var(--text-primary); text-align: start; }
.meeting-document-select > span { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-document-color { position: relative; display: flex; align-items: center; min-width: 0; min-height: var(--meeting-document-control-height); gap: 4px; }
.meeting-document-color > .meeting-document-mixed-label { flex: 0 0 auto; color: var(--text-secondary); font-size: 11px; font-weight: 400; font-style: italic; line-height: 1.35; white-space: nowrap; }
.meeting-detail-dialog .meeting-document-color > button:first-child { position: relative; flex: 1 1 0; width: auto; min-width: var(--meeting-document-control-height); height: var(--meeting-document-control-height); border-color: var(--border-default); background: var(--surface); }
.meeting-document-color > button:first-child::before, .meeting-document-color > button:first-child::after { content: ""; position: absolute; inset: 5px; border-radius: 3px; pointer-events: none; }
.meeting-document-color > button:first-child::before { border: 1px solid var(--border-default); background: repeating-conic-gradient(#fff 0% 25%, #d3dcd8 0% 50%) 0 0 / 8px 8px; }
.meeting-document-color > button:first-child::after { border: 1px solid var(--border-default); background: var(--document-color, transparent); }
.meeting-document-color > button:first-child > svg { visibility: hidden; }
.meeting-document-color.is-page-color > button:first-child { justify-content: flex-start; width: 100%; padding-inline-start: 42px; font-variant-numeric: tabular-nums; }
.meeting-document-color.is-page-color > button:first-child > svg { display: none; }
.meeting-document-color.is-page-color > button:first-child::before,
.meeting-document-color.is-page-color > button:first-child::after { inset: 5px auto 5px 6px; width: 25px; }
.meeting-document-color.is-page-color > button:first-child > span { min-width: 0; overflow-wrap: anywhere; }
.meeting-detail-dialog .meeting-document-editor .meeting-document-color > input[type="color"] { position: absolute; inset: 0 auto auto 0; width: 1px; min-width: 0; height: 1px; min-height: 0; margin: 0; padding: 0; border: 0; clip-path: inset(50%); overflow: clip; }
.meeting-document-color:focus-within { border-radius: 6px; outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-document-properties-pane[data-bulk="true"] { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 12px; }
.meeting-document-properties-pane[data-bulk="true"] .meeting-document-properties { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 12px; }
.meeting-document-properties-pane[data-bulk="true"] .meeting-document-properties.meeting-bulk-typography { grid-template-columns: minmax(0, 1fr) max-content; }
.meeting-bulk-field { display: grid; min-width: 0; gap: 5px; color: var(--text-secondary); font-size: 12px; font-weight: 400; line-height: 1.4; }
.meeting-detail-dialog .meeting-document-editor .meeting-bulk-select { display: flex; justify-content: space-between; width: 100%; min-width: 0; height: auto; min-height: var(--meeting-document-control-height); border: 1px solid var(--border-default); background: var(--surface); text-align: start; }
.meeting-bulk-select > span:not(.meeting-bulk-color-preview) { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.meeting-bulk-select[data-mixed="true"] > span { font-style: italic; }
.meeting-bulk-number { display: flex; align-items: center; min-width: 0; gap: 5px; }
.meeting-bulk-number > input { flex: 1 1 0; }
.meeting-bulk-unit { flex: 0 0 auto; color: var(--text-muted); font-size: 11px; }
.meeting-detail-dialog .meeting-document-editor .meeting-bulk-size-presets { flex: 0 0 var(--meeting-document-control-height); width: var(--meeting-document-control-height); height: var(--meeting-document-control-height); padding: 7px; }
.meeting-bulk-size-presets > span { display: none; }
.meeting-bulk-segments { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; width: fit-content; max-width: 100%; gap: 2px; padding: 2px; border: 1px solid var(--border-default); border-radius: 7px; background: var(--surface-subtle); }
.meeting-detail-dialog .meeting-document-editor .meeting-bulk-segments > button { position: relative; flex: 0 0 var(--meeting-document-control-height); width: var(--meeting-document-control-height); border: 1px solid transparent; }
.meeting-bulk-segments svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.meeting-detail-dialog .meeting-bulk-segments > button[aria-pressed="mixed"] { border-style: dashed; border-color: var(--text-muted); background: repeating-linear-gradient(135deg, transparent 0 4px, var(--brand-soft) 4px 8px); }
.meeting-bulk-mixed-mark { position: absolute; top: -3px; right: 0; padding: 0 1px; border-radius: 2px; background: var(--surface); color: var(--text-primary); font-size: 11px; line-height: 1; }
.meeting-bulk-state { color: var(--text-muted); font-size: 11px; font-style: italic; }
.meeting-bulk-color-preview { flex: 0 0 22px; width: 22px; height: 20px; border: 1px solid var(--border-strong, #a5b2ae); border-radius: 3px; background: var(--bulk-color); }
.meeting-bulk-color-preview[data-state="transparent"] { background: repeating-conic-gradient(#fff 0% 25%, #d3dcd8 0% 50%) 0 0 / 8px 8px; }
.meeting-bulk-color-preview[data-state="mixed"] { background: repeating-linear-gradient(135deg, var(--surface) 0 4px, var(--text-muted) 4px 6px); }
.meeting-bulk-color-preview[data-state="default"] { background: var(--surface); border-style: dashed; }
.meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu { display: flex; flex-direction: column; width: 310px; padding: 8px; overflow-y: auto; }
.meeting-document-bulk-menu .anchored-popover-header { flex: 0 0 auto; }
.meeting-document-choice-menu.meeting-document-bulk-menu .anchored-popover-body { display: flex; flex-direction: column; min-height: 0; gap: 10px; }
.meeting-bulk-options { flex: 0 1 auto; display: grid; min-height: 0; max-height: min(252px, 42dvh); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; gap: 2px; }
.meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu .meeting-bulk-option { height: auto; min-height: var(--meeting-document-control-height); }
.meeting-document-bulk-menu .meeting-bulk-option > span { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.meeting-bulk-option > svg { visibility: hidden; }
.meeting-bulk-option[aria-pressed="true"] > svg { visibility: visible; }
.meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu input:not([type="color"]) { width: 100%; min-width: 0; min-height: var(--meeting-document-control-height); padding: 6px 8px; border: 1px solid var(--border-default); border-radius: 6px; background: var(--surface); color: var(--text-primary); font: inherit; }
.meeting-bulk-color-group { min-width: 0; margin: 0; padding: 0; border: 0; }
.meeting-bulk-color-group > legend { margin-bottom: 5px; padding: 0; color: var(--text-secondary); font-size: 11px; }
.meeting-bulk-palette { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); min-width: 0; gap: 5px; }
.meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu .meeting-bulk-swatch { justify-content: center; width: 100%; min-width: 0; min-height: 28px; height: 28px; padding: 4px; border: 1px solid var(--border-strong, #a5b2ae); background: var(--bulk-color); color: #172b29; }
.meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu .meeting-bulk-swatch:is(:hover, [aria-pressed="true"]):not(:disabled) { background: var(--bulk-color); outline: 2px solid var(--brand); outline-offset: 1px; }
.meeting-bulk-swatch > svg { visibility: hidden; border-radius: 3px; background: #ffffff; }
.meeting-bulk-swatch[aria-pressed="true"] > svg { visibility: visible; }
.meeting-bulk-custom-color { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; min-width: 0; gap: 6px; }
.meeting-bulk-custom-color > button { grid-column: 1 / -1; }
.meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu .meeting-bulk-custom-color > input[type="color"] { width: 38px; min-width: 38px; min-height: var(--meeting-document-control-height); height: var(--meeting-document-control-height); padding: 3px; border: 1px solid var(--border-default); border-radius: 5px; background: var(--surface); }
.meeting-document-bulk-menu [hidden] { display: none !important; }
@container meeting-document-controls (max-width: 390px) {
  .meeting-document-properties-pane[data-bulk="true"] .meeting-document-properties,
  .meeting-document-properties-pane[data-bulk="true"] .meeting-document-properties.meeting-bulk-typography { grid-template-columns: minmax(0, 1fr); }
}
@media (pointer: coarse) {
  .meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu .meeting-bulk-swatch { min-height: 36px; height: 36px; }
  .meeting-detail-dialog .meeting-document-choice-menu.meeting-document-bulk-menu input:not([type="color"]) { font-size: 16px; }
}
.meeting-document-viewbar { display: flex; flex: 0 0 auto; align-items: center; flex-wrap: wrap; min-width: 0; gap: 3px 5px; padding: 5px 12px; border-top: 1px solid var(--border-default); background: var(--surface); }
.meeting-document-page-count { flex: 1 1 auto; color: var(--text-secondary); font-size: 12px; white-space: nowrap; }
.meeting-document-zoom { min-width: 38px; text-align: center; color: var(--text-secondary); font-size: 12px; font-variant-numeric: tabular-nums; }
.meeting-document-feedback { flex: 0 0 auto; max-height: 5em; overflow-y: auto; padding: 7px 12px; border-top: 1px solid var(--border-subtle); color: var(--text-secondary); font-size: 12px; line-height: 1.45; }
.meeting-document-measure, .meeting-document-layout-probe { position: absolute; left: 0; top: 0; visibility: hidden; pointer-events: none; contain: layout style; z-index: -1; }
.meeting-detail-dialog :is(.meeting-document-page, .meeting-document-measure) .rich-text-output { font-size: 10.5pt; line-height: 1.5; }
.meeting-detail-dialog :is(.meeting-document-page, .meeting-document-measure) .rich-text-output > * { margin-top: 0; }
.meeting-document-editor :is(button, summary, [role="button"], [data-document-target]):focus-visible, .meeting-document-block-selection:focus-within { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-document-stage:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-document-editor :is(.meeting-document-outline, .meeting-document-stage, .meeting-document-properties-pane, .meeting-document-editor-host) { overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb, #a5bdb7) transparent; scrollbar-gutter: stable; }
.meeting-document-workspace, .meeting-document-stage, .meeting-document-page-frame, .meeting-document-page { transition: none; animation: none; }
.meeting-detail-dialog :is(.meeting-document-insert-menu, .meeting-document-choice-menu) { position: fixed; inset: auto; z-index: 100; box-sizing: border-box; margin: 0; width: 350px; min-width: 0; min-height: 0; max-width: calc(100vw - 20px); max-height: calc(100dvh - 24px); padding: 8px; border: 1px solid var(--border-default); border-radius: 10px; background: var(--surface); color: var(--text-primary); box-shadow: var(--shadow-md); font: 400 12px/1.4 Aptos, "Segoe UI", sans-serif; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.meeting-detail-dialog .meeting-document-choice-menu { width: 280px; }
.meeting-detail-dialog .meeting-document-insert-menu { width: 440px; }
:is(.meeting-document-insert-menu, .meeting-document-choice-menu)::backdrop { background: transparent; backdrop-filter: none; }
:is(.meeting-document-insert-menu, .meeting-document-choice-menu) .anchored-popover-header { display: flex; align-items: center; justify-content: space-between; min-width: 0; gap: 8px; margin-bottom: 8px; }
:is(.meeting-document-insert-menu, .meeting-document-choice-menu) .anchored-popover-title { margin: 0; font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
:is(.meeting-document-insert-menu, .meeting-document-choice-menu) .anchored-popover-close { display: grid; place-items: center; flex: 0 0 var(--meeting-document-control-height); width: var(--meeting-document-control-height); height: var(--meeting-document-control-height); min-height: var(--meeting-document-control-height); padding: 6px; border: 0; border-radius: 6px; background: var(--surface-subtle); color: var(--text-secondary); }
:is(.meeting-document-insert-menu, .meeting-document-choice-menu) .anchored-popover-body { display: grid; min-width: 0; gap: 8px; }
.meeting-detail-dialog :is(.meeting-document-insert-menu, .meeting-document-choice-menu) .ghost-button { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-width: 0; height: var(--meeting-document-control-height); min-height: var(--meeting-document-control-height); gap: 7px; margin: 0; padding: 6px 8px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--text-primary); font-size: 12px; font-weight: 400; line-height: 1.35; white-space: normal; text-align: start; box-shadow: none; transform: none; }
.meeting-document-insert-areas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: 3px; padding: 3px; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--surface-subtle); }
.meeting-document-insert-settings { display: grid; min-width: 0; gap: 12px; }
.meeting-document-insert-group { min-width: 0; margin: 0; padding: 7px 0 0; border: 0; border-top: 1px solid var(--border-subtle); }
.meeting-document-insert-group > legend { max-width: 100%; padding-inline-end: 6px; color: var(--text-secondary); font-size: 12px; font-weight: 400; overflow-wrap: anywhere; }
.meeting-document-insert-positions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: 3px; }
.meeting-detail-dialog .meeting-document-insert-positions .ghost-button { padding: 5px 6px; }
.meeting-document-insert-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.meeting-detail-dialog .meeting-document-insert-menu .ghost-button { height: auto; min-height: 38px; align-items: center; }
.meeting-document-insert-menu button > span { min-width: 0; overflow-wrap: anywhere; white-space: normal; }
.meeting-document-choice-menu button > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-document-insert-page { display: grid; min-width: 0; gap: 5px; color: var(--text-secondary); font-size: 12px; }
.meeting-detail-dialog .meeting-document-insert-menu label.meeting-document-insert-page > select { width: 100%; min-width: 0; min-height: 38px; padding: 7px 9px; border: 1px solid var(--border-default); border-radius: 6px; background: var(--surface); color: var(--text-primary); font: inherit; }
.meeting-document-insert-menu [hidden] { display: none !important; }
.meeting-document-palette { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.meeting-detail-dialog .meeting-document-color-menu .meeting-document-palette > button { width: 100%; min-width: 0; min-height: 30px; height: 30px; padding: 4px; border-color: var(--border-default); }
.meeting-document-palette > button > svg { border: 1px solid var(--border-default); border-radius: 3px; background: var(--document-color); }
.meeting-document-palette > button > svg path { visibility: hidden; }
:is(.meeting-document-insert-menu, .meeting-document-choice-menu) button > svg { flex: 0 0 18px; width: 18px; height: 18px; }
.meeting-detail-dialog :is(.meeting-document-insert-menu, .meeting-document-choice-menu) button:hover:not(:disabled) { border-color: var(--border-default); background: var(--surface-hover); }
.meeting-detail-dialog :is(.meeting-document-insert-menu, .meeting-document-choice-menu) button[aria-pressed="true"]:not(:disabled) { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-hover); }
.meeting-detail-dialog :is(.meeting-document-insert-menu, .meeting-document-choice-menu) button:focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-detail-dialog :is(.meeting-document-insert-menu, .meeting-document-choice-menu) button:disabled { opacity: .5; cursor: not-allowed; }
:is(.meeting-document-insert-menu, .meeting-document-choice-menu) .anchored-popover-actions:empty { display: none; }
@container meeting-document-controls (max-width: 559px) {
  .meeting-document-controls > button > span { display: none; }
  .meeting-detail-dialog .meeting-document-controls > .ghost-button { padding-inline: 7px; gap: 0; }
}
@container meeting-document-controls (max-width: 420px) {
  .meeting-document-controls { flex-wrap: wrap; }
  .meeting-document-title { order: -2; flex: 1 1 calc(100% - 90px); }
  .meeting-document-status { order: -1; }
}
@container meeting-document-controls (max-width: 340px) {
  .meeting-document-inspector:is([data-mode="page"], [data-mode="header"]) .meeting-document-properties { grid-template-columns: minmax(0, 1fr); }
}
@media (pointer: coarse) {
  .meeting-document-palette { grid-template-columns: repeat(auto-fit, minmax(min(100%, 44px), 1fr)); }
  .meeting-detail-dialog .meeting-document-insert-menu .ghost-button,
  .meeting-detail-dialog .meeting-document-color-menu .meeting-document-palette > button,
  .meeting-detail-dialog .meeting-document-insert-menu label.meeting-document-insert-page > select { min-height: 44px; }
  .meeting-detail-dialog .meeting-document-insert-menu label.meeting-document-insert-page > select { font-size: 16px; }
}
@media (max-width: 767px), (max-width: 959px) and (max-height: 500px) and (pointer: coarse) and (orientation: landscape) {
  .app-dialog.meeting-detail-dialog.is-minutes-tab { width: calc(100% - 16px); }
  .meeting-document-controls { padding: 4px 6px; }
  .meeting-document-controls > button > span { display: none; }
  .meeting-document-stage { padding: 8px; }
  .meeting-document-viewbar { padding: 4px 6px; }
  .meeting-document-viewbar > .meeting-document-page-count { flex: 1 1 auto; }
  .meeting-document-controls-body { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  .meeting-document-controls-body :is(.meeting-document-navigation, .meeting-document-inspector, .meeting-document-outline, .meeting-document-context-body, .meeting-document-text-pane, .meeting-document-properties-pane, .meeting-document-editor-host) {
    flex: 0 0 auto; min-height: 0; max-height: none; overflow: visible;
  }
  .meeting-document-editor[data-structure-editing="true"] .meeting-document-navigation { flex: 0 0 auto; min-height: 0; }
  .meeting-document-inspector:is([data-mode="page"], [data-mode="header"]) .meeting-document-properties-pane,
  .meeting-document-properties-pane[data-bulk="true"] { padding: 8px; gap: 10px; }
  .meeting-document-inspector .meeting-document-editor-host > .rich-editor { flex: 0 0 auto; }
  .meeting-document-editor .meeting-document-editor-host .is-split .is-body { flex: 0 0 auto; min-height: 112px; }
  .meeting-document-editor .meeting-document-editor-host .is-split .rich-editor-region > .rich-editor-content,
  .meeting-document-editor .meeting-document-editor-host > .rich-editor > .rich-editor-content { flex: 0 0 auto; max-height: none; overflow: visible; }
  .meeting-detail-dialog .meeting-document-properties input:not([type="checkbox"]):not([type="color"]) { font-size: 16px; }
  .meeting-document-editor .meeting-document-editor-host .rich-editor-content { font-size: 16px; }
  .meeting-document-collection .meeting-actions > button { min-height: 44px; }
}
@media (max-height: 500px) {
  .meeting-document-navigation, .meeting-document-inspector { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  .meeting-document-outline, .meeting-document-context-body, .meeting-document-properties-pane, .meeting-document-text-pane { flex: 0 0 auto; }
  .meeting-document-outline, .meeting-document-properties-pane, .meeting-document-text-pane { overflow: visible; }
  .meeting-document-pane-heading { padding: 3px 6px; }
  .meeting-document-controls, .meeting-document-viewbar { padding-block: 3px; }
  .meeting-detail-dialog.is-minutes-tab .app-dialog-header { gap: 6px; padding: 6px 10px; }
  .meeting-detail-dialog.is-minutes-tab .app-dialog-title { font-size: 17px; }
  .meeting-detail-dialog.is-minutes-tab .app-dialog-actions { gap: 4px 6px; padding: 4px 8px; }
  .meeting-detail-dialog.is-minutes-tab .meeting-save-status { flex: 1 1 0; }
  .meeting-detail-dialog.is-minutes-tab .meeting-tabs { grid-template-columns: repeat(7, minmax(0, 1fr)); padding: 3px 6px; }
  .meeting-detail-dialog.is-minutes-tab .meeting-tabs > button { min-height: 34px; padding: 5px; }
  .meeting-detail-dialog.is-minutes-tab .meeting-minutes-section > .meeting-section-heading { display: none; }
  .meeting-document-viewbar > .meeting-document-page-count { flex-basis: auto; }
  .meeting-document-viewbar .ghost-button > span { display: none; }
}
@media (pointer: coarse) {
  .meeting-document-editor, .meeting-document-insert-menu, .meeting-document-choice-menu { --meeting-document-control-height: 44px; --meeting-document-grip-width: 44px; --meeting-document-selection-width: 44px; }
  .meeting-detail-dialog .meeting-collection-menu .ghost-button { min-height: 44px; }
  .meeting-detail-dialog.is-minutes-tab .meeting-tabs > button { min-height: 44px; }
  .meeting-detail-dialog .meeting-document-properties input:not([type="checkbox"]):not([type="color"]) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .meeting-document-editor .ghost-button, .meeting-document-outline-row,
  :is(.meeting-document-insert-menu, .meeting-document-choice-menu) button { transition: none; animation: none; }
}
.meeting-detail-dialog *, .meeting-participant-selector * { box-sizing: border-box; }
.meeting-detail-dialog [hidden], .meeting-participant-selector [hidden] { display: none !important; }
.meeting-detail-dialog .app-dialog-header { position: static; align-items: center; flex-wrap: wrap; min-width: 0; gap: 10px 16px; padding: 14px 22px; background: var(--surface); }
.meeting-detail-dialog .app-dialog-header > div { flex: 1 1 240px; min-width: 0; }
.meeting-detail-dialog .app-dialog-header > .meeting-header-controls { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; margin-inline-start: auto; }
.meeting-detail-dialog .meeting-header-controls > .dialog-close,
.meeting-detail-dialog .meeting-header-actions > button { flex: 0 0 34px; width: 34px; min-width: 34px; height: 34px; min-height: 34px; margin: 0; padding: 7px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface); color: var(--text-secondary); box-shadow: none; }
.meeting-detail-dialog .meeting-header-controls > .dialog-close { padding: 0; font-size: 0; }
.meeting-detail-dialog .meeting-header-controls > .dialog-close:hover:not(:disabled),
.meeting-detail-dialog .meeting-header-actions > button:hover:not(:disabled) { background: var(--surface-hover); border-color: var(--brand); }
.meeting-detail-dialog .meeting-header-controls > .dialog-close:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-detail-dialog .meeting-header-controls > .dialog-close:disabled { opacity: .55; cursor: not-allowed; }
.meeting-detail-dialog .app-dialog-title { min-width: 0; font-size: 21px; font-weight: 500; overflow-wrap: anywhere; }
.meeting-detail-dialog .meeting-title-line { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; gap: 8px 12px; }
.meeting-detail-dialog .app-dialog-body { display: block; min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; padding: 16px 22px; container: meeting-detail-body / inline-size; }
.meeting-detail-dialog .app-dialog-actions { position: static; min-width: 0; flex-wrap: wrap; gap: 8px; padding: 10px 22px; box-shadow: none; background: var(--surface); }
.meeting-detail-dialog .app-dialog-actions > button { min-width: 0; }
.meeting-detail-dialog :is(p, h3, h4) { margin: 0; }
.meeting-detail-dialog .projects-icon, .meeting-participant-selector .projects-icon {
  width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.meeting-detail-dialog :is(.ghost-button, .primary-button),
.meeting-participant-selector .ghost-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  max-width: 100%; min-height: 36px; white-space: normal; line-height: 1.3; font-size: 13px; font-weight: 400;
}
.meeting-detail-dialog .meeting-icon-action {
  flex: 0 0 34px; width: 34px; min-width: 34px; height: 34px; min-height: 34px; padding: 7px;
}
.meeting-detail-dialog .meeting-danger { color: var(--danger); }
.meeting-detail-dialog .meeting-header-actions > .meeting-danger { color: var(--danger); }
.meeting-detail-dialog .meeting-header-actions > .meeting-danger:hover:not(:disabled) { background: var(--danger-soft); border-color: var(--danger); }
.meeting-detail-dialog :is(.ghost-button, .primary-button):focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-detail-dialog :is(.ghost-button, .primary-button):disabled { opacity: .55; cursor: not-allowed; }
.meeting-header-actions, .meeting-invitation-actions, .meeting-actions, .meeting-section-heading,
.meeting-person-heading, .meeting-summary-line, .meeting-invitation {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; min-width: 0;
}
.meeting-header-actions { flex-wrap: nowrap; gap: 6px; padding-inline-start: 8px; border-inline-start: 1px solid var(--border-subtle); }
.meeting-header-controls > .meeting-header-menu-trigger,
.meeting-header-controls > .meeting-header-actions > button > span,
.meeting-action-mobile-label { display: none; }
.meeting-detail-dialog .meeting-header-menu .meeting-header-actions { display: grid; width: 100%; padding: 0; border: 0; gap: 2px; }
.meeting-detail-dialog .meeting-header-menu .meeting-header-actions > button { justify-content: flex-start; width: 100%; height: auto; min-width: 0; min-height: 44px; padding: 8px 10px; border: 0; background: transparent; }
.meeting-header-menu .anchored-popover-actions:empty { display: none; }
.meeting-invitation-actions { gap: 6px; }
.meeting-detail-dialog .meeting-my-invitation {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  flex: 0 0 auto; min-width: 0; gap: 8px 12px; padding: 8px 22px; border-bottom: 1px solid var(--border-subtle);
}
.meeting-my-invitation-heading { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; gap: 6px 8px; }
.meeting-detail-dialog .meeting-my-invitation h4 { display: inline-flex; align-items: center; gap: 6px; color: var(--text-secondary); font-size: 12px; line-height: 1.4; }
.meeting-detail-dialog .meeting-my-invitation h4 > .projects-icon { flex-basis: 15px; width: 15px; height: 15px; color: var(--brand-hover); }
.meeting-detail-dialog .meeting-my-invitation .meeting-status { font-size: 11px; }
.meeting-detail-dialog .meeting-invitation-actions > button { min-width: 0; min-height: 36px; padding: 6px 9px; font-size: 12px; box-shadow: none; }
.meeting-detail-dialog .meeting-invitation-actions .projects-icon { flex-basis: 16px; width: 16px; height: 16px; }
.meeting-status { display: inline-flex; align-items: center; justify-self: start; align-self: center; flex: 0 0 auto; max-width: 100%; gap: 5px; padding: 4px 9px; border-radius: 999px; background: var(--neutral-soft); color: var(--text-secondary); font-size: 12px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.meeting-status[data-tone="success"] { background: var(--success-soft); color: var(--success); }
.meeting-status[data-tone="warning"] { background: var(--warning-soft); color: var(--warning); }
.meeting-status[data-tone="danger"] { background: var(--danger-soft); color: var(--danger); }
.meeting-status[data-tone="info"] { background: var(--info-soft); color: var(--info); }
.meeting-tabs {
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: center; min-width: 0;
  gap: 5px; padding: 8px 22px; border-bottom: 1px solid var(--border-default);
  background:
    linear-gradient(to right, var(--surface) 50%, transparent) left center / 24px 100% local,
    linear-gradient(to left, var(--surface) 50%, transparent) right center / 24px 100% local,
    linear-gradient(to right, var(--border-default), transparent) left center / 8px 100% scroll,
    linear-gradient(to left, var(--border-default), transparent) right center / 8px 100% scroll;
  background-color: var(--surface); background-repeat: no-repeat;
}
.meeting-tabs > button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; flex: 1 1 auto; min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text-secondary); font: 400 13px/1.3 Aptos, "Segoe UI", sans-serif; }
.meeting-tabs > button:hover:not(:disabled) { background: var(--surface-hover); }
.meeting-tabs > button[aria-selected="true"] { border-color: var(--border-default); background: var(--brand-soft); color: var(--brand-hover); }
.meeting-tabs > button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-tabs > button:disabled { color: var(--text-muted); opacity: .55; cursor: not-allowed; }
.meeting-tabs > button > span { min-width: 0; overflow-wrap: anywhere; }
.meeting-panels { min-width: 0; min-height: 0; }
.meeting-panel { display: grid; align-content: start; gap: 14px; min-width: 0; }
.meeting-columns { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .85fr); align-items: start; gap: 14px; min-width: 0; }
.meeting-overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; min-height: 0; }
.meeting-overview-summary { grid-template-columns: minmax(0, 1.05fr) minmax(280px, 1fr); gap: 10px; }
.meeting-stack, .meeting-section, .meeting-inline-form, .meeting-field { display: grid; align-content: start; gap: 10px; min-width: 0; }
.meeting-section { padding: 16px; border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface); }
.meeting-section-heading { justify-content: space-between; }
.meeting-section-heading h3 { display: inline-flex; align-items: center; gap: 7px; min-width: 0; font-size: 15px; font-weight: 500; line-height: 1.35; }
.meeting-section-heading > .muted { font-size: 12px; }
.meeting-section-copy { color: var(--text-secondary); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.meeting-publication-lifecycle { container: meeting-publication / inline-size; gap: 7px; padding: 13px 15px; }
.meeting-publication-lifecycle > .meeting-section-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 8px; }
.meeting-publication-lifecycle > .meeting-section-heading h3 { overflow-wrap: anywhere; }
.meeting-publication-lifecycle > .meeting-section-heading > .meeting-status { justify-self: end; white-space: nowrap; }
.meeting-publication-lifecycle > .meeting-stack { gap: 0; }
.meeting-publication-summary { display: grid; align-items: center; min-width: 0; gap: 9px; }
.meeting-publication-summary > .meeting-section-copy { min-width: 0; }
.meeting-publication-actions { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 13fr); align-items: center; width: 100%; gap: 8px; }
.meeting-publication-actions:has(> button:only-child) { display: flex; justify-content: flex-end; }
.meeting-detail-dialog .meeting-publication-actions > button { min-width: 0; min-height: 44px; padding: 7px 10px; gap: 6px; border-radius: 8px; box-shadow: none; white-space: nowrap; }
.meeting-detail-dialog .app-dialog-body[inert] .meeting-publication-actions { opacity: .6; }
.meeting-detail-dialog .meeting-publication-actions > .ghost-button:active:not(:disabled) { background: var(--brand-soft); transform: none; }
.meeting-detail-dialog .meeting-publication-actions > .primary-button:active:not(:disabled) { background: #006b61; transform: none; }
.meeting-publication-actions > button .projects-icon { width: 16px; height: 16px; flex-basis: 16px; }
.meeting-publication-actions .meeting-action-full-label { display: none; }
.meeting-publication-actions .meeting-action-mobile-label { display: inline; }
@container meeting-publication (min-width: 570px) {
  .meeting-publication-summary { display: flex; gap: 12px; }
  .meeting-publication-summary > .meeting-section-copy { flex: 1 1 auto; }
  .meeting-publication-actions { display: flex; flex: 0 0 auto; width: auto; flex-wrap: nowrap; gap: 7px; }
  .meeting-publication-actions .meeting-action-full-label { display: inline; }
  .meeting-publication-actions .meeting-action-mobile-label { display: none; }
}
@media (pointer: coarse) {
  .meeting-detail-dialog .meeting-publication-actions > button { min-height: 44px; }
}
.meeting-detail-dialog .meeting-empty, .meeting-participant-selector .meeting-empty { margin: 0; padding: 10px 0; color: var(--text-muted); font-size: 13px; line-height: 1.5; }
.meeting-facts { display: flex; flex-wrap: wrap; align-items: start; gap: 12px 24px; margin: 0; }
.meeting-facts > div { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.meeting-facts dt { margin-bottom: 4px; color: var(--text-muted); font-size: 12px; }
.meeting-detail-dialog .meeting-facts dt { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: normal; }
.meeting-detail-dialog .meeting-facts dt > .projects-icon { width: 15px; height: 15px; flex-basis: 15px; color: var(--brand-hover); }
.meeting-facts dd { margin: 0; color: var(--text-primary); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.meeting-person { display: flex; align-items: center; min-width: 0; gap: 9px; }
.meeting-person > .user-avatar, .meeting-participant-selector .user-avatar { flex: 0 0 32px; width: 32px; height: 32px; font-size: 11px; }
.meeting-person-copy { display: grid; flex: 1 1 auto; min-width: 0; gap: 3px; }
.meeting-person-copy > strong, .meeting-person-option strong { font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-person-copy > small, .meeting-person-option small { font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-description { display: grid; min-width: 0; gap: 6px; padding-top: 12px; border-top: 1px solid var(--border-subtle); }
.meeting-description h4 { color: var(--text-secondary); font-size: 12px; font-weight: 600; }
.meeting-role-row { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; gap: 8px 12px; }
.meeting-role-row > .meeting-person { flex: 1 1 190px; }
.meeting-role-row > small { flex: 1 1 100%; font-size: 12px; }
.meeting-role-actions { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; gap: 6px; }
.meeting-detail-dialog .meeting-manage-action { min-height: 34px; padding: 6px 9px; border-radius: 8px; background: var(--surface-subtle); font-weight: 400; }
.meeting-detail-dialog :is(.meeting-manage-action, .meeting-recorder-action)[aria-expanded="true"] { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-hover); }
.meeting-detail-dialog .meeting-guests-card { min-width: 0; min-height: 0; gap: 12px; }
.meeting-guests-card > .meeting-section-heading { gap: 8px; }
.meeting-guests-card > .meeting-section-heading > .muted { margin-inline-start: auto; }
.meeting-guests-card > .meeting-stack {
  display: flex; flex-direction: column; min-height: 0; max-height: max(12rem, min(380px, 45dvh));
}
.meeting-detail-dialog .meeting-guests-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; scrollbar-color: var(--scrollbar-thumb) transparent; padding-inline-end: 4px; }
.meeting-detail-dialog .meeting-guest-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.meeting-guest-row .meeting-person-copy { min-width: 0; }
.meeting-detail-dialog .meeting-guest-row > .meeting-status { max-width: 100%; font-size: 11px; }
.meeting-guests-list:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

.app-dialog.meeting-detail-dialog.ticket-workflow-dialog.has-meeting-management { height: calc(var(--workflow-viewport-height, 100dvh) - 32px); }
.meeting-detail-dialog > .meeting-management {
  position: absolute; inset-block: 0; inset-inline-end: 0; z-index: 4;
  display: flex; flex-direction: column; width: min(440px, 100%); min-width: 0; min-height: 0; gap: 12px;
  border-top: 3px solid var(--brand); border-radius: var(--radius-lg); box-shadow: var(--shadow-md);
}
.meeting-management > .meeting-section-heading { flex: 0 0 auto; flex-wrap: nowrap; gap: 8px; }
.meeting-management > .meeting-section-heading h3 { overflow-wrap: anywhere; }
.meeting-management > .meeting-section-heading > h3 { flex: 1 1 0; }
.meeting-detail-dialog .meeting-management-switch { display: inline-flex; }
.meeting-management .meeting-management-close { flex-shrink: 0; }
.meeting-manager-content { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.meeting-management > .meeting-manager-content { flex: 1 1 0; }
.meeting-manager-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding-top: 12px; border-top: 1px solid var(--border-subtle); }
.meeting-management > .meeting-feedback { flex: 0 1 auto; max-height: 30%; overflow-y: auto; scrollbar-width: thin; }
.meeting-manager-panel { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; gap: 12px; overflow-y: auto; scrollbar-width: thin; container: meeting-people / inline-size; }
.meeting-detail-dialog .meeting-manager-panel .meeting-participant-selector { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; }
.meeting-manager-panel .meeting-participant-selector > :not(.meeting-people-list) { flex: 0 0 auto; }
.meeting-detail-dialog .meeting-manager-panel .meeting-people-list { flex: 1 1 0; min-height: 64px; max-height: none; }
.meeting-delegation { flex: 0 0 auto; padding: 10px; border: 1px solid var(--border-default); border-radius: 9px; background: var(--surface); }
.meeting-detail-dialog .meeting-manager-panel .meeting-people-search input[type="search"] { padding-inline: 0; border: 0; background: transparent; font-size: 12px; }
.meeting-detail-dialog .meeting-manager-panel .meeting-people-search input[type="search"]:focus-visible { outline: none; }
@media (min-width: 1680px) {
  .app-dialog.meeting-detail-dialog.ticket-workflow-dialog.has-meeting-management {
    width: min(1634px, calc(100vw - 32px)); grid-template-columns: 1180px minmax(0, 1fr); gap: 14px;
  }
  .meeting-detail-dialog > .meeting-management { position: static; width: 100%; height: 100%; }
}
.app-dialog.meeting-detail-dialog.ticket-workflow-dialog.has-publication-sidecar { height: calc(var(--workflow-viewport-height, 100dvh) - 32px); }
.meeting-detail-dialog > .meeting-publication-sidecar {
  position: absolute; inset-block: 0; inset-inline-end: 0; z-index: 4;
  display: flex; flex-direction: column; width: min(440px, 100%); height: 100%; min-width: 0; min-height: 0; gap: 12px; padding: 16px;
  border: 1px solid var(--border-default); border-top: 3px solid var(--brand); border-radius: var(--radius-lg);
  background: var(--surface); color: var(--text-primary); box-shadow: var(--shadow-md); overflow: hidden;
}
.meeting-sidecar-heading { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; min-width: 0; gap: 8px; }
.meeting-sidecar-heading > :is(h3, h4) { display: flex; flex: 1 1 0; align-items: center; min-width: 0; gap: 7px; margin: 0; font-size: 15px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-sidecar-heading > button { flex-shrink: 0; }
.meeting-sidecar-heading > :is(h3, h4):focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-sidecar-body { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; gap: 10px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; container: meeting-people / inline-size; }
.meeting-sidecar-access { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; }
.meeting-sidecar-access { gap: 12px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.meeting-access-list { flex: 1 1 0; min-width: 0; min-height: 96px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.meeting-access-row { display: flex; align-items: center; justify-content: space-between; min-width: 0; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--border-subtle); }
.meeting-access-row > .meeting-item-copy { flex: 1 1 0; min-width: 0; }
.meeting-access-row .meeting-item-copy > span { overflow-wrap: anywhere; }
.meeting-access-row .meeting-status { align-self: flex-start; font-size: 11px; font-weight: 400; }
.meeting-detail-dialog .meeting-access-row > button { flex: 0 0 auto; min-width: 0; min-height: 36px; padding: 7px 9px; font-size: 12px; font-weight: 400; box-shadow: none; }
.meeting-access-additional { flex: 0 0 auto; min-width: 0; }
.meeting-access-additional > summary { min-height: 36px; padding: 8px 0; color: var(--text-secondary); font-size: 12px; cursor: pointer; }
.meeting-access-additional .meeting-participant-selector { max-height: min(340px, 48dvh); margin-top: 8px; }
.meeting-sidecar-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; flex-wrap: wrap; min-width: 0; gap: 8px; padding-top: 10px; border-top: 1px solid var(--border-subtle); }
.meeting-sidecar-actions:empty { display: none; }
.meeting-sidecar-actions > .meeting-save-status:empty { display: none; }
.meeting-publication-sidecar > .meeting-feedback { flex: 0 1 auto; min-height: 0; max-height: 25%; overflow-y: auto; scrollbar-width: thin; }
.meeting-publication-sidecar .meeting-participant-selector { display: flex; flex-direction: column; flex: 1 1 0; min-width: 0; min-height: 0; }
.meeting-publication-sidecar .meeting-participant-selector > :not(.meeting-people-list) { flex: 0 0 auto; }
.meeting-publication-sidecar .meeting-participant-selector > .meeting-people-selected { max-height: min(120px, 22dvh); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.meeting-detail-dialog .meeting-publication-sidecar .meeting-people-list { flex: 1 1 0; min-height: 64px; max-height: none; }
.meeting-sidecar-history { display: grid; grid-auto-rows: max-content; align-content: start; flex: 1 1 0; min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; }
.meeting-sidecar-history > .meeting-list > .meeting-list-item { gap: 5px; padding-block: 10px; }
.meeting-sidecar-history .meeting-list-item > span { font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-sidecar-history .meeting-item-copy > strong { font-size: 13px; font-weight: 500; }
.meeting-publication-sidecar :is(.meeting-people-list, .meeting-sidecar-history):focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
@media (min-width: 1680px) {
  .app-dialog.meeting-detail-dialog.ticket-workflow-dialog.has-publication-sidecar { width: min(1634px, calc(100vw - 32px)); grid-template-columns: 1180px minmax(0, 1fr); gap: 14px; }
  .meeting-detail-dialog > .meeting-publication-sidecar { position: static; width: 100%; height: 100%; }
}
.meeting-detail-dialog :is(.meeting-refresh-action, .meeting-header-menu-trigger).has-updates { position: relative; border-color: var(--info); color: var(--info); }
:is(.meeting-refresh-action, .meeting-header-menu-trigger).has-updates::after { content: ""; position: absolute; inset-block-start: 3px; inset-inline-end: 3px; width: 6px; height: 6px; border-radius: 50%; background: var(--info); }
.meeting-update-popover {
  position: fixed; inset: auto; display: grid; width: min(300px, calc(100vw - 20px)); margin: 0; padding: 12px;
  border: 1px solid var(--border-default); border-radius: var(--radius-md); background: var(--surface);
  color: var(--text-secondary); box-shadow: var(--shadow-sm); font: 12px/1.4 Aptos, "Segoe UI", sans-serif; overflow-y: auto;
}
.meeting-update-header { display: flex; align-items: start; gap: 8px; }
.meeting-update-header > div { flex: 1 1 auto; min-width: 0; }
.meeting-update-title { margin: 0; font-size: 12px; font-weight: 500; line-height: 1.4; }
.meeting-update-header p { margin: 4px 0 0; font-size: 12px; }
.meeting-update-close { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; padding: 7px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface-subtle); color: var(--text-secondary); }
.meeting-update-close .projects-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.meeting-update-close:hover { border-color: var(--brand); background: var(--surface-hover); }
.meeting-update-close:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-update-body:empty, .meeting-update-actions:empty { display: none; }
.confirm-dialog-prompt.meeting-discard-dialog { width: min(440px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); overflow-y: auto; padding: 20px; border-radius: var(--radius-md); }
.meeting-discard-dialog .dialog-actions { flex-wrap: wrap; gap: 8px; }
.meeting-discard-dialog .dialog-actions > button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 36px; gap: 7px; padding: 7px 11px; font-size: 12px; font-weight: 400; border-radius: 8px; }
.meeting-discard-dialog .dialog-actions > .ghost-button { background: var(--surface-subtle); color: var(--text-secondary); }
.meeting-discard-dialog .dialog-actions > .confirm-dialog-destructive { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }
.meeting-discard-dialog .dialog-actions > .confirm-dialog-destructive:hover { background: var(--danger); color: #fff; }
.meeting-discard-dialog .projects-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.meeting-discard-dialog button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.confirm-dialog-prompt.meeting-document-confirm { width: min(460px, calc(100vw - max(16px, env(safe-area-inset-left)) - max(16px, env(safe-area-inset-right)))); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - max(16px, env(safe-area-inset-top)) - max(16px, env(safe-area-inset-bottom))); padding: 18px 20px; border-radius: var(--radius-md); box-shadow: 0 16px 38px rgba(7, 22, 20, .17); overflow-y: auto; overscroll-behavior: contain; }
.meeting-document-confirm::backdrop { background: rgba(7, 22, 20, .18); backdrop-filter: none; }
.meeting-document-confirm .confirm-dialog-heading { display: grid; grid-template-columns: 32px minmax(0, 1fr) 32px; align-items: start; gap: 9px; }
.meeting-document-confirm .confirm-dialog-heading-icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--brand-soft); color: var(--brand-hover); }
.meeting-document-confirm .projects-icon { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.meeting-document-confirm h2 { min-width: 0; margin: 3px 0 0; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.02em; overflow-wrap: anywhere; }
.meeting-document-confirm .confirm-dialog-dismiss { width: 32px; height: 32px; padding: 0; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--text-secondary); font-size: 23px; line-height: 1; }
.meeting-document-confirm .confirm-dialog-dismiss:hover { border-color: var(--border-default); background: var(--surface-hover); }
.meeting-document-confirm .confirm-dialog-content { margin-top: 13px; }
.meeting-document-confirm-copy { display: grid; gap: 7px; min-width: 0; }
.meeting-document-confirm-copy > p { margin: 0; color: var(--text-secondary); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.meeting-document-confirm-copy > .meeting-document-confirm-identity { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 7px; padding-bottom: 8px; border-bottom: 1px solid var(--border-subtle); }
.meeting-document-confirm-identity > span { flex: 0 0 auto; color: var(--text-muted); font-size: 11px; }
.meeting-document-confirm-identity > strong { min-width: 0; font-size: 12px; font-weight: 650; color: var(--text-primary); overflow-wrap: anywhere; }
.meeting-document-confirm .dialog-actions { justify-content: space-between; gap: 8px; margin-top: 17px; }
.meeting-document-confirm .dialog-actions > button { display: inline-flex; align-items: center; justify-content: center; min-width: 112px; min-height: 40px; gap: 7px; padding: 7px 13px; border-radius: 8px; box-shadow: none; font-size: 13px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.meeting-document-confirm .dialog-actions > .primary-button { background: var(--brand-hover); }
.meeting-document-confirm .dialog-actions > .primary-button:hover:not(:disabled) { background: #006b61; }
.meeting-document-confirm .dialog-actions > .ghost-button:active:not(:disabled) { background: var(--brand-soft); transform: none; }
.meeting-document-confirm .dialog-actions > .primary-button:active:not(:disabled) { background: #005a52; transform: none; }
.meeting-document-confirm .dialog-actions > button:focus-visible, .meeting-document-confirm .confirm-dialog-dismiss:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-document-confirm .dialog-actions > button:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 520px) {
  .meeting-document-confirm .dialog-actions { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 13fr); }
  .meeting-document-confirm .dialog-actions > button { width: 100%; min-width: 0; min-height: 44px; padding-inline: 6px; }
}
@media (pointer: coarse) {
  .meeting-document-confirm .confirm-dialog-heading { grid-template-columns: 36px minmax(0, 1fr) 44px; }
  .meeting-document-confirm .confirm-dialog-heading-icon { width: 36px; height: 36px; }
  .meeting-document-confirm .confirm-dialog-dismiss { width: 44px; height: 44px; }
  .meeting-document-confirm .dialog-actions > button { min-height: 44px; }
}
.meeting-invitation { justify-content: space-between; padding: 12px; border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface); }
.meeting-list { display: grid; gap: 0; min-width: 0; }
.meeting-list-item { display: grid; gap: 9px; min-width: 0; padding-block: 12px; border-bottom: 1px solid var(--border-subtle); }
.meeting-list-item:first-child { padding-top: 0; }
.meeting-list-item:last-child { padding-bottom: 0; border-bottom: 0; }
.meeting-item-heading { display: flex; align-items: start; gap: 10px; min-width: 0; }
.meeting-item-copy { display: grid; flex: 1 1 auto; gap: 5px; min-width: 0; }
.meeting-item-copy > strong { overflow-wrap: anywhere; font-size: 14px; line-height: 1.4; }
.meeting-item-copy small { color: var(--text-muted); font-size: 12px; line-height: 1.4; }
.meeting-item-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.meeting-item-number { display: grid; flex: 0 0 26px; place-items: center; width: 26px; height: 26px; border-radius: 7px; background: var(--surface-subtle); color: var(--text-muted); font-size: 12px; }
.meeting-inline-form { padding: 12px; border: 1px solid var(--border-default); border-radius: var(--radius-sm); background: var(--surface-subtle); }
.meeting-field { gap: 6px; color: var(--text-secondary); font-size: 13px; font-weight: 400; }
.meeting-detail-dialog :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select),
.meeting-participant-selector :is(input[type="search"], select) { width: 100%; min-width: 0; min-height: 40px; padding: 9px 11px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface); color: var(--text-primary); font: inherit; }
.meeting-detail-dialog textarea { min-height: 76px; resize: vertical; }
.meeting-detail-dialog label:has(> input[type="checkbox"]) { display: flex; align-items: start; gap: 8px; font-size: 13px; line-height: 1.4; }
.meeting-detail-dialog input[type="checkbox"], .meeting-participant-selector input:is([type="checkbox"], [type="radio"]) { width: 17px; height: 17px; flex: 0 0 17px; margin: 2px 0 0; accent-color: var(--brand); }
.meeting-detail-dialog :is(input, select, textarea):focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-participant-selector :is(input, select):focus-visible { outline: 2px solid var(--meeting-accent); outline-offset: 2px; }
.meeting-detail-dialog .rich-editor-content { min-height: 125px; overflow-wrap: anywhere; }
.meeting-detail-dialog .is-compact .rich-editor-content { min-height: 76px; }
.meeting-rich-view { min-width: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.meeting-rich-view > :first-child { margin-top: 0; }
.meeting-rich-view > :last-child { margin-bottom: 0; }
.meeting-rich-view :is(p, ul, ol, blockquote) { max-width: 100%; }
.meeting-feedback { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-width: 0; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.meeting-feedback:empty { display: none; }
.meeting-feedback:has(.form-error) { padding: 10px; border: 1px solid var(--danger); border-radius: 8px; background: var(--danger-soft); }
.meeting-feedback .form-error { margin: 0; }
.meeting-save-status { flex: 1 1 auto; color: var(--text-muted); font-size: 12px; }
.meeting-presence-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, 170px); align-items: center; gap: 10px; }
.meeting-presence-row .meeting-actions { grid-column: 1 / -1; }
.meeting-presence-row select { font-size: 13px; }
.meeting-add-kind { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.meeting-add-kind button[aria-pressed="true"] { background: var(--brand-soft); color: var(--brand-hover); border-color: var(--brand); }
.meeting-file-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.meeting-file-row > .meeting-item-copy { flex-basis: 160px; }
.meeting-file-name { color: var(--text-primary); font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.meeting-file-row > .projects-icon { flex: 0 0 24px; width: 24px; height: 24px; color: var(--text-muted); }
.meeting-file-row > .meeting-item-copy { flex: 1 1 160px; gap: 4px; }
.meeting-file-row > .meeting-item-actions { flex: 0 0 auto; flex-wrap: nowrap; margin-inline-start: auto; }
.meeting-file-row .meeting-file-state { display: inline-flex; align-items: center; justify-self: start; max-width: 100%; gap: 5px; padding: 3px 7px; border-radius: 6px; background: var(--success-soft); color: var(--success); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-detail-dialog :is(.meeting-file-download, .meeting-file-remove) {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 36px;
  width: 36px; min-width: 36px; height: 36px; min-height: 36px; margin: 0; padding: 8px;
  border: 1px solid transparent; border-radius: 8px; background: transparent; box-shadow: none; transform: none;
}
.meeting-detail-dialog .meeting-file-download { color: var(--success); }
.meeting-detail-dialog .meeting-file-remove { color: var(--danger); }
.meeting-detail-dialog .meeting-file-download:hover:not(:disabled) { border-color: var(--success); background: var(--success-soft); }
.meeting-detail-dialog .meeting-file-remove:hover:not(:disabled) { border-color: var(--danger); background: var(--danger-soft); }
.meeting-detail-dialog :is(.meeting-file-download, .meeting-file-remove):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.meeting-detail-dialog :is(.meeting-file-download, .meeting-file-remove):disabled { opacity: .5; cursor: not-allowed; }
.meeting-upload-queue { display: grid; min-width: 0; gap: 6px; }
.meeting-upload-queue:empty { display: none; }
.meeting-upload-item { display: flex; align-items: center; flex-wrap: wrap; min-width: 0; gap: 6px 10px; padding: 9px 10px; border: 1px solid var(--border-subtle); border-inline-start: 3px solid var(--border-default); border-radius: 8px; background: var(--surface-subtle); }
.meeting-upload-item > .meeting-item-copy { flex: 1 1 160px; }
.meeting-upload-item > .projects-icon { flex: 0 0 20px; width: 20px; height: 20px; color: var(--text-muted); }
.meeting-upload-item[data-state="uploading"] { border-inline-start-color: var(--info); }
.meeting-upload-item[data-state="failed"] { border-inline-start-color: var(--danger); background: var(--danger-soft); }
.meeting-upload-item:is([data-state="done"], [data-state="sent"]) { border-inline-start-color: var(--success); }
.meeting-upload-item[data-state="uploading"] .meeting-file-state { background: var(--info-soft); color: var(--info); }
.meeting-upload-item[data-state="failed"] .meeting-file-state { color: var(--danger); }
.meeting-upload-item:is([data-state="done"], [data-state="sent"]) .meeting-file-state { background: var(--success-soft); color: var(--success); }
.meeting-upload-item .meeting-feedback { flex: 1 1 100%; font-size: 12px; }
.meeting-upload-item progress { flex: 1 1 100%; width: 100%; max-width: 100%; height: 5px; accent-color: var(--info); }
.meeting-detail-dialog .meeting-upload-item > .ghost-button { flex: 0 0 auto; min-height: 34px; padding: 6px 9px; font-size: 12px; box-shadow: none; }
.meeting-presence-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; min-width: 0; gap: 6px; margin-inline-start: auto; }
.meeting-detail-dialog .meeting-presence-actions > button { min-width: 0; min-height: 36px; padding: 6px 9px; box-shadow: none; }
.meeting-presence-form-footer { --meeting-presence-control-height: 40px; display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; min-width: 0; gap: 12px 20px; }
.meeting-presence-form-field { display: grid; justify-items: center; flex: 0 1 auto; min-width: 0; max-width: 100%; gap: 6px; }
.meeting-presence-form-field > span { max-width: 100%; color: var(--text-secondary); font-size: 12px; font-weight: 400; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.meeting-presence-form-footer > .meeting-presence-form-actions { justify-content: flex-end; flex: 0 1 auto; min-width: 0; max-width: 100%; gap: 8px; margin-inline-start: auto; }
.meeting-detail-dialog .meeting-presence-form-footer :is(.meeting-presence-trigger, .meeting-presence-form-actions > button) { min-height: var(--meeting-presence-control-height); }
.meeting-presence-row { grid-template-columns: minmax(0, 1fr) auto; container: meeting-presence / inline-size; }
.meeting-presence-control { display: flex; align-items: center; min-width: 0; max-width: 100%; }
.meeting-presence-segments { display: none; align-items: stretch; min-width: 0; gap: 2px; padding: 3px; border: 1px solid var(--border-default); border-radius: 9px; background: var(--surface-subtle); }
.meeting-detail-dialog .meeting-presence-segments > [role="radio"] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-width: 0; min-height: 34px; gap: 5px; padding: 6px 8px; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--text-secondary); font: 400 12px/1.35 Aptos, "Segoe UI", sans-serif; white-space: nowrap; box-shadow: none; transform: none; }
.meeting-detail-dialog .meeting-presence-segments > [role="radio"]:hover:not(:disabled) { background: var(--surface-hover); }
.meeting-detail-dialog .meeting-presence-segments > [aria-checked="true"] { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-hover); box-shadow: var(--shadow-xs); font-weight: 600; }
.meeting-detail-dialog .meeting-presence-segments > [data-value="true"][aria-checked="true"] { border-color: var(--success); background: var(--success-soft); color: var(--success); }
.meeting-detail-dialog .meeting-presence-segments > [data-value="false"][aria-checked="true"] { border-color: var(--danger); background: var(--danger-soft); color: var(--danger); }
.meeting-detail-dialog .meeting-presence-trigger { display: inline-flex; align-items: center; justify-content: space-between; min-width: 0; min-height: 38px; max-width: 100%; gap: 7px; padding: 7px 10px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface); color: var(--text-secondary); font: 400 13px/1.4 Aptos, "Segoe UI", sans-serif; box-shadow: none; }
.meeting-presence-control[data-value="true"] > .meeting-presence-trigger { color: var(--success); }
.meeting-presence-control[data-value="false"] > .meeting-presence-trigger { color: var(--danger); }
.meeting-detail-dialog .meeting-presence-trigger:is(:hover, [aria-expanded="true"]):not(:disabled) { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-hover); }
.meeting-detail-dialog .meeting-presence-control :is([role="radio"], .meeting-presence-trigger):focus-visible { outline: 2px solid var(--brand); outline-offset: -2px; }
.meeting-detail-dialog .meeting-presence-control :is([role="radio"], .meeting-presence-trigger):disabled { opacity: .55; cursor: not-allowed; }
.meeting-presence-control :is([role="radio"], .meeting-presence-trigger) > svg { flex: 0 0 16px; width: 16px; height: 16px; }
.meeting-detail-dialog .meeting-presence-menu .ghost-button { justify-content: flex-start; width: 100%; border: 1px solid transparent; }
.meeting-detail-dialog .meeting-presence-menu .ghost-button[aria-pressed="true"] { border-color: var(--brand); background: var(--brand-soft); color: var(--brand-hover); }
@container meeting-presence (min-width: 681px) {
  .meeting-presence-control > .meeting-presence-segments { display: inline-flex; }
  .meeting-presence-control > .meeting-presence-trigger { display: none; }
}
@supports not (container-type: inline-size) {
  @media (min-width: 901px) {
    .meeting-presence-row .meeting-presence-control > .meeting-presence-segments { display: inline-flex; }
    .meeting-presence-row .meeting-presence-control > .meeting-presence-trigger { display: none; }
  }
}
.meeting-detail-dialog .ticket-attachments-picker { min-width: 0; }
.meeting-detail-dialog .ticket-attachment-name { white-space: normal; overflow-wrap: anywhere; }
.meeting-detail-dialog .ticket-attachments-existing { display: none; }
.meeting-publication { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.meeting-publication > .meeting-item-copy { flex-basis: 180px; }
.app-dialog.meeting-publication-viewer[open] {
  display: flex; flex-direction: column; box-sizing: border-box;
  width: calc(100vw - max(8px, env(safe-area-inset-left)) - max(8px, env(safe-area-inset-right)));
  height: calc(100vh - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)));
  height: calc(100dvh - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)));
  max-width: none; max-height: none; margin: auto; border-radius: 10px; overflow: hidden;
}
.meeting-publication-viewer::backdrop { background: rgba(7, 22, 20, .22); backdrop-filter: none; }
.meeting-detail-dialog.has-publication-viewer::backdrop { background: transparent; backdrop-filter: none; }
.meeting-publication-viewer .app-dialog-header { position: static; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 7px 12px; flex: 0 0 auto; padding: 10px 16px; }
.meeting-publication-viewer .app-dialog-header > div { min-width: 0; }
.meeting-publication-viewer .app-dialog-title { display: flex; align-items: start; min-width: 0; gap: 8px; margin: 0; font-size: 17px; line-height: 1.3; }
.meeting-publication-viewer .app-dialog-title > .projects-icon { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; color: var(--brand-hover); fill: none; stroke: currentColor; stroke-width: 1.8; }
.meeting-publication-viewer-title { display: -webkit-box; min-width: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow-wrap: anywhere; }
.meeting-publication-viewer-caption { display: block; margin: 3px 0 0 26px; color: var(--text-secondary); font-size: 12px; line-height: 1.3; }
.meeting-publication-viewer .app-dialog-header > .ghost-button { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: 38px; gap: 6px; padding: 7px 10px; font-size: 12px; white-space: nowrap; }
.meeting-publication-viewer .app-dialog-header > .ghost-button .projects-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.meeting-publication-viewer .dialog-close { flex: 0 0 38px; width: 38px; height: 38px; }
.meeting-publication-viewer :is(button, a, summary):focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.meeting-publication-viewer .app-dialog-body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; padding: 0; overflow: hidden; background: var(--surface-subtle); }
.meeting-publication-viewer .app-dialog-actions { display: none; }
.meeting-publication-viewer-message:not(:empty) { flex: 0 0 auto; padding: 8px 16px; background: var(--surface); font-size: 13px; line-height: 1.4; }
.meeting-publication-viewer-message > .ghost-button { margin-inline-start: 12px; min-height: 34px; }
.meeting-publication-viewer-stage { display: flex; flex: 1 1 auto; min-height: 0; min-width: 0; overflow: auto; overscroll-behavior: contain; }
.meeting-publication-viewer-unavailable { align-self: center; max-width: 440px; margin: auto; padding: 20px; color: var(--text-secondary); line-height: 1.5; text-align: center; }
.meeting-publication-viewer-frame { display: block; flex: 1 1 auto; width: 100%; min-width: 0; height: 100%; border: 0; background: var(--surface); }
.meeting-publication-viewer-frame[hidden] { display: none; }
.meeting-publication-viewer-help { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; flex: 0 0 auto; gap: 4px 12px; padding: 5px 16px max(5px, env(safe-area-inset-bottom)); border-top: 1px solid var(--border-default); background: var(--surface); color: var(--text-secondary); font-size: 12px; line-height: 1.4; text-align: center; }
.meeting-publication-viewer-help a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; color: var(--brand-hover); font-weight: 700; text-decoration: underline; }
.meeting-publication-viewer-data { flex: 0 0 auto; max-height: min(24dvh, 180px); padding: 7px 16px; border-bottom: 1px solid var(--border-default); background: var(--surface); overflow-y: auto; font-size: 12px; }
.meeting-publication-viewer-data summary { cursor: pointer; font-weight: 650; }
.meeting-publication-viewer-data p { margin: 7px 0; }
.meeting-publication-viewer-data > .ghost-button { display: inline-flex; align-items: center; min-height: 34px; margin: 7px 7px 0 0; padding: 6px 9px; font-size: 12px; }
@media (max-width: 390px) {
  .meeting-publication-viewer .app-dialog-header { grid-template-columns: minmax(0, 1fr) 44px; padding: 8px 10px; }
  .meeting-publication-viewer .app-dialog-header > .ghost-button { grid-column: 1 / -1; grid-row: 2; justify-self: end; min-height: 40px; }
  .meeting-publication-viewer .dialog-close { grid-column: 2; grid-row: 1; width: 44px; height: 44px; }
  .meeting-publication-viewer .app-dialog-title { font-size: 15px; }
}
.meeting-conflict-preview { width: 100%; padding: 10px; border: 1px solid var(--border-default); border-radius: 8px; background: var(--surface); }
.meeting-conflict-preview > summary { cursor: pointer; color: var(--text-primary); font-weight: 400; }
.meeting-conflict-preview > .meeting-stack { margin-top: 12px; }
.meeting-participant-selector, .meeting-people-popover { --meeting-chip-height: 32px; }
.meeting-participant-selector { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 10px; min-width: 0; min-height: 0; }
.meeting-people-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); align-items: end; gap: 8px; min-width: 0; }
.meeting-people-filters > label { display: grid; min-width: 0; gap: 5px; color: var(--text-secondary); font-size: 12px; font-weight: 400; }
.meeting-people-search,
.meeting-participant-selector .meeting-department-trigger {
  display: flex; align-items: center; min-width: 0; width: 100%; min-height: 42px; gap: 7px;
  padding: 0 10px; border: 1px solid var(--border-default); border-radius: 9px;
  background: var(--surface); color: var(--text-secondary); box-shadow: none; font: inherit;
}
.meeting-people-search > .projects-icon { width: 16px; height: 16px; flex-basis: 16px; color: var(--text-muted); }
.meeting-people-search { padding-inline: 8px; gap: 6px; }
.meeting-participant-selector .meeting-department-trigger { justify-content: space-between; padding-block: 9px; text-align: left; font-size: 12px; line-height: 1.4; }
.meeting-department-value { min-width: 0; overflow-wrap: anywhere; }
.meeting-participant-selector .meeting-department-trigger > .projects-icon { width: 14px; height: 14px; flex-basis: 14px; }
.meeting-people-search:focus-within { border-color: var(--meeting-accent); outline: 2px solid var(--meeting-accent); outline-offset: 1px; }
.meeting-people-search:hover:not(:focus-within):not(:has(input:disabled)) { border-color: var(--meeting-accent-border); }
.meeting-participant-selector .meeting-department-trigger:focus-visible { border-color: var(--meeting-accent); outline: 2px solid var(--meeting-accent); outline-offset: 2px; }
.meeting-participant-selector .meeting-department-trigger:hover:not(:disabled) { background: var(--surface-hover); border-color: var(--meeting-accent-border); }
.meeting-participant-selector .meeting-department-trigger[aria-expanded="true"] { background: var(--meeting-accent-soft); border-color: var(--meeting-accent-border); color: var(--meeting-accent); }
.meeting-participant-selector .meeting-department-trigger:disabled { background: var(--surface-subtle); color: var(--text-muted); cursor: not-allowed; }
.meeting-participant-selector .meeting-people-search input[type="search"],
.agenda-event-dialog .agenda-form-section-fields .meeting-people-search input[type="search"] {
  flex: 1 1 0; width: 100%; min-width: 0; min-height: 40px; padding: 8px 0;
  border: 0; border-radius: 0; background: transparent; color: var(--text-primary); font-size: 12px; box-shadow: none;
}
.meeting-participant-selector .meeting-people-search input[type="search"]:is(:focus, :focus-visible, :hover),
.agenda-event-dialog .agenda-form-section-fields .meeting-people-search input[type="search"]:is(:focus, :focus-visible, :hover) { border: 0; outline: none; box-shadow: none; }
.meeting-people-search:has(input:disabled) { background: var(--surface-subtle); opacity: .65; }
.meeting-people-count { justify-self: start; color: var(--meeting-accent); font-size: 12px; font-weight: 700; }
.meeting-people-selected { display: flex; flex-wrap: wrap; align-content: start; align-items: center; gap: 6px; min-width: 0; margin: 0; padding: 0; }
.meeting-participant-selector .meeting-person-chip {
  display: inline-flex; align-items: center; flex: 0 1 auto; max-width: 100%; min-width: 0;
  height: var(--meeting-chip-height); min-height: var(--meeting-chip-height); gap: 5px; padding: 0 0 0 5px;
  border: 0; border-radius: 999px; background: var(--meeting-accent-soft);
}
.meeting-participant-selector .meeting-person-chip .user-avatar { flex: 0 0 24px; width: 24px; height: 24px; font-size: 10px; }
.meeting-participant-selector .meeting-person-chip .person-chip-name {
  min-width: 0; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  /* Shared person-chip rules use !important, including a 10px mobile override. */
  font-size: 12px !important; line-height: 1.4;
}
.meeting-participant-selector .meeting-person-chip:has(> .person-chip-name:last-child) { padding-inline-end: 8px; }
.meeting-person-chip > small { flex: 0 1 auto; min-width: 0; padding-inline-end: 8px; font-size: 11px; overflow-wrap: anywhere; }
.meeting-participant-selector .meeting-chip-remove,
.meeting-people-popover .meeting-chip-remove {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 var(--meeting-chip-height);
  width: var(--meeting-chip-height); min-width: var(--meeting-chip-height); max-width: none;
  height: var(--meeting-chip-height); min-height: var(--meeting-chip-height); padding: 0; gap: 0;
  border: 0; border-radius: 50%; background: transparent; color: var(--text-muted); box-shadow: none; transform: none;
}
.meeting-participant-selector .meeting-chip-remove > svg,
.meeting-people-popover .meeting-chip-remove > svg { flex: 0 0 14px; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.meeting-participant-selector .meeting-chip-remove:hover:not(:disabled),
.meeting-people-popover .meeting-chip-remove:hover:not(:disabled) { background: var(--meeting-accent-hover); color: var(--meeting-accent); }
.meeting-participant-selector .meeting-chip-remove:focus-visible,
.meeting-people-popover .meeting-chip-remove:focus-visible { outline: 2px solid var(--meeting-accent); outline-offset: -2px; }
.meeting-participant-selector .meeting-selected-more {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  min-width: var(--meeting-chip-height); max-width: 100%; height: var(--meeting-chip-height); min-height: var(--meeting-chip-height);
  padding: 0 10px; border: 1px solid var(--meeting-accent-border); border-radius: 999px; background: var(--surface);
  color: var(--meeting-accent); font-size: 12px; font-weight: 400; line-height: 1.3; white-space: nowrap; box-shadow: none;
}
.meeting-participant-selector .meeting-selected-more:hover:not(:disabled),
.meeting-participant-selector .meeting-selected-more[aria-expanded="true"] { background: var(--meeting-accent-soft); border-color: var(--meeting-accent); }
.meeting-participant-selector .meeting-selected-more:focus-visible { outline: 2px solid var(--meeting-accent); outline-offset: 2px; }
.meeting-participant-selector .meeting-people-list { display: grid; grid-auto-rows: max-content; align-content: start; max-height: min(320px, 35dvh); min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) transparent; scrollbar-gutter: stable; }
.meeting-person-option { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 9px 6px; border-bottom: 1px solid var(--border-subtle); cursor: pointer; }
.meeting-person-option:last-child { border-bottom: 0; }
.meeting-person-option .person-selector-option-copy { display: grid; flex: 1 1 auto; min-width: 0; gap: 3px; }
.meeting-person-option:focus-within { outline: 2px solid var(--meeting-accent); outline-offset: -2px; border-radius: 6px; }
.meeting-person-option:has(input:checked) { background: var(--meeting-accent-soft); }
.meeting-participant-selector .meeting-person-option input:is([type="checkbox"], [type="radio"]) { accent-color: var(--meeting-accent); }
.meeting-person-option .person-selector-option-copy > :is(strong, small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.meeting-person-option:has(input:disabled) { cursor: default; }

.meeting-people-popover {
  box-sizing: border-box; position: fixed; inset: auto; z-index: 1250; display: grid;
  grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(420px, calc(100vw - 20px)); max-width: min(420px, calc(100vw - 20px));
  min-width: 0; min-height: 0; max-height: calc(100dvh - 20px); margin: 0; padding: 0;
  border: 1px solid var(--border-default); border-radius: 12px; background: var(--surface);
  color: var(--text-primary); font: 13px/1.4 Aptos, "Segoe UI", sans-serif; box-shadow: var(--shadow-md);
}
.meeting-people-popover * { box-sizing: border-box; }
.meeting-people-popover .anchored-popover-header { display: flex; flex: 0 0 auto; align-items: start; justify-content: space-between; min-width: 0; gap: 10px; padding: 12px; border-bottom: 1px solid var(--border-subtle); }
.meeting-people-popover .anchored-popover-header > div { min-width: 0; }
.meeting-people-popover .anchored-popover-title { margin: 0; color: var(--text-primary); font-size: 14px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.meeting-people-popover .anchored-popover-header p { margin: 4px 0 0; font-size: 12px; }
.meeting-people-popover .anchored-popover-close {
  display: grid; place-items: center; flex: 0 0 var(--meeting-chip-height); width: var(--meeting-chip-height);
  min-width: var(--meeting-chip-height); height: var(--meeting-chip-height); min-height: var(--meeting-chip-height);
  margin: 0; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--text-secondary); box-shadow: none;
}
.meeting-people-popover .anchored-popover-close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.meeting-people-popover .anchored-popover-close:hover { background: var(--surface-hover); }
.meeting-people-popover .anchored-popover-body { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); min-width: 0; min-height: 0; padding: 6px; }
.meeting-people-popover .anchored-popover-actions:empty { display: none; }
.meeting-selected-list, .meeting-department-options { min-width: 0; min-height: 0; max-height: min(360px, 50dvh); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-gutter: stable; }
.meeting-selected-list { display: grid; grid-auto-rows: max-content; align-content: start; }
.meeting-selected-person { display: flex; align-items: center; min-width: 0; gap: 9px; padding: 8px 6px; border-bottom: 1px solid var(--border-subtle); }
.meeting-selected-person:last-child { border-bottom: 0; }
.meeting-selected-person > .user-avatar { width: 32px; height: 32px; flex: 0 0 32px; font-size: 11px; }
.meeting-selected-copy { display: grid; flex: 1 1 0; min-width: 0; gap: 3px; }
.meeting-selected-copy strong { font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }
.meeting-selected-copy small { color: var(--text-muted); font-size: 12px; overflow-wrap: anywhere; }
.meeting-department-options { display: flex; flex-direction: column; gap: 4px; }
.meeting-people-popover .meeting-department-option { flex: 0 0 auto; width: 100%; min-width: 0; min-height: 38px; padding: 9px 10px; border: 1px solid transparent; border-radius: 7px; background: var(--surface); color: var(--text-secondary); font: inherit; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.meeting-people-popover .meeting-department-option:hover:not(:disabled) { background: var(--surface-hover); }
.meeting-people-popover .meeting-department-option[aria-pressed="true"] { border-color: var(--meeting-accent-border); background: var(--meeting-accent-soft); color: var(--meeting-accent); }
.meeting-people-popover :is(button, .meeting-selected-list):focus-visible { outline: 2px solid var(--meeting-accent); outline-offset: -2px; }

@container meeting-people (min-width: 351px) {
  .meeting-people-filters { grid-template-columns: minmax(194px, 1.25fr) minmax(120px, .75fr); }
}
@container meeting-people (max-width: 350px) {
  .meeting-people-filters { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
  .meeting-columns { grid-template-columns: minmax(0, 1fr); }
  .meeting-detail-surface > .meeting-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; padding-inline: 14px; gap: 3px; }
  .meeting-detail-surface > .meeting-tabs > button { flex: 0 0 auto; flex-direction: row; gap: 5px; padding-inline: 8px; font-size: 12px; white-space: nowrap; }
}
@media (max-width: 767px), (max-width: 959px) and (max-height: 500px) and (pointer: coarse) and (orientation: landscape) {
  .agenda-calendar-grid .meeting-calendar-response { display: none; }
  .agenda-event-dialog.has-meeting-option .agenda-dialog-tab {
    flex-direction: column; justify-content: center; align-self: stretch;
    min-height: 60px; gap: 3px; padding: 5px 3px; overflow-wrap: normal; word-break: normal;
  }
  .agenda-event-dialog.has-meeting-option .agenda-dialog-tab > span {
    min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: normal; word-break: normal; text-align: center;
  }
  .app-dialog.agenda-event-dialog:not(.is-delete-confirming) > .app-dialog-actions {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 8px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); overflow: visible;
  }
  .app-dialog.agenda-event-dialog .app-dialog-actions > :is(.agenda-event-close-action, .agenda-event-save-action) {
    width: 100%; min-width: 0; min-height: 44px; padding: 8px 6px; gap: 6px; white-space: normal; overflow-wrap: anywhere;
  }
  .agenda-event-dialog .app-dialog-actions > .agenda-event-close-action:only-child { grid-column: 1 / -1; }
  .agenda-event-dialog .agenda-event-save-action > .agenda-event-save-label { display: none; }
  .agenda-event-dialog .agenda-event-save-action::after { content: attr(data-mobile-label); }
  .agenda-event-dialog .app-dialog-header > .agenda-event-delete-action { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; min-width: 44px; padding: 10px; color: var(--danger); }
}
@media (pointer: coarse) {
  .meeting-presence-form-footer { --meeting-presence-control-height: 44px; }
  .meeting-detail-dialog .meeting-access-row > button,
  .meeting-access-additional > summary { min-height: 44px; }
  .meeting-detail-dialog .meeting-invitation-actions > button { min-height: 44px; }
  .meeting-detail-dialog :is(.meeting-file-download, .meeting-file-remove) { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .meeting-detail-dialog :is(.meeting-presence-actions > button, .meeting-presence-segments > [role="radio"], .meeting-presence-trigger, .meeting-upload-item > .ghost-button),
  .meeting-detail-dialog .meeting-collection-menu.is-confirming .anchored-popover-actions > button,
  .meeting-context-confirm :is(.meeting-context-actions, .anchored-popover-actions) > button,
  .meeting-context-options > label { min-height: 44px; }
  .meeting-update-close { flex-basis: 44px; width: 44px; height: 44px; }
  .meeting-detail-dialog :is(.ghost-button, .primary-button),
  .meeting-discard-dialog .dialog-actions > button { min-height: 44px; }
  .meeting-detail-dialog .meeting-icon-action { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .meeting-detail-dialog .meeting-header-controls > .dialog-close,
  .meeting-detail-dialog .meeting-header-actions > button { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .agenda-event-dialog .agenda-google-card :is(.agenda-personal-save, .agenda-personal-default),
  .agenda-event-dialog .agenda-event-discard-confirm .agenda-event-confirmation-actions > button { min-height: 44px; }
  .agenda-event-dialog .agenda-google-card .agenda-google-info,
  .agenda-google-info-popover .gcal-info-popover-close { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .meeting-participant-selector, .meeting-people-popover { --meeting-chip-height: 44px; }
  .meeting-participant-selector .meeting-department-trigger,
  .meeting-people-popover .meeting-department-option { min-height: 44px; }
  .meeting-participant-selector .meeting-people-search input[type="search"],
  .agenda-event-dialog .agenda-form-section-fields .meeting-people-search input[type="search"] { min-height: 44px; }
  .meeting-participant-selector .meeting-person-option { min-height: 52px; }
  .agenda-event-dialog:not(.is-event-detail) .app-dialog-actions > :is(.agenda-event-close-action, .agenda-event-save-action) { min-height: 44px; }
}
@supports not (container-type: inline-size) {
  @media (min-width: 824px) {
    .agenda-event-dialog.is-meeting-tab .agenda-event-workspace.is-recurring {
      grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "original original" "people preview";
    }
  }
  @media (min-width: 944px) {
    .agenda-event-dialog.is-meeting-tab .agenda-event-main-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; }
    .agenda-event-dialog.is-meeting-edit .agenda-meeting-edit-column { display: flex; flex-direction: column; min-width: 0; gap: var(--agenda-event-gap); }
    .agenda-event-dialog.is-meeting-edit .agenda-event-main-grid { grid-template-rows: none; }
  }
  @media (min-width: 1264px) {
    .agenda-event-dialog.is-meeting-tab .agenda-event-workspace:not(.is-recurring) {
      grid-template-columns: minmax(854px, 2.2fr) minmax(320px, 1fr); grid-template-areas: "original people";
      --agenda-meeting-workspace-height: 100%; --agenda-meeting-workspace-rows: minmax(0, 1fr);
    }
  }
  @media (min-width: 1564px) {
    .agenda-event-dialog.is-meeting-tab .agenda-event-workspace.is-recurring {
      grid-template-columns: minmax(854px, 2.4fr) minmax(320px, 1fr) minmax(280px, .85fr); grid-template-areas: "original people preview";
      --agenda-meeting-workspace-height: 100%; --agenda-meeting-workspace-rows: minmax(0, 1fr);
    }
  }
  @media (min-width: 1264px) and (max-width: 1563px) {
    .agenda-event-dialog.is-meeting-edit .agenda-event-workspace.is-recurring {
      grid-template-columns: minmax(854px, 2.2fr) minmax(320px, 1fr);
      grid-template-areas: "original people" "preview preview";
    }
    .agenda-event-dialog.is-meeting-edit .agenda-event-workspace.is-recurring > .agenda-recurrence-preview-card {
      height: min(var(--agenda-meeting-available-height, 60dvh), 60dvh); max-height: none;
    }
  }
}
@media (max-width: 767px), (max-width: 959px) and (max-height: 500px) and (pointer: coarse) and (orientation: landscape) {
  .app-dialog.meeting-detail-dialog.ticket-workflow-dialog,
  .app-dialog.meeting-detail-dialog.ticket-workflow-dialog.has-meeting-management,
  .app-dialog.meeting-detail-dialog.ticket-workflow-dialog.has-publication-sidecar {
    position: fixed; inset: auto;
    top: calc(var(--workflow-viewport-top, 0px) + max(8px, env(safe-area-inset-top)));
    left: calc(var(--workflow-viewport-left, 0px) + max(8px, env(safe-area-inset-left)));
    width: calc(var(--workflow-viewport-width, 100vw) - max(8px, env(safe-area-inset-left)) - max(8px, env(safe-area-inset-right)));
    max-height: calc(var(--workflow-viewport-height, 100dvh) - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)));
    margin: 0; overflow: visible;
  }
  .meeting-detail-dialog > .meeting-detail-surface { max-height: calc(var(--workflow-viewport-height, 100dvh) - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom))); }
  .meeting-detail-dialog .app-dialog-header { position: static; flex-wrap: nowrap; align-items: start; gap: 8px; padding: 8px 12px; }
  .meeting-detail-dialog .app-dialog-header > div:first-child { flex: 1 1 0; }
  .meeting-detail-dialog .app-dialog-header > .meeting-header-controls { display: grid; grid-template-columns: repeat(2, 44px); gap: 4px; margin: 0; }
  .meeting-header-controls > .meeting-status { grid-column: 1 / -1; justify-self: end; white-space: nowrap; font-size: 11px; }
  .meeting-header-controls > .meeting-header-menu-trigger { display: inline-flex; grid-column: 1; }
  .meeting-header-controls > .dialog-close { grid-column: 2; }
  .meeting-header-controls > .meeting-header-actions { display: none; }
  .meeting-detail-dialog .app-dialog-title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; line-height: 1.35; }
  .app-dialog.meeting-detail-dialog.ticket-workflow-dialog:is(.has-meeting-management, .has-publication-sidecar) { height: calc(var(--workflow-viewport-height, 100dvh) - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom))); }
  .meeting-detail-dialog > .meeting-publication-sidecar { padding: 12px; }
  .meeting-detail-dialog .app-dialog-title { font-size: 19px; }
  .meeting-detail-dialog .app-dialog-body { padding: 12px; }
  .meeting-detail-dialog .app-dialog-actions { flex-wrap: nowrap; gap: 6px; padding: 6px 10px calc(6px + env(safe-area-inset-bottom)); }
  .meeting-detail-surface > .meeting-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; padding: 4px 10px; gap: 4px; }
  .meeting-detail-surface > .meeting-tabs > button { flex: 0 0 auto; flex-direction: row; gap: 5px; padding: 6px 8px; font-size: 12px; white-space: nowrap; }
  .meeting-tabs .projects-icon { width: 16px; height: 16px; flex-basis: 16px; }
  .meeting-section { padding: 12px; }
  .meeting-detail-dialog :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select),
  .meeting-participant-selector :is(input[type="search"], select) { font-size: 16px; }
  .meeting-participant-selector .meeting-people-search input[type="search"],
  .agenda-event-dialog .agenda-form-section-fields .meeting-people-search input[type="search"] { font-size: 16px; }
  .meeting-detail-dialog .meeting-icon-action { width: 44px; min-width: 44px; height: 44px; min-height: 44px; flex-basis: 44px; }
  .meeting-detail-dialog .meeting-header-controls > .dialog-close,
  .meeting-detail-dialog .meeting-header-actions > button { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .meeting-detail-dialog .meeting-manager-panel .meeting-people-search input[type="search"] { font-size: 16px; }
  .meeting-detail-dialog .meeting-invitation-actions > button { min-height: 44px; }
  .meeting-detail-dialog .meeting-guest-row { grid-template-columns: minmax(0, 1fr); }
  .meeting-detail-dialog .meeting-guest-row > .meeting-status { margin-inline-start: 41px; }
  .meeting-detail-dialog .app-dialog-actions > button { flex: 0 1 auto; min-height: 44px; padding: 8px 10px; }
  .meeting-detail-dialog .app-dialog-actions .meeting-action-full-label { display: none; }
  .meeting-detail-dialog .app-dialog-actions .meeting-action-mobile-label { display: inline; }
  .meeting-detail-dialog .meeting-save-status { flex: 1 1 0; min-width: 0; font-size: 11px; line-height: 1.3; overflow-wrap: anywhere; }
  .meeting-detail-dialog .meeting-my-invitation { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; padding: 6px 10px; }
  .meeting-my-invitation-heading { gap: 3px 6px; }
  .meeting-detail-dialog .meeting-invitation-actions > button { padding: 6px 8px; gap: 4px; }
  .meeting-detail-dialog .meeting-my-invitation h4 > .projects-icon { display: none; }
  .meeting-publication-lifecycle > .meeting-section-heading h3 { font-size: 14px; }
  .meeting-publication-lifecycle > .meeting-section-heading > .meeting-status { font-size: 11px; }
  .meeting-attendance-section > .meeting-section-heading { flex-wrap: nowrap; align-items: start; gap: 6px; }
  .meeting-attendance-section > .meeting-section-heading h3 { flex: 1 1 0; font-size: 14px; }
  .meeting-attendance-section .meeting-presence-actions { flex: 0 0 auto; flex-wrap: nowrap; gap: 4px; }
  .meeting-detail-dialog .meeting-presence-actions > button { padding: 6px; gap: 4px; font-size: 12px; }
  .meeting-presence-actions > button > .projects-icon { display: none; }
  .meeting-presence-row { grid-template-columns: minmax(0, 1fr) 139px; align-items: start; gap: 8px; }
  .meeting-presence-row .meeting-person { align-items: start; gap: 6px; }
  .meeting-presence-row .meeting-person > .user-avatar { flex-basis: 26px; width: 26px; height: 26px; }
  .meeting-presence-row .meeting-person-copy > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .meeting-presence-row .meeting-person-copy > small { grid-column: 1 / -1; font-size: 11px; }
  .meeting-detail-dialog .meeting-presence-row .meeting-presence-trigger { width: 139px; padding-inline: 7px; gap: 5px; }
  .meeting-presence-control { justify-content: flex-end; }
  .meeting-detail-dialog :is(.meeting-file-download, .meeting-file-remove) { flex-basis: 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .meeting-facts { flex-direction: column; gap: 10px; }
  .meeting-item-heading { flex-wrap: wrap; }
  .meeting-item-heading > .meeting-item-copy { flex-basis: calc(100% - 40px); }
  .meeting-item-heading > .meeting-item-actions { margin-left: 36px; }
  .meeting-detail-dialog .rich-editor-content { min-height: 112px; }
  .meeting-detail-dialog.is-document-tab:not(.is-minutes-tab) :is(.meeting-panels, .meeting-collection-panel, .meeting-document-collection, .meeting-document-collection > .meeting-stack, .meeting-collection-workspace, .meeting-inline-form, .meeting-inline-form > .rich-editor) { flex: 0 0 auto; height: auto; min-height: 0; }
  .meeting-collection-workspace, .meeting-collection-workspace:has(> .meeting-collection-editor:not([hidden])) { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .meeting-collection-workspace > .meeting-list, .meeting-collection-editor { overflow: visible; }
  .meeting-document-collection .meeting-inline-form { padding: 8px; }
  .meeting-document-collection .advanced-rich-editor > .is-body { flex: 0 0 auto; min-height: 112px; }
  .meeting-document-collection .advanced-rich-editor .rich-editor-region > .rich-editor-content { flex: 0 0 auto; min-height: 60px; max-height: none; overflow: visible; }
  .meeting-document-collection .meeting-record-association { grid-template-columns: minmax(0, 1fr); }
  .meeting-rich-view :is(img, table), .meeting-document-collection .rich-editor-content :is(img, table) { max-width: 100%; }
  .meeting-rich-view table, .meeting-document-collection .rich-editor-content table { display: block; overflow-x: auto; }
}
@media (max-height: 500px) {
  .meeting-detail-dialog .app-dialog-header { max-height: 30dvh; overflow-y: auto; }
  .meeting-detail-surface > .meeting-tabs { max-height: 24dvh; overflow-y: auto; }
  .meeting-detail-dialog .app-dialog-actions { max-height: 22dvh; overflow-y: auto; }
  .meeting-detail-dialog.is-minutes-tab .meeting-detail-surface:has(.meeting-document-controls-surface) { grid-template-rows: auto auto auto minmax(240px, 1fr) auto; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  .meeting-detail-dialog.is-minutes-tab .app-dialog-body:has(.meeting-document-controls-surface) { padding-block: 6px; }
}
