@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
body { font-family: 'Inter', sans-serif; background-color: #f9fafb; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #e5e7eb; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #d1d5db; }
[v-cloak] { display: none !important; }
.fade-enter-active, .fade-leave-active { transition: opacity 0.15s ease; }
.fade-enter-from, .fade-leave-to { opacity: 0; }
.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.material-symbols-rounded { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; vertical-align: middle; font-size: 20px; }
#pdf-wrapper { user-select: none; touch-action: none; }
.draggable-item { position: absolute; z-index: 15; }
.delete-btn, .drag-handle { position: absolute; width: 24px; height: 24px; text-align: center; line-height: 24px; border-radius: 50%; color: white; font-size: 12px; font-weight: bold; z-index: 20; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); display: none; cursor: pointer; }
.delete-btn { top: -12px; right: -12px; background: #EF4444; }
.drag-handle { top: -12px; left: -12px; background: #10B981; cursor: grab; }
.drag-handle:active { cursor: grabbing; }
.draggable-item:hover .delete-btn, .draggable-item:hover .drag-handle, .draggable-item:focus-within .delete-btn, .draggable-item:focus-within .drag-handle { display: block; }
.signature-item { border: 2px dashed rgba(79, 70, 229, 0.5); cursor: grab; }
.signature-item:active { cursor: grabbing; }
.signature-item img { width: 100%; height: 100%; pointer-events: none; display: block; }
.resize-handle { position: absolute; width: 16px; height: 16px; background: #4F46E5; border-radius: 50%; right: -8px; bottom: -8px; cursor: nwse-resize; z-index: 20;}
.text-item { border: 1px dashed transparent; }
.text-item:hover, .text-item:focus-within { border-color: rgba(0,0,0,0.2); }
.text-content { padding: 2px 5px; margin: 0; color: black; background: rgba(255, 255, 200, 0.85); border: 1px solid transparent; outline: none; white-space: pre-wrap; cursor: text; box-sizing: border-box; line-height: 1; min-width: 50px; border-radius: 4px; }
.text-content:focus { background: white; border-color: #4F46E5; box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2); }
.whiteout-item { background: white; z-index: 14; }
