@charset "utf-8";*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:#f5f5f5;overflow:hidden;height:100vh}.editor-toolbar{background:#f3f3f3;border-bottom:1px solid #d0d0d0;padding:8px 12px;display:flex;align-items:center;gap:12px;box-shadow:0 1px 3px rgba(0,0,0,0.1);z-index:1000}.toolbar-group{display:flex;gap:4px;padding:0 8px;border-right:1px solid #d0d0d0}.toolbar-group:last-child{border-right:none}.toolbar-btn{background:transparent;border:1px solid transparent;padding:6px 12px;cursor:pointer;border-radius:3px;font-size:13px;color:#333;display:flex;align-items:center;gap:6px;transition:all .2s}.toolbar-btn:hover{background:#e8e8e8;border-color:#d0d0d0}.toolbar-btn.active{background:#d0e8f2;border-color:#0078d4;color:#0078d4}.toolbar-caret{margin-left:6px;font-size:10px}.toolbar-dropdown{position:relative}.toolbar-btn.icon-only{min-width:36px;padding:6px;gap:4px;justify-content:center}.format-group{gap:4px;position:relative}.toolbar-group.mode-group{border:1px solid #0078d4;border-radius:3px;padding:0;overflow:hidden}.toolbar-btn.mode-btn{border-radius:0;border:none}.toolbar-btn.mode-btn:first-child{border-right:1px solid #0078d4}.toolbar-btn.mode-btn.active{background:#0078d4;color:white;z-index:1}.toolbar-btn.mode-btn.active:hover{background:#106ebe}.toolbar-btn.mode-btn:not(.active):hover{background:#e8f4f8}.text-block-edit{position:absolute;border:1px dashed transparent;background:transparent;cursor:move;pointer-events:all;z-index:10;opacity:0;transition:opacity .15s ease,border-color .2s ease,background .2s ease}.text-block-edit--visible,.text-block-edit--edited{opacity:1}.text-block-edit--visible,.text-block-edit--selected{border-color:#0078d4;background:rgba(0,120,212,0.08)}.text-block-edit--selected{border-style:solid;box-shadow:0 0 0 1px rgba(0,120,212,0.25)}.text-block-edit--edited:not(.text-block-edit--selected):not(.text-block-edit--hover){border-color:transparent;background:transparent;box-shadow:none}.text-block-edit__content{width:100%;height:100%;padding:2px;white-space:pre-wrap;word-break:break-word;color:inherit;font:inherit;pointer-events:none;opacity:0}.text-block-edit--edited .text-block-edit__content{opacity:1}.text-block-edit__controls{position:absolute;top:-34px;right:0;display:flex;gap:6px;padding:4px;background:rgba(0,0,0,0.75);border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;transform:translateY(4px);z-index:12;user-select:none}.text-block-edit--selected .text-block-edit__controls,.text-block-edit--hover .text-block-edit__controls{opacity:1;pointer-events:auto;transform:translateY(0)}.text-block-edit__btn{border:0;background:transparent;color:#fff;width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;user-select:none}.text-block-edit__btn:hover:not(:disabled){background:rgba(255,255,255,0.2)}.text-block-edit__btn:disabled,.text-block-edit__btn[aria-disabled='true']{opacity:.4;cursor:not-allowed}.text-block-edit__handle{position:absolute;width:10px;height:10px;right:-6px;bottom:-6px;border-radius:3px;border:2px solid #0078d4;background:#fff;cursor:nwse-resize;display:none;box-shadow:0 1px 3px rgba(0,0,0,0.2)}.text-block-edit--selected .text-block-edit__handle{display:block}.text-block-edit--visible:hover,.text-block-edit--hover{background:rgba(0,120,212,0.15);border-color:#005a9e}.inline-editor{position:absolute;z-index:1000;background:rgba(255,255,255,0.98);border:2px solid #0078d4;border-radius:0;padding:0;box-shadow:none;min-width:0;min-height:0}.inline-editor-content{outline:none;border:0;width:100%;min-height:1em;font-family:inherit;font-size:inherit;color:inherit;background:transparent;resize:none;overflow:visible;white-space:pre-wrap;word-wrap:break-word}.panel-section{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.panel-section:last-child{margin-bottom:0}.panel-section label{font-size:12px;font-weight:600;color:#555}.panel-inline{display:flex;align-items:center;gap:6px}.panel-section select,.panel-section input[type='number'],.panel-section input[type='color']{width:100%;padding:6px 8px;border:1px solid #cfcfcf;border-radius:4px;font-size:13px}.panel-section input[type='color']{padding:0;height:34px}.unit-label{font-size:12px;color:#666}.toolbar-btn i{font-size:14px}.zoom-control{position:relative}.zoom-dropdown{position:relative}.zoom-toggle{padding:6px;justify-content:center}.zoom-panel,.more-panel,.toolbar-dropdown-panel{position:absolute;top:calc(100% + 6px);background:#fff;border:1px solid #d0d0d0;border-radius:6px;padding:12px;min-width:260px;box-shadow:0 6px 18px rgba(0,0,0,0.12),0 2px 6px rgba(0,0,0,0.08);opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease;pointer-events:none;background-clip:padding-box;z-index:1100}.zoom-panel{right:0}.more-panel{left:0}.toolbar-dropdown-panel{left:0;min-width:200px}.dropdown-item{width:100%;border:0;background:transparent;text-align:left;padding:8px 12px;font-size:13px;display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:4px;color:#333;transition:background .15s ease}.dropdown-item i{width:14px;text-align:center}.dropdown-item:hover:not(:disabled){background:#eef5fb}.dropdown-item:disabled,.dropdown-item[aria-disabled='true']{opacity:.5;cursor:not-allowed}.dropdown-separator{height:1px;background:#e0e0e0;margin:6px 0}.file-menu input[type='file']{display:none}.zoom-dropdown.open .zoom-panel,.format-group.open .more-panel,.toolbar-dropdown.open .toolbar-dropdown-panel{opacity:1;transform:translateY(0);pointer-events:auto}.zoom-panel-row{display:flex;align-items:center;gap:8px}.zoom-step-btn{width:32px;height:32px;border:1px solid #c7c7c7;border-radius:4px;background:#fff;font-size:18px;font-weight:500;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease}.zoom-step-btn:hover{background:#e8f4ff;border-color:#7ab6ff}#zoomSlider{flex:1;-webkit-appearance:none;height:6px;border-radius:999px;background:linear-gradient(90deg,#0078d4,#33a0ff);outline:none}#zoomSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #0078d4;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,0.15)}#zoomSlider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #0078d4;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,0.15)}.zoom-panel-footer{margin-top:10px;display:flex;justify-content:space-between;align-items:center}.zoom-percentage{font-weight:600;color:#333;font-size:14px}.zoom-reset-btn{border:0;background:#0078d4;color:#fff;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background .2s ease}.zoom-reset-btn:hover{background:#106ebe}.toolbar-separator{width:1px;height:24px;background:#d0d0d0;margin:0 4px}.editor-container{display:flex;height:calc(100vh - 45px);overflow:hidden;position:relative}.editor-sidebar{width:200px;background:#fafafa;border-right:1px solid #d0d0d0;padding:16px;position:relative;transition:width .3s ease;display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-sidebar.collapsed{width:0;padding:0;overflow:visible}.editor-sidebar.collapsed .sidebar-section{display:none}.sidebar-toggle{position:absolute;right:-15px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:#0078d4;color:white;border:1px solid #d0d0d0;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:1000;box-shadow:0 2px 4px rgba(0,0,0,0.2);transition:all .2s;pointer-events:auto;margin:0;padding:0;box-sizing:border-box}.sidebar-toggle.visible{display:flex}.sidebar-toggle:hover{background:#106ebe;box-shadow:0 2px 6px rgba(0,0,0,0.3)}.editor-sidebar.collapsed .sidebar-toggle{right:-15px}.sidebar-toggle i{font-size:12px;transition:transform .3s ease;pointer-events:none}.editor-sidebar.collapsed .sidebar-toggle i{transform:rotate(180deg)}.editor-main{flex:1;overflow-y:auto;overflow-x:auto;background:#e5e5e5;padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0;position:relative}#editorPages{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%}.editor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;color:#666;text-align:center}.editor-empty i{font-size:64px;color:#ccc;margin-bottom:16px}.editor-empty h2{margin-bottom:8px;color:#333}.btn-primary{background:#0078d4;color:white;border:0;padding:10px 20px;border-radius:3px;cursor:pointer;font-size:14px;margin-top:16px;transition:background .2s}.btn-primary:hover{background:#106ebe}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.pdf-page{background:white;box-shadow:0 2px 8px rgba(0,0,0,0.15);margin:0 auto 20px;position:relative;border:1px solid #ddd}.pdf-page canvas{display:block;width:100%;height:auto}.pdf-element{position:absolute;cursor:move;border:2px dashed transparent;transition:all .2s;user-select:none;min-width:100px;min-height:30px;display:flex;align-items:flex-start;justify-content:flex-start;padding:4px;text-align:left}.pdf-element.pdf-image{padding:0}.pdf-element.pdf-image img,.pdf-dragging-element.pdf-image-element img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;display:block}.pdf-element:hover{border-color:#0078d4;background:rgba(0,120,212,0.05)}.pdf-element.selected{border-color:#0078d4;background:rgba(0,120,212,0.1);box-shadow:0 0 0 2px rgba(0,120,212,0.2)}.pdf-element.dragging{opacity:.7;z-index:1000}.pdf-element.resizing{cursor:nwse-resize;user-select:none}.resize-handle{position:absolute;width:12px;height:12px;bottom:-6px;right:-6px;border:2px solid #0078d4;background:#fff;border-radius:3px;cursor:nwse-resize;box-shadow:0 1px 3px rgba(0,0,0,0.2);z-index:5}.element-controls{position:absolute;top:-32px;right:0;background:#0078d4;border-radius:3px 3px 0 0;padding:4px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.pdf-element.selected .element-controls{opacity:1}.element-controls button{background:white;border:0;width:24px;height:24px;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;color:#333}.element-controls button:hover{background:#f0f0f0}.pdf-signature,.pdf-initials{font-family:'Dancing Script','Pacifico','Satisfy',cursive;white-space:nowrap}.pdf-text{font-family:Arial,sans-serif;word-wrap:break-word;white-space:pre-wrap}.pdf-dragging-element{position:fixed;pointer-events:none;z-index:10000;opacity:.85;transform:translate(-50%,-50%);border:2px dashed #0078d4;background:rgba(255,255,255,0.95);padding:8px 12px;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,0.3);cursor:crosshair;max-width:300px;word-wrap:break-word}.pdf-dragging-element.pdf-image-element{padding:4px;border-style:solid;background:rgba(255,255,255,0.95);max-width:none}.config-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:10000;align-items:center;justify-content:center}.config-modal.active{display:flex}.config-content{background:white;border-radius:4px;box-shadow:0 4px 20px rgba(0,0,0,0.3);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.config-header{padding:16px 20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.config-header h3{margin:0;font-size:18px;color:#333}.config-close{background:none;border:0;font-size:20px;cursor:pointer;color:#666;padding:4px 8px}.config-close:hover{color:#333}.config-body{padding:20px;flex:1}.config-preview{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;padding:16px;margin-bottom:20px}.config-preview-label{font-size:12px;color:#666;margin-bottom:8px}.config-preview-box{background:white;border:1px solid #e0e0e0;border-radius:4px;padding:20px;min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center}.signature-mode-toggle{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.signature-mode-btn{display:flex;align-items:center;gap:6px}.signature-mode-btn.active{background:#0078d4;color:white;border-color:#0078d4}.signature-draw-options{border:1px dashed #c7d3e3;border-radius:6px;padding:12px;margin-bottom:16px;background:#f8fbff;display:flex;flex-direction:column;gap:12px}.signature-draw-options[hidden]{display:none}.signature-canvas-wrapper{border:1px solid #d0dcea;border-radius:6px;overflow:hidden;background-image:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}#signatureCanvas{width:100%;height:220px;display:block;touch-action:none;cursor:crosshair;background:transparent}.signature-draw-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between}.signature-draw-toolbar label{display:flex;flex-direction:column;font-size:13px;color:#333}#signatureStrokeWidth{width:180px}.signature-clear-btn{border-color:#d93025;color:#d93025}.signature-clear-btn:hover{background:rgba(217,48,37,0.1)}.signature-help{font-size:12px;color:#666}.config-option{margin-bottom:16px}.config-option label{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:6px}.config-option input,.config-option select{width:100%;padding:8px;border:1px solid #d0d0d0;border-radius:3px;font-size:14px}.config-option input[type='color']{height:40px;cursor:pointer}.config-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.config-footer-actions{display:flex;gap:8px}.btn{padding:8px 16px;border:1px solid #d0d0d0;border-radius:3px;cursor:pointer;font-size:14px;background:white;transition:all .2s}.btn:hover{background:#f5f5f5}.btn-primary-modal{background:#0078d4;color:white;border-color:#0078d4}.btn-primary-modal:hover{background:#106ebe}.signature-mode-footer-btn{display:flex;align-items:center;gap:6px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:100%;color:#666}.loading-title{margin-top:12px;font-size:16px;font-weight:600;color:#333;text-align:center}.loading-subtext{margin-top:6px;font-size:12px;color:#555;text-align:center}.editor-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(229,229,229,0.92);z-index:20;padding:24px}.editor-loading[hidden]{display:none}.loading-progress{width:240px;height:10px;background:#dfe6ef;border-radius:999px;margin-top:12px;overflow:hidden;position:relative;border:1px solid #c5d0df}.loading-progress-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:linear-gradient(90deg,#0078d4,#33a0ff);transition:width .2s ease}.loading-progress.loading-progress--indeterminate .loading-progress-fill{width:40%;animation:loading-progress-indeterminate 1.2s linear infinite}@keyframes loading-progress-indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}.spinner{border:3px solid #f3f3f3;border-top:3px solid #0078d4;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.sidebar-section{margin-bottom:20px;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sidebar-section h4{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;margin-bottom:8px;padding:0 4px}.page-thumbnail{margin-bottom:12px;cursor:pointer;border:2px solid transparent;border-radius:4px;padding:4px;transition:all .2s;background:white}.page-thumbnail:hover{border-color:#d0d0d0;background:#f8f8f8}.page-thumbnail.active{border-color:#0078d4;background:#e8f4f8}.page-thumbnail canvas{width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.page-thumbnail-label{text-align:center;font-size:11px;color:#666;margin-top:4px;font-weight:500}.page-thumbnail.active .page-thumbnail-label{color:#0078d4;font-weight:600}#pageThumbnailsContainer{flex:1;overflow-y:auto;padding-right:4px;margin-right:-4px}input[type='file']{display:none}