@guodun/antdv 1.4.3 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +1 -1
  2. package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.vue.mjs +66 -13
  3. package/dist/es/components/contract-signing-location/src/constants.mjs +27 -17
  4. package/dist/es/components/contract-signing-location/src/location-rules.mjs +2 -2
  5. package/dist/es/components/contract-signing-location/src/template-source.mjs +52 -36
  6. package/dist/es/components/contract-signing-location/style/index.css +1 -1
  7. package/dist/es/components/index.mjs +1 -1
  8. package/dist/es/components/pro-contract-template-designer/index.mjs +1 -1
  9. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +4 -4
  10. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +50 -50
  11. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +50 -50
  12. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +34 -34
  13. package/dist/es/components/pro-contract-template-designer/src/utils/page-decorations.mjs +17 -17
  14. package/dist/es/components/pro-contract-template-designer/src/utils/signing-placement.mjs +14 -14
  15. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +89 -89
  16. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  17. package/dist/es/index.mjs +25 -25
  18. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
  19. package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs +1 -1
  20. package/dist/lib/components/contract-signing-location/src/constants.cjs +1 -1
  21. package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -1
  22. package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -1
  23. package/dist/lib/components/contract-signing-location/style/index.css +1 -1
  24. package/dist/lib/components/index.cjs +1 -1
  25. package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
  26. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
  27. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  28. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  29. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +3 -3
  30. package/dist/lib/components/pro-contract-template-designer/src/utils/page-decorations.cjs +1 -1
  31. package/dist/lib/components/pro-contract-template-designer/src/utils/signing-placement.cjs +1 -1
  32. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +2 -2
  33. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  34. package/dist/lib/index.cjs +1 -1
  35. package/dist/theme/contract-signing-location.css +1 -1
  36. package/dist/theme/icon.css +1 -1
  37. package/dist/theme/index.css +1 -1
  38. package/dist/types/components/contract-signing-location/src/ContractSigningTemplatePage.vue.d.ts +3 -1
  39. package/dist/types/components/contract-signing-location/src/constants.d.ts +18 -0
  40. package/dist/types/components/contract-signing-location/src/coordinates.d.ts +6 -0
  41. package/dist/types/components/contract-signing-location/src/template-source.d.ts +17 -0
  42. package/package.json +3 -1
