/* Compliance module (modules/73-compliance). Class prefix: cp-. */
.cp-summary { margin: 0 0 10px; font-weight: 600; overflow-wrap: anywhere; }
.cp-note { margin: 6px 0 0; padding: 7px 10px; background: var(--panel-soft, #f5f8fb); border-radius: 8px; white-space: normal; overflow-wrap: anywhere; }
.cp-narrative { margin: 0; line-height: 1.6; overflow-wrap: anywhere; }
.cp-reasons { margin: 10px 0 0; padding-left: 18px; font-size: 12.5px; }
.cp-matches { margin-top: 10px; }
.cp-tl .sub { color: var(--muted); font-size: 11.5px; }
.cp-actions form { margin: 0; }
.cp-actions .ct-btn { width: 100%; justify-content: center; }
.cp-actions .ct-inline { display: flex; gap: 6px; }
.cp-actions .ct-inline .ct-input { flex: 1; min-width: 0; }
.cp-actions .ct-inline .ct-btn { width: auto; }
.cp-bulk { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 10px 12px; border-bottom: 1px solid #e0e7ed; }
.cp-bulk select { max-width: 280px; }
.cp-saved { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cp-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.cp-bad { color: #b3261e; font-weight: 600; }
.cp-scale { margin: 10px 0; }
.cp-results { margin: 10px 0 0; padding-left: 18px; font-size: 12.5px; }
.cp-pad { padding: 10px 12px; }
.cp-doc h1 { font-size: 18px; margin: 0 0 4px; }
.cp-doc table { width: 100%; border-collapse: collapse; }
@media (max-width: 560px) {
    .cp-actions .ct-inline { flex-wrap: wrap; }
    .cp-bulk select { max-width: 100%; flex: 1 1 100%; }
}
