.bsm-modal { max-width: 720px !important; }
.bsm-legal { max-width: 900px !important; }
.bsm-hint { font-size: 12px; color: #8a8f99; margin: 0 0 12px; line-height: 1.5; }
.bsm-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.bsm-legal-editor {
  width: 100%; min-height: 280px; padding: 10px; box-sizing: border-box;
  background: #0e1116; color: #f5f3ee; border: 1px solid #2a2e36; border-radius: 8px;
  font-family: 'JetBrains Mono', monospace; font-size: 13px; resize: vertical;
}
.bsm-legal-preview {
  min-height: 280px; padding: 12px; overflow: auto;
  background: #12151a; border: 1px solid #2a2e36; border-radius: 8px;
  font-size: 14px; color: #b8bcc4; line-height: 1.55;
}
.bsm-legal-preview h1, .bsm-legal-preview h2, .bsm-legal-preview h3 { color: #f5f3ee; margin: 12px 0 8px; }
.bsm-checklist { display: flex; flex-direction: column; gap: 4px; margin: 12px 0; }
.bsm-check-row {
  display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 10px 8px;
  border-radius: 8px; cursor: pointer; font-size: 14px; color: #cfd2d8;
}
.bsm-check-row input { width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; }
.bsm-link { color: #d4a853; margin-left: 6px; font-size: 12px; }
.bsm-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; margin-top: 14px; }
.bsm-eyebrow { font-size: 11px; color: #8a8f99; text-transform: uppercase; letter-spacing: 0.05em; }
@media (max-width: 640px) {
  .bsm-split { grid-template-columns: 1fr; }
}
