.course-authoring-root {
  position: relative;
  flex: 1 1 100%;
  width: 100%;
  height: 100dvh;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: clip;
  scrollbar-gutter: stable both-edges;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Sessão contextual de Assistência por IA. */
.course-assistance-overlay {
  position: fixed;
  inset: 0;
  z-index: 320;
  display: grid;
  place-items: end center;
  overflow: hidden;
}

.course-assistance-overlay,
.course-assistance-overlay *,
.course-assistance-overlay *::before,
.course-assistance-overlay *::after {
  box-sizing: border-box;
}

.course-assistance-backdrop {
  position: absolute;
  inset: 0;
  background: var(--surface-overlay);
}

.course-assistance-sheet {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 10px;
  width: min(calc(100% - 20px), 410px);
  max-width: 410px;
  height: min(620px, 100dvh);
  min-height: 0;
  padding: 14px max(14px, env(safe-area-inset-right))
    max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  overflow: hidden;
  color: var(--text-primary);
  background: var(--surface-canvas);
  border: 1px solid var(--border-subtle);
  border-radius: 22px 22px 0 0;
  box-shadow: var(--shadow-floating);
}

.course-assistance-sheet > header {
  display: grid;
  grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle);
}

.course-assistance-sheet :is(h2, h3, p, ol) {
  margin: 0;
}

.course-assistance-sheet > header h2 {
  grid-column: 2;
  min-width: 0;
  font-size: 1rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-align: center;
}

.course-assistance-sheet > header .icon-ghost {
  grid-column: 3;
}

.course-assistance-header-space {
  grid-column: 1;
  width: var(--tap);
  height: var(--tap);
}

.course-assistance-conversation {
  display: grid;
  gap: 8px;
  padding: 0;
  list-style: none;
}

.course-assistance-conversation li {
  display: grid;
  gap: 3px;
  width: min(92%, 360px);
  padding: 9px 11px;
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  background: var(--surface-subtle);
  overflow-wrap: anywhere;
}

.course-assistance-conversation li.is-user {
  justify-self: end;
  background: color-mix(in srgb, var(--action-primary) 10%, var(--surface-subtle));
}

.course-assistance-conversation li > span {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-assistance-plan {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 11px;
  background: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}

.course-assistance-plan h3 {
  font-size: var(--type-sm);
}

.course-assistance-preview {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.course-assistance-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.course-assistance-preview-actions > button[aria-pressed="true"]:not(.open-mini) {
  border-color: var(--text-primary);
}

.course-assistance-preview-actions > button:not(.open-mini) {
  padding: 8px 12px;
  color: var(--text-primary);
  background: var(--surface-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  font: inherit;
}

.course-assistance-preview fieldset {
  margin: 0;
  padding: 12px;
  min-width: 0;
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}

.course-assistance-preview fieldset :is(article, section) {
  min-width: 0;
}

.course-assistance-plan ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-inline-start: 20px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: 1.4;
}

.course-assistance-sheet form,
.course-assistance-sheet label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.course-assistance-sheet label > span {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-assistance-sheet :is(select, input, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 9px 11px;
  color: var(--text-primary);
  background: var(--input-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  font: inherit;
  font-size: var(--type-sm);
}

.course-assistance-sheet textarea {
  min-height: 64px;
  max-height: 28dvh;
  resize: vertical;
}

.course-assistance-sheet :is(button, summary) {
  min-height: 44px;
}

.course-assistance-plan > .open-mini {
  justify-self: end;
}

.course-assistance-connection {
  display: grid;
  justify-items: end;
  min-width: 0;
}

.course-assistance-connection > button {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
}

.course-assistance-connection[data-open="true"] {
  justify-items: stretch;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  background: var(--surface-subtle);
}

.course-assistance-connection[data-open="true"] > button {
  justify-self: end;
}

.course-assistance-connection-fields {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.course-assistance-connection-fields[hidden] {
  display: none;
}

.course-assistance-sheet > form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
}

.course-assistance-status,
.course-assistance-error {
  font-size: var(--type-xs);
}

.course-assistance-error {
  color: var(--status-danger);
}

.course-assistance-status:empty,
.course-assistance-error:empty {
  display: none;
}

@media (min-width: 520px) {
  .course-assistance-overlay {
    place-items: end center;
    padding: 16px 16px 0;
  }

  .course-assistance-sheet {
    border-radius: 22px 22px 0 0;
  }
}

.course-assistance-body {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

@media (max-height: 420px) {
  .course-assistance-sheet {
    gap: 6px;
    padding: 8px max(8px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
  }

  .course-assistance-sheet > header {
    gap: 6px;
  }

  .course-assistance-sheet > header h2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .course-assistance-sheet textarea {
    min-height: 44px;
    max-height: 44px;
    resize: none;
  }

  .course-assistance-body {
    gap: 8px;
  }
}

.course-authoring-surface {
  box-sizing: border-box;
  width: min(100%, 430px);
  max-width: 430px;
  min-width: 0;
  margin-inline: auto;
  padding:
    max(10px, var(--safe-top))
    max(10px, var(--safe-right))
    max(12px, var(--safe-bottom-tappable))
    max(10px, var(--safe-left));
  color: var(--text-primary);
  font-family: var(--font-ui);
  font-size: var(--type-base);
}

/* A largura da janela não cria outro painel: a Autoria conserva o trilho de até 430 px. */

.course-authoring-surface *,
.course-authoring-surface *::before,
.course-authoring-surface *::after {
  box-sizing: border-box;
}

.course-authoring-surface :is(button, input, select, [rows]) {
  font: inherit;
}

.course-authoring-surface :is(button, a, input, select, [rows]):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.course-authoring-frame {
  width: 100%;
  max-width: 430px;
  min-width: 0;
  margin-inline: auto;
}

.course-authoring-list-header,
.course-authoring-course-header {
  min-width: 0;
  min-height: 52px;
  display: flex;
  align-items: start;
  gap: 8px;
}

.course-authoring-list-header > div:not(.course-authoring-list-actions),
.course-authoring-course-heading {
  min-width: 0;
}

.course-authoring-list-header {
  height: var(--tap);
  min-height: var(--tap);
  display: grid;
  align-items: center;
  grid-template-columns: calc(var(--tap) * 2 + 4px) minmax(0, 1fr)
    calc(var(--tap) * 2 + 4px);
}

.course-authoring-list-header > div:not(.course-authoring-list-actions) {
  text-align: center;
}

.course-authoring-list-actions {
  width: calc(var(--tap) * 2 + 4px);
  display: grid;
  grid-template-columns: repeat(2, var(--tap));
  gap: 4px;
}

.course-authoring-list-header h1,
.course-authoring-course-heading h1,
.course-authoring-section-heading h2,
.course-authoring-state h2,
.course-authoring-planning-card h3,
.course-authoring-subsection-heading h3,
.course-authoring-part h4 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-family: var(--font-display);
  line-height: var(--leading-snug);
}

.course-authoring-list-header h1 {
  font-size: var(--type-lg);
}

.course-authoring-eyebrow {
  margin: 0 0 2px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
  letter-spacing: 0;
  text-transform: none;
}

.course-authoring-search {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  gap: 6px;
  margin: 10px 0 12px;
}

.course-authoring-search input {
  width: 100%;
  min-width: 0;
  min-height: var(--tap);
  padding: 8px 12px;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--input-surface);
}

.course-authoring-search button,
.course-authoring-back,
.course-authoring-header-action {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: var(--surface-raised);
  cursor: pointer;
}

.course-authoring-header-action {
  flex: 0 0 var(--tap);
}

.course-authoring-icon-action {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
}

.course-authoring-header-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

.course-authoring-course-header > .course-authoring-header-actions {
  width: auto;
}

.course-authoring-header-slot {
  width: var(--tap);
  height: var(--tap);
  flex: 0 0 var(--tap);
}

.course-authoring-course-header:has(> .course-authoring-header-actions) {
  grid-template-columns: var(--tap) minmax(0, 1fr) auto;
}

.course-authoring-primary-navigation {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 3px;
}

.course-authoring-primary-destination {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: transparent;
  text-decoration: none;
}

.course-authoring-primary-destination:is(:hover, :focus-visible),
.course-authoring-primary-destination.is-active {
  border-color: var(--border-default);
  color: var(--action-primary-hover);
  background: var(--surface-sunken);
}

.course-authoring-runtime-status {
  width: var(--tap);
  height: var(--tap);
  display: grid;
  place-items: center;
}

.course-authoring-list-content,
.course-authoring-course-content {
  min-width: 0;
}

.course-authoring-course-content {
  font-size: var(--type-sm);
}

.course-authoring-course-list {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.course-authoring-course-card {
  width: 100%;
  min-width: 0;
  height: 140px;
  min-height: 140px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  grid-template-rows: minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  color: var(--text-primary);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
  text-decoration: none;
}

.course-authoring-course-card:hover {
  border-color: var(--border-default);
}

.course-authoring-course-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: var(--action-primary-hover);
  background: var(--action-primary-subtle);
}

.course-authoring-course-copy {
  min-width: 0;
  min-height: 0;
  height: 100%;
  display: grid;
  grid-template-rows: 44px 44px 20px;
  gap: 4px;
}

.course-authoring-course-copy > strong {
  min-width: 0;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  overflow-wrap: anywhere;
  line-height: var(--leading-snug);
  font-size: 1rem;
  font-weight: var(--weight-title);
  color: var(--text-secondary);
}

.course-authoring-course-copy > span {
  display: block;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

.course-authoring-course-copy > :is(strong, span) { padding: 4px; }
.course-authoring-course-copy > :focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
  border-radius: 4px;
}

.course-authoring-course-card .course-authoring-meta {
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.course-authoring-meta {
  margin: 1px 0 0;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-authoring-icon,
.course-authoring-arrow,
.course-authoring-button-icon,
.course-authoring-section-icon,
.course-authoring-state-icon {
  display: block;
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.course-authoring-arrow {
  color: var(--text-tertiary);
}

.course-authoring-more,
.course-authoring-primary,
.course-authoring-state button {
  min-height: var(--tap);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 12px auto 0;
  padding: 8px 14px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  cursor: pointer;
  font-weight: var(--weight-title);
}

.course-authoring-primary {
  width: 100%;
  color: var(--text-on-action);
  background: var(--action-primary);
  border-color: var(--action-primary);
}

.course-authoring-more:disabled {
  cursor: default;
  opacity: 0.58;
}

.course-authoring-loading,
.course-authoring-notice {
  margin: 0;
  padding: 12px;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  text-align: center;
}

.course-authoring-feedback-layer {
  position: fixed;
  z-index: 1180;
  right: max(10px, calc((100vw - 430px) / 2 + 10px));
  bottom: max(12px, var(--safe-bottom-tappable));
  left: max(10px, calc((100vw - 430px) / 2 + 10px));
  display: grid;
  gap: 6px;
  max-height: min(16dvh, 112px);
  overflow-y: auto;
  pointer-events: none;
}

.course-authoring-feedback-layer > * {
  margin: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  box-shadow: var(--shadow-floating);
  pointer-events: none;
}

/* Modal operations report their result inside the active sheet. Background
   notices must not cover or intercept its fields, controls or focus ring. */
.course-authoring-surface:has([role="dialog"], [role="alertdialog"], .course-inspection-manual-dock) .course-authoring-feedback-layer {
  display: none;
}

.course-authoring-notice.is-error {
  color: var(--status-danger);
}

.course-authoring-unlinked-content {
  display: grid;
  grid-template-columns: 24px auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: var(--surface-sunken);
  text-align: left;
}

.course-authoring-unlinked-content strong {
  color: var(--text-primary);
  font-size: var(--type-lg);
  line-height: 1;
}

.course-authoring-unlinked-content span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: var(--type-sm);
}

.course-authoring-state {
  min-height: 150px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  padding: 20px 14px;
  text-align: center;
}

.course-authoring-state-icon {
  width: 22px;
  height: 22px;
  color: var(--text-secondary);
}

.course-authoring-state h2 {
  font-size: var(--type-md);
}

.course-authoring-state p {
  max-width: 34ch;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-sm);
}

.course-authoring-state.is-error .course-authoring-state-icon,
.course-authoring-state.is-access-revoked .course-authoring-state-icon {
  color: var(--status-danger);
}

.course-authoring-course-header {
  height: calc(var(--tap) + 8px);
  min-height: calc(var(--tap) + 8px);
  display: grid;
  grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap);
  gap: 8px;
}

.course-authoring-confirm-backdrop {
  position: fixed;
  z-index: 1230;
  inset: 0;
  display: grid;
  place-items: center;
  padding:
    max(12px, var(--safe-top))
    max(10px, var(--safe-right))
    max(12px, var(--safe-bottom-tappable))
    max(10px, var(--safe-left));
  overflow: auto;
  overscroll-behavior: contain;
  background: color-mix(in srgb, var(--surface-overlay) 72%, transparent);
}

.course-authoring-confirm-dialog {
  width: min(100%, 430px);
  max-height: 100%;
  display: grid;
  gap: 12px;
  padding: 16px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--border-default);
  border-radius: var(--radius);
  color: var(--text-primary);
  background: var(--surface-raised);
  box-shadow: var(--shadow-overlay, var(--shadow-card));
}

.course-authoring-confirm-dialog :is(h2, p) {
  margin: 0;
  overflow-wrap: anywhere;
}

.course-authoring-confirm-dialog h2 {
  font-family: var(--font-display);
  font-size: var(--type-md);
}

.course-authoring-confirm-dialog p {
  color: var(--text-secondary);
  line-height: var(--leading-normal);
}

dialog.course-copy-dialog:not([open]) { display: none; }
dialog.course-copy-dialog {
  inset: auto 0 max(8px, env(safe-area-inset-bottom));
  margin: auto;
  width: min(430px, calc(100% - 16px));
  height: min(430px, calc(100dvh - 32px));
  max-height: calc(100dvh - 32px);
  grid-template-rows: 44px minmax(0, 1fr);
  overflow: hidden;
}
dialog.course-copy-dialog h2 { display: flex; align-items: center; justify-content: center; font-size: var(--type-base); font-weight: var(--weight-title); }
dialog.course-copy-dialog::backdrop { background: color-mix(in srgb, var(--surface-overlay) 72%, transparent); }
.course-copy-dialog form { min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) 44px; gap: 12px; }
.course-copy-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: grid; align-content: start; gap: 16px; }
.course-copy-field { display: grid; gap: 6px; }
.course-copy-field label { font-size: var(--type-xs); font-weight: var(--weight-label); color: var(--text-primary); }
.course-copy-dialog input { width: 100%; min-width: 0; height: var(--tap); padding: 8px; border: 1px solid var(--border-default); border-radius: var(--radius-control); color: var(--text-primary); background: var(--input-surface); font: inherit; }
.course-copy-dialog input:focus-visible { outline-offset: -2px; }
.course-copy-feedback { height: 80px; overflow-y: auto; overscroll-behavior: contain; }
.course-copy-dialog .course-authoring-confirm-actions { height: var(--tap); display: flex; justify-content: flex-end; }
.course-copy-dialog .course-authoring-confirm-actions button { width: var(--tap); padding: 8px; flex: none; }
.course-copy-dialog .course-copy-feedback [role="alert"] { color: var(--status-danger); }
.course-copy-dialog p { font-size: var(--type-xs); font-weight: var(--weight-body); }
.course-copy-dialog input { font-size: var(--type-sm); font-weight: var(--weight-body); }
.course-authoring-primary-navigation > [aria-current="page"] { display: none; }
.course-authoring-course-identity { padding: 8px 12px; max-height: 96px; overflow-y: auto; overscroll-behavior: contain; font-size: var(--type-xs); color: var(--text-secondary); }
.course-authoring-course-identity p { margin: 8px 0 0; overflow-wrap: anywhere; }

.course-authoring-confirm-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.course-authoring-confirm-actions button {
  min-width: 0;
  min-height: var(--tap);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  cursor: pointer;
  font-weight: var(--weight-title);
}

.course-authoring-confirm-actions .is-danger {
  border-color: color-mix(in srgb, var(--status-danger) 55%, var(--border-default));
  color: var(--status-danger);
}

.course-authoring-confirm-actions .is-primary {
  border-color: var(--action-primary);
  color: var(--text-on-action);
  background: var(--action-primary);
}

.course-authoring-course-heading {
  display: grid;
  height: var(--tap);
  align-content: center;
  gap: 3px;
  text-align: center;
}

.course-authoring-course-heading h1 {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--type-base);
  line-height: var(--leading-snug);
}

