:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;color:#e7e5e4;background-color:#1c1917}#root{width:100%;height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#1c1917;color:#e7e5e4}.app{display:flex;height:100vh;overflow:hidden}.side-panel{width:260px;background:#292524;padding:12px;display:flex;flex-direction:column;gap:10px;border-right:1px solid #3d3632;flex-shrink:0;overflow:hidden;min-height:0}.side-tools{display:flex;flex-wrap:wrap;gap:4px}.side-tool-btn{flex:1 0 auto;min-width:28px;padding:6px 0;background:transparent;border:1px solid transparent;border-radius:4px;color:#d6d3d1;cursor:pointer;font-size:15px;transition:all .15s;text-align:center}.side-tool-btn:hover:not(:disabled){background:#352f2b;border-color:#3d3632}.side-tool-btn.active{background:#7c2d12;border-color:#f97316;color:#fff;box-shadow:0 0 6px #f9731640}.side-tool-btn:disabled{opacity:.4;cursor:not-allowed}.side-actions{display:flex;flex-direction:column;gap:6px}.side-actions-row{display:flex;gap:6px}.side-action-btn{flex:1;padding:6px 8px;background:#352f2b;border:1px solid #3d3632;border-radius:4px;color:#d6d3d1;cursor:pointer;font-size:12px;transition:all .15s}.side-action-btn:hover:not(:disabled){background:#7c2d12;border-color:#f97316;color:#fff;box-shadow:0 0 6px #f9731633}.side-action-btn:disabled{opacity:.4;cursor:not-allowed}.export-btn{padding:8px;background:#7c2d12;border:1px solid #f97316;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:all .15s;box-shadow:0 0 8px #f9731640}.export-btn:hover:not(:disabled){background:#b45309;box-shadow:0 0 12px #f9731673}.export-btn:disabled{opacity:.4;cursor:not-allowed}.side-snap-btn{padding:6px 8px;background:transparent;border:1px solid #3d3632;border-radius:4px;color:#a8a29e;cursor:pointer;font-size:12px;transition:all .15s}.side-snap-btn.active{background:#00c8531a;border-color:#00c853;color:#00c853}.side-search input{width:100%;padding:6px 10px;background:#1c1917;border:1px solid #3d3632;border-radius:4px;color:#e7e5e4;font-size:13px}.side-search input::placeholder{color:#78716c}.side-add-group-btn{padding:6px 10px;background:transparent;border:1px dashed #57534e;border-radius:4px;color:#a8a29e;cursor:pointer;font-size:12px;transition:all .15s}.side-add-group-btn:hover{border-color:#f97316;color:#d6d3d1}.side-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.side-empty{color:#78716c;font-size:12px;font-style:italic;padding:8px;text-align:center}.side-element{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;cursor:grab;font-size:12px;transition:background .1s;border:1px solid transparent}.side-element:hover{background:#352f2b}.side-element-selected{background:#7c2d12;border-color:#f97316;box-shadow:0 0 6px #f9731633}.side-element-warned{border-color:#ef4444;box-shadow:0 0 6px #ef444480}.side-element:active{cursor:grabbing}.side-element-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;font-size:11px;flex-shrink:0}.side-icon-textfield{background:#4a9eff33;color:#4a9eff}.side-icon-dropdown{background:#ffa50033;color:orange}.side-icon-radio{background:#00c85333;color:#00c853}.side-icon-checkbox{background:#9c27b033;color:#9c27b0}.side-icon-date{background:#ff572233;color:#ff5722}.side-icon-signature{background:#e91e6333;color:#e91e63}.side-icon-listbox{background:#00bcd433;color:#00bcd4}.side-icon-button{background:#7986cb33;color:#7986cb}.side-icon-heading{background:#ffc80033;color:#ffc800;font-weight:700}.side-icon-text{background:#ffffff26;color:#fff;font-size:9px}.side-icon-image{background:#e91e6333;color:#e91e63}.side-element-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6d3d1}.side-element-page{font-size:10px;color:#78716c;flex-shrink:0}.side-section-header{font-size:11px;color:#78716c;text-transform:uppercase;letter-spacing:.5px;padding:6px 4px 4px}.side-ungrouped{border-radius:4px;padding:2px;border:1px solid transparent;transition:border-color .15s}.side-ungrouped.drag-over{border-color:#f97316;background:#f973160d}.side-group{border-radius:6px;border:1px solid #44403c;margin-top:4px;transition:border-color .15s;overflow:hidden}.side-group.drag-over{border-color:#f97316;background:#f973160d}.side-group-header{display:flex;align-items:center;gap:4px;padding:6px 8px;background:#352f2b;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none}.side-group-header:hover{background:#3d3632}.side-group-collapse{font-size:10px;color:#78716c;width:12px;cursor:pointer;padding:2px}.side-group-name{flex:1;font-weight:600;color:#d6d3d1}.side-group-count{font-size:10px;color:#78716c}.side-group-badge{font-size:9px;background:#ffa50033;color:orange;padding:1px 5px;border-radius:8px;margin-left:4px}.side-group-actions{display:flex;align-items:center;gap:6px;margin-left:4px}.side-group-header-selected{background:#7c2d12;border-left:2px solid #f97316;box-shadow:inset 0 0 8px #f9731626}.side-group-delete{background:transparent;border:none;color:#644;font-size:16px;cursor:pointer;padding:0 2px;line-height:1;transition:color .15s}.side-group-delete:hover{color:#ff6b6b}.side-group-locked{font-size:10px}.side-empty-group{font-size:11px;color:#57534e;font-style:italic;padding:8px 12px;text-align:center}.main-area{flex:1;display:flex;flex-direction:column;align-items:center;overflow:auto;padding:20px;background:#1c1917}.canvas-toolbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:20px;margin-bottom:12px;padding:8px 16px;background:#292524f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;border:1px solid #3d3632;box-shadow:0 4px 12px #0006}.zoom-controls{display:flex;align-items:center;gap:8px}.zoom-controls button{padding:4px 10px;background:#352f2b;border:1px solid #3d3632;border-radius:4px;color:#d6d3d1;cursor:pointer;font-size:14px;transition:all .15s}.zoom-controls button:hover{background:#7c2d12;border-color:#f97316;color:#fff;box-shadow:0 0 6px #f9731633}.zoom-controls span{font-size:12px;color:#a8a29e;min-width:40px;text-align:center}.page-management{display:flex;align-items:center;gap:6px}.page-management button{padding:4px 10px;background:#352f2b;border:1px solid #3d3632;border-radius:4px;color:#d6d3d1;cursor:pointer;font-size:12px;transition:all .15s}.page-management button:hover:not(:disabled){background:#7c2d12;border-color:#f97316;color:#fff}.page-management button:disabled{opacity:.4;cursor:not-allowed}.pdf-uploader-wrapper{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:80px}.upload-divider{display:flex;align-items:center;gap:12px;width:300px;color:#78716c;font-size:13px}.upload-divider:before,.upload-divider:after{content:"";flex:1;border-top:1px solid #3d3632}.create-blank-btn{padding:12px 32px;background:transparent;border:2px solid #f97316;border-radius:8px;color:#f97316;cursor:pointer;font-size:15px;font-weight:600;transition:all .2s}.create-blank-btn:hover{background:#f973161a}.pdf-uploader{display:flex;flex-direction:column;align-items:center;justify-content:center;width:500px;height:300px;border:2px dashed #57534e;border-radius:12px;cursor:pointer;transition:all .2s}.pdf-uploader:hover,.pdf-uploader.dragging{border-color:#f97316;background:#f973160d}.upload-icon{font-size:48px;margin-bottom:12px}.pdf-uploader p{color:#a8a29e;font-size:14px}.page-navigation{display:flex;align-items:center;gap:16px}.page-navigation button{padding:6px 14px;background:#7c2d12;border:1px solid #3d3632;border-radius:4px;color:#d6d3d1;cursor:pointer;font-size:13px}.page-navigation button:disabled{opacity:.4;cursor:not-allowed}.page-navigation span{font-size:13px;color:#a8a29e}.pdf-canvas-container{position:relative;display:inline-block;box-shadow:0 4px 20px #00000080}.pdf-canvas-container canvas{display:block}.pdf-overlay{position:absolute;top:0;left:0;cursor:crosshair}.snap-guide{position:absolute;pointer-events:none;z-index:50}.snap-guide-v{width:1px;background:#f9731680}.snap-guide-h{height:1px;background:#f9731680}.rubber-band{position:absolute;border:1px solid rgba(249,115,22,.8);background:#f9731626;pointer-events:none;z-index:100}.form-element{position:absolute;border:2px solid rgba(249,115,22,.6);background:#f973161a;border-radius:2px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;transition:border-color .1s}.form-element:hover{border-color:#f97316e6}.form-element.selected{border-color:#f97316;box-shadow:0 0 0 1px #f97316,0 0 8px #f973164d}.form-element.warned{border-color:#ef4444;box-shadow:0 0 8px #ef444499}.form-element.warned.selected{border-color:#ef4444;box-shadow:0 0 8px #ef444499,0 0 0 1px #ef4444}.form-element-textfield{background:#4a9eff14}.form-element-dropdown{background:#ffa50014;border-color:#ffa50099}.form-element-dropdown.selected{border-color:orange;box-shadow:0 0 0 1px orange}.form-element-radio{background:#00c85314;border-color:#00c85399;border-radius:50%}.form-element-radio.selected{border-color:#00c853;box-shadow:0 0 0 1px #00c853}.form-element-checkbox{background:#9c27b014;border-color:#9c27b099}.form-element-checkbox.selected{border-color:#9c27b0;box-shadow:0 0 0 1px #9c27b0}.form-element-date{background:#ff572214;border-color:#ff572299}.form-element-date.selected{border-color:#ff5722;box-shadow:0 0 0 1px #ff5722}.form-element-signature{background:#e91e6314;border-color:#e91e6399;border-style:dashed}.form-element-signature.selected{border-color:#e91e63;box-shadow:0 0 0 1px #e91e63}.form-element-listbox{background:#00bcd414;border-color:#00bcd499}.form-element-listbox.selected{border-color:#00bcd4;box-shadow:0 0 0 1px #00bcd4}.form-element-button{background:#7986cb14;border-color:#7986cb99;border-radius:4px}.form-element-button.selected{border-color:#7986cb;box-shadow:0 0 0 1px #7986cb}.form-element.form-element-text{background:#64c8ff0f;border-color:#64c8ff66;border-style:dashed}.form-element.form-element-text.selected{border-color:#64c8ffb3;box-shadow:0 0 0 1px #64c8ffb3}.form-element.form-element-heading{background:#ffc8000d;border-color:#ffc80066;border-style:dashed}.form-element.form-element-heading.selected{border-color:#ffc800b3;box-shadow:0 0 0 1px #ffc800b3}.form-element-static{overflow:visible}.fe-text-content{width:100%;height:100%;display:block;pointer-events:none;overflow:hidden;padding:1px 2px;white-space:pre-wrap;word-break:break-word;line-height:1.2}.fe-text-edit{width:100%;height:100%;background:#fffffff2;border:none;outline:none;resize:none;padding:1px 2px;white-space:pre-wrap;word-break:break-word;line-height:1.2;font-family:inherit}.fe-heading-edit{width:100%;height:100%;background:#fffffff2;border:none;outline:none;padding:1px 2px;line-height:1.2;font-family:inherit}.fe-img-content{width:100%;height:100%;pointer-events:none;display:block}.form-element.form-element-image{background:#e91e630d;border-color:#e91e6366;border-style:dashed}.form-element.form-element-image.selected{border-color:#e91e63;box-shadow:0 0 0 1px #e91e63}.prop-image-preview{max-width:100%;max-height:100px;margin-top:8px;border-radius:4px;border:1px solid #3d3632}.fe-label-above{position:absolute;bottom:calc(100% + 1px);left:0;color:#ffffffd9;white-space:nowrap;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.8)}.fe-label-left{position:absolute;right:calc(100% + 4px);top:50%;transform:translateY(-50%);color:#ffffffd9;white-space:nowrap;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.8)}.fe-field-info{font-size:9px;color:#ffffffb3;pointer-events:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 2px}.fe-placeholder{color:#fff6;font-style:italic}.fe-badge{position:absolute;top:-8px;font-size:8px;color:#fff;background:#3d3632;border-radius:3px;padding:0 3px;pointer-events:none;line-height:14px}.fe-badge:nth-of-type(2){right:-4px}.fe-badge:nth-of-type(3){right:14px}.fe-badge:nth-of-type(4){right:28px}.fe-required{color:#ff6b6b;font-size:12px;font-weight:700;background:transparent;right:-4px}.fe-underline{position:absolute;bottom:2px;left:2px;right:2px;border-bottom:1px solid #000;pointer-events:none}.resize-handle{position:absolute;bottom:-5px;right:-5px;width:12px;height:12px;background:#f97316;border:1px solid #fff;border-radius:2px;cursor:se-resize;z-index:10}.form-element.primary{box-shadow:0 0 0 2px #ff9800}.form-element.primary .resize-handle{background:#ff9800}.properties-panel{width:260px;background:#292524;padding:16px;border-left:1px solid #3d3632;overflow-y:auto;flex-shrink:0}.properties-panel h3{font-size:13px;margin-bottom:16px;color:#a8a29e;text-transform:uppercase;letter-spacing:1px}.no-selection{color:#78716c;font-size:13px;font-style:italic}.prop-section-collapsible{margin-bottom:4px;border:1px solid #44403c;border-radius:4px;overflow:hidden}.prop-section-header{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#352f2b;cursor:pointer;font-size:12px;color:#a8a29e;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.5px}.prop-section-header:hover{background:#3d3632;color:#d6d3d1}.prop-section-arrow{font-size:10px;width:12px}.prop-section-content{padding:8px}.prop-group{margin-bottom:10px}.prop-group label{display:block;font-size:11px;color:#a8a29e;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.prop-group input[type=text],.prop-group input[type=number],.prop-group textarea,.prop-group select{width:100%;padding:6px 8px;background:#1c1917;border:1px solid #3d3632;border-radius:4px;color:#e7e5e4;font-size:13px;font-family:inherit}.prop-group input[type=color]{width:32px;height:28px;padding:2px;background:#1c1917;border:1px solid #3d3632;border-radius:4px;cursor:pointer}.prop-group input[type=number]{width:70px}.prop-group textarea{resize:vertical}.prop-group small{display:block;font-size:10px;color:#78716c;margin-top:2px}.prop-value{font-size:13px;color:#d6d3d1}.prop-row{display:flex;align-items:center;gap:6px}.prop-row span{font-size:12px;color:#a8a29e}.delete-btn{width:100%;margin-top:16px;padding:8px;background:#3b1a1a;border:1px solid #662222;border-radius:4px;color:#ff6b6b;cursor:pointer;font-size:13px;transition:all .15s}.delete-btn:hover{background:#4a2020}.prop-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#d6d3d1;text-transform:none;letter-spacing:0}.prop-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#f97316;cursor:pointer}.prop-element-list{list-style:none;padding:0;margin:0}.prop-element-list li{padding:4px 6px;font-size:12px;color:#d6d3d1;border-radius:3px}.prop-element-list li:hover{background:#352f2b}.prop-element-type{color:#78716c;font-size:11px}.prop-section{display:flex;flex-direction:column;gap:8px;margin-top:16px}.action-btn{width:100%;padding:8px;background:#7c2d12;border:1px solid #f97316;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;transition:all .15s;box-shadow:0 0 8px #f9731640}.action-btn:hover{background:#b45309;box-shadow:0 0 12px #f9731673}.prop-divider{border:none;border-top:1px solid #3d3632;margin:12px 0}.align-reference{margin-bottom:4px}.align-ref-label{font-size:12px;color:#d6d3d1}.align-ref-label strong{color:#f97316}.align-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.align-btn{padding:6px 8px;background:#352f2b;border:1px solid #3d3632;border-radius:4px;color:#d6d3d1;cursor:pointer;font-size:12px;transition:all .15s}.align-btn:hover{background:#7c2d12;border-color:#f97316;color:#fff}.align-text-btn{padding:4px 10px;background:#352f2b;border:1px solid #3d3632;border-radius:4px;color:#d6d3d1;cursor:pointer;font-size:14px;transition:all .15s}.align-text-btn.active{background:#7c2d12;border-color:#f97316;color:#fff}.align-text-btn:hover{background:#7c2d12;border-color:#f97316}.canvas-with-thumbnails{display:flex;gap:12px;align-items:flex-start}.page-thumbnails{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 140px);overflow-y:auto;padding:4px;flex-shrink:0}.page-thumb{position:relative;cursor:pointer;border:2px solid transparent;border-radius:4px;overflow:hidden;transition:all .15s;opacity:.7}.page-thumb:hover{opacity:1;border-color:#57534e}.page-thumb-active{opacity:1;border-color:#f97316;box-shadow:0 0 10px #f9731666}.page-thumb canvas{display:block;width:120px;height:auto}.page-thumb-info{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:2px 6px;background:#0009;font-size:10px}.page-thumb-number{color:#d6d3d1}.page-thumb-badge{background:#f97316;color:#fff;padding:0 5px;border-radius:8px;font-size:9px;line-height:16px}.import-dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.import-dialog{background:#292524;border:1px solid #3d3632;border-radius:12px;padding:24px;width:420px;max-height:80vh;overflow-y:auto}.import-dialog h3{font-size:16px;color:#e7e5e4;margin-bottom:8px}.import-dialog p{font-size:13px;color:#a8a29e;margin-bottom:12px}.import-field-list{list-style:none;padding:0;margin:0 0 16px;max-height:200px;overflow-y:auto}.import-field-list li{padding:4px 8px;font-size:12px;color:#d6d3d1;border-bottom:1px solid #44403c}.import-field-type{color:#78716c;font-size:11px}.import-field-more{color:#78716c;font-style:italic}.import-dialog-actions{display:flex;gap:8px}.settings-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.settings-dialog{background:#292524;border:1px solid #3d3632;border-radius:12px;width:440px;max-height:85vh;display:flex;flex-direction:column}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #44403c}.settings-header h3{font-size:16px;color:#e7e5e4;margin:0;text-transform:none;letter-spacing:0}.settings-close{background:none;border:none;color:#a8a29e;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.settings-close:hover{color:#fff}.settings-body{padding:16px 20px;overflow-y:auto}.settings-section{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #44403c}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section h4{font-size:12px;color:#a8a29e;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.settings-actions{display:flex;flex-direction:column;gap:8px}
