  .rv-bar{position:fixed; bottom:16px; right:16px; z-index:1000; display:flex; align-items:center; gap:4px;
          background:var(--bfs-dark,#1c2230); color:#fff; border-radius:999px; padding:4px;
          box-shadow:0 12px 34px rgba(0,0,0,.3); font-size:.75rem; font-family:inherit}
  .rv-bar button{appearance:none; border:none; cursor:pointer; font-family:inherit; font-size:.75rem; font-weight:600;
          color:#fff; background:transparent; border-radius:999px; padding:6px 14px; transition:background-color .15s ease}
  .rv-bar button:hover{background:rgba(255,255,255,.14)}
  .rv-bar button.on{background:var(--bfs-blue,#2563eb)}
  .rv-bar button.on.rv-edit-btn{background:var(--bfs-red,#d23c3c)}
  .rv-bar .rv-count{background:var(--bfs-blue,#2563eb); border-radius:999px; padding:1px 8px; font-weight:700; margin-left:2px}
  .rv-bar .rv-hint{color:var(--bfs-silver,#b6b8ba); padding:0 10px; font-weight:500}
  .rv-hover-target{outline:2px dashed var(--bfs-blue,#2563eb) !important; outline-offset:2px; cursor:crosshair !important}
  body.rv-noting, body.rv-noting *{cursor:crosshair !important}
  body.rv-editing{outline:3px solid var(--bfs-red,#d23c3c); outline-offset:-3px}
  .rv-pin{position:absolute; z-index:999; width:22px; height:22px; border-radius:999px;
          background:var(--bfs-blue,#2563eb); color:#fff; font:700 12px/22px inherit; font-family:inherit;
          text-align:center; box-shadow:0 4px 12px rgba(0,0,0,.25); cursor:pointer; border:2px solid #fff}
  .rv-pop{position:fixed; z-index:1001; width:min(340px, calc(100vw - 32px)); background:#fff; color:#222;
          border:1px solid #d8dde3; border-radius:10px; box-shadow:0 16px 44px rgba(0,0,0,.28); padding:12px}
  .rv-pop .rv-where{font-size:.7rem; color:#68707c; font-family:ui-monospace,monospace; margin-bottom:8px; word-break:break-all}
  .rv-pop textarea{width:100%; box-sizing:border-box; font-family:inherit; font-size:.85rem; color:#222;
          background:#fff; border:1px solid #c4ccd4; border-radius:6px; padding:8px 10px; min-height:64px; resize:vertical}
  .rv-pop textarea:focus-visible{outline:2px solid var(--bfs-blue,#2563eb); outline-offset:1px}
  .rv-pop .rv-acts{display:flex; justify-content:flex-end; gap:8px; margin-top:8px}
  .rv-pop .rv-acts button{appearance:none; cursor:pointer; font-family:inherit; font-size:.72rem; font-weight:600;
          border-radius:999px; padding:5px 14px; border:1.5px solid transparent}
  .rv-pop .rv-save{background:var(--bfs-blue,#2563eb); color:#fff; border:none}
  .rv-pop .rv-cancel{background:transparent; color:var(--bfs-blue,#2563eb); border-color:var(--bfs-blue,#2563eb)}
  .rv-pop .rv-del{background:transparent; color:var(--bfs-red,#d23c3c); border-color:var(--bfs-red,#d23c3c); margin-right:auto}
  .rv-toast{position:fixed; bottom:72px; right:16px; z-index:1002; background:var(--bfs-dark,#1c2230); color:#fff;
          font-size:.75rem; padding:8px 16px; border-radius:10px; box-shadow:0 12px 34px rgba(0,0,0,.3)}
  @media print{.rv-bar,.rv-pin,.rv-pop,.rv-toast{display:none}}
