.pdf-visual-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem; }
.pdf-visual-button { border: 1px solid var(--site-border, #d1d5db); background: var(--site-surface, #fff); color: var(--site-text, #111827); border-radius: .5rem; padding: .6rem .8rem; min-height: 44px; }
.pdf-visual-button[aria-pressed="true"] { border-color: #2563eb; box-shadow: inset 0 0 0 1px #2563eb; }
.pdf-visual-button:disabled { opacity: .45; cursor: default; }
.pdf-visual-page-control { display: inline-flex; gap: .4rem; align-items: center; }
.pdf-visual-page-control input { width: 4.5rem; min-height: 44px; text-align: center; }
.pdf-visual-preview { margin: 1rem 0; }
.pdf-visual-scroll { overflow: auto; min-height: 160px; max-height: 78vh; background: var(--site-bg, #eef0f3); border: 1px solid var(--site-border, #d1d5db); border-radius: .5rem; padding: 16px; }
.pdf-visual-surface { position: relative; margin: 0 auto; background: #fff; touch-action: none; overflow: hidden; cursor: crosshair; box-shadow: 0 1px 8px #0002; }
.pdf-visual-surface canvas { width: 100%; height: 100%; display: block; }
.pdf-visual-selection-layer { position: absolute; inset: 0; }
.pdf-visual-selection { position: absolute; box-sizing: border-box; touch-action: none; cursor: move; }
.pdf-visual-redaction { border: 2px solid #f59e0b; }
.pdf-visual-selection.is-selected, .pdf-visual-selection:focus-visible { outline: 3px solid #3b82f6; outline-offset: -3px; }
.pdf-visual-crop { border: 2px solid #3b82f6; box-shadow: 0 0 0 20000px #11182799; }
.pdf-visual-crop.is-inactive { border-style: dashed; box-shadow: none; }
.pdf-visual-handle { position: absolute; width: 22px; height: 22px; background: #fff; border: 2px solid #2563eb; border-radius: 50%; z-index: 2; }
.pdf-visual-handle-nw { left: -8px; top: -8px; cursor: nwse-resize; }
.pdf-visual-handle-n { left: calc(50% - 11px); top: -8px; cursor: ns-resize; }
.pdf-visual-handle-ne { right: -8px; top: -8px; cursor: nesw-resize; }
.pdf-visual-handle-e { right: -8px; top: calc(50% - 11px); cursor: ew-resize; }
.pdf-visual-handle-se { right: -8px; bottom: -8px; cursor: nwse-resize; }
.pdf-visual-handle-s { left: calc(50% - 11px); bottom: -8px; cursor: ns-resize; }
.pdf-visual-handle-sw { left: -8px; bottom: -8px; cursor: nesw-resize; }
.pdf-visual-handle-w { left: -8px; top: calc(50% - 11px); cursor: ew-resize; }
.pdf-visual-busy { pointer-events: none; opacity: .65; }
.pdf-visual-area-item { text-align: start; min-width: 0; flex: 1; color: var(--site-text, #111827); overflow-wrap: anywhere; }
.pdf-visual-preview .tool-help { margin: .5rem 0; }
.pdf-visual-numeric summary { cursor: pointer; margin-bottom: .75rem; }
.pdf-visual-numeric .tool-input[type="color"] { padding: .3rem; }
.pdf-visual-form .tool-field-control { min-height: 46px; }
@media (max-width: 600px) { .pdf-visual-scroll { padding: 8px; } .pdf-visual-button { flex-shrink: 0; } .pdf-visual-handle { width: 26px; height: 26px; } }