.course-authoring-course-heading .course-authoring-meta {
  max-width: 100%;
  margin-top: 0;
  line-height: var(--leading-normal);
}

.course-authoring-layout,
.course-authoring-main-pane {
  min-width: 0;
}

.course-authoring-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin-top: 10px;
}

.course-authoring-main-pane {
  width: 100%;
  display: grid;
  align-content: start;
  gap: 10px;
}

.course-authoring-section-heading {
  position: relative;
  min-width: 0;
  min-height: var(--tap);
  display: grid;
  place-items: center;
  padding-inline: calc(var(--tap) + 8px);
  margin: 4px 2px 10px;
}

.course-authoring-section-toolbar {
  min-width: 0;
  min-height: var(--tap);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0 2px 8px;
}

.course-source-catalog-summary {
  min-width: 0;
  margin-right: auto;
  color: var(--text-secondary);
  font-size: var(--font-size-caption);
  line-height: 1.25;
}

.course-authoring-section-heading > div {
  min-width: 0;
  text-align: center;
}

.course-authoring-section-heading > :is(button, a, .course-authoring-header-action) {
  position: absolute;
  top: 0;
  right: 0;
}

.course-authoring-section-heading > button[aria-label="Voltar"] {
  right: auto;
  left: 0;
}

.course-authoring-section-heading h2 {
  font-size: var(--type-lg);
}

.course-authoring-section-heading p {
  margin: 2px 0 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  text-align: center;
}

.course-authoring-content-flow {
  min-width: 0;
}

.course-authoring-content-flow {
  display: grid;
  gap: 8px;
}

.course-authoring-planning,
.course-authoring-planning-details,
.course-authoring-planning-copy {
  min-width: 0;
}

.course-authoring-planning-details {
  display: grid;
  gap: 8px;
}

.course-authoring-planning-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-authoring-planning-icon {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  color: var(--action-primary-hover);
  background: var(--action-primary-subtle);
}

.course-authoring-planning-card h3 {
  margin: 1px 0 3px;
  font-size: var(--type-sm);
}

.course-authoring-planning-card p {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

.course-authoring-planning-details.is-objective .course-authoring-planning-card h3 {
  font-size: var(--type-md);
  margin-bottom: 6px;
}

.course-authoring-planning-details.is-objective .course-authoring-planning-card p {
  color: var(--text-secondary);
  font-weight: var(--weight-body);
}

.course-authoring-planning-card p.is-empty {
  color: var(--text-secondary);
  font-style: italic;
}

.course-authoring-parts,
.course-authoring-part-list {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.course-authoring-planning-card ul {
  display: grid;
  gap: 3px;
  margin: 0;
  padding-left: 18px;
  color: var(--text-primary);
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

.course-curriculum-map {
  min-width: 0;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle);
  color: var(--text-primary);
  font-size: var(--type-base);
  line-height: var(--leading-normal);
  overflow-wrap: anywhere;
}

.course-curriculum-map :is(ol, ul) {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.course-curriculum-map-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 16px;
}

.course-curriculum-map-header h3,
.course-curriculum-map-microsequence h5 {
  margin: 0;
  font-size: inherit;
}

.course-curriculum-map-status,
.course-curriculum-map-count {
  color: var(--text-secondary);
  font-size: var(--type-sm);
}

.course-curriculum-map-modules,
.course-curriculum-map-lessons,
.course-curriculum-map-microsequences,
.course-curriculum-map-coverage-items {
  display: grid;
  gap: 8px;
}

.course-curriculum-map-details {
  min-width: 0;
}

.course-curriculum-map-node {
  position: relative;
  min-width: 0;
}

.course-curriculum-map-node > details > summary {
  padding-inline-end: 60px;
}

.course-curriculum-map-node > .course-curriculum-map-open {
  position: absolute;
  inset-block-start: 8px;
  inset-inline-end: 8px;
}

.course-curriculum-map-node-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: center;
  gap: 10px;
}

.course-curriculum-map-node-heading > h5 {
  min-width: 0;
  font-weight: var(--weight-title);
}

.course-curriculum-map-details > summary {
  min-height: 44px;
  box-sizing: border-box;
  padding: 10px 8px;
  border-radius: 6px;
  cursor: pointer;
}

.course-curriculum-map-details > summary:hover {
  background: var(--surface-subtle);
}

.course-curriculum-map-node-title {
  font-weight: var(--weight-title);
}

.course-curriculum-map-count {
  display: block;
  margin-inline-start: 16px;
  font-weight: var(--weight-body);
}

.course-curriculum-map-module,
.course-curriculum-map-coverage {
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  background: var(--surface-raised);
}

.course-curriculum-map-body {
  min-width: 0;
  padding-block: 0 10px;
  padding-inline: calc(8px + 1em) 10px;
}

.course-curriculum-map-lesson,
.course-curriculum-map-microsequence,
.course-curriculum-map-coverage-item {
  border-top: 1px solid var(--border-subtle);
}

.course-curriculum-map-microsequence {
  min-width: 0;
  padding: 10px 0 0;
}

.course-curriculum-map-prose {
  margin: 0;
  white-space: pre-line;
}

.course-curriculum-map-objective > summary {
  font-weight: var(--weight-title);
}

.course-curriculum-map-objective .course-curriculum-map-prose {
  font-size: var(--type-sm);
  font-weight: var(--weight-body);
  line-height: var(--leading-normal);
  color: var(--text-secondary);
}

.course-curriculum-map a {
  color: var(--action-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.course-curriculum-map-links a {
  display: inline-block;
  box-sizing: border-box;
  min-height: 44px;
  padding-block: 10px;
  font-size: var(--type-sm);
}

.course-curriculum-map-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
}

.course-curriculum-map :is(summary, a):focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 2px;
}

.course-curriculum-map-path,
.course-curriculum-map-caption {
  margin: 10px 0 4px;
}

.course-curriculum-map-caption {
  font-weight: var(--weight-title);
}

.course-curriculum-map-coverage {
  margin-top: 12px;
}

.course-curriculum-map .course-curriculum-map-targets {
  padding-inline-start: 8px;
}

.course-curriculum-map-targets > li {
  margin-block: 8px;
  border-inline-start: 1px solid var(--border-subtle);
  padding-inline-start: 8px;
}

.course-curriculum-map-targets .course-curriculum-map-links,
.course-curriculum-map-coverage-item > .course-curriculum-map-body > .course-curriculum-map-links {
  padding-inline-start: 12px;
}

.course-curriculum-map-targets .course-curriculum-map-path {
  font-size: var(--type-sm);
}

.course-authoring-part-navigation {
  min-width: 0;
  display: grid;
  grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap);
  align-items: start;
  gap: 6px;
}

.course-curriculum-map-body h6 {
  margin: 12px 0 6px;
  font: inherit;
  font-weight: var(--weight-title);
}

.course-authoring-part-navigation > a {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--action-primary-hover);
  background: var(--surface-raised);
  text-decoration: none;
}

.course-authoring-part-navigation > .course-authoring-navigation-space {
  width: var(--tap);
  height: var(--tap);
}

.course-authoring-part-navigation > details {
  min-width: 0;
}

.course-authoring-part-navigation > details > summary {
  min-width: 0;
  min-height: var(--tap);
  display: grid;
  align-content: center;
  gap: 1px;
  padding: 5px 9px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  cursor: pointer;
  list-style: none;
  text-align: center;
}

.course-authoring-part-navigation > details > summary::-webkit-details-marker {
  display: none;
}

