/* Scoped CDS authoring and pathway exploration. */
#mg-cds-rules { --cds-line: var(--theme-line, #d9e1ec); color: var(--theme-ink, #172b4d); }
#mg-cds-rules [hidden] { display: none !important; }
#mg-cds-rules button, #mg-cds-rules input, #mg-cds-rules select, #mg-cds-rules textarea { font: inherit; }
#mg-cds-rules button:focus-visible, #mg-cds-rules summary:focus-visible, #mg-cds-rules input:focus-visible, #mg-cds-rules select:focus-visible { outline: 3px solid var(--theme-accent-text, #4f46e5); outline-offset: 3px; }
#mg-cds-rules #cdsRulesModeBar { display: flex; gap: 8px; }
#mg-cds-rules #cdsRulesModeBar > button { width: auto; flex: 1 1 140px; margin: 0; min-height: 42px; font-size: .85rem; }
#mg-cds-rules .crb-wrap { font-size: .9rem; }
#mg-cds-rules .crb-header .crb-sub, #mg-cds-rules .crb-rule-sum, #mg-cds-rules .crb-rule-meta, #mg-cds-rules .crb-tpl-desc, #mg-cds-rules .crb-actions-note { font-size: .8rem; line-height: 1.5; }
#mg-cds-rules .crb-layout { display: grid; grid-template-columns: minmax(190px,240px) minmax(0,1fr); }
#mg-cds-rules .crb-main, #mg-cds-rules .crb-rules-panel { width: auto; min-width: 0; }
#mg-cds-rules .crb-tpl-card { text-align: left; font-family: inherit; width: auto; margin: 0; color: inherit; }
#mg-cds-rules .crb-tpl-desc { display: block; }
#mg-cds-rules .crb-field label { text-transform: none; letter-spacing: 0; font-size: .85rem; font-weight: 650; }
#mg-cds-rules .crb-field .form-control { width: 100%; min-height: 42px; font-size: .9rem; color: var(--theme-ink, #172b4d); background: var(--theme-surface, #fff); }
#mg-cds-rules .crb-field-row { grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); }
#mg-cds-rules .crb-cond-row { flex-wrap: wrap; }
#mg-cds-rules .crb-rule-name { white-space: normal; font-size: .9rem; }
#mg-cds-rules .crb-rule-sum { white-space: normal; }
#mg-cds-rules .crb-actions > button { width: auto; margin: 0; min-height: 42px; }
#mg-cds-rules .crb-preview { background: var(--theme-info-bg, #eaf8fb); color: var(--theme-ink, #172b4d); border-color: var(--cds-line); }
#mg-cds-rules .cds-rule-del { background: transparent; border: 0; width: auto; padding: 2px; font-size: .8rem; }
.cds-explorer { font-size: .9rem; line-height: 1.5; }
.cds-explorer-heading { display: flex; justify-content: space-between; gap: 16px; align-items: start; }
.cds-explorer-heading h5 { font-size: 1.1rem; margin: 0; }
.cds-explorer p { margin: 6px 0 12px; color: var(--theme-muted, #52627b); }
#mg-cds-rules .cds-explorer-heading > button { width: auto; min-width: 0; max-width: 120px; flex: 0 0 auto; padding: 9px 14px; }
.cds-view-switch { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 20px; }
#mg-cds-rules .cds-view-switch button { flex: 1 1 180px; width: auto; padding: 10px; border-radius: 8px; border: 1px solid var(--cds-line); background: var(--theme-surface, #fff); color: inherit; }
#mg-cds-rules .cds-view-switch button[aria-pressed=true] { background: var(--theme-accent-bg, #eef2ff); border-color: var(--theme-accent-text, #4f46e5); color: var(--theme-accent-text, #4338ca); font-weight: 700; }
.cds-evaluation-flow { list-style: none; padding: 0; display: grid; gap: 0; }
.cds-evaluation-flow li { display: flex; gap: 12px; position: relative; padding: 10px 0; }
.cds-evaluation-flow li:not(:last-child)::after { content: ''; position: absolute; left: 15px; top: 44px; bottom: -8px; border-left: 2px solid var(--cds-line); }
.cds-flow-number { background: var(--theme-accent-bg, #eef2ff); color: var(--theme-accent-text, #4338ca); border: 1px solid var(--cds-line); border-radius: 50%; width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; font-weight: 700; }
.cds-evaluation-flow p { margin: 3px 0 0; }
.cds-execution-summary { padding: 16px; border: 1px solid var(--cds-line); border-left: 4px solid #0d9488; border-radius: 10px; background: var(--theme-inset, #f4f8fc); margin: 16px 0; }
.cds-execution-summary > span { display: block; margin-top: 4px; }
.cds-execution-summary p { margin-bottom: 0; font-size: .83rem; }
.cds-explorer-tools { display: grid; grid-template-columns: minmax(0,1fr) minmax(120px,180px); gap: 6px 12px; margin: 24px 0; }
.cds-explorer-tools label { font-weight: 650; margin: 0; }
.cds-explorer-tools label[for=cdsExplorerLayer] { grid-column: 2; grid-row: 1; }
.cds-explorer-tools input, .cds-explorer-tools select { min-width: 0; width: 100%; border: 1px solid var(--cds-line); border-radius: 8px; min-height: 44px; padding: 8px 10px; color: inherit; background: var(--theme-surface, #fff); }
.cds-explorer-tools p { grid-column: 1/-1; margin: 0; font-size: .8rem; }
.cds-explorer-section { margin: 24px 0; }
.cds-explorer-section h6 { font-size: 1rem; display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 6px; }
.cds-explorer-section h6 span { font-weight: 400; color: var(--theme-muted, #52627b); }
.cds-check-group { margin: 12px 0; border: 1px solid var(--cds-line); border-radius: 10px; overflow: hidden; background: var(--theme-inset, #f4f8fc); }
.cds-check-group > summary { padding: 12px; font-weight: 650; }
.cds-check-group > .cds-check { margin: 0 8px 8px; }
.cds-check { border: 1px solid var(--cds-line); border-radius: 8px; background: var(--theme-surface, #fff); margin: 10px 0; }
.cds-check > summary { padding: 12px; font-weight: 600; cursor: pointer; overflow-wrap: anywhere; }
.cds-check > summary > span:last-child { margin-left: 10px; font-size: .78rem; }
.cds-check > p, .cds-check > dl, .cds-check > details { margin: 12px; }
.cds-check dl, .crb-review-detail { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 8px 16px; }
.cds-check dt { font-weight: 650; }
.cds-check dd, .crb-review-detail dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
#mg-cds-rules pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .8rem; padding: 12px; background: var(--theme-inset, #f4f8fc); color: inherit; border-radius: 6px; max-height: 350px; overflow: auto; }
.cds-severity { border: 1px solid var(--cds-line); border-radius: 12px; padding: 2px 8px; text-transform: capitalize; display: inline-block; }
.cds-severity[data-severity=critical], .cds-severity[data-severity=high] { color: var(--theme-danger-text, #b91c1c); background: var(--theme-danger-bg, #fef2f2); }
.cds-node-list { padding: 0 16px 12px 32px; }
.cds-node-list li { padding: 6px 0; }
.cds-node-list summary { cursor: pointer; }
.cds-branch { display: inline-block; padding: 4px 8px; margin: 3px; border: 1px solid var(--cds-line); border-radius: 6px; color: var(--theme-ink, #172b4d); }
@media(max-width:1050px) { #mg-cds-rules .crb-layout { grid-template-columns: minmax(0,1fr); } #mg-cds-rules .crb-rules-list { max-height: 230px; } }
@media(max-width:540px) { .cds-explorer-heading { flex-wrap: wrap; } .cds-explorer-tools { grid-template-columns: minmax(0,1fr); } .cds-explorer-tools label[for=cdsExplorerLayer] { grid-column: 1; grid-row: auto; } .cds-check dl, .crb-review-detail { grid-template-columns: minmax(0,1fr); gap: 4px; } .cds-check dd { margin-bottom: 8px; } }