@@ -1 +1 @@
1
- const e=require(`../../../contract-signing-location/src/constants.cjs`),t=require(`./html.cjs`);var n=`application/x-gd-contract-signing-placement`,r={seal:e.resolveContractSigningSealSizeInCssPixels([`04`]),signature:{width:l(50),height:l(20)},date:{width:l(50),height:l(20)}},i=8,a={seal:`印章`,signature:`签名`,date:`签署日期`},o=class extends Error{constructor(e){super(`签署位置无法转换为 locationRules`),this.code=`SIGNING_PLACEMENT_LOCATION_RULES_INVALID`,this.name=`ContractTemplateLocationRuleBuildError`,this.errors=e}},s=0;function c(){return s+=1,`signing-placement-${Date.now().toString(36)}-${s.toString(36)}`}function l(e,t=96){return Math.round(e/25.4*t)}function u(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function d(e){return{width:Math.max(1,u(e.width,1)),height:Math.max(1,u(e.height,1))}}function f(e={}){return e.showSigningPlacementTools===!1?[]:Object.keys(a).map(e=>({key:e,type:e,label:a[e]}))}function p(e){let t=A(e);return t?JSON.stringify(t):``}function m(e){if(typeof e!=`string`)return;let t=e.trim();if(N(t))return{type:t};try{return A(JSON.parse(t))}catch{return}}function h(e,t){return!e&&!t}function g(e){return{...r[e]??r.signature}}function _(e){return a[e]??`签署位置`}function v(e,t,n=8){let r=d(t),i=Math.max(1,u(n,8)),a=Math.min(r.width,Math.max(i,u(e.width,i))),o=Math.min(r.height,Math.max(i,u(e.height,i))),s=M(u(e.x,0),0,Math.max(0,r.width-a)),c=M(u(e.y,0),0,Math.max(0,r.height-o)),l=e.type===`seal`&&Array.isArray(e.sealTypes)&&e.sealTypes.length?Array.from(new Set(e.sealTypes.map(String).filter(Boolean))):void 0;return{id:e.id,pageId:e.pageId,type:e.type,x:j(s),y:j(c),width:j(a),height:j(o),mustSign:e.mustSign===!0,...l?{sealTypes:l}:{}}}function y(t,n,r){let i=n.type??t.type,a={...t,...n,type:i,...i===`seal`?{}:{sealTypes:void 0}};if(i===`seal`&&(n.type!==void 0||n.sealTypes!==void 0)){let t=e.resolveContractSigningSealSizeInCssPixels(n.sealTypes??a.sealTypes??[`04`]);a.width=t.width,a.height=t.height}return v(a,r)}function b(t,n,r,i={}){let a=N(t)?t:`signature`,o=g(a),s=d(r),l=a===`seal`?e.resolveContractSigningSealSizeInCssPixels(i.sealTypes??[`04`]):o,f=u(i.width,l.width),p=u(i.height,l.height);return v({id:i.id||c(),pageId:n,type:a,x:u(i.x,Math.max(0,(s.width-f)/2)),y:u(i.y,Math.max(0,(s.height-p)/2)),width:f,height:p,mustSign:i.mustSign===!0,...a===`seal`&&i.sealTypes?.length?{sealTypes:[...i.sealTypes]}:{}},s)}function x(e,t,n){if(!Array.isArray(e))return[];let r=d(n),i=k(e);return e.map((e,n)=>{let a=e&&typeof e==`object`?e:{},o=N(a.type)?a.type:`signature`,s=String(a.pageId||``),c=t[s]??r;return v({id:i[n],pageId:s,type:o,x:u(a.x,0),y:u(a.y,0),width:u(a.width,g(o).width),height:u(a.height,g(o).height),mustSign:a.mustSign===!0,...o===`seal`&&Array.isArray(a.sealTypes)&&a.sealTypes.length?{sealTypes:Array.from(new Set(a.sealTypes.map(String).filter(Boolean)))}:{}},c)})}function S(e,t,n,r,i){let a=Number.isFinite(r)&&r>0?r:1;return v({...e,x:e.x+u(t,0)/a,y:e.y+u(n,0)/a},i)}function C(e,t,n,r=8){let i=d(t),a=d(n);return v({...e,x:e.x*a.width/i.width,y:e.y*a.height/i.height,width:e.width*a.width/i.width,height:e.height*a.height/i.height},a,r)}function w(e,t,n){return v({...e,...t},n)}function T(e){let t=[],n=Array.isArray(e?.pages)?e.pages:[],r=new Map(n.map(e=>[e.id,e])),i=Array.isArray(e.signingPlacements)?e.signingPlacements:[],a=k(i),o=new Set;return i.forEach((n,i)=>{let s=String(n?.id||``),c=a[i];s?o.has(s)&&t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置标识 ${s} 重复`}):t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_ID_MISSING`,message:`签署位置缺少唯一标识`}),o.add(s);let l=r.get(n?.pageId);if(l||t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`签署位置引用的页面 ${n?.pageId||`(空)`} 不存在`}),N(n?.type)||t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_TYPE_INVALID`,message:`签署位置类型必须是 seal、signature 或 date`}),[n?.x,n?.y,n?.width,n?.height].some(e=>typeof e!=`number`||!Number.isFinite(e)))t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`签署位置坐标和尺寸必须是有限数字`});else if(n.width<8||n.height<8||n.width<=0||n.height<=0)t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`签署位置尺寸不能小于 8px`});else if(l){let r=d(l.pageSize??e.pageSize);(n.x<0||n.y<0||n.x+n.width>r.width||n.y+n.height>r.height)&&t.push({type:`signing-placement`,id:c,pageId:n.pageId,code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`签署位置不能超出所属页面边界`})}n?.type!==`seal`&&n?.sealTypes!==void 0?t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_SEAL_TYPES_INVALID`,message:`只有印章位置可以配置印章类型`}):n?.type===`seal`&&n.sealTypes!==void 0&&(!Array.isArray(n.sealTypes)||n.sealTypes.some(e=>typeof e!=`string`))&&t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_SEAL_TYPES_INVALID`,message:`印章类型必须是字符串数组`})}),t}function E(e,t,n){let r=typeof t==`string`?{fileId:t,targetPageSizes:n}:t,i=T(e),a=String(r.fileId??``).trim();if(a||i.push({type:`signing-placement`,id:`location-rules`,code:`SIGNING_PLACEMENT_FILE_ID_MISSING`,message:`locationRules 缺少目标文件 ID`}),i.length)throw new o(i);let s=r.targetPageSizes,c=e.pages??[];return(e.signingPlacements??[]).map(t=>{let n=c.findIndex(e=>e.id===t.pageId),r=d((n>=0?c[n]:void 0)?.pageSize??e.pageSize),i=C(t,r,O(s,t.pageId,n,r),1),o={signType:t.type,signTop:Math.round(i.y),signLeft:Math.round(i.x),signWidth:Math.round(i.width),signHeight:Math.round(i.height),pageList:{[a]:[n]},...t.type===`seal`&&t.sealTypes?.length?{sealType:[...t.sealTypes]}:{}};return{mustSign:t.mustSign===!0,placementId:t.id,pageId:t.pageId,pageIndex:n,location:o}})}function D(e,t,n){return E(e,t,n).map(({mustSign:e,location:t})=>({mustSign:e,location:t}))}function O(e,n,r,i){if(!e)return i;let a=Array.isArray(e)?e[r]:e[n];return t.hasPositivePageSize(a)?d(a):i}function k(e){let t=new Set(e.map(e=>e&&typeof e==`object`?String(e.id||``):``).filter(Boolean)),n=new Set;return e.map((e,r)=>{let i=e&&typeof e==`object`?String(e.id||``):``;if(i&&!n.has(i))return n.add(i),i;let a=i||`signing-placement`,o=`${a}-normalized-${r+1}`,s=2;for(;n.has(o)||t.has(o);)o=`${a}-normalized-${r+1}-${s}`,s+=1;return n.add(o),o})}function A(e){if(!e||typeof e!=`object`)return;let t=e;if(N(t.type))return{type:t.type}}function j(e){return Math.round(e*100)/100}function M(e,t,n){return n<t?t:Math.min(n,Math.max(t,e))}function N(e){return e===`seal`||e===`signature`||e===`date`}exports.ContractTemplateLocationRuleBuildError=o,exports.SIGNING_PLACEMENT_DEFAULT_SIZES=r,exports.SIGNING_PLACEMENT_MIME=n,exports.SIGNING_PLACEMENT_MIN_SIZE=i,exports.SIGNING_PLACEMENT_TYPE_LABELS=a,exports.applySigningPlacementPatch=y,exports.buildContractLocationRules=D,exports.buildSigningPlacementLocationRules=E,exports.canMutateSigningPlacements=h,exports.clampSigningPlacement=v,exports.createSigningPlacement=b,exports.getSigningPlacementDefaultSize=g,exports.getSigningPlacementTypeLabel=_,exports.moveSigningPlacementByDisplayDelta=S,exports.normalizeSigningPlacements=x,exports.parseSigningPlacementDragPayload=m,exports.resizeSigningPlacement=w,exports.resolveSigningPlacementToolItems=f,exports.scaleSigningPlacementToPage=C,exports.serializeSigningPlacementDragPayload=p,exports.validateSigningPlacements=T;
1
+ const e=require(`./html.cjs`),t=require(`../../../contract-signing-location/src/constants.cjs`);var n=`application/x-gd-contract-signing-placement`,r={seal:t.resolveContractSigningSealSizeInCssPixels([`04`]),signature:{width:l(50),height:l(20)},date:{width:l(50),height:l(20)}},i=8,a={seal:`印章`,signature:`签名`,date:`签署日期`},o=class extends Error{constructor(e){super(`签署位置无法转换为 locationRules`),this.code=`SIGNING_PLACEMENT_LOCATION_RULES_INVALID`,this.name=`ContractTemplateLocationRuleBuildError`,this.errors=e}},s=0;function c(){return s+=1,`signing-placement-${Date.now().toString(36)}-${s.toString(36)}`}function l(e,t=96){return Math.round(e/25.4*t)}function u(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function d(e){return{width:Math.max(1,u(e.width,1)),height:Math.max(1,u(e.height,1))}}function f(e={}){return e.showSigningPlacementTools===!1?[]:Object.keys(a).map(e=>({key:e,type:e,label:a[e]}))}function p(e){let t=A(e);return t?JSON.stringify(t):``}function m(e){if(typeof e!=`string`)return;let t=e.trim();if(N(t))return{type:t};try{return A(JSON.parse(t))}catch{return}}function h(e,t){return!e&&!t}function g(e){return{...r[e]??r.signature}}function _(e){return a[e]??`签署位置`}function v(e,t,n=8){let r=d(t),i=Math.max(1,u(n,8)),a=Math.min(r.width,Math.max(i,u(e.width,i))),o=Math.min(r.height,Math.max(i,u(e.height,i))),s=M(u(e.x,0),0,Math.max(0,r.width-a)),c=M(u(e.y,0),0,Math.max(0,r.height-o)),l=e.type===`seal`&&Array.isArray(e.sealTypes)&&e.sealTypes.length?Array.from(new Set(e.sealTypes.map(String).filter(Boolean))):void 0;return{id:e.id,pageId:e.pageId,type:e.type,x:j(s),y:j(c),width:j(a),height:j(o),mustSign:e.mustSign===!0,...l?{sealTypes:l}:{}}}function y(e,n,r){let i=n.type??e.type,a={...e,...n,type:i,...i===`seal`?{}:{sealTypes:void 0}};if(i===`seal`&&(n.type!==void 0||n.sealTypes!==void 0)){let e=t.resolveContractSigningSealSizeInCssPixels(n.sealTypes??a.sealTypes??[`04`]);a.width=e.width,a.height=e.height}return v(a,r)}function b(e,n,r,i={}){let a=N(e)?e:`signature`,o=g(a),s=d(r),l=a===`seal`?t.resolveContractSigningSealSizeInCssPixels(i.sealTypes??[`04`]):o,f=u(i.width,l.width),p=u(i.height,l.height);return v({id:i.id||c(),pageId:n,type:a,x:u(i.x,Math.max(0,(s.width-f)/2)),y:u(i.y,Math.max(0,(s.height-p)/2)),width:f,height:p,mustSign:i.mustSign===!0,...a===`seal`&&i.sealTypes?.length?{sealTypes:[...i.sealTypes]}:{}},s)}function x(e,t,n){if(!Array.isArray(e))return[];let r=d(n),i=k(e);return e.map((e,n)=>{let a=e&&typeof e==`object`?e:{},o=N(a.type)?a.type:`signature`,s=String(a.pageId||``),c=t[s]??r;return v({id:i[n],pageId:s,type:o,x:u(a.x,0),y:u(a.y,0),width:u(a.width,g(o).width),height:u(a.height,g(o).height),mustSign:a.mustSign===!0,...o===`seal`&&Array.isArray(a.sealTypes)&&a.sealTypes.length?{sealTypes:Array.from(new Set(a.sealTypes.map(String).filter(Boolean)))}:{}},c)})}function S(e,t,n,r,i){let a=Number.isFinite(r)&&r>0?r:1;return v({...e,x:e.x+u(t,0)/a,y:e.y+u(n,0)/a},i)}function C(e,t,n,r=8){let i=d(t),a=d(n);return v({...e,x:e.x*a.width/i.width,y:e.y*a.height/i.height,width:e.width*a.width/i.width,height:e.height*a.height/i.height},a,r)}function w(e,t,n){return v({...e,...t},n)}function T(e){let t=[],n=Array.isArray(e?.pages)?e.pages:[],r=new Map(n.map(e=>[e.id,e])),i=Array.isArray(e.signingPlacements)?e.signingPlacements:[],a=k(i),o=new Set;return i.forEach((n,i)=>{let s=String(n?.id||``),c=a[i];s?o.has(s)&&t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置标识 ${s} 重复`}):t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_ID_MISSING`,message:`签署位置缺少唯一标识`}),o.add(s);let l=r.get(n?.pageId);if(l||t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`签署位置引用的页面 ${n?.pageId||`(空)`} 不存在`}),N(n?.type)||t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_TYPE_INVALID`,message:`签署位置类型必须是 seal、signature 或 date`}),[n?.x,n?.y,n?.width,n?.height].some(e=>typeof e!=`number`||!Number.isFinite(e)))t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`签署位置坐标和尺寸必须是有限数字`});else if(n.width<8||n.height<8||n.width<=0||n.height<=0)t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`签署位置尺寸不能小于 8px`});else if(l){let r=d(l.pageSize??e.pageSize);(n.x<0||n.y<0||n.x+n.width>r.width||n.y+n.height>r.height)&&t.push({type:`signing-placement`,id:c,pageId:n.pageId,code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`签署位置不能超出所属页面边界`})}n?.type!==`seal`&&n?.sealTypes!==void 0?t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_SEAL_TYPES_INVALID`,message:`只有印章位置可以配置印章类型`}):n?.type===`seal`&&n.sealTypes!==void 0&&(!Array.isArray(n.sealTypes)||n.sealTypes.some(e=>typeof e!=`string`))&&t.push({type:`signing-placement`,id:c,pageId:n?.pageId,code:`SIGNING_PLACEMENT_SEAL_TYPES_INVALID`,message:`印章类型必须是字符串数组`})}),t}function E(e,t,n){let r=typeof t==`string`?{fileId:t,targetPageSizes:n}:t,i=T(e),a=String(r.fileId??``).trim();if(a||i.push({type:`signing-placement`,id:`location-rules`,code:`SIGNING_PLACEMENT_FILE_ID_MISSING`,message:`locationRules 缺少目标文件 ID`}),i.length)throw new o(i);let s=r.targetPageSizes,c=e.pages??[];return(e.signingPlacements??[]).map(t=>{let n=c.findIndex(e=>e.id===t.pageId),r=d((n>=0?c[n]:void 0)?.pageSize??e.pageSize),i=C(t,r,O(s,t.pageId,n,r),1),o={signType:t.type,signTop:Math.round(i.y),signLeft:Math.round(i.x),signWidth:Math.round(i.width),signHeight:Math.round(i.height),pageList:{[a]:[n]},...t.type===`seal`&&t.sealTypes?.length?{sealType:[...t.sealTypes]}:{}};return{mustSign:t.mustSign===!0,placementId:t.id,pageId:t.pageId,pageIndex:n,location:o}})}function D(e,t,n){return E(e,t,n).map(({mustSign:e,location:t})=>({mustSign:e,location:t}))}function O(t,n,r,i){if(!t)return i;let a=Array.isArray(t)?t[r]:t[n];return e.hasPositivePageSize(a)?d(a):i}function k(e){let t=new Set(e.map(e=>e&&typeof e==`object`?String(e.id||``):``).filter(Boolean)),n=new Set;return e.map((e,r)=>{let i=e&&typeof e==`object`?String(e.id||``):``;if(i&&!n.has(i))return n.add(i),i;let a=i||`signing-placement`,o=`${a}-normalized-${r+1}`,s=2;for(;n.has(o)||t.has(o);)o=`${a}-normalized-${r+1}-${s}`,s+=1;return n.add(o),o})}function A(e){if(!e||typeof e!=`object`)return;let t=e;if(N(t.type))return{type:t.type}}function j(e){return Math.round(e*100)/100}function M(e,t,n){return n<t?t:Math.min(n,Math.max(t,e))}function N(e){return e===`seal`||e===`signature`||e===`date`}exports.ContractTemplateLocationRuleBuildError=o,exports.SIGNING_PLACEMENT_DEFAULT_SIZES=r,exports.SIGNING_PLACEMENT_MIME=n,exports.SIGNING_PLACEMENT_MIN_SIZE=i,exports.SIGNING_PLACEMENT_TYPE_LABELS=a,exports.applySigningPlacementPatch=y,exports.buildContractLocationRules=D,exports.buildSigningPlacementLocationRules=E,exports.canMutateSigningPlacements=h,exports.clampSigningPlacement=v,exports.createSigningPlacement=b,exports.getSigningPlacementDefaultSize=g,exports.getSigningPlacementTypeLabel=_,exports.moveSigningPlacementByDisplayDelta=S,exports.normalizeSigningPlacements=x,exports.parseSigningPlacementDragPayload=m,exports.resizeSigningPlacement=w,exports.resolveSigningPlacementToolItems=f,exports.scaleSigningPlacementToPage=C,exports.serializeSigningPlacementDragPayload=p,exports.validateSigningPlacements=T;
@@ -1,3 +1,3 @@
1
- const e=require(`../types.cjs`),t=require(`./html.cjs`),n=require(`./template-variable-render.cjs`),r=require(`./page-decorations.cjs`),i=require(`../composables/use-template-designer.cjs`),a=require(`./image-url.cjs`);var o=new Set([`action`,`formaction`,`href`,`src`,`xlink:href`]),s=/<[^>]+data-template-variable=["']true["'][^>]*>/gi;function c(e){let t={};return(Array.isArray(e?.variables)?e.variables:[]).forEach(e=>{e?.key&&(t[e.key]=x(e))}),t}function l(e,t){return{...c(e),...t??{}}}function u(e,t){let n=f(e);if(!e)return n;let r=Array.isArray(e.variables)?e.variables:[],i=new Set(r.map(e=>e?.key).filter(Boolean));return Object.keys(t).forEach(e=>{i.has(e)||n.push({type:`variable`,id:e,variableKey:e,message:`提交值 ${e} 不属于模板变量`,code:`VARIABLE_UNKNOWN`})}),r.forEach(e=>{if(!e?.key)return;let r=t[e.key];if(e.required&&h(r)){n.push({type:`variable`,id:e.id,variableKey:e.key,message:`请填写${e.label||e.key}`,code:`VARIABLE_REQUIRED`});return}h(r)||(e.type===`number`&&(typeof r!=`number`||!Number.isFinite(r))&&n.push({type:`variable`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是合法数字`,code:`VARIABLE_TYPE_INVALID`}),e.type===`checkbox`&&typeof r!=`boolean`&&n.push({type:`variable`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是合法复选值`,code:`VARIABLE_TYPE_INVALID`}),e.type===`date`&&!j(r)&&n.push({type:`variable`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是合法日期`,code:`VARIABLE_TYPE_INVALID`}),e.type===`image`&&!a.isSafeContractImageUrl(String(r))&&n.push({type:`security`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是安全的图片地址`,code:`IMAGE_URL_UNSAFE`}))}),n}function d(e,t,n){return n?u(e,t):f(e)}function f(n){if(!n)return[{type:`page`,id:`template`,message:`缺少可渲染的合同模板`,code:`TEMPLATE_MISSING`}];let a=[],o=Array.isArray(n.pages)?n.pages:[],s=Array.isArray(n.variables)?n.variables:[];(!Array.isArray(n.pages)||o.length===0)&&a.push({type:`page`,id:`template-pages`,message:`模板至少需要一个合法页面`,code:`TEMPLATE_PAGES_INVALID`}),Array.isArray(n.variables)||a.push({type:`variable`,id:`template-variables`,message:`模板变量列表格式无效`,code:`TEMPLATE_VARIABLES_INVALID`}),t.hasPositivePageSize(n.pageSize)||a.push({type:`page`,id:`template-page-size`,message:`模板默认页面尺寸无效,已回退为安全默认尺寸`,code:`TEMPLATE_PAGE_SIZE_INVALID`});let c=new Map;s.forEach((t,n)=>{if(!t||typeof t.key!=`string`||!t.key.trim()){a.push({type:`variable`,id:t?.id||`variable-${n}`,message:`第 ${n+1} 个变量缺少有效 key`,code:`VARIABLE_KEY_MISSING`});return}let r=t.key.trim(),o=s.some(e=>e?.id!==t.id&&typeof e?.key==`string`&&e.key.trim()===r),l=i.validateContractTemplateVariableKey(t.key,s,t.id),u=!i.CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN.test(r)||i.CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS.has(r);l&&(u||!o||t.key!==r)&&a.push({type:`variable`,id:t.id||`variable-${n}`,variableKey:t.key,message:`${t.label||t.key}:${l}`,code:`VARIABLE_KEY_INVALID`}),c.set(r,(c.get(r)??0)+1),e.isContractTemplateFieldType(t.type??`text`)||a.push({type:`variable`,id:t.id,variableKey:t.key,message:`${t.label||t.key} 不是正文填写变量`,code:`VARIABLE_TYPE_UNSUPPORTED`})}),c.forEach((e,t)=>{e>1&&a.push({type:`variable`,id:t,variableKey:t,message:`变量 key ${t} 重复`,code:`VARIABLE_KEY_DUPLICATED`})});let l=new Set;o.forEach((e,n)=>{if(!e||typeof e.id!=`string`||!e.id.trim()||typeof e.contentHtml!=`string`){a.push({type:`page`,id:e?.id||`page-${n}`,pageId:e?.id,message:`第 ${n+1} 页结构无效,已跳过渲染`,code:`PAGE_INVALID`});return}e.pageSize!==void 0&&!t.hasPositivePageSize(e.pageSize)&&a.push({type:`page`,id:`${e.id}-page-size`,pageId:e.id,message:`${e.title||`第 ${n+1} 页`}:页面尺寸无效,已回退为安全尺寸`,code:`PAGE_SIZE_INVALID`}),E(e.contentHtml).forEach(e=>l.add(e)),D(e.contentHtml).forEach((t,r)=>{a.push({type:`security`,id:`${e.id}-security-${r}`,pageId:e.id,message:`${e.title||`第 ${n+1} 页`}:${t}`,code:`HTML_UNSAFE`})})}),l.forEach(e=>{c.has(e)||a.push({type:`variable`,id:e,variableKey:e,message:`正文引用的变量 ${e} 缺少配置`,code:`VARIABLE_CONFIG_MISSING`})});let u=r.collectPageDecorationVariableKeys(n.pageDecorations);return c.forEach((e,t)=>{!l.has(t)&&!u.has(t)&&a.push({type:`variable`,id:t,variableKey:t,message:`变量 ${t} 缺少正文节点`,code:`VARIABLE_NODE_MISSING`})}),a.push(...r.validatePageDecorations(n.pageDecorations,s)),a}function p(e,n,a={}){if(!e||!Array.isArray(e.pages))return[];let o=Array.isArray(e.variables)?e.variables:[],s=new Map(o.filter(e=>e?.key).map(e=>[e.key,e])),c=t.hasPositivePageSize(e.pageSize)?e.pageSize:i.DEFAULT_PAGE_SIZE;return e.pages.flatMap(t=>{if(!t||typeof t.id!=`string`||!t.id.trim()||typeof t.contentHtml!=`string`)return[];let l=i.resolvePageSize(t.pageSize,c);return[{id:t.id,title:t.title||`未命名页面`,format:l.format??`Custom`,width:l.width,height:l.height,contentHtml:g(t.contentHtml,s,n,a),...e.pageDecorations?{pageDecorations:r.normalizePageDecorations(e.pageDecorations)}:{},decorationVariables:o,decorationValues:n}]})}function m(e,n,i={}){return p(e,n,i).map((e,n,i)=>{let a=r.buildPageDecorationsHtml(e.pageDecorations,n+1,i.length,e.decorationVariables,e.decorationValues);return`<section class="${r.buildPageDecorationClassNames(e.pageDecorations,n+1)}" data-page-id="${t.escapeHtmlAttribute(e.id)}" data-page-format="${t.escapeHtmlAttribute(e.format)}" data-page-width="${e.width}" data-page-height="${e.height}" style="width:${e.width}px;min-height:${e.height}px">${a}<div class="gd-contract-template-page__content">${e.contentHtml}</div></section>`}).join(`
2
- `)}function h(e){return e==null||e===``}function g(e,n,r,i){if(!e)return e;let a=T(e);if(t.canUseDomHtml()){let e=new DOMParser().parseFromString(a,`text/html`);return e.querySelectorAll(`[data-template-variable]`).forEach(e=>{_(e,n,r,i)}),e.body.innerHTML}return t.replaceTemplateVariableSpans(a,(e,a)=>{let o=t.getHtmlAttribute(a,`data-key`);return o?v(n.get(o),o,r[o],i):e})}function _(e,t,n,r){let i=e.dataset.key||``,a=t.get(i);if(!i||!a)return;let o=new DOMParser().parseFromString(v(a,i,n[i],r),`text/html`).body.firstElementChild;o&&e.replaceWith(o)}function v(e,t,n,r){return r.mode===`display`?y(e,t,n,r):b(e,t,n,r)}function y(e,r,i,o){let s=e?.type??`text`,c=i??x(e),l=s===`image`&&!h(c)&&!a.isSafeContractImageUrl(String(c))?``:c,u=C(l),d=n.resolveTemplateVariablePresentation({type:s,width:e?.width,height:e?.height,placeholder:e?.placeholder??``,defaultValue:u,format:e?.format??``,precision:e?.precision,useGrouping:e?.useGrouping,checkedText:e?.checkedText??``,uncheckedText:e?.uncheckedText??``,multiline:e?.multiline,rows:e?.rows,lineHeight:e?.lineHeight,style:e?.style}),f=d.displayText||e?.placeholder||e?.label||r,p=[`class="${t.escapeHtmlAttribute([`gd-contract-template-renderer__control`,`gd-contract-template-renderer__preview-control`,...d.classes,o.activeKey===r?`is-active`:``,h(l)?`is-empty`:``].filter(Boolean).join(` `))}"`,`style="${t.escapeHtmlAttribute(d.styleText)}"`,`data-contract-render-wrapper="true"`,`data-contract-render-preview="true"`,`data-key="${t.escapeHtmlAttribute(r)}"`,`data-variable-type="${t.escapeHtmlAttribute(s)}"`,`aria-label="${t.escapeHtmlAttribute(e?.label||r)}"`,o.disabled?``:`role="button"`,o.disabled?``:`tabindex="0"`].filter(Boolean).join(` `);return s===`checkbox`?`<span ${p}><span class="gd-contract-template-renderer__checkbox-mark" aria-hidden="true">${w(l)?`✓`:``}</span>${t.escapeHtmlText(f)}</span>`:s===`image`&&!h(l)?`<span ${p}></span>`:`<span ${p}>${t.escapeHtmlText(f)}</span>`}function b(e,r,i,a){let o=e?.type??`text`,s=!!a.readonly,c=S(i??x(e)),l=n.resolveTemplateVariablePresentation({type:o,width:e?.width,height:e?.height,placeholder:e?.placeholder??``,defaultValue:s?c:``,format:e?.format??``,precision:e?.precision,useGrouping:e?.useGrouping,checkedText:e?.checkedText??``,uncheckedText:e?.uncheckedText??``,multiline:e?.multiline,rows:e?.rows,lineHeight:e?.lineHeight,style:e?.style}),u=a.disabled||s,d=[`data-contract-render-control="true"`,`data-key="${t.escapeHtmlAttribute(r)}"`,`data-variable-type="${t.escapeHtmlAttribute(o)}"`,`aria-label="${t.escapeHtmlAttribute(e?.label||r)}"`,u?`disabled`:``,s?`readonly`:``].filter(Boolean).join(` `),f=`style="${t.escapeHtmlAttribute(l.styleText)}"`,p=t.escapeHtmlAttribute([`gd-contract-template-renderer__control`,...l.classes].join(` `));return o===`checkbox`?`<label class="${p}" ${f} data-contract-render-wrapper="true" data-key="${t.escapeHtmlAttribute(r)}"><input type="checkbox" ${d} ${w(c)?`checked`:``}>${t.escapeHtmlText(e?.checkedText||e?.label||r)}</label>`:s?`<span class="${p}" ${f} data-contract-render-wrapper="true" data-key="${t.escapeHtmlAttribute(r)}">${t.escapeHtmlText(l.displayText||c)}</span>`:o===`number`?`<input class="${p}" ${f} type="number" ${d} value="${t.escapeHtmlAttribute(c)}" placeholder="${t.escapeHtmlAttribute(e?.placeholder||``)}">`:o===`date`?`<input class="${p}" ${f} type="date" ${d} value="${t.escapeHtmlAttribute(c)}" placeholder="${t.escapeHtmlAttribute(e?.placeholder||``)}">`:e?.multiline?`<textarea class="${p}" ${f} ${d} placeholder="${t.escapeHtmlAttribute(e.placeholder||``)}">${t.escapeHtmlText(c)}</textarea>`:`<input class="${p}" ${f} type="text" ${d} value="${t.escapeHtmlAttribute(c)}" placeholder="${t.escapeHtmlAttribute(e?.placeholder||``)}">`}function x(e){if(!e)return``;if(e.type===`checkbox`)return w(e.defaultValue);if(e.type===`number`&&e.defaultValue!==void 0){let t=Number(e.defaultValue);return Number.isFinite(t)?t:e.defaultValue}return e.defaultValue??``}function S(e){return typeof e==`boolean`?e?`true`:``:e==null?``:String(e)}function C(e){return typeof e==`boolean`?e?`true`:`false`:e==null?``:String(e)}function w(e){return e===!0||e===`true`||e===`1`||e===`yes`||e===`是`||e===`已选`}function T(e){if(t.canParseHtmlDocument()){let t=new DOMParser().parseFromString(e,`text/html`);return t.querySelectorAll(`script,style,meta,link,iframe,object,embed`).forEach(e=>e.remove()),t.querySelectorAll(`*`).forEach(e=>{Array.from(e.attributes).forEach(t=>{let n=t.name.toLowerCase();(n.startsWith(`on`)||n===`srcdoc`||o.has(n)&&O(t.value)||n===`style`&&A(t.value))&&e.removeAttribute(t.name)})}),t.body.innerHTML}return e.replace(/<\s*(script|style|iframe|object|embed)\b[^>]*>[\s\S]*?<\s*\/\s*\1\s*>/gi,``).replace(/<\s*\/?\s*(?:script|style|meta|link|iframe|object|embed)\b[^>]*>/gi,``).replace(/\s+on[a-z]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,``).replace(/\s+srcdoc\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,``).replace(/\s+(action|formaction|href|src|xlink:href)\s*=\s*(?:(["'])(.*?)\2|([^\s>]+))/gi,(e,t,n,r,i)=>{let a=r??i??``;return O(a)?``:n?` ${t}=${n}${a}${n}`:` ${t}=${a}`}).replace(/\s+style\s*=\s*(["'])(.*?)\1/gi,(e,t,n)=>A(n)?``:` style=${t}${n}${t}`)}function E(e){return t.collectFromHtmlTags(e,s,e=>t.getHtmlAttribute(e,`data-key`))}function D(e){let t=[];return/<\s*(script|style|meta|link|iframe|object|embed)\b/i.test(e)&&t.push(`正文包含已移除的危险标签`),/\s(?:on[a-z]+|srcdoc)\s*=/i.test(e)&&t.push(`正文包含已移除的事件或嵌入属性`),(k(e)||/style\s*=\s*["'][^"']*(?:expression\s*\(|url\s*\(\s*["']?\s*(?:javascript|vbscript|data:text\/html))/i.test(e))&&t.push(`正文包含已移除的危险 URL 或样式`),t}function O(e){let t=e.replace(/&#(?:x([\da-f]+)|(\d+));?/gi,(e,t,n)=>{let r=Number.parseInt(t??n??``,t?16:10);try{return Number.isFinite(r)?String.fromCodePoint(r):e}catch{return e}}).replace(/&(colon|tab|newline);/gi,(e,t)=>({colon:`:`,newline:`
1
+ const e=require(`./html.cjs`),t=require(`./template-variable-render.cjs`),n=require(`./page-decorations.cjs`),r=require(`../types.cjs`),i=require(`../composables/use-template-designer.cjs`),a=require(`./image-url.cjs`);var o=new Set([`action`,`formaction`,`href`,`src`,`xlink:href`]),s=/<[^>]+data-template-variable=["']true["'][^>]*>/gi;function c(e){let t={};return(Array.isArray(e?.variables)?e.variables:[]).forEach(e=>{e?.key&&(t[e.key]=x(e))}),t}function l(e,t){return{...c(e),...t??{}}}function u(e,t){let n=f(e);if(!e)return n;let r=Array.isArray(e.variables)?e.variables:[],i=new Set(r.map(e=>e?.key).filter(Boolean));return Object.keys(t).forEach(e=>{i.has(e)||n.push({type:`variable`,id:e,variableKey:e,message:`提交值 ${e} 不属于模板变量`,code:`VARIABLE_UNKNOWN`})}),r.forEach(e=>{if(!e?.key)return;let r=t[e.key];if(e.required&&h(r)){n.push({type:`variable`,id:e.id,variableKey:e.key,message:`请填写${e.label||e.key}`,code:`VARIABLE_REQUIRED`});return}h(r)||(e.type===`number`&&(typeof r!=`number`||!Number.isFinite(r))&&n.push({type:`variable`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是合法数字`,code:`VARIABLE_TYPE_INVALID`}),e.type===`checkbox`&&typeof r!=`boolean`&&n.push({type:`variable`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是合法复选值`,code:`VARIABLE_TYPE_INVALID`}),e.type===`date`&&!j(r)&&n.push({type:`variable`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是合法日期`,code:`VARIABLE_TYPE_INVALID`}),e.type===`image`&&!a.isSafeContractImageUrl(String(r))&&n.push({type:`security`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是安全的图片地址`,code:`IMAGE_URL_UNSAFE`}))}),n}function d(e,t,n){return n?u(e,t):f(e)}function f(t){if(!t)return[{type:`page`,id:`template`,message:`缺少可渲染的合同模板`,code:`TEMPLATE_MISSING`}];let a=[],o=Array.isArray(t.pages)?t.pages:[],s=Array.isArray(t.variables)?t.variables:[];(!Array.isArray(t.pages)||o.length===0)&&a.push({type:`page`,id:`template-pages`,message:`模板至少需要一个合法页面`,code:`TEMPLATE_PAGES_INVALID`}),Array.isArray(t.variables)||a.push({type:`variable`,id:`template-variables`,message:`模板变量列表格式无效`,code:`TEMPLATE_VARIABLES_INVALID`}),e.hasPositivePageSize(t.pageSize)||a.push({type:`page`,id:`template-page-size`,message:`模板默认页面尺寸无效,已回退为安全默认尺寸`,code:`TEMPLATE_PAGE_SIZE_INVALID`});let c=new Map;s.forEach((e,t)=>{if(!e||typeof e.key!=`string`||!e.key.trim()){a.push({type:`variable`,id:e?.id||`variable-${t}`,message:`第 ${t+1} 个变量缺少有效 key`,code:`VARIABLE_KEY_MISSING`});return}let n=e.key.trim(),o=s.some(t=>t?.id!==e.id&&typeof t?.key==`string`&&t.key.trim()===n),l=i.validateContractTemplateVariableKey(e.key,s,e.id),u=!i.CONTRACT_TEMPLATE_VARIABLE_KEY_PATTERN.test(n)||i.CONTRACT_TEMPLATE_RESERVED_VARIABLE_KEYS.has(n);l&&(u||!o||e.key!==n)&&a.push({type:`variable`,id:e.id||`variable-${t}`,variableKey:e.key,message:`${e.label||e.key}:${l}`,code:`VARIABLE_KEY_INVALID`}),c.set(n,(c.get(n)??0)+1),r.isContractTemplateFieldType(e.type??`text`)||a.push({type:`variable`,id:e.id,variableKey:e.key,message:`${e.label||e.key} 不是正文填写变量`,code:`VARIABLE_TYPE_UNSUPPORTED`})}),c.forEach((e,t)=>{e>1&&a.push({type:`variable`,id:t,variableKey:t,message:`变量 key ${t} 重复`,code:`VARIABLE_KEY_DUPLICATED`})});let l=new Set;o.forEach((t,n)=>{if(!t||typeof t.id!=`string`||!t.id.trim()||typeof t.contentHtml!=`string`){a.push({type:`page`,id:t?.id||`page-${n}`,pageId:t?.id,message:`第 ${n+1} 页结构无效,已跳过渲染`,code:`PAGE_INVALID`});return}t.pageSize!==void 0&&!e.hasPositivePageSize(t.pageSize)&&a.push({type:`page`,id:`${t.id}-page-size`,pageId:t.id,message:`${t.title||`第 ${n+1} 页`}:页面尺寸无效,已回退为安全尺寸`,code:`PAGE_SIZE_INVALID`}),E(t.contentHtml).forEach(e=>l.add(e)),D(t.contentHtml).forEach((e,r)=>{a.push({type:`security`,id:`${t.id}-security-${r}`,pageId:t.id,message:`${t.title||`第 ${n+1} 页`}:${e}`,code:`HTML_UNSAFE`})})}),l.forEach(e=>{c.has(e)||a.push({type:`variable`,id:e,variableKey:e,message:`正文引用的变量 ${e} 缺少配置`,code:`VARIABLE_CONFIG_MISSING`})});let u=n.collectPageDecorationVariableKeys(t.pageDecorations);return c.forEach((e,t)=>{!l.has(t)&&!u.has(t)&&a.push({type:`variable`,id:t,variableKey:t,message:`变量 ${t} 缺少正文节点`,code:`VARIABLE_NODE_MISSING`})}),a.push(...n.validatePageDecorations(t.pageDecorations,s)),a}function p(t,r,a={}){if(!t||!Array.isArray(t.pages))return[];let o=Array.isArray(t.variables)?t.variables:[],s=new Map(o.filter(e=>e?.key).map(e=>[e.key,e])),c=e.hasPositivePageSize(t.pageSize)?t.pageSize:i.DEFAULT_PAGE_SIZE;return t.pages.flatMap(e=>{if(!e||typeof e.id!=`string`||!e.id.trim()||typeof e.contentHtml!=`string`)return[];let l=i.resolvePageSize(e.pageSize,c);return[{id:e.id,title:e.title||`未命名页面`,format:l.format??`Custom`,width:l.width,height:l.height,contentHtml:g(e.contentHtml,s,r,a),...t.pageDecorations?{pageDecorations:n.normalizePageDecorations(t.pageDecorations)}:{},decorationVariables:o,decorationValues:r}]})}function m(t,r,i={}){return p(t,r,i).map((t,r,i)=>{let a=n.buildPageDecorationsHtml(t.pageDecorations,r+1,i.length,t.decorationVariables,t.decorationValues);return`<section class="${n.buildPageDecorationClassNames(t.pageDecorations,r+1)}" data-page-id="${e.escapeHtmlAttribute(t.id)}" data-page-format="${e.escapeHtmlAttribute(t.format)}" data-page-width="${t.width}" data-page-height="${t.height}" style="width:${t.width}px;min-height:${t.height}px">${a}<div class="gd-contract-template-page__content">${t.contentHtml}</div></section>`}).join(`
2
+ `)}function h(e){return e==null||e===``}function g(t,n,r,i){if(!t)return t;let a=T(t);if(e.canUseDomHtml()){let e=new DOMParser().parseFromString(a,`text/html`);return e.querySelectorAll(`[data-template-variable]`).forEach(e=>{_(e,n,r,i)}),e.body.innerHTML}return e.replaceTemplateVariableSpans(a,(t,a)=>{let o=e.getHtmlAttribute(a,`data-key`);return o?v(n.get(o),o,r[o],i):t})}function _(e,t,n,r){let i=e.dataset.key||``,a=t.get(i);if(!i||!a)return;let o=new DOMParser().parseFromString(v(a,i,n[i],r),`text/html`).body.firstElementChild;o&&e.replaceWith(o)}function v(e,t,n,r){return r.mode===`display`?y(e,t,n,r):b(e,t,n,r)}function y(n,r,i,o){let s=n?.type??`text`,c=i??x(n),l=s===`image`&&!h(c)&&!a.isSafeContractImageUrl(String(c))?``:c,u=C(l),d=t.resolveTemplateVariablePresentation({type:s,width:n?.width,height:n?.height,placeholder:n?.placeholder??``,defaultValue:u,format:n?.format??``,precision:n?.precision,useGrouping:n?.useGrouping,checkedText:n?.checkedText??``,uncheckedText:n?.uncheckedText??``,multiline:n?.multiline,rows:n?.rows,lineHeight:n?.lineHeight,style:n?.style}),f=d.displayText||n?.placeholder||n?.label||r,p=[`class="${e.escapeHtmlAttribute([`gd-contract-template-renderer__control`,`gd-contract-template-renderer__preview-control`,...d.classes,o.activeKey===r?`is-active`:``,h(l)?`is-empty`:``].filter(Boolean).join(` `))}"`,`style="${e.escapeHtmlAttribute(d.styleText)}"`,`data-contract-render-wrapper="true"`,`data-contract-render-preview="true"`,`data-key="${e.escapeHtmlAttribute(r)}"`,`data-variable-type="${e.escapeHtmlAttribute(s)}"`,`aria-label="${e.escapeHtmlAttribute(n?.label||r)}"`,o.disabled?``:`role="button"`,o.disabled?``:`tabindex="0"`].filter(Boolean).join(` `);return s===`checkbox`?`<span ${p}><span class="gd-contract-template-renderer__checkbox-mark" aria-hidden="true">${w(l)?`✓`:``}</span>${e.escapeHtmlText(f)}</span>`:s===`image`&&!h(l)?`<span ${p}></span>`:`<span ${p}>${e.escapeHtmlText(f)}</span>`}function b(n,r,i,a){let o=n?.type??`text`,s=!!a.readonly,c=S(i??x(n)),l=t.resolveTemplateVariablePresentation({type:o,width:n?.width,height:n?.height,placeholder:n?.placeholder??``,defaultValue:s?c:``,format:n?.format??``,precision:n?.precision,useGrouping:n?.useGrouping,checkedText:n?.checkedText??``,uncheckedText:n?.uncheckedText??``,multiline:n?.multiline,rows:n?.rows,lineHeight:n?.lineHeight,style:n?.style}),u=a.disabled||s,d=[`data-contract-render-control="true"`,`data-key="${e.escapeHtmlAttribute(r)}"`,`data-variable-type="${e.escapeHtmlAttribute(o)}"`,`aria-label="${e.escapeHtmlAttribute(n?.label||r)}"`,u?`disabled`:``,s?`readonly`:``].filter(Boolean).join(` `),f=`style="${e.escapeHtmlAttribute(l.styleText)}"`,p=e.escapeHtmlAttribute([`gd-contract-template-renderer__control`,...l.classes].join(` `));return o===`checkbox`?`<label class="${p}" ${f} data-contract-render-wrapper="true" data-key="${e.escapeHtmlAttribute(r)}"><input type="checkbox" ${d} ${w(c)?`checked`:``}>${e.escapeHtmlText(n?.checkedText||n?.label||r)}</label>`:s?`<span class="${p}" ${f} data-contract-render-wrapper="true" data-key="${e.escapeHtmlAttribute(r)}">${e.escapeHtmlText(l.displayText||c)}</span>`:o===`number`?`<input class="${p}" ${f} type="number" ${d} value="${e.escapeHtmlAttribute(c)}" placeholder="${e.escapeHtmlAttribute(n?.placeholder||``)}">`:o===`date`?`<input class="${p}" ${f} type="date" ${d} value="${e.escapeHtmlAttribute(c)}" placeholder="${e.escapeHtmlAttribute(n?.placeholder||``)}">`:n?.multiline?`<textarea class="${p}" ${f} ${d} placeholder="${e.escapeHtmlAttribute(n.placeholder||``)}">${e.escapeHtmlText(c)}</textarea>`:`<input class="${p}" ${f} type="text" ${d} value="${e.escapeHtmlAttribute(c)}" placeholder="${e.escapeHtmlAttribute(n?.placeholder||``)}">`}function x(e){if(!e)return``;if(e.type===`checkbox`)return w(e.defaultValue);if(e.type===`number`&&e.defaultValue!==void 0){let t=Number(e.defaultValue);return Number.isFinite(t)?t:e.defaultValue}return e.defaultValue??``}function S(e){return typeof e==`boolean`?e?`true`:``:e==null?``:String(e)}function C(e){return typeof e==`boolean`?e?`true`:`false`:e==null?``:String(e)}function w(e){return e===!0||e===`true`||e===`1`||e===`yes`||e===`是`||e===`已选`}function T(t){if(e.canParseHtmlDocument()){let e=new DOMParser().parseFromString(t,`text/html`);return e.querySelectorAll(`script,style,meta,link,iframe,object,embed`).forEach(e=>e.remove()),e.querySelectorAll(`*`).forEach(e=>{Array.from(e.attributes).forEach(t=>{let n=t.name.toLowerCase();(n.startsWith(`on`)||n===`srcdoc`||o.has(n)&&O(t.value)||n===`style`&&A(t.value))&&e.removeAttribute(t.name)})}),e.body.innerHTML}return t.replace(/<\s*(script|style|iframe|object|embed)\b[^>]*>[\s\S]*?<\s*\/\s*\1\s*>/gi,``).replace(/<\s*\/?\s*(?:script|style|meta|link|iframe|object|embed)\b[^>]*>/gi,``).replace(/\s+on[a-z]+\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,``).replace(/\s+srcdoc\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/gi,``).replace(/\s+(action|formaction|href|src|xlink:href)\s*=\s*(?:(["'])(.*?)\2|([^\s>]+))/gi,(e,t,n,r,i)=>{let a=r??i??``;return O(a)?``:n?` ${t}=${n}${a}${n}`:` ${t}=${a}`}).replace(/\s+style\s*=\s*(["'])(.*?)\1/gi,(e,t,n)=>A(n)?``:` style=${t}${n}${t}`)}function E(t){return e.collectFromHtmlTags(t,s,t=>e.getHtmlAttribute(t,`data-key`))}function D(e){let t=[];return/<\s*(script|style|meta|link|iframe|object|embed)\b/i.test(e)&&t.push(`正文包含已移除的危险标签`),/\s(?:on[a-z]+|srcdoc)\s*=/i.test(e)&&t.push(`正文包含已移除的事件或嵌入属性`),(k(e)||/style\s*=\s*["'][^"']*(?:expression\s*\(|url\s*\(\s*["']?\s*(?:javascript|vbscript|data:text\/html))/i.test(e))&&t.push(`正文包含已移除的危险 URL 或样式`),t}function O(e){let t=e.replace(/&#(?:x([\da-f]+)|(\d+));?/gi,(e,t,n)=>{let r=Number.parseInt(t??n??``,t?16:10);try{return Number.isFinite(r)?String.fromCodePoint(r):e}catch{return e}}).replace(/&(colon|tab|newline);/gi,(e,t)=>({colon:`:`,newline:`
3
3
  `,tab:` `})[t.toLowerCase()]??``).trim().replace(/[\u0000-\u0020\u007F]+/g,``);return/^(?:javascript|vbscript|data:text\/html)/i.test(t)}function k(e){let t=/\s+(?:action|formaction|href|src|xlink:href)\s*=\s*(?:(["'])(.*?)\1|([^\s>]+))/gi,n=t.exec(e);for(;n;){if(O(n[2]??n[3]??``))return!0;n=t.exec(e)}return!1}function A(e){return/expression\s*\(|url\s*\(\s*["']?\s*(?:javascript|vbscript|data:text\/html)/i.test(e)}function j(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e));if(!t)return!1;let n=new Date(`${t[1]}-${t[2]}-${t[3]}T00:00:00Z`);return!Number.isNaN(n.getTime())&&n.getUTCFullYear()===Number(t[1])&&n.getUTCMonth()+1===Number(t[2])&&n.getUTCDate()===Number(t[3])}exports.buildInitialRenderValues=c,exports.buildTemplateRenderHtml=m,exports.buildTemplateRenderPages=p,exports.isEmptyRenderValue=h,exports.normalizeRenderValues=l,exports.resolveTemplateRenderSubmitErrors=d,exports.sanitizeContractRendererHtml=T,exports.validateTemplateRenderStructure=f,exports.validateTemplateRenderValues=u;
@@ -1 +1 @@
1
- :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-contract-template-designer{--gd-toolbar-control-height:30px;--gd-toolbar-radius:10px;--gd-toolbar-gap:8px;--gd-toolbar-border:var(--gdant-neutral-200);--gd-toolbar-bg:var(--gdant-neutral-0);--gd-toolbar-muted-bg:var(--gdant-neutral-50);--gd-toolbar-shadow:var(--gdant-shadow-raised);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-100);min-height:640px;color:var(--gdant-neutral-800);flex-direction:column;font-size:14px;display:flex;overflow:hidden;container-type:inline-size}.gd-contract-template-designer__layout{--gd-sidebar-expanded:260px;--gd-inspector-expanded:300px;flex:auto;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.gd-contract-template-designer__file-bar{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-xs) var(--gdant-spacing-md);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);display:flex}.gd-contract-template-designer__file-list{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-width:thin;flex:auto;padding-block:2px;padding-inline-end:var(--gdant-spacing-xs);display:flex;overflow-x:auto}.gd-contract-template-designer__file-item{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-50);min-width:128px;max-width:280px;height:34px;transition:border-color var(--gdant-duration-fast) var(--gdant-easing-default), background var(--gdant-duration-fast) var(--gdant-easing-default), box-shadow var(--gdant-duration-fast) var(--gdant-easing-default);flex:none;align-items:center;display:inline-flex}.gd-contract-template-designer__file-item.is-active{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);box-shadow:inset 3px 0 0 var(--gdant-primary-500)}.gd-contract-template-designer__file-tab{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;height:100%;padding:0 var(--gdant-spacing-sm);color:var(--gdant-neutral-700);cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;display:inline-flex}.gd-contract-template-designer__file-tab small{color:var(--gdant-neutral-500);flex:none;font-size:11px}.gd-contract-template-designer__file-index{background:var(--gdant-neutral-200);width:18px;height:18px;color:var(--gdant-neutral-600);font-size:11px;font-weight:var(--gdant-font-semibold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.gd-contract-template-designer__file-item.is-active .gd-contract-template-designer__file-index{background:var(--gdant-primary-500);color:var(--gdant-neutral-0)}.gd-contract-template-designer__file-name{min-width:0;font-weight:var(--gdant-font-medium);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.gd-contract-template-designer__file-actions{flex:none;align-items:center;padding-inline-end:2px;display:inline-flex}.gd-contract-template-designer__file-actions .ant-btn-sm{width:24px;min-width:24px;height:24px;padding:0}.gd-contract-template-designer__file-rename{width:180px;margin-inline:var(--gdant-spacing-xs)}.gd-contract-template-designer__file-add.ant-btn-sm{border-color:var(--gdant-primary-200);height:30px;color:var(--gdant-primary-600);flex:none}.gd-contract-template-designer.is-fullscreen{z-index:980;border-radius:0;width:100vw;min-height:0;position:fixed;inset:0;height:100dvh!important}.gd-contract-template-designer__sidebar,.gd-contract-template-designer__inspector{z-index:1;background:var(--gdant-neutral-0);min-width:0;min-height:0;transition:width var(--gdant-duration-slow) var(--gdant-easing-default);flex-direction:column;display:flex;position:relative;overflow:visible}.gd-contract-template-designer__sidebar{width:var(--gd-sidebar-expanded);border-right:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__inspector{width:var(--gd-inspector-expanded);border-left:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__sidebar.is-collapsed{border-right-width:0;width:0}.gd-contract-template-designer__inspector.is-collapsed{border-left-width:0;width:0}.gd-contract-template-designer__sidebar.is-collapsed .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__inspector.is-collapsed .gd-contract-template-designer__panel-stack{visibility:hidden}.gd-contract-template-designer__workspace{grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.gd-contract-template-designer__validation{grid-row:3}.gd-contract-template-designer__workspace-chrome{display:contents}.gd-contract-template-designer__workspace-chrome-handle{box-sizing:border-box;border:0;border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:100%;height:14px;color:var(--gdant-neutral-500);cursor:pointer;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);grid-row:1;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.gd-contract-template-designer__workspace-chrome-handle .anticon{font-size:10px}.gd-contract-template-designer__workspace-chrome-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-designer__canvas{grid-row:4}.gd-contract-template-designer__immersive-exit{z-index:3;align-items:center;gap:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);opacity:.55;background:color-mix(in srgb, var(--gdant-neutral-0) 88%, transparent);height:28px;box-shadow:var(--gdant-shadow-raised);color:var(--gdant-neutral-700);cursor:pointer;transition:opacity var(--gdant-duration-normal) var(--gdant-easing-default), border-color var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);border-radius:999px;margin:0;padding-inline:10px;font-size:12px;display:inline-flex;position:absolute;top:12px;right:16px}.gd-contract-template-designer__immersive-exit .anticon{font-size:13px}.gd-contract-template-designer__immersive-exit kbd{border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-100);color:var(--gdant-neutral-600);padding-inline:4px;font-family:inherit;font-size:10px;line-height:16px}.gd-contract-template-designer__immersive-exit:hover,.gd-contract-template-designer__immersive-exit:focus-visible{border-color:var(--gdant-primary-300);opacity:1;color:var(--gdant-primary-600)}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm{align-items:center;gap:var(--gdant-spacing-xs);min-width:156px;height:var(--gd-toolbar-control-height);text-align:left;padding-inline:8px;display:inline-flex}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm>.anticon{flex:none}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy{min-width:0;line-height:1.1;display:grid}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy>span,.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy>small{color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm.is-selected{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-600)}.gd-contract-template-designer__page-decorations-studio{z-index:var(--gdant-z-overlay);border-left:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:min(480px,68%);min-width:0;box-shadow:var(--gdant-shadow-modal);pointer-events:auto;flex-direction:column;grid-row:4;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;container:page-decorations-studio/inline-size}.gd-contract-template-designer__page-decorations-studio-head,.gd-contract-template-designer__page-decorations-studio-footer{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex:none;display:flex}.gd-contract-template-designer__page-decorations-studio-head{z-index:1;position:relative}.gd-contract-template-designer__page-decorations-studio-title,.gd-contract-template-designer__page-decorations-studio-actions,.gd-contract-template-designer__page-decorations-studio-footer>div{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;display:flex}.gd-contract-template-designer__page-decorations-studio-title>div{gap:2px;min-width:0;display:grid}.gd-contract-template-designer__page-decorations-studio-title strong{color:var(--gdant-neutral-900);font-size:15px;font-weight:var(--gdant-font-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__page-decorations-studio-title small,.gd-contract-template-designer__page-decorations-studio-footer>span,.gd-contract-template-designer__page-decorations-studio-section-head small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-caption);line-height:1.5}.gd-contract-template-designer__page-decorations-studio-icon{border-radius:var(--gdant-radius-md);background:var(--gdant-primary-50);width:28px;height:28px;color:var(--gdant-primary-600);flex:none;justify-content:center;align-items:center;display:inline-flex}.gd-contract-template-designer__page-decorations-studio-body{min-width:0;min-height:0;padding:var(--gdant-spacing-md);background:var(--gdant-neutral-50);flex:auto;display:block;overflow:auto}.gd-contract-template-designer__page-decorations-studio-form-section{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);min-width:0}.gd-contract-template-designer__page-decorations-studio-form-section>.gd-contract-template-designer__panel--decorations{border-bottom:0;width:auto}.gd-contract-template-designer__page-decorations-studio-form-section>.gd-contract-template-designer__panel--decorations.is-embedded{padding:var(--gdant-spacing-md)}.gd-contract-template-designer__decoration-plan{align-items:end;gap:var(--gdant-spacing-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.gd-contract-template-designer__decoration-plan .gd-contract-template-designer__form-row{margin:0}.gd-contract-template-designer__decoration-errors{margin-block:var(--gdant-spacing-sm)}.gd-contract-template-designer__decoration-errors ul{margin:0;padding-inline-start:var(--gdant-spacing-xl)}.gd-contract-template-designer__decoration-advanced{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50)}.gd-contract-template-designer__decoration-advanced summary{padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);color:var(--gdant-neutral-700);cursor:pointer;font-size:var(--gdant-text-body-sm);font-weight:var(--gdant-font-medium)}.gd-contract-template-designer__decoration-advanced-content{gap:var(--gdant-spacing-sm);padding:0 var(--gdant-spacing-md) var(--gdant-spacing-md);display:grid}.gd-contract-template-designer__color-control{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;display:inline-flex}.gd-contract-template-designer__color-control code{color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gd-contract-template-designer__page-decorations-studio-footer{border-top:1px solid var(--gdant-neutral-200);border-bottom:0}.gd-contract-template-designer__workspace-header{border-bottom:1px solid var(--gdant-neutral-200);background:linear-gradient(180deg, var(--gdant-neutral-0) 0%, var(--gdant-neutral-50) 100%);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 12px;display:flex}.gd-contract-template-designer__workspace-meta{align-content:center;gap:2px;min-width:0;min-height:38px;display:grid}.gd-contract-template-designer__workspace-meta>span{color:var(--gdant-neutral-500);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.gd-contract-template-designer__workspace-meta>strong{color:var(--gdant-neutral-800);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.gd-contract-template-designer__workspace-meta>small{color:var(--gdant-neutral-500);font-size:12px}.gd-contract-template-designer__draft-cache-status.is-success{color:var(--gdant-success-600)}.gd-contract-template-designer__draft-cache-status.is-warning,.gd-contract-template-designer__draft-cache-status.is-error{color:var(--gdant-warning-700)}.gd-contract-template-designer__workspace-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.gd-contract-template-designer__workspace-controls,.gd-contract-template-designer__workspace-buttons{align-items:center;gap:var(--gd-toolbar-gap);border:1px solid var(--gd-toolbar-border);border-radius:var(--gdant-radius-xl);background:var(--gd-toolbar-bg);box-shadow:var(--gd-toolbar-shadow);padding:4px;display:flex}.gd-contract-template-designer__workspace-buttons{flex-wrap:wrap}.gd-contract-template-designer__toolbar{border-bottom:1px solid var(--gdant-neutral-200);background:linear-gradient(180deg, var(--gdant-neutral-50) 0%, var(--gdant-neutral-50) 100%);align-items:center;gap:8px;min-width:0;padding:8px 12px;display:flex}.gd-contract-template-designer__toolbar-section{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.gd-contract-template-designer__toolbar-section--main{flex-wrap:nowrap;flex:auto;gap:8px 0}.gd-contract-template-designer__toolbar-section--main .gd-contract-template-designer__toolbar-group{flex-wrap:nowrap;flex-shrink:0}.gd-contract-template-designer__toolbar-section--main>.gd-contract-template-designer__toolbar-group:first-child:before{display:none}.gd-contract-template-designer__toolbar-select{flex:none;min-width:80px;max-width:112px}.gd-contract-template-designer__toolbar-select.is-wide{min-width:108px;max-width:132px}.gd-contract-template-designer__block-format-option{line-height:1.4;display:block}.gd-contract-template-designer__block-format-option.is-level-1{font-size:16px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-2{font-size:15px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-3{font-size:14px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-4{font-size:13px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-5,.gd-contract-template-designer__block-format-option.is-level-6,.gd-contract-template-designer__block-format-option.is-mixed{font-size:13px}.gd-contract-template-designer__toolbar-number{width:78px}.gd-contract-template-designer__icon-button.ant-btn-sm{width:var(--gd-toolbar-control-height);height:var(--gd-toolbar-control-height);min-width:var(--gd-toolbar-control-height);justify-content:center;align-items:center;padding-inline:0;display:inline-flex}.gd-contract-template-designer__icon-button.ant-btn-sm .anticon{font-size:15px}.gd-contract-template-designer__icon-button.ant-btn-sm.is-selected{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-600)}.gd-contract-template-designer__toolbar-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.gd-contract-template-designer__toolbar-group:before{background:var(--gdant-neutral-200);content:"";flex:none;align-self:center;width:1px;height:20px;margin-inline:4px}.gd-contract-template-designer__toolbar .gd-contract-template-designer__icon-button.ant-btn-sm:not(.is-selected):not(.ant-btn-primary):hover:not(:disabled){background:var(--gdant-neutral-100)}.gd-contract-template-designer__toolbar .ant-btn-sm,.gd-contract-template-designer__workspace-actions .ant-btn-sm{min-width:var(--gd-toolbar-control-height);height:var(--gd-toolbar-control-height);border-radius:var(--gdant-radius-lg);padding-inline:10px;font-weight:500}.gd-contract-template-designer__toolbar .ant-btn-sm.ant-btn-icon-only,.gd-contract-template-designer__workspace-actions .ant-btn-sm.ant-btn-icon-only{padding-inline:0}.gd-contract-template-designer__toolbar .ant-select,.gd-contract-template-designer__workspace-actions .ant-select{align-self:stretch}.gd-contract-template-designer__toolbar .ant-select-selector,.gd-contract-template-designer__toolbar .ant-input-number,.gd-contract-template-designer__toolbar .ant-input-number-input-wrap,.gd-contract-template-designer__toolbar .ant-input-number-input,.gd-contract-template-designer__toolbar .ant-btn-sm,.gd-contract-template-designer__toolbar .gd-contract-template-designer__color,.gd-contract-template-designer__workspace-actions .ant-select-selector,.gd-contract-template-designer__workspace-actions .ant-input-number,.gd-contract-template-designer__workspace-actions .ant-input-number-input-wrap,.gd-contract-template-designer__workspace-actions .ant-input-number-input,.gd-contract-template-designer__workspace-actions .ant-btn-sm,.gd-contract-template-designer__workspace-actions .gd-contract-template-designer__color{height:var(--gd-toolbar-control-height)}.gd-contract-template-designer__toolbar .ant-select-selector,.gd-contract-template-designer__toolbar .ant-input-number,.gd-contract-template-designer__workspace-actions .ant-select-selector,.gd-contract-template-designer__workspace-actions .ant-input-number{border-radius:var(--gdant-radius-lg)}.gd-contract-template-designer__toolbar .ant-select-selector,.gd-contract-template-designer__workspace-actions .ant-select-selector{align-items:center;display:flex}.gd-contract-template-designer__toolbar .ant-input-number-input,.gd-contract-template-designer__workspace-actions .ant-input-number-input{height:calc(var(--gd-toolbar-control-height) - 2px)}.gd-contract-template-designer__zoom{align-items:center;gap:var(--gd-toolbar-gap);flex:none;grid-template-columns:32px 56px repeat(5,32px);display:inline-grid}.gd-contract-template-designer__zoom>span{color:var(--gdant-neutral-600);text-align:center;white-space:nowrap;font-size:12px;line-height:24px}.gd-contract-template-designer__color{width:var(--gd-toolbar-control-height);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);padding:0}.gd-contract-template-designer__popover{gap:10px;min-width:220px;display:grid}.gd-contract-template-designer__popover>strong{color:var(--gdant-neutral-800);font-size:13px}.gd-contract-template-designer__control-insert-popover{--gd-text-context-menu-control-size:calc(var(--gdant-spacing-base) + var(--gdant-spacing-xl) / 2);width:min(304px, 100vw - var(--gdant-spacing-xl))}.gd-contract-template-designer__image-insert-popover{width:min(300px, 100vw - var(--gdant-spacing-xl))}.gd-contract-template-designer__image-size-fields{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-contract-template-designer__image-size-fields label{gap:var(--gdant-spacing-xs);min-width:0;color:var(--gdant-neutral-600);font-size:var(--gdant-text-caption);display:grid}.gd-contract-template-designer__image-size-fields .ant-input-number{width:100%}.gd-contract-template-designer__hidden-file-input{display:none}.gd-contract-template-designer__canvas{scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;place-content:start center;gap:28px;min-width:0;min-height:0;padding:24px;display:grid;overflow:auto}.gd-contract-template-designer__validation{border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);gap:8px;padding:10px 12px;display:grid}.gd-contract-template-designer__validation-list{max-height:126px;scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-gutter:stable;scrollbar-width:thin;gap:6px;padding-inline-end:var(--gdant-spacing-xs);display:grid;overflow:auto}.gd-contract-template-designer__validation-item{border:1px solid var(--gdant-error-50);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:100%;color:var(--gdant-error-700);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px;display:flex}.gd-contract-template-designer__validation-item:hover{border-color:var(--gdant-error-300);background:var(--gdant-error-50)}.gd-contract-template-designer__validation-item small{color:var(--gdant-neutral-500);flex:none}.gd-contract-template-designer__panel{gap:var(--gdant-spacing-sm);padding:var(--gdant-spacing-md) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);display:grid}.gd-contract-template-designer__panel-head{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-height:20px;color:var(--gdant-neutral-700);display:flex}.gd-contract-template-designer__panel-head>strong{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;color:var(--gdant-neutral-800);font-size:14px;font-weight:var(--gdant-font-semibold);display:inline-flex}.gd-contract-template-designer__panel-head>strong:before{border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);content:"";width:4px;height:16px}.gd-contract-template-designer__panel-head>span{color:var(--gdant-neutral-500);flex:none;font-size:12px}.gd-contract-template-designer__panel-actions{gap:8px;display:flex}.gd-contract-template-designer__panel-stack{width:100%;min-width:0;height:100%;min-height:0;scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-gutter:stable;scrollbar-width:thin;flex:auto;padding-inline-end:var(--gdant-spacing-xs);overflow:hidden auto}.gd-contract-template-designer__file-list::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__panel-stack::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__canvas::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__validation-list::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__file-list::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__panel-stack::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__canvas::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__validation-list::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__file-list::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__panel-stack::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__canvas::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__validation-list::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__file-list::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__panel-stack::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__canvas::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__validation-list::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-stack>*{width:calc(var(--gd-sidebar-expanded) - var(--gdant-spacing-xs));flex:none}.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-stack>*{width:calc(var(--gd-inspector-expanded) - var(--gdant-spacing-xs));flex:none}.gd-contract-template-designer__panel-handle{z-index:2;box-sizing:border-box;border:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:14px;height:44px;color:var(--gdant-neutral-500);cursor:pointer;pointer-events:auto;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gd-contract-template-designer__panel-handle .anticon{font-size:10px}.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-handle{border-radius:0 var(--gdant-radius-md) var(--gdant-radius-md) 0;border-left:0;right:-14px}.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-handle{border-radius:var(--gdant-radius-md) 0 0 var(--gdant-radius-md);border-right:0;left:-14px}.gd-contract-template-designer__panel-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-designer__toolbar-more{flex:none;align-items:center;display:flex;position:relative}.gd-contract-template-designer__toolbar-more:before{background:var(--gdant-neutral-200);content:"";flex:none;align-self:center;width:1px;height:20px;margin-inline:4px}.gd-contract-template-designer__toolbar-more-panel{z-index:var(--gdant-z-modal);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);width:236px;max-width:calc(100vw - 24px);box-shadow:var(--gdant-shadow-modal);flex-direction:column;gap:12px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.gd-contract-template-designer__toolbar-more-section{flex-direction:column;gap:6px;display:flex}.gd-contract-template-designer__toolbar-more-title{color:var(--gdant-neutral-500);font-size:12px;line-height:18px}.gd-contract-template-designer__toolbar-more-slot{flex-wrap:wrap;gap:6px;display:flex}.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-group{flex-wrap:wrap;flex-shrink:1;gap:6px;width:100%}.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-group:before{display:none}.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-select,.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-select.is-wide{flex:92px;min-width:92px;max-width:none}.gd-contract-template-designer__nav-item,.gd-contract-template-designer__variable-chip,.gd-contract-template-designer__tool-item{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:100%;min-height:36px;color:var(--gdant-neutral-700);cursor:pointer;text-align:left;transition:border-color var(--gdant-duration-normal), background-color var(--gdant-duration-normal), box-shadow var(--gdant-duration-normal);justify-content:space-between;align-items:center;margin:0;padding:8px;display:flex}.gd-contract-template-designer__nav-item:hover,.gd-contract-template-designer__variable-chip:hover,.gd-contract-template-designer__tool-item:hover,.gd-contract-template-designer__nav-item.is-active,.gd-contract-template-designer__variable-chip.is-active,.gd-contract-template-designer__tool-item.is-active{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50)}.gd-contract-template-designer__nav-item:focus-visible,.gd-contract-template-designer__variable-chip:focus-visible,.gd-contract-template-designer__tool-item:focus-visible{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 15%, transparent);outline:none}.gd-contract-template-designer__nav-item:disabled,.gd-contract-template-designer__variable-chip:disabled,.gd-contract-template-designer__tool-item:disabled{color:var(--gdant-neutral-400);cursor:not-allowed}.gd-contract-template-designer__tool-item{justify-content:flex-start;gap:var(--gdant-spacing-sm)}.gd-contract-template-designer__tool-item-icon{border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);width:28px;height:28px;color:var(--gdant-primary-500);flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.gd-contract-template-designer__tool-item-icon .anticon,.gd-contract-template-designer__tool-item-icon svg{width:1em;height:1em;color:inherit;fill:currentColor;display:block}.gd-contract-template-designer__tool-item:disabled .gd-contract-template-designer__tool-item-icon{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-designer__tool-item-copy{gap:var(--gdant-spacing-xs);flex:1;min-width:0;display:grid}.gd-contract-template-designer__nav-item>span{gap:2px;min-width:0;display:grid}.gd-contract-template-designer__page-nav-row{align-items:center;gap:var(--gdant-spacing-xs);margin-bottom:var(--gdant-spacing-xs);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.gd-contract-template-designer__page-nav-row .gd-contract-template-designer__nav-item{min-width:0;margin-bottom:0}.gd-contract-template-designer__page-nav-actions{gap:var(--gdant-spacing-xs);display:flex}.gd-contract-template-designer__page-nav-actions .gd-contract-template-designer__icon-button.ant-btn-sm{width:28px;min-width:28px;height:28px}.gd-contract-template-designer__nav-item small{max-width:92px;color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gd-contract-template-designer__page-config{border-top:1px dashed var(--gdant-neutral-300);gap:8px;margin-top:12px;padding-top:12px;display:grid}.gd-contract-template-designer__page-size-note{color:var(--gdant-neutral-500);font-size:12px}.gd-contract-template-designer__variable-form{gap:8px;margin-bottom:10px;display:grid}.gd-contract-template-designer__page-shell{margin:0 auto;position:relative}.gd-contract-template-designer__page-zoom{border-radius:var(--gdant-radius-lg);width:fit-content;transform:translateX(-50%) scale(var(--gd-contract-page-zoom,1));transform-origin:top;border:1px solid #0000;padding:3px;position:absolute;top:0;left:50%}.gd-contract-template-designer__page-zoom.is-active{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50)}.gd-contract-template-designer__page-title{color:var(--gdant-neutral-600);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.gd-contract-template-designer__page{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);padding:54px 64px;position:relative;overflow:hidden}.gd-contract-template-page.has-contract-header{padding-top:80px}.gd-contract-template-designer__page:has(>.gd-contract-template-page__header){padding-top:80px}.gd-contract-template-page.has-contract-footer{padding-bottom:80px}.gd-contract-template-designer__page:has(>.gd-contract-template-page__footer){padding-bottom:80px}.gd-contract-template-page__content{z-index:1;position:relative}.gd-contract-template-page__header,.gd-contract-template-page__footer{z-index:2;align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding-block:var(--gdant-spacing-xs);pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));line-height:1.5;display:grid;position:absolute;left:64px;right:64px}.gd-contract-template-page__header{top:24px}.gd-contract-template-page__footer{bottom:24px}.gd-contract-template-page__decoration-slot{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gd-contract-template-page__decoration-slot.is-left{text-align:left}.gd-contract-template-page__decoration-slot.is-center{text-align:center}.gd-contract-template-page__decoration-slot.is-right{text-align:right}.gd-contract-template-page__watermark{z-index:0;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;display:grid;position:absolute;inset:0;overflow:hidden}.gd-contract-template-page__watermark.is-single{place-items:center}.gd-contract-template-page__watermark.is-tiled{grid-template-columns:repeat(var(--gd-watermark-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--gd-watermark-rows), minmax(0, 1fr));padding:72px 40px}.gd-contract-template-page__watermark-item{min-width:0;max-width:100%;font-weight:var(--gdant-font-medium);text-overflow:ellipsis;white-space:nowrap;transform-origin:50%;justify-content:center;align-items:center;line-height:1.5;display:flex;overflow:hidden}.gd-contract-template-designer__page>.gd-contract-template-page__content{min-height:inherit}.gd-contract-template-designer__signing-layer{z-index:var(--gdant-z-overlay);pointer-events:none;position:absolute;inset:0;overflow:hidden}.gd-contract-template-designer__signing-coordinate-guides{z-index:1;pointer-events:none;position:absolute;inset:0}.gd-contract-template-designer__signing-coordinate-guide{border-color:color-mix(in srgb, var(--gdant-primary-500) 70%, transparent);pointer-events:none;border-style:dashed;display:block;position:absolute}.gd-contract-template-designer__signing-coordinate-guide.is-horizontal{top:var(--gd-contract-signing-y);width:var(--gd-contract-signing-x);border-top-width:1px;left:0}.gd-contract-template-designer__signing-coordinate-guide.is-vertical{top:0;left:var(--gd-contract-signing-x);height:var(--gd-contract-signing-y);border-left-width:1px}.gd-contract-template-designer__signing-coordinate-guide small{border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-50);color:var(--gdant-primary-700);font-size:11px;font-weight:var(--gdant-font-medium);white-space:nowrap;padding:1px 4px;line-height:16px;position:absolute}.gd-contract-template-designer__signing-coordinate-guide.is-horizontal small{bottom:3px;right:4px}.gd-contract-template-designer__signing-coordinate-guide.is-vertical small{top:4px;left:3px}.gd-contract-template-designer__signing-placement{z-index:2;place-content:center;gap:var(--gdant-spacing-xs);box-sizing:border-box;min-width:0;min-height:0;padding:var(--gdant-spacing-xs);border:2px dashed var(--gdant-primary-500);border-radius:var(--gdant-radius-md);background:color-mix(in srgb, var(--gdant-primary-50) 76%, transparent);color:var(--gdant-primary-700);cursor:move;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;transition:border-color var(--gdant-duration-normal), background-color var(--gdant-duration-normal), box-shadow var(--gdant-duration-normal);display:grid;position:absolute;overflow:hidden}.gd-contract-template-designer__signing-placement.is-seal{border-color:var(--gdant-error-500);background:color-mix(in srgb, var(--gdant-error-50) 80%, transparent);color:var(--gdant-error-700)}.gd-contract-template-designer__signing-placement.is-date{border-color:var(--gdant-warning-500);background:color-mix(in srgb, var(--gdant-warning-50) 80%, transparent);color:var(--gdant-warning-700)}.gd-contract-template-designer__signing-placement:hover,.gd-contract-template-designer__signing-placement:focus-visible,.gd-contract-template-designer__signing-placement.is-selected{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 20%, transparent);border-style:solid;outline:none}.gd-contract-template-designer__signing-placement-visual{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:calc(100% - 12px);height:calc(100% - 12px);position:absolute;inset:6px}.gd-contract-template-designer.is-readonly .gd-contract-template-designer__signing-placement,.gd-contract-template-designer.is-disabled .gd-contract-template-designer__signing-placement{cursor:pointer}.gd-contract-template-designer__signing-placement-label{font-size:13px;font-weight:var(--gdant-font-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.gd-contract-template-designer__signing-placement-required{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;font-weight:var(--gdant-font-semibold);overflow:hidden}.gd-contract-template-designer__signing-tool{justify-content:flex-start;gap:var(--gdant-spacing-sm);border-style:dashed;min-width:0}.gd-contract-template-designer__signing-tool-copy{gap:var(--gdant-spacing-xs);flex:1;min-width:0;display:grid}.gd-contract-template-designer__signing-tool-label{color:var(--gdant-neutral-800);font-weight:var(--gdant-font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__signing-inspector-body{gap:var(--gdant-spacing-md);display:grid}.gd-contract-template-designer__inspector-section{gap:var(--gdant-spacing-sm);display:grid}.gd-contract-template-designer__inspector-section--nested{padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50)}.gd-contract-template-designer__inspector-section-title{color:var(--gdant-neutral-600);font-size:12px;font-weight:var(--gdant-font-medium);line-height:1.5}.gd-contract-template-designer__signing-inspector-body .gd-contract-template-designer__switch-row,.gd-contract-template-designer__signing-inspector-body .gd-contract-template-designer__form-row,.gd-contract-template-designer__signing-inspector-body .gd-contract-template-designer__grid-form{margin-bottom:0}.gd-contract-template-designer__signing-inspector-actions{gap:var(--gdant-spacing-sm);display:grid}.gd-contract-template-designer__signing-inspector-actions .ant-btn{width:100%}.gd-contract-template-designer__signing-inspector-danger-action{padding-top:var(--gdant-spacing-sm);border-top:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__signing-empty{color:var(--gdant-neutral-500);margin:0;font-size:12px;line-height:1.6}.gd-contract-template-designer__editor-prose{min-height:var(--gd-contract-page-content-height,1000px);color:var(--gdant-neutral-800);font-family:var(--gd-contract-template-editor-font-family,"Noto Serif SC", "Source Han Serif SC", "Songti SC", serif);outline:none;line-height:1.75}.gd-contract-template-designer__editor-prose p{margin:0 0 10px}.gd-contract-template-designer__editor-prose ul,.gd-contract-template-designer__editor-prose ol{margin:0 0 10px;padding-left:2em;list-style-position:outside}.gd-contract-template-designer__editor-prose ul{list-style-type:disc}.gd-contract-template-designer__editor-prose ul ul{list-style-type:circle}.gd-contract-template-designer__editor-prose ul ul ul{list-style-type:square}.gd-contract-template-designer__editor-prose ol{list-style-type:decimal}.gd-contract-template-designer__editor-prose ol ol{list-style-type:lower-alpha}.gd-contract-template-designer__editor-prose ol ol ol{list-style-type:lower-roman}.gd-contract-template-designer__preview .gd-contract-template-page ul,.gd-contract-template-designer__preview .gd-contract-template-page ol{margin:0 0 10px;padding-left:2em;list-style-position:outside}.gd-contract-template-designer__preview .gd-contract-template-page ul{list-style-type:disc}.gd-contract-template-designer__preview .gd-contract-template-page ul ul{list-style-type:circle}.gd-contract-template-designer__preview .gd-contract-template-page ul ul ul{list-style-type:square}.gd-contract-template-designer__preview .gd-contract-template-page ol{list-style-type:decimal}.gd-contract-template-designer__preview .gd-contract-template-page ol ol{list-style-type:lower-alpha}.gd-contract-template-designer__preview .gd-contract-template-page ol ol ol{list-style-type:lower-roman}.gd-contract-template-renderer__page-frame .gd-contract-template-page ul,.gd-contract-template-renderer__page-frame .gd-contract-template-page ol{margin:0 0 10px;padding-left:2em;list-style-position:outside}.gd-contract-template-renderer__page-frame .gd-contract-template-page ul{list-style-type:disc}.gd-contract-template-renderer__page-frame .gd-contract-template-page ul ul{list-style-type:circle}.gd-contract-template-renderer__page-frame .gd-contract-template-page ul ul ul{list-style-type:square}.gd-contract-template-renderer__page-frame .gd-contract-template-page ol{list-style-type:decimal}.gd-contract-template-renderer__page-frame .gd-contract-template-page ol ol{list-style-type:lower-alpha}.gd-contract-template-renderer__page-frame .gd-contract-template-page ol ol ol{list-style-type:lower-roman}.gd-contract-template-designer__editor-prose img,.gd-contract-template-designer__preview .gd-contract-template-page img,.gd-contract-template-renderer__page-frame .gd-contract-template-page img{object-fit:contain;vertical-align:middle;max-width:100%;display:inline-block}.gd-contract-template-designer__editor-prose img[width],.gd-contract-template-designer__editor-prose img[height],.gd-contract-template-designer__preview .gd-contract-template-page img[width],.gd-contract-template-designer__preview .gd-contract-template-page img[height],.gd-contract-template-renderer__page-frame .gd-contract-template-page img[width],.gd-contract-template-renderer__page-frame .gd-contract-template-page img[height]{max-width:none}.gd-contract-template-designer__editor-prose img:not([height]),.gd-contract-template-designer__preview .gd-contract-template-page img:not([height]),.gd-contract-template-renderer__page-frame .gd-contract-template-page img:not([height]){height:auto}.gd-contract-template-designer__editor-prose sup,.gd-contract-template-designer__editor-prose sub,.gd-contract-template-designer__preview .gd-contract-template-page sup,.gd-contract-template-designer__preview .gd-contract-template-page sub,.gd-contract-template-renderer__page-frame .gd-contract-template-page sup,.gd-contract-template-renderer__page-frame .gd-contract-template-page sub{line-height:0}.gd-contract-template-designer__editor-prose table{border-collapse:collapse;width:100%}.gd-contract-template-designer__editor-prose th,.gd-contract-template-designer__editor-prose td{border:1px solid var(--gdant-neutral-300);min-width:80px;padding:6px 8px}.gd-contract-template-designer__editor-prose .selectedCell:after{background:color-mix(in srgb, var(--gdant-primary-500) 14%, transparent)}.gd-contract-template-designer__page.is-variable-dragging .gd-contract-template-variable{cursor:grabbing}.gd-contract-template-variable{align-items:center;justify-content:var(--gd-contract-variable-justify-content,flex-start);box-sizing:border-box;width:var(--gd-contract-variable-width,160px);min-height:var(--gd-contract-variable-height,32px);border-radius:var(--gdant-radius-xs);background:var(--gd-contract-variable-background,transparent);color:var(--gd-contract-variable-color,var(--gdant-neutral-800));font-size:var(--gd-contract-variable-font-size,14px);font-family:var(--gd-contract-variable-font-family,inherit);text-align:var(--gd-contract-variable-text-align,left);vertical-align:middle;white-space:nowrap;border:1px solid #0000;margin:0 2px;padding:0 6px;line-height:1.5;transition:border-color .12s,background-color .12s,box-shadow .12s;display:inline-flex;position:relative}.gd-contract-template-variable:hover{border-color:var(--gdant-primary-300);background-color:color-mix(in srgb, var(--gdant-primary-50) 48%, transparent)}.gd-contract-template-variable.has-border{border-color:var(--gd-contract-variable-line-color,var(--gdant-neutral-600));border-style:var(--gd-contract-variable-border-style,solid)}.gd-contract-template-variable.has-underline{border-color:#0000;border-bottom-color:var(--gd-contract-variable-line-color,var(--gdant-neutral-600));border-bottom-style:var(--gd-contract-variable-border-style,solid);border-radius:0}.gd-contract-template-variable.is-placeholder{color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500))}.gd-contract-template-variable.is-active{border-color:var(--gdant-warning-500);background-color:var(--gdant-warning-50);color:var(--gdant-warning-700);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-warning-500) 18%, transparent)}.gd-contract-template-variable.is-multiline{width:var(--gd-contract-variable-width,160px);height:var(--gd-contract-variable-multiline-height,84px);min-height:var(--gd-contract-variable-multiline-height,84px);line-height:var(--gd-contract-variable-line-height,28px);vertical-align:top;white-space:pre-wrap;padding:0 6px;display:inline-block;overflow:hidden}.gd-contract-template-variable.is-multiline.has-underline{background-image:linear-gradient(to bottom, transparent calc(100% - 1px), var(--gd-contract-variable-line-color,var(--gdant-neutral-600)) calc(100% - 1px));background-repeat:repeat-y;background-size:100% var(--gd-contract-variable-line-height,28px);border-bottom-color:#0000}.gd-contract-template-variable.is-number{font-variant-numeric:tabular-nums}.gd-contract-template-variable.is-checkbox{width:auto;min-width:var(--gd-contract-variable-width,96px);justify-content:flex-start;gap:6px;padding:0 2px}.gd-contract-template-variable.is-checkbox:before{border-radius:var(--gdant-radius-xs);content:"";border:1px solid;justify-content:center;align-items:center;width:13px;height:13px;font-size:10px;line-height:1;display:inline-flex}.gd-contract-template-variable.is-checkbox.is-checked:before{content:"✓"}.gd-contract-template-variable.is-image{min-height:var(--gd-contract-variable-height,96px);border-color:var(--gd-contract-variable-line-color,var(--gdant-neutral-300));border-style:var(--gd-contract-variable-border-style,dashed);background:var(--gd-contract-variable-background,transparent);color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500));white-space:normal;justify-content:center;overflow:hidden}.gd-contract-template-variable.is-image.has-value{color:#0000}.gd-contract-template-variable.is-image.has-value:before{background-image:var(--gd-contract-variable-image);background-position:50%;background-repeat:no-repeat;background-size:var(--gd-contract-variable-object-fit,contain);content:"";position:absolute;inset:4px}.gd-contract-template-designer__form-row{color:var(--gdant-neutral-600);gap:6px;margin-bottom:12px;font-size:12px;display:grid}.gd-contract-template-designer__form-row.is-compact{margin-bottom:0}.gd-contract-template-designer__switch-row{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);min-height:28px;color:var(--gdant-neutral-600);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:6px 8px;font-size:12px;display:flex}.gd-contract-template-designer__switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.gd-contract-template-designer__panel--decorations{flex:none}.gd-contract-template-designer__decoration-tabs{margin-top:var(--gdant-spacing-sm)}.gd-contract-template-designer__decoration-tab-label{align-items:center;gap:var(--gdant-spacing-xs);display:inline-flex}.gd-contract-template-designer__decoration-tab-label i{border-radius:var(--gdant-radius-pill);background:var(--gdant-neutral-300);width:6px;height:6px}.gd-contract-template-designer__decoration-tab-label i.is-enabled{background:var(--gdant-success-500)}.gd-contract-template-designer__decoration-form{gap:var(--gdant-spacing-sm);display:grid}.gd-contract-template-designer__decoration-slots-grid{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.gd-contract-template-designer__decoration-slot-editor{align-items:end;gap:var(--gdant-spacing-xs);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.gd-contract-template-designer__decoration-slots-grid>.gd-contract-template-designer__decoration-slot-editor{padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);grid-template-columns:minmax(0,1fr);align-content:start;align-items:stretch}.gd-contract-template-designer__decoration-slots-grid .gd-contract-template-designer__form-row>span{color:var(--gdant-neutral-700);font-weight:var(--gdant-font-medium)}.gd-contract-template-designer__decoration-slots-grid .ant-btn{width:100%}@container page-decorations-studio (width<=420px){.gd-contract-template-designer__decoration-plan,.gd-contract-template-designer__decoration-slots-grid,.gd-contract-template-designer__decoration-slot-editor,.gd-contract-template-designer__decoration-control-grid{grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__decoration-slot-editor>.ant-dropdown-trigger{width:100%}}.gd-contract-template-designer__decoration-control-grid{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-contract-template-designer__decoration-control-grid>label{gap:var(--gdant-spacing-xs);min-width:0;color:var(--gdant-neutral-600);font-size:var(--gdant-text-caption);display:grid}.gd-contract-template-designer__decoration-control-grid .ant-select,.gd-contract-template-designer__decoration-control-grid .ant-input-number{width:100%}.gd-contract-template-designer__unit-control{align-items:center;gap:var(--gdant-spacing-xs);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.gd-contract-template-designer__unit-control small{min-width:16px;color:var(--gdant-neutral-500);font-variant-numeric:tabular-nums}.gd-contract-template-designer__color-row{min-height:32px;color:var(--gdant-neutral-600);font-size:var(--gdant-text-caption);justify-content:space-between;align-items:center;display:flex}.gd-contract-template-designer__decoration-control-grid input[type=color],.gd-contract-template-designer__color-row input[type=color]{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:32px;height:32px;padding:2px}.gd-contract-template-designer__decoration-control-grid .gd-contract-template-designer__color-control{min-height:32px}.gd-contract-template-designer__form-error{color:var(--gdant-error-500);grid-column:1/-1;margin:0;font-size:11px;line-height:1.5;display:block}.gd-contract-template-designer__tool-item small{color:var(--gdant-neutral-500);font-size:11px}.gd-contract-template-designer__grid-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.gd-contract-template-designer__table-picker{gap:var(--gdant-spacing-sm);margin:var(--gdant-spacing-sm) 0;display:grid}.gd-contract-template-designer__table-picker-label{color:var(--gdant-neutral-700);font-variant-numeric:tabular-nums;font-size:12px}.gd-contract-template-designer__table-picker-grid{gap:3px;width:fit-content;display:grid}.gd-contract-template-designer__table-picker-row{grid-template-columns:repeat(10,18px);gap:3px;display:grid}.gd-contract-template-designer__table-picker-cell{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-0);cursor:pointer;width:18px;height:18px;padding:0}.gd-contract-template-designer__table-picker-cell:hover,.gd-contract-template-designer__table-picker-cell.is-previewed{border-color:var(--gdant-primary-500);background:var(--gdant-primary-100)}.gd-contract-template-designer__table-picker-cell:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:1px}.gd-contract-template-designer__grid-form label{color:var(--gdant-neutral-600);gap:6px;font-size:12px;display:grid}.gd-contract-template-designer__popover-actions{justify-content:flex-end;gap:8px;display:flex}.gd-contract-template-designer__table-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gd-contract-template-designer__context-menu{z-index:var(--gdant-z-modal);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-xl);background:color-mix(in srgb, var(--gdant-neutral-0) 98%, transparent);min-width:240px;max-width:min(360px,100vw - 24px);box-shadow:var(--gdant-shadow-modal);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:8px;padding:10px;display:grid;position:fixed}.gd-contract-template-designer__context-menu-row{flex-wrap:wrap;gap:8px;display:flex}.gd-contract-template-designer__context-menu-group{border-bottom:1px solid var(--gdant-neutral-200);gap:6px;padding-bottom:8px;display:grid}.gd-contract-template-designer__context-menu-group>span{color:var(--gdant-neutral-500);font-size:12px}.gd-contract-template-designer__context-menu-group.is-danger{border-bottom:0;padding-bottom:0}.gd-contract-template-designer__image-context-menu{box-sizing:border-box;width:min(288px, 100vw - var(--gdant-spacing-xl));gap:var(--gdant-spacing-md);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);min-width:0;box-shadow:var(--gdant-shadow-overlay);-webkit-backdrop-filter:none;backdrop-filter:none}.gd-contract-template-designer__image-context-title{gap:calc(var(--gdant-spacing-xs) / 2);display:grid}.gd-contract-template-designer__image-context-title strong{color:var(--gdant-neutral-800);font-size:var(--gdant-text-body)}.gd-contract-template-designer__image-context-title span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-caption)}.gd-contract-template-designer__text-context-menu{--gd-text-context-menu-gutter:var(--gdant-spacing-md);--gd-text-context-menu-width:calc(var(--gdant-spacing-xl) * 12 + var(--gdant-spacing-sm) * 2);--gd-text-context-menu-control-size:calc(var(--gdant-spacing-base) + var(--gdant-spacing-xl) / 2);--gd-text-context-menu-thin:calc(var(--gdant-spacing-xs) / 2);width:min(var(--gd-text-context-menu-width), 100vw - var(--gd-text-context-menu-gutter) * 2);min-width:0;max-width:none;max-height:calc(100vh - var(--gd-text-context-menu-gutter) * 2);gap:var(--gdant-spacing-xs);padding:var(--gdant-spacing-xs);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);box-shadow:var(--gdant-shadow-raised);-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:contain;overflow-y:auto}.gd-contract-template-designer__text-menu-row{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;padding:0;display:flex}.gd-contract-template-designer__text-menu-row+.gd-contract-template-designer__text-menu-row{padding-top:var(--gdant-spacing-xs);border-top:var(--gd-text-context-menu-thin) solid var(--gdant-neutral-200)}.gd-contract-template-designer__text-menu-quick-insert{gap:var(--gdant-spacing-xs);min-width:0;padding-top:var(--gdant-spacing-xs);border-top:var(--gd-text-context-menu-thin) solid var(--gdant-neutral-200);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gd-contract-template-designer__text-menu-quick-insert .ant-btn{justify-content:center;align-items:center;gap:var(--gdant-spacing-xs);min-width:0;display:inline-flex;overflow:hidden}.gd-contract-template-designer__text-menu-quick-insert .ant-btn>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__text-menu-control-group{gap:var(--gdant-spacing-xs);min-width:0;padding-top:var(--gdant-spacing-xs);border-top:var(--gd-text-context-menu-thin) solid var(--gdant-neutral-200);display:grid}.gd-contract-template-designer__text-menu-control-head{justify-content:space-between;align-items:baseline;gap:var(--gdant-spacing-sm);min-width:0;color:var(--gdant-neutral-700);font-size:var(--gdant-text-body-sm);display:flex}.gd-contract-template-designer__text-menu-control-head>span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__text-menu-control-options{gap:var(--gdant-spacing-xs);grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid}.gd-contract-template-designer__text-menu-control-option{justify-content:center;align-items:center;gap:var(--gdant-spacing-xs);min-width:0;min-height:calc(var(--gd-text-context-menu-control-size) + var(--gdant-spacing-md));padding:var(--gdant-spacing-xs) var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);cursor:pointer;font-size:var(--gdant-text-body-sm);transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);flex-direction:column;line-height:1.2;display:inline-flex;overflow:hidden}.gd-contract-template-designer__text-menu-control-option .anticon{color:var(--gdant-primary-500);font-size:var(--gdant-text-h3);flex:none}.gd-contract-template-designer__text-menu-control-option span{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;display:block;overflow:hidden}.gd-contract-template-designer__text-menu-control-option:hover{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-700)}.gd-contract-template-designer__text-menu-control-option:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-bind-toggle{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);width:100%;min-height:var(--gd-text-context-menu-control-size);padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);cursor:pointer;font-size:var(--gdant-text-body-sm);transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);line-height:1.2;display:inline-flex}.gd-contract-template-designer__text-menu-bind-toggle:hover:not(:disabled){border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-700)}.gd-contract-template-designer__text-menu-bind-toggle:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-bind-toggle:disabled{color:var(--gdant-neutral-400);cursor:not-allowed}.gd-contract-template-designer__text-menu-bind-search{width:100%}.gd-contract-template-designer__text-menu-bind-list{gap:var(--gdant-spacing-xs);max-height:calc(var(--gdant-spacing-xl) * 5 + var(--gdant-spacing-md));display:grid;overflow:auto}.gd-contract-template-designer__text-menu-bind-item{align-items:flex-start;gap:var(--gdant-spacing-xs);width:100%;min-width:0;padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border-radius:var(--gdant-radius-sm);color:var(--gdant-neutral-800);cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;display:flex}.gd-contract-template-designer__text-menu-bind-item-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.gd-contract-template-designer__text-menu-bind-item-meta,.gd-contract-template-designer__text-menu-bind-empty{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-contract-template-designer__text-menu-bind-empty{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);margin:0}.gd-contract-template-designer__text-menu-bind-item:hover,.gd-contract-template-designer__text-menu-bind-item:focus-visible{background:var(--gdant-primary-50);color:var(--gdant-primary-700)}.gd-contract-template-designer__text-menu-bind-item:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-row--controls{gap:var(--gdant-spacing-sm)}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm{flex:0 0 var(--gd-text-context-menu-control-size);width:var(--gd-text-context-menu-control-size);min-width:var(--gd-text-context-menu-control-size);height:var(--gd-text-context-menu-control-size);border-radius:var(--gdant-radius-sm);color:var(--gdant-neutral-700);background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm:hover:not(:disabled){background:var(--gdant-neutral-100);color:var(--gdant-neutral-900);border-color:#0000}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm.is-selected{border-color:var(--gdant-primary-100);background:var(--gdant-primary-50);color:var(--gdant-primary-600)}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm:focus-visible,.gd-contract-template-designer__text-menu-clear-action.ant-btn-sm:focus-visible,.gd-contract-template-designer__context-menu-color:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-divider{width:var(--gd-text-context-menu-thin);height:var(--gdant-spacing-base);margin:0 var(--gd-text-context-menu-thin);background:var(--gdant-neutral-200)}.gd-contract-template-designer__text-menu-font-size{min-width:calc(var(--gdant-spacing-base) * 5 + var(--gdant-spacing-xs));flex:1 1 calc(var(--gdant-spacing-base) * 5 + var(--gdant-spacing-xs))}.gd-contract-template-designer__text-menu-alignment{min-width:calc(var(--gdant-spacing-base) * 6 + var(--gdant-spacing-xs));flex:1 1 calc(var(--gdant-spacing-base) * 6 + var(--gdant-spacing-xs))}.gd-contract-template-designer__text-menu-row .ant-select-selector{min-height:var(--gd-text-context-menu-control-size);border-radius:var(--gdant-radius-sm)}.gd-contract-template-designer__text-menu-row .ant-select-focused .ant-select-selector{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 15%, transparent)}.gd-contract-template-designer__text-menu-row .ant-select-selection-search-input,.gd-contract-template-designer__text-menu-row .ant-select-selection-item{line-height:calc(var(--gd-text-context-menu-control-size) - var(--gdant-spacing-xs) / 2)}.gd-contract-template-designer__text-menu-clear-action.ant-btn-sm{justify-content:center;align-items:center;gap:var(--gdant-spacing-xs);min-width:0;height:var(--gd-text-context-menu-control-size);padding:0 var(--gdant-spacing-sm);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-0);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);flex:1 1 0;display:inline-flex}.gd-contract-template-designer__text-menu-clear-action.ant-btn-sm:hover:not(:disabled){border-color:var(--gdant-error-200);background:var(--gdant-error-50);color:var(--gdant-error-600)}.gd-contract-template-designer__table-context-menu{box-sizing:border-box;width:min(240px,100vw - 16px);min-width:0;max-width:none;max-height:min(520px,100vh - 24px);padding:var(--gdant-spacing-xs);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:contain;animation:gd-contract-template-table-menu-enter var(--gdant-duration-normal) var(--gdant-easing-default);display:block;overflow:hidden auto}.gd-contract-template-designer__table-menu-group{gap:calc(var(--gdant-spacing-xs) / 2);padding:var(--gdant-spacing-xs) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-contract-template-designer__table-menu-group.is-stacked{grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__table-menu-group+.gd-contract-template-designer__table-menu-group{border-top:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__table-menu-item{appearance:none;box-sizing:border-box;align-items:center;gap:var(--gdant-spacing-sm);width:100%;min-height:32px;padding:0 var(--gdant-spacing-sm);border-radius:var(--gdant-radius-md);color:var(--gdant-neutral-700);cursor:pointer;font:inherit;font-size:var(--gdant-text-body);letter-spacing:0;text-align:left;white-space:nowrap;transition:background-color var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);background:0 0;border:0;line-height:20px;display:flex}.gd-contract-template-designer__table-menu-item .anticon{width:16px;color:var(--gdant-neutral-500);transition:color var(--gdant-duration-normal) var(--gdant-easing-default);flex:0 0 16px;font-size:15px}.gd-contract-template-designer__table-menu-item:hover:not(:disabled){background:var(--gdant-neutral-100);color:var(--gdant-neutral-900)}.gd-contract-template-designer__table-menu-item:hover:not(:disabled) .anticon{color:var(--gdant-neutral-700)}.gd-contract-template-designer__table-menu-item:focus-visible,.gd-contract-template-designer__table-menu-align-item:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:-2px}.gd-contract-template-designer__table-menu-item:disabled,.gd-contract-template-designer__table-menu-align-item:disabled{color:var(--gdant-neutral-400);cursor:not-allowed}.gd-contract-template-designer__table-menu-item:disabled .anticon{color:var(--gdant-neutral-400)}.gd-contract-template-designer__table-menu-item.is-danger{color:var(--gdant-error-700);grid-column:1/-1}.gd-contract-template-designer__table-menu-item.is-danger:hover:not(:disabled){background:var(--gdant-error-50);color:var(--gdant-error-700)}.gd-contract-template-designer__table-menu-item.is-danger:hover:not(:disabled) .anticon{color:var(--gdant-error-600)}.gd-contract-template-designer__table-menu-align{align-items:center;gap:var(--gdant-spacing-sm);min-height:38px;padding:calc(var(--gdant-spacing-xs) / 2) var(--gdant-spacing-sm);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;display:grid}.gd-contract-template-designer__table-menu-align-label{min-width:0;color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;line-height:18px;overflow:hidden}.gd-contract-template-designer__table-menu-align-options{border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-100);grid-template-columns:repeat(3,30px);gap:2px;padding:2px;display:grid}.gd-contract-template-designer__table-menu-align-item{appearance:none;border-radius:var(--gdant-radius-sm);width:30px;height:28px;color:var(--gdant-neutral-600);cursor:pointer;transition:background-color var(--gdant-duration-normal) var(--gdant-easing-default), box-shadow var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);background:0 0;border:0;place-items:center;padding:0;font-size:15px;display:grid}.gd-contract-template-designer__table-menu-align-item:hover:not(:disabled){background:var(--gdant-neutral-200);color:var(--gdant-neutral-800)}.gd-contract-template-designer__table-menu-align-item.is-selected{background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-raised);color:var(--gdant-primary-600)}.gd-contract-template-designer__table-menu-danger{margin-top:var(--gdant-spacing-xs);padding-top:var(--gdant-spacing-sm);border-top:1px solid var(--gdant-neutral-200)}@keyframes gd-contract-template-table-menu-enter{0%{opacity:0;transform:translateY(-2px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.gd-contract-template-designer__table-context-menu{animation:none}.gd-contract-template-designer__table-menu-item,.gd-contract-template-designer__table-menu-item .anticon,.gd-contract-template-designer__table-menu-align-item,.gd-contract-template-designer__sidebar,.gd-contract-template-designer__inspector,.gd-contract-template-designer__panel-handle,.gd-contract-template-designer__workspace-chrome-handle,.gd-contract-template-designer__immersive-exit,.gd-contract-template-renderer__panel-wrap,.gd-contract-template-renderer__panel-handle{transition:none}}@media (width<=260px){.gd-contract-template-designer__table-menu-group{grid-template-columns:minmax(0,1fr)}}.gd-contract-template-designer__sr-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.gd-contract-template-designer__context-menu-field{flex:112px;min-width:112px}.gd-contract-template-designer__context-menu-color{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);cursor:pointer;width:40px;height:32px;padding:0}.gd-contract-template-designer__bubble-menu{z-index:var(--gdant-z-modal);box-sizing:border-box;border:1px solid var(--gdant-neutral-200);border-radius:var(--gd-toolbar-radius,10px);background:color-mix(in srgb, var(--gdant-neutral-0) 98%, transparent);box-shadow:var(--gdant-shadow-raised);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:gd-contract-template-designer-bubble-in var(--gdant-duration-normal) var(--gdant-easing-default);align-items:center;gap:2px;padding:4px;display:flex;position:fixed}.gd-contract-template-designer__bubble-menu .gd-contract-template-designer__icon-button.ant-btn-sm{width:28px;min-width:28px;height:28px}.gd-contract-template-designer__bubble-divider{background:var(--gdant-neutral-200);width:1px;height:16px;margin:0 2px}.gd-contract-template-designer__bubble-font-size{width:72px}.gd-contract-template-designer__bubble-color{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);cursor:pointer;width:32px;height:28px;padding:0}.gd-contract-template-designer__bubble-color:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:1px}@keyframes gd-contract-template-designer-bubble-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.gd-contract-template-designer__bubble-menu{flex-wrap:wrap;max-width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){.gd-contract-template-designer__bubble-menu{animation:none}}.gd-contract-template-designer.is-disabled{opacity:.68;pointer-events:none}.gd-contract-template-designer__preview-modal .ant-modal{max-width:calc(100vw - 32px)}.gd-contract-template-designer__preview-modal .ant-modal-body{padding:0}.gd-contract-template-designer__preview{background:var(--gdant-neutral-100);max-height:calc(100vh - 180px);padding:32px;display:block;overflow:auto}.gd-contract-template-designer__preview.is-multi-file{padding:0;overflow:hidden}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-layout{grid-template-columns:220px minmax(0,1fr);height:min(720px,100vh - 180px);min-height:420px;display:grid}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav{gap:var(--gdant-spacing-xs);min-width:0;padding:var(--gdant-spacing-md);border-right:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-50);flex-direction:column;display:flex;overflow:auto}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav-title{padding:0 var(--gdant-spacing-sm) var(--gdant-spacing-sm);color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab{align-items:center;gap:var(--gdant-spacing-sm);width:100%;min-height:44px;padding:var(--gdant-spacing-sm);border-radius:var(--gdant-radius-md);color:var(--gdant-neutral-700);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab>small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-caption)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab:hover,.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab.is-active{border-color:var(--gdant-primary-200);background:var(--gdant-neutral-0);color:var(--gdant-primary-600)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-layout>.gd-contract-template-designer__preview-file{min-width:0;max-height:100%;margin:0;padding:24px;overflow:auto}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-page-shell{width:fit-content;max-width:100%;margin:0 auto 24px}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-page-shell:last-child{margin-bottom:0}.gd-contract-template-designer__preview .gd-contract-template-page{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);color:var(--gdant-neutral-800);padding:54px 64px;line-height:1.75;position:relative;overflow:hidden}.gd-contract-template-designer__preview .gd-contract-template-page p{margin:0 0 10px}.gd-contract-template-designer__preview .gd-contract-template-page table{border-collapse:collapse;width:100%}.gd-contract-template-designer__preview .gd-contract-template-page th,.gd-contract-template-designer__preview .gd-contract-template-page td{border:1px solid var(--gdant-neutral-300);min-width:80px;padding:6px 8px}.gd-contract-template-designer__preview-file+.gd-contract-template-designer__preview-file{margin-top:var(--gdant-spacing-xl);padding-top:var(--gdant-spacing-xl);border-top:1px solid var(--gdant-neutral-300)}.gd-contract-template-designer__preview-file-title{align-items:center;gap:var(--gdant-spacing-sm);width:fit-content;margin:0 auto var(--gdant-spacing-md);color:var(--gdant-neutral-800);font-size:var(--gdant-text-title);display:flex}.gd-contract-template-designer__preview-file-title:before{border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);content:"";width:4px;height:16px}.gd-contract-template-designer__preview-signing-layer{z-index:2;pointer-events:none;position:absolute;inset:0 auto auto 0}.gd-contract-template-designer__preview-signing-placement{box-sizing:border-box;border:1px solid var(--gdant-primary-500);background:color-mix(in srgb, var(--gdant-success-50) 60%, transparent);min-width:0;min-height:0;color:var(--gdant-primary-300);text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;overflow:hidden}.gd-contract-template-designer__preview-signing-placement-add{gap:var(--gdant-spacing-xs);box-sizing:border-box;overflow-wrap:anywhere;max-width:100%;padding:10px;display:grid;overflow:hidden}@media (width<=760px){.gd-contract-template-designer__preview .gd-contract-template-designer__preview-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav{border-right:0;border-bottom:1px solid var(--gdant-neutral-200);flex-direction:row}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav-title{display:none}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab{flex:0 0 min(220px,72vw)}}.gd-contract-template-designer__submit-data-modal .ant-modal-body{padding:0}.gd-contract-template-designer__submit-data{background:var(--gdant-neutral-900);max-height:calc(100vh - 220px);color:var(--gdant-neutral-100);white-space:pre;margin:0;padding:16px 20px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px;line-height:1.6;overflow:auto}.gd-contract-template-renderer{--gd-contract-renderer-background:var(--gdant-neutral-100);--gd-contract-renderer-surface:var(--gdant-neutral-0);--gd-contract-renderer-panel-width:336px;--gd-contract-renderer-page-gap:24px;--gd-contract-renderer-border-color:var(--gdant-neutral-300);--gd-contract-renderer-toolbar-control-height:30px;box-sizing:border-box;border:1px solid var(--gd-contract-renderer-border-color);border-radius:var(--gdant-radius-lg);background:var(--gd-contract-renderer-background);min-height:420px;color:var(--gdant-neutral-800);font-size:var(--gdant-text-body);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"header""validation""body";display:grid;overflow:hidden}.gd-contract-template-renderer.is-disabled .gd-contract-template-renderer__field-list{opacity:.72}.gd-contract-template-renderer__header{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-height:56px;padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex-wrap:wrap;grid-area:header;display:flex}.gd-contract-template-renderer__title{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;display:flex}.gd-contract-template-renderer__title-bar{width:var(--gdant-spacing-xs);height:var(--gdant-spacing-base);border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);flex:none}.gd-contract-template-renderer__header-meta{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-contract-template-renderer__header-meta strong{color:var(--gdant-neutral-900);font-size:var(--gdant-text-h3);font-weight:var(--gdant-font-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-renderer__header-meta span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-contract-template-renderer__progress-pill{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-primary-200);border-radius:var(--gdant-radius-pill);background:var(--gdant-primary-50);color:var(--gdant-primary-600);font-size:var(--gdant-text-body-sm);white-space:nowrap;flex:none}.gd-contract-template-renderer__progress-pill.is-warning{border-color:var(--gdant-warning-100);background:var(--gdant-warning-50);color:var(--gdant-warning-700)}.gd-contract-template-renderer__header-actions{align-items:center;gap:var(--gdant-spacing-sm);flex-wrap:wrap;flex:none;display:flex}.gd-contract-template-renderer__icon-button.ant-btn-sm{width:var(--gd-contract-renderer-toolbar-control-height);height:var(--gd-contract-renderer-toolbar-control-height);min-width:var(--gd-contract-renderer-toolbar-control-height);justify-content:center;align-items:center;padding-inline:0;display:inline-flex}.gd-contract-template-renderer__icon-button.ant-btn-sm .anticon{font-size:15px}.gd-contract-template-renderer__toolbar{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-xl);background:var(--gd-contract-renderer-surface);box-shadow:var(--gdant-shadow-raised);display:flex}.gd-contract-template-renderer__toolbar-group{align-items:center;gap:var(--gdant-spacing-xs);display:flex}.gd-contract-template-renderer__zoom-value{box-sizing:border-box;width:54px;color:var(--gdant-neutral-700);font-variant-numeric:tabular-nums;text-align:center}.gd-contract-template-renderer__page-select{width:min(240px,36vw)}.gd-contract-template-renderer__validation{gap:var(--gdant-spacing-xs);padding:var(--gdant-spacing-xs) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);font-size:var(--gdant-text-body-sm);grid-area:validation;display:grid}.gd-contract-template-renderer__validation.is-success{background:var(--gdant-success-50);color:var(--gdant-success-600)}.gd-contract-template-renderer__validation.is-error{background:var(--gdant-error-50);color:var(--gdant-error-700);border-bottom-color:var(--gdant-error-100)}.gd-contract-template-renderer__validation-bar{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-height:28px;display:flex}.gd-contract-template-renderer__validation-toggle{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0;text-decoration:underline}.gd-contract-template-renderer__validation-list{gap:var(--gdant-spacing-xs);max-height:132px;display:grid;overflow:auto}.gd-contract-template-renderer__validation-item{width:100%;padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border:1px solid var(--gdant-warning-100);border-radius:var(--gdant-radius-md);background:var(--gdant-warning-50);color:var(--gdant-error-700);text-align:left;cursor:pointer}.gd-contract-template-renderer__empty{min-height:0;padding:var(--gdant-spacing-base);grid-area:body;place-items:center;display:grid}.gd-contract-template-renderer__workspace{gap:var(--gdant-spacing-base);min-height:0;padding:var(--gdant-spacing-md);grid-area:body;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.gd-contract-template-renderer__workspace.is-inline{grid-template-columns:minmax(0,1fr)}.gd-contract-template-renderer__pages-viewport{min-width:0;min-height:0;padding:var(--gdant-spacing-xs) 0;overscroll-behavior:contain;overflow:auto}.gd-contract-template-renderer__pages{place-content:start center;gap:var(--gd-contract-renderer-page-gap);width:max-content;min-width:100%;padding:0 24px 24px;display:grid}.gd-contract-template-renderer__page-shell{justify-content:center;gap:8px;min-width:0;scroll-margin:12px;display:grid}.gd-contract-template-renderer__page-meta{width:100%;color:var(--gdant-neutral-600);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;font-size:12px;display:grid}.gd-contract-template-renderer__page-meta strong{color:var(--gdant-neutral-800);font-weight:600}.gd-contract-template-renderer__page-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gd-contract-template-renderer__page-meta small{font-variant-numeric:tabular-nums;font-size:12px}.gd-contract-template-renderer__page-frame{flex:none;transition:width .1s cubic-bezier(.4,0,.2,1),height .1s cubic-bezier(.4,0,.2,1);position:relative}.gd-contract-template-renderer__page-frame .gd-contract-template-page{box-sizing:border-box;border:1px solid var(--gd-contract-renderer-border-color);background:var(--gd-contract-renderer-surface);box-shadow:var(--gdant-shadow-overlay);transform-origin:0 0;padding:54px 64px;line-height:1.75;position:absolute;inset:0 auto auto 0;overflow:hidden}.gd-contract-template-renderer__page-frame .gd-contract-template-page p{margin:0 0 10px}.gd-contract-template-renderer__page-frame .gd-contract-template-page table{border-collapse:collapse;width:100%}.gd-contract-template-renderer__page-frame .gd-contract-template-page th,.gd-contract-template-renderer__page-frame .gd-contract-template-page td{border:1px solid var(--gdant-neutral-300);min-width:80px;padding:6px 8px}.gd-contract-template-renderer__panel-wrap{z-index:1;width:var(--gd-contract-renderer-panel-width);min-width:0;min-height:0;transition:width var(--gdant-duration-slow) var(--gdant-easing-default);position:relative;overflow:visible}.gd-contract-template-renderer__panel-wrap.is-collapsed{width:0}.gd-contract-template-renderer__panel-wrap.is-collapsed .gd-contract-template-renderer__panel-clip{visibility:hidden}.gd-contract-template-renderer__panel-clip{width:100%;height:100%;overflow:hidden}.gd-contract-template-renderer__panel{gap:var(--gdant-spacing-sm);width:var(--gd-contract-renderer-panel-width);min-width:0;height:100%;min-height:0;padding:var(--gdant-spacing-md);border:1px solid var(--gd-contract-renderer-border-color);border-radius:var(--gdant-radius-lg);background:var(--gd-contract-renderer-surface);flex-direction:column;display:flex;overflow:hidden}.gd-contract-template-renderer__panel-handle{z-index:2;box-sizing:border-box;border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md) 0 0 var(--gdant-radius-md);background:var(--gdant-neutral-0);width:14px;height:44px;color:var(--gdant-neutral-500);cursor:pointer;pointer-events:auto;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);border-right:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.gd-contract-template-renderer__panel-handle .anticon{font-size:10px}.gd-contract-template-renderer__panel-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-renderer__panel-head{z-index:1;gap:var(--gdant-spacing-sm);padding-bottom:var(--gdant-spacing-sm);background:var(--gd-contract-renderer-surface);display:grid;position:sticky;top:0}.gd-contract-template-renderer__panel-head-row{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-md);display:flex}.gd-contract-template-renderer__panel-head-row>div{gap:var(--gdant-spacing-xs);display:grid}.gd-contract-template-renderer__panel-head-row strong{font-size:15px}.gd-contract-template-renderer__panel-head-row span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-contract-template-renderer__panel-head-actions{gap:var(--gdant-spacing-sm);flex-wrap:wrap;display:flex}.gd-contract-template-renderer__field-list{flex:auto;align-content:start;gap:12px;min-height:0;display:grid;overflow:auto}.gd-contract-template-renderer__field{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-50);transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), box-shadow var(--gdant-duration-normal) var(--gdant-easing-default);gap:8px;padding:12px;display:grid}.gd-contract-template-renderer__field.is-active{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent)}.gd-contract-template-renderer__field.has-error{border-color:var(--gdant-error-300)}.gd-contract-template-renderer__field .ant-input-number,.gd-contract-template-renderer__field .ant-picker{width:100%}.gd-contract-template-renderer__field-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.gd-contract-template-renderer__field-head strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.gd-contract-template-renderer__field-head small{color:var(--gdant-neutral-500);flex:none;font-size:12px}.gd-contract-template-renderer__field-title{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;max-width:100%;display:inline-flex}.gd-contract-template-renderer__field-type-icon{color:var(--gdant-neutral-500);flex:none;align-items:center;font-size:1em;line-height:1;display:inline-flex}.gd-contract-template-renderer__field-type-icon .anticon,.gd-contract-template-renderer__field-type-icon svg{width:1em;height:1em;color:inherit;fill:currentColor;display:block}.gd-contract-template-renderer__field-title-text{overflow-wrap:anywhere;min-width:0}.gd-contract-template-renderer__field-required{color:var(--gdant-error-600);margin-left:2px}.gd-contract-template-renderer__field-checkbox{align-items:center;gap:8px;min-height:32px;display:inline-flex}.gd-contract-template-renderer__image-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.gd-contract-template-renderer__image-preview{border:1px dashed var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);min-width:0;color:var(--gdant-neutral-500);grid-column:1/-1;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:8px;font-size:12px;display:grid}.gd-contract-template-renderer__image-preview .ant-image,.gd-contract-template-renderer__image-preview .ant-image-img{border-radius:var(--gdant-radius-sm);object-fit:contain;width:96px;height:56px}.gd-contract-template-renderer__field-errors{color:var(--gdant-error-600);gap:4px;font-size:12px;display:grid}.gd-contract-template-renderer__control{box-sizing:border-box;width:var(--gd-contract-variable-width,160px);min-width:var(--gd-contract-variable-width,160px);min-height:var(--gd-contract-variable-height,32px);color:var(--gd-contract-variable-color,var(--gdant-neutral-800));background:var(--gd-contract-variable-background,transparent);font-family:var(--gd-contract-variable-font-family,inherit);font-size:var(--gd-contract-variable-font-size,14px);text-align:var(--gd-contract-variable-text-align,left);vertical-align:baseline;border:0;border-radius:0;outline:none;padding:0 4px}.gd-contract-template-renderer__control::placeholder{color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500))}.gd-contract-template-renderer__control.has-border{border:1px var(--gd-contract-variable-border-style,solid) var(--gd-contract-variable-line-color,var(--gdant-neutral-600))}.gd-contract-template-renderer__control.has-underline{border-bottom:1px solid var(--gd-contract-variable-line-color,var(--gdant-neutral-600))}.gd-contract-template-renderer__control.is-multiline{min-height:var(--gd-contract-variable-multiline-height,84px);line-height:var(--gd-contract-variable-line-height,28px);resize:vertical;display:inline-block}.gd-contract-template-renderer__preview-control{align-items:center;justify-content:var(--gd-contract-variable-justify-content,flex-start);cursor:pointer;display:inline-flex}.gd-contract-template-renderer__preview-control.is-image{background-image:var(--gd-contract-variable-image);background-position:50%;background-repeat:no-repeat;background-size:var(--gd-contract-variable-object-fit,contain)}.gd-contract-template-renderer__preview-control.is-empty{color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500))}.gd-contract-template-renderer__preview-control.is-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 24%, transparent)}.gd-contract-template-renderer__preview-control:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 32%, transparent)}.gd-contract-template-renderer__checkbox-mark{border:1px solid var(--gd-contract-variable-line-color,var(--gdant-neutral-600));justify-content:center;align-items:center;width:14px;height:14px;font-size:12px;line-height:1;display:inline-flex}label.gd-contract-template-renderer__control{align-items:center;gap:6px;display:inline-flex}label.gd-contract-template-renderer__control input{margin:0}@media (width<=960px){.gd-contract-template-renderer__header{align-items:flex-start}.gd-contract-template-renderer__workspace{grid-template-columns:minmax(0,1fr)}.gd-contract-template-renderer__panel-wrap,.gd-contract-template-renderer__panel-wrap.is-collapsed{width:auto;overflow:visible}.gd-contract-template-renderer__panel-clip,.gd-contract-template-renderer__panel-wrap.is-collapsed .gd-contract-template-renderer__panel-clip{visibility:visible;height:auto;overflow:visible}.gd-contract-template-renderer__panel,.gd-contract-template-renderer__panel-wrap.is-collapsed .gd-contract-template-renderer__panel{width:100%;max-height:420px}.gd-contract-template-renderer__panel-handle,.gd-contract-template-renderer__panel-toggle{display:none!important}}@media (width<=640px){.gd-contract-template-renderer{min-height:0}.gd-contract-template-renderer__header{padding:var(--gdant-spacing-sm);flex-direction:column;align-items:stretch}.gd-contract-template-renderer__header-actions{justify-content:flex-start}.gd-contract-template-renderer__workspace{padding:var(--gdant-spacing-sm)}.gd-contract-template-renderer__toolbar{flex-direction:column;align-items:stretch}.gd-contract-template-renderer__toolbar-group{justify-content:space-between}.gd-contract-template-renderer__page-select{width:100%}.gd-contract-template-renderer__pages{padding-inline:var(--gdant-spacing-sm);justify-content:start}.gd-contract-template-renderer__page-meta{grid-template-columns:auto minmax(0,1fr)}.gd-contract-template-renderer__page-meta small{grid-column:1/-1}}@media (width<=1180px){.gd-contract-template-designer__workspace-header{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__workspace-actions{justify-content:flex-start;width:100%}.gd-contract-template-designer__toolbar-section--main{flex-basis:100%}.gd-contract-template-designer__toolbar{padding-inline:12px}.gd-contract-template-designer__canvas{justify-content:start}.gd-contract-template-designer__page-shell{margin-inline:0}}@media (height<=820px) and (width>=761px){.gd-contract-template-designer{min-height:560px}.gd-contract-template-designer__file-bar,.gd-contract-template-designer__workspace-header,.gd-contract-template-designer__toolbar{padding-block:var(--gdant-spacing-xs)}.gd-contract-template-designer__panel{gap:var(--gdant-spacing-xs);padding-block:var(--gdant-spacing-sm)}.gd-contract-template-designer__canvas{gap:var(--gdant-spacing-base);padding-block:var(--gdant-spacing-base)}}@media (width<=760px){.gd-contract-template-designer{height:auto;min-height:0;overflow:visible}.gd-contract-template-designer__layout,.gd-contract-template-designer__layout.is-sidebar-collapsed,.gd-contract-template-designer__layout.is-inspector-collapsed,.gd-contract-template-designer__layout.is-sidebar-collapsed.is-inspector-collapsed{grid-template-rows:auto minmax(560px,1fr) auto;grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__file-bar{flex-direction:column;align-items:stretch}.gd-contract-template-designer__file-add.ant-btn-sm{align-self:flex-start}.gd-contract-template-designer__sidebar,.gd-contract-template-designer__inspector,.gd-contract-template-designer__sidebar.is-collapsed,.gd-contract-template-designer__inspector.is-collapsed{border:0;width:auto;max-height:360px;overflow:auto}.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__sidebar.is-collapsed .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__inspector.is-collapsed .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-stack>*,.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-stack>*{visibility:visible;width:100%}.gd-contract-template-designer__panel-handle,.gd-contract-template-designer__toolbar-more{display:none!important}.gd-contract-template-designer__toolbar-section--main{flex-wrap:wrap;row-gap:8px;display:flex}.gd-contract-template-designer__toolbar-section--main .gd-contract-template-designer__toolbar-group{flex-wrap:wrap;flex-shrink:1}.gd-contract-template-designer__sidebar{border-bottom:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__inspector{border-top:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__workspace{min-height:560px}.gd-contract-template-designer__workspace-header{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__workspace-actions{justify-content:flex-start;width:100%}.gd-contract-template-designer__zoom{grid-template-columns:32px 44px repeat(5,32px);gap:4px}.gd-contract-template-designer__canvas{justify-content:start;padding:16px 8px}.gd-contract-template-designer__immersive-exit{top:8px;right:8px}.gd-contract-template-designer__immersive-exit-label{display:none}}@container (width<=1279px){.gd-contract-template-designer__layout{--gd-sidebar-expanded:220px;--gd-inspector-expanded:260px}.gd-contract-template-designer__workspace-header{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__workspace-actions{justify-content:flex-start;width:100%}.gd-contract-template-designer__toolbar-section--main{flex-basis:100%}.gd-contract-template-designer__canvas{justify-content:start}}@container (width<=1079px){.gd-contract-template-designer__layout{--gd-sidebar-expanded:200px;--gd-inspector-expanded:240px}}@media (width<=760px){.gd-contract-template-designer__page-decorations-studio{border-top:1px solid var(--gdant-neutral-200);border-left:0;grid-row:1/-1;width:auto;height:min(70vh,100%);min-height:0;max-height:100%;inset:auto 0 0}.gd-contract-template-designer__page-decorations-studio-body{padding:var(--gdant-spacing-sm)}.gd-contract-template-designer__page-decorations-studio-head{align-items:flex-start}.gd-contract-template-designer__page-decorations-studio-actions{justify-content:flex-end;gap:var(--gdant-spacing-xs);flex-wrap:wrap}.gd-contract-template-designer__page-decorations-studio-footer{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__page-decorations-studio-footer>div{justify-content:flex-end;width:100%}.gd-contract-template-designer__decoration-plan,.gd-contract-template-designer__decoration-slots-grid,.gd-contract-template-designer__decoration-slot-editor,.gd-contract-template-designer__decoration-control-grid{grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__decoration-slot-editor>.ant-dropdown-trigger{width:100%}}@media (prefers-reduced-motion:reduce){.gd-contract-template-designer__page-decorations-studio,.gd-contract-template-designer__page-decorations-studio *{transition:none}}
1
+ :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-contract-template-page{box-sizing:border-box;color:#262a33;padding:54px 64px;font-family:Noto Serif CJK SC,Noto Serif SC,Source Han Serif SC,Songti SC,serif;font-size:16px;line-height:1.75;position:relative;overflow:hidden}.gd-contract-template-page *,.gd-contract-template-page :before,.gd-contract-template-page :after{box-sizing:border-box}.gd-contract-template-page.has-contract-header{padding-top:var(--gd-contract-header-safe-padding,80px)}.gd-contract-template-page.has-contract-footer{padding-bottom:var(--gd-contract-footer-safe-padding,80px)}.gd-contract-template-page__content{z-index:1;position:relative}.gd-contract-template-page__header,.gd-contract-template-page__footer{z-index:2;pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;min-width:0;padding-block:4px;line-height:1.5;display:grid;position:absolute;left:64px;right:64px}.gd-contract-template-page__header{top:24px}.gd-contract-template-page__footer{bottom:24px}.gd-contract-template-page__decoration-slot{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gd-contract-template-page__decoration-slot.is-left{text-align:left}.gd-contract-template-page__decoration-slot.is-center{text-align:center}.gd-contract-template-page__decoration-slot.is-right{text-align:right}.gd-contract-template-page__watermark{z-index:0;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;display:grid;position:absolute;inset:0;overflow:hidden}.gd-contract-template-page__watermark.is-single{place-items:center}.gd-contract-template-page__watermark.is-tiled{grid-template-columns:repeat(var(--gd-watermark-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--gd-watermark-rows), minmax(0, 1fr));padding:72px 40px}.gd-contract-template-page__watermark-item{text-overflow:ellipsis;white-space:nowrap;transform-origin:50%;justify-content:center;align-items:center;min-width:0;max-width:100%;font-weight:500;line-height:1.5;display:flex;overflow:hidden}.gd-contract-template-page p{margin:0 0 10px}.gd-contract-template-page table{border-collapse:collapse;width:100%}.gd-contract-template-page th,.gd-contract-template-page td{border:1px solid #d9dce0;min-width:80px;padding:6px 8px}.gd-contract-template-page img{object-fit:contain;vertical-align:middle;max-width:100%;display:inline-block}.gd-contract-template-page img[width],.gd-contract-template-page img[height]{max-width:none}.gd-contract-template-page img:not([height]){height:auto}.gd-contract-template-page h1,.gd-contract-template-page h2,.gd-contract-template-page h3,.gd-contract-template-page h4,.gd-contract-template-page h5,.gd-contract-template-page h6{font-weight:700;display:block}.gd-contract-template-page h1{margin:.67em 0;font-size:2em}.gd-contract-template-page h2{margin:.83em 0;font-size:1.5em}.gd-contract-template-page h3{margin:1em 0;font-size:1.17em}.gd-contract-template-page h4{margin:1.33em 0;font-size:1em}.gd-contract-template-page h5{margin:1.67em 0;font-size:.83em}.gd-contract-template-page h6{margin:2.33em 0;font-size:.67em}.gd-contract-template-page ul,.gd-contract-template-page ol{margin:1em 0;padding-inline-start:40px;list-style-position:outside;display:block}.gd-contract-template-page ul ul,.gd-contract-template-page ul ol,.gd-contract-template-page ol ul,.gd-contract-template-page ol ol{margin-block:0}.gd-contract-template-page ul{list-style-type:disc}.gd-contract-template-page ul ul,.gd-contract-template-page ol ul{list-style-type:circle}.gd-contract-template-page ul ul ul,.gd-contract-template-page ul ol ul,.gd-contract-template-page ol ul ul,.gd-contract-template-page ol ol ul{list-style-type:square}.gd-contract-template-page ol{list-style-type:decimal}.gd-contract-template-page li{text-align:match-parent;display:list-item}.gd-contract-template-page blockquote{margin:1em 40px;display:block}.gd-contract-template-page pre{white-space:pre;margin:1em 0;font-family:monospace;display:block}.gd-contract-template-page code,.gd-contract-template-page kbd,.gd-contract-template-page samp{font-family:monospace}.gd-contract-template-page hr{border-style:inset;border-width:1px;margin:.5em auto;display:block;overflow:hidden}.gd-contract-template-page b,.gd-contract-template-page strong{font-weight:bolder}.gd-contract-template-page i,.gd-contract-template-page em,.gd-contract-template-page cite,.gd-contract-template-page var,.gd-contract-template-page dfn,.gd-contract-template-page address{font-style:italic}.gd-contract-template-page s,.gd-contract-template-page strike,.gd-contract-template-page del{text-decoration:line-through}.gd-contract-template-page u,.gd-contract-template-page ins{text-decoration:underline}.gd-contract-template-page sup{vertical-align:super;font-size:smaller;line-height:normal}.gd-contract-template-page sub{vertical-align:sub;font-size:smaller;line-height:normal}.gd-contract-template-page small{font-size:smaller}.gd-contract-template-page .gd-contract-template-variable,.gd-contract-template-page [data-template-variable=true]:not(.gd-contract-template-page__variable){box-sizing:border-box;align-items:center;justify-content:var(--gd-contract-variable-justify-content,flex-start);width:var(--gd-contract-variable-width,160px);min-width:0;min-height:var(--gd-contract-variable-height,32px);background:var(--gd-contract-variable-background,transparent);color:var(--gd-contract-variable-color,#1f2937);font-size:var(--gd-contract-variable-font-size,14px);font-family:var(--gd-contract-variable-font-family,inherit);text-align:var(--gd-contract-variable-text-align,left);vertical-align:middle;white-space:nowrap;border:1px solid #0000;border-radius:2px;margin:0 2px;padding:0 6px;line-height:1.5;display:inline-flex;position:relative}.gd-contract-template-page .gd-contract-template-variable.has-border,.gd-contract-template-page [data-template-variable=true][data-border=true]:not(.gd-contract-template-page__variable){border-color:var(--gd-contract-variable-line-color,#565b66);border-style:var(--gd-contract-variable-border-style,solid)}.gd-contract-template-page .gd-contract-template-variable.has-underline,.gd-contract-template-page [data-template-variable=true][data-underline=true]:not(.gd-contract-template-page__variable){border-color:#0000;border-bottom-color:var(--gd-contract-variable-line-color,#565b66);border-bottom-style:var(--gd-contract-variable-border-style,solid);border-radius:0}.gd-contract-template-page .gd-contract-template-variable.is-multiline,.gd-contract-template-page [data-template-variable=true][data-multiline=true]:not(.gd-contract-template-page__variable){width:var(--gd-contract-variable-width,160px);height:var(--gd-contract-variable-multiline-height,84px);min-height:var(--gd-contract-variable-multiline-height,84px);line-height:var(--gd-contract-variable-line-height,28px);vertical-align:top;white-space:pre-wrap;display:inline-block;overflow:hidden}.gd-contract-template-page .gd-contract-template-variable.is-multiline.has-underline,.gd-contract-template-page [data-template-variable=true][data-multiline=true][data-underline=true]:not(.gd-contract-template-page__variable){background-image:linear-gradient(to bottom, transparent calc(100% - 1px), var(--gd-contract-variable-line-color,#565b66) calc(100% - 1px));background-repeat:repeat-y;background-size:100% var(--gd-contract-variable-line-height,28px);border-bottom-color:#0000}.gd-contract-template-page .gd-contract-template-variable.is-image,.gd-contract-template-page [data-template-variable=true][data-variable-type=image]:not(.gd-contract-template-page__variable){justify-content:var(--gd-contract-variable-justify-content,flex-start);min-height:var(--gd-contract-variable-height,32px);background-image:var(--gd-contract-variable-image,none);background-position:50%;background-repeat:no-repeat;background-size:var(--gd-contract-variable-object-fit,contain);white-space:nowrap;border-style:solid;border-color:#0000}.gd-contract-template-page .gd-contract-template-variable.is-image.has-value{color:#0000}.gd-contract-template-page .gd-contract-template-variable.is-image.has-value:before{content:none}.gd-contract-template-page .gd-contract-template-variable.is-checkbox{width:var(--gd-contract-variable-width,160px);gap:6px;min-width:0;padding:0 6px}.gd-contract-template-designer{--gd-toolbar-control-height:30px;--gd-toolbar-radius:10px;--gd-toolbar-gap:8px;--gd-toolbar-border:var(--gdant-neutral-200);--gd-toolbar-bg:var(--gdant-neutral-0);--gd-toolbar-muted-bg:var(--gdant-neutral-50);--gd-toolbar-shadow:var(--gdant-shadow-raised);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-100);min-height:640px;color:var(--gdant-neutral-800);flex-direction:column;font-size:14px;display:flex;overflow:hidden;container-type:inline-size}.gd-contract-template-designer__layout{--gd-sidebar-expanded:260px;--gd-inspector-expanded:300px;flex:auto;grid-template-columns:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.gd-contract-template-designer__file-bar{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-xs) var(--gdant-spacing-md);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);display:flex}.gd-contract-template-designer__file-list{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-width:thin;flex:auto;padding-block:2px;padding-inline-end:var(--gdant-spacing-xs);display:flex;overflow-x:auto}.gd-contract-template-designer__file-item{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-50);min-width:128px;max-width:280px;height:34px;transition:border-color var(--gdant-duration-fast) var(--gdant-easing-default), background var(--gdant-duration-fast) var(--gdant-easing-default), box-shadow var(--gdant-duration-fast) var(--gdant-easing-default);flex:none;align-items:center;display:inline-flex}.gd-contract-template-designer__file-item.is-active{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);box-shadow:inset 3px 0 0 var(--gdant-primary-500)}.gd-contract-template-designer__file-tab{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;height:100%;padding:0 var(--gdant-spacing-sm);color:var(--gdant-neutral-700);cursor:pointer;text-align:left;background:0 0;border:0;flex:auto;display:inline-flex}.gd-contract-template-designer__file-tab small{color:var(--gdant-neutral-500);flex:none;font-size:11px}.gd-contract-template-designer__file-index{background:var(--gdant-neutral-200);width:18px;height:18px;color:var(--gdant-neutral-600);font-size:11px;font-weight:var(--gdant-font-semibold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.gd-contract-template-designer__file-item.is-active .gd-contract-template-designer__file-index{background:var(--gdant-primary-500);color:var(--gdant-neutral-0)}.gd-contract-template-designer__file-name{min-width:0;font-weight:var(--gdant-font-medium);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.gd-contract-template-designer__file-actions{flex:none;align-items:center;padding-inline-end:2px;display:inline-flex}.gd-contract-template-designer__file-actions .ant-btn-sm{width:24px;min-width:24px;height:24px;padding:0}.gd-contract-template-designer__file-rename{width:180px;margin-inline:var(--gdant-spacing-xs)}.gd-contract-template-designer__file-add.ant-btn-sm{border-color:var(--gdant-primary-200);height:30px;color:var(--gdant-primary-600);flex:none}.gd-contract-template-designer.is-fullscreen{z-index:980;border-radius:0;width:100vw;min-height:0;position:fixed;inset:0;height:100dvh!important}.gd-contract-template-designer__sidebar,.gd-contract-template-designer__inspector{z-index:1;background:var(--gdant-neutral-0);min-width:0;min-height:0;transition:width var(--gdant-duration-slow) var(--gdant-easing-default);flex-direction:column;display:flex;position:relative;overflow:visible}.gd-contract-template-designer__sidebar{width:var(--gd-sidebar-expanded);border-right:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__inspector{width:var(--gd-inspector-expanded);border-left:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__sidebar.is-collapsed{border-right-width:0;width:0}.gd-contract-template-designer__inspector.is-collapsed{border-left-width:0;width:0}.gd-contract-template-designer__sidebar.is-collapsed .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__inspector.is-collapsed .gd-contract-template-designer__panel-stack{visibility:hidden}.gd-contract-template-designer__workspace{grid-template-rows:auto auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.gd-contract-template-designer__validation{grid-row:3}.gd-contract-template-designer__workspace-chrome{display:contents}.gd-contract-template-designer__workspace-chrome-handle{box-sizing:border-box;border:0;border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:100%;height:14px;color:var(--gdant-neutral-500);cursor:pointer;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);grid-row:1;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.gd-contract-template-designer__workspace-chrome-handle .anticon{font-size:10px}.gd-contract-template-designer__workspace-chrome-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-designer__canvas{grid-row:4}.gd-contract-template-designer__immersive-exit{z-index:3;align-items:center;gap:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);opacity:.55;background:color-mix(in srgb, var(--gdant-neutral-0) 88%, transparent);height:28px;box-shadow:var(--gdant-shadow-raised);color:var(--gdant-neutral-700);cursor:pointer;transition:opacity var(--gdant-duration-normal) var(--gdant-easing-default), border-color var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);border-radius:999px;margin:0;padding-inline:10px;font-size:12px;display:inline-flex;position:absolute;top:12px;right:16px}.gd-contract-template-designer__immersive-exit .anticon{font-size:13px}.gd-contract-template-designer__immersive-exit kbd{border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-100);color:var(--gdant-neutral-600);padding-inline:4px;font-family:inherit;font-size:10px;line-height:16px}.gd-contract-template-designer__immersive-exit:hover,.gd-contract-template-designer__immersive-exit:focus-visible{border-color:var(--gdant-primary-300);opacity:1;color:var(--gdant-primary-600)}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm{align-items:center;gap:var(--gdant-spacing-xs);min-width:156px;height:var(--gd-toolbar-control-height);text-align:left;padding-inline:8px;display:inline-flex}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm>.anticon{flex:none}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy{min-width:0;line-height:1.1;display:grid}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy>span,.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm .gd-contract-template-designer__page-decorations-trigger-copy>small{color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.gd-contract-template-designer__page-decorations-trigger.ant-btn-sm.is-selected{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-600)}.gd-contract-template-designer__page-decorations-studio{z-index:var(--gdant-z-overlay);border-left:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:min(480px,68%);min-width:0;box-shadow:var(--gdant-shadow-modal);pointer-events:auto;flex-direction:column;grid-row:4;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden;container:page-decorations-studio/inline-size}.gd-contract-template-designer__page-decorations-studio-head,.gd-contract-template-designer__page-decorations-studio-footer{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex:none;display:flex}.gd-contract-template-designer__page-decorations-studio-head{z-index:1;position:relative}.gd-contract-template-designer__page-decorations-studio-title,.gd-contract-template-designer__page-decorations-studio-actions,.gd-contract-template-designer__page-decorations-studio-footer>div{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;display:flex}.gd-contract-template-designer__page-decorations-studio-title>div{gap:2px;min-width:0;display:grid}.gd-contract-template-designer__page-decorations-studio-title strong{color:var(--gdant-neutral-900);font-size:15px;font-weight:var(--gdant-font-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__page-decorations-studio-title small,.gd-contract-template-designer__page-decorations-studio-footer>span,.gd-contract-template-designer__page-decorations-studio-section-head small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-caption);line-height:1.5}.gd-contract-template-designer__page-decorations-studio-icon{border-radius:var(--gdant-radius-md);background:var(--gdant-primary-50);width:28px;height:28px;color:var(--gdant-primary-600);flex:none;justify-content:center;align-items:center;display:inline-flex}.gd-contract-template-designer__page-decorations-studio-body{min-width:0;min-height:0;padding:var(--gdant-spacing-md);background:var(--gdant-neutral-50);flex:auto;display:block;overflow:auto}.gd-contract-template-designer__page-decorations-studio-form-section{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);min-width:0}.gd-contract-template-designer__page-decorations-studio-form-section>.gd-contract-template-designer__panel--decorations{border-bottom:0;width:auto}.gd-contract-template-designer__page-decorations-studio-form-section>.gd-contract-template-designer__panel--decorations.is-embedded{padding:var(--gdant-spacing-md)}.gd-contract-template-designer__decoration-plan{align-items:end;gap:var(--gdant-spacing-sm);grid-template-columns:minmax(0,1fr) auto;display:grid}.gd-contract-template-designer__decoration-plan .gd-contract-template-designer__form-row{margin:0}.gd-contract-template-designer__decoration-errors{margin-block:var(--gdant-spacing-sm)}.gd-contract-template-designer__decoration-errors ul{margin:0;padding-inline-start:var(--gdant-spacing-xl)}.gd-contract-template-designer__decoration-advanced{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50)}.gd-contract-template-designer__decoration-advanced summary{padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);color:var(--gdant-neutral-700);cursor:pointer;font-size:var(--gdant-text-body-sm);font-weight:var(--gdant-font-medium)}.gd-contract-template-designer__decoration-advanced-content{gap:var(--gdant-spacing-sm);padding:0 var(--gdant-spacing-md) var(--gdant-spacing-md);display:grid}.gd-contract-template-designer__color-control{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;display:inline-flex}.gd-contract-template-designer__color-control code{color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gd-contract-template-designer__page-decorations-studio-footer{border-top:1px solid var(--gdant-neutral-200);border-bottom:0}.gd-contract-template-designer__workspace-header{border-bottom:1px solid var(--gdant-neutral-200);background:linear-gradient(180deg, var(--gdant-neutral-0) 0%, var(--gdant-neutral-50) 100%);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 12px;display:flex}.gd-contract-template-designer__workspace-meta{align-content:center;gap:2px;min-width:0;min-height:38px;display:grid}.gd-contract-template-designer__workspace-meta>span{color:var(--gdant-neutral-500);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}.gd-contract-template-designer__workspace-meta>strong{color:var(--gdant-neutral-800);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.gd-contract-template-designer__workspace-meta>small{color:var(--gdant-neutral-500);font-size:12px}.gd-contract-template-designer__draft-cache-status.is-success{color:var(--gdant-success-600)}.gd-contract-template-designer__draft-cache-status.is-warning,.gd-contract-template-designer__draft-cache-status.is-error{color:var(--gdant-warning-700)}.gd-contract-template-designer__workspace-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.gd-contract-template-designer__workspace-controls,.gd-contract-template-designer__workspace-buttons{align-items:center;gap:var(--gd-toolbar-gap);border:1px solid var(--gd-toolbar-border);border-radius:var(--gdant-radius-xl);background:var(--gd-toolbar-bg);box-shadow:var(--gd-toolbar-shadow);padding:4px;display:flex}.gd-contract-template-designer__workspace-buttons{flex-wrap:wrap}.gd-contract-template-designer__toolbar{border-bottom:1px solid var(--gdant-neutral-200);background:linear-gradient(180deg, var(--gdant-neutral-50) 0%, var(--gdant-neutral-50) 100%);align-items:center;gap:8px;min-width:0;padding:8px 12px;display:flex}.gd-contract-template-designer__toolbar-section{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.gd-contract-template-designer__toolbar-section--main{flex-wrap:nowrap;flex:auto;gap:8px 0}.gd-contract-template-designer__toolbar-section--main .gd-contract-template-designer__toolbar-group{flex-wrap:nowrap;flex-shrink:0}.gd-contract-template-designer__toolbar-section--main>.gd-contract-template-designer__toolbar-group:first-child:before{display:none}.gd-contract-template-designer__toolbar-select{flex:none;min-width:80px;max-width:112px}.gd-contract-template-designer__toolbar-select.is-wide{min-width:108px;max-width:132px}.gd-contract-template-designer__block-format-option{line-height:1.4;display:block}.gd-contract-template-designer__block-format-option.is-level-1{font-size:16px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-2{font-size:15px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-3{font-size:14px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-4{font-size:13px;font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__block-format-option.is-level-5,.gd-contract-template-designer__block-format-option.is-level-6,.gd-contract-template-designer__block-format-option.is-mixed{font-size:13px}.gd-contract-template-designer__toolbar-number{width:78px}.gd-contract-template-designer__icon-button.ant-btn-sm{width:var(--gd-toolbar-control-height);height:var(--gd-toolbar-control-height);min-width:var(--gd-toolbar-control-height);justify-content:center;align-items:center;padding-inline:0;display:inline-flex}.gd-contract-template-designer__icon-button.ant-btn-sm .anticon{font-size:15px}.gd-contract-template-designer__icon-button.ant-btn-sm.is-selected{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-600)}.gd-contract-template-designer__toolbar-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.gd-contract-template-designer__toolbar-group:before{background:var(--gdant-neutral-200);content:"";flex:none;align-self:center;width:1px;height:20px;margin-inline:4px}.gd-contract-template-designer__toolbar .gd-contract-template-designer__icon-button.ant-btn-sm:not(.is-selected):not(.ant-btn-primary):hover:not(:disabled){background:var(--gdant-neutral-100)}.gd-contract-template-designer__toolbar .ant-btn-sm,.gd-contract-template-designer__workspace-actions .ant-btn-sm{min-width:var(--gd-toolbar-control-height);height:var(--gd-toolbar-control-height);border-radius:var(--gdant-radius-lg);padding-inline:10px;font-weight:500}.gd-contract-template-designer__toolbar .ant-btn-sm.ant-btn-icon-only,.gd-contract-template-designer__workspace-actions .ant-btn-sm.ant-btn-icon-only{padding-inline:0}.gd-contract-template-designer__toolbar .ant-select,.gd-contract-template-designer__workspace-actions .ant-select{align-self:stretch}.gd-contract-template-designer__toolbar .ant-select-selector,.gd-contract-template-designer__toolbar .ant-input-number,.gd-contract-template-designer__toolbar .ant-input-number-input-wrap,.gd-contract-template-designer__toolbar .ant-input-number-input,.gd-contract-template-designer__toolbar .ant-btn-sm,.gd-contract-template-designer__toolbar .gd-contract-template-designer__color,.gd-contract-template-designer__workspace-actions .ant-select-selector,.gd-contract-template-designer__workspace-actions .ant-input-number,.gd-contract-template-designer__workspace-actions .ant-input-number-input-wrap,.gd-contract-template-designer__workspace-actions .ant-input-number-input,.gd-contract-template-designer__workspace-actions .ant-btn-sm,.gd-contract-template-designer__workspace-actions .gd-contract-template-designer__color{height:var(--gd-toolbar-control-height)}.gd-contract-template-designer__toolbar .ant-select-selector,.gd-contract-template-designer__toolbar .ant-input-number,.gd-contract-template-designer__workspace-actions .ant-select-selector,.gd-contract-template-designer__workspace-actions .ant-input-number{border-radius:var(--gdant-radius-lg)}.gd-contract-template-designer__toolbar .ant-select-selector,.gd-contract-template-designer__workspace-actions .ant-select-selector{align-items:center;display:flex}.gd-contract-template-designer__toolbar .ant-input-number-input,.gd-contract-template-designer__workspace-actions .ant-input-number-input{height:calc(var(--gd-toolbar-control-height) - 2px)}.gd-contract-template-designer__zoom{align-items:center;gap:var(--gd-toolbar-gap);flex:none;grid-template-columns:32px 56px repeat(5,32px);display:inline-grid}.gd-contract-template-designer__zoom>span{color:var(--gdant-neutral-600);text-align:center;white-space:nowrap;font-size:12px;line-height:24px}.gd-contract-template-designer__color{width:var(--gd-toolbar-control-height);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);padding:0}.gd-contract-template-designer__popover{gap:10px;min-width:220px;display:grid}.gd-contract-template-designer__popover>strong{color:var(--gdant-neutral-800);font-size:13px}.gd-contract-template-designer__control-insert-popover{--gd-text-context-menu-control-size:calc(var(--gdant-spacing-base) + var(--gdant-spacing-xl) / 2);width:min(304px, 100vw - var(--gdant-spacing-xl))}.gd-contract-template-designer__image-insert-popover{width:min(300px, 100vw - var(--gdant-spacing-xl))}.gd-contract-template-designer__image-size-fields{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-contract-template-designer__image-size-fields label{gap:var(--gdant-spacing-xs);min-width:0;color:var(--gdant-neutral-600);font-size:var(--gdant-text-caption);display:grid}.gd-contract-template-designer__image-size-fields .ant-input-number{width:100%}.gd-contract-template-designer__hidden-file-input{display:none}.gd-contract-template-designer__canvas{scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-gutter:stable both-edges;scrollbar-width:thin;place-content:start center;gap:28px;min-width:0;min-height:0;padding:24px;display:grid;overflow:auto}.gd-contract-template-designer__validation{border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);gap:8px;padding:10px 12px;display:grid}.gd-contract-template-designer__validation-list{max-height:126px;scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-gutter:stable;scrollbar-width:thin;gap:6px;padding-inline-end:var(--gdant-spacing-xs);display:grid;overflow:auto}.gd-contract-template-designer__validation-item{border:1px solid var(--gdant-error-50);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:100%;color:var(--gdant-error-700);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:7px 8px;display:flex}.gd-contract-template-designer__validation-item:hover{border-color:var(--gdant-error-300);background:var(--gdant-error-50)}.gd-contract-template-designer__validation-item small{color:var(--gdant-neutral-500);flex:none}.gd-contract-template-designer__panel{gap:var(--gdant-spacing-sm);padding:var(--gdant-spacing-md) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);display:grid}.gd-contract-template-designer__panel-head{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-height:20px;color:var(--gdant-neutral-700);display:flex}.gd-contract-template-designer__panel-head>strong{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;color:var(--gdant-neutral-800);font-size:14px;font-weight:var(--gdant-font-semibold);display:inline-flex}.gd-contract-template-designer__panel-head>strong:before{border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);content:"";width:4px;height:16px}.gd-contract-template-designer__panel-head>span{color:var(--gdant-neutral-500);flex:none;font-size:12px}.gd-contract-template-designer__panel-actions{gap:8px;display:flex}.gd-contract-template-designer__panel-stack{width:100%;min-width:0;height:100%;min-height:0;scrollbar-color:var(--gdant-neutral-300) transparent;scrollbar-gutter:stable;scrollbar-width:thin;flex:auto;padding-inline-end:var(--gdant-spacing-xs);overflow:hidden auto}.gd-contract-template-designer__file-list::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__panel-stack::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__canvas::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__validation-list::-webkit-scrollbar{width:10px;height:10px}.gd-contract-template-designer__file-list::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__panel-stack::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__canvas::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__validation-list::-webkit-scrollbar-track{background:0 0}.gd-contract-template-designer__file-list::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__panel-stack::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__canvas::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__validation-list::-webkit-scrollbar-thumb{border-radius:var(--gdant-radius-xl);background:var(--gdant-neutral-300);background-clip:padding-box;border:3px solid #0000}.gd-contract-template-designer__file-list::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__panel-stack::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__canvas::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__validation-list::-webkit-scrollbar-thumb:hover{background:var(--gdant-neutral-400);background-clip:padding-box}.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-stack>*{width:calc(var(--gd-sidebar-expanded) - var(--gdant-spacing-xs));flex:none}.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-stack>*{width:calc(var(--gd-inspector-expanded) - var(--gdant-spacing-xs));flex:none}.gd-contract-template-designer__panel-handle{z-index:2;box-sizing:border-box;border:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);width:14px;height:44px;color:var(--gdant-neutral-500);cursor:pointer;pointer-events:auto;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gd-contract-template-designer__panel-handle .anticon{font-size:10px}.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-handle{border-radius:0 var(--gdant-radius-md) var(--gdant-radius-md) 0;border-left:0;right:-14px}.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-handle{border-radius:var(--gdant-radius-md) 0 0 var(--gdant-radius-md);border-right:0;left:-14px}.gd-contract-template-designer__panel-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-designer__toolbar-more{flex:none;align-items:center;display:flex;position:relative}.gd-contract-template-designer__toolbar-more:before{background:var(--gdant-neutral-200);content:"";flex:none;align-self:center;width:1px;height:20px;margin-inline:4px}.gd-contract-template-designer__toolbar-more-panel{z-index:var(--gdant-z-modal);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);width:236px;max-width:calc(100vw - 24px);box-shadow:var(--gdant-shadow-modal);flex-direction:column;gap:12px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.gd-contract-template-designer__toolbar-more-section{flex-direction:column;gap:6px;display:flex}.gd-contract-template-designer__toolbar-more-title{color:var(--gdant-neutral-500);font-size:12px;line-height:18px}.gd-contract-template-designer__toolbar-more-slot{flex-wrap:wrap;gap:6px;display:flex}.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-group{flex-wrap:wrap;flex-shrink:1;gap:6px;width:100%}.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-group:before{display:none}.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-select,.gd-contract-template-designer__toolbar-more-slot .gd-contract-template-designer__toolbar-select.is-wide{flex:92px;min-width:92px;max-width:none}.gd-contract-template-designer__nav-item,.gd-contract-template-designer__variable-chip,.gd-contract-template-designer__tool-item{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:100%;min-height:36px;color:var(--gdant-neutral-700);cursor:pointer;text-align:left;transition:border-color var(--gdant-duration-normal), background-color var(--gdant-duration-normal), box-shadow var(--gdant-duration-normal);justify-content:space-between;align-items:center;margin:0;padding:8px;display:flex}.gd-contract-template-designer__nav-item:hover,.gd-contract-template-designer__variable-chip:hover,.gd-contract-template-designer__tool-item:hover,.gd-contract-template-designer__nav-item.is-active,.gd-contract-template-designer__variable-chip.is-active,.gd-contract-template-designer__tool-item.is-active{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50)}.gd-contract-template-designer__nav-item:focus-visible,.gd-contract-template-designer__variable-chip:focus-visible,.gd-contract-template-designer__tool-item:focus-visible{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 15%, transparent);outline:none}.gd-contract-template-designer__nav-item:disabled,.gd-contract-template-designer__variable-chip:disabled,.gd-contract-template-designer__tool-item:disabled{color:var(--gdant-neutral-400);cursor:not-allowed}.gd-contract-template-designer__tool-item{justify-content:flex-start;gap:var(--gdant-spacing-sm)}.gd-contract-template-designer__tool-item-icon{border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);width:28px;height:28px;color:var(--gdant-primary-500);flex:none;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.gd-contract-template-designer__tool-item-icon .anticon,.gd-contract-template-designer__tool-item-icon svg{width:1em;height:1em;color:inherit;fill:currentColor;display:block}.gd-contract-template-designer__tool-item:disabled .gd-contract-template-designer__tool-item-icon{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-designer__tool-item-copy{gap:var(--gdant-spacing-xs);flex:1;min-width:0;display:grid}.gd-contract-template-designer__nav-item>span{gap:2px;min-width:0;display:grid}.gd-contract-template-designer__page-nav-row{align-items:center;gap:var(--gdant-spacing-xs);margin-bottom:var(--gdant-spacing-xs);grid-template-columns:minmax(0,1fr) auto;display:grid;position:relative}.gd-contract-template-designer__page-nav-row .gd-contract-template-designer__nav-item{min-width:0;margin-bottom:0}.gd-contract-template-designer__page-nav-actions{gap:var(--gdant-spacing-xs);display:flex}.gd-contract-template-designer__page-nav-actions .gd-contract-template-designer__icon-button.ant-btn-sm{width:28px;min-width:28px;height:28px}.gd-contract-template-designer__nav-item small{max-width:92px;color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.gd-contract-template-designer__page-config{border-top:1px dashed var(--gdant-neutral-300);gap:8px;margin-top:12px;padding-top:12px;display:grid}.gd-contract-template-designer__page-size-note{color:var(--gdant-neutral-500);font-size:12px}.gd-contract-template-designer__variable-form{gap:8px;margin-bottom:10px;display:grid}.gd-contract-template-designer__page-shell{margin:0 auto;position:relative}.gd-contract-template-designer__page-zoom{border-radius:var(--gdant-radius-lg);width:fit-content;transform:translateX(-50%) scale(var(--gd-contract-page-zoom,1));transform-origin:top;border:1px solid #0000;padding:3px;position:absolute;top:0;left:50%}.gd-contract-template-designer__page-zoom.is-active{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50)}.gd-contract-template-designer__page-title{color:var(--gdant-neutral-600);justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.gd-contract-template-designer__page{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);padding:54px 64px;position:relative;overflow:hidden}.gd-contract-template-designer__page:has(>.gd-contract-template-page__header){padding-top:80px}.gd-contract-template-designer__page:has(>.gd-contract-template-page__footer){padding-bottom:80px}.gd-contract-template-designer__page>.gd-contract-template-page__content{min-height:inherit}.gd-contract-template-designer__signing-layer{z-index:var(--gdant-z-overlay);pointer-events:none;position:absolute;inset:0;overflow:hidden}.gd-contract-template-designer__signing-coordinate-guides{z-index:1;pointer-events:none;position:absolute;inset:0}.gd-contract-template-designer__signing-coordinate-guide{border-color:color-mix(in srgb, var(--gdant-primary-500) 70%, transparent);pointer-events:none;border-style:dashed;display:block;position:absolute}.gd-contract-template-designer__signing-coordinate-guide.is-horizontal{top:var(--gd-contract-signing-y);width:var(--gd-contract-signing-x);border-top-width:1px;left:0}.gd-contract-template-designer__signing-coordinate-guide.is-vertical{top:0;left:var(--gd-contract-signing-x);height:var(--gd-contract-signing-y);border-left-width:1px}.gd-contract-template-designer__signing-coordinate-guide small{border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-50);color:var(--gdant-primary-700);font-size:11px;font-weight:var(--gdant-font-medium);white-space:nowrap;padding:1px 4px;line-height:16px;position:absolute}.gd-contract-template-designer__signing-coordinate-guide.is-horizontal small{bottom:3px;right:4px}.gd-contract-template-designer__signing-coordinate-guide.is-vertical small{top:4px;left:3px}.gd-contract-template-designer__signing-placement{z-index:2;place-content:center;gap:var(--gdant-spacing-xs);box-sizing:border-box;min-width:0;min-height:0;padding:var(--gdant-spacing-xs);border:2px dashed var(--gdant-primary-500);border-radius:var(--gdant-radius-md);background:color-mix(in srgb, var(--gdant-primary-50) 76%, transparent);color:var(--gdant-primary-700);cursor:move;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;transition:border-color var(--gdant-duration-normal), background-color var(--gdant-duration-normal), box-shadow var(--gdant-duration-normal);display:grid;position:absolute;overflow:hidden}.gd-contract-template-designer__signing-placement.is-seal{border-color:var(--gdant-error-500);background:color-mix(in srgb, var(--gdant-error-50) 80%, transparent);color:var(--gdant-error-700)}.gd-contract-template-designer__signing-placement.is-date{border-color:var(--gdant-warning-500);background:color-mix(in srgb, var(--gdant-warning-50) 80%, transparent);color:var(--gdant-warning-700)}.gd-contract-template-designer__signing-placement:hover,.gd-contract-template-designer__signing-placement:focus-visible,.gd-contract-template-designer__signing-placement.is-selected{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 20%, transparent);border-style:solid;outline:none}.gd-contract-template-designer__signing-placement-visual{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:calc(100% - 12px);height:calc(100% - 12px);position:absolute;inset:6px}.gd-contract-template-designer.is-readonly .gd-contract-template-designer__signing-placement,.gd-contract-template-designer.is-disabled .gd-contract-template-designer__signing-placement{cursor:pointer}.gd-contract-template-designer__signing-placement-label{font-size:13px;font-weight:var(--gdant-font-semibold);text-align:center;text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.gd-contract-template-designer__signing-placement-required{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2;font-weight:var(--gdant-font-semibold);overflow:hidden}.gd-contract-template-designer__signing-tool{justify-content:flex-start;gap:var(--gdant-spacing-sm);border-style:dashed;min-width:0}.gd-contract-template-designer__signing-tool-copy{gap:var(--gdant-spacing-xs);flex:1;min-width:0;display:grid}.gd-contract-template-designer__signing-tool-label{color:var(--gdant-neutral-800);font-weight:var(--gdant-font-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__signing-inspector-body{gap:var(--gdant-spacing-md);display:grid}.gd-contract-template-designer__inspector-section{gap:var(--gdant-spacing-sm);display:grid}.gd-contract-template-designer__inspector-section--nested{padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50)}.gd-contract-template-designer__inspector-section-title{color:var(--gdant-neutral-600);font-size:12px;font-weight:var(--gdant-font-medium);line-height:1.5}.gd-contract-template-designer__signing-inspector-body .gd-contract-template-designer__switch-row,.gd-contract-template-designer__signing-inspector-body .gd-contract-template-designer__form-row,.gd-contract-template-designer__signing-inspector-body .gd-contract-template-designer__grid-form{margin-bottom:0}.gd-contract-template-designer__signing-inspector-actions{gap:var(--gdant-spacing-sm);display:grid}.gd-contract-template-designer__signing-inspector-actions .ant-btn{width:100%}.gd-contract-template-designer__signing-inspector-danger-action{padding-top:var(--gdant-spacing-sm);border-top:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__signing-empty{color:var(--gdant-neutral-500);margin:0;font-size:12px;line-height:1.6}.gd-contract-template-designer__editor-prose{min-height:var(--gd-contract-page-content-height,1000px);color:var(--gdant-neutral-800);font-family:var(--gd-contract-template-editor-font-family,"Noto Serif SC", "Source Han Serif SC", "Songti SC", serif);outline:none;line-height:1.75}.gd-contract-template-designer__editor-prose p{margin:0 0 10px}.gd-contract-template-designer__editor-prose ul,.gd-contract-template-designer__editor-prose ol{margin:0 0 10px;padding-left:2em;list-style-position:outside}.gd-contract-template-designer__editor-prose ul{list-style-type:disc}.gd-contract-template-designer__editor-prose ul ul{list-style-type:circle}.gd-contract-template-designer__editor-prose ul ul ul{list-style-type:square}.gd-contract-template-designer__editor-prose ol{list-style-type:decimal}.gd-contract-template-designer__editor-prose ol ol{list-style-type:lower-alpha}.gd-contract-template-designer__editor-prose ol ol ol{list-style-type:lower-roman}.gd-contract-template-designer__editor-prose img{object-fit:contain;vertical-align:middle;max-width:100%;display:inline-block}.gd-contract-template-designer__editor-prose img[width],.gd-contract-template-designer__editor-prose img[height]{max-width:none}.gd-contract-template-designer__editor-prose img:not([height]){height:auto}.gd-contract-template-designer__editor-prose sup,.gd-contract-template-designer__editor-prose sub{line-height:0}.gd-contract-template-designer__editor-prose table{border-collapse:collapse;width:100%}.gd-contract-template-designer__editor-prose th,.gd-contract-template-designer__editor-prose td{border:1px solid var(--gdant-neutral-300);min-width:80px;padding:6px 8px}.gd-contract-template-designer__editor-prose .selectedCell:after{background:color-mix(in srgb, var(--gdant-primary-500) 14%, transparent)}.gd-contract-template-designer__page.is-variable-dragging .gd-contract-template-variable{cursor:grabbing}.gd-contract-template-variable{align-items:center;justify-content:var(--gd-contract-variable-justify-content,flex-start);box-sizing:border-box;width:var(--gd-contract-variable-width,160px);min-height:var(--gd-contract-variable-height,32px);border-radius:var(--gdant-radius-xs);background:var(--gd-contract-variable-background,transparent);color:var(--gd-contract-variable-color,var(--gdant-neutral-800));font-size:var(--gd-contract-variable-font-size,14px);font-family:var(--gd-contract-variable-font-family,inherit);text-align:var(--gd-contract-variable-text-align,left);vertical-align:middle;white-space:nowrap;border:1px solid #0000;margin:0 2px;padding:0 6px;line-height:1.5;transition:border-color .12s,background-color .12s,box-shadow .12s;display:inline-flex;position:relative}.gd-contract-template-variable:hover{border-color:var(--gdant-primary-300);background-color:color-mix(in srgb, var(--gdant-primary-50) 48%, transparent)}.gd-contract-template-variable.has-border{border-color:var(--gd-contract-variable-line-color,var(--gdant-neutral-600));border-style:var(--gd-contract-variable-border-style,solid)}.gd-contract-template-variable.has-underline{border-color:#0000;border-bottom-color:var(--gd-contract-variable-line-color,var(--gdant-neutral-600));border-bottom-style:var(--gd-contract-variable-border-style,solid);border-radius:0}.gd-contract-template-variable.is-placeholder{color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500))}.gd-contract-template-variable.is-active{border-color:var(--gdant-warning-500);background-color:var(--gdant-warning-50);color:var(--gdant-warning-700);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-warning-500) 18%, transparent)}.gd-contract-template-variable.is-multiline{width:var(--gd-contract-variable-width,160px);height:var(--gd-contract-variable-multiline-height,84px);min-height:var(--gd-contract-variable-multiline-height,84px);line-height:var(--gd-contract-variable-line-height,28px);vertical-align:top;white-space:pre-wrap;padding:0 6px;display:inline-block;overflow:hidden}.gd-contract-template-variable.is-multiline.has-underline{background-image:linear-gradient(to bottom, transparent calc(100% - 1px), var(--gd-contract-variable-line-color,var(--gdant-neutral-600)) calc(100% - 1px));background-repeat:repeat-y;background-size:100% var(--gd-contract-variable-line-height,28px);border-bottom-color:#0000}.gd-contract-template-variable.is-number{font-variant-numeric:tabular-nums}.gd-contract-template-variable.is-checkbox{width:auto;min-width:var(--gd-contract-variable-width,96px);justify-content:flex-start;gap:6px;padding:0 2px}.gd-contract-template-variable.is-checkbox:before{border-radius:var(--gdant-radius-xs);content:"";border:1px solid;justify-content:center;align-items:center;width:13px;height:13px;font-size:10px;line-height:1;display:inline-flex}.gd-contract-template-variable.is-checkbox.is-checked:before{content:"✓"}.gd-contract-template-variable.is-image{min-height:var(--gd-contract-variable-height,96px);border-color:var(--gd-contract-variable-line-color,var(--gdant-neutral-300));border-style:var(--gd-contract-variable-border-style,dashed);background:var(--gd-contract-variable-background,transparent);color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500));white-space:normal;justify-content:center;overflow:hidden}.gd-contract-template-variable.is-image.has-value{color:#0000}.gd-contract-template-variable.is-image.has-value:before{background-image:var(--gd-contract-variable-image);background-position:50%;background-repeat:no-repeat;background-size:var(--gd-contract-variable-object-fit,contain);content:"";position:absolute;inset:4px}.gd-contract-template-designer__form-row{color:var(--gdant-neutral-600);gap:6px;margin-bottom:12px;font-size:12px;display:grid}.gd-contract-template-designer__form-row.is-compact{margin-bottom:0}.gd-contract-template-designer__switch-row{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);min-height:28px;color:var(--gdant-neutral-600);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:6px 8px;font-size:12px;display:flex}.gd-contract-template-designer__switch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.gd-contract-template-designer__panel--decorations{flex:none}.gd-contract-template-designer__decoration-tabs{margin-top:var(--gdant-spacing-sm)}.gd-contract-template-designer__decoration-tab-label{align-items:center;gap:var(--gdant-spacing-xs);display:inline-flex}.gd-contract-template-designer__decoration-tab-label i{border-radius:var(--gdant-radius-pill);background:var(--gdant-neutral-300);width:6px;height:6px}.gd-contract-template-designer__decoration-tab-label i.is-enabled{background:var(--gdant-success-500)}.gd-contract-template-designer__decoration-form{gap:var(--gdant-spacing-sm);display:grid}.gd-contract-template-designer__decoration-slots-grid{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.gd-contract-template-designer__decoration-slot-editor{align-items:end;gap:var(--gdant-spacing-xs);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.gd-contract-template-designer__decoration-slots-grid>.gd-contract-template-designer__decoration-slot-editor{padding:var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);grid-template-columns:minmax(0,1fr);align-content:start;align-items:stretch}.gd-contract-template-designer__decoration-slots-grid .gd-contract-template-designer__form-row>span{color:var(--gdant-neutral-700);font-weight:var(--gdant-font-medium)}.gd-contract-template-designer__decoration-slots-grid .ant-btn{width:100%}@container page-decorations-studio (width<=420px){.gd-contract-template-designer__decoration-plan,.gd-contract-template-designer__decoration-slots-grid,.gd-contract-template-designer__decoration-slot-editor,.gd-contract-template-designer__decoration-control-grid{grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__decoration-slot-editor>.ant-dropdown-trigger{width:100%}}.gd-contract-template-designer__decoration-control-grid{gap:var(--gdant-spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-contract-template-designer__decoration-control-grid>label{gap:var(--gdant-spacing-xs);min-width:0;color:var(--gdant-neutral-600);font-size:var(--gdant-text-caption);display:grid}.gd-contract-template-designer__decoration-control-grid .ant-select,.gd-contract-template-designer__decoration-control-grid .ant-input-number{width:100%}.gd-contract-template-designer__unit-control{align-items:center;gap:var(--gdant-spacing-xs);grid-template-columns:minmax(0,1fr) auto;min-width:0;display:grid}.gd-contract-template-designer__unit-control small{min-width:16px;color:var(--gdant-neutral-500);font-variant-numeric:tabular-nums}.gd-contract-template-designer__color-row{min-height:32px;color:var(--gdant-neutral-600);font-size:var(--gdant-text-caption);justify-content:space-between;align-items:center;display:flex}.gd-contract-template-designer__decoration-control-grid input[type=color],.gd-contract-template-designer__color-row input[type=color]{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:32px;height:32px;padding:2px}.gd-contract-template-designer__decoration-control-grid .gd-contract-template-designer__color-control{min-height:32px}.gd-contract-template-designer__form-error{color:var(--gdant-error-500);grid-column:1/-1;margin:0;font-size:11px;line-height:1.5;display:block}.gd-contract-template-designer__tool-item small{color:var(--gdant-neutral-500);font-size:11px}.gd-contract-template-designer__grid-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.gd-contract-template-designer__table-picker{gap:var(--gdant-spacing-sm);margin:var(--gdant-spacing-sm) 0;display:grid}.gd-contract-template-designer__table-picker-label{color:var(--gdant-neutral-700);font-variant-numeric:tabular-nums;font-size:12px}.gd-contract-template-designer__table-picker-grid{gap:3px;width:fit-content;display:grid}.gd-contract-template-designer__table-picker-row{grid-template-columns:repeat(10,18px);gap:3px;display:grid}.gd-contract-template-designer__table-picker-cell{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-xs);background:var(--gdant-neutral-0);cursor:pointer;width:18px;height:18px;padding:0}.gd-contract-template-designer__table-picker-cell:hover,.gd-contract-template-designer__table-picker-cell.is-previewed{border-color:var(--gdant-primary-500);background:var(--gdant-primary-100)}.gd-contract-template-designer__table-picker-cell:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:1px}.gd-contract-template-designer__grid-form label{color:var(--gdant-neutral-600);gap:6px;font-size:12px;display:grid}.gd-contract-template-designer__popover-actions{justify-content:flex-end;gap:8px;display:flex}.gd-contract-template-designer__table-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gd-contract-template-designer__context-menu{z-index:var(--gdant-z-modal);border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-xl);background:color-mix(in srgb, var(--gdant-neutral-0) 98%, transparent);min-width:240px;max-width:min(360px,100vw - 24px);box-shadow:var(--gdant-shadow-modal);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:8px;padding:10px;display:grid;position:fixed}.gd-contract-template-designer__context-menu-row{flex-wrap:wrap;gap:8px;display:flex}.gd-contract-template-designer__context-menu-group{border-bottom:1px solid var(--gdant-neutral-200);gap:6px;padding-bottom:8px;display:grid}.gd-contract-template-designer__context-menu-group>span{color:var(--gdant-neutral-500);font-size:12px}.gd-contract-template-designer__context-menu-group.is-danger{border-bottom:0;padding-bottom:0}.gd-contract-template-designer__image-context-menu{box-sizing:border-box;width:min(288px, 100vw - var(--gdant-spacing-xl));gap:var(--gdant-spacing-md);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);min-width:0;box-shadow:var(--gdant-shadow-overlay);-webkit-backdrop-filter:none;backdrop-filter:none}.gd-contract-template-designer__image-context-title{gap:calc(var(--gdant-spacing-xs) / 2);display:grid}.gd-contract-template-designer__image-context-title strong{color:var(--gdant-neutral-800);font-size:var(--gdant-text-body)}.gd-contract-template-designer__image-context-title span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-caption)}.gd-contract-template-designer__text-context-menu{--gd-text-context-menu-gutter:var(--gdant-spacing-md);--gd-text-context-menu-width:calc(var(--gdant-spacing-xl) * 12 + var(--gdant-spacing-sm) * 2);--gd-text-context-menu-control-size:calc(var(--gdant-spacing-base) + var(--gdant-spacing-xl) / 2);--gd-text-context-menu-thin:calc(var(--gdant-spacing-xs) / 2);width:min(var(--gd-text-context-menu-width), 100vw - var(--gd-text-context-menu-gutter) * 2);min-width:0;max-width:none;max-height:calc(100vh - var(--gd-text-context-menu-gutter) * 2);gap:var(--gdant-spacing-xs);padding:var(--gdant-spacing-xs);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);box-shadow:var(--gdant-shadow-raised);-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:contain;overflow-y:auto}.gd-contract-template-designer__text-menu-row{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;padding:0;display:flex}.gd-contract-template-designer__text-menu-row+.gd-contract-template-designer__text-menu-row{padding-top:var(--gdant-spacing-xs);border-top:var(--gd-text-context-menu-thin) solid var(--gdant-neutral-200)}.gd-contract-template-designer__text-menu-quick-insert{gap:var(--gdant-spacing-xs);min-width:0;padding-top:var(--gdant-spacing-xs);border-top:var(--gd-text-context-menu-thin) solid var(--gdant-neutral-200);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gd-contract-template-designer__text-menu-quick-insert .ant-btn{justify-content:center;align-items:center;gap:var(--gdant-spacing-xs);min-width:0;display:inline-flex;overflow:hidden}.gd-contract-template-designer__text-menu-quick-insert .ant-btn>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__text-menu-control-group{gap:var(--gdant-spacing-xs);min-width:0;padding-top:var(--gdant-spacing-xs);border-top:var(--gd-text-context-menu-thin) solid var(--gdant-neutral-200);display:grid}.gd-contract-template-designer__text-menu-control-head{justify-content:space-between;align-items:baseline;gap:var(--gdant-spacing-sm);min-width:0;color:var(--gdant-neutral-700);font-size:var(--gdant-text-body-sm);display:flex}.gd-contract-template-designer__text-menu-control-head>span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-designer__text-menu-control-options{gap:var(--gdant-spacing-xs);grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid}.gd-contract-template-designer__text-menu-control-option{justify-content:center;align-items:center;gap:var(--gdant-spacing-xs);min-width:0;min-height:calc(var(--gd-text-context-menu-control-size) + var(--gdant-spacing-md));padding:var(--gdant-spacing-xs) var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);cursor:pointer;font-size:var(--gdant-text-body-sm);transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);flex-direction:column;line-height:1.2;display:inline-flex;overflow:hidden}.gd-contract-template-designer__text-menu-control-option .anticon{color:var(--gdant-primary-500);font-size:var(--gdant-text-h3);flex:none}.gd-contract-template-designer__text-menu-control-option span{text-overflow:ellipsis;white-space:nowrap;text-align:center;width:100%;display:block;overflow:hidden}.gd-contract-template-designer__text-menu-control-option:hover{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-700)}.gd-contract-template-designer__text-menu-control-option:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-bind-toggle{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);width:100%;min-height:var(--gd-text-context-menu-control-size);padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-0);color:var(--gdant-neutral-700);cursor:pointer;font-size:var(--gdant-text-body-sm);transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);line-height:1.2;display:inline-flex}.gd-contract-template-designer__text-menu-bind-toggle:hover:not(:disabled){border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-700)}.gd-contract-template-designer__text-menu-bind-toggle:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-bind-toggle:disabled{color:var(--gdant-neutral-400);cursor:not-allowed}.gd-contract-template-designer__text-menu-bind-search{width:100%}.gd-contract-template-designer__text-menu-bind-list{gap:var(--gdant-spacing-xs);max-height:calc(var(--gdant-spacing-xl) * 5 + var(--gdant-spacing-md));display:grid;overflow:auto}.gd-contract-template-designer__text-menu-bind-item{align-items:flex-start;gap:var(--gdant-spacing-xs);width:100%;min-width:0;padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border-radius:var(--gdant-radius-sm);color:var(--gdant-neutral-800);cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;display:flex}.gd-contract-template-designer__text-menu-bind-item-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.gd-contract-template-designer__text-menu-bind-item-meta,.gd-contract-template-designer__text-menu-bind-empty{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-contract-template-designer__text-menu-bind-empty{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);margin:0}.gd-contract-template-designer__text-menu-bind-item:hover,.gd-contract-template-designer__text-menu-bind-item:focus-visible{background:var(--gdant-primary-50);color:var(--gdant-primary-700)}.gd-contract-template-designer__text-menu-bind-item:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-row--controls{gap:var(--gdant-spacing-sm)}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm{flex:0 0 var(--gd-text-context-menu-control-size);width:var(--gd-text-context-menu-control-size);min-width:var(--gd-text-context-menu-control-size);height:var(--gd-text-context-menu-control-size);border-radius:var(--gdant-radius-sm);color:var(--gdant-neutral-700);background:0 0;border-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm:hover:not(:disabled){background:var(--gdant-neutral-100);color:var(--gdant-neutral-900);border-color:#0000}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm.is-selected{border-color:var(--gdant-primary-100);background:var(--gdant-primary-50);color:var(--gdant-primary-600)}.gd-contract-template-designer__text-menu-icon-button.ant-btn-sm:focus-visible,.gd-contract-template-designer__text-menu-clear-action.ant-btn-sm:focus-visible,.gd-contract-template-designer__context-menu-color:focus-visible{outline:calc(var(--gd-text-context-menu-thin) * 2) solid var(--gdant-primary-500);outline-offset:var(--gd-text-context-menu-thin)}.gd-contract-template-designer__text-menu-divider{width:var(--gd-text-context-menu-thin);height:var(--gdant-spacing-base);margin:0 var(--gd-text-context-menu-thin);background:var(--gdant-neutral-200)}.gd-contract-template-designer__text-menu-font-size{min-width:calc(var(--gdant-spacing-base) * 5 + var(--gdant-spacing-xs));flex:1 1 calc(var(--gdant-spacing-base) * 5 + var(--gdant-spacing-xs))}.gd-contract-template-designer__text-menu-alignment{min-width:calc(var(--gdant-spacing-base) * 6 + var(--gdant-spacing-xs));flex:1 1 calc(var(--gdant-spacing-base) * 6 + var(--gdant-spacing-xs))}.gd-contract-template-designer__text-menu-row .ant-select-selector{min-height:var(--gd-text-context-menu-control-size);border-radius:var(--gdant-radius-sm)}.gd-contract-template-designer__text-menu-row .ant-select-focused .ant-select-selector{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 15%, transparent)}.gd-contract-template-designer__text-menu-row .ant-select-selection-search-input,.gd-contract-template-designer__text-menu-row .ant-select-selection-item{line-height:calc(var(--gd-text-context-menu-control-size) - var(--gdant-spacing-xs) / 2)}.gd-contract-template-designer__text-menu-clear-action.ant-btn-sm{justify-content:center;align-items:center;gap:var(--gdant-spacing-xs);min-width:0;height:var(--gd-text-context-menu-control-size);padding:0 var(--gdant-spacing-sm);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-0);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);flex:1 1 0;display:inline-flex}.gd-contract-template-designer__text-menu-clear-action.ant-btn-sm:hover:not(:disabled){border-color:var(--gdant-error-200);background:var(--gdant-error-50);color:var(--gdant-error-600)}.gd-contract-template-designer__table-context-menu{box-sizing:border-box;width:min(240px,100vw - 16px);min-width:0;max-width:none;max-height:min(520px,100vh - 24px);padding:var(--gdant-spacing-xs);border-color:var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:contain;animation:gd-contract-template-table-menu-enter var(--gdant-duration-normal) var(--gdant-easing-default);display:block;overflow:hidden auto}.gd-contract-template-designer__table-menu-group{gap:calc(var(--gdant-spacing-xs) / 2);padding:var(--gdant-spacing-xs) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gd-contract-template-designer__table-menu-group.is-stacked{grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__table-menu-group+.gd-contract-template-designer__table-menu-group{border-top:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__table-menu-item{appearance:none;box-sizing:border-box;align-items:center;gap:var(--gdant-spacing-sm);width:100%;min-height:32px;padding:0 var(--gdant-spacing-sm);border-radius:var(--gdant-radius-md);color:var(--gdant-neutral-700);cursor:pointer;font:inherit;font-size:var(--gdant-text-body);letter-spacing:0;text-align:left;white-space:nowrap;transition:background-color var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);background:0 0;border:0;line-height:20px;display:flex}.gd-contract-template-designer__table-menu-item .anticon{width:16px;color:var(--gdant-neutral-500);transition:color var(--gdant-duration-normal) var(--gdant-easing-default);flex:0 0 16px;font-size:15px}.gd-contract-template-designer__table-menu-item:hover:not(:disabled){background:var(--gdant-neutral-100);color:var(--gdant-neutral-900)}.gd-contract-template-designer__table-menu-item:hover:not(:disabled) .anticon{color:var(--gdant-neutral-700)}.gd-contract-template-designer__table-menu-item:focus-visible,.gd-contract-template-designer__table-menu-align-item:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:-2px}.gd-contract-template-designer__table-menu-item:disabled,.gd-contract-template-designer__table-menu-align-item:disabled{color:var(--gdant-neutral-400);cursor:not-allowed}.gd-contract-template-designer__table-menu-item:disabled .anticon{color:var(--gdant-neutral-400)}.gd-contract-template-designer__table-menu-item.is-danger{color:var(--gdant-error-700);grid-column:1/-1}.gd-contract-template-designer__table-menu-item.is-danger:hover:not(:disabled){background:var(--gdant-error-50);color:var(--gdant-error-700)}.gd-contract-template-designer__table-menu-item.is-danger:hover:not(:disabled) .anticon{color:var(--gdant-error-600)}.gd-contract-template-designer__table-menu-align{align-items:center;gap:var(--gdant-spacing-sm);min-height:38px;padding:calc(var(--gdant-spacing-xs) / 2) var(--gdant-spacing-sm);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;display:grid}.gd-contract-template-designer__table-menu-align-label{min-width:0;color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;line-height:18px;overflow:hidden}.gd-contract-template-designer__table-menu-align-options{border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-100);grid-template-columns:repeat(3,30px);gap:2px;padding:2px;display:grid}.gd-contract-template-designer__table-menu-align-item{appearance:none;border-radius:var(--gdant-radius-sm);width:30px;height:28px;color:var(--gdant-neutral-600);cursor:pointer;transition:background-color var(--gdant-duration-normal) var(--gdant-easing-default), box-shadow var(--gdant-duration-normal) var(--gdant-easing-default), color var(--gdant-duration-normal) var(--gdant-easing-default);background:0 0;border:0;place-items:center;padding:0;font-size:15px;display:grid}.gd-contract-template-designer__table-menu-align-item:hover:not(:disabled){background:var(--gdant-neutral-200);color:var(--gdant-neutral-800)}.gd-contract-template-designer__table-menu-align-item.is-selected{background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-raised);color:var(--gdant-primary-600)}.gd-contract-template-designer__table-menu-danger{margin-top:var(--gdant-spacing-xs);padding-top:var(--gdant-spacing-sm);border-top:1px solid var(--gdant-neutral-200)}@keyframes gd-contract-template-table-menu-enter{0%{opacity:0;transform:translateY(-2px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.gd-contract-template-designer__table-context-menu{animation:none}.gd-contract-template-designer__table-menu-item,.gd-contract-template-designer__table-menu-item .anticon,.gd-contract-template-designer__table-menu-align-item,.gd-contract-template-designer__sidebar,.gd-contract-template-designer__inspector,.gd-contract-template-designer__panel-handle,.gd-contract-template-designer__workspace-chrome-handle,.gd-contract-template-designer__immersive-exit,.gd-contract-template-renderer__panel-wrap,.gd-contract-template-renderer__panel-handle{transition:none}}@media (width<=260px){.gd-contract-template-designer__table-menu-group{grid-template-columns:minmax(0,1fr)}}.gd-contract-template-designer__sr-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.gd-contract-template-designer__context-menu-field{flex:112px;min-width:112px}.gd-contract-template-designer__context-menu-color{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);cursor:pointer;width:40px;height:32px;padding:0}.gd-contract-template-designer__bubble-menu{z-index:var(--gdant-z-modal);box-sizing:border-box;border:1px solid var(--gdant-neutral-200);border-radius:var(--gd-toolbar-radius,10px);background:color-mix(in srgb, var(--gdant-neutral-0) 98%, transparent);box-shadow:var(--gdant-shadow-raised);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:gd-contract-template-designer-bubble-in var(--gdant-duration-normal) var(--gdant-easing-default);align-items:center;gap:2px;padding:4px;display:flex;position:fixed}.gd-contract-template-designer__bubble-menu .gd-contract-template-designer__icon-button.ant-btn-sm{width:28px;min-width:28px;height:28px}.gd-contract-template-designer__bubble-divider{background:var(--gdant-neutral-200);width:1px;height:16px;margin:0 2px}.gd-contract-template-designer__bubble-font-size{width:72px}.gd-contract-template-designer__bubble-color{border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);cursor:pointer;width:32px;height:28px;padding:0}.gd-contract-template-designer__bubble-color:focus-visible{outline:2px solid var(--gdant-primary-500);outline-offset:1px}@keyframes gd-contract-template-designer-bubble-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.gd-contract-template-designer__bubble-menu{flex-wrap:wrap;max-width:calc(100vw - 24px)}}@media (prefers-reduced-motion:reduce){.gd-contract-template-designer__bubble-menu{animation:none}}.gd-contract-template-designer.is-disabled{opacity:.68;pointer-events:none}.gd-contract-template-designer__preview-modal .ant-modal{max-width:calc(100vw - 32px)}.gd-contract-template-designer__preview-modal .ant-modal-body{padding:0}.gd-contract-template-designer__preview{background:var(--gdant-neutral-100);max-height:calc(100vh - 180px);padding:32px;display:block;overflow:auto}.gd-contract-template-designer__preview.is-multi-file{padding:0;overflow:hidden}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-layout{grid-template-columns:220px minmax(0,1fr);height:min(720px,100vh - 180px);min-height:420px;display:grid}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav{gap:var(--gdant-spacing-xs);min-width:0;padding:var(--gdant-spacing-md);border-right:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-50);flex-direction:column;display:flex;overflow:auto}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav-title{padding:0 var(--gdant-spacing-sm) var(--gdant-spacing-sm);color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);font-weight:var(--gdant-font-semibold)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab{align-items:center;gap:var(--gdant-spacing-sm);width:100%;min-height:44px;padding:var(--gdant-spacing-sm);border-radius:var(--gdant-radius-md);color:var(--gdant-neutral-700);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab>small{color:var(--gdant-neutral-500);font-size:var(--gdant-text-caption)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab:hover,.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab.is-active{border-color:var(--gdant-primary-200);background:var(--gdant-neutral-0);color:var(--gdant-primary-600)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-layout>.gd-contract-template-designer__preview-file{min-width:0;max-height:100%;margin:0;padding:24px;overflow:auto}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-page-shell{width:fit-content;max-width:100%;margin:0 auto 24px}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-page-shell:last-child{margin-bottom:0}.gd-contract-template-designer__preview .gd-contract-template-page{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);color:var(--gdant-neutral-800);padding:54px 64px;line-height:1.75;position:relative;overflow:hidden}.gd-contract-template-designer__preview .gd-contract-template-page p{margin:0 0 10px}.gd-contract-template-designer__preview .gd-contract-template-page table{border-collapse:collapse;width:100%}.gd-contract-template-designer__preview .gd-contract-template-page th,.gd-contract-template-designer__preview .gd-contract-template-page td{border:1px solid var(--gdant-neutral-300);min-width:80px;padding:6px 8px}.gd-contract-template-designer__preview-file+.gd-contract-template-designer__preview-file{margin-top:var(--gdant-spacing-xl);padding-top:var(--gdant-spacing-xl);border-top:1px solid var(--gdant-neutral-300)}.gd-contract-template-designer__preview-file-title{align-items:center;gap:var(--gdant-spacing-sm);width:fit-content;margin:0 auto var(--gdant-spacing-md);color:var(--gdant-neutral-800);font-size:var(--gdant-text-title);display:flex}.gd-contract-template-designer__preview-file-title:before{border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);content:"";width:4px;height:16px}.gd-contract-template-designer__preview-signing-layer{z-index:2;pointer-events:none;position:absolute;inset:0 auto auto 0}.gd-contract-template-designer__preview-signing-placement{box-sizing:border-box;border:1px solid var(--gdant-primary-500);background:color-mix(in srgb, var(--gdant-success-50) 60%, transparent);min-width:0;min-height:0;color:var(--gdant-primary-300);text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;overflow:hidden}.gd-contract-template-designer__preview-signing-placement-add{gap:var(--gdant-spacing-xs);box-sizing:border-box;overflow-wrap:anywhere;max-width:100%;padding:10px;display:grid;overflow:hidden}@media (width<=760px){.gd-contract-template-designer__preview .gd-contract-template-designer__preview-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav{border-right:0;border-bottom:1px solid var(--gdant-neutral-200);flex-direction:row}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-nav-title{display:none}.gd-contract-template-designer__preview .gd-contract-template-designer__preview-file-tab{flex:0 0 min(220px,72vw)}}.gd-contract-template-designer__submit-data-modal .ant-modal-body{padding:0}.gd-contract-template-designer__submit-data{background:var(--gdant-neutral-900);max-height:calc(100vh - 220px);color:var(--gdant-neutral-100);white-space:pre;margin:0;padding:16px 20px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px;line-height:1.6;overflow:auto}.gd-contract-template-renderer{--gd-contract-renderer-background:var(--gdant-neutral-100);--gd-contract-renderer-surface:var(--gdant-neutral-0);--gd-contract-renderer-panel-width:336px;--gd-contract-renderer-page-gap:24px;--gd-contract-renderer-border-color:var(--gdant-neutral-300);--gd-contract-renderer-toolbar-control-height:30px;box-sizing:border-box;border:1px solid var(--gd-contract-renderer-border-color);border-radius:var(--gdant-radius-lg);background:var(--gd-contract-renderer-background);min-height:420px;color:var(--gdant-neutral-800);font-size:var(--gdant-text-body);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"header""validation""body";display:grid;overflow:hidden}.gd-contract-template-renderer.is-disabled .gd-contract-template-renderer__field-list{opacity:.72}.gd-contract-template-renderer__header{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-height:56px;padding:var(--gdant-spacing-sm) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex-wrap:wrap;grid-area:header;display:flex}.gd-contract-template-renderer__title{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;display:flex}.gd-contract-template-renderer__title-bar{width:var(--gdant-spacing-xs);height:var(--gdant-spacing-base);border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);flex:none}.gd-contract-template-renderer__header-meta{gap:var(--gdant-spacing-xs);min-width:0;display:grid}.gd-contract-template-renderer__header-meta strong{color:var(--gdant-neutral-900);font-size:var(--gdant-text-h3);font-weight:var(--gdant-font-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gd-contract-template-renderer__header-meta span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-contract-template-renderer__progress-pill{padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-primary-200);border-radius:var(--gdant-radius-pill);background:var(--gdant-primary-50);color:var(--gdant-primary-600);font-size:var(--gdant-text-body-sm);white-space:nowrap;flex:none}.gd-contract-template-renderer__progress-pill.is-warning{border-color:var(--gdant-warning-100);background:var(--gdant-warning-50);color:var(--gdant-warning-700)}.gd-contract-template-renderer__header-actions{align-items:center;gap:var(--gdant-spacing-sm);flex-wrap:wrap;flex:none;display:flex}.gd-contract-template-renderer__icon-button.ant-btn-sm{width:var(--gd-contract-renderer-toolbar-control-height);height:var(--gd-contract-renderer-toolbar-control-height);min-width:var(--gd-contract-renderer-toolbar-control-height);justify-content:center;align-items:center;padding-inline:0;display:inline-flex}.gd-contract-template-renderer__icon-button.ant-btn-sm .anticon{font-size:15px}.gd-contract-template-renderer__toolbar{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;padding:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-xl);background:var(--gd-contract-renderer-surface);box-shadow:var(--gdant-shadow-raised);display:flex}.gd-contract-template-renderer__toolbar-group{align-items:center;gap:var(--gdant-spacing-xs);display:flex}.gd-contract-template-renderer__zoom-value{box-sizing:border-box;width:54px;color:var(--gdant-neutral-700);font-variant-numeric:tabular-nums;text-align:center}.gd-contract-template-renderer__page-select{width:min(240px,36vw)}.gd-contract-template-renderer__validation{gap:var(--gdant-spacing-xs);padding:var(--gdant-spacing-xs) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);font-size:var(--gdant-text-body-sm);grid-area:validation;display:grid}.gd-contract-template-renderer__validation.is-success{background:var(--gdant-success-50);color:var(--gdant-success-600)}.gd-contract-template-renderer__validation.is-error{background:var(--gdant-error-50);color:var(--gdant-error-700);border-bottom-color:var(--gdant-error-100)}.gd-contract-template-renderer__validation-bar{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-height:28px;display:flex}.gd-contract-template-renderer__validation-toggle{color:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0;text-decoration:underline}.gd-contract-template-renderer__validation-list{gap:var(--gdant-spacing-xs);max-height:132px;display:grid;overflow:auto}.gd-contract-template-renderer__validation-item{width:100%;padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border:1px solid var(--gdant-warning-100);border-radius:var(--gdant-radius-md);background:var(--gdant-warning-50);color:var(--gdant-error-700);text-align:left;cursor:pointer}.gd-contract-template-renderer__empty{min-height:0;padding:var(--gdant-spacing-base);grid-area:body;place-items:center;display:grid}.gd-contract-template-renderer__workspace{gap:var(--gdant-spacing-base);min-height:0;padding:var(--gdant-spacing-md);grid-area:body;grid-template-columns:minmax(0,1fr) auto;display:grid;overflow:hidden}.gd-contract-template-renderer__workspace.is-inline{grid-template-columns:minmax(0,1fr)}.gd-contract-template-renderer__pages-viewport{min-width:0;min-height:0;padding:var(--gdant-spacing-xs) 0;overscroll-behavior:contain;overflow:auto}.gd-contract-template-renderer__pages{place-content:start center;gap:var(--gd-contract-renderer-page-gap);width:max-content;min-width:100%;padding:0 24px 24px;display:grid}.gd-contract-template-renderer__page-shell{justify-content:center;gap:8px;min-width:0;scroll-margin:12px;display:grid}.gd-contract-template-renderer__page-meta{width:100%;color:var(--gdant-neutral-600);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;font-size:12px;display:grid}.gd-contract-template-renderer__page-meta strong{color:var(--gdant-neutral-800);font-weight:600}.gd-contract-template-renderer__page-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gd-contract-template-renderer__page-meta small{font-variant-numeric:tabular-nums;font-size:12px}.gd-contract-template-renderer__page-frame{flex:none;transition:width .1s cubic-bezier(.4,0,.2,1),height .1s cubic-bezier(.4,0,.2,1);position:relative}.gd-contract-template-renderer__page-frame .gd-contract-template-page{box-sizing:border-box;border:1px solid var(--gd-contract-renderer-border-color);background:var(--gd-contract-renderer-surface);box-shadow:var(--gdant-shadow-overlay);transform-origin:0 0;padding:54px 64px;line-height:1.75;position:absolute;inset:0 auto auto 0;overflow:hidden}.gd-contract-template-renderer__page-frame .gd-contract-template-page p{margin:0 0 10px}.gd-contract-template-renderer__page-frame .gd-contract-template-page table{border-collapse:collapse;width:100%}.gd-contract-template-renderer__page-frame .gd-contract-template-page th,.gd-contract-template-renderer__page-frame .gd-contract-template-page td{border:1px solid var(--gdant-neutral-300);min-width:80px;padding:6px 8px}.gd-contract-template-renderer__panel-wrap{z-index:1;width:var(--gd-contract-renderer-panel-width);min-width:0;min-height:0;transition:width var(--gdant-duration-slow) var(--gdant-easing-default);position:relative;overflow:visible}.gd-contract-template-renderer__panel-wrap.is-collapsed{width:0}.gd-contract-template-renderer__panel-wrap.is-collapsed .gd-contract-template-renderer__panel-clip{visibility:hidden}.gd-contract-template-renderer__panel-clip{width:100%;height:100%;overflow:hidden}.gd-contract-template-renderer__panel{gap:var(--gdant-spacing-sm);width:var(--gd-contract-renderer-panel-width);min-width:0;height:100%;min-height:0;padding:var(--gdant-spacing-md);border:1px solid var(--gd-contract-renderer-border-color);border-radius:var(--gdant-radius-lg);background:var(--gd-contract-renderer-surface);flex-direction:column;display:flex;overflow:hidden}.gd-contract-template-renderer__panel-handle{z-index:2;box-sizing:border-box;border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md) 0 0 var(--gdant-radius-md);background:var(--gdant-neutral-0);width:14px;height:44px;color:var(--gdant-neutral-500);cursor:pointer;pointer-events:auto;transition:color var(--gdant-duration-normal) var(--gdant-easing-default), background var(--gdant-duration-normal) var(--gdant-easing-default);border-right:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.gd-contract-template-renderer__panel-handle .anticon{font-size:10px}.gd-contract-template-renderer__panel-handle:hover{background:var(--gdant-neutral-50);color:var(--gdant-primary-500)}.gd-contract-template-renderer__panel-head{z-index:1;gap:var(--gdant-spacing-sm);padding-bottom:var(--gdant-spacing-sm);background:var(--gd-contract-renderer-surface);display:grid;position:sticky;top:0}.gd-contract-template-renderer__panel-head-row{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-md);display:flex}.gd-contract-template-renderer__panel-head-row>div{gap:var(--gdant-spacing-xs);display:grid}.gd-contract-template-renderer__panel-head-row strong{font-size:15px}.gd-contract-template-renderer__panel-head-row span{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-contract-template-renderer__panel-head-actions{gap:var(--gdant-spacing-sm);flex-wrap:wrap;display:flex}.gd-contract-template-renderer__field-list{flex:auto;align-content:start;gap:12px;min-height:0;display:grid;overflow:auto}.gd-contract-template-renderer__field{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-50);transition:border-color var(--gdant-duration-normal) var(--gdant-easing-default), box-shadow var(--gdant-duration-normal) var(--gdant-easing-default);gap:8px;padding:12px;display:grid}.gd-contract-template-renderer__field.is-active{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent)}.gd-contract-template-renderer__field.has-error{border-color:var(--gdant-error-300)}.gd-contract-template-renderer__field .ant-input-number,.gd-contract-template-renderer__field .ant-picker{width:100%}.gd-contract-template-renderer__field-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.gd-contract-template-renderer__field-head strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.gd-contract-template-renderer__field-head small{color:var(--gdant-neutral-500);flex:none;font-size:12px}.gd-contract-template-renderer__field-title{align-items:center;gap:var(--gdant-spacing-sm);min-width:0;max-width:100%;display:inline-flex}.gd-contract-template-renderer__field-type-icon{color:var(--gdant-neutral-500);flex:none;align-items:center;font-size:1em;line-height:1;display:inline-flex}.gd-contract-template-renderer__field-type-icon .anticon,.gd-contract-template-renderer__field-type-icon svg{width:1em;height:1em;color:inherit;fill:currentColor;display:block}.gd-contract-template-renderer__field-title-text{overflow-wrap:anywhere;min-width:0}.gd-contract-template-renderer__field-required{color:var(--gdant-error-600);margin-left:2px}.gd-contract-template-renderer__field-checkbox{align-items:center;gap:8px;min-height:32px;display:inline-flex}.gd-contract-template-renderer__image-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.gd-contract-template-renderer__image-preview{border:1px dashed var(--gdant-neutral-300);border-radius:var(--gdant-radius-md);min-width:0;color:var(--gdant-neutral-500);grid-column:1/-1;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:8px;font-size:12px;display:grid}.gd-contract-template-renderer__image-preview .ant-image,.gd-contract-template-renderer__image-preview .ant-image-img{border-radius:var(--gdant-radius-sm);object-fit:contain;width:96px;height:56px}.gd-contract-template-renderer__field-errors{color:var(--gdant-error-600);gap:4px;font-size:12px;display:grid}.gd-contract-template-renderer__control{box-sizing:border-box;width:var(--gd-contract-variable-width,160px);min-width:var(--gd-contract-variable-width,160px);min-height:var(--gd-contract-variable-height,32px);color:var(--gd-contract-variable-color,var(--gdant-neutral-800));background:var(--gd-contract-variable-background,transparent);font-family:var(--gd-contract-variable-font-family,inherit);font-size:var(--gd-contract-variable-font-size,14px);text-align:var(--gd-contract-variable-text-align,left);vertical-align:baseline;border:0;border-radius:0;outline:none;padding:0 4px}.gd-contract-template-renderer__control::placeholder{color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500))}.gd-contract-template-renderer__control.has-border{border:1px var(--gd-contract-variable-border-style,solid) var(--gd-contract-variable-line-color,var(--gdant-neutral-600))}.gd-contract-template-renderer__control.has-underline{border-bottom:1px solid var(--gd-contract-variable-line-color,var(--gdant-neutral-600))}.gd-contract-template-renderer__control.is-multiline{min-height:var(--gd-contract-variable-multiline-height,84px);line-height:var(--gd-contract-variable-line-height,28px);resize:vertical;display:inline-block}.gd-contract-template-renderer__preview-control{align-items:center;justify-content:var(--gd-contract-variable-justify-content,flex-start);cursor:pointer;display:inline-flex}.gd-contract-template-renderer__preview-control.is-image{background-image:var(--gd-contract-variable-image);background-position:50%;background-repeat:no-repeat;background-size:var(--gd-contract-variable-object-fit,contain)}.gd-contract-template-renderer__preview-control.is-empty{color:var(--gd-contract-variable-placeholder-color,var(--gdant-neutral-500))}.gd-contract-template-renderer__preview-control.is-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 24%, transparent)}.gd-contract-template-renderer__preview-control:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 32%, transparent)}.gd-contract-template-renderer__checkbox-mark{border:1px solid var(--gd-contract-variable-line-color,var(--gdant-neutral-600));justify-content:center;align-items:center;width:14px;height:14px;font-size:12px;line-height:1;display:inline-flex}label.gd-contract-template-renderer__control{align-items:center;gap:6px;display:inline-flex}label.gd-contract-template-renderer__control input{margin:0}@media (width<=960px){.gd-contract-template-renderer__header{align-items:flex-start}.gd-contract-template-renderer__workspace{grid-template-columns:minmax(0,1fr)}.gd-contract-template-renderer__panel-wrap,.gd-contract-template-renderer__panel-wrap.is-collapsed{width:auto;overflow:visible}.gd-contract-template-renderer__panel-clip,.gd-contract-template-renderer__panel-wrap.is-collapsed .gd-contract-template-renderer__panel-clip{visibility:visible;height:auto;overflow:visible}.gd-contract-template-renderer__panel,.gd-contract-template-renderer__panel-wrap.is-collapsed .gd-contract-template-renderer__panel{width:100%;max-height:420px}.gd-contract-template-renderer__panel-handle,.gd-contract-template-renderer__panel-toggle{display:none!important}}@media (width<=640px){.gd-contract-template-renderer{min-height:0}.gd-contract-template-renderer__header{padding:var(--gdant-spacing-sm);flex-direction:column;align-items:stretch}.gd-contract-template-renderer__header-actions{justify-content:flex-start}.gd-contract-template-renderer__workspace{padding:var(--gdant-spacing-sm)}.gd-contract-template-renderer__toolbar{flex-direction:column;align-items:stretch}.gd-contract-template-renderer__toolbar-group{justify-content:space-between}.gd-contract-template-renderer__page-select{width:100%}.gd-contract-template-renderer__pages{padding-inline:var(--gdant-spacing-sm);justify-content:start}.gd-contract-template-renderer__page-meta{grid-template-columns:auto minmax(0,1fr)}.gd-contract-template-renderer__page-meta small{grid-column:1/-1}}@media (width<=1180px){.gd-contract-template-designer__workspace-header{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__workspace-actions{justify-content:flex-start;width:100%}.gd-contract-template-designer__toolbar-section--main{flex-basis:100%}.gd-contract-template-designer__toolbar{padding-inline:12px}.gd-contract-template-designer__canvas{justify-content:start}.gd-contract-template-designer__page-shell{margin-inline:0}}@media (height<=820px) and (width>=761px){.gd-contract-template-designer{min-height:560px}.gd-contract-template-designer__file-bar,.gd-contract-template-designer__workspace-header,.gd-contract-template-designer__toolbar{padding-block:var(--gdant-spacing-xs)}.gd-contract-template-designer__panel{gap:var(--gdant-spacing-xs);padding-block:var(--gdant-spacing-sm)}.gd-contract-template-designer__canvas{gap:var(--gdant-spacing-base);padding-block:var(--gdant-spacing-base)}}@media (width<=760px){.gd-contract-template-designer{height:auto;min-height:0;overflow:visible}.gd-contract-template-designer__layout,.gd-contract-template-designer__layout.is-sidebar-collapsed,.gd-contract-template-designer__layout.is-inspector-collapsed,.gd-contract-template-designer__layout.is-sidebar-collapsed.is-inspector-collapsed{grid-template-rows:auto minmax(560px,1fr) auto;grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__file-bar{flex-direction:column;align-items:stretch}.gd-contract-template-designer__file-add.ant-btn-sm{align-self:flex-start}.gd-contract-template-designer__sidebar,.gd-contract-template-designer__inspector,.gd-contract-template-designer__sidebar.is-collapsed,.gd-contract-template-designer__inspector.is-collapsed{border:0;width:auto;max-height:360px;overflow:auto}.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__sidebar.is-collapsed .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__inspector.is-collapsed .gd-contract-template-designer__panel-stack,.gd-contract-template-designer__sidebar .gd-contract-template-designer__panel-stack>*,.gd-contract-template-designer__inspector .gd-contract-template-designer__panel-stack>*{visibility:visible;width:100%}.gd-contract-template-designer__panel-handle,.gd-contract-template-designer__toolbar-more{display:none!important}.gd-contract-template-designer__toolbar-section--main{flex-wrap:wrap;row-gap:8px;display:flex}.gd-contract-template-designer__toolbar-section--main .gd-contract-template-designer__toolbar-group{flex-wrap:wrap;flex-shrink:1}.gd-contract-template-designer__sidebar{border-bottom:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__inspector{border-top:1px solid var(--gdant-neutral-200)}.gd-contract-template-designer__workspace{min-height:560px}.gd-contract-template-designer__workspace-header{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__workspace-actions{justify-content:flex-start;width:100%}.gd-contract-template-designer__zoom{grid-template-columns:32px 44px repeat(5,32px);gap:4px}.gd-contract-template-designer__canvas{justify-content:start;padding:16px 8px}.gd-contract-template-designer__immersive-exit{top:8px;right:8px}.gd-contract-template-designer__immersive-exit-label{display:none}}@container (width<=1279px){.gd-contract-template-designer__layout{--gd-sidebar-expanded:220px;--gd-inspector-expanded:260px}.gd-contract-template-designer__workspace-header{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__workspace-actions{justify-content:flex-start;width:100%}.gd-contract-template-designer__toolbar-section--main{flex-basis:100%}.gd-contract-template-designer__canvas{justify-content:start}}@container (width<=1079px){.gd-contract-template-designer__layout{--gd-sidebar-expanded:200px;--gd-inspector-expanded:240px}}@media (width<=760px){.gd-contract-template-designer__page-decorations-studio{border-top:1px solid var(--gdant-neutral-200);border-left:0;grid-row:1/-1;width:auto;height:min(70vh,100%);min-height:0;max-height:100%;inset:auto 0 0}.gd-contract-template-designer__page-decorations-studio-body{padding:var(--gdant-spacing-sm)}.gd-contract-template-designer__page-decorations-studio-head{align-items:flex-start}.gd-contract-template-designer__page-decorations-studio-actions{justify-content:flex-end;gap:var(--gdant-spacing-xs);flex-wrap:wrap}.gd-contract-template-designer__page-decorations-studio-footer{flex-direction:column;align-items:flex-start}.gd-contract-template-designer__page-decorations-studio-footer>div{justify-content:flex-end;width:100%}.gd-contract-template-designer__decoration-plan,.gd-contract-template-designer__decoration-slots-grid,.gd-contract-template-designer__decoration-slot-editor,.gd-contract-template-designer__decoration-control-grid{grid-template-columns:minmax(0,1fr)}.gd-contract-template-designer__decoration-slot-editor>.ant-dropdown-trigger{width:100%}}@media (prefers-reduced-motion:reduce){.gd-contract-template-designer__page-decorations-studio,.gd-contract-template-designer__page-decorations-studio *{transition:none}}