
    /* Full-bleed: de editor benut de volle breedte i.p.v. de smalle kolom. */
    body.pt-fullbleed .pt-shell{ max-width:none; padding:0 18px; }
    body.pt-fullbleed .pt-card{ padding:1.1rem 1.2rem; }
    @media (min-width:761px){ body.pt-fullbleed .pt-card{ padding:0.9rem 1.2rem 0.4rem; } }   /* minder bodempadding: statusbalk dichter tegen de onderkant */
    /* App-layout: de editor vult het venster als flex-kolom -> ALLEEN de PDF-stage scrollt
       (geen dubbele scrollbar: pagina-scroll uit, één scroll binnen de stage). Alleen desktop. */
    @media (min-width:761px){
      body.pt-fullbleed{ overflow:hidden; }
      body.pt-fullbleed .pt-shell{ height:100vh; display:flex; flex-direction:column; min-height:0; }
      body.pt-fullbleed .pt-sub{ display:none; }   /* lange uitleg weg in de app-layout -> meer ruimte voor de editor */
      body.pt-fullbleed .pt-top{ margin-bottom:.5rem; }
      body.pt-fullbleed .pt-card{ flex:1; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
      body.pt-fullbleed #edWork:not(.pt-hidden){ flex:1; min-height:0; display:flex; flex-direction:column; }
      /* stretch (niet flex-start) + overflow-clip: zo vult de stage-kolom exact de
         beschikbare hoogte en scrollt de PDF binnen #edStageWrap i.p.v. onder #edMain
         door over de statusbalk te lopen (bij grote/landschap-pagina's). */
      body.pt-fullbleed #edMain{ flex:1; min-height:0; align-items:stretch; overflow:hidden; }
      body.pt-fullbleed #edMain > div[style*="flex:1"]{ display:flex; flex-direction:column; min-height:0; }
      body.pt-fullbleed #edStageWrap{ flex:1; max-height:none; min-height:0; }
      body.pt-fullbleed #edSidebar, body.pt-fullbleed #edInspect, body.pt-fullbleed #edComments, body.pt-fullbleed #edBookmarks{ max-height:none; }
      body.pt-fullbleed #edMain > div[style*="flex:1"] > .pt-note{ flex:none; }
    }
    /* Volledig scherm (Fullscreen API): #edWork vult het scherm. */
    #edWork:fullscreen{ background:#f1f5f9; overflow:auto; padding:16px 20px; }
    #edWork:-webkit-full-screen{ background:#f1f5f9; overflow:auto; padding:16px 20px; }
    #edWork:fullscreen #edSidebar, #edWork:fullscreen #edComments, #edWork:fullscreen #edBookmarks{ max-height:calc(100vh - 190px); }
    #edWork:fullscreen #edStageWrap{ max-height:calc(100vh - 150px); }
    /* Rechtermuisknop-menu op de miniaturenbalk. */
    #edCtx{ position:fixed; z-index:9000; min-width:210px; background:#fff; border:1px solid #e2e6ec; border-radius:11px; box-shadow:0 20px 48px -16px rgba(15,23,42,.4); padding:5px; display:none; }
    #edCtx.open{ display:block; }
    #edCtx button{ display:flex; align-items:center; gap:9px; width:100%; text-align:left; border:none; background:transparent; color:#1f2937; font:inherit; font-size:.85rem; padding:8px 11px; border-radius:7px; cursor:pointer; }
    #edCtx button:hover{ background:#f1f5f9; }
    #edCtx button.danger{ color:#b91c1c; }
    #edCtx button.danger:hover{ background:#fef2f2; }
    #edCtx .ed-ctx-sep{ height:1px; background:#eef2f7; margin:4px 6px; }
    #edCtx .ed-ctx-hd{ font-size:.72rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:#94a3b8; padding:5px 11px 3px; }
    /* Handtekening-venster */
    #edSigModal{ position:fixed; inset:0; z-index:9500; background:rgba(15,23,42,.5); display:flex; align-items:center; justify-content:center; padding:16px; }
    #edSigModal.pt-hidden{ display:none !important; }
    .ed-sig-box{ background:#fff; border-radius:14px; box-shadow:0 30px 70px -20px rgba(15,23,42,.55); width:560px; max-width:100%; padding:16px 18px; }
    .ed-sig-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
    .ed-sig-x{ border:none; background:transparent; font-size:22px; line-height:1; color:#64748b; cursor:pointer; padding:0 4px; }
    .ed-sig-tabs{ display:inline-flex; background:#eef2f7; border-radius:9px; padding:3px; gap:2px; margin-bottom:12px; }
    .ed-sig-tabs button{ border:none; background:transparent; padding:6px 14px; border-radius:7px; font:inherit; font-size:.85rem; font-weight:600; color:#475569; cursor:pointer; }
    .ed-sig-tabs button.active{ background:#fff; color:#1e5a9e; box-shadow:0 2px 6px -3px rgba(15,23,42,.3); }
    #edSigPad{ width:100%; height:auto; aspect-ratio:520/180; border:1px dashed #cbd5e1; border-radius:10px; background:#fff; touch-action:none; cursor:crosshair; display:block; }
    .ed-sig-row{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:8px; }
    .ed-sig-prev{ min-height:70px; display:flex; align-items:center; padding:6px 10px; margin-top:8px; border:1px solid #eef2f7; border-radius:10px; background:#f8fafc; font-family:'Fraunces',cursive,serif; font-style:italic; font-size:2.2rem; color:#0b2a4a; overflow:hidden; }
    .ed-sig-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:14px; }
    /* ---- Ribbon-layout (PDF-XChange-achtig): gegroepeerde tool-secties ---- */
    #edToolbar{ display:flex; align-items:stretch; gap:0; margin-bottom:8px; padding:6px 4px; background:#fff; border:1px solid #e5e9f0; border-radius:10px; overflow-x:auto; }
    #edToolbar .ed-grp{ display:flex; flex-direction:column; align-items:center; padding:0 9px; position:relative; }
    #edToolbar .ed-grp + .ed-grp::before{ content:""; position:absolute; left:0; top:5px; bottom:17px; width:1px; background:#eef2f7; }
    #edToolbar .ed-grp-tools{ display:flex; gap:2px; align-items:flex-start; }
    #edToolbar .ed-grp-lbl{ margin-top:4px; font-size:9.5px; letter-spacing:.04em; text-transform:uppercase; color:#94a3b8; font-weight:700; white-space:nowrap; }
    #edToolbar .ed-tool, #edToolbar .ed-rbtn{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:3px; width:54px; padding:6px 2px 5px; border:1px solid transparent; border-radius:8px; background:transparent; color:#475569; font:inherit; font-size:10px; font-weight:600; line-height:1.12; cursor:pointer; text-align:center; }
    #edToolbar .ed-tool svg, #edToolbar .ed-rbtn svg{ width:19px; height:19px; flex-shrink:0; }
    #edToolbar .ed-tool:hover, #edToolbar .ed-rbtn:hover:not(:disabled){ background:#f5f7fb; border-color:#e5e9f0; color:#1f2937; }
    #edToolbar .ed-tool.active{ background:#e8f0fc; border-color:#bcd3ee; color:#1e5a9e; }
    #edToolbar .ed-tool.danger.active{ background:#fdecec; border-color:#f2b8b8; color:#dc2626; }
    #edToolbar .ed-rbtn:disabled{ opacity:.45; cursor:default; }
    #edToolbar .ed-rsel{ align-self:center; padding:4px 5px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; font-size:.72rem; background:#fff; color:#334155; cursor:pointer; }
    #edToolbar .ed-rchk{ align-self:center; display:inline-flex; gap:4px; align-items:center; font-size:.72rem; color:#475569; cursor:pointer; white-space:nowrap; }
    #edFindBar{ position:fixed; top:74px; right:26px; z-index:40; display:flex; align-items:center; gap:7px; background:#fff; border:1px solid #d7deea; border-radius:10px; padding:6px 9px; box-shadow:0 12px 34px -12px rgba(15,23,42,.4); color:#334155; }
    #edFindBar.pt-hidden{ display:none; }
    #edFindInput{ width:190px; max-width:44vw; padding:4px 8px; border:1px solid #cbd5e1; border-radius:7px; font:inherit; font-size:.85rem; }
    #edFindInput:focus{ outline:none; border-color:#1e5a9e; }
    #edFindCount{ font-size:.74rem; color:#64748b; font-variant-numeric:tabular-nums; min-width:44px; text-align:center; }
    .ed-find-hi{ position:absolute; background:rgba(245,158,11,.38); outline:2px solid #f59e0b; border-radius:2px; pointer-events:none; z-index:6; }
    #edRestoreBar{ position:fixed; top:74px; left:50%; transform:translateX(-50%); z-index:41; display:flex; align-items:center; gap:9px; background:#fff; border:1px solid #d7deea; border-radius:10px; padding:8px 12px; box-shadow:0 12px 34px -12px rgba(15,23,42,.4); color:#334155; font-size:.85rem; max-width:92vw; }
    #edRestoreBar.pt-hidden{ display:none; }
    #edRestoreBar svg{ color:#1e5a9e; flex-shrink:0; }
    .ed-sc-h{ font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#94a3b8; margin:0 0 6px; }
    .ed-sc{ display:flex; align-items:baseline; gap:8px; font-size:.82rem; color:#475569; padding:2px 0; }
    .ed-sc span{ flex:1; }
    .ed-sc kbd{ display:inline-block; min-width:16px; text-align:center; font-family:'JetBrains Mono',monospace; font-size:.72rem; background:#f5f7fb; border:1px solid #cbd5e1; border-bottom-width:2px; border-radius:5px; padding:1px 5px; color:#334155; }
    #edProps{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; margin-bottom:9px; padding:7px 12px; background:#f8fafc; border:1px solid #eef2f7; border-radius:9px; font-size:.8rem; color:#475569; }
    #edProps label{ display:inline-flex; gap:6px; align-items:center; }
    #edProps input[type=color]{ width:34px; height:26px; padding:1px; border:1px solid #cbd5e1; border-radius:6px; }
    /* statusbalk onderaan */
    #edStatusbar{ display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:5px; padding:3px 8px; background:#fff; border:1px solid #e5e9f0; border-radius:9px; font-size:.76rem; color:#475569; }
    #edStatusbar .ed-sgrp{ display:inline-flex; align-items:center; gap:4px; }
    #edStatusbar .pt-btn{ padding:3px 9px; font-size:.75rem; border-radius:6px; }
    #edStatusbar .pt-btn.primary{ padding:4px 13px; }
    #edStatusbar .pt-note{ font-size:.74rem; }
    #edStatusbar .ed-sgrp.right{ margin-left:auto; }
    #edStatusbar #edZoomLbl, #edStatusbar #edPageLbl{ font-variant-numeric:tabular-nums; min-width:52px; text-align:center; }
    /* GEEN max-width hier: de stage moet exact om het canvas passen zodat de
       annotatielaag (#edLayer, inset op de stage) altijd 1:1 met het canvas
       schaalt. Bij max-width:100% klemde de stage terwijl het canvas (max-width:none)
       doorgroeide -> laag < canvas -> annotaties driften bij inzoomen. Horizontaal
       scrollen van een grote pagina regelt #edStageWrap (overflow:auto). */
    #edStage{ position:relative; display:inline-block; flex:0 0 auto; line-height:0; box-shadow:0 6px 24px -16px rgba(15,23,42,.5); border-radius:6px; }
    /* Hoofdweergave: pagina horizontaal gecentreerd; 'safe center' laat links niet
       wegvallen als de pagina breder is dan het venster (dan gewoon scrollen). */
    #edStageWrap{ max-width:100%; max-height:72vh; overflow:auto; padding:4px; background:#eef1f6; border-radius:8px; display:flex; justify-content:safe center; }
    #edCanvas{ max-width:none; display:block; border:1px solid #e5e9f0; border-radius:6px; background:#fff; }
    /* 1px inset = exact over het TEKENvlak van het canvas (dat een 1px rand heeft),
       zodat annotatie-fracties pixel-nauwkeurig op de PDF blijven bij elke zoom. */
    #edLayer{ position:absolute; left:1px; top:1px; right:1px; bottom:1px; cursor:crosshair; touch-action:none; }
    #edLayer.sel{ cursor:default; touch-action:pan-x pan-y; }
    #edVec{ position:absolute; left:0; top:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
    #edStage.ed-cont{ display:flex; flex-direction:column; align-items:center; gap:16px; padding:10px 0; line-height:normal; box-shadow:none; background:transparent; }
    #edStage.ed-cont .ed-slot{ position:relative; }
    #edStage.ed-cont .ed-slot.cur{ outline:2px solid #1e5a9e; outline-offset:3px; border-radius:6px; }
    #edStage.ed-cont .ed-prev{ display:block; border:1px solid #e5e9f0; border-radius:6px; background:#fff; box-shadow:0 5px 18px -12px rgba(15,23,42,.5); cursor:pointer; }
    #edStage.ed-cont .ed-prev:hover{ outline:2px solid #bcd3ee; outline-offset:2px; }
    #edVec .ed-hit{ pointer-events:stroke; stroke:transparent; fill:none; cursor:move; }
    .ed-el{ position:absolute; box-sizing:border-box; }
    .ed-el.ed-text{ font-weight:600; white-space:pre-wrap; padding:0 2px; cursor:move; min-width:10px; line-height:1.12; }
    .ed-el.ed-rect{ cursor:move; }
    .ed-el.ed-ellipse{ cursor:move; border-radius:50%; }
    .ed-el.ed-highlight{ cursor:move; }
    /* Redact in de EDITOR doorzichtig (rood gearceerd) zodat je de tekst eronder
       kunt controleren; bij Downloaden wordt 'ie pas echt zwart (rasterisatie). */
    .ed-el.ed-redact{ cursor:move; box-sizing:border-box; border:1.5px solid #dc2626;
      background:repeating-linear-gradient(45deg, rgba(220,38,38,.14), rgba(220,38,38,.14) 6px, rgba(220,38,38,.30) 6px, rgba(220,38,38,.30) 12px); }
    .ed-el.ed-redact.ed-auto{ border-style:dashed; }
    .ed-el.ed-redact::after{ content:"redact"; position:absolute; top:0; left:2px; font-size:8px; line-height:1.4;
      font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#b91c1c; pointer-events:none; white-space:nowrap; }
    .ed-el.ed-redact.ed-auto[data-pii]::after{ content:attr(data-pii); }
    .ed-el.ed-note{ background:#fff7cc; border:1px solid #e6c65a; border-radius:3px; color:#5b4a08; padding:4px 6px; font-size:12px; cursor:move; box-shadow:0 2px 6px -3px rgba(0,0,0,.35); overflow:hidden; white-space:pre-wrap; }
    .ed-el.ed-stamp{ display:flex; align-items:center; justify-content:center; font-weight:800; letter-spacing:.03em; text-transform:uppercase; cursor:move; border-radius:6px; }
    .ed-el.ed-image{ cursor:move; background-size:100% 100%; background-repeat:no-repeat; }
    .ed-el.ed-selected{ outline:1.5px solid #1e5a9e; outline-offset:1px; }
    .ed-h{ position:absolute; width:11px; height:11px; background:#fff; border:2px solid #1e5a9e; border-radius:2px; box-sizing:border-box; z-index:6; }
    .ed-h.ed-hend{ border-radius:50%; }
    /* Knoop van een veelhoek/lijn: iets voller zodat je ziet dat je 'm kunt pakken. */
    .ed-h.ed-hnode{ background:#1e5a9e; border-color:#fff; box-shadow:0 0 0 1px #1e5a9e; }
    /* Tussen-plusje om een hoek toe te voegen. */
    .ed-h.ed-hadd{ width:9px; height:9px; background:#fff; border:1px dashed #1e5a9e; opacity:.75; cursor:copy; }
    .ed-h.ed-hadd:hover{ opacity:1; background:#e8f1fb; }
    #edMain{ display:flex; gap:12px; align-items:flex-start; }
    #edSidebar{ width:150px; flex-shrink:0; max-height:660px; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding:2px; }
    /* flex-shrink:0 -> miniaturen behouden hun grootte bij veel pagina's (niet indrukken);
       de balk scrollt in plaats van te krimpen. min-height reserveert ruimte voor lazy-render. */
    .ed-thumb{ position:relative; flex:0 0 auto; min-height:120px; border:2px solid #e5e9f0; border-radius:6px; overflow:hidden; cursor:pointer; background:#fff; line-height:0; }
    .ed-thumb.active{ border-color:#1e5a9e; box-shadow:0 0 0 2px rgba(30,90,158,.2); }
    .ed-thumb.ed-sel{ border-color:#1e5a9e; box-shadow:0 0 0 3px rgba(30,90,158,.4); }
    .ed-thumb.ed-sel::after{ content:"✓"; position:absolute; top:3px; left:4px; z-index:2; width:18px; height:18px; border-radius:4px; background:#1e5a9e; color:#fff; font-size:12px; display:flex; align-items:center; justify-content:center; }
    .ed-thumb canvas{ width:100%; display:block; }
    .ed-thumb .ed-tnum{ position:absolute; bottom:2px; left:4px; font-size:10px; color:#334155; background:rgba(255,255,255,.85); padding:0 4px; border-radius:3px; line-height:1.4; }
    /* Verwijder-/roteer-knoppen ALTIJD zichtbaar (klikbaar op desktop én touch); subtiel
       tot hover/actief. Voorheen alleen op hover -> onbereikbaar op touch/ingedrukte thumbs. */
    .ed-thumb .ed-tdel, .ed-thumb .ed-trot{ position:absolute; top:3px; width:22px; height:22px; border:none; border-radius:5px; background:rgba(15,23,42,.72); color:#fff; font-size:12px; cursor:pointer; display:flex; opacity:.5; transition:opacity .12s; align-items:center; justify-content:center; z-index:2; }
    .ed-thumb .ed-tdel{ right:3px; }
    .ed-thumb .ed-trot{ right:29px; }
    .ed-thumb:hover .ed-tdel, .ed-thumb:hover .ed-trot, .ed-thumb.active .ed-tdel, .ed-thumb.active .ed-trot{ opacity:1; }
    .ed-thumb .ed-tdel:hover{ background:#dc2626; }
    /* Popover voor 'nieuwe blanco pagina' (formaat/richting pas ná klik). */
    .ed-blankpop{ position:absolute; top:100%; left:0; z-index:45; margin-top:6px; background:#fff; border:1px solid #cbd5e1; border-radius:10px; box-shadow:0 14px 34px -14px rgba(15,23,42,.45); padding:10px 12px; min-width:190px; }
    .ed-blankpop:not(.pt-hidden){ display:flex; flex-direction:column; gap:8px; }
    .ed-blankpop .ed-bp-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.8rem; color:#334155; }
    #edProps select.ed-fsel{ padding:3px 6px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; font-size:.8rem; background:#fff; }
    /* Multi-document tabs (à la PDF-XChange) */
    #edTabs{ display:flex; align-items:flex-end; gap:3px; flex-wrap:wrap; padding:4px 2px 0; border-bottom:1px solid #e5e9f0; margin-bottom:8px; }
    .ed-tab{ display:inline-flex; align-items:center; gap:6px; max-width:210px; padding:6px 10px; border:1px solid #e5e9f0; border-bottom:none; border-radius:8px 8px 0 0; background:#f1f5f9; color:#475569; font-size:.82rem; font-weight:600; cursor:pointer; }
    .ed-tab.active{ background:#fff; color:#1e5a9e; box-shadow:0 -2px 0 #1e5a9e inset; }
    .ed-tab-nm{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:170px; }
    .ed-tab-x{ border:none; background:transparent; color:#94a3b8; font-size:15px; line-height:1; cursor:pointer; padding:0 2px; border-radius:4px; }
    .ed-tab-x:hover{ background:#e2e8f0; color:#dc2626; }
    .ed-tab-add{ border:1px dashed #cbd5e1; background:#fff; color:#475569; font-size:16px; font-weight:700; width:30px; height:30px; border-radius:8px; cursor:pointer; flex-shrink:0; }
    .ed-tab-add:hover{ border-color:#1e5a9e; color:#1e5a9e; }
    .ed-thumb.ed-drag{ opacity:.4; }
    .ed-thumb.ed-over{ border-color:#1e5a9e; }
    @media (max-width:760px){ #edMain{ flex-direction:column; } #edSidebar{ width:100%; flex-direction:row; max-height:none; overflow-x:auto; overflow-y:hidden; } .ed-thumb{ width:104px; flex-shrink:0; } #edComments, #edInspect, #edBookmarks{ width:100%!important; max-height:none!important; } }
    #edNav{ display:flex; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap; }
    /* Opmerkingen-paneel (increment 3) */
    #edComments{ width:250px; flex-shrink:0; max-height:660px; display:flex; flex-direction:column; border:1px solid #e5e9f0; border-radius:9px; background:#fbfcfe; overflow:hidden; }
    #edCmHead{ display:flex; flex-direction:column; gap:6px; padding:8px 10px; border-bottom:1px solid #eef2f7; font-size:.84rem; color:#334155; }
    .ed-cm-hrow{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
    #edCmHead #edCmCount{ background:#1e5a9e; color:#fff; border-radius:999px; padding:0 7px; font-size:.72rem; }
    #edCmAuthor{ width:120px; flex-shrink:0; padding:3px 7px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; font-size:.76rem; }
    #edCmSearch{ width:100%; box-sizing:border-box; padding:5px 8px; border:1px solid #cbd5e1; border-radius:7px; font:inherit; font-size:.78rem; }
    #edCmSearch:focus, #edCmAuthor:focus{ outline:none; border-color:#1e5a9e; }
    #edCmHead select{ flex:1; min-width:0; padding:3px 5px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; font-size:.76rem; background:#fff; }
    .ed-cm-sw{ width:11px; height:11px; border-radius:3px; flex-shrink:0; box-shadow:inset 0 0 0 1px rgba(0,0,0,.18); }
    .ed-cm-meta{ display:flex; align-items:center; justify-content:space-between; gap:6px; font-size:.7rem; color:#94a3b8; margin:0 1px 4px; }
    .ed-cm-au{ font-weight:600; color:#475569; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .ed-cm-dt{ flex-shrink:0; font-variant-numeric:tabular-nums; }
    .ed-cm-st{ font-size:.64rem; font-weight:700; color:#fff; border-radius:4px; padding:0 5px; letter-spacing:.02em; }
    .ed-cm-reps{ margin:5px 0 0; display:flex; flex-direction:column; gap:4px; }
    .ed-cm-rep{ background:#f1f5fb; border:1px solid #e5e9f0; border-radius:6px; padding:4px 7px; }
    .ed-cm-rep-h{ display:flex; justify-content:space-between; align-items:center; gap:6px; font-size:.68rem; color:#94a3b8; margin-bottom:2px; }
    .ed-cm-rep-h span:first-child{ font-weight:600; color:#475569; }
    .ed-cm-repx{ border:none; background:none; color:#cbd5e1; cursor:pointer; font-size:.9rem; line-height:1; padding:0 2px; }
    .ed-cm-repx:hover{ color:#e11d48; }
    .ed-cm-rep-t{ font-size:.78rem; color:#1f2937; white-space:pre-wrap; word-break:break-word; }
    .ed-cm-foot{ display:flex; gap:6px; align-items:center; margin-top:6px; }
    .ed-cm-status{ flex-shrink:0; padding:3px 5px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; font-size:.72rem; background:#fff; }
    .ed-cm-reply{ flex:1; min-width:0; box-sizing:border-box; padding:4px 7px; border:1px solid #e5e9f0; border-radius:6px; font:inherit; font-size:.76rem; }
    .ed-cm-reply:focus, .ed-cm-status:focus{ outline:none; border-color:#1e5a9e; }
    #edCmList{ flex:1 1 auto; min-height:0; overflow-y:auto; padding:6px; display:flex; flex-direction:column; gap:6px; }
    .ed-cm{ border:1px solid #e5e9f0; border-radius:7px; background:#fff; padding:6px 7px; cursor:pointer; }
    .ed-cm:hover{ border-color:#c7d4e6; }
    .ed-cm.sel{ border-color:#1e5a9e; box-shadow:0 0 0 2px rgba(30,90,158,.16); }
    .ed-cm.multisel{ background:#eaf1fb; box-shadow:inset 3px 0 0 #1e5a9e; }
    .ed-cm-bulk{ position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:#1e5a9e; color:#fff; border-radius:7px; padding:6px 9px; font-size:.78rem; font-weight:600; margin-bottom:4px; }
    .ed-cm-bulk select{ padding:2px 5px; border-radius:6px; border:none; font:inherit; font-size:.72rem; }
    .ed-cm-h{ display:flex; align-items:center; gap:6px; font-size:.74rem; color:#64748b; margin-bottom:4px; flex-wrap:wrap; }
    .ed-cm-pg{ font-weight:700; color:#1e5a9e; }
    .ed-cm-ty{ text-transform:uppercase; letter-spacing:.03em; font-weight:600; }
    .ed-cm-ai{ background:#e8f0fc; color:#1e5a9e; border-radius:4px; padding:0 5px; font-weight:700; }
    .ed-cm-sev{ width:9px; height:9px; border-radius:50%; display:inline-block; }
    .ed-cm-sev.high{ background:#e11d48; } .ed-cm-sev.medium{ background:#f59e0b; } .ed-cm-sev.low{ background:#94a3b8; }
    .ed-cm-txt{ width:100%; box-sizing:border-box; border:1px solid #e5e9f0; border-radius:6px; padding:5px 6px; font:inherit; font-size:.8rem; color:#1f2937; resize:vertical; min-height:34px; }
    .ed-cm-txt:focus{ outline:none; border-color:#1e5a9e; }
    .ed-cm-ic{ width:16px; height:16px; flex-shrink:0; }
    /* Compacte kaart voor vormen/lijnen/figuren zonder tekst: alleen de kop (+symbool);
       tekstveld, auteur/datum en de voet verschijnen pas bij hover of selectie. */
    .ed-cm.compact{ padding:4px 8px; }
    .ed-cm.compact .ed-cm-h{ margin-bottom:0; }
    .ed-cm.compact .ed-cm-txt{ margin-top:5px; min-height:30px; }
    /* :focus-within: het veld mag NIET verdwijnen terwijl je erin typt maar de muis
       net buiten de kaart schuift (anders verliest de textarea focus midden in een zin). */
    .ed-cm.compact:not(.sel):not(:hover):not(:focus-within) > .ed-cm-meta,
    .ed-cm.compact:not(.sel):not(:hover):not(:focus-within) > .ed-cm-txt,
    .ed-cm.compact:not(.sel):not(:hover):not(:focus-within) > .ed-cm-foot{ display:none; }
    .ed-el.ed-flash{ animation:edFlash 1.3s ease-out; }
    @keyframes edFlash{ 0%,100%{ box-shadow:0 0 0 0 rgba(30,90,158,0); } 25%{ box-shadow:0 0 0 4px rgba(30,90,158,.55); } 60%{ box-shadow:0 0 0 3px rgba(30,90,158,.3); } }
    /* Eigenschappen-/geometrie-inspector (PDF-XChange-achtige Properties-pane) */
    /* Editor is een LICHT thema — forceer lichte UA-formulierbesturing zodat inputs/
       selects/color-pickers in OS-dark-mode niet zwart-op-zwart renderen. */
    #edWork, #edDrop{ color-scheme:light; }
    #edInspect{ width:230px; flex-shrink:0; max-height:660px; display:flex; flex-direction:column; border:1px solid #e5e9f0; border-radius:9px; background:#fbfcfe; overflow:hidden; }
    #edBookmarks{ width:230px; flex-shrink:0; max-height:660px; display:flex; flex-direction:column; border:1px solid #e5e9f0; border-radius:9px; background:#fbfcfe; overflow:hidden; }
    #edBmHead{ display:flex; align-items:center; justify-content:space-between; gap:6px; padding:8px 10px; border-bottom:1px solid #eef2f7; font-size:.84rem; color:#334155; }
    #edBmHead #edBmCount{ background:#1e5a9e; color:#fff; border-radius:999px; padding:0 7px; font-size:.72rem; }
    #edBmAdd{ padding:2px 7px; font-size:.72rem; }
    #edBmList{ flex:1 1 auto; min-height:0; overflow-y:auto; padding:6px; display:flex; flex-direction:column; gap:4px; }
    #edBmList .ed-bm-empty{ padding:14px 8px; text-align:center; color:#94a3b8; font-size:.78rem; }
    .ed-bm{ display:flex; align-items:center; gap:6px; padding:5px 7px; background:#fff; border:1px solid #eef2f7; border-radius:7px; }
    .ed-bm:hover{ border-color:#bcd3ee; background:#f5f9ff; }
    .ed-bm .ed-bm-t{ flex:1; min-width:0; font-size:.8rem; color:#0f172a; border:0; background:transparent; font:inherit; padding:1px 2px; cursor:pointer; }
    .ed-bm .ed-bm-t:focus{ outline:1px solid #bcd3ee; border-radius:4px; background:#fff; cursor:text; }
    .ed-bm .ed-bm-pg{ font-size:.72rem; color:#64748b; white-space:nowrap; cursor:pointer; }
    .ed-bm .ed-bm-del{ border:0; background:transparent; color:#94a3b8; cursor:pointer; font-size:15px; line-height:1; padding:0 2px; }
    .ed-bm .ed-bm-del:hover{ color:#e11d48; }
    #edInsHead{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-bottom:1px solid #eef2f7; font-size:.84rem; color:#334155; }
    #edInsBody{ padding:10px; overflow-y:auto; }
    .ed-ins-sec{ font-size:.72rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:#94a3b8; margin:0 0 8px; display:flex; justify-content:space-between; }
    .ed-ins-unit{ color:#cbd5e1; }
    .ed-ins-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .ed-ins-grid label{ display:flex; flex-direction:column; gap:3px; font-size:.72rem; color:#64748b; }
    .ed-ins-grid input{ width:100%; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:6px; padding:5px 6px; font:inherit; font-size:.82rem; color:#1f2937; background:#fff; }
    .ed-ins-grid input:focus{ outline:none; border-color:#1e5a9e; }
    /* Opmaak-sectie (PDF-XChange-achtige Format-pane per annotatie) */
    .ed-fmt-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 7px; font-size:.74rem; color:#475569; }
    .ed-fmt-lab{ flex:0 0 auto; }
    .ed-fmt-row input[type=color]{ width:36px; height:24px; padding:0; border:1px solid #cbd5e1; border-radius:5px; background:#fff; cursor:pointer; }
    .ed-fmt-row select{ font:inherit; font-size:.78rem; padding:3px 6px; border:1px solid #cbd5e1; border-radius:6px; background:#fff; color:#1f2937; max-width:120px; }
    .ed-fmt-row input[type=checkbox]{ width:16px; height:16px; accent-color:#1e5a9e; }
    .ed-fmt-rng{ display:flex; align-items:center; gap:6px; flex:1; min-width:0; justify-content:flex-end; }
    .ed-fmt-rng input[type=range]{ flex:1; min-width:44px; max-width:104px; accent-color:#1e5a9e; }
    .ed-fmt-val{ font-variant-numeric:tabular-nums; min-width:28px; text-align:right; color:#334155; }
    .ed-el.ed-underline, .ed-el.ed-strikeout{ cursor:move; }
  