/* OW Onboarding Tool 0.78.0
 * Prompt-Set lifecycle, source-of-truth upload and category-first assignments.
 */

.cm-modal.cm-prompt-modal {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

/* Management bar --------------------------------------------------------- */
.cm-prompt-management-bar {
  min-width: 0;
  padding: 11px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #dfe3eb;
  background: #f8f8fc;
}
.cm-prompt-library-meta { min-width: 0; display: grid; gap: 1px; }
.cm-prompt-library-meta > span {
  color: #777c8a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cm-prompt-library-meta > strong {
  min-width: 0;
  color: #282c3b;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.cm-prompt-library-meta > small { color: #858996; font-size: 10px; }
.cm-prompt-management-actions {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
.cm-prompt-management-actions .cm-button {
  min-height: 34px;
  padding: 0 11px;
  gap: 6px;
  font-size: 10px;
  white-space: nowrap;
}
.cm-prompt-management-actions .cm-button svg { width: 14px; height: 14px; }
.cm-prompt-download-menu { display: inline-flex; align-items: center; gap: 4px; }
.cm-prompt-delete-all { margin-left: 3px; }

/* Toolbar ---------------------------------------------------------------- */
.cm-prompt-modal-tools {
  grid-template-columns: auto auto minmax(210px, 1fr) minmax(180px, 250px);
  align-items: center;
}
.cm-prompt-view-switch {
  display: inline-flex;
  gap: 3px;
  padding: 3px;
  border: 1px solid #dfe2e9;
  border-radius: 10px;
  background: #f1f2f6;
}
.cm-prompt-view-switch button {
  min-height: 34px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  border-radius: 8px;
  color: #656a78;
  background: transparent;
  cursor: pointer;
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}
.cm-prompt-view-switch button svg { width: 13px; height: 13px; }
.cm-prompt-view-switch button.active {
  color: #5548d1;
  background: #fff;
  box-shadow: 0 2px 7px rgba(37,31,79,.1);
}
.cm-prompt-modal-body.assignments { background: #f4f5f8; }

/* Library additions ------------------------------------------------------ */
.cm-prompt-set-header-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}
.cm-prompt-set-header-actions > strong {
  padding: 6px 9px;
  border-radius: 999px;
  color: #5849d5;
  background: #ece9ff;
  font-size: 10px;
  white-space: nowrap;
}
.cm-prompt-set-header-actions .cm-button { min-height: 32px; padding: 0 9px; font-size: 10px; }
.cm-prompt-set-header-actions .cm-button svg { width: 13px; }
.cm-prompt-set-content-category {
  display: block;
  margin-top: 8px;
  color: #707586 !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.cm-prompt-set-content-category b { color: #5549cd; }
.cm-prompt-category-assignment-copy {
  display: block;
  margin-top: 3px;
  color: #6257bc !important;
  font-size: 9px !important;
  overflow-wrap: anywhere;
}
.cm-prompt-page-chips button {
  max-width: 260px;
  padding: 3px 7px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  color: #594bd0;
  background: #eceaff;
  cursor: pointer;
  font-size: 9px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cm-prompt-page-chips button small { color: #8179ba; font-size: 7px; text-transform: uppercase; }
.cm-prompt-assignment-mode {
  padding: 3px 6px !important;
  border-radius: 6px;
  font-size: 8px !important;
  font-weight: 800 !important;
  white-space: nowrap;
}
.cm-prompt-assignment-mode.mode-inherit { color: #315f87 !important; background: #e9f4fb !important; }
.cm-prompt-assignment-mode.mode-extend { color: #5a4fc0 !important; background: #eeebff !important; }
.cm-prompt-assignment-mode.mode-override { color: #9f4163 !important; background: #fff0f5 !important; }

/* Empty state ------------------------------------------------------------ */
.cm-prompt-empty .cm-button { margin-top: 5px; }

/* Assignment overview --------------------------------------------------- */
.cm-prompt-overview { display: grid; gap: 14px; }
.cm-prompt-overview-guide {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  border: 1px solid #dfe2ea;
  border-radius: 13px;
  background: #fff;
}
.cm-prompt-overview-guide > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
}
.cm-prompt-overview-guide b {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #6253dc;
  font-size: 11px;
}
.cm-prompt-overview-guide span { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-overview-guide strong { color: #303442; font-size: 11px; }
.cm-prompt-overview-guide small { color: #777c89; font-size: 9px; line-height: 1.35; }

.cm-prompt-overview-set {
  overflow: hidden;
  border: 1px solid #dce0e8;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(31,38,57,.04);
}
.cm-prompt-overview-set > header {
  padding: 15px 16px;
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #e3e6ed;
  background: linear-gradient(135deg, #fbfaff, #f5f7ff);
}
.cm-prompt-overview-set-copy { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-overview-set-copy > span {
  color: #685bd8;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cm-prompt-overview-set-copy h3 { margin: 0; color: #222634; font-size: 15px; overflow-wrap: anywhere; }
.cm-prompt-overview-set-copy p { margin: 2px 0 0; color: #737887; font-size: 10px; line-height: 1.45; }
.cm-prompt-overview-set-stats { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.cm-prompt-overview-set-stats strong {
  padding: 5px 8px;
  border-radius: 999px;
  color: #5b50c4;
  background: #eceaff;
  font-size: 9px;
  white-space: nowrap;
}
.cm-prompt-overview-set-actions { display: flex; align-items: center; gap: 6px; }
.cm-prompt-overview-set-actions .cm-button { min-height: 32px; padding: 0 9px; font-size: 9px; }
.cm-prompt-overview-set-actions .cm-button svg { width: 13px; }

.cm-prompt-set-category-assignment {
  padding: 10px 16px;
  display: grid;
  grid-template-columns: minmax(170px, .45fr) minmax(0, 1.55fr);
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #e6e8ee;
  background: #fafafd;
}
.cm-prompt-set-category-assignment > span {
  color: #727786;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}
.cm-prompt-set-category-assignment > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.cm-prompt-set-category-assignment em { color: #9a701f; font-size: 10px; font-style: normal; }
.cm-prompt-content-category-chip,
.cm-prompt-page-assignment-chip {
  max-width: 100%;
  display: inline-flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #d7d4f3;
  border-radius: 999px;
  background: #f1efff;
}
.cm-prompt-content-category-chip button,
.cm-prompt-page-assignment-chip button {
  min-width: 0;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  color: #5145be;
  background: transparent;
  cursor: pointer;
  font-size: 9px;
  font-weight: 750;
  overflow-wrap: anywhere;
}
.cm-prompt-content-category-chip button:first-child,
.cm-prompt-page-assignment-chip button:first-child { flex: 1; }
.cm-prompt-content-category-chip button:last-child,
.cm-prompt-page-assignment-chip button:last-child { padding-left: 5px; border-left: 1px solid #ddd9fb; }
.cm-prompt-content-category-chip svg,
.cm-prompt-page-assignment-chip svg { width: 11px; height: 11px; }
.cm-prompt-ref-unresolved {
  max-width: 100%;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px dashed #e1c77d;
  border-radius: 999px;
  color: #936717;
  background: #fff9e9;
  font-size: 9px;
  overflow-wrap: anywhere;
}
.cm-prompt-ref-unresolved svg { width: 11px; flex: 0 0 auto; }

.cm-prompt-overview-categories { padding: 0 14px 14px; }
.cm-prompt-overview-category { border-bottom: 1px solid #e7eaf0; }
.cm-prompt-overview-category:last-child { border-bottom: 0; }
.cm-prompt-overview-category > summary {
  padding: 14px 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
}
.cm-prompt-overview-category > summary::-webkit-details-marker { display: none; }
.cm-prompt-overview-category > summary > div:first-child { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-overview-category > summary span { color: #827d98; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-overview-category > summary strong { color: #292d3c; font-size: 13px; overflow-wrap: anywhere; }
.cm-prompt-overview-category > summary small { color: #737887; font-size: 10px; line-height: 1.4; }
.cm-prompt-overview-category > summary > div:last-child { display: flex; align-items: center; gap: 7px; }
.cm-prompt-overview-category > summary b { color: #626777; font-size: 9px; white-space: nowrap; }
.cm-prompt-category-pages {
  padding: 10px 12px;
  display: grid;
  grid-template-columns: minmax(180px, .45fr) minmax(0, 1.55fr);
  gap: 12px;
  align-items: center;
  border: 1px solid #e1e4eb;
  border-radius: 10px;
  background: #f9fafc;
}
.cm-prompt-category-pages > span { color: #727786; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-category-pages > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.cm-prompt-category-pages em { color: #9a701f; font-size: 9px; font-style: normal; }

.cm-prompt-overview-prompts { margin: 10px 0 2px; display: grid; gap: 5px; }
.cm-prompt-overview-prompt {
  min-width: 0;
  padding: 9px 10px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1.1fr) 31px;
  gap: 10px;
  align-items: center;
  border: 1px solid #e3e6ec;
  border-radius: 9px;
  background: #fff;
}
.cm-prompt-overview-prompt > div:first-child { min-width: 0; display: grid; gap: 5px; }
.cm-prompt-overview-prompt p { margin: 0; color: #343847; font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; }
.cm-prompt-overview-prompt .cm-prompt-assignment-mode { justify-self: start; }
.cm-prompt-effective-pages { min-width: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.cm-prompt-effective-pages > em { color: #9b7427; font-size: 9px; font-style: normal; }
.cm-prompt-effective-page {
  max-width: 250px;
  padding: 4px 7px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid #dde1e9;
  border-left: 3px solid #6557dc;
  border-radius: 7px;
  color: #454958;
  background: #fff;
  cursor: pointer;
  font-size: 9px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cm-prompt-effective-page small { color: #777c89; font-size: 7px; text-transform: uppercase; }
.cm-prompt-effective-page.source-extend { border-left-color: #b14f76; background: #fff8fb; }
.cm-prompt-effective-page.source-override { border-left-color: #b14f76; background: #fff2f7; }

/* Import preview --------------------------------------------------------- */
.cm-modal.cm-prompt-import-modal {
  width: min(900px, calc(100vw - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.cm-prompt-import-modal > header {
  padding: 18px 21px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #e0e3e9;
}
.cm-prompt-import-modal > header > div { min-width: 0; }
.cm-prompt-import-modal > header span { color: #6557d8; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-import-modal > header h2 { margin: 4px 0; color: #272b39; overflow-wrap: anywhere; }
.cm-prompt-import-modal > header p { margin: 0; color: #727786; font-size: 11px; }
.cm-prompt-import-modal > .cm-modal-body { min-height: 0; padding: 17px 21px; display: grid; gap: 13px; overflow: auto; }
.cm-prompt-import-counts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
}
.cm-prompt-import-counts > div:first-child,
.cm-prompt-import-counts > div:last-child {
  padding: 12px;
  display: grid;
  gap: 3px;
  border: 1px solid #e0e3e9;
  border-radius: 10px;
  background: #fafafd;
}
.cm-prompt-import-counts > div:nth-child(2) { display: grid; place-items: center; color: #777c89; }
.cm-prompt-import-counts svg { width: 17px; }
.cm-prompt-import-counts span { color: #777c89; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-import-counts strong { color: #303442; font-size: 16px; }
.cm-prompt-import-counts small { color: #7c818f; font-size: 9px; }
.cm-prompt-import-mode { display: grid; gap: 7px; }
.cm-prompt-import-mode > span { color: #777c89; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-import-mode > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cm-prompt-import-mode button {
  min-height: 78px;
  padding: 12px;
  display: grid;
  align-content: center;
  gap: 4px;
  text-align: left;
  border: 1px solid #dfe2e9;
  border-radius: 10px;
  color: #383c4a;
  background: #fff;
  cursor: pointer;
}
.cm-prompt-import-mode button.active { border-color: #6b5ddd; background: #f4f2ff; box-shadow: 0 0 0 3px rgba(104,89,220,.1); }
.cm-prompt-import-mode button strong { font-size: 11px; }
.cm-prompt-import-mode button small { color: #737887; font-size: 9px; line-height: 1.45; }
.cm-prompt-import-messages { padding: 11px 13px; border-radius: 10px; }
.cm-prompt-import-messages > strong { display: flex; align-items: center; gap: 6px; font-size: 10px; }
.cm-prompt-import-messages > strong svg { width: 14px; }
.cm-prompt-import-messages p { margin: 5px 0 0; font-size: 10px; line-height: 1.45; }
.cm-prompt-import-messages.error { color: #a73343; border: 1px solid #ecc5ca; background: #fff1f3; }
.cm-prompt-import-messages.warning { color: #906319; border: 1px solid #ead5a2; background: #fff9eb; }
.cm-prompt-import-messages.success { color: #216d4c; border: 1px solid #bfe1d0; background: #edf9f3; }
.cm-prompt-import-unresolved { overflow: hidden; border: 1px solid #e1e4eb; border-radius: 10px; }
.cm-prompt-import-unresolved > summary { padding: 10px 12px; color: #5f6472; background: #f8f8fb; cursor: pointer; font-size: 10px; font-weight: 750; }
.cm-prompt-import-unresolved p { margin: 0; padding: 7px 11px; border-top: 1px solid #eceef2; color: #666b79; font-size: 9px; overflow-wrap: anywhere; }
.cm-prompt-import-unresolved p b { color: #383c4a; }
.cm-prompt-import-unresolved p small { margin-left: 5px; color: #8b7040; }
.cm-prompt-import-note {
  padding: 11px 12px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 8px;
  color: #594bcf;
  border: 1px solid #d8d2fb;
  border-radius: 10px;
  background: #f6f4ff;
}
.cm-prompt-import-note > svg { width: 15px; margin: 2px auto; }
.cm-prompt-import-note > span { display: grid; gap: 2px; }
.cm-prompt-import-note strong { font-size: 10px; }
.cm-prompt-import-note small { color: #69647d; font-size: 9px; line-height: 1.45; }
.cm-prompt-import-modal > footer {
  padding: 12px 21px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #e1e4ea;
  background: #fafafd;
}
.cm-prompt-import-modal > footer > span { color: #777c89; font-size: 9px; }
.cm-prompt-import-modal > footer > div { display: flex; gap: 7px; }
.cm-prompt-import-modal > footer .cm-button svg { width: 14px; }

@media (max-width: 1180px) {
  .cm-prompt-management-bar { align-items: flex-start; flex-direction: column; }
  .cm-prompt-management-actions { width: 100%; justify-content: flex-start; }
  .cm-prompt-modal-tools { grid-template-columns: auto auto minmax(180px, 1fr); }
  .cm-prompt-filter { grid-column: 3; }
  .cm-prompt-search { grid-column: 1 / span 2; grid-row: 2; }
  .cm-prompt-overview-set > header { grid-template-columns: minmax(230px, 1fr) auto; }
  .cm-prompt-overview-set-actions { grid-column: 1 / -1; justify-content: flex-end; }
}

@media (max-width: 820px) {
  .cm-modal.cm-prompt-modal { width: calc(100vw - 16px); height: calc(100vh - 16px); }
  .cm-prompt-modal-header,
  .cm-prompt-management-bar,
  .cm-prompt-modal-tools,
  .cm-prompt-modal-body,
  .cm-prompt-composer { padding-left: 15px; padding-right: 15px; }
  .cm-prompt-management-actions .cm-button { flex: 1 1 auto; justify-content: center; }
  .cm-prompt-download-menu { flex: 1 1 100%; }
  .cm-prompt-download-menu .cm-button { flex: 1; }
  .cm-prompt-modal-tools { grid-template-columns: 1fr; align-items: stretch; }
  .cm-prompt-tabs,
  .cm-prompt-view-switch,
  .cm-prompt-search,
  .cm-prompt-filter { grid-column: 1; grid-row: auto; width: 100%; }
  .cm-prompt-tabs button,
  .cm-prompt-view-switch button { flex: 1; justify-content: center; }
  .cm-prompt-set-card > header { flex-direction: column; }
  .cm-prompt-set-header-actions { width: 100%; justify-content: space-between; }
  .cm-prompt-overview-guide { grid-template-columns: 1fr; }
  .cm-prompt-overview-set > header { grid-template-columns: 1fr; }
  .cm-prompt-overview-set-stats,
  .cm-prompt-overview-set-actions { justify-content: flex-start; }
  .cm-prompt-set-category-assignment,
  .cm-prompt-category-pages { grid-template-columns: 1fr; }
  .cm-prompt-overview-category > summary { align-items: flex-start; flex-direction: column; }
  .cm-prompt-overview-category > summary > div:last-child { width: 100%; justify-content: space-between; }
  .cm-prompt-overview-prompt { grid-template-columns: minmax(0, 1fr) 31px; }
  .cm-prompt-effective-pages { grid-column: 1; grid-row: 2; }
  .cm-prompt-overview-prompt > .cm-icon-button { grid-column: 2; grid-row: 1 / span 2; }
  .cm-prompt-import-mode > div { grid-template-columns: 1fr; }
  .cm-prompt-import-modal > footer { align-items: stretch; flex-direction: column; }
  .cm-prompt-import-modal > footer > div { justify-content: flex-end; }
}

@media (max-width: 560px) {
  .cm-prompt-management-actions .cm-button { flex: 1 1 100%; }
  .cm-prompt-delete-all { margin-left: 0; }
  .cm-prompt-overview-set-actions { align-items: stretch; flex-direction: column; }
  .cm-prompt-overview-set-actions .cm-button { width: 100%; justify-content: center; }
  .cm-prompt-overview-prompt { grid-template-columns: minmax(0, 1fr); }
  .cm-prompt-overview-prompt > .cm-icon-button { grid-column: 1; grid-row: auto; justify-self: end; }
  .cm-prompt-effective-page { max-width: 100%; white-space: normal; }
  .cm-prompt-import-counts { grid-template-columns: 1fr; }
  .cm-prompt-import-counts > div:nth-child(2) { transform: rotate(90deg); }
  .cm-prompt-import-modal > footer > div { flex-direction: column-reverse; }
  .cm-prompt-import-modal > footer .cm-button { width: 100%; justify-content: center; }
}

/* -------------------------------------------------------------------------
 * v0.78 canonical prompt management UI (actual editor markup)
 * ---------------------------------------------------------------------- */
.cm-prompt-management-bar {
  display: grid;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 2.25fr);
  gap: 14px 22px;
  align-items: center;
  padding: 12px 26px;
  border-bottom: 1px solid #dfe3eb;
  background: #fbfbfd;
}
.cm-prompt-library-meta { min-width: 0; display: grid; gap: 1px; }
.cm-prompt-library-meta > span { color: #777c8a; font-size: 9px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.cm-prompt-library-meta > strong { min-width: 0; color: #242938; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cm-prompt-library-meta > small { color: #818694; font-size: 10px; }
.cm-prompt-management-actions { min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.cm-prompt-management-actions .cm-button { min-height: 34px; padding: 6px 10px; font-size: 10px; line-height: 1.2; }
.cm-prompt-management-actions .cm-button svg { width: 14px; height: 14px; flex: 0 0 auto; }
.cm-prompt-download-menu { display: inline-flex; gap: 5px; }
.cm-button-compact { min-height: 31px !important; padding: 5px 8px !important; }
.cm-prompt-delete-all { white-space: nowrap; }

.cm-prompt-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid #dfe2e9;
  border-radius: 10px;
  background: #f1f2f6;
}
.cm-prompt-view-switch button {
  min-height: 34px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  border-radius: 8px;
  color: #656b79;
  background: transparent;
  cursor: pointer;
  font-size: 10px;
  font-weight: 780;
  white-space: nowrap;
}
.cm-prompt-view-switch button svg { width: 13px; }
.cm-prompt-view-switch button.active { color: #5143d0; background: #fff; box-shadow: 0 2px 8px rgba(34,38,55,.09); }

.cm-prompt-assignment-note {
  margin-bottom: 14px;
  padding: 11px 13px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  border: 1px solid #d7d1fb;
  border-radius: 11px;
  color: #5749d1;
  background: #f5f3ff;
}
.cm-prompt-assignment-note > svg { width: 16px; margin: 2px auto 0; }
.cm-prompt-assignment-note > span { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-assignment-note strong { color: #4036a6; font-size: 11px; }
.cm-prompt-assignment-note small { color: #6f6b7e; font-size: 10px; line-height: 1.45; }

.cm-prompt-overview { display: grid; gap: 15px; }

.cm-prompt-mapping-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.cm-prompt-mapping-stats > div {
  min-width: 0;
  padding: 11px 12px;
  display: grid;
  gap: 2px;
  border: 1px solid #e0e3ea;
  border-radius: 10px;
  background: #fff;
}
.cm-prompt-mapping-stats > div.warning {
  border-color: #ead5a3;
  background: #fff9eb;
}
.cm-prompt-mapping-stats span {
  color: #777c89;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.cm-prompt-mapping-stats strong {
  color: #2e3342;
  font-size: 20px;
  line-height: 1.05;
}
.cm-prompt-mapping-stats small {
  min-width: 0;
  color: #777c89;
  font-size: 9px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.cm-prompt-mapping-stats .warning strong,
.cm-prompt-mapping-stats .warning small { color: #8b6117; }

.cm-prompt-mapping-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.cm-prompt-mapping-legend > span {
  min-width: 0;
  padding: 7px 10px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #e0e3ea;
  border-radius: 999px;
  color: #656b79;
  background: #fff;
  font-size: 9px;
  line-height: 1.35;
}
.cm-prompt-mapping-legend i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #6557d8;
}
.cm-prompt-mapping-legend i.exception { background: #ba4b73; }
.cm-prompt-overview-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.cm-prompt-overview-guide > div {
  min-width: 0;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  border: 1px solid #e0e3ea;
  border-radius: 10px;
  background: #fff;
}
.cm-prompt-overview-guide b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #6253d9; font-size: 10px; }
.cm-prompt-overview-guide span { min-width: 0; display: grid; gap: 1px; }
.cm-prompt-overview-guide strong { color: #353949; font-size: 10px; }
.cm-prompt-overview-guide small { color: #777c89; font-size: 9px; line-height: 1.35; }

.cm-prompt-overview-set {
  overflow: hidden;
  border: 1px solid #dce0e8;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(31,38,57,.045);
}
.cm-prompt-overview-set > header {
  padding: 15px 17px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: 15px;
  align-items: center;
  border-bottom: 1px solid #e3e6ed;
  background: linear-gradient(135deg, #fbfaff, #f5f7ff);
}
.cm-prompt-overview-set-copy { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-overview-set-copy > span { color: #6658d5; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cm-prompt-overview-set-copy h3 { margin: 0; color: #232837; font-size: 15px; overflow-wrap: anywhere; }
.cm-prompt-overview-set-copy p { margin: 1px 0 0; color: #717786; font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; }
.cm-prompt-overview-set-stats { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.cm-prompt-overview-set-stats strong { padding: 5px 8px; border-radius: 999px; color: #5749d0; background: #ece9ff; font-size: 9px; white-space: nowrap; }
.cm-prompt-overview-set-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.cm-prompt-overview-set-actions .cm-button { font-size: 9px; }
.cm-prompt-overview-set-actions svg { width: 13px; }

.cm-prompt-set-category-assignment {
  padding: 10px 17px;
  display: grid;
  grid-template-columns: minmax(170px, .45fr) minmax(0, 1.55fr);
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #e6e8ee;
  background: #fafafd;
}
.cm-prompt-set-category-assignment > span { color: #757b89; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-set-category-assignment > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.cm-prompt-set-category-assignment em { color: #98701f; font-size: 10px; font-style: normal; }
.cm-prompt-content-category-chip,
.cm-prompt-page-assignment-chip {
  max-width: 100%;
  display: inline-flex;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #d9dbea;
  border-radius: 999px;
  background: #fff;
}
.cm-prompt-content-category-chip > button,
.cm-prompt-page-assignment-chip > button {
  min-width: 0;
  padding: 5px 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  color: #5146bd;
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 9px;
  overflow-wrap: anywhere;
}
.cm-prompt-content-category-chip > button:first-child,
.cm-prompt-page-assignment-chip > button:first-child { flex: 1 1 auto; }
.cm-prompt-content-category-chip > button:last-child,
.cm-prompt-page-assignment-chip > button:last-child { padding-inline: 6px; border-left: 1px solid #e3e4ec; color: #8a8f9c; }
.cm-prompt-content-category-chip svg,
.cm-prompt-page-assignment-chip svg { width: 11px; flex: 0 0 auto; }
.cm-prompt-page-assignment-chip b { padding: 2px 4px; border-radius: 4px; color: #6254d4; background: #eeebff; font-size: 7px; letter-spacing: .03em; text-transform: uppercase; }
.cm-prompt-page-assignment-chip.role-evidence { border-color: #b9dfce; }
.cm-prompt-page-assignment-chip.role-evidence b { color: #18704d; background: #e9f8f0; }
.cm-prompt-page-assignment-chip.role-primary,
.cm-prompt-page-assignment-chip.role-commercial-primary { border-color: #c9c2fa; }
.cm-prompt-page-assignment-chip.role-primary b,
.cm-prompt-page-assignment-chip.role-commercial-primary b { color: #5043c8; background: #ebe8ff; }
.cm-prompt-ref-unresolved { max-width: 100%; padding: 5px 8px; display: inline-flex; align-items: center; gap: 4px; border: 1px solid #ead5a3; border-radius: 999px; color: #966919; background: #fff8e8; font-size: 9px; overflow-wrap: anywhere; }
.cm-prompt-ref-unresolved svg { width: 11px; flex: 0 0 auto; }

.cm-prompt-overview-categories { display: grid; }
.cm-prompt-overview-category { border-bottom: 1px solid #e7e9ef; }
.cm-prompt-overview-category:last-child { border-bottom: 0; }
.cm-prompt-overview-category > summary {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  list-style: none;
  cursor: pointer;
  background: #fff;
}
.cm-prompt-overview-category > summary::-webkit-details-marker { display: none; }
.cm-prompt-overview-category[open] > summary { border-bottom: 1px solid #eceef2; background: #fcfcfe; }
.cm-prompt-overview-category > summary > div:first-child { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-overview-category > summary span { color: #756bd0; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-overview-category > summary strong { color: #292e3d; font-size: 12px; overflow-wrap: anywhere; }
.cm-prompt-overview-category > summary small { color: #757a88; font-size: 9px; line-height: 1.4; }
.cm-prompt-overview-category > summary > div:last-child { flex: 0 0 auto; display: flex; align-items: center; gap: 7px; }
.cm-prompt-overview-category > summary b { padding: 5px 7px; border-radius: 999px; color: #626875; background: #edf0f5; font-size: 9px; white-space: nowrap; }

.cm-prompt-category-pages {
  padding: 9px 16px;
  display: grid;
  grid-template-columns: minmax(155px, .4fr) minmax(0, 1.6fr);
  gap: 8px;
  align-items: center;
  background: #f8f9fc;
  border-bottom: 1px solid #e8eaf0;
}
.cm-prompt-category-pages > span { color: #777c89; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-category-pages > div { min-width: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.cm-prompt-category-pages em { color: #98701f; font-size: 9px; font-style: normal; }

.cm-prompt-overview-prompts { display: grid; }
.cm-prompt-overview-prompt {
  min-width: 0;
  padding: 9px 14px 9px 18px;
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(220px, .9fr) 32px;
  gap: 11px;
  align-items: center;
  border-bottom: 1px solid #eff0f4;
}
.cm-prompt-overview-prompt:last-child { border-bottom: 0; }
.cm-prompt-overview-prompt > div:first-child { min-width: 0; display: grid; gap: 5px; }
.cm-prompt-overview-prompt p { margin: 0; color: #303544; font-size: 10px; line-height: 1.45; overflow-wrap: anywhere; }
.cm-prompt-assignment-mode { width: max-content; max-width: 100%; padding: 3px 6px; border-radius: 5px; color: #5d54a6; background: #efedff; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-assignment-mode.mode-override { color: #a34368; background: #fff0f5; }
.cm-prompt-assignment-mode.mode-extend { color: #266f99; background: #eaf6fd; }
.cm-prompt-effective-pages { min-width: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.cm-prompt-effective-page {
  max-width: 100%;
  padding: 4px 6px;
  display: inline-grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1px 4px;
  align-items: center;
  border: 1px solid #dedfe9;
  border-left: 3px solid #6456d8;
  border-radius: 7px;
  color: #454a59;
  background: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 8px;
  text-align: left;
  overflow-wrap: anywhere;
}
.cm-prompt-effective-page > b { grid-row: 1 / span 2; color: #5e50d2; font-size: 6px; text-transform: uppercase; }
.cm-prompt-effective-page > small { color: #818592; font-size: 7px; }
.cm-prompt-effective-page.source-override,
.cm-prompt-effective-page.source-extend { border-left-color: #ba4b73; background: #fff8fb; }
.cm-prompt-effective-page.role-evidence { border-left-color: #258b62; }
.cm-prompt-effective-pages > em { color: #9a6a1d; font-size: 9px; font-style: normal; }

.cm-prompt-set-header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; }
.cm-prompt-set-header-actions > strong { padding: 6px 9px; border-radius: 999px; color: #5849d5; background: #ece9ff; font-size: 10px; white-space: nowrap; }
.cm-prompt-set-content-category { display: block; margin-top: 7px; color: #747989 !important; font-size: 9px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
.cm-prompt-set-content-category b { color: #5145bd; }
.cm-prompt-category-assignment-copy { margin-top: 3px; color: #676d7d !important; font-size: 9px !important; }
.cm-prompt-page-chips button { max-width: 260px; padding: 4px 7px; display: inline-grid; grid-template-columns: auto minmax(0, 1fr); gap: 1px 4px; align-items: center; border: 1px solid #dcddea; border-left: 3px solid #6557d8; border-radius: 7px; color: #4d5261; background: #fff; cursor: pointer; font: inherit; font-size: 8px; text-align: left; overflow-wrap: anywhere; }
.cm-prompt-page-chips button b { grid-row: 1 / span 2; color: #6254d4; font-size: 6px; text-transform: uppercase; }
.cm-prompt-page-chips button small { color: #858996; font-size: 7px; }
.cm-prompt-page-chips button.role-evidence { border-left-color: #248b61; }
.cm-prompt-page-chips > span { align-self: center; color: #747987; font-size: 8px; }

/* Import dialog — actual markup */
.cm-prompt-import-counts { display: grid; grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr); gap: 9px; align-items: center; }
.cm-prompt-import-counts > div:first-child,
.cm-prompt-import-counts > div:last-child { padding: 12px 14px; display: grid; gap: 2px; border: 1px solid #e0e3ea; border-radius: 11px; background: #fafafd; }
.cm-prompt-import-counts > div:nth-child(2) { display: grid; place-items: center; color: #7165d7; }
.cm-prompt-import-counts svg { width: 17px; }
.cm-prompt-import-counts span { color: #777c89; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cm-prompt-import-counts strong { color: #2e3342; font-size: 17px; }
.cm-prompt-import-counts small { color: #777c89; font-size: 9px; }
.cm-prompt-import-note { padding: 11px 13px; display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 8px; border: 1px solid #d7d1fb; border-radius: 10px; color: #5749cf; background: #f6f4ff; }
.cm-prompt-import-note > svg { width: 15px; margin: 2px auto 0; }
.cm-prompt-import-note > span { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-import-note strong { font-size: 10px; }
.cm-prompt-import-note small { color: #6f6b7e; font-size: 9px; line-height: 1.45; }
.cm-prompt-import-messages p { margin: 6px 0 0; font-size: 10px; line-height: 1.45; }
.cm-prompt-import-messages.success { color: #176a49; border: 1px solid #bfe0cf; background: #edf9f2; }
.cm-prompt-import-unresolved p { margin: 0; padding: 7px 11px; border-top: 1px solid #eceef2; color: #686d7a; font-size: 9px; overflow-wrap: anywhere; }
.cm-prompt-import-modal > footer { justify-content: space-between; align-items: center; }
.cm-prompt-import-modal > footer > span { color: #737887; font-size: 9px; }
.cm-prompt-import-modal > footer > div { display: flex; gap: 7px; }

@media (max-width: 1240px) {
  .cm-prompt-management-bar { grid-template-columns: 1fr; }
  .cm-prompt-management-actions { justify-content: flex-start; }
  .cm-prompt-overview-set > header { grid-template-columns: minmax(0, 1fr) auto; }
  .cm-prompt-overview-set-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .cm-prompt-overview-prompt { grid-template-columns: minmax(180px, 1fr) minmax(180px, .9fr) 32px; }
}

@media (max-width: 900px) {
  .cm-prompt-mapping-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cm-prompt-management-bar { padding: 11px 16px; }
  .cm-prompt-management-actions .cm-button { flex: 1 1 160px; justify-content: center; }
  .cm-prompt-download-menu { flex: 1 1 220px; }
  .cm-prompt-download-menu .cm-button { flex: 1; }
  .cm-prompt-overview-guide { grid-template-columns: 1fr; }
  .cm-prompt-overview-set > header { grid-template-columns: 1fr; align-items: start; }
  .cm-prompt-overview-set-stats,
  .cm-prompt-overview-set-actions { justify-content: flex-start; }
  .cm-prompt-set-category-assignment,
  .cm-prompt-category-pages { grid-template-columns: 1fr; }
  .cm-prompt-overview-category > summary { align-items: flex-start; flex-direction: column; }
  .cm-prompt-overview-category > summary > div:last-child { width: 100%; justify-content: space-between; }
  .cm-prompt-overview-prompt { grid-template-columns: minmax(0, 1fr) 32px; }
  .cm-prompt-effective-pages { grid-column: 1; }
}

@media (max-width: 620px) {
  .cm-prompt-mapping-stats { grid-template-columns: 1fr; }
  .cm-prompt-mapping-legend { display: grid; grid-template-columns: 1fr; }
  .cm-prompt-mapping-legend > span { border-radius: 10px; }
  .cm-prompt-management-actions { display: grid; grid-template-columns: 1fr; }
  .cm-prompt-management-actions .cm-button,
  .cm-prompt-download-menu { width: 100%; }
  .cm-prompt-view-switch { width: 100%; }
  .cm-prompt-view-switch button { flex: 1; justify-content: center; }
  .cm-prompt-overview-set-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .cm-prompt-overview-set-actions .cm-button { width: 100%; justify-content: center; }
  .cm-prompt-overview-prompt { grid-template-columns: minmax(0, 1fr); }
  .cm-prompt-overview-prompt > .cm-icon-button { justify-self: end; }
  .cm-prompt-import-counts { grid-template-columns: 1fr; }
  .cm-prompt-import-counts > div:nth-child(2) { transform: rotate(90deg); }
  .cm-prompt-import-modal > footer { align-items: stretch; flex-direction: column; }
  .cm-prompt-import-modal > footer > div { display: grid; grid-template-columns: 1fr; }
}

/* Scoped single-set upload ------------------------------------------------ */
.cm-prompt-import-target {
  min-width: 0;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #dcd8fb;
  border-radius: 10px;
  color: #574bc9;
  background: #f4f2ff;
}
.cm-prompt-import-target > svg { width: 18px; height: 18px; flex: 0 0 auto; }
.cm-prompt-import-target > span { min-width: 0; display: grid; gap: 2px; }
.cm-prompt-import-target strong { font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.cm-prompt-import-target small { min-width: 0; color: #3d385f; font-size: 11px; font-weight: 750; overflow-wrap: anywhere; }