.course-authoring-part-navigation > details > summary :is(span, strong) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.course-authoring-part-navigation > details > summary span {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-authoring-part-navigation > details > summary strong {
  font-size: var(--type-sm);
}

.course-authoring-part-navigation > details > ol {
  display: grid;
  gap: 3px;
  margin: 10px 0 0;
  padding: 6px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  list-style: none;
  box-shadow: var(--shadow-card);
}

.course-authoring-part-navigation > details > ol a {
  min-width: 0;
  min-height: var(--tap);
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 6px 8px;
  border-radius: 8px;
  color: var(--text-primary);
  text-decoration: none;
}

.course-authoring-part-navigation > details > ol a[aria-current="page"] {
  color: var(--action-primary-hover);
  background: var(--surface-sunken);
}

.course-authoring-part-navigation > details > ol :is(span, strong) {
  overflow-wrap: anywhere;
}

.course-authoring-part-navigation > details > ol span {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-authoring-parts {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle);
}

.course-authoring-subsection-heading {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.course-authoring-subsection-heading > div {
  min-width: 0;
}

.course-authoring-subsection-heading > .course-authoring-compact-actions {
  flex: 0 0 auto;
}

.course-authoring-subsection-heading h3,
.course-authoring-part h4 {
  margin: 0;
}

.course-authoring-subsection-heading h3 {
  font-size: var(--type-md);
}

.course-authoring-subsection-heading p,
.course-authoring-empty-copy {
  margin: 2px 0 0;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-authoring-subsection-heading > button,
.course-authoring-compact-actions button,
.course-authoring-part-actions button,
.course-authoring-part-links > ul > li > button {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: var(--surface-raised);
  cursor: pointer;
}

.course-authoring-compact-actions {
  display: grid;
  grid-template-columns: repeat(2, var(--tap));
  gap: 3px;
}

.course-authoring-compact-actions button:disabled,
.course-authoring-part-actions button:disabled,
.course-authoring-subsection-heading > button:disabled {
  cursor: default;
  opacity: 0.45;
}

.course-authoring-part {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-authoring-part[data-status="attention_required"] {
  border-color: var(--status-warning-border);
}

.course-authoring-part > header {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}

.course-authoring-part-heading {
  min-width: 0;
}

.course-authoring-part-heading > span,
.course-authoring-part-status {
  display: inline-block;
  margin: 0 0 2px;
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: var(--weight-title);
  letter-spacing: 0;
  text-transform: none;
  font-weight: var(--weight-body);
}

.course-authoring-part h4 {
  overflow-wrap: anywhere;
  font-size: var(--type-base);
}

.course-authoring-part h4 a {
  min-height: var(--tap);
  display: inline-flex;
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.course-authoring-part-status {
  margin: 4px 0 0;
  padding: 3px 6px;
  border-radius: 999px;
  color: var(--action-primary-hover);
  background: var(--action-primary-subtle);
  letter-spacing: normal;
  text-transform: none;
}

.course-authoring-part[data-status="attention_required"] .course-authoring-part-status {
  color: var(--status-warning);
  background: var(--status-warning-subtle);
}

.course-authoring-part[data-status="materialized"] .course-authoring-part-status {
  color: var(--status-success);
  background: var(--status-success-subtle);
}

.course-authoring-part-intent {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

.course-authoring-part-counts {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.course-authoring-part-counts span {
  min-width: 0;
  padding: 7px;
  border-radius: 8px;
  color: var(--text-secondary);
  background: var(--surface-sunken);
  font-size: var(--type-xs);
  white-space: nowrap;
  line-height: var(--leading-snug);
}

.course-authoring-part-links {
  min-width: 0;
}

.course-authoring-part-links > summary {
  min-height: var(--tap);
  display: flex;
  align-items: center;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: var(--type-sm);
  font-weight: var(--weight-title);
}

.course-authoring-part-links > ul {
  min-width: 0;
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.course-authoring-part-links > ul > li {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 7px 0;
  border-top: 1px solid var(--border-subtle);
}

.course-authoring-part-links li > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.course-authoring-part-links strong,
.course-authoring-part-links span,
.course-authoring-part-links small {
  overflow-wrap: anywhere;
}

.course-authoring-part-links span,
.course-authoring-part-links small {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-authoring-part-actions {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
}

.course-authoring-part-actions .course-authoring-part-primary {
  width: var(--tap);
  flex: 0 0 var(--tap);
  padding: 0;
  border-color: var(--action-primary);
  color: var(--text-on-action);
  background: var(--action-primary);
}

.course-authoring-planning-context > summary {
  min-height: var(--tap);
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  cursor: pointer;
  font-size: var(--type-sm);
  font-weight: var(--weight-title);
}

.course-authoring-people,
.course-authoring-people-content,
.course-authoring-people-list {
  min-width: 0;
}

.course-authoring-people-add,
.course-authoring-person button,
.course-authoring-grant button {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: var(--surface-raised);
  cursor: pointer;
}

.course-authoring-people-content,
.course-authoring-people-list {
  display: grid;
  gap: 8px;
}

.course-authoring-person {
  min-width: 0;
  min-height: 62px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-authoring-person > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.course-authoring-person > .course-authoring-person-actions {
  grid-template-columns: repeat(2, var(--tap));
  gap: 4px;
}

.course-authoring-person-actions button[aria-pressed="true"] {
  color: var(--action-primary-hover);
  background: var(--action-primary-subtle);
}

.course-authoring-copy-help {
  margin: 0 0 12px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.course-authoring-person strong,
.course-authoring-person span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.course-authoring-person span {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-authoring-person-avatar {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  object-fit: cover;
  color: var(--action-primary-hover);
  background: var(--action-primary-subtle);
}

.course-authoring-people-empty {
  margin: 4px 0;
  padding: 12px;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  text-align: center;
}

.course-authoring-grant {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap) var(--tap);
  gap: 6px;
  margin-bottom: 10px;
}

.course-authoring-grant input {
  width: 100%;
  min-width: 0;
  min-height: var(--tap);
  padding: 8px 11px;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--input-surface);
}

.course-access-search-results {
  grid-column: 1 / -1;
  min-width: 0;
}

.course-access-search-results [role="listbox"] {
  display: grid;
  max-height: 250px;
  overflow-y: auto;
  gap: 4px;
}

.course-access-search-results [role="option"] {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  padding: 5px 8px;
  text-align: left;
  overflow-wrap: anywhere;
}

.course-access-search-results [role="option"]:focus-visible {
  outline: 2px solid var(--action-primary);
  outline-offset: -2px;
}

.course-visibility-form {
  display: grid;
  gap: 10px;
  min-width: 0;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
}

.course-visibility-form label {
  display: grid;
  gap: 4px;
  min-width: 0;
  font-size: var(--type-sm);
}

.course-visibility-form select {
  width: 100%;
  min-width: 0;
  min-height: var(--tap);
  padding: 6px 8px;
  color: var(--text-primary);
  background: var(--input-surface);
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  font: inherit;
}

.course-visibility-form p,
.course-access-search-results p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  overflow-wrap: anywhere;
}

.course-visibility-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}

.course-visibility-actions :is(button, a) {
  width: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  color: var(--text-secondary);
  cursor: pointer;
}

.course-authoring-write-form {
  min-width: 0;
  display: grid;
  gap: 6px;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-authoring-write-form > * {
  font: inherit;
}

.course-authoring-write-form > label {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-authoring-write-form [name] {
  width: 100%;
  min-width: 0;
  min-height: var(--tap);
  padding: 9px 10px;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--input-surface);
  line-height: var(--leading-normal);
}

.course-authoring-write-form [rows] {
  min-height: 92px;
  resize: vertical;
}

.course-authoring-write-form [name]:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.course-authoring-write-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 2px;
}

.course-authoring-write-actions button {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: var(--surface-raised);
  cursor: pointer;
}

.course-authoring-write-actions button[type="submit"] {
  border-color: var(--action-primary);
  color: var(--text-on-action);
  background: var(--action-primary);
}

.course-authoring-write-actions button:disabled {
  cursor: default;
  opacity: 0.58;
}

.course-authoring-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 380px) {
  .course-authoring-course-card {
    padding-inline: 10px;
  }

  .course-authoring-section-heading p {
    font-size: 0.68rem;
  }

  .course-authoring-planning-card {
    padding-inline: 10px;
  }

  .course-authoring-part > header {
    grid-template-columns: minmax(0, 1fr);
  }

  .course-authoring-compact-actions {
    grid-template-columns: repeat(4, var(--tap));
    justify-content: end;
  }

}

.course-analytics-host,
.course-analytics,
.course-analytics-area,
.course-analytics-details {
  width: 100%;
  min-width: 0;
}

.course-analytics {
  max-width: 640px;
  margin-inline: auto;
  display: grid;
}

.course-analytics :is(h3, p, dl) {
  margin: 0;
}

.course-analytics-scope {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.course-analytics-scope > label {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-analytics-scope > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(2, var(--tap));
  gap: 6px;
}

.course-analytics-scope :is(select, button) {
  min-width: 0;
  min-height: var(--tap);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  font: inherit;
}

.course-analytics-scope select {
  width: 100%;
  padding: 7px 9px;
}

.course-analytics-scope button {
  width: var(--tap);
  height: var(--tap);
  padding: 0;
}

.course-analytics-area {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
}

.course-analytics-area > header {
  display: grid;
  gap: 3px;
}

.course-analytics-area > header h3 {
  font-family: var(--font-display);
  font-size: var(--type-lg);
  line-height: var(--leading-snug);
}

.course-analytics-area > header p,
.course-analytics-details > p,
.course-analytics-missing p {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-analytics-metrics {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-block: 1px solid var(--border-subtle);
}

.course-analytics-metrics > div {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 3px;
  padding: 10px 8px;
}

.course-analytics-metrics > div:nth-child(odd) {
  border-inline-end: 1px solid var(--border-subtle);
}

.course-analytics-metrics > div:nth-child(-n + 2) {
  border-block-end: 1px solid var(--border-subtle);
}

.course-analytics-metrics :is(dt, dd, small) {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.course-analytics-metrics dt {
  display: grid;
  gap: 2px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-analytics-metrics dt small {
  font-weight: var(--weight-body);
}

.course-analytics-metrics dd {
  order: -1;
  color: var(--text-primary);
  font-family: var(--font-display);
  font-size: var(--type-xl);
  font-weight: var(--weight-title);
  line-height: 1;
}

.course-analytics-details {
  border-block-start: 1px solid var(--border-subtle);
}

.course-analytics-details > summary {
  min-height: var(--tap);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  font-size: var(--type-sm);
  font-weight: var(--weight-title);
}

.course-analytics-details > summary small {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-body);
  white-space: nowrap;
}

.course-analytics-details > summary:focus-visible,
.course-analytics-scope :is(select, button):focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}

.course-analytics-details > p {
  padding-block-end: 8px;
}

.course-analytics-details table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-analytics-details :is(th, td) {
  min-width: 0;
  padding: 8px 6px;
  border-block-start: 1px solid var(--border-subtle);
  overflow-wrap: anywhere;
  text-align: start;
  vertical-align: top;
}

.course-analytics-details :is(th:first-child, td:first-child) {
  width: 42%;
}

.course-analytics-details thead th {
  color: var(--text-secondary);
  font-weight: var(--weight-title);
}

.course-analytics-details tbody th {
  color: var(--text-primary);
  font-weight: var(--weight-title);
}

.course-analytics-missing {
  display: grid;
  gap: 3px;
}

@media (min-width: 620px) {
  .course-analytics-area {
    padding: 16px;
  }

  .course-analytics-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .course-analytics-metrics > div:nth-child(n) {
    border-block-end: 0;
    border-inline-end: 1px solid var(--border-subtle);
  }

  .course-analytics-metrics > div:last-child {
    border-inline-end: 0;
  }
}

/* Parâmetros conserva condições pedagógicas e editoriais, direção e componentes. */
.course-authoring-surface[data-section="parameters"] {
  width: min(100%, 430px);
}

.course-authoring-surface[data-section="parameters"] .course-authoring-frame {
  width: 100%;
}

.course-design,
.course-design > section,
.course-design > aside,
.course-design-parameters,
.course-design-guidance,
.course-design-policy {
  min-width: 0;
}

.course-design > :is(section, aside) + :is(section, aside) {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle);
}

.course-design-subheading {
  min-width: 0;
  margin-bottom: 9px;
}

.course-design-subheading h3,
.course-design-parameter h3,
.course-design-guidance h5 {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--text-primary);
  font-family: var(--font-display);
  line-height: var(--leading-snug);
}

.course-design-subheading h3 {
  font-size: var(--type-md);
}

.course-design-subheading p,
.course-design-scope-leaf,
.course-design-empty-copy,
.course-design-reason {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-design-scope {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-design-scope-target {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding-block: 8px;
}

.course-design-scope-target > p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-body);
}

.course-design-scope-target > strong {
  overflow-wrap: anywhere;
  font-size: var(--type-sm);
}

.course-design-context-note {
  display: block;
  margin-top: 3px;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-design-scope > nav {
  min-width: 0;
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
  font-size: var(--type-xs);
}

.course-design-scope > nav ol {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.course-design-scope > nav li {
  min-width: 0;
  margin-inline-start: calc(var(--scope-depth) * 8px);
  padding-inline-start: 8px;
  border-inline-start: 1px solid var(--border-default);
}

.course-design-scope > nav :is(a, [aria-current="page"]) {
  min-width: 0;
  max-width: 100%;
  display: grid;
  align-content: center;
  gap: 2px;
  min-height: var(--tap);
  overflow-wrap: anywhere;
}

.course-design-scope > nav a {
  color: var(--action-primary-hover);
  font-weight: var(--weight-label);
}

.course-design-scope > nav small {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-body);
}

.course-design-scope > nav [aria-current="page"] > span {
  font-weight: var(--weight-title);
}

.course-design-scope-selector {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.course-design-scope-selector > label,
.course-design-parameter-form > label,
.course-design-local-editor form > label,
.course-design-policy form > label {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-design-scope-selector > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  gap: 6px;
}

.course-design-scope-selector select,
.course-design-scope-selector button,
.course-design-load-scopes,
.course-design form :is(input:not([type="checkbox"]), select, textarea),
.course-design form > button,
.course-design-form-actions button {
  min-height: var(--tap);
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--input-surface);
}

.course-design-scope-selector select,
.course-design form :is(input:not([type="checkbox"]), select, textarea) {
  width: 100%;
  min-width: 0;
  padding: 9px 10px;
}

.course-design-scope-selector button {
  width: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
}

.course-design-load-scopes {
  justify-self: start;
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
}

.course-design-parameters {
  display: grid;
  gap: 9px;
}

.course-design-parameters > .course-design-subheading {
  grid-column: 1 / -1;
}

.course-design-parameter {
  min-width: 0;
  align-self: start;
  border: 1px solid var(--border-subtle);
  border-radius: 0;
  border-width: 0 0 1px;
  background: transparent;
}

.course-design-parameter > header {
  min-width: 0;
  display: grid;
  align-items: start;
}

.course-design-parameter > header > div {
  min-width: 0;
}

.course-design-parameter > header p {
  margin: 0 0 2px;
  color: var(--text-secondary);
  font-size: 0.68rem;
}

.course-design-parameter h3 {
  font-size: var(--type-sm);
}

.course-design-parameter > header > strong {
  overflow-wrap: anywhere;
  color: var(--action-primary-hover);
  font-size: var(--type-xs);
}

.course-design-fixed-values,
.course-profile-editor,
.course-profile-preference,
.course-profile-preview {
  display: grid;
  min-width: 0;
  gap: 8px;
}

.course-design-fixed-values[hidden] { display: none; }

.course-authoring-profiles {
  margin-block: 16px;
  padding-block: 12px;
  border-block: 1px solid var(--border-subtle);
  font-size: var(--type-sm);
}

.course-authoring-profiles > summary,
.course-profile-preference > summary {
  min-height: var(--tap);
  align-content: center;
  cursor: pointer;
  overflow-wrap: anywhere;
}

.course-authoring-profiles p,
.course-profile-preview li {
  color: var(--text-secondary);
  line-height: var(--leading-normal);
  overflow-wrap: anywhere;
}

.course-profile-list {
  margin: 8px 0;
  padding: 0;
  list-style: none;
}

.course-profile-list > li {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  padding-block: 8px;
  border-bottom: 1px solid var(--border-subtle);
}

.course-profile-list > li > span { min-width: 0; overflow-wrap: anywhere; }
.course-profile-list .course-design-form-actions { flex-shrink: 0; }
.course-profile-preference { border-bottom: 1px solid var(--border-subtle); padding-block: 8px; }
.course-profile-preference > summary > span { display: block; color: var(--text-secondary); font-size: var(--type-xs); }
.course-design .course-profile-preference > summary { display: grid; gap: 4px; align-content: center; }
.course-profile-preview { margin-block: 16px; }
.course-profile-preview fieldset { min-width: 0; padding: 8px; }
.course-profile-exception { display: flex; gap: 8px; align-items: center; min-height: var(--tap); padding-block: 6px; }
.course-profile-exception > span { min-width: 0; overflow-wrap: anywhere; }
.course-profile-exception small { display: block; }

.course-design details {
  min-width: 0;
  margin-top: 9px;
  border-top: 1px solid var(--border-subtle);
}

.course-design details > summary {
  min-height: var(--tap);
  display: flex;
  align-items: center;
  color: var(--action-primary-hover);
  cursor: pointer;
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-design details > summary.course-authoring-icon-action {
  width: var(--tap);
  min-width: var(--tap);
  justify-content: center;
  padding: 0;
  list-style: none;
}

.course-design details > summary.course-authoring-icon-action::-webkit-details-marker {
  display: none;
}

.course-design-parameter-form,
.course-design-local-editor form,
.course-design-policy form {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.course-design form textarea {
  min-height: 78px;
  resize: vertical;
  line-height: var(--leading-normal);
}

.course-design-value-options,
.course-design-disabled-editor fieldset {
  min-width: 0;
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 9px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-control);
}

.course-design-value-options legend,
.course-design-disabled-editor legend {
  padding-inline: 4px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-design-value-options label {
  min-width: 0;
  min-height: var(--tap);
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  font-size: var(--type-xs);
}

.course-design-value-options input,
.course-design-component-choices input {
  width: 18px;
  height: 18px;
  accent-color: var(--action-primary);
}

.course-design-form-actions {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 3px;
}

.course-design form > button,
.course-design-form-actions button {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-color: var(--action-primary);
  color: var(--text-on-action);
  background: var(--action-primary);
  cursor: pointer;
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-design-form-actions button.is-secondary {
  border-color: var(--border-default);
  color: var(--text-secondary);
  background: var(--surface-raised);
}

.course-design :is(button, input, select, textarea):disabled,
.course-design-disabled-editor {
  cursor: default;
  opacity: 0.62;
}

.course-design-disabled-editor > p {
  margin: 0 0 7px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-design-guidance-stack {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: guidance;
}

.course-design-guidance-stack > li {
  min-width: 0;
  counter-increment: guidance;
}

.course-design-guidance-stack article {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
}

.course-design-guidance-stack article > header {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-design-guidance-stack article > header span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: var(--weight-title);
}

.course-design-guidance-stack blockquote {
  margin: 9px 0;
  padding: 0 0 0 10px;
  border-left: 3px solid var(--action-primary-subtle);
  overflow-wrap: anywhere;
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

.course-design-policy-summary {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 11px 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-design-policy-summary strong,
.course-design-policy-summary span,
.course-design-policy-summary small {
  overflow-wrap: anywhere;
}

.course-design-policy-summary span,
.course-design-policy-summary small {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-design-component-list {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 4px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-control);
}

.course-design-component-option {
  min-width: 0;
  display: grid;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 8px;
  background: var(--surface-sunken);
}

.course-design-component-option > div:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.course-design-component-option strong,
.course-design-component-option span {
  overflow-wrap: anywhere;
}

.course-design-component-option strong {
  font-size: var(--type-xs);
}

.course-design-component-option > div:first-child span {
  color: var(--text-secondary);
  font-size: 0.68rem;
  line-height: var(--leading-normal);
}

.course-design-component-choices {
  display: grid;
  gap: 3px;
}

.course-design-component-choices label {
  min-height: var(--tap);
  display: grid;
  place-items: center;
  gap: 2px;
  color: var(--text-secondary);
  font-size: 0.64rem;
}

.course-design-parameter > header {
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
}

.course-design-parameter > header > strong {
  max-width: none;
  text-align: left;
}

.course-design-component-option {
  grid-template-columns: minmax(0, 1fr);
}

.course-design-component-choices {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.course-design-scope,
.course-design-guidance-stack article {
  padding-inline: 10px;
}

.course-design-parameter {
  position: relative;
  padding: 10px 48px 10px 0;
}

.course-design-parameter > details {
  margin-top: 0;
  border-top: 0;
}

.course-design-parameter > details[open] {
  margin-top: 12px;
  margin-right: -48px;
}

.course-design-parameter > details > summary {
  position: absolute;
  top: 4px;
  right: 0;
}

/* Conteúdo usa uma única sequência curricular; o DOM mantém no máximo três páginas. */
.course-authoring-surface[data-section="content"] {
  width: min(100%, 430px);
}

.course-authoring-root:has(.course-authoring-surface[data-section="content"]) {
  scroll-padding-top: calc(
    max(4px, var(--safe-top)) + var(--tap) + var(--tap) + var(--tap) + 28px
  );
}

.course-authoring-surface[data-section="content"] .course-authoring-frame {
  width: 100%;
}

.course-authoring-surface[data-section="content"] .course-authoring-course-header {
  position: sticky;
  z-index: 27;
  top: max(4px, var(--safe-top));
  width: 100%;
  margin-inline: auto;
  background: var(--surface-canvas);
}

.course-inspection-host,
.course-authoring-inspection {
  min-width: 0;
}

.course-inspection-sticky-context {
  position: sticky;
  z-index: 26;
  top: calc(
    max(4px, var(--safe-top)) + var(--tap) + 14px
  );
  width: 100%;
  min-height: var(--tap);
  display: grid;
  grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap);
  align-items: stretch;
  gap: 5px;
  margin: 0 auto 8px;
  padding: 5px;
  border: 1px solid var(--border-default);
  border-radius: 14px;
  background: var(--surface-raised);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--surface-overlay) 18%, transparent);
}

.course-inspection-navigation-tools {
  min-width: 0;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 5px;
}

.course-inspection-search {
  position: relative;
  min-width: 0;
  min-height: var(--tap);
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--input-surface);
}

.course-inspection-search > label {
  display: inline-grid;
  place-items: center;
  color: var(--text-tertiary);
}

.course-inspection-search > input {
  width: 100%;
  min-width: 0;
  min-height: var(--tap);
  padding: 7px 9px 7px 0;
  border: 0;
  outline: 0;
  color: var(--text-primary);
  background: transparent;
}

.course-inspection-search:focus-within {
  border-color: var(--action-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--action-primary) 16%, transparent);
}

.course-inspection-search-results-host {
  position: absolute;
  z-index: 35;
  top: calc(100% + 5px);
  left: -1px;
  width: calc(100% + 2px);
}

.course-inspection-search-results {
  max-height: min(46dvh, 360px);
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 5px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  box-shadow: var(--shadow-floating, var(--shadow-card));
  list-style: none;
}

.course-inspection-search-results[hidden] {
  display: none;
}

.course-inspection-search-results > li {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px 9px;
  border-radius: 8px;
  cursor: pointer;
}

.course-inspection-search-results > li[aria-selected="true"] {
  background: var(--action-primary-subtle);
}

.course-inspection-search-results :is(strong, small) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.course-inspection-search-results strong {
  font-size: var(--type-sm);
}

.course-inspection-search-results small,
.course-inspection-search-state {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-inspection-search-excerpt {
  display: -webkit-box;
  overflow: hidden;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.course-inspection-search-state.is-error {
  color: var(--status-danger);
}

.course-inspection-sync-state {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: var(--surface-sunken);
}

.course-inspection-sync-state.is-offline {
  color: var(--status-warning);
}

.course-inspection-sticky-context > button,
.course-inspection-context-selector > summary,
.course-inspection-item-details > summary {
  min-height: var(--tap);
  border: 0;
  border-radius: var(--radius-control);
  color: var(--text-secondary);
  background: transparent;
  cursor: pointer;
}

.course-inspection-sticky-context > button {
  width: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
}

.course-inspection-sticky-context > button:disabled {
  cursor: default;
  opacity: 0.34;
}

.course-inspection-active-context,
.course-inspection-context-selector {
  min-width: 0;
}

.course-inspection-empty-context {
  min-width: 0;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 3px;
  padding-inline: 8px 0;
}

.course-inspection-context-selector {
  position: relative;
  height: 100%;
}

.course-inspection-context-selector > summary {
  min-width: 0;
  height: 100%;
  display: block;
  padding: 4px 8px;
  list-style: none;
}

.course-inspection-context-selector > summary::-webkit-details-marker,
.course-inspection-item-details > summary::-webkit-details-marker {
  display: none;
}

.course-inspection-context-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1px 8px;
  text-align: left;
}

.course-inspection-context-copy small,
.course-inspection-context-copy strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.course-inspection-context-copy small {
  grid-column: 1 / -1;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-label);
}

.course-inspection-context-copy strong {
  color: var(--text-primary);
  font-family: var(--font-display);
  font-size: var(--type-sm);
}

.course-inspection-context-copy > span {
  color: var(--text-tertiary);
  font-size: var(--type-xs);
}

.course-inspection-context-selector > nav {
  position: absolute;
  z-index: 30;
  top: calc(100% + 7px);
  left: 0;
  width: min(310px, calc(100vw - 88px));
  display: grid;
  gap: 2px;
  padding: 6px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-inspection-context-level {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 3px;
}

.course-inspection-context-level > button,
.course-inspection-empty-context > button {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 8px;
  color: var(--action-primary-hover);
  background: transparent;
  cursor: pointer;
}

.course-inspection-context-selector > nav a {
  min-width: 0;
  min-height: var(--tap);
  display: flex;
  align-items: center;
  padding: 7px 9px;
  border-radius: 8px;
  color: var(--text-primary);
  text-decoration: none;
  font-size: var(--type-sm);
  font-weight: var(--weight-title);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.course-inspection-context-selector > nav a:hover {
  background: var(--surface-sunken);
}

.course-inspection-sequence {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 12px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.course-inspection-selection {
  display: grid;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  color: var(--text-secondary);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.course-inspection-selection-heading {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  overflow-wrap: anywhere;
}

.course-inspection-selection.has-targets {
  position: fixed;
  z-index: 24;
  inset-inline: 0;
  bottom: max(8px, env(safe-area-inset-bottom));
  width: min(calc(100% - 24px), 406px);
  max-height: calc(100dvh - 96px);
  overflow: auto;
  box-sizing: border-box;
  margin-inline: auto;
  box-shadow: var(--shadow-floating);
}

.course-authoring-inspection.has-selection-dock {
  padding-bottom: 280px;
}

.course-inspection-selection-targets summary {
  cursor: pointer;
  min-height: var(--tap);
  align-content: center;
}

.course-inspection-selection-targets ol {
  margin: 8px 0;
  padding-inline-start: 20px;
  max-height: 120px;
  overflow: auto;
}

.course-inspection-selection .study-observation-composer {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.course-inspection-selection-status {
  margin: 0;
}

.course-inspection-mode-block {
  display: grid;
  justify-items: start;
  gap: 8px;
  text-align: start;
}

.course-inspection-mode-block p { margin: 0; }

.course-inspection-mode-block button {
  min-height: var(--tap);
  padding: 8px 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  font: inherit;
  cursor: pointer;
}

.course-inspection-selection-pagination {
  display: flex;
  justify-content: center;
  padding-block: 8px;
}

.course-inspection-selection-pagination button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  color: var(--text-primary);
  font: inherit;
  text-wrap: balance;
}

.course-inspection-selection-pagination button:focus-visible {
  outline: 2px solid var(--action-primary);
  outline-offset: 2px;
}

.course-inspection-context-selector > nav > [data-inspection-action="latest-updated"] {
  min-width: 0;
  min-height: 44px;
  padding: 7px 9px;
  border: 0;
  border-radius: 8px;
  background: var(--surface-sunken);
  color: var(--text-primary);
  font: inherit;
  text-align: start;
  overflow-wrap: anywhere;
}

.course-inspection-item {
  min-width: 0;
  scroll-margin-top: calc(
    max(4px, var(--safe-top)) + var(--tap) + var(--tap) + var(--tap) + 28px
  );
}

.course-inspection-item:has(.course-inspection-item-details[open]) {
  position: relative;
  z-index: 21;
}

.course-inspection-item > article {
  min-width: 0;
  min-height: min(640px, max(300px, calc(100dvh - 180px)));
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-inspection-item.is-selected > article {
  border-color: color-mix(in srgb, var(--action-primary) 54%, var(--border-subtle));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--action-primary) 12%, transparent), var(--shadow-card);
}

.course-inspection-item:has([data-inspection-review-state="observations"]) > article {
  border-inline-start: 3px solid var(--status-warning);
  background: color-mix(in srgb, var(--status-warning-subtle) 36%, var(--surface-raised));
}

.course-inspection-authorship {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0;
  padding-block: 4px;
  border-bottom: 1px dashed var(--border-subtle);
}

.course-inspection-authorship span {
  width: 32px;
  min-width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  color: var(--text-secondary);
  background: var(--surface-raised);
}

.course-inspection-authorship [data-inspection-review-state="current"] { color: var(--status-success); }
.course-inspection-authorship [data-inspection-review-state="stale"] { color: var(--status-warning); }

.course-inspection-item-heading {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: start;
  gap: 8px;
}

.course-inspection-item-heading > div:first-child {
  min-width: 0;
}

.course-inspection-item-heading :is(p, span, h3),
.course-inspection-item > article > footer :is(span, small) {
  overflow-wrap: anywhere;
}

.course-inspection-item-heading p,
.course-inspection-item-heading span {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

.course-inspection-item-heading h3 {
  margin: 3px 0 0;
  color: var(--text-primary);
  font-family: var(--font-display);
  font-size: var(--type-md);
  line-height: var(--leading-snug);
}

.course-inspection-item-details {
  position: relative;
}

.course-inspection-item-details > summary {
  width: var(--tap);
  display: grid;
  place-items: center;
  padding: 0;
  list-style: none;
}

.course-inspection-item-detail-panel {
  position: absolute;
  z-index: 20;
  top: calc(100% + 5px);
  right: 0;
  width: min(390px, calc(100dvw - 48px));
  max-height: min(56dvh, 560px);
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: grid;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-inspection-metadata-heading {
  position: sticky;
  top: -12px;
  z-index: 1;
  display: grid;
  gap: 8px;
  padding-block: 8px;
  background: var(--surface-raised);
  border-block-end: 1px solid var(--border-subtle);
}

.course-inspection-item-detail-panel .course-inspection-metadata-heading h3 {
  margin: 0;
  color: var(--text-primary);
  font: inherit;
  font-size: var(--type-sm);
  font-weight: var(--weight-title);
}

.course-inspection-metadata-group {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  background: var(--surface-sunken);
  border-radius: var(--radius-control);
  overflow-wrap: anywhere;
}

.course-inspection-metadata-group > h4 {
  margin: 0;
  color: var(--text-primary);
  font-size: var(--type-sm);
  font-weight: var(--weight-title);
  line-height: 1.5;
}

.course-inspection-metadata-values {
  display: grid;
  gap: 12px;
  margin: 0;
}

.course-inspection-metadata-values > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.course-inspection-metadata-values :is(dt, dd) {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: var(--type-sm);
  line-height: 1.5;
}

.course-inspection-metadata-values dt {
  color: var(--text-secondary);
  font-weight: var(--weight-body);
}

.course-inspection-metadata-values dd { color: var(--text-primary); font-weight: var(--weight-label); }

.course-inspection-item-detail-panel :is(.course-inspection-metadata-note, .course-inspection-metadata-updated) {
  margin: 0;
  font-size: var(--type-sm);
  line-height: 1.5;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

.course-authoring-part-progression {
  display: grid;
  gap: 5px;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

.course-authoring-part-progression ol {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 20px;
}

.course-inspection-analysis-idea-group,
.course-inspection-analysis-idea-group ul {
  display: grid;
  gap: 8px;
}

.course-inspection-analysis-idea-group p {
  margin: 0;
  font-size: var(--type-sm);
  line-height: 1.5;
}

.course-inspection-analysis-idea-group ul {
  margin: 0;
  padding-inline-start: 18px;
}

.course-inspection-analysis-idea-group li,
.course-inspection-analysis-idea-group p {
  overflow-wrap: anywhere;
  font-size: var(--type-sm);
  line-height: 1.5;
}

.course-inspection-analysis-idea-group p {
  color: var(--text-secondary);
}

.course-inspection-analysis-idea-group strong { color: var(--text-primary); font-weight: var(--weight-label); }
.course-inspection-analysis-idea-group li > p { margin-block-start: 4px; }

.course-inspection-item-menu {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.course-inspection-item-menu :is(button, a) {
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  display: grid;
  place-items: center;
  margin: 0;
  padding: 8px;
  box-sizing: border-box;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: var(--type-sm);
  font-weight: var(--weight-body);
  text-decoration: none;
}

.course-inspection-item-menu :is(button, a):hover {
  color: var(--action-primary-hover);
  background: var(--surface-sunken);
}

.course-inspection-runtime {
  flex: 1 0 auto;
  overflow: visible;
}

.course-inspection-runtime > .card-sheet-content {
  flex: 0 0 auto;
  overflow-y: visible;
  scrollbar-gutter: auto;
}

.course-inspection-runtime .card-answer-dock[inert] {
  max-height: none;
  opacity: 0.58;
}

.course-inspection-item > article > footer {
  min-width: 0;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
  color: var(--text-tertiary);
  font-size: var(--type-xs);
}

.course-inspection-item > article {
  padding: 11px 10px;
}

.course-inspection-item-heading {
  flex: 0 0 auto;
  min-height: 0;
}

.course-inspection-item-heading > div {
  min-height: 0;
}

.course-inspection-item > article > :not(.course-inspection-runtime) {
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  .course-authoring-inspection *,
  .course-authoring-inspection *::before,
  .course-authoring-inspection *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

.course-authoring-surface[data-section="review"] {
  width: min(100%, 430px);
}

.course-authoring-surface[data-section="review"] .course-authoring-frame {
  width: 100%;
}

/* Analytics permanece focal e estreito, sem virar um dashboard. */
.course-authoring-surface[data-section="research"] {
  width: min(100%, 430px);
}

.course-authoring-surface[data-section="research"] .course-authoring-frame {
  width: 100%;
}

.course-observations-panel,
.course-observations-list,
.course-observation-card,
.course-observation-detail {
  width: 100%;
  min-width: 0;
}

.course-observations-panel {
  display: grid;
  gap: 11px;
}

.course-observations-tools {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 6px;
}

.course-observations-tools > details {
  margin: 0;
}

.course-observations-tools > details[open] {
  flex: 1 0 100%;
}

.course-observations-tool-trigger,
.course-observation-author-composer > summary.course-observations-tool-trigger,
.course-observations-filters > summary.course-observations-tool-trigger {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  justify-content: center;
  padding: 0;
  list-style: none;
}

.course-observations-tool-trigger::-webkit-details-marker {
  display: none;
}

.course-observations-panel > .course-authoring-section-heading :is(a, button),
.course-observations-filter-actions button,
.course-observations-load-more,
.course-observation-detail-link,
.course-observation-target-link,
.course-observation-state-actions button,
.course-observation-detail form button {
  min-height: var(--tap);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 11px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  text-decoration: none;
  font-weight: var(--weight-title);
  cursor: pointer;
}

.course-observations-panel > .course-authoring-section-heading button {
  width: var(--tap);
  padding: 0;
}

.course-observations-filters {
  min-width: 0;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
}

.course-observation-author-composer {
  min-width: 0;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
}

.course-observation-author-composer > summary {
  min-height: var(--tap);
  display: flex;
  align-items: center;
  padding: 8px 11px;
  cursor: pointer;
  font-weight: 750;
}

.course-observation-author-composer[open] > form {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 0 11px 11px;
}

.course-observation-author-composer label {
  min-width: 0;
  display: grid;
  gap: 4px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-observation-author-composer :is(select, textarea) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: var(--tap);
  padding: 8px 9px;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--input-surface);
  font: inherit;
}

.course-observation-author-composer textarea {
  min-height: 112px;
  resize: vertical;
  white-space: pre-wrap;
}

.course-observation-author-composer button {
  min-height: var(--tap);
}

.course-observation-create-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.course-observation-create-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  cursor: pointer;
  font-weight: var(--weight-title);
}

.course-observation-create-actions .course-authoring-primary {
  margin: 0;
  border-color: var(--action-primary);
  color: var(--text-on-action);
  background: var(--action-primary);
}

.course-observation-character-count {
  justify-self: end;
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-observations-filters > summary {
  min-height: var(--tap);
  display: flex;
  align-items: center;
  padding: 8px 11px;
  cursor: pointer;
  font-weight: 750;
}

.course-observations-filters[open] > form {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding: 0 11px 11px;
}

.course-observation-author-composer:not([open]) > form,
.course-observations-filters:not([open]) > form {
  display: none;
}

.course-observations-filter-grid {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.course-observations-filter-grid label {
  min-width: 0;
  display: grid;
  gap: 4px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-observations-filter-grid select,
.course-observation-detail form :is(select, textarea) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: var(--tap);
  padding: 8px 9px;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--input-surface);
  font: inherit;
}

.course-observations-filter-check {
  min-height: var(--tap);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: var(--type-xs);
}

.course-observations-filter-check input {
  width: 20px;
  height: 20px;
}

.course-observations-filter-actions {
  width: 100%;
  display: flex;
  justify-content: end;
  gap: 7px;
}

.course-observations-summary {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
}

.course-observations-summary > div {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px 9px;
  border-radius: var(--radius-control);
  background: var(--surface-sunken);
}

.course-observations-summary :is(dt, dd) {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: var(--type-xs);
}

.course-observations-summary dt {
  color: var(--text-secondary);
  font-weight: var(--weight-title);
}

.course-observations-list,
.course-observation-detail {
  display: grid;
  gap: 10px;
}

.course-observation-card,
.course-observation-detail > :is(section, form) {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-observation-card.is-selected {
  border-color: var(--action-primary);
}

.course-observation-card > header {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: 6px 10px;
}

.course-observation-card > header > strong {
  overflow-wrap: anywhere;
  font-size: var(--type-xs);
}

.course-observation-badges,
.course-observation-state-actions {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.course-observation-badges span {
  max-width: 100%;
  padding: 3px 7px;
  overflow-wrap: anywhere;
  border-radius: 999px;
  color: var(--text-secondary);
  background: var(--surface-sunken);
  font-size: 0.68rem;
  font-weight: 750;
}

.course-observation-card :is(p),
.course-observation-detail :is(h3, p) {
  margin: 0;
  overflow-wrap: anywhere;
}

.course-observation-path {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-observation-summary {
  font-weight: 750;
}

.course-observation-raw,
.course-observation-owner-response p {
  white-space: pre-wrap;
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

.course-observation-owner-response-sources {
  min-width: 0;
  display: grid;
  gap: 4px;
  font-size: var(--type-xs);
}

.course-observation-owner-response-sources ul {
  margin: 0;
  padding-left: 18px;
  overflow-wrap: anywhere;
  color: var(--text-secondary);
}

.course-observation-withdrawn {
  color: var(--text-tertiary);
  font-style: italic;
}

.course-observation-detail-link {
  justify-self: start;
}

.course-observation-target-link,
.course-observations-load-more {
  justify-self: stretch;
}

.course-observation-detail form {
  min-width: 0;
}

.course-observation-detail form label,
.course-observation-detail form fieldset {
  min-width: 0;
  display: grid;
  gap: 5px;
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.course-observation-detail form textarea {
  min-height: 120px;
  resize: vertical;
  white-space: pre-wrap;
}

.course-observation-subjects fieldset label {
  min-height: var(--tap);
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  padding: 5px 0;
}

.course-observation-subjects input {
  width: 20px;
  height: 20px;
}

.course-inspection-item-actions {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  border-block: 1px solid var(--border-subtle);
  padding-block: 5px;
  min-height: calc(var(--tap) + 12px);
  flex: 0 0 auto;
}

.course-inspection-item-actions:has(.study-tool-actions) {
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 4px;
}

.course-inspection-item-actions .study-tool-actions {
  flex: 0 0 var(--tap);
  width: var(--tap);
}

.course-inspection-item-actions .study-tool-actions[aria-hidden="true"] {
  display: none;
}

.course-inspection-item-actions:has(.study-tool-actions) .course-inspection-mode-actions {
  flex-basis: 0;
}

.course-authoring-root > .study-tools-overlay .study-tool-body {
  overflow-y: auto;
}

.course-inspection-mode-actions {
  min-width: 0;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.course-inspection-item-actions .course-inspection-mode-actions :is(button, a),
.course-inspection-item-actions > [data-inspection-open-explanation] {
  flex: 0 0 var(--tap);
  width: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-control);
  color: var(--action-primary-hover);
  background: transparent;
  cursor: pointer;
  text-decoration: none;
}

.course-inspection-item-actions .course-inspection-mode-actions button:is([aria-pressed="true"], [aria-checked="true"]) {
  background: var(--surface-sunken);
}

.course-inspection-title-edit-target {
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 1px dashed var(--action-primary);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: transparent;
  font-family: var(--font-display);
  font-size: var(--type-md);
  font-weight: 750;
  line-height: var(--leading-snug);
  text-align: left;
  overflow-wrap: anywhere;
  cursor: text;
}

.course-inspection-item-heading .course-inspection-title-edit-target {
  display: block;
  width: 100%;
  margin: 0;
  color: var(--text-secondary);
  font-family: var(--font-display);
  font-size: var(--type-base);
  font-weight: var(--weight-title);
  line-height: var(--leading-snug);
  letter-spacing: inherit;
}

.course-inspection-manual-title {
  padding: 0;
  border-radius: var(--radius-control);
  outline: 2px solid var(--action-primary);
  outline-offset: 1px;
  caret-color: var(--action-primary);
  overflow-wrap: anywhere;
}

.course-inspection-item > article > .course-inspection-manual-dock {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 8px;
  padding-top: 7px;
}

.course-inspection-manual-dock p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  overflow-wrap: anywhere;
}

.course-inspection-manual-dock .course-inspection-manual-error {
  grid-column: 1 / -1;
  color: var(--status-danger);
}

.course-inspection-manual-dock > div {
  display: flex;
  gap: 4px;
}

.course-inspection-manual-dock button {
  width: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-control);
  color: var(--action-primary-hover);
  background: transparent;
  cursor: pointer;
}

.course-authoring-inspection > .study-observation-overlay {
  position: fixed;
}

.course-observations-filter-grid,
.course-observations-summary {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 380px) {
  .course-observation-card,
  .course-observation-detail > :is(section, form) {
    padding-inline: 9px;
  }
}

.course-authoring-surface[data-section="sources"] {
  width: min(100%, 430px);
}

.course-authoring-surface[data-section="sources"] .course-authoring-frame,
.course-sources-host,
.course-sources-panel,
.course-source-detail {
  min-width: 0;
  width: 100%;
}

.course-source-empty {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}

/* Conteúdo e Planejamento ficam à mão; destinos ocasionais permanecem no menu. */
.course-authoring-task-menu {
  position: relative;
  flex: 0 0 var(--tap);
}

.course-authoring-task-menu > summary {
  list-style: none;
}

.course-authoring-task-menu > summary::-webkit-details-marker {
  display: none;
}

.course-authoring-task-menu > nav {
  position: absolute;
  z-index: 40;
  top: calc(100% + 6px);
  right: 0;
  width: min(82vw, 320px);
  display: grid;
  gap: 2px;
  padding: 8px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-floating);
}

.course-authoring-task-menu > nav > :is(a, button) {
  min-width: 0;
  min-height: var(--tap);
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 0;
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: var(--type-sm);
  font-weight: var(--weight-title);
  text-align: left;
  text-decoration: none;
}

.course-authoring-task-menu > nav > :is(a, button):is(:hover, .is-active) {
  color: var(--action-primary-hover);
  background: var(--surface-sunken);
}

.course-authoring-task-menu .course-authoring-task-icon {
  width: 22px;
  display: inline-grid;
  place-items: center;
}

.course-authoring-part.is-detail {
  box-shadow: none;
}

.course-authoring-part-detail {
  display: grid;
  gap: 16px;
  align-content: start;
}

dialog.course-microsequence-review {
  box-sizing: border-box;
  inset: 0;
  margin: auto;
  width: min(100dvw, 430px);
  max-width: min(100dvw, 430px);
  height: min(90dvh, 1000px);
  max-height: calc(100dvh - 24px);
  padding: 0;
  gap: 0;
}

.course-microsequence-review > .editor-head {
  padding: 12px;
  grid-template-columns: minmax(0, 1fr) var(--tap);
}

.course-microsequence-review > .editor-head > button {
  width: var(--tap);
  min-width: var(--tap);
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
}

.course-microsequence-review > .editor-body {
  min-height: 0;
  overflow: auto;
  display: block;
  padding: 12px 16px 20px;
  line-height: 1.6;
}

.course-microsequence-review .editor-body > section {
  margin-block: var(--space-section);
}

.course-microsequence-review :is(section, article) > ul {
  padding-inline-start: 20px;
}

.course-microsequence-review .course-review-authoring-context ul {
  padding-inline-start: 24px;
  margin-inline: 0;
  overflow-wrap: anywhere;
}

dialog.course-microsequence-review::backdrop { background: rgb(0 0 0 / 55%); }

.course-microsequence-review :is(input:not([type="checkbox"]), textarea, select) {
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-control);
  font: inherit;
  line-height: 1.5;
  color: var(--text-primary);
  background: var(--input-surface);
}

.course-microsequence-review :is(button, label:has(input[type="checkbox"])) {
  min-height: var(--tap);
}

.course-microsequence-review button {
  margin: 4px 6px 4px 0;
  padding: 6px 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--action-primary-hover);
  background: var(--surface-raised);
  font: inherit;
  cursor: pointer;
}

.course-microsequence-review button:disabled {
  color: var(--text-secondary);
  cursor: default;
}

.course-microsequence-review label:not([hidden]):has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 10px;
}

.course-source-primary-action,
.course-source-retry,
.course-source-export-target,
.course-source-save-target,
.course-source-anchors > header > button,
.course-source-observations > header > button,
.course-source-pdf-picker,
.course-source-form-actions button,
.course-source-file-access-form button,
.course-source-detail-heading > button,
.course-source-target-dialog > header > button,
.course-source-available > header > button,
.course-source-target-dialog > button,
.course-audio-panel button {
  min-height: var(--tap);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  cursor: pointer;
  font-weight: var(--weight-title);
}

.course-source-detail-heading > button {
  min-width: var(--tap);
}

.course-source-primary-action,
.course-source-export-target,
.course-source-save-target,
.course-source-anchors > header > button,
.course-source-observations > header > button,
.course-source-pdf-picker,
.course-source-form-actions button,
.course-source-detail-heading > button,
.course-source-target-dialog > header > button,
.course-source-available > header > button,
.course-sources-panel .course-authoring-more,
.course-audio-panel button[aria-label] {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  padding: 0;
}

.course-sources-panel .course-authoring-more {
  justify-self: center;
  display: inline-grid;
  place-items: center;
}

.course-source-target-dialog > header > button {
  width: var(--tap);
  min-width: var(--tap);
  height: var(--tap);
  padding: 0;
}

.course-source-primary-action,
.course-source-save-target,
.course-source-form-actions button[type="submit"],
.course-source-file-access-form button[type="submit"] {
  border-color: var(--action-primary);
  color: var(--text-on-action);
  background: var(--action-primary);
}

.course-source-retry {
  width: 100%;
  margin: 6px 0;
}

.course-source-form {
  min-width: 0;
  display: grid;
  gap: 7px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius);
  background: var(--surface-sunken);
}

.course-source-form h3,
.course-source-form h4,
.course-source-selected h3,
.course-source-available h3,
.course-source-attachments h4,
.course-source-anchors h4,
.course-source-observations h4 {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--type-md);
}

.course-source-form label,
.course-source-relation,
.course-source-anchor-choices legend {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-label);
}

.course-source-form :is(input, select, textarea),
.course-source-relation select,
.course-source-file-access-form select {
  width: 100%;
  min-width: 0;
  min-height: var(--tap);
  padding: 8px 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  font: inherit;
  font-weight: var(--weight-body);
}

.course-source-form textarea {
  min-height: 74px;
  resize: vertical;
}

.course-source-form > label,
.source-reference-fields > label,
.source-contributor > label,
.course-source-form-grid > label {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.source-reference-fields {
  min-width: 0;
  padding: 10px 0;
  border-top: 1px solid var(--border-default);
}

.source-reference-fields > summary {
  min-height: var(--tap);
  align-content: center;
  cursor: pointer;
  color: var(--text-primary);
  font-weight: var(--weight-title);
}

.source-reference-fields > :not(summary) {
  margin: 10px 0 0;
}

.source-reference-fields > p {
  color: var(--text-secondary);
  font-size: var(--type-sm);
}

.source-contributors,
.source-default-roles {
  min-width: 0;
  padding: 0;
  border: 0;
}

.source-contributors > legend,
.source-default-roles > legend {
  color: var(--text-secondary);
  font-size: var(--type-xs);
  font-weight: var(--weight-title);
}

.source-contributor {
  display: grid;
  min-width: 0;
  gap: 7px;
  margin: 8px 0;
  padding: 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
}

.source-contributor > button {
  justify-self: end;
}

.source-contributor > button,
.source-add-name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: var(--tap);
  min-height: var(--tap);
  padding: 7px 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  font: inherit;
}

.source-default-roles > label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: var(--tap);
}

.source-default-roles input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  padding: 0;
}

.source-reference-preview {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  line-height: 1.6;
}

.source-reference-preview:empty {
  display: none;
}

.course-inspection-item-menu .course-inspection-view-menu { display: none; }
@media (max-width: 430px) {
  .course-inspection-item:has([data-inspection-open-explanation]):has(.study-tool-actions:not([aria-hidden="true"])) .course-inspection-view-action { display: none; }
  .course-inspection-item:has([data-inspection-open-explanation]):has(.study-tool-actions:not([aria-hidden="true"])) .course-inspection-view-menu { display: inline-flex; }
}
@media (max-width: 380px) {
  .course-inspection-item-actions:has(.study-tool-actions), .course-inspection-mode-actions { gap: 1px; }
}
@media (max-width: 340px) {
  .course-inspection-item-actions .course-inspection-mode-actions .course-inspection-view-action { display: none; }
  .course-inspection-item-menu .course-inspection-view-menu { display: inline-flex; }
}

.source-formatted-reference {
  display: block;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  line-height: 1.55;
  font-weight: var(--weight-body);
  text-align: start;
}

.source-occurrences { min-width: 0; font-size: var(--type-xs); }
.source-occurrences > p { margin-block: 6px; }
.source-occurrences ul { list-style: none; padding: 0; }
.source-occurrences li { margin-block: 0.7rem; }
.source-occurrences blockquote {
  margin: 0 0 0.35rem;
  padding-inline-start: 0.7rem;
  border-inline-start: 2px solid currentColor;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.source-occurrences button,
[data-source-form="bibliography-style"] button { min-width: 44px; min-height: 44px; }
.source-occurrences button {
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: transparent;
  cursor: pointer;
}
.source-occurrences li > button { margin-inline-start: 0.4rem; }
.source-occurrence-editor { display: grid; gap: 0.6rem; }
.source-occurrence-location { margin: 0; overflow-wrap: anywhere; line-height: 1.5; }
.source-occurrence-editor label,
[data-source-form="bibliography-style"] label { display: grid; gap: 0.35rem; min-width: 0; }
.source-occurrence-editor select,
.source-occurrence-editor textarea,
[data-source-form="bibliography-style"] select { width: 100%; min-width: 0; max-width: 100%; }
.source-occurrence-editor :is(select, textarea) {
  padding: 9px 10px;
  min-height: var(--tap);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  font: inherit;
}
.source-occurrence-editor textarea { cursor: text; user-select: text; font-size: var(--type-sm); line-height: 1.5; }
.course-source-new-pdf-picker {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: var(--tap);
  padding: 8px 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  font-weight: var(--weight-body);
  overflow-wrap: anywhere;
}
.course-source-new-pdf-picker input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.course-source-new-pdf-picker:focus-within { outline: 2px solid var(--focus-ring); outline-offset: 2px; }

.course-source-form-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.course-source-form-grid > div,
.course-source-relation {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.course-source-form-actions {
  display: flex;
  justify-content: end;
  gap: 7px;
  padding-top: 4px;
}

.course-source-catalog,
.course-source-current-view,
.course-source-anchor-list,
.course-source-target-links {
  min-width: 0;
  display: grid;
  gap: 9px;
  margin-top: 12px;
}

.course-source-catalog {
  grid-template-columns: minmax(0, 1fr);
}

.course-source-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
  padding: 10px 0;
  min-width: 0;
  border: 0;
  border-bottom: 1px solid var(--border-subtle);
  background: transparent;
}

.course-source-card.is-selected {
  border-color: var(--action-primary);
}

.course-source-card-copy {
  min-width: 0;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 4px;
}

.course-source-card-copy > a,
.course-source-target-link > header a {
  min-width: 0;
  min-height: var(--tap);
  color: var(--text-secondary);
  font-size: var(--type-sm);
  line-height: 1.6;
  overflow-wrap: anywhere;
  text-underline-offset: .18em;
}

.course-source-card-copy :is(strong, small),
.course-source-target-link :is(strong, span),
.course-source-current :is(h3, p, dd) {
  min-width: 0;
  overflow-wrap: anywhere;
}

.course-source-card-copy strong {
  font-size: var(--type-sm);
  font-weight: var(--weight-label);
}

.course-source-card-copy small,
.course-source-target-link header span,
.course-source-anchor span {
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-source-status {
  max-width: 100%;
  border-radius: 999px;
  color: var(--text-secondary);
  font-size: 0.68rem;
  font-weight: var(--weight-title);
}

.course-source-status.is-active {
  color: var(--status-success);
}

.course-source-status.is-retired {
  text-decoration: line-through;
}

.course-source-detail-heading,
.course-source-current > header,
.course-source-anchors > header,
.course-source-target-link > header {
  min-width: 0;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.course-source-detail-heading {
  display: grid;
  grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 4px;
}

.course-source-detail-heading::after {
  width: var(--tap);
  height: var(--tap);
  content: "";
}

.course-source-target-dialog > header {
  min-width: 0;
  display: grid;
  grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 4px;
}

.course-source-target-header-space {
  grid-column: 1;
  width: var(--tap);
  height: var(--tap);
}

.course-source-target-dialog > header > div {
  grid-column: 2;
  min-width: 0;
  text-align: center;
}

.course-source-target-dialog > header > button {
  grid-column: 3;
}

.course-source-detail-heading > div,
.course-source-target-dialog > header > div,
.course-source-current > header > div,
.course-source-target-link > header > div {
  min-width: 0;
}

.course-source-detail-heading > div {
  text-align: center;
}

.course-source-detail-heading p,
.course-source-target-dialog > header p {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-source-detail-heading h2,
.course-source-target-dialog > header h2 {
  margin: 2px 0 0;
  overflow-wrap: anywhere;
  font-size: var(--type-lg);
}

.course-source-current,
.course-source-target-link {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-card);
}

.course-source-current > header h3 {
  margin: 3px 0 0;
}

.course-source-compact-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 3px;
}

.course-source-compact-actions :is(button, a) {
  width: var(--tap);
  height: var(--tap);
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: transparent;
  cursor: pointer;
}

.course-source-compact-actions button:disabled {
  cursor: default;
  opacity: 0.4;
}

.course-source-metadata {
  min-width: 0;
  display: grid;
  gap: 5px;
  margin: 0;
}

.course-source-metadata > div {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(124px, max-content) minmax(0, 1fr);
  gap: 8px;
}

.course-source-metadata :is(dt, dd) {
  min-width: 0;
  margin: 0;
  font-size: var(--type-xs);
}

.course-source-metadata dd > a {
  min-height: var(--tap);
  display: inline-flex;
  align-items: center;
  overflow-wrap: anywhere;
}

.course-source-metadata dt {
  color: var(--text-secondary);
  font-weight: var(--weight-title);
}

.course-source-anchors {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding-top: 9px;
  border-top: 1px solid var(--border-subtle);
}

.course-source-observations {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding-top: 9px;
  border-top: 1px solid var(--border-subtle);
}

.course-source-observations > header,
.course-source-observation > header {
  min-width: 0;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.course-source-observations > header p,
.course-source-observation :is(header span, header small) {
  margin: 2px 0 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-source-observation-list {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.course-source-observation {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-sunken);
}

.course-source-observation header > div,
.course-source-observation-response,
.course-source-observation-references {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.course-source-observation p,
.course-source-observation-references ul {
  margin: 0;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  font-size: var(--type-sm);
}

.course-source-observation-response {
  padding: 8px;
  border-left: 3px solid var(--action-primary);
  background: var(--surface-raised);
}

.course-source-observation-references ul {
  padding-left: 18px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-source-attachments {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding-top: 9px;
  border-top: 1px solid var(--border-subtle);
}

.course-source-attachments > header {
  min-width: 0;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 10px;
}

.course-source-attachments > header p {
  margin: 2px 0 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-source-pdf-picker {
  flex: 0 0 auto;
}

.course-source-pdf-picker:has(input:disabled) {
  cursor: default;
  opacity: 0.55;
}

.course-source-pdf-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.course-source-attachment-list {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.course-source-document-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 8px;
}

.course-source-document-row > a {
  min-width: 0;
  min-height: var(--tap);
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--text-secondary);
  font-size: var(--type-sm);
  overflow-wrap: anywhere;
}

.course-source-document-row > button {
  width: var(--tap);
  min-height: var(--tap);
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-secondary);
}

.course-source-document-row > a > svg { flex: 0 0 auto; width: 16px; height: 16px; }
.course-source-document-row > button:disabled { opacity: .55; }

.course-source-target-dialog > header .course-source-target-context {
  margin-block-start: 5px;
  font-size: var(--type-xs);
  font-weight: var(--weight-body);
  line-height: 1.5;
  color: var(--text-secondary);
}

.course-source-target-link > header { flex-wrap: wrap; }
.course-source-target-link > header > div:first-child { grid-template-columns: auto minmax(0, 1fr); gap: 6px; }
.course-source-target-link > header > .course-source-compact-actions { margin-inline-start: auto; }
.course-source-target-link { border: 0; border-bottom: 1px solid var(--border-subtle); border-radius: 0; padding: 12px 0; box-shadow: none; }
.course-source-use-details > summary { min-height: var(--tap); padding-block: 10px; font-size: var(--type-xs); color: var(--text-secondary); cursor: pointer; }
.course-source-use-details[open] { display: grid; gap: 12px; }
.course-source-use-details[open] > summary { margin-block-end: 12px; }
.course-source-available > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.course-source-available > header > h3 { margin: 0; }
.course-source-available > header > button,
.course-source-cite-action { width: var(--tap); min-height: var(--tap); padding: 0; display: grid; place-items: center; }
.course-source-display-reference { font-size: var(--type-sm); line-height: 1.6; color: var(--text-secondary); }
.source-occurrence-editor > p,
.source-occurrences > p {
  margin-block: 4px 8px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: 1.5;
}

.course-source-anchors > header p {
  margin: 2px 0 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
}

.course-source-anchor {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 10px;
  padding: 9px 10px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-sunken);
}

.course-source-current.is-deep-linked,
.course-source-anchor.is-deep-linked {
  border-color: var(--action-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--action-primary) 18%, transparent);
}

.course-source-anchor.is-deep-linked:focus-visible {
  outline: 3px solid var(--action-primary);
  outline-offset: 3px;
}

.course-source-deep-link-label {
  display: inline-flex;
  width: fit-content;
  margin-top: 0.25rem;
  padding: 0.18rem 0.5rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--action-primary) 14%, var(--surface-raised));
  color: var(--text-primary);
  font-size: 0.75rem;
  font-weight: var(--weight-title);
}

.course-source-anchor > div:first-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.course-source-anchor > p {
  grid-column: 1 / -1;
  margin: 0;
  overflow-wrap: anywhere;
  font-size: var(--type-xs);
}

.course-source-target-overlay {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: grid;
  align-items: end;
  padding: max(12px, var(--safe-top)) max(10px, var(--safe-right)) max(10px, var(--safe-bottom)) max(10px, var(--safe-left));
  background: color-mix(in srgb, var(--text-primary) 30%, transparent);
}

.course-source-target-overlay > div {
  width: min(100%, 430px);
  height: min(760px, calc(
    100dvh - max(12px, var(--safe-top)) - max(10px, var(--safe-bottom))
  ));
  min-height: 0;
  margin-inline: auto;
  overflow: hidden;
  overscroll-behavior: contain;
  border-radius: var(--radius);
  background: var(--surface-raised);
  box-shadow: var(--shadow-modal, var(--shadow-card));
}

.course-source-target-dialog {
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
}

.course-source-target-body {
  min-width: 0;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

.course-source-selected,
.course-source-available {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid var(--border-subtle);
}

.course-source-target-body > .course-source-selected:first-child {
  padding-top: 0;
  border-top: 0;
}

.course-source-target-link > header > div:first-child {
  display: grid;
  gap: 2px;
}

.course-source-anchor-choices {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
  padding: 9px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-control);
}

.course-source-anchor-choices label {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 6px;
  padding: 6px;
  border-radius: 8px;
  font-size: var(--type-xs);
}

.course-source-anchor-choices input {
  width: 18px;
  height: 18px;
  margin: 0;
}

.course-source-save-target {
  justify-self: end;
}

.course-source-target-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.course-source-availability-note {
  margin: 0;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}

@media (max-width: 700px) {
  .course-source-catalog,
  .course-source-form-grid,
  .course-source-anchor-choices {
    grid-template-columns: minmax(0, 1fr);
  }

  .course-source-target-overlay {
    padding: 0;
  }

  .course-source-target-overlay > div {
    width: 100%;
    height: min(760px, calc(100dvh - max(8px, var(--safe-top))));
    border-radius: var(--radius) var(--radius) 0 0;
  }

  .course-source-target-dialog {
    padding: 12px 10px max(12px, var(--safe-bottom));
  }

  .course-source-target-actions {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .course-source-current,
  .course-source-target-link,
  .course-source-form {
    padding-inline: 9px;
  }

  .course-source-metadata > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}

.course-design-context-dialog {
  display: flex;
  flex-direction: column;
  width: min(430px, calc(100vw - 16px));
  margin-inline: auto;
  min-width: 0;
  max-height: calc(100dvh - max(12px, var(--safe-top)) - max(10px, var(--safe-bottom)));
  border: 1px solid var(--border-default);
  border-radius: var(--radius) var(--radius) 0 0;
  background: var(--surface-raised);
  color: var(--text-primary);
  overflow: hidden;
}
.course-design-context-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px; border-bottom: 1px solid var(--border-default); }
.course-design-context-dialog > header h2 { margin: 0; font-size: 1rem; font-weight: var(--weight-title); }
.course-design-context-dialog > header button { width: var(--tap); height: var(--tap); flex: 0 0 var(--tap); display: grid; place-items: center; border: 1px solid var(--border-default); border-radius: var(--radius-control); background: var(--surface-raised); color: var(--text-primary); }
.course-design-context-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 10px 10px max(12px, var(--safe-bottom)); }
.course-design-context-body .course-authoring-section { margin: 0; }

[data-course-design-context-dialog], .course-design-direct-dialog {
  width: min(430px, calc(100vw - 16px)); height: min(760px, calc(100dvh - max(16px, var(--safe-top)) - var(--safe-bottom)));
  max-height: min(760px, calc(100dvh - 16px)); padding: 0; display: grid;
  grid-template-rows: auto minmax(0, 1fr); border-radius: var(--radius);
}
.course-design-direct-dialog { inset: auto 0 max(8px, env(safe-area-inset-bottom)); margin: auto; }
.course-design-direct-dialog:not([open]) { display: none; }
.course-design-direct-dialog::backdrop { background: rgb(0 0 0 / 45%); }
[data-course-design-context-dialog] > header h2, .course-design-direct-dialog > header h2 {
  flex: 1; text-align: center; padding-left: calc(var(--tap) + 12px);
  font-size: var(--type-md); font-weight: var(--weight-title);
}
[data-course-design-context-dialog] > .course-design-context-body, .course-design-direct-dialog > .course-design-context-body {
  position: relative; overflow-y: auto; padding: 10px;
}
.course-design-context-body > .course-design {
  min-height: 0; display: grid; align-content: start; gap: 8px;
}
.course-design-settings-nav { position: relative; min-width: 0; display: grid; gap: 12px; }
.course-design-group-heading { min-width: 0; display: flex; align-items: center; gap: 8px; }
.course-design-group-heading > span { min-width: 0; font-size: var(--type-sm); font-weight: var(--weight-title); }
.course-design select.course-design-category-menu {
  width: 100%; min-width: 0; min-height: var(--tap); margin: 0; padding: 8px 10px;
  border: 1px solid var(--input-border); border-radius: var(--radius-control);
  color: var(--text-primary); background: var(--input-surface);
  font: var(--weight-title) var(--type-md)/var(--leading-normal) var(--font-ui);
}
.course-design .course-authoring-icon-action {
  width: var(--tap); height: var(--tap); min-width: var(--tap); min-height: var(--tap);
  display: inline-flex; align-items: center; justify-content: center; padding: 8px;
  border: 1px solid var(--border-default); border-radius: var(--radius-control);
  background: var(--surface-raised); color: var(--text-secondary); font: inherit;
}
.course-design .course-authoring-icon-action:focus-visible { outline: 2px solid var(--action-primary); outline-offset: 2px; }
.course-design .course-authoring-icon-action:hover { background: var(--action-secondary-hover); color: var(--text-primary); }
.course-design-settings-nav .course-design-scope { min-width: 0; margin: 0; padding: 0 10px; box-shadow: none; }
.course-design-settings-nav .course-design-scope > summary { min-height: var(--tap); display: flex; align-items: center; gap: 8px; padding-block: 8px; font-size: var(--type-sm); cursor: pointer; }
.course-design-scope > summary > svg { flex: 0 0 auto; }
.course-design-scope > summary > span { min-width: 0; flex: 1; display: grid; gap: var(--space-copy); }
.course-design-scope > summary small { font-size: var(--type-xs); font-weight: var(--weight-body); color: var(--text-secondary); }
.course-design-scope > summary strong { font-size: var(--type-sm); font-weight: var(--weight-title); overflow-wrap: anywhere; }
.course-design-settings-nav .course-design-scope[open] { padding-bottom: 10px; }

.course-design-feedback .course-authoring-notice { position: static; margin: 0; padding: 4px; font-size: var(--type-xs); }
.course-design-settings-body { min-height: 0; min-width: 0; padding-inline: 38px 10px; }
.course-design-settings-body :is(h3, strong) { font-size: var(--type-sm); font-weight: var(--weight-title); }
.course-design-settings-body :is(p, small, .course-design-reason, .course-design-context-note, .course-design-explanation) { font-size: var(--type-xs); color: var(--text-secondary); }
.course-design-settings-body .course-design-subheading { display: none; }
.course-design-settings-body .course-design-parameter { padding-block: 10px; padding-inline: 0; display: flex; align-items: center; gap: 8px; }
.course-design-settings-body .course-design-parameter > header { min-width: 0; flex: 1; display: grid; gap: var(--space-copy); }
.course-design-settings-body .course-design-parameter > button { flex: 0 0 var(--tap); }
.course-design-parameter-editor > h3 { margin: 0 0 12px; }
.course-design-parameter-editor > form > .course-design-form-actions {
  margin: 0; padding-top: 8px; background: var(--surface-raised);
  border-top: 1px solid var(--border-default);
}
.course-design-settings-body .course-design-form-actions { justify-content: flex-end; }
.course-design-settings-body details > summary.course-authoring-icon-action { display: flex; margin-inline-start: auto; }
.course-design-settings-body .course-design-parameter-form { margin: 0; }
.course-design-explanation { margin-top: 16px; }
.course-design-explanation > summary { min-height: var(--tap); align-content: center; cursor: pointer; }

.course-parts-editor { display: grid; gap: 16px; min-width: 0; }
.course-parts-editor .course-parts-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.course-parts-editor h2, .course-parts-editor h3, .course-parts-editor p { margin: 0; }
.course-parts-editor form, .course-parts-editor fieldset, .course-parts-progression { display: grid; gap: 12px; min-width: 0; }
.course-parts-editor fieldset { padding: 12px; border: 1px solid var(--border-default); border-radius: var(--radius-control); }
.course-parts-editor label { display: grid; gap: 6px; min-width: 0; }
.course-parts-editor input, .course-parts-editor select, .course-parts-editor textarea { box-sizing: border-box; max-width: 100%; width: 100%; min-width: 0; font: inherit; color: var(--text-primary); background: var(--surface-raised); border: 1px solid var(--border-default); border-radius: var(--radius-control); padding: 10px; }
.course-parts-editor textarea { min-height: 88px; resize: vertical; }
.course-parts-editor button { min-width: 44px; min-height: 44px; color: var(--text-primary); background: var(--surface-raised); border: 1px solid var(--border-default); border-radius: var(--radius-control); font: inherit; padding: 8px 12px; }
.course-parts-editor button:disabled { opacity: 0.62; cursor: default; }
.course-parts-editor .course-parts-check { display: flex; align-items: center; gap: 8px; }
.course-parts-editor .course-parts-check input { width: 20px; height: 20px; flex: 0 0 20px; }
.course-parts-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.course-parts-editor ol { padding-left: 24px; overflow-wrap: anywhere; }
.course-parts-editor [role="alertdialog"] { display: grid; gap: 12px; border: 1px solid var(--border-default); border-radius: var(--radius-control); padding: 16px; }

.course-audio-panel { display: grid; grid-template-rows: var(--tap) 64px minmax(0, 1fr); gap: 8px; min-width: 0; height: min(640px, calc(100dvh - 96px)); padding: 12px; border: 1px solid var(--border-default); border-radius: var(--radius); background: var(--surface-raised); }
.course-audio-panel :is(h2, h3) { margin: 0; font: 600 var(--type-md)/var(--leading-snug) var(--font-display); }
.course-audio-content { border: 0; margin: 0; padding: 0; min-width: 0; }
.course-audio-panel > .course-audio-content { min-height: 0; overflow-y: auto; scrollbar-gutter: stable; }
.course-audio-feedback { height: 64px; min-height: 0; overflow-y: auto; scrollbar-gutter: stable; }
.course-audio-feedback p { margin: 4px 0; }
.course-audio-sheet { inset: auto 0 max(8px, env(safe-area-inset-bottom)); width: min(430px, calc(100vw - 16px)); height: min(640px, calc(100dvh - 16px)); max-height: calc(100dvh - 16px); margin: auto; padding: 12px; color: var(--text-primary); background: var(--surface-raised); border: 1px solid var(--border-default); border-radius: var(--radius); }
.course-audio-sheet[open] { display: grid; grid-template-rows: var(--tap) 64px minmax(0, 1fr) var(--tap); gap: 8px; }
.course-audio-sheet::backdrop { background: rgb(0 0 0 / 45%); }
.course-audio-sheet > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.course-audio-sheet > header h2 { flex: 1; text-align: center; padding-left: calc(var(--tap) + 8px); }
.course-audio-sheet > footer { justify-content: flex-end; }
.course-audio-sheet-body { overflow-y: auto; min-width: 0; min-height: 0; scrollbar-gutter: stable; }
.course-audio-empty { height: 120px; display: grid; place-items: center; color: var(--text-secondary); }
.course-audio-tabs, .course-audio-actions { display: flex; flex-wrap: nowrap; gap: 8px; }
.course-audio-tabs button[aria-pressed='true'] { border-color: var(--action-primary); color: var(--action-primary-hover); background: var(--surface-sunken); }
.course-audio-form, .course-audio-form label { display: grid; gap: 8px; min-width: 0; }
.course-audio-form { gap: 16px; }
.course-audio-file-choice {
  display: grid; grid-template-columns: var(--tap) minmax(0, 1fr); align-items: center;
  gap: 8px; height: 64px; min-width: 0;
}
.course-audio-file-choice > input[hidden] { display: none; }
.course-audio-file-choice > button {
  width: var(--tap); height: var(--tap); min-width: var(--tap); min-height: var(--tap); padding: 0;
}
.course-audio-file-choice > .course-audio-file-name {
  min-width: 0; min-height: 0; height: 64px; margin: 0; padding: 2px 0;
  overflow: auto; overflow-wrap: anywhere; overscroll-behavior: contain; scrollbar-width: thin;
  font-size: 13px; font-weight: var(--weight-body); line-height: 20px; color: var(--text-secondary);
}
.course-audio-file-choice > .course-audio-file-name:focus-visible {
  outline: 2px solid var(--focus-ring); outline-offset: -2px;
}
.course-audio-file-choice > button:focus-visible { outline-offset: -2px; }
.course-audio-form label { font-size: var(--type-sm); }
.course-audio-form :is(input, select, textarea), .course-audio-panel button { min-height: 44px; max-width: 100%; }
.course-audio-form :is(input, select, textarea) { width: 100%; min-width: 0; }
.course-audio-panel button {
  min-width: var(--tap); min-height: var(--tap); padding: 8px 12px;
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font: inherit; font-size: var(--type-sm); color: var(--text-primary);
  background: var(--surface-raised); border: 1px solid var(--border-default);
  border-radius: var(--radius-control); cursor: pointer;
}
.course-audio-panel :is(header, .course-audio-actions, .course-audio-files) button {
  flex: 0 0 var(--tap); width: var(--tap); height: var(--tap); padding: 0;
}
.course-audio-panel :is(button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--focus-ring); outline-offset: 2px;
}
.course-audio-form :is(input:not([type='checkbox']), select, textarea) {
  padding: 10px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  color: var(--text-primary);
  background: var(--surface-raised);
  font: inherit;
}
.course-audio-panel :is(button, input, select, textarea):disabled { cursor: default; opacity: 0.62; }
.course-audio-form .course-audio-check { display: flex; align-items: center; gap: 10px; min-height: var(--tap); }
.course-audio-check input { flex: 0 0 20px; width: 20px; min-height: 20px; }
.course-audio-form details > summary { cursor: pointer; min-height: 44px; }
.course-audio-form details[open] { display: grid; gap: 12px; }
.course-audio-panel p { font-size: var(--type-xs); color: var(--text-secondary); line-height: var(--leading-normal); overflow-wrap: anywhere; }
.course-audio-files { list-style: none; padding: 0; display: grid; gap: 8px; }
.course-audio-files li { display: flex; align-items: center; gap: 8px; height: 88px; padding-block: 12px; border-bottom: 1px solid var(--border-default); }
.course-audio-files li > div { flex: 1; min-width: 0; max-height: 64px; overflow-y: auto; display: grid; gap: 6px; overflow-wrap: anywhere; }
.course-audio-files strong { font-weight: var(--weight-label); font-size: var(--type-sm); }
.course-audio-files li span { font-size: var(--type-small, 0.875rem); color: var(--text-secondary); }
.course-audio-panel audio { max-width: 100%; width: 100%; }
.course-audio-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }

/* Fontes: catálogo estável e detalhes revelados na mesma folha. */
.course-source-detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: grid;
  place-items: end center;
  padding: max(8px, var(--safe-top)) max(8px, var(--safe-right)) max(8px, var(--safe-bottom-tappable)) max(8px, var(--safe-left));
  background: var(--surface-overlay);
}
.course-source-detail-overlay > .course-source-detail {
  width: min(100%, 430px);
  height: min(640px, calc(100dvh - 24px));
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: 54px minmax(0, 1fr);
  gap: 0;
  padding: 8px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius);
  background: var(--surface-raised);
  color: var(--text-primary);
  overflow: hidden;
}
.course-source-detail-body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 8px 2px;
  font-size: var(--type-sm);
  line-height: var(--leading-normal);
}
.course-source-detail-heading h2 { margin: 0; font-size: var(--type-base); font-weight: var(--weight-title); }
.course-source-detail-body :is(p, small, label, dt, dd, summary) { font-size: var(--type-xs); line-height: var(--leading-normal); }
.course-source-detail-body :is(h3, h4) { font-size: var(--type-sm); font-weight: var(--weight-title); }
.course-source-detail-body .course-source-current { border: 0; padding: 0; background: transparent; box-shadow: none; }
.course-source-detail-body .course-source-display-title {
  margin: 6px 0 10px;
  max-height: 96px;
  overflow-y: auto;
  font-size: var(--type-sm);
  font-weight: var(--weight-label);
}
.course-source-detail-section > summary,
.course-source-detail-body .source-reference-fields > summary {
  min-height: var(--tap);
  padding-block: 10px;
  cursor: pointer;
  list-style-position: outside;
  font-weight: var(--weight-label);
}
.course-source-status { display: inline-grid; place-items: center; width: 18px; height: 18px; padding: 0; border: 0; background: transparent; }
.course-source-status svg { width: 16px; height: 16px; }
.course-source-detail-body .course-source-availability-note { margin-bottom: 8px; }

/* Títulos e apoios da interface; exclui o conteúdo didático renderizado. */
.course-authoring-surface :is(h1, h2, h3, h4, h5, h6):not(.course-inspection-runtime *):not(.course-design *),
.course-authoring-confirm-dialog h2,
.course-source-detail-heading h2 {
  margin-block: 0;
  font-size: var(--type-base);
  font-weight: var(--weight-title);
  color: var(--text-secondary);
  line-height: var(--leading-snug);
}

.course-authoring-surface :is(label, summary):not(.course-inspection-runtime *):not(.course-design *):not(.course-curriculum-approval *),
.course-authoring-person strong,
.course-source-card strong {
  font-weight: var(--weight-label);
}

.course-authoring-person strong { font-size: var(--type-sm); }
.course-authoring-people-settings { font-size: var(--type-xs); color: var(--text-secondary); }
.course-authoring-people-settings > summary {
  min-height: var(--tap);
  padding-block: 12px;
  list-style-position: inside;
  cursor: pointer;
}
.course-authoring-people-settings .course-visibility-form { margin-top: 8px; }
.course-authoring-people :is(p, small),
.course-authoring-notice,
.course-authoring-confirm-dialog p,
.course-source-detail-body :is(p, label, small, dt, dd),
.course-authoring-state p {
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}
.course-authoring-confirm-dialog button { font-size: var(--type-sm); font-weight: var(--weight-label); }
.course-authoring-surface .course-authoring-task-menu > nav > :is(a, button),
.course-authoring-context-shell .course-authoring-task-menu > nav > :is(a, button) {
  font-size: var(--type-sm);
  font-weight: var(--weight-label);
}
.course-authoring-task-menu > nav > :is(a, button) :is(span, strong) {
  font-weight: inherit;
}

.course-authoring-task-menu > summary { position: relative; }
.course-authoring-feedback-indicator {
  position: absolute;
  top: 1px;
  right: 1px;
  width: 15px;
  height: 15px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--text-on-action);
  background: var(--status-danger);
  font-size: 11px;
  line-height: 1;
  font-weight: var(--weight-title);
}
.course-authoring-feedback-explanation {
  padding: 8px 12px;
  color: var(--text-secondary);
  font-size: var(--type-xs);
  line-height: var(--leading-normal);
}
.course-authoring-feedback-explanation p { margin: 0 0 8px; overflow-wrap: anywhere; }
.course-authoring-feedback-indicator[hidden], .course-authoring-feedback-explanation[hidden] { display: none; }
.course-authoring-feedback-layer > .course-authoring-transient-feedback {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 4px;
  padding: 4px 4px 4px 10px;
}
.course-authoring-transient-feedback p { margin: 0; font-size: var(--type-xs); }
.course-authoring-transient-feedback button {
  width: var(--tap);
  height: var(--tap);
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--text-secondary);
  pointer-events: auto;
  cursor: pointer;
}

/* Autoria: uma dimensão por vez; ajustes e comparação são revelados na mesma folha. */
.course-analytics { gap: var(--space-section); padding: var(--space-copy); }
.course-analytics-toolbar { display: grid; gap: var(--space-copy); min-width: 0; }
.course-analytics-toolbar > div { min-width: 0; flex: 1 1 150px; }
.course-analytics-toolbar nav { display: flex; justify-content: flex-end; gap: 4px; }
.course-analytics-toolbar h3, .course-analytics-sheet h2, .course-analytics-sheet h3, .course-analytics-comparison h4 { font-size: 16px; font-weight: var(--weight-title); line-height: 1.4; margin: 0; overflow-wrap: anywhere; }
.course-analytics [data-course-analytics-action]:not(.course-analytics-distribution button):not(.course-analytics-sheet footer button):not([data-course-analytics-action='more-courses']) { width: var(--tap); height: var(--tap); min-width: var(--tap); min-height: var(--tap); display: inline-flex; align-items: center; justify-content: center; padding: 8px; border: 1px solid transparent; border-radius: var(--radius-control); background: transparent; color: var(--text-secondary); }
.course-analytics :is(button, select, a):focus-visible { outline: 2px solid var(--action-primary); outline-offset: 2px; }
.course-analytics button:not(:disabled):hover { background: var(--action-secondary-hover); color: var(--text-primary); }
.course-analytics button:disabled { opacity: .5; }
.course-analytics .course-analytics-caption, .course-analytics-sheet small { font-size: 13px; line-height: 1.5; color: var(--text-secondary); overflow-wrap: anywhere; }
.course-analytics-total { font-size: 24px; font-weight: var(--weight-title); line-height: 1.4; }
.course-analytics-total small { font-size: 13px; font-weight: var(--weight-body); color: var(--text-secondary); }
.course-analytics-reading { display: grid; gap: 8px; min-width: 0; }
.course-analytics-distribution { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.course-analytics-distribution button { width: 100%; min-height: var(--tap); display: grid; grid-template-columns: minmax(40px, auto) minmax(36px, 1fr) auto; align-items: center; gap: 10px; padding: 8px; color: var(--text-primary); background: var(--surface-raised); border: 1px solid var(--border-subtle); border-radius: var(--radius-control); font: inherit; text-align: start; overflow-wrap: anywhere; }
.course-analytics-bar { height: 8px; width: 100%; background: var(--border-subtle); border-radius: 4px; overflow: hidden; }
.course-analytics-bar::before { content: ''; display: block; width: var(--share); height: 100%; background: var(--action-primary); border-radius: inherit; }
.course-analytics-comparison { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.course-analytics-comparison section { min-width: 0; display: grid; gap: 8px; }
.course-analytics-sheet { inset: auto 0 max(8px, env(safe-area-inset-bottom)); width: min(430px, calc(100vw - 16px)); height: min(640px, calc(100dvh - 16px)); max-height: calc(100dvh - 16px); margin: auto; padding: 12px; color: var(--text-primary); background: var(--surface-raised); border: 1px solid var(--border-default); border-radius: var(--radius); box-sizing: border-box; }
.course-analytics-sheet[open] { display: grid; grid-template-rows: var(--tap) 64px minmax(0, 1fr) var(--tap); gap: var(--space-copy); }
.course-analytics-sheet::backdrop { background: rgb(0 0 0 / 45%); }
.course-analytics-sheet > header, .course-analytics-sheet > footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.course-analytics-sheet > header { display: grid; grid-template-columns: var(--tap) minmax(0, 1fr) var(--tap); }
.course-analytics-sheet > header h2 { min-width: 0; grid-column: 2; text-align: center; }
.course-analytics-sheet > header button { grid-column: 3; }
.course-analytics-sheet > footer { justify-content: flex-end; }

.course-analytics-sheet-body { min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding: 2px; }
.course-analytics-sheet fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 12px; }
.course-analytics-sheet form { min-width: 0; display: grid; gap: 12px; }
.course-analytics-sheet label { display: grid; gap: var(--space-copy); font-size: var(--type-xs); font-weight: var(--weight-label); color: var(--text-primary); min-width: 0; }
.course-analytics-sheet label select { font-size: var(--type-sm); font-weight: var(--weight-body); }
.course-analytics-context > div { display: grid; gap: 4px; }
.course-analytics-context dt { color: var(--text-secondary); font-size: var(--type-xs); font-weight: var(--weight-label); }
.course-analytics-context dd { margin: 0; font-size: var(--type-xs); font-weight: var(--weight-body); }
.course-analytics-sheet select { width: 100%; min-width: 0; min-height: var(--tap); padding: 8px; border-radius: var(--radius-control); border: 1px solid var(--border-default); color: var(--text-primary); background: var(--surface-raised); font: inherit; }
.course-analytics-sheet footer button { width: var(--tap); padding: 8px; }
.course-analytics-sheet footer button, .course-analytics-sheet [data-course-analytics-action='more-courses'] { min-height: var(--tap); padding: 8px 12px; border: 1px solid var(--border-default); border-radius: var(--radius-control); color: var(--text-primary); background: var(--surface-raised); font: inherit; font-size: 13px; }
.course-analytics-sheet .course-analytics-details { margin: 0; padding-inline-start: var(--space-section); }
.course-analytics-sheet .course-analytics-details > summary { display: list-item; list-style-position: outside; align-content: center; padding-block: var(--space-copy); font-size: var(--type-xs); font-weight: var(--weight-title); }
.course-analytics-sheet .course-analytics-details > summary small { white-space: normal; }
.course-analytics-sheet :is(p, li, h4) { overflow-wrap: anywhere; }
.course-analytics-sheet li small { display: block; }
.course-analytics-sheet .course-analytics-metrics { grid-template-columns: minmax(0, 1fr); }
.course-analytics-sheet .course-analytics-metrics dt { font-size: 13px; font-weight: var(--weight-label); }
.course-analytics-unit-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.course-analytics-unit-list a { display: flex; align-items: center; gap: 10px; min-height: var(--tap); padding: 8px; color: var(--text-primary); border: 1px solid var(--border-subtle); border-radius: var(--radius-control); text-decoration: none; font-size: 14px; overflow-wrap: anywhere; }
.course-analytics-unit-list a span { color: var(--text-secondary); font-size: 13px; }
@media (min-width: 640px) { .course-analytics-comparison { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.course-inspection-evidence {
  min-width: 0;
}

.course-inspection-item-menu :is(button, a):focus-visible { outline: 2px solid var(--action-primary); outline-offset: 2px; }

.course-inspection-empty-explanations {
  display: grid;
  width: min(100%, 430px);
  min-width: 0;
  margin: 12px 0;
  padding: 0;
  list-style: none;
}

.course-inspection-empty-explanations > .course-inspection-explanation-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 60px;
  padding-block: 8px;
  box-sizing: border-box;
  border-block-end: 1px solid var(--border-subtle);
  text-align: start;
}

.course-inspection-explanation-entry:first-child { border-block-start: 1px solid var(--border-subtle); }
.course-inspection-explanation-title { min-width: 0; overflow-wrap: anywhere; line-height: 1.5; }

.course-inspection-explanation-entry > button.course-authoring-icon-action {
  display: grid;
  place-items: center;
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  padding: 8px;
  margin: 0;
  box-sizing: border-box;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--action-primary);
}

.course-inspection-evidence > summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  padding: 8px;
  box-sizing: border-box;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  list-style: none;
}

.course-inspection-evidence > summary::-webkit-details-marker { display: none; }
.course-inspection-evidence > summary::marker { content: ""; }
.course-inspection-evidence > summary:hover { background: var(--action-secondary-hover); }
.course-inspection-evidence[open] > summary { color: var(--action-primary); border-color: var(--action-primary); }
.course-inspection-evidence > summary:focus-visible { outline: 2px solid var(--action-primary); outline-offset: 2px; }

.course-analytics-inspection-panel {
  display: grid;
  gap: 14px;
  min-width: 0;
  margin-block-start: 10px;
  padding: 14px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--surface-sunken);
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.course-analytics-inspection-panel :is(p, dl, h4) { margin: 0; }
.course-analytics-inspection-panel .course-inspection-evidence-title { color: var(--text-primary); font-size: 13px; font-weight: var(--weight-title); }
.course-inspection-evidence-group { min-width: 0; display: grid; gap: 8px; }
.course-inspection-evidence-group > h4 { color: var(--text-primary); font-size: 13px; font-weight: var(--weight-title); line-height: 1.5; }
.course-inspection-evidence-values { min-width: 0; }
.course-inspection-evidence-values > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 8px 14px; padding-block: 10px; border-block-start: 1px solid var(--border-subtle); }
.course-inspection-evidence-values dt { font-size: 13px; font-weight: var(--weight-body); }
.course-inspection-evidence-values dd { margin: 0; min-width: 0; color: var(--text-primary); font-size: 13px; font-weight: var(--weight-body); }
.course-inspection-evidence-value { display: grid; gap: 4px; }
.course-inspection-evidence-value + .course-inspection-evidence-value { margin-block-start: 12px; }
.course-analytics-inspection-panel .course-inspection-evidence-note,
.course-inspection-evidence-value > small { color: var(--text-secondary); font-size: 13px; font-weight: var(--weight-body); line-height: 1.5; }

@media (max-width: 480px) {
  .course-analytics-inspection-panel { padding: 12px; }
  .course-inspection-evidence-values > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* O editor contextual conserva o cabeçalho e a origem da Autoria. */
.course-authoring-context-shell .course-authoring-context-topbar {
  flex: 0 0 auto;
  height: calc(var(--tap) + max(10px, var(--safe-top)) + 10px);
  padding-top: max(10px, var(--safe-top));
  padding-bottom: 10px;
}
.course-authoring-context-topbar > .course-authoring-course-header {
  height: var(--tap);
  min-height: var(--tap);
  grid-template-columns: var(--tap) minmax(0, 1fr) auto;
}
.course-authoring-context-shell .course-authoring-course-heading h1 { font-weight: var(--weight-title); color: var(--text-secondary); }
.course-authoring-context-shell .course-authoring-task-menu nav { z-index: 1200; }
.course-authoring-context-shell .screen-content { position: relative; }
.course-authoring-context-shell .study-structure-edit-dock {
  position: static;
  justify-content: flex-end;
  background: var(--surface-canvas);
}
.course-authoring-context-shell .navigation-actions { min-width: var(--tap); }
.runtime-authoring-practice-controls {
  position: relative;
  display: block;
  min-width: 0;
  margin: 8px 0 0;
}

.runtime-authoring-gap-options { display: block; }
.runtime-authoring-gap-options:not([open]) > .runtime-authoring-gap-fields { display: none; }

.runtime-authoring-gap-options > summary,
.runtime-authoring-practice-check {
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  width: var(--tap, 44px);
  height: var(--tap, 44px);
  min-width: var(--tap, 44px);
  min-height: var(--tap, 44px);
  margin: 0;
  padding: 0;
  border: 1px solid var(--resource-border);
  border-radius: 12px;
  background: transparent;
  color: var(--resource-text-secondary);
  list-style: none;
  cursor: pointer;
}

.runtime-authoring-gap-options > summary::-webkit-details-marker { display: none; }

.runtime-authoring-gap-fields {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  padding: 12px;
  min-width: 0;
  border: 1px solid var(--resource-border);
  border-radius: 12px;
  background: var(--surface-sunken);
  font-size: var(--type-sm);
  line-height: 1.5;
}

.runtime-authoring-gap-fields dl,
.runtime-authoring-gap-fields dl > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  margin: 0;
}

.runtime-authoring-gap-fields dl { gap: 12px; }

.runtime-authoring-gap-fields dt {
  font-weight: var(--weight-body);
  color: var(--resource-text-secondary);
}

.runtime-authoring-gap-fields dd {
  min-width: 0;
  margin: 0;
  color: var(--resource-text-primary);
  overflow-wrap: anywhere;
}

.runtime-authoring-gap-fields h4 { margin: 0 0 8px; font-size: inherit; }

.runtime-authoring-practice-check {
  position: absolute;
  top: 0;
  left: calc(var(--tap, 44px) + 8px);
}

.course-inspection-runtime .runtime-authoring-support-title {
  font-weight: var(--weight-body);
  letter-spacing: normal;
  text-transform: none;
}

.course-design-settings-body .course-design-parameter > header > strong { color: var(--text-primary); font-size: var(--type-sm); font-weight: var(--weight-body); }

/* Atribuição de fontes: título, objeto, conteúdo e controles têm papéis distintos. */
.course-source-target-dialog { font-size: var(--type-xs); font-weight: var(--weight-body); line-height: var(--leading-normal); }
.course-source-target-dialog > header h2 { font-size: var(--type-base); font-weight: var(--weight-title); }
.course-source-target-dialog :is(h3, h4) { font-size: var(--type-sm); font-weight: var(--weight-title); margin-block: 0 var(--space-copy); }
.course-source-target-dialog > header .course-source-target-context { display: grid; gap: 4px; margin-top: var(--space-copy); }
.course-source-target-context strong { font-size: var(--type-sm); font-weight: var(--weight-title); color: var(--text-primary); }
.course-source-target-context small { font-size: var(--type-xs); font-weight: var(--weight-body); color: var(--text-secondary); }
.course-source-target-body { padding: 6px; scrollbar-gutter: auto; }
.course-source-target-dialog label { font-weight: var(--weight-label); }
.course-source-target-dialog :is(input, select, textarea) { font-weight: var(--weight-body); }
.source-occurrence-editor { gap: var(--space-section); }
.source-occurrence-editor label { gap: var(--space-copy); }
.source-occurrence-location > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-copy); }
.source-occurrence-location dt { font-weight: var(--weight-label); color: var(--text-secondary); }
.source-occurrence-location dd { margin: 0; font-weight: var(--weight-body); color: var(--text-primary); }
.source-occurrence-editor .course-source-compact-actions { justify-content: flex-end; }
.source-occurrences > button { display: grid; margin-inline-start: auto; }
.source-occurrences li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.source-occurrences li blockquote { flex-basis: 100%; }
.source-occurrences li > span { flex: 1; color: var(--text-secondary); }

.course-source-target-links, .course-source-catalog { margin-top: 0; }

/* Feedback transitório ocupa uma área constante, incluindo recuperação. */
.course-operation-feedback {
  box-sizing: border-box;
  height: 64px;
  min-height: 64px;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--tap);
  align-items: center;
  gap: var(--space-copy);
}
.course-operation-feedback-copy {
  min-width: 0;
  max-height: 56px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.course-operation-feedback-copy .course-authoring-notice {
  margin: 0;
  padding: 4px;
  text-align: start;
  font-size: var(--type-xs);
}
.course-operation-feedback > button {
  box-sizing: border-box;
  width: var(--tap);
  height: var(--tap);
  min-width: var(--tap);
  min-height: var(--tap);
  margin: 0;
  padding: 0;
  display: inline-grid;
  place-items: center;
}

.study-observation-central-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; }
.study-observation-central-controls,
.study-observation-central-controls > label,
.study-observation-new-targets,
.study-observation-target-editor { min-width: 0; }
.study-observation-central-controls > label { display: grid; gap: .25rem; }
.study-observation-central-controls > div, .study-observation-decisions { display: flex; flex-wrap: wrap; gap: .5rem; }
.study-observation-central-controls button,
.study-observation-decisions button { min-width: var(--tap); min-height: var(--tap); max-width: 100%; white-space: normal; }
.study-observation-targets { min-width: 0; border: 1px solid var(--line, #d6dbe1); border-radius: .5rem; padding: .5rem; }
.study-observation-target { padding: .35rem 0; }
.study-observation-target > label { display: flex; align-items: baseline; gap: .4rem; }
.study-observation-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.study-observation-comparison pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: .85rem; }
.study-observation-central-controls select,
.study-observation-target-editor select,
.study-observation-new-targets select { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: var(--tap); }
.study-observation-target-editor select, .study-observation-new-targets select { min-height: 5rem; }
.study-observation-central-controls :focus-visible,
.study-observation-target-editor select:focus-visible,
.study-observation-new-targets select:focus-visible { outline-offset: -1px; }
@media (max-width: 600px) { .study-observation-comparison { grid-template-columns: 1fr; } }
