.cm-workspace{max-width:1040px}.cm-toolbar,.cm-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}.cm-filters{border-bottom:1px solid #d9e0ea;padding-bottom:18px}.cm-filters button[aria-pressed=true]{background:#152b4a;color:white;border-color:#152b4a}.cm-link{border:0;background:none;color:#235a85;text-decoration:underline;cursor:pointer;font:inherit;padding:4px 0;text-align:left}.cm-home-note{font-size:.94rem;padding-top:8px;padding-bottom:8px}.cm-muted,.cm-meta{color:#526276;font-size:.92rem}.cm-row{padding:24px 0;border-bottom:1px solid #d9e0ea}.cm-row h3{margin:8px 0;font-size:1.25rem}.cm-row p{margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.cm-row a{color:#235a85;text-decoration:underline;overflow-wrap:anywhere}.cm-badge{display:inline-block;border-radius:4px;background:#edf2f7;padding:4px 8px;font-size:.8rem;margin-right:8px;color:#152b4a}.cm-note{background:#f3f6f9;padding:20px;border-radius:8px;margin:32px 0;color:#526276;line-height:1.6}.cm-empty{padding:40px 16px;text-align:center;background:#f7f9fb;border-radius:8px}.cm-management{border-top:1px solid #d9e0ea;padding:22px 0}.cm-management summary{font-weight:600;cursor:pointer}.cm-dialog{border:0;border-radius:12px;padding:28px;width:min(760px,94vw);max-height:90vh;overflow:auto;color:#152b4a}.cm-dialog::backdrop{background:rgba(10,24,44,.5)}.cm-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.cm-dialog-head h2{margin:0}.cm-form{display:grid;gap:16px;margin:20px 0}.cm-form label{display:grid;gap:6px;font-weight:500}.cm-form input:not([type=checkbox]),.cm-form textarea,.cm-form select,.cm-toolbar select{width:100%;box-sizing:border-box;border:1px solid #acb9c9;border-radius:6px;padding:10px;font:inherit;background:white;color:#152b4a}.cm-form textarea{min-height:130px}.cm-form label.cm-check{display:flex;align-items:flex-start;font-weight:400}.cm-check input{margin-top:5px;flex-shrink:0}.cm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cm-error{color:#a11c2d}.cm-dialog [role=status]{white-space:pre-wrap}.cm-preview{border:1px solid #c9d4e2;border-radius:8px;padding:16px;margin-top:16px}.cm-category{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #d9e0ea;padding:14px 0}.cm-history{font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere}.cm-dialog button:disabled{opacity:.55;cursor:wait}@media(max-width:600px){.cm-grid{grid-template-columns:1fr}.cm-dialog{padding:18px}.cm-toolbar{align-items:stretch}.cm-row{padding:18px 0}.cm-category{align-items:flex-start}.cm-home-note{padding:16px}}


/* 2.1.3: keep Community controls inside the dialog. Text-field styles must
   never make a checkbox occupy 100% of a row. Other portal forms are unchanged. */
.cm-dialog {
  box-sizing: border-box;
  width: min(760px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}
.cm-dialog-head { align-items: flex-start; }
.cm-dialog-head h2 { min-width: 0; overflow-wrap: anywhere; }
.cm-dialog-head button { flex: 0 0 auto; }
#cm-dialog-body, .cm-form, .cm-form > *, .cm-preview {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.cm-form { grid-template-columns: minmax(0, 1fr); }
.cm-dialog p, .cm-dialog summary { overflow-wrap: anywhere; }
.cm-form input:not([type=checkbox]), .cm-form textarea, .cm-form select {
  min-width: 0;
  max-width: 100%;
}
.cm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cm-check-section {
  grid-column: 1 / -1;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.cm-check-section legend {
  max-width: 100%;
  padding: 0;
  margin-bottom: 8px;
  font-size: .94rem;
  font-weight: 650;
  overflow-wrap: anywhere;
}
.cm-dialog label.cm-check {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  grid-column: 1 / -1;
  align-items: start;
  gap: 12px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  margin: 0;
  padding: 12px;
  border: 1px solid #d6e0eb;
  border-radius: 8px;
  background: #f7f9fc;
  font-weight: 400;
  line-height: 1.55;
  cursor: pointer;
}
.cm-dialog label.cm-check input[type=checkbox] {
  box-sizing: border-box;
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  height: 24px;
  min-height: 24px;
  margin: 1px 0 0;
  padding: 0;
  justify-self: start;
  align-self: start;
  accent-color: #17385f;
  cursor: pointer;
}
.cm-dialog label.cm-check > span {
  min-width: 0;
  max-width: 100%;
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}
.cm-dialog label.cm-check:hover { border-color: #98adc4; }
.cm-dialog label.cm-check:focus-within {
  outline: 2px solid #235a85;
  outline-offset: 2px;
}
.cm-dialog .cm-preview .cm-check-section { margin-top: 18px; }
.cm-dialog .cm-toolbar { min-width: 0; max-width: 100%; }
.cm-dialog .cm-toolbar .button {
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
}
.cm-dialog .cm-actions { gap: 10px; margin: 8px 0 0; align-items: stretch; }
.cm-action-help { margin: 0; }
.cm-dialog .cm-decline { color: #8b2635; border-color: #bfacb1; }
.cm-dialog #cm-dialog-status:empty { margin: 0; }
@media (max-width: 600px) {
  .cm-grid { grid-template-columns: minmax(0, 1fr); }
  .cm-dialog { padding: 18px; }
  .cm-dialog .cm-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .cm-dialog .cm-actions .button { width: 100%; }
}
