/* CRO-509 prototype-only rules on the site tokens. The build owner moves them into the product's own CSS. */
.cfp .q { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.cfp .q + .q { margin-top: 14px; }
.cfp .q legend, .cfp .q__label { font-weight: 600; padding: 0; margin-bottom: 4px; }
.cfp .q__opt { display: flex; gap: 10px; align-items: flex-start; min-height: var(--cf-tap-min); padding: 6px 0; cursor: pointer; }
.cfp .q__opt input { margin: 4px 0 0; width: 18px; height: 18px; flex: none; accent-color: var(--cf-color-accent); }
.cfp .q select { font: inherit; min-height: 44px; padding: 8px 10px; border-radius: var(--cf-radius-sm); border: 1px solid var(--cf-color-border); background: var(--cf-color-bg); color: var(--cf-color-text); max-width: 100%; }
.cfp .ar-desc { font-weight: 600; margin: 0; }
.cfp .ar-head { font-size: var(--cf-font-size-lg); font-weight: 700; margin: 0; }
.cfp .errsum a { display: inline-block; min-height: 44px; padding-block: 12px; }
.cfp .dsm-scope { margin: 0; color: var(--cf-color-text-muted); font-size: var(--cf-font-size-sm); overflow-wrap: anywhere; }
.cfp .dsm-ro { font-weight: 600; }
.cfp .dsm-steps { margin: 0; padding-left: 1.4em; display: flex; flex-direction: column; gap: 8px; }
.cfp .dsm-list { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 6px; overflow-wrap: anywhere; }
.cfp .dsm-counts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; }
.cfp .dsm-st { display: inline-flex; gap: 6px; align-items: baseline; font-weight: 600; }
.cfp .dsm-st i { font-style: normal; width: 1.1em; text-align: center; }
.cfp .st-SUPPORTED i::before { content: "\25CF"; } .cfp .st-LIKELY i::before { content: "\25D0"; } .cfp .st-AMBIGUOUS i::before { content: "\205A"; }
.cfp .st-UNKNOWN i::before { content: "?"; } .cfp .st-NOT_CHECKED i::before { content: "\25CB"; } .cfp .st-UNSUPPORTED i::before { content: "\2298"; } .cfp .st-PARTIAL i::before { content: "\25CC"; }
.cfp .dsm-groups { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.cfp .dsm-group { border: 1px solid var(--cf-color-border); border-radius: var(--cf-radius-sm); padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.cfp .dsm-group h3, .cfp .dsm-group p { margin: 0; overflow-wrap: anywhere; }
.cfp .dsm-weeks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: var(--cf-font-size-sm); color: var(--cf-color-text-muted); }
.cfp .dsm-note { margin: 0; color: var(--cf-color-text-muted); font-size: var(--cf-font-size-sm); }
.cfp .cfg { border-bottom: 1px dashed currentColor; font-style: italic; overflow-wrap: anywhere; }
.cfp .dsm-ex { border: 2px dashed var(--cf-color-border); border-radius: var(--cf-radius-sm); padding: 8px 12px; font-weight: 600; margin: 0; }
.cfp .dsm-wrap { container-type: inline-size; }
.cfp .dsm-wide { display: none; width: 100%; border-collapse: collapse; font-size: var(--cf-font-size-sm); }
.cfp .dsm-wide caption { text-align: left; font-weight: 600; padding-bottom: 6px; }
.cfp .dsm-wide th, .cfp .dsm-wide td { text-align: left; vertical-align: top; padding: 6px 8px; border-bottom: 1px solid var(--cf-color-border); overflow-wrap: break-word; hyphens: none; }
.cfp .dsm-cards { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cfp .dsm-cards li { border: 1px solid var(--cf-color-border); border-radius: var(--cf-radius-sm); padding: 8px 12px; }
.cfp .dsm-cards dl { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.cfp .dsm-cards dl div { display: flex; flex-wrap: wrap; gap: 0 8px; }
.cfp .dsm-cards dt { font-weight: 600; min-width: 8rem; }
.cfp .dsm-cards dd { margin: 0; overflow-wrap: anywhere; }
@container (min-width: 44rem) { .cfp .dsm-wide { display: table; } .cfp .dsm-narrow { display: none; } }
.cfp .dsm-dialog { border: 2px solid var(--cf-color-text); border-radius: var(--cf-radius-sm); padding: 16px; background: var(--cf-color-bg); }
@media (prefers-reduced-motion: reduce) { .cfp * { transition: none !important; animation: none !important; } }
.cfp .dsm-scope a, .cfp .dsm-groups a, .cfp .dsm-list a, .cfp .dsm-nav a, .cfp .dsm-support a, .cfp .dsm-counters a, .cfp .dsm-incref { display: inline-block; min-height: 44px; padding-block: 12px; }
.cfp .dsm-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 16px; }
.cfp .dsm-in { font: inherit; min-height: 44px; padding: 8px 10px; border-radius: var(--cf-radius-sm); border: 1px solid var(--cf-color-border); background: var(--cf-color-bg); color: var(--cf-color-text); width: 100%; max-width: 28rem; box-sizing: border-box; }
/* CRO-523 incident pages: the lifecycle counters, focus on form fields (a native date input keeps focus in its own
   sub-fields, so :focus-visible on the element alone isn't enough), the lifecycle chip and the handoff print view. */
.cfp .dsm-counters { display: flex; flex-wrap: wrap; gap: 0 var(--cf-space-4, 16px); list-style: none; padding: 0; margin: 0 0 var(--cf-space-3, 12px); }
.cfp .dsm-in:focus, .cfp .dsm-in:focus-within, .cfp input[type="radio"]:focus { outline: 3px solid var(--cf-color-focus); outline-offset: 2px; }
.cfp .dsm-life { font-weight: 600; }
.cfp .dsm-filters { display: flex; flex-wrap: wrap; gap: var(--cf-space-3, 12px); align-items: flex-end; }
.cfp .dsm-summary div { display: flex; flex-wrap: wrap; gap: 0 8px; }
.cfp .dsm-summary dt { font-weight: 600; }
@media print { .site-header, .site-footer, .breadcrumbs, .dsm-nav, .cfp-test { display: none !important; } .cfp .dsm-handoff { color: #000; background: #fff; } }
.cfp .dsm-summary dd, .cfp .dsm-handoff .dsm-note, .cfp .dsm-handoff li { overflow-wrap: anywhere; min-width: 0; }
.cfp .dsm-summary code { overflow-wrap: anywhere; word-break: break-all; }
