  /* ============================== A4: COMMENTS + VERSION HISTORY ==============================
     Popover/thread/composer shared by the canvas popover, the toolbar jump list and the
     Edit Survey margin column (spec §2/§3/§4) — plus the History modal's snapshot list
     (spec §5). z 158: above the sidebar (155), below the gallery/respondent/modals/toast. */

  .cmt-pop{position:fixed; z-index:158; width:320px; background:var(--surface-default); border:1px solid var(--border-strong); border-radius:var(--r-card); box-shadow:var(--shadow-2); overflow:hidden;}
  .cmt-pop.cmt-index{width:340px; max-height:420px; display:flex; flex-direction:column;}

  .cmt-pop-hd{height:40px; padding:0 8px 0 14px; border-bottom:1px solid var(--border-default); display:flex; align-items:center; gap:0; flex-shrink:0;}
  .cmt-pop-title{font-size:13px; font-weight:600; color:var(--text-primary);}
  .cmt-pop-count{font-size:12px; color:var(--text-muted); margin-left:6px;}
  .cmt-pop-x{width:28px; height:28px; border:none; background:transparent; color:var(--text-muted); border-radius:var(--r-control); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;}
  .cmt-pop-x:hover{background:var(--surface-subtle); color:var(--text-primary);}

  .cmt-pop-body{max-height:320px; overflow-y:auto; padding:12px 14px; display:flex; flex-direction:column; gap:14px;}
  .cmt-index .cmt-idx-body{overflow-y:auto; flex:1;}

  .cmt-row{display:grid; grid-template-columns:24px 1fr; gap:10px;}
  .cmt-row-l1{display:flex; align-items:baseline;}
  .cmt-author{font-size:12.5px; font-weight:600; color:var(--text-primary);}
  .cmt-time{font-size:11.5px; color:var(--text-muted); margin-left:8px;}
  .cmt-body{font-size:13px; line-height:1.5; color:var(--text-primary); white-space:pre-wrap; word-break:break-word; margin-top:3px;}
  .cmt-row-actions{margin-top:5px; display:flex; gap:12px; font-size:11.5px; color:var(--text-muted); opacity:0; transition:opacity var(--dur-2) var(--ease-step);}
  .cmt-row:hover .cmt-row-actions, .cmt-row:focus-within .cmt-row-actions{opacity:1;}
  .cmt-link-btn{background:none; border:none; padding:0; font:inherit; font-size:inherit; color:var(--text-muted); cursor:pointer;}
  .cmt-link-btn:hover{color:var(--text-primary);}
  .cmt-del-btn:hover{color:var(--error-fg);}
  .cmt-row-resolved{opacity:.6;}
  .cmt-row-resolved .cmt-body{color:var(--text-muted);}
  .cmt-resolved-foot{font-size:11.5px; color:var(--text-muted); margin-top:5px;}
  .cmt-resolved-foot .cmt-link-btn{color:var(--brand-700);}
  .cmt-resolved-toggle{display:flex; align-items:center; justify-content:flex-start; gap:4px; background:none; border:none; padding-top:10px; margin-top:0; border-top:1px solid var(--border-default); font-size:11.5px; color:var(--text-muted); cursor:pointer; width:100%; text-align:left;}
  .cmt-resolved-group{display:flex; flex-direction:column; gap:14px;}
  .cmt-resolved-group .cmt-resolved-toggle{padding-bottom:0;}

  .cmt-empty{padding:4px 0;}
  .cmt-empty-title{font-size:12.5px; color:var(--text-secondary);}
  .cmt-empty-sub{font-size:11.5px; color:var(--text-muted); margin-top:4px;}

  .cmt-show-all{display:flex; justify-content:flex-start; background:none; border:none; padding:0; font-size:11.5px; color:var(--brand-700); cursor:pointer; text-align:left;}
  .cmt-show-all:hover{text-decoration:underline;}

  .cmt-composer{border-top:1px solid var(--border-default); padding:10px 14px 12px; flex-shrink:0;}
  .cmt-composer textarea{min-height:60px; resize:vertical; font:inherit; font-size:13px; line-height:1.5; padding:8px 10px; border:1px solid var(--border-control); border-radius:var(--r-control); background:var(--surface-default); color:var(--text-primary); width:100%;}
  .cmt-composer textarea:focus{background:var(--surface-default); border-color:var(--brand-600); outline:2px solid var(--brand-600); outline-offset:1px;}
  .cmt-composer-row{margin-top:8px; display:flex; align-items:center; gap:8px;}
  .cmt-composer-hint{font-size:11.5px; color:var(--text-muted);}
  .cmt-post-btn{font-size:12.5px; padding:6px 14px;}
  .cmt-post-btn:disabled{opacity:.45; cursor:default;}
  .cmt-composer-collapsed{padding:8px 14px 10px;}
  .cmt-collapsed-input{width:100%; height:32px; padding:0 10px; border:1px solid var(--border-control); border-radius:var(--r-control); background:var(--surface-default); color:var(--text-muted); font:inherit; font-size:12.5px; cursor:text;}
  .cmt-thread-doc .cmt-pop-hd{display:none;} /* the doc-context card supplies its own kind/summary header instead */
  .cmt-thread-doc .cmt-pop-body{padding:0; max-height:none;}
  .cmt-thread-doc .cmt-composer{border-top:none; padding:10px 0 0;}
  .cmt-thread-doc .cmt-composer-collapsed{padding:8px 0 0;}

  /* ---- Toolbar jump list rows ---- */
  .cmt-idx-row{padding:10px 14px; border-top:1px solid var(--border-default); cursor:pointer;}
  .cmt-idx-row:first-child{border-top:none;}
  .cmt-idx-row:hover{background:var(--surface-subtle);}
  .cmt-idx-l1{display:flex; align-items:center; gap:7px;}
  .cmt-idx-kind{font-size:11px; line-height:13px; font-weight:600; font-stretch:var(--stretch-label); text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted); flex-shrink:0;}
  .cmt-idx-label{font-size:12.5px; font-weight:600; color:var(--text-primary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1;}
  .cmt-idx-pill{font-size:11px; font-weight:700; color:var(--brand-700); background:var(--brand-50); border-radius:var(--r-chip); padding:2px 7px; flex-shrink:0;}
  .cmt-idx-l2{font-size:12px; color:var(--text-secondary); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:2px;}
  .cmt-idx-l3{font-size:11.5px; color:var(--text-muted); margin-top:2px;}

  /* ============================== A4: VERSION HISTORY MODAL ============================== */
  .hist-nested-note{font-size:12px; color:var(--warning-fg); margin:-8px 0 14px;}
  .hist-action-row{display:flex; align-items:center; gap:10px; margin-bottom:6px;}
  #saveSnapshotBtn:disabled{opacity:.45; cursor:default;}
  .hist-count{font-size:11.5px; color:var(--text-muted);}
  .hist-count.warn{color:var(--warning-fg);}
  /* durable-history §1.4–1.6 — loading, load failure, and the one action status line */
  .hist-msg{font-size:12px; line-height:1.5; display:flex; gap:6px; align-items:flex-start;}
  .hist-msg:not(:empty){margin:2px 0 10px;}
  .hist-msg .nf-i{flex:none; margin-top:2px;}
  .hist-msg-progress{color:var(--text-muted);}
  .hist-msg-error{color:var(--error-fg);}
  .hist-msg-limit{color:var(--warning-fg);}
  .hist-loading{font-size:12.5px; color:var(--text-muted); padding:12px 0;}
  .hist-load-err, .ol-load-err{display:flex; gap:10px; padding:14px 0;}
  .hist-load-err > .nf-i, .ol-load-err > .nf-i{color:var(--error-fg); flex:none; margin-top:1px;}
  .hist-err-hd{font-size:13px; font-weight:600; color:var(--text-primary);}
  .hist-err-body{font-size:12.5px; line-height:1.5; color:var(--text-secondary); margin-top:2px;}
  button.hist-err-btn{font-size:12.5px; padding:5px 12px; margin-top:8px;}
  .ver-row.is-busy{opacity:.55; pointer-events:none;}
  .ver-restore:disabled{opacity:.45; cursor:default;}
  #historyList{max-height:52vh; overflow-y:auto;}
  #historyList .empty{font-size:13px; line-height:1.5; color:var(--text-secondary); padding:12px 0 4px;}
  .ver-row{display:flex; align-items:flex-start; gap:12px; padding:12px 10px; margin:0 -10px; border-top:1px solid var(--border-default); border-radius:var(--r-control);}
  .ver-row:first-child{border-top:none;}
  .ver-row:hover{background:var(--surface-subtle);}
  .ver-main{flex:1; min-width:0;}
  .ver-name-row{display:flex; align-items:center; gap:8px;}
  .ver-name-input{field-sizing:content; min-width:8ch; max-width:100%;} /* size= stays the fallback */
  .ver-name-input + .ver-auto-chip{margin-left:-8px;} /* the input's own padding already spaces it: text end to chip ~8px */
  .ver-name-input{border:1px solid transparent; background:transparent; border-radius:var(--r-control); padding:3px 6px; margin:-3px 0 -3px -6px; width:auto; flex:0 1 auto; min-width:120px; max-width:100%; font:inherit;}
  .ver-name-input.named{font-size:13.5px; font-weight:600; color:var(--text-primary);}
  .ver-name-input.auto{font-size:13px; font-weight:400; color:var(--text-secondary);}
  .ver-name-input:hover, .ver-name-input:focus{border-color:var(--border-default); background:var(--surface-default); outline:none;}
  .ver-auto-chip{font-size:11px; font-weight:600; padding:2px 7px; border-radius:var(--r-chip); background:var(--surface-sunken); color:var(--text-muted); flex-shrink:0;}
  .ver-meta{font-size:12px; color:var(--text-muted); margin-top:3px;}
  .ver-actions{margin-left:auto; display:flex; align-items:center; gap:6px; flex-shrink:0;}
  .ver-actions .good{font-size:12px; padding:5px 12px;}
  .ver-actions .good:disabled{opacity:.45; cursor:default;}
  .ver-del-btn{width:28px; height:28px; border:none; background:transparent; color:var(--text-muted); border-radius:var(--r-control); display:flex; align-items:center; justify-content:center; cursor:pointer;}
  .ver-del-btn:hover{color:var(--error-fg); background:var(--error-bg);}
