.control-model{margin:22px 0;color:var(--ink)}
.control-model [hidden]{display:none!important}
.control-model button,.control-model summary{font:inherit}
.control-model button{min-height:44px;padding:9px 14px;border:1px solid var(--input);background:var(--card);color:var(--brand-strong);cursor:pointer}
.cm-settings{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-bottom:20px}
.cm-settings label{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:16px;cursor:pointer}
.cm-settings input{width:19px;height:19px;accent-color:var(--brand-strong)}
.cm-edit-context{font-size:14px;color:var(--brand-strong)}
.cm-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--border)}
.cm-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 18px;font-size:17px}
.cm-tabs button[aria-selected=true]{border-bottom-color:var(--brand-strong);color:var(--ink)}
.control-model .cm-guidance{margin:16px 0}
.control-model .cm-guidance p{font-size:16px;line-height:1.6;margin:0 0 12px}
.cm-legend{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:14px;margin-top:14px}
.cm-legend span{display:flex;align-items:center;gap:8px}
.cm-legend i{display:inline-block;width:28px;border-top:1.5px solid var(--graph-line)}
.cm-legend .cm-comparison-key{border-top:1.7px dashed var(--brand-strong)}
.cm-graph-scroll{overflow-x:auto;border-bottom:1px solid var(--border);padding:16px 0;overscroll-behavior-x:contain}
.cm-canvas{display:block;width:100%;min-width:960px;max-width:1250px;height:auto;font-family:Figtree,Arial,sans-serif}
.cm-full-size .cm-screen-panel .cm-canvas{width:1250px;min-width:1250px}
.cm-line{fill:none;stroke:var(--graph-line);stroke-width:1.5}
.cm-comparison{fill:none;stroke:var(--brand-strong);stroke-width:1.7;stroke-dasharray:5 5}
.cm-arrow{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cm-relation-arrow{stroke:var(--graph-line)}
.cm-comparison-arrow{stroke:var(--brand-strong)}
.cm-point{fill:var(--ink)}
.cm-node-title{fill:var(--brand-strong);font-size:19px;font-weight:500}
.cm-node-value{fill:var(--ink);font-size:18px;font-weight:500}
.cm-edge-label{fill:var(--brand-strong);font-size:17px;font-weight:500}
.cm-node-hit{fill:transparent;stroke:transparent;cursor:pointer}
.cm-node-hit:focus{outline:none;stroke:var(--brand-strong);stroke-width:2}
.cm-inline-field textarea{width:100%;height:100%;box-sizing:border-box;padding:9px;font:18px/1.35 Figtree,Arial,sans-serif;color:var(--ink);background:var(--card);border:1px dashed var(--input);resize:none}
.cm-inline-field textarea:focus{outline:2px solid var(--brand-strong);outline-offset:-2px;border-color:transparent}
.cm-inline-field textarea::placeholder{color:var(--muted-foreground);font-size:16px}
.control-model .cm-work-actions,.control-model .cm-notes{margin:18px 0}
.cm-work-actions>summary,.cm-notes>summary{cursor:pointer;color:var(--brand-strong);font-size:16px;width:fit-content;min-height:36px}
.cm-work-actions button{margin:8px 8px 0 0;font-size:16px}
.cm-notes label{display:block;margin-top:12px;font-size:16px}
.cm-notes textarea{width:100%;min-height:110px;padding:12px;background:var(--card);color:var(--ink);border:1px solid var(--input);font:inherit}
.control-model .cm-status{font-size:15px;margin:12px 0}
.cm-status:empty{display:none}
.cm-print-models,.cm-print-notes{display:none}
@media(max-width:600px){.cm-settings{gap:8px 16px}.cm-tabs button{font-size:16px;padding:10px 12px}.cm-graph-scroll{margin-inline:-4px}}
@media print{
 .cm-settings,.cm-tabs,.cm-work-actions,.cm-notes,.cm-status,.cm-screen-panel{display:none!important}
 .cm-print-models{display:block}.cm-print-models>section{break-before:page;break-inside:avoid}
 .cm-print-models .cm-canvas{min-width:0;width:100%}
 .cm-print-notes:not(:empty){display:block;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:20px}
 .cm-node-hit,.cm-inline-field{display:none}
}

.cm-canvas [data-field="design"] .cm-node-title,.cm-canvas [data-field="actual"] .cm-node-title{font-weight:650}

.cm-canvas [data-field="design"] .cm-node-value,.cm-canvas [data-field="actual"] .cm-node-value,.cm-canvas [data-field="design"] textarea,.cm-canvas [data-field="actual"] textarea{font-weight:700}

.cm-crossing-gap{fill:none;stroke:var(--background,#f5f7fa);stroke-width:5;pointer-events:none}

.cm-effect-key{display:flex;flex-wrap:wrap;gap:8px 24px;margin:18px 0;font-size:15px;line-height:1.5}.cm-effect-key strong{font-weight:700}

.cm-edge-label{paint-order:stroke;stroke:var(--background);stroke-width:7px;stroke-linejoin:round}

.cm-assessment-mode .cm-line,.cm-assessment-mode .cm-relation-arrow{opacity:.23}
.cm-assessment-mode .cm-edge-label:not(.cm-assessment-label){opacity:.48}
.cm-assessment-mode .cm-comparison,.cm-assessment-mode .cm-comparison-arrow{stroke-width:2.6}
.cm-assessment-label{font-weight:700}
.cm-assessment-hit{fill:none;stroke:transparent;stroke-width:26;cursor:pointer;pointer-events:stroke}
.cm-assessment-hit:focus{outline:none;stroke:var(--brand-strong);stroke-opacity:.15}
.cm-comparison,.cm-comparison-arrow{pointer-events:none}
.cm-assess-link{font-size:17px;fill:var(--brand-strong);text-decoration:underline;cursor:pointer;font-weight:650}
.cm-assess-link:focus{outline:2px solid var(--brand-strong);outline-offset:4px}
.cm-assessment-editor>div{padding:12px;background:var(--card);border:1px solid var(--brand-strong);border-radius:5px;box-sizing:border-box}
.cm-assessment-editor label{display:block;font:600 16px/1.4 Figtree,Arial,sans-serif;margin-bottom:8px}
.cm-assessment-editor textarea{display:block;width:100%;box-sizing:border-box;resize:none;font:16px/1.4 Figtree,Arial,sans-serif;padding:7px;color:var(--ink);background:var(--card);border:1px solid var(--input)}
.cm-assessment-editor button{margin-top:6px;min-height:32px;padding:3px 12px;font-size:15px}
.cm-canvas [data-field="design"] .cm-node-value,.cm-canvas [data-field="actual"] .cm-node-value,.cm-canvas [data-field="design"] textarea,.cm-canvas [data-field="actual"] textarea{font-weight:500}
.cm-print-assessment{white-space:pre-wrap;overflow-wrap:anywhere}
@media print{.cm-assessment-editor,.cm-assess-link,.cm-assessment-hit{display:none!important}}

.cm-assessment-editor p{font:16px/1.4 Figtree,Arial,sans-serif;margin:0 0 8px}

.cm-assessment-popover>div{background:var(--card);color:var(--ink);border:1px solid var(--brand-strong);border-radius:7px;padding:12px 38px 12px 14px;box-shadow:0 3px 12px #0002;position:relative}
.cm-assessment-popover p{margin:0;font:16px/1.45 Figtree,Arial,sans-serif}
.cm-assessment-popover button{position:absolute;right:3px;top:3px;min-height:30px;padding:1px 9px;border:0;font-size:22px;background:transparent}
.cm-findings-guidance{margin:18px 0;font-size:16px;line-height:1.5}
.cm-findings-guidance p{margin:0 0 8px}
@media print{.cm-assessment-popover{display:none!important}}
