.toolbar[data-v-6cc84288]{height:48px;background:#fff;border-bottom:1px solid #e4e7ed;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px}.toolbar-center[data-v-6cc84288],.toolbar-right[data-v-6cc84288],.toolbar[data-v-6cc84288]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.toolbar-center[data-v-6cc84288],.toolbar-right[data-v-6cc84288]{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:8px}.cert-element[data-v-7cec84d6]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cert-element[data-v-7cec84d6]:hover{outline:1px dashed #409eff}.cert-element.selected[data-v-7cec84d6]{outline:2px solid #409eff;outline-offset:1px}.resize-controls[data-v-0a13fefb]{position:absolute;top:0;left:0;border:1px solid #409eff;pointer-events:none;zIndex:100}.delete-handle[data-v-0a13fefb]{position:absolute;top:-24px;right:0;width:20px;height:20px;background:#f56c6c;color:#fff;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;pointer-events:auto;font-size:12px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.2)}.delete-handle[data-v-0a13fefb]:hover{background:#f78989}.resize-handle[data-v-0a13fefb]{position:absolute;width:8px;height:8px;background:#fff;border:1px solid #409eff;pointer-events:auto}.resize-handle.nw[data-v-0a13fefb]{top:-5px;left:-5px;cursor:nw-resize}.resize-handle.n[data-v-0a13fefb]{top:-5px;left:50%;margin-left:-4px;cursor:n-resize}.resize-handle.ne[data-v-0a13fefb]{top:-5px;right:-5px;cursor:ne-resize}.resize-handle.e[data-v-0a13fefb]{top:50%;right:-5px;margin-top:-4px;cursor:e-resize}.resize-handle.se[data-v-0a13fefb]{bottom:-5px;right:-5px;cursor:se-resize}.resize-handle.s[data-v-0a13fefb]{bottom:-5px;left:50%;margin-left:-4px;cursor:s-resize}.resize-handle.sw[data-v-0a13fefb]{bottom:-5px;left:-5px;cursor:sw-resize}.resize-handle.w[data-v-0a13fefb]{top:50%;left:-5px;margin-top:-4px;cursor:w-resize}.canvas-area[data-v-1c778efc]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:#e8ecef;padding:20px;overflow:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.canvas-container[data-v-1c778efc]{background:#fff;-webkit-box-shadow:0 2px 12px rgba(0,0,0,.15);box-shadow:0 2px 12px rgba(0,0,0,.15);position:relative;overflow:hidden}.canvas-background[data-v-1c778efc]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.property-panel[data-v-65903bae]{width:280px;background:#fff;border-left:1px solid #e4e7ed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.panel-header[data-v-65903bae]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 16px;font-size:14px;font-weight:700;border-bottom:1px solid #ebeef5}[data-v-65903bae] .el-form-item{margin-bottom:12px;padding:0 12px}[data-v-65903bae] .el-form-item__label{padding-bottom:4px;font-size:12px}.align-tools[data-v-65903bae]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.align-tools .el-button[data-v-65903bae]{width:100%;height:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;min-width:auto;font-size:12px}.hint-text[data-v-65903bae]{font-size:12px;color:#909399;line-height:1.6}.hint-text p[data-v-65903bae]{margin:0;padding:2px 0}.preview-container[data-v-0356461e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:auto;padding:20px;background:#e8ecef}.preview-canvas[data-v-0356461e]{background:#fff;-webkit-box-shadow:0 2px 12px rgba(0,0,0,.15);box-shadow:0 2px 12px rgba(0,0,0,.15);position:relative;overflow:hidden}.preview-background[data-v-0356461e]{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.drawer-body[data-v-207398d4]{padding:10px 12px}.template-list[data-v-207398d4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;max-height:calc(100vh - 120px);overflow-y:auto}.template-item[data-v-207398d4]{border:1px solid #e4e7ed;border-radius:4px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;overflow:hidden}.template-item[data-v-207398d4]:hover{-webkit-box-shadow:0 2px 12px rgba(0,0,0,.1);box-shadow:0 2px 12px rgba(0,0,0,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.template-preview[data-v-207398d4]{height:140px;background:#f5f7fa;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.template-name[data-v-207398d4]{background:rgba(0,0,0,.6);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-info[data-v-207398d4]{padding:8px 12px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:12px;color:#909399;background:#fff;border-top:1px solid #ebeef5}.actions[data-v-207398d4],.template-info[data-v-207398d4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.actions .el-button[data-v-207398d4]{padding:0}.empty-state[data-v-207398d4]{text-align:center;padding:40px;color:#909399}.empty-state i[data-v-207398d4]{font-size:48px;margin-bottom:16px}.loading-state[data-v-207398d4]{text-align:center;padding:40px;color:#909399}.loading-state i[data-v-207398d4]{font-size:32px;color:#409eff;margin-bottom:12px;-webkit-animation:rotating-207398d4 2s linear infinite;animation:rotating-207398d4 2s linear infinite}@-webkit-keyframes rotating-207398d4{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotating-207398d4{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.certificate-editor[data-v-810a4540]{height:86vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background:#f5f7fa}.canvas-wrapper[data-v-810a4540],.editor-body[data-v-810a4540]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;overflow:hidden}.canvas-wrapper[data-v-810a4540]{position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#e8ecef}.canvas-wrapper[data-v-810a4540],.type-selector[data-v-810a4540]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.type-selector[data-v-810a4540]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;padding:4px 0}.type-option[data-v-810a4540]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:16px;border:1px solid #e4e7ed;border-radius:4px;background:#fff;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease}.type-option[data-v-810a4540]:hover{border-color:#409eff;background:#f5f7fa}.type-option.is-selected[data-v-810a4540]{border-color:#409eff;background:#ecf5ff}.type-option-icon[data-v-810a4540]{width:40px;height:40px;border-radius:4px;background:#409eff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:12px;-ms-flex-negative:0;flex-shrink:0}.type-option-icon i[data-v-810a4540]{font-size:20px;color:#fff}.type-option-content[data-v-810a4540]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.type-option-title[data-v-810a4540]{font-size:14px;font-weight:500;color:#303133}.type-option-desc[data-v-810a4540]{font-size:12px;color:#909399;margin-top:2px}.type-option-check[data-v-810a4540]{color:#409eff;font-size:18px;-ms-flex-negative:0;flex-shrink:0}.type-selector-dialog[data-v-810a4540] .el-dialog__body{padding:16px 20px}.type-selector-dialog[data-v-810a4540] .el-dialog__footer{padding:12px 20px;border-top:1px solid #ebeef5}.stamp-selector-dialog[data-v-810a4540] .el-dialog__body{padding:20px}.stamp-list[data-v-810a4540]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;max-height:400px;overflow-y:auto;padding:4px}.stamp-item[data-v-810a4540]{border:1px solid #e4e7ed;border-radius:8px;padding:12px;cursor:pointer;-webkit-transition:all .2s ease;transition:all .2s ease;background:#fff;position:relative}.stamp-item[data-v-810a4540]:hover{border-color:#409eff;-webkit-box-shadow:0 2px 8px rgba(64,158,255,.15);box-shadow:0 2px 8px rgba(64,158,255,.15)}.stamp-item.is-selected[data-v-810a4540]{border-color:#409eff;background:#ecf5ff}.stamp-image-wrapper[data-v-810a4540]{width:100%;height:120px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:#f5f7fa;border-radius:4px;margin-bottom:8px;overflow:hidden}.stamp-image[data-v-810a4540]{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.stamp-info[data-v-810a4540]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.stamp-name[data-v-810a4540]{font-size:14px;font-weight:500;color:#303133;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stamp-remark[data-v-810a4540]{font-size:12px;color:#909399;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stamp-check[data-v-810a4540]{position:absolute;top:8px;right:8px;color:#409eff;font-size:18px}