builder-settings-types 0.0.424 → 0.0.425

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.
@@ -32,6 +32,7 @@ export type SettingGroupProps<TSettings extends SettingsMap> = {
32
32
  deleteItem?: DeleteItemConfig;
33
33
  dataProps?: string;
34
34
  hide?: boolean;
35
+ setActiveOnSettingSelection?: boolean;
35
36
  };
36
37
  export declare function iterateSettings<TSettings extends SettingsMap>(settings: TSettings, callback: SettingIteratorCallback<TSettings>): void;
37
38
  export type SettingGroupWithSettings<TSettings extends SettingsMap> = SettingGroup<TSettings> & TSettings;
@@ -68,6 +69,7 @@ export declare class SettingGroup<TSettings extends SettingsMap> implements IDra
68
69
  private suppressOnChange;
69
70
  protected isRootNode: boolean;
70
71
  $id: string;
72
+ setActiveOnSettingSelection?: boolean;
71
73
  constructor(groupProps: SettingGroupProps<TSettings>);
72
74
  private propagateNestingLevel;
73
75
  getNestingLevel(): number;
@@ -8,6 +8,7 @@ export interface SettingProps<T> {
8
8
  id?: string;
9
9
  detectChange?: (value: T | undefined) => void;
10
10
  includeGetJson?: boolean;
11
+ description?: string;
11
12
  }
12
13
  export type Primitive = string | number | boolean | symbol | bigint | null | undefined;
13
14
  export type InputTypes = "number" | "text" | "select" | "color" | "date" | "button";
@@ -128,7 +128,7 @@
128
128
  `),l.push(` </office:body>
129
129
  `),o.bookType=="fods"?l.push("</office:document>"):l.push("</office:document-content>"),l.join("")}}();function Tc(t,e){if(e.bookType=="fods")return l0(t,e);var r=hs(),a="",n=[],i=[];return a="mimetype",ye(r,a,"application/vnd.oasis.opendocument.spreadsheet"),a="content.xml",ye(r,a,l0(t,e)),n.push([a,"text/xml"]),i.push([a,"ContentFile"]),a="styles.xml",ye(r,a,N5(t,e)),n.push([a,"text/xml"]),i.push([a,"StylesFile"]),a="meta.xml",ye(r,a,tt+dl()),n.push([a,"text/xml"]),i.push([a,"MetadataFile"]),a="manifest.rdf",ye(r,a,ou(i)),n.push([a,"application/rdf+xml"]),a="META-INF/manifest.xml",ye(r,a,iu(n)),r}/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */function fa(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ji(t){return typeof TextDecoder<"u"?new TextDecoder().decode(t):Re(Hr(t))}function M5(t){return typeof TextEncoder<"u"?new TextEncoder().encode(t):Dt(mr(t))}function O5(t,e){e:for(var r=0;r<=t.length-e.length;++r){for(var a=0;a<e.length;++a)if(t[r+a]!=e[a])continue e;return!0}return!1}function Vr(t){var e=t.reduce(function(n,i){return n+i.length},0),r=new Uint8Array(e),a=0;return t.forEach(function(n){r.set(n,a),a+=n.length}),r}function c0(t){return t-=t>>1&1431655765,t=(t&858993459)+(t>>2&858993459),(t+(t>>4)&252645135)*16843009>>>24}function P5(t,e){for(var r=(t[e+15]&127)<<7|t[e+14]>>1,a=t[e+14]&1,n=e+13;n>=e;--n)a=a*256+t[n];return(t[e+15]&128?-a:a)*Math.pow(10,r-6176)}function D5(t,e,r){var a=Math.floor(r==0?0:Math.LOG10E*Math.log(Math.abs(r)))+6176-20,n=r/Math.pow(10,a-6176);t[e+15]|=a>>7,t[e+14]|=(a&127)<<1;for(var i=0;n>=1;++i,n/=256)t[e+i]=n&255;t[e+15]|=r>=0?0:128}function pn(t,e){var r=e?e[0]:0,a=t[r]&127;e:if(t[r++]>=128&&(a|=(t[r]&127)<<7,t[r++]<128||(a|=(t[r]&127)<<14,t[r++]<128)||(a|=(t[r]&127)<<21,t[r++]<128)||(a+=(t[r]&127)*Math.pow(2,28),++r,t[r++]<128)||(a+=(t[r]&127)*Math.pow(2,35),++r,t[r++]<128)||(a+=(t[r]&127)*Math.pow(2,42),++r,t[r++]<128)))break e;return e&&(e[0]=r),a}function Oe(t){var e=new Uint8Array(7);e[0]=t&127;var r=1;e:if(t>127){if(e[r-1]|=128,e[r]=t>>7&127,++r,t<=16383||(e[r-1]|=128,e[r]=t>>14&127,++r,t<=2097151)||(e[r-1]|=128,e[r]=t>>21&127,++r,t<=268435455)||(e[r-1]|=128,e[r]=t/256>>>21&127,++r,t<=34359738367)||(e[r-1]|=128,e[r]=t/65536>>>21&127,++r,t<=4398046511103))break e;e[r-1]|=128,e[r]=t/16777216>>>21&127,++r}return e.slice(0,r)}function Ye(t){var e=0,r=t[e]&127;e:if(t[e++]>=128){if(r|=(t[e]&127)<<7,t[e++]<128||(r|=(t[e]&127)<<14,t[e++]<128)||(r|=(t[e]&127)<<21,t[e++]<128))break e;r|=(t[e]&127)<<28}return r}function Me(t){for(var e=[],r=[0];r[0]<t.length;){var a=r[0],n=pn(t,r),i=n&7;n=Math.floor(n/8);var s=0,o;if(n==0)break;switch(i){case 0:{for(var l=r[0];t[r[0]++]>=128;);o=t.slice(l,r[0])}break;case 5:s=4,o=t.slice(r[0],r[0]+s),r[0]+=s;break;case 1:s=8,o=t.slice(r[0],r[0]+s),r[0]+=s;break;case 2:s=pn(t,r),o=t.slice(r[0],r[0]+s),r[0]+=s;break;case 3:case 4:default:throw new Error("PB Type ".concat(i," for Field ").concat(n," at offset ").concat(a))}var c={data:o,type:i};e[n]==null?e[n]=[c]:e[n].push(c)}return e}function ut(t){var e=[];return t.forEach(function(r,a){r.forEach(function(n){n.data&&(e.push(Oe(a*8+n.type)),n.type==2&&e.push(Oe(n.data.length)),e.push(n.data))})}),Vr(e)}function Bs(t,e){return(t==null?void 0:t.map(function(r){return e(r.data)}))||[]}function $t(t){for(var e,r=[],a=[0];a[0]<t.length;){var n=pn(t,a),i=Me(t.slice(a[0],a[0]+n));a[0]+=n;var s={id:Ye(i[1][0].data),messages:[]};i[2].forEach(function(o){var l=Me(o.data),c=Ye(l[3][0].data);s.messages.push({meta:l,data:t.slice(a[0],a[0]+c)}),a[0]+=c}),(e=i[3])!=null&&e[0]&&(s.merge=Ye(i[3][0].data)>>>0>0),r.push(s)}return r}function va(t){var e=[];return t.forEach(function(r){var a=[];a[1]=[{data:Oe(r.id),type:0}],a[2]=[],r.merge!=null&&(a[3]=[{data:Oe(+!!r.merge),type:0}]);var n=[];r.messages.forEach(function(s){n.push(s.data),s.meta[3]=[{type:0,data:Oe(s.data.length)}],a[2].push({data:ut(s.meta),type:2})});var i=ut(a);e.push(Oe(i.length)),e.push(i),n.forEach(function(s){return e.push(s)})}),Vr(e)}function R5(t,e){if(t!=0)throw new Error("Unexpected Snappy chunk type ".concat(t));for(var r=[0],a=pn(e,r),n=[];r[0]<e.length;){var i=e[r[0]]&3;if(i==0){var s=e[r[0]++]>>2;if(s<60)++s;else{var o=s-59;s=e[r[0]],o>1&&(s|=e[r[0]+1]<<8),o>2&&(s|=e[r[0]+2]<<16),o>3&&(s|=e[r[0]+3]<<24),s>>>=0,s++,r[0]+=o}n.push(e.slice(r[0],r[0]+s)),r[0]+=s;continue}else{var l=0,c=0;if(i==1?(c=(e[r[0]]>>2&7)+4,l=(e[r[0]++]&224)<<3,l|=e[r[0]++]):(c=(e[r[0]++]>>2)+1,i==2?(l=e[r[0]]|e[r[0]+1]<<8,r[0]+=2):(l=(e[r[0]]|e[r[0]+1]<<8|e[r[0]+2]<<16|e[r[0]+3]<<24)>>>0,r[0]+=4)),n=[Vr(n)],l==0)throw new Error("Invalid offset 0");if(l>n[0].length)throw new Error("Invalid offset beyond length");if(c>=l)for(n.push(n[0].slice(-l)),c-=l;c>=n[n.length-1].length;)n.push(n[n.length-1]),c-=n[n.length-1].length;n.push(n[0].slice(-l,-l+c))}}var f=Vr(n);if(f.length!=a)throw new Error("Unexpected length: ".concat(f.length," != ").concat(a));return f}function Gt(t){for(var e=[],r=0;r<t.length;){var a=t[r++],n=t[r]|t[r+1]<<8|t[r+2]<<16;r+=3,e.push(R5(a,t.slice(r,r+n))),r+=n}if(r!==t.length)throw new Error("data is not a valid framed stream!");return Vr(e)}function wa(t){for(var e=[],r=0;r<t.length;){var a=Math.min(t.length-r,268435455),n=new Uint8Array(4);e.push(n);var i=Oe(a),s=i.length;e.push(i),a<=60?(s++,e.push(new Uint8Array([a-1<<2]))):a<=256?(s+=2,e.push(new Uint8Array([240,a-1&255]))):a<=65536?(s+=3,e.push(new Uint8Array([244,a-1&255,a-1>>8&255]))):a<=16777216?(s+=4,e.push(new Uint8Array([248,a-1&255,a-1>>8&255,a-1>>16&255]))):a<=4294967296&&(s+=5,e.push(new Uint8Array([252,a-1&255,a-1>>8&255,a-1>>16&255,a-1>>>24&255]))),e.push(t.slice(r,r+a)),s+=a,n[0]=0,n[1]=s&255,n[2]=s>>8&255,n[3]=s>>16&255,r+=a}return Vr(e)}function B5(t,e,r,a){var n=fa(t),i=n.getUint32(4,!0),s=(a>1?12:8)+c0(i&(a>1?3470:398))*4,o=-1,l=-1,c=NaN,f=new Date(2001,0,1);i&512&&(o=n.getUint32(s,!0),s+=4),s+=c0(i&(a>1?12288:4096))*4,i&16&&(l=n.getUint32(s,!0),s+=4),i&32&&(c=n.getFloat64(s,!0),s+=8),i&64&&(f.setTime(f.getTime()+n.getFloat64(s,!0)*1e3),s+=8);var h;switch(t[2]){case 0:break;case 2:h={t:"n",v:c};break;case 3:h={t:"s",v:e[l]};break;case 5:h={t:"d",v:f};break;case 6:h={t:"b",v:c>0};break;case 7:h={t:"n",v:c/86400};break;case 8:h={t:"e",v:0};break;case 9:if(o>-1)h={t:"s",v:r[o]};else if(l>-1)h={t:"s",v:e[l]};else if(!isNaN(c))h={t:"n",v:c};else throw new Error("Unsupported cell type ".concat(t.slice(0,4)));break;default:throw new Error("Unsupported cell type ".concat(t.slice(0,4)))}return h}function V5(t,e,r){var a=fa(t),n=a.getUint32(8,!0),i=12,s=-1,o=-1,l=NaN,c=NaN,f=new Date(2001,0,1);n&1&&(l=P5(t,i),i+=16),n&2&&(c=a.getFloat64(i,!0),i+=8),n&4&&(f.setTime(f.getTime()+a.getFloat64(i,!0)*1e3),i+=8),n&8&&(o=a.getUint32(i,!0),i+=4),n&16&&(s=a.getUint32(i,!0),i+=4);var h;switch(t[1]){case 0:break;case 2:h={t:"n",v:l};break;case 3:h={t:"s",v:e[o]};break;case 5:h={t:"d",v:f};break;case 6:h={t:"b",v:c>0};break;case 7:h={t:"n",v:c/86400};break;case 8:h={t:"e",v:0};break;case 9:if(s>-1)h={t:"s",v:r[s]};else throw new Error("Unsupported cell type ".concat(t[1]," : ").concat(n&31," : ").concat(t.slice(0,4)));break;case 10:h={t:"n",v:l};break;default:throw new Error("Unsupported cell type ".concat(t[1]," : ").concat(n&31," : ").concat(t.slice(0,4)))}return h}function Ai(t,e){var r=new Uint8Array(32),a=fa(r),n=12,i=0;switch(r[0]=5,t.t){case"n":r[1]=2,D5(r,n,t.v),i|=1,n+=16;break;case"b":r[1]=6,a.setFloat64(n,t.v?1:0,!0),i|=2,n+=8;break;case"s":if(e.indexOf(t.v)==-1)throw new Error("Value ".concat(t.v," missing from SST!"));r[1]=3,a.setUint32(n,e.indexOf(t.v),!0),i|=8,n+=4;break;default:throw"unsupported cell type "+t.t}return a.setUint32(8,i,!0),r.slice(0,n)}function Ii(t,e){var r=new Uint8Array(32),a=fa(r),n=12,i=0;switch(r[0]=3,t.t){case"n":r[2]=2,a.setFloat64(n,t.v,!0),i|=32,n+=8;break;case"b":r[2]=6,a.setFloat64(n,t.v?1:0,!0),i|=32,n+=8;break;case"s":if(e.indexOf(t.v)==-1)throw new Error("Value ".concat(t.v," missing from SST!"));r[2]=3,a.setUint32(n,e.indexOf(t.v),!0),i|=16,n+=4;break;default:throw"unsupported cell type "+t.t}return a.setUint32(4,i,!0),r.slice(0,n)}function H5(t,e,r){switch(t[0]){case 0:case 1:case 2:case 3:return B5(t,e,r,t[0]);case 5:return V5(t,e,r);default:throw new Error("Unsupported payload version ".concat(t[0]))}}function vt(t){var e=Me(t);return pn(e[1][0].data)}function f0(t,e){var r=Me(e.data),a=Ye(r[1][0].data),n=r[3],i=[];return(n||[]).forEach(function(s){var o=Me(s.data),l=Ye(o[1][0].data)>>>0;switch(a){case 1:i[l]=Ji(o[3][0].data);break;case 8:{var c=t[vt(o[9][0].data)][0],f=Me(c.data),h=t[vt(f[1][0].data)][0],u=Ye(h.meta[1][0].data);if(u!=2001)throw new Error("2000 unexpected reference to ".concat(u));var p=Me(h.data);i[l]=p[3].map(function(m){return Ji(m.data)}).join("")}break}}),i}function U5(t,e){var r,a,n,i,s,o,l,c,f,h,u,p,m,d,g=Me(t),x=Ye(g[1][0].data)>>>0,w=Ye(g[2][0].data)>>>0,v=((a=(r=g[8])==null?void 0:r[0])==null?void 0:a.data)&&Ye(g[8][0].data)>0||!1,L,F;if((i=(n=g[7])==null?void 0:n[0])!=null&&i.data&&e!=0)L=(o=(s=g[7])==null?void 0:s[0])==null?void 0:o.data,F=(c=(l=g[6])==null?void 0:l[0])==null?void 0:c.data;else if((h=(f=g[4])==null?void 0:f[0])!=null&&h.data&&e!=1)L=(p=(u=g[4])==null?void 0:u[0])==null?void 0:p.data,F=(d=(m=g[3])==null?void 0:m[0])==null?void 0:d.data;else throw"NUMBERS Tile missing ".concat(e," cell storage");for(var _=v?4:1,C=fa(L),M=[],N=0;N<L.length/2;++N){var G=C.getUint16(N*2,!0);G<65535&&M.push([N,G])}if(M.length!=w)throw"Expected ".concat(w," cells, found ").concat(M.length);var B=[];for(N=0;N<M.length-1;++N)B[M[N][0]]=F.subarray(M[N][1]*_,M[N+1][1]*_);return M.length>=1&&(B[M[M.length-1][0]]=F.subarray(M[M.length-1][1]*_)),{R:x,cells:B}}function W5(t,e){var r,a=Me(e.data),n=(r=a==null?void 0:a[7])!=null&&r[0]?Ye(a[7][0].data)>>>0>0?1:0:-1,i=Bs(a[5],function(s){return U5(s,n)});return{nrows:Ye(a[4][0].data)>>>0,data:i.reduce(function(s,o){return s[o.R]||(s[o.R]=[]),o.cells.forEach(function(l,c){if(s[o.R][c])throw new Error("Duplicate cell r=".concat(o.R," c=").concat(c));s[o.R][c]=l}),s},[])}}function $5(t,e,r){var a,n=Me(e.data),i={s:{r:0,c:0},e:{r:0,c:0}};if(i.e.r=(Ye(n[6][0].data)>>>0)-1,i.e.r<0)throw new Error("Invalid row varint ".concat(n[6][0].data));if(i.e.c=(Ye(n[7][0].data)>>>0)-1,i.e.c<0)throw new Error("Invalid col varint ".concat(n[7][0].data));r["!ref"]=Ce(i);var s=Me(n[4][0].data),o=f0(t,t[vt(s[4][0].data)][0]),l=(a=s[17])!=null&&a[0]?f0(t,t[vt(s[17][0].data)][0]):[],c=Me(s[3][0].data),f=0;c[1].forEach(function(h){var u=Me(h.data),p=t[vt(u[2][0].data)][0],m=Ye(p.meta[1][0].data);if(m!=6002)throw new Error("6001 unexpected reference to ".concat(m));var d=W5(t,p);d.data.forEach(function(g,x){g.forEach(function(w,v){var L=ge({r:f+x,c:v}),F=H5(w,o,l);F&&(r[L]=F)})}),f+=d.nrows})}function G5(t,e){var r=Me(e.data),a={"!ref":"A1"},n=t[vt(r[2][0].data)],i=Ye(n[0].meta[1][0].data);if(i!=6001)throw new Error("6000 unexpected reference to ".concat(i));return $5(t,n[0],a),a}function z5(t,e){var r,a=Me(e.data),n={name:(r=a[1])!=null&&r[0]?Ji(a[1][0].data):"",sheets:[]},i=Bs(a[2],vt);return i.forEach(function(s){t[s].forEach(function(o){var l=Ye(o.meta[1][0].data);l==6e3&&n.sheets.push(G5(t,o))})}),n}function X5(t,e){var r=$s(),a=Me(e.data),n=Bs(a[1],vt);if(n.forEach(function(i){t[i].forEach(function(s){var o=Ye(s.meta[1][0].data);if(o==2){var l=z5(t,s);l.sheets.forEach(function(c,f){Gs(r,c,f==0?l.name:l.name+"_"+f,!0)})}})}),r.SheetNames.length==0)throw new Error("Empty NUMBERS file");return r}function Ni(t){var e,r,a,n,i={},s=[];if(t.FullPaths.forEach(function(l){if(l.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),t.FileIndex.forEach(function(l){if(l.name.match(/\.iwa$/)){var c;try{c=Gt(l.content)}catch(h){return console.log("?? "+l.content.length+" "+(h.message||h))}var f;try{f=$t(c)}catch(h){return console.log("## "+(h.message||h))}f.forEach(function(h){i[h.id]=h.messages,s.push(h.id)})}}),!s.length)throw new Error("File has no messages");var o=((n=(a=(r=(e=i==null?void 0:i[1])==null?void 0:e[0])==null?void 0:r.meta)==null?void 0:a[1])==null?void 0:n[0].data)&&Ye(i[1][0].meta[1][0].data)==1&&i[1][0];if(o||s.forEach(function(l){i[l].forEach(function(c){var f=Ye(c.meta[1][0].data)>>>0;if(f==1)if(!o)o=c;else throw new Error("Document has multiple roots")})}),!o)throw new Error("Cannot find Document root");return X5(i,o)}function j5(t,e,r){var a,n,i,s;if(!((a=t[6])!=null&&a[0])||!((n=t[7])!=null&&n[0]))throw"Mutation only works on post-BNC storages!";var o=((s=(i=t[8])==null?void 0:i[0])==null?void 0:s.data)&&Ye(t[8][0].data)>0||!1;if(o)throw"Math only works with normal offsets";for(var l=0,c=fa(t[7][0].data),f=0,h=[],u=fa(t[4][0].data),p=0,m=[],d=0;d<e.length;++d){if(e[d]==null){c.setUint16(d*2,65535,!0),u.setUint16(d*2,65535);continue}c.setUint16(d*2,f,!0),u.setUint16(d*2,p,!0);var g,x;switch(typeof e[d]){case"string":g=Ai({t:"s",v:e[d]},r),x=Ii({t:"s",v:e[d]},r);break;case"number":g=Ai({t:"n",v:e[d]},r),x=Ii({t:"n",v:e[d]},r);break;case"boolean":g=Ai({t:"b",v:e[d]},r),x=Ii({t:"b",v:e[d]},r);break;default:throw new Error("Unsupported value "+e[d])}h.push(g),f+=g.length,m.push(x),p+=x.length,++l}for(t[2][0].data=Oe(l);d<t[7][0].data.length/2;++d)c.setUint16(d*2,65535,!0),u.setUint16(d*2,65535,!0);return t[6][0].data=Vr(h),t[3][0].data=Vr(m),l}function K5(t,e){if(!e||!e.numbers)throw new Error("Must pass a `numbers` option -- check the README");var r=t.Sheets[t.SheetNames[0]];t.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var a=It(r["!ref"]);a.s.r=a.s.c=0;var n=!1;a.e.c>9&&(n=!0,a.e.c=9),a.e.r>49&&(n=!0,a.e.r=49),n&&console.error("The Numbers writer is currently limited to ".concat(Ce(a)));var i=ni(r,{range:a,header:1}),s=["~Sh33tJ5~"];i.forEach(function(R){return R.forEach(function(O){typeof O=="string"&&s.push(O)})});var o={},l=[],c=de.read(e.numbers,{type:"base64"});c.FileIndex.map(function(R,O){return[R,c.FullPaths[O]]}).forEach(function(R){var O=R[0],P=R[1];if(O.type==2&&O.name.match(/\.iwa/)){var K=O.content,te=Gt(K),re=$t(te);re.forEach(function(Q){l.push(Q.id),o[Q.id]={deps:[],location:P,type:Ye(Q.messages[0].meta[1][0].data)}})}}),l.sort(function(R,O){return R-O});var f=l.filter(function(R){return R>1}).map(function(R){return[R,Oe(R)]});c.FileIndex.map(function(R,O){return[R,c.FullPaths[O]]}).forEach(function(R){var O=R[0];if(R[1],!!O.name.match(/\.iwa/)){var P=$t(Gt(O.content));P.forEach(function(K){K.messages.forEach(function(te){f.forEach(function(re){K.messages.some(function(Q){return Ye(Q.meta[1][0].data)!=11006&&O5(Q.data,re[1])})&&o[re[0]].deps.push(K.id)})})})}});for(var h=de.find(c,o[1].location),u=$t(Gt(h.content)),p,m=0;m<u.length;++m){var d=u[m];d.id==1&&(p=d)}var g=vt(Me(p.messages[0].data)[1][0].data);for(h=de.find(c,o[g].location),u=$t(Gt(h.content)),m=0;m<u.length;++m)d=u[m],d.id==g&&(p=d);for(g=vt(Me(p.messages[0].data)[2][0].data),h=de.find(c,o[g].location),u=$t(Gt(h.content)),m=0;m<u.length;++m)d=u[m],d.id==g&&(p=d);for(g=vt(Me(p.messages[0].data)[2][0].data),h=de.find(c,o[g].location),u=$t(Gt(h.content)),m=0;m<u.length;++m)d=u[m],d.id==g&&(p=d);var x=Me(p.messages[0].data);{x[6][0].data=Oe(a.e.r+1),x[7][0].data=Oe(a.e.c+1);var w=vt(x[46][0].data),v=de.find(c,o[w].location),L=$t(Gt(v.content));{for(var F=0;F<L.length&&L[F].id!=w;++F);if(L[F].id!=w)throw"Bad ColumnRowUIDMapArchive";var _=Me(L[F].messages[0].data);_[1]=[],_[2]=[],_[3]=[];for(var C=0;C<=a.e.c;++C){var M=[];M[1]=M[2]=[{type:0,data:Oe(C+420690)}],_[1].push({type:2,data:ut(M)}),_[2].push({type:0,data:Oe(C)}),_[3].push({type:0,data:Oe(C)})}_[4]=[],_[5]=[],_[6]=[];for(var N=0;N<=a.e.r;++N)M=[],M[1]=M[2]=[{type:0,data:Oe(N+726270)}],_[4].push({type:2,data:ut(M)}),_[5].push({type:0,data:Oe(N)}),_[6].push({type:0,data:Oe(N)});L[F].messages[0].data=ut(_)}v.content=wa(va(L)),v.size=v.content.length,delete x[46];var G=Me(x[4][0].data);{G[7][0].data=Oe(a.e.r+1);var B=Me(G[1][0].data),D=vt(B[2][0].data);v=de.find(c,o[D].location),L=$t(Gt(v.content));{if(L[0].id!=D)throw"Bad HeaderStorageBucket";var J=Me(L[0].messages[0].data);for(N=0;N<i.length;++N){var ce=Me(J[2][0].data);ce[1][0].data=Oe(N),ce[4][0].data=Oe(i[N].length),J[2][N]={type:J[2][0].type,data:ut(ce)}}L[0].messages[0].data=ut(J)}v.content=wa(va(L)),v.size=v.content.length;var ne=vt(G[2][0].data);v=de.find(c,o[ne].location),L=$t(Gt(v.content));{if(L[0].id!=ne)throw"Bad HeaderStorageBucket";for(J=Me(L[0].messages[0].data),C=0;C<=a.e.c;++C)ce=Me(J[2][0].data),ce[1][0].data=Oe(C),ce[4][0].data=Oe(a.e.r+1),J[2][C]={type:J[2][0].type,data:ut(ce)};L[0].messages[0].data=ut(J)}v.content=wa(va(L)),v.size=v.content.length;var fe=vt(G[4][0].data);(function(){for(var R=de.find(c,o[fe].location),O=$t(Gt(R.content)),P,K=0;K<O.length;++K){var te=O[K];te.id==fe&&(P=te)}var re=Me(P.messages[0].data);{re[3]=[];var Q=[];s.forEach(function(A,Ve){Q[1]=[{type:0,data:Oe(Ve)}],Q[2]=[{type:0,data:Oe(1)}],Q[3]=[{type:2,data:M5(A)}],re[3].push({type:2,data:ut(Q)})})}P.messages[0].data=ut(re);var q=va(O),ke=wa(q);R.content=ke,R.size=R.content.length})();var oe=Me(G[3][0].data);{var Te=oe[1][0];delete oe[2];var U=Me(Te.data);{var pe=vt(U[2][0].data);(function(){for(var R=de.find(c,o[pe].location),O=$t(Gt(R.content)),P,K=0;K<O.length;++K){var te=O[K];te.id==pe&&(P=te)}var re=Me(P.messages[0].data);{delete re[6],delete oe[7];var Q=new Uint8Array(re[5][0].data);re[5]=[];for(var q=0,ke=0;ke<=a.e.r;++ke){var A=Me(Q);q+=j5(A,i[ke],s),A[1][0].data=Oe(ke),re[5].push({data:ut(A),type:2})}re[1]=[{type:0,data:Oe(a.e.c+1)}],re[2]=[{type:0,data:Oe(a.e.r+1)}],re[3]=[{type:0,data:Oe(q)}],re[4]=[{type:0,data:Oe(a.e.r+1)}]}P.messages[0].data=ut(re);var Ve=va(O),Fe=wa(Ve);R.content=Fe,R.size=R.content.length})()}Te.data=ut(U)}G[3][0].data=ut(oe)}x[4][0].data=ut(G)}p.messages[0].data=ut(x);var we=va(u),I=wa(we);return h.content=I,h.size=h.content.length,c}function Sc(t){return function(r){for(var a=0;a!=t.length;++a){var n=t[a];r[n[0]]===void 0&&(r[n[0]]=n[1]),n[2]==="n"&&(r[n[0]]=Number(r[n[0]]))}}}function Vs(t){Sc([["cellNF",!1],["cellHTML",!0],["cellFormula",!0],["cellStyles",!1],["cellText",!0],["cellDates",!1],["sheetStubs",!1],["sheetRows",0,"n"],["bookDeps",!1],["bookSheets",!1],["bookProps",!1],["bookFiles",!1],["bookVBA",!1],["password",""],["WTF",!1]])(t)}function Hs(t){Sc([["cellDates",!1],["bookSST",!1],["bookType","xlsx"],["compression",!1],["WTF",!1]])(t)}function Y5(t){return be.WS.indexOf(t)>-1?"sheet":t==be.CS?"chart":t==be.DS?"dialog":t==be.MS?"macro":t&&t.length?t:"sheet"}function J5(t,e){if(!t)return 0;try{t=e.map(function(a){return a.id||(a.id=a.strRelID),[a.name,t["!id"][a.id].Target,Y5(t["!id"][a.id].Type)]})}catch{return null}return!t||t.length===0?null:t}function q5(t,e,r,a,n,i,s,o,l,c,f,h){try{i[a]=Ya(Rt(t,r,!0),e);var u=at(t,e),p;switch(o){case"sheet":p=wv(u,e,n,l,i[a],c,f,h);break;case"chart":if(p=Ev(u,e,n,l,i[a],c,f,h),!p||!p["!drawel"])break;var m=Ga(p["!drawel"].Target,e),d=ln(m),g=sm(Rt(t,m,!0),Ya(Rt(t,d,!0),m)),x=Ga(g,m),w=ln(x);p=jx(Rt(t,x,!0),x,l,Ya(Rt(t,w,!0),x),c,p);break;case"macro":p=Cv(u,e,n,l,i[a],c,f,h);break;case"dialog":p=yv(u,e,n,l,i[a],c,f,h);break;default:throw new Error("Unrecognized sheet type "+o)}s[a]=p;var v=[];i&&i[a]&&Je(i[a]).forEach(function(L){var F="";if(i[a][L].Type==be.CMNT){F=Ga(i[a][L].Target,e);var _=Sv(at(t,F,!0),F,l);if(!_||!_.length)return;Yo(p,_,!1)}i[a][L].Type==be.TCMNT&&(F=Ga(i[a][L].Target,e),v=v.concat(lm(at(t,F,!0),l)))}),v&&v.length&&Yo(p,v,!0,l.people||[])}catch(L){if(l.WTF)throw L}}function Ut(t){return t.charAt(0)=="/"?t.slice(1):t}function Z5(t,e){if(Ma(),e=e||{},Vs(e),zt(t,"META-INF/manifest.xml")||zt(t,"objectdata.xml"))return s0(t,e);if(zt(t,"Index/Document.iwa")){if(typeof Uint8Array>"u")throw new Error("NUMBERS file parsing requires Uint8Array support");if(typeof Ni<"u"){if(t.FileIndex)return Ni(t);var r=de.utils.cfb_new();return go(t).forEach(function(ce){ye(r,ce,ch(t,ce))}),Ni(r)}throw new Error("Unsupported NUMBERS file")}if(!zt(t,"[Content_Types].xml"))throw zt(t,"index.xml.gz")?new Error("Unsupported NUMBERS 08 file"):zt(t,"index.xml")?new Error("Unsupported NUMBERS 09 file"):new Error("Unsupported ZIP file");var a=go(t),n=ru(Rt(t,"[Content_Types].xml")),i=!1,s,o;if(n.workbooks.length===0&&(o="xl/workbook.xml",at(t,o,!0)&&n.workbooks.push(o)),n.workbooks.length===0){if(o="xl/workbook.bin",!at(t,o,!0))throw new Error("Could not find workbook");n.workbooks.push(o),i=!0}n.workbooks[0].slice(-3)=="bin"&&(i=!0);var l={},c={};if(!e.bookSheets&&!e.bookProps){if(Ja=[],n.sst)try{Ja=Tv(at(t,Ut(n.sst)),n.sst,e)}catch(ce){if(e.WTF)throw ce}e.cellStyles&&n.themes.length&&(l=_v(Rt(t,n.themes[0].replace(/^\//,""),!0)||"",n.themes[0],e)),n.style&&(c=kv(at(t,Ut(n.style)),n.style,l,e))}n.links.map(function(ce){try{var ne=Ya(Rt(t,ln(Ut(ce))),ce);return Lv(at(t,Ut(ce)),ne,ce,e)}catch{}});var f=vv(at(t,Ut(n.workbooks[0])),n.workbooks[0],e),h={},u="";n.coreprops.length&&(u=at(t,Ut(n.coreprops[0]),!0),u&&(h=pl(u)),n.extprops.length!==0&&(u=at(t,Ut(n.extprops[0]),!0),u&&cu(u,h,e)));var p={};(!e.bookSheets||e.bookProps)&&n.custprops.length!==0&&(u=Rt(t,Ut(n.custprops[0]),!0),u&&(p=hu(u,e)));var m={};if((e.bookSheets||e.bookProps)&&(f.Sheets?s=f.Sheets.map(function(ne){return ne.name}):h.Worksheets&&h.SheetNames.length>0&&(s=h.SheetNames),e.bookProps&&(m.Props=h,m.Custprops=p),e.bookSheets&&typeof s<"u"&&(m.SheetNames=s),e.bookSheets?m.SheetNames:e.bookProps))return m;s={};var d={};e.bookDeps&&n.calcchain&&(d=bv(at(t,Ut(n.calcchain)),n.calcchain));var g=0,x={},w,v;{var L=f.Sheets;h.Worksheets=L.length,h.SheetNames=[];for(var F=0;F!=L.length;++F)h.SheetNames[F]=L[F].name}var _=i?"bin":"xml",C=n.workbooks[0].lastIndexOf("/"),M=(n.workbooks[0].slice(0,C+1)+"_rels/"+n.workbooks[0].slice(C+1)+".rels").replace(/^\//,"");zt(t,M)||(M="xl/_rels/workbook."+_+".rels");var N=Ya(Rt(t,M,!0),M.replace(/_rels.*/,"s5s"));(n.metadata||[]).length>=1&&(e.xlmeta=Fv(at(t,Ut(n.metadata[0])),n.metadata[0],e)),(n.people||[]).length>=1&&(e.people=fm(at(t,Ut(n.people[0])),e)),N&&(N=J5(N,f.Sheets));var G=at(t,"xl/worksheets/sheet.xml",!0)?1:0;e:for(g=0;g!=h.Worksheets;++g){var B="sheet";if(N&&N[g]?(w="xl/"+N[g][1].replace(/[\/]?xl\//,""),zt(t,w)||(w=N[g][1]),zt(t,w)||(w=M.replace(/_rels\/.*$/,"")+N[g][1]),B=N[g][2]):(w="xl/worksheets/sheet"+(g+1-G)+"."+_,w=w.replace(/sheet0\./,"sheet.")),v=w.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),e&&e.sheets!=null)switch(typeof e.sheets){case"number":if(g!=e.sheets)continue e;break;case"string":if(h.SheetNames[g].toLowerCase()!=e.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(e.sheets)){for(var D=!1,J=0;J!=e.sheets.length;++J)typeof e.sheets[J]=="number"&&e.sheets[J]==g&&(D=1),typeof e.sheets[J]=="string"&&e.sheets[J].toLowerCase()==h.SheetNames[g].toLowerCase()&&(D=1);if(!D)continue e}}q5(t,w,v,h.SheetNames[g],g,x,s,B,e,f,l,c)}return m={Directory:n,Workbook:f,Props:h,Custprops:p,Deps:d,Sheets:s,SheetNames:h.SheetNames,Strings:Ja,Styles:c,Themes:l,SSF:$e(me)},e&&e.bookFiles&&(t.files?(m.keys=a,m.files=t.files):(m.keys=[],m.files={},t.FullPaths.forEach(function(ce,ne){ce=ce.replace(/^Root Entry[\/]/,""),m.keys.push(ce),m.files[ce]=t.FileIndex[ne]}))),e&&e.bookVBA&&(n.vba.length>0?m.vbaraw=at(t,Ut(n.vba[0]),!0):n.defaults&&n.defaults.bin===vm&&(m.vbaraw=at(t,"xl/vbaProject.bin",!0))),m}function Q5(t,e){var r=e||{},a="Workbook",n=de.find(t,a);try{if(a="/!DataSpaces/Version",n=de.find(t,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(Fd(n.content),a="/!DataSpaces/DataSpaceMap",n=de.find(t,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var i=Id(n.content);if(i.length!==1||i[0].comps.length!==1||i[0].comps[0].t!==0||i[0].name!=="StrongEncryptionDataSpace"||i[0].comps[0].v!=="EncryptedPackage")throw new Error("ECMA-376 Encrypted file bad "+a);if(a="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",n=de.find(t,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var s=Nd(n.content);if(s.length!=1||s[0]!="StrongEncryptionTransform")throw new Error("ECMA-376 Encrypted file bad "+a);if(a="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",n=de.find(t,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);Od(n.content)}catch{}if(a="/EncryptionInfo",n=de.find(t,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);var o=Pd(n.content);if(a="/EncryptedPackage",n=de.find(t,a),!n||!n.content)throw new Error("ECMA-376 Encrypted file missing "+a);if(o[0]==4&&typeof decrypt_agile<"u")return decrypt_agile(o[1],n.content,r.password||"",r);if(o[0]==2&&typeof decrypt_std76<"u")return decrypt_std76(o[1],n.content,r.password||"",r);throw new Error("File is password-protected")}function e4(t,e){return e.bookType=="ods"?Tc(t,e):e.bookType=="numbers"?K5(t,e):e.bookType=="xlsb"?t4(t,e):r4(t,e)}function t4(t,e){Ca=1024,t&&!t.SSF&&(t.SSF=$e(me)),t&&t.SSF&&(Ma(),fi(t.SSF),e.revssf=ui(t.SSF),e.revssf[t.SSF[65535]]=0,e.ssf=t.SSF),e.rels={},e.wbrels={},e.Strings=[],e.Strings.Count=0,e.Strings.Unique=0,qa?e.revStrings=new Map:(e.revStrings={},e.revStrings.foo=[],delete e.revStrings.foo);var r=e.bookType=="xlsb"?"bin":"xml",a=Ql.indexOf(e.bookType)>-1,n=Ts();Hs(e=e||{});var i=hs(),s="",o=0;if(e.cellXfs=[],Wr(e.cellXfs,{},{revssf:{General:0}}),t.Props||(t.Props={}),s="docProps/core.xml",ye(i,s,ml(t.Props,e)),n.coreprops.push(s),Pe(e.rels,2,s,be.CORE_PROPS),s="docProps/app.xml",!(t.Props&&t.Props.SheetNames))if(!t.Workbook||!t.Workbook.Sheets)t.Props.SheetNames=t.SheetNames;else{for(var l=[],c=0;c<t.SheetNames.length;++c)(t.Workbook.Sheets[c]||{}).Hidden!=2&&l.push(t.SheetNames[c]);t.Props.SheetNames=l}for(t.Props.Worksheets=t.Props.SheetNames.length,ye(i,s,vl(t.Props)),n.extprops.push(s),Pe(e.rels,3,s,be.EXT_PROPS),t.Custprops!==t.Props&&Je(t.Custprops||{}).length>0&&(s="docProps/custom.xml",ye(i,s,wl(t.Custprops)),n.custprops.push(s),Pe(e.rels,4,s,be.CUST_PROPS)),o=1;o<=t.SheetNames.length;++o){var f={"!id":{}},h=t.Sheets[t.SheetNames[o-1]],u=(h||{})["!type"]||"sheet";switch(u){case"chart":default:s="xl/worksheets/sheet"+o+"."+r,ye(i,s,Iv(o-1,s,e,t,f)),n.sheets.push(s),Pe(e.wbrels,-1,"worksheets/sheet"+o+"."+r,be.WS[0])}if(h){var p=h["!comments"],m=!1,d="";p&&p.length>0&&(d="xl/comments"+o+"."+r,ye(i,d,Ov(p,d)),n.comments.push(d),Pe(f,-1,"../comments"+o+"."+r,be.CMNT),m=!0),h["!legacy"]&&m&&ye(i,"xl/drawings/vmlDrawing"+o+".vml",ql(o,h["!comments"])),delete h["!comments"],delete h["!legacy"]}f["!id"].rId1&&ye(i,ln(s),Sa(f))}return e.Strings!=null&&e.Strings.length>0&&(s="xl/sharedStrings."+r,ye(i,s,Mv(e.Strings,s,e)),n.strs.push(s),Pe(e.wbrels,-1,"sharedStrings."+r,be.SST)),s="xl/workbook."+r,ye(i,s,Av(t,s)),n.workbooks.push(s),Pe(e.rels,1,s,be.WB),s="xl/theme/theme1.xml",ye(i,s,Is(t.Themes,e)),n.themes.push(s),Pe(e.wbrels,-1,"theme/theme1.xml",be.THEME),s="xl/styles."+r,ye(i,s,Nv(t,s,e)),n.styles.push(s),Pe(e.wbrels,-1,"styles."+r,be.STY),t.vbaraw&&a&&(s="xl/vbaProject.bin",ye(i,s,t.vbaraw),n.vba.push(s),Pe(e.wbrels,-1,"vbaProject.bin",be.VBA)),s="xl/metadata."+r,ye(i,s,Pv(s)),n.metadata.push(s),Pe(e.wbrels,-1,"metadata."+r,be.XLMETA),ye(i,"[Content_Types].xml",ul(n,e)),ye(i,"_rels/.rels",Sa(e.rels)),ye(i,"xl/_rels/workbook."+r+".rels",Sa(e.wbrels)),delete e.revssf,delete e.ssf,i}function r4(t,e){Ca=1024,t&&!t.SSF&&(t.SSF=$e(me)),t&&t.SSF&&(Ma(),fi(t.SSF),e.revssf=ui(t.SSF),e.revssf[t.SSF[65535]]=0,e.ssf=t.SSF),e.rels={},e.wbrels={},e.Strings=[],e.Strings.Count=0,e.Strings.Unique=0,qa?e.revStrings=new Map:(e.revStrings={},e.revStrings.foo=[],delete e.revStrings.foo);var r="xml",a=Ql.indexOf(e.bookType)>-1,n=Ts();Hs(e=e||{});var i=hs(),s="",o=0;if(e.cellXfs=[],Wr(e.cellXfs,{},{revssf:{General:0}}),t.Props||(t.Props={}),s="docProps/core.xml",ye(i,s,ml(t.Props,e)),n.coreprops.push(s),Pe(e.rels,2,s,be.CORE_PROPS),s="docProps/app.xml",!(t.Props&&t.Props.SheetNames))if(!t.Workbook||!t.Workbook.Sheets)t.Props.SheetNames=t.SheetNames;else{for(var l=[],c=0;c<t.SheetNames.length;++c)(t.Workbook.Sheets[c]||{}).Hidden!=2&&l.push(t.SheetNames[c]);t.Props.SheetNames=l}t.Props.Worksheets=t.Props.SheetNames.length,ye(i,s,vl(t.Props)),n.extprops.push(s),Pe(e.rels,3,s,be.EXT_PROPS),t.Custprops!==t.Props&&Je(t.Custprops||{}).length>0&&(s="docProps/custom.xml",ye(i,s,wl(t.Custprops)),n.custprops.push(s),Pe(e.rels,4,s,be.CUST_PROPS));var f=["SheetJ5"];for(e.tcid=0,o=1;o<=t.SheetNames.length;++o){var h={"!id":{}},u=t.Sheets[t.SheetNames[o-1]],p=(u||{})["!type"]||"sheet";switch(p){case"chart":default:s="xl/worksheets/sheet"+o+"."+r,ye(i,s,fc(o-1,e,t,h)),n.sheets.push(s),Pe(e.wbrels,-1,"worksheets/sheet"+o+"."+r,be.WS[0])}if(u){var m=u["!comments"],d=!1,g="";if(m&&m.length>0){var x=!1;m.forEach(function(w){w[1].forEach(function(v){v.T==!0&&(x=!0)})}),x&&(g="xl/threadedComments/threadedComment"+o+"."+r,ye(i,g,cm(m,f,e)),n.threadedcomments.push(g),Pe(h,-1,"../threadedComments/threadedComment"+o+"."+r,be.TCMNT)),g="xl/comments"+o+"."+r,ye(i,g,Zl(m)),n.comments.push(g),Pe(h,-1,"../comments"+o+"."+r,be.CMNT),d=!0}u["!legacy"]&&d&&ye(i,"xl/drawings/vmlDrawing"+o+".vml",ql(o,u["!comments"])),delete u["!comments"],delete u["!legacy"]}h["!id"].rId1&&ye(i,ln(s),Sa(h))}return e.Strings!=null&&e.Strings.length>0&&(s="xl/sharedStrings."+r,ye(i,s,Vl(e.Strings,e)),n.strs.push(s),Pe(e.wbrels,-1,"sharedStrings."+r,be.SST)),s="xl/workbook."+r,ye(i,s,mc(t)),n.workbooks.push(s),Pe(e.rels,1,s,be.WB),s="xl/theme/theme1.xml",ye(i,s,Is(t.Themes,e)),n.themes.push(s),Pe(e.wbrels,-1,"theme/theme1.xml",be.THEME),s="xl/styles."+r,ye(i,s,jl(t,e)),n.styles.push(s),Pe(e.wbrels,-1,"styles."+r,be.STY),t.vbaraw&&a&&(s="xl/vbaProject.bin",ye(i,s,t.vbaraw),n.vba.push(s),Pe(e.wbrels,-1,"vbaProject.bin",be.VBA)),s="xl/metadata."+r,ye(i,s,Jl()),n.metadata.push(s),Pe(e.wbrels,-1,"metadata."+r,be.XLMETA),f.length>1&&(s="xl/persons/person.xml",ye(i,s,hm(f)),n.people.push(s),Pe(e.wbrels,-1,"persons/person.xml",be.PEOPLE)),ye(i,"[Content_Types].xml",ul(n,e)),ye(i,"_rels/.rels",Sa(e.rels)),ye(i,"xl/_rels/workbook."+r+".rels",Sa(e.wbrels)),delete e.revssf,delete e.ssf,i}function Us(t,e){var r="";switch((e||{}).type||"base64"){case"buffer":return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]];case"base64":r=Bt(t.slice(0,12));break;case"binary":r=t;break;case"array":return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]];default:throw new Error("Unrecognized type "+(e&&e.type||"undefined"))}return[r.charCodeAt(0),r.charCodeAt(1),r.charCodeAt(2),r.charCodeAt(3),r.charCodeAt(4),r.charCodeAt(5),r.charCodeAt(6),r.charCodeAt(7)]}function a4(t,e){return de.find(t,"EncryptedPackage")?Q5(t,e):wc(t,e)}function n4(t,e){var r,a=t,n=e||{};return n.type||(n.type=_e&&Buffer.isBuffer(t)?"buffer":"base64"),r=U0(a,n),Z5(r,n)}function bc(t,e){var r=0;e:for(;r<t.length;)switch(t.charCodeAt(r)){case 10:case 13:case 32:++r;break;case 60:return Ki(t.slice(r),e);default:break e}return Aa.to_workbook(t,e)}function i4(t,e){var r="",a=Us(t,e);switch(e.type){case"base64":r=Bt(t);break;case"binary":r=t;break;case"buffer":r=t.toString("binary");break;case"array":r=sa(t);break;default:throw new Error("Unrecognized type "+e.type)}return a[0]==239&&a[1]==187&&a[2]==191&&(r=Re(r)),e.type="binary",bc(r,e)}function s4(t,e){var r=t;return e.type=="base64"&&(r=Bt(r)),r=Vi.utils.decode(1200,r.slice(2),"str"),e.type="binary",bc(r,e)}function o4(t){return t.match(/[^\x00-\x7F]/)?mr(t):t}function Mi(t,e,r,a){return a?(r.type="string",Aa.to_workbook(t,r)):Aa.to_workbook(e,r)}function ai(t,e){ss();var r=e||{};if(typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer)return ai(new Uint8Array(t),(r=$e(r),r.type="array",r));typeof Uint8Array<"u"&&t instanceof Uint8Array&&!r.type&&(r.type=typeof Deno<"u"?"buffer":"array");var a=t,n=[0,0,0,0],i=!1;if(r.cellStyles&&(r.cellNF=!0,r.sheetStubs=!0),La={},r.dateNF&&(La.dateNF=r.dateNF),r.type||(r.type=_e&&Buffer.isBuffer(t)?"buffer":"base64"),r.type=="file"&&(r.type=_e?"buffer":"binary",a=th(t),typeof Uint8Array<"u"&&!_e&&(r.type="array")),r.type=="string"&&(i=!0,r.type="binary",r.codepage=65001,a=o4(t)),r.type=="array"&&typeof Uint8Array<"u"&&t instanceof Uint8Array&&typeof ArrayBuffer<"u"){var s=new ArrayBuffer(3),o=new Uint8Array(s);if(o.foo="bar",!o.foo)return r=$e(r),r.type="array",ai(os(a),r)}switch((n=Us(a,r))[0]){case 208:if(n[1]===207&&n[2]===17&&n[3]===224&&n[4]===161&&n[5]===177&&n[6]===26&&n[7]===225)return a4(de.read(a,r),r);break;case 9:if(n[1]<=8)return wc(a,r);break;case 60:return Ki(a,r);case 73:if(n[1]===73&&n[2]===42&&n[3]===0)throw new Error("TIFF Image File is not a spreadsheet");if(n[1]===68)return ud(a,r);break;case 84:if(n[1]===65&&n[2]===66&&n[3]===76)return Rl.to_workbook(a,r);break;case 80:return n[1]===75&&n[2]<9&&n[3]<9?n4(a,r):Mi(t,a,r,i);case 239:return n[3]===60?Ki(a,r):Mi(t,a,r,i);case 255:if(n[1]===254)return s4(a,r);if(n[1]===0&&n[2]===2&&n[3]===0)return ea.to_workbook(a,r);break;case 0:if(n[1]===0&&(n[2]>=2&&n[3]===0||n[2]===0&&(n[3]===8||n[3]===9)))return ea.to_workbook(a,r);break;case 3:case 131:case 139:case 140:return ji.to_workbook(a,r);case 123:if(n[1]===92&&n[2]===114&&n[3]===116)return Gl.to_workbook(a,r);break;case 10:case 13:case 32:return i4(a,r);case 137:if(n[1]===80&&n[2]===78&&n[3]===71)throw new Error("PNG Image File is not a spreadsheet");break}return hd.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31?ji.to_workbook(a,r):Mi(t,a,r,i)}function Lc(t,e){switch(e.type){case"base64":case"binary":break;case"buffer":case"array":e.type="";break;case"file":return xn(e.file,de.write(t,{type:_e?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+e.bookType+"' files");default:throw new Error("Unrecognized type "+e.type)}return de.write(t,e)}function l4(t,e){var r=$e(e||{}),a=e4(t,r);return c4(a,r)}function c4(t,e){var r={},a=_e?"nodebuffer":typeof Uint8Array<"u"?"array":"string";if(e.compression&&(r.compression="DEFLATE"),e.password)r.type=a;else switch(e.type){case"base64":r.type="base64";break;case"binary":r.type="string";break;case"string":throw new Error("'string' output type invalid for '"+e.bookType+"' files");case"buffer":case"file":r.type=a;break;default:throw new Error("Unrecognized type "+e.type)}var n=t.FullPaths?de.write(t,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[r.type]||r.type,compression:!!e.compression}):t.generate(r);if(typeof Deno<"u"&&typeof n=="string"){if(e.type=="binary"||e.type=="base64")return n;n=new Uint8Array(ci(n))}return e.password&&typeof encrypt_agile<"u"?Lc(encrypt_agile(n,e.password),e):e.type==="file"?xn(e.file,n):e.type=="string"?Re(n):n}function f4(t,e){var r=e||{},a=o5(t,r);return Lc(a,r)}function dr(t,e,r){r||(r="");var a=r+t;switch(e.type){case"base64":return rn(mr(a));case"binary":return mr(a);case"string":return t;case"file":return xn(e.file,a,"utf8");case"buffer":return _e?Lr(a,"utf8"):typeof TextEncoder<"u"?new TextEncoder().encode(a):dr(a,{type:"binary"}).split("").map(function(n){return n.charCodeAt(0)})}throw new Error("Unrecognized type "+e.type)}function h4(t,e){switch(e.type){case"base64":return rn(t);case"binary":return t;case"string":return t;case"file":return xn(e.file,t,"binary");case"buffer":return _e?Lr(t,"binary"):t.split("").map(function(r){return r.charCodeAt(0)})}throw new Error("Unrecognized type "+e.type)}function Dn(t,e){switch(e.type){case"string":case"base64":case"binary":for(var r="",a=0;a<t.length;++a)r+=String.fromCharCode(t[a]);return e.type=="base64"?rn(r):e.type=="string"?Re(r):r;case"file":return xn(e.file,t);case"buffer":return t;default:throw new Error("Unrecognized type "+e.type)}}function Fc(t,e){ss(),av(t);var r=$e(e||{});if(r.cellStyles&&(r.cellNF=!0,r.sheetStubs=!0),r.type=="array"){r.type="binary";var a=Fc(t,r);return r.type="array",ci(a)}var n=0;if(r.sheet&&(typeof r.sheet=="number"?n=r.sheet:n=t.SheetNames.indexOf(r.sheet),!t.SheetNames[n]))throw new Error("Sheet not found: "+r.sheet+" : "+typeof r.sheet);switch(r.bookType||"xlsb"){case"xml":case"xlml":return dr(e5(t,r),r);case"slk":case"sylk":return dr(Dl.from_sheet(t.Sheets[t.SheetNames[n]],r),r);case"htm":case"html":return dr(Cc(t.Sheets[t.SheetNames[n]],r),r);case"txt":return h4(Ac(t.Sheets[t.SheetNames[n]],r),r);case"csv":return dr(Ws(t.Sheets[t.SheetNames[n]],r),r,"\uFEFF");case"dif":return dr(Rl.from_sheet(t.Sheets[t.SheetNames[n]],r),r);case"dbf":return Dn(ji.from_sheet(t.Sheets[t.SheetNames[n]],r),r);case"prn":return dr(Aa.from_sheet(t.Sheets[t.SheetNames[n]],r),r);case"rtf":return dr(Gl.from_sheet(t.Sheets[t.SheetNames[n]],r),r);case"eth":return dr(Bl.from_sheet(t.Sheets[t.SheetNames[n]],r),r);case"fods":return dr(Tc(t,r),r);case"wk1":return Dn(ea.sheet_to_wk1(t.Sheets[t.SheetNames[n]],r),r);case"wk3":return Dn(ea.book_to_wk3(t,r),r);case"biff2":r.biff||(r.biff=2);case"biff3":r.biff||(r.biff=3);case"biff4":return r.biff||(r.biff=4),Dn(Ec(t,r),r);case"biff5":r.biff||(r.biff=5);case"biff8":case"xla":case"xls":return r.biff||(r.biff=8),f4(t,r);case"xlsx":case"xlsm":case"xlam":case"xlsb":case"numbers":case"ods":return l4(t,r);default:throw new Error("Unrecognized bookType |"+r.bookType+"|")}}function u4(t){if(!t.bookType){var e={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"},r=t.file.slice(t.file.lastIndexOf(".")).toLowerCase();r.match(/^\.[a-z]+$/)&&(t.bookType=r.slice(1)),t.bookType=e[t.bookType]||t.bookType}}function qi(t,e,r){var a={};return a.type="file",a.file=e,u4(a),Fc(t,a)}function d4(t,e,r,a,n,i,s,o){var l=et(r),c=o.defval,f=o.raw||!Object.prototype.hasOwnProperty.call(o,"raw"),h=!0,u=n===1?[]:{};if(n!==1)if(Object.defineProperty)try{Object.defineProperty(u,"__rowNum__",{value:r,enumerable:!1})}catch{u.__rowNum__=r}else u.__rowNum__=r;if(!s||t[r])for(var p=e.s.c;p<=e.e.c;++p){var m=s?t[r][p]:t[a[p]+l];if(m===void 0||m.t===void 0){if(c===void 0)continue;i[p]!=null&&(u[i[p]]=c);continue}var d=m.v;switch(m.t){case"z":if(d==null)break;continue;case"e":d=d==0?null:void 0;break;case"s":case"d":case"b":case"n":break;default:throw new Error("unrecognized type "+m.t)}if(i[p]!=null){if(d==null)if(m.t=="e"&&d===null)u[i[p]]=null;else if(c!==void 0)u[i[p]]=c;else if(f&&d===null)u[i[p]]=null;else continue;else u[i[p]]=f&&(m.t!=="n"||m.t==="n"&&o.rawNumbers!==!1)?d:br(m,d,o);d!=null&&(h=!1)}}return{row:u,isempty:h}}function ni(t,e){if(t==null||t["!ref"]==null)return[];var r={t:"n",v:0},a=0,n=1,i=[],s=0,o="",l={s:{r:0,c:0},e:{r:0,c:0}},c=e||{},f=c.range!=null?c.range:t["!ref"];switch(c.header===1?a=1:c.header==="A"?a=2:Array.isArray(c.header)?a=3:c.header==null&&(a=0),typeof f){case"string":l=Ne(f);break;case"number":l=Ne(t["!ref"]),l.s.r=f;break;default:l=f}a>0&&(n=0);var h=et(l.s.r),u=[],p=[],m=0,d=0,g=Array.isArray(t),x=l.s.r,w=0,v={};g&&!t[x]&&(t[x]=[]);var L=c.skipHidden&&t["!cols"]||[],F=c.skipHidden&&t["!rows"]||[];for(w=l.s.c;w<=l.e.c;++w)if(!(L[w]||{}).hidden)switch(u[w]=Xe(w),r=g?t[x][w]:t[u[w]+h],a){case 1:i[w]=w-l.s.c;break;case 2:i[w]=u[w];break;case 3:i[w]=c.header[w-l.s.c];break;default:if(r==null&&(r={w:"__EMPTY",t:"s"}),o=s=br(r,null,c),d=v[s]||0,!d)v[s]=1;else{do o=s+"_"+d++;while(v[o]);v[s]=d,v[o]=1}i[w]=o}for(x=l.s.r+n;x<=l.e.r;++x)if(!(F[x]||{}).hidden){var _=d4(t,l,x,u,a,i,g,c);(_.isempty===!1||(a===1?c.blankrows!==!1:c.blankrows))&&(p[m++]=_.row)}return p.length=m,p}var h0=/"/g;function p4(t,e,r,a,n,i,s,o){for(var l=!0,c=[],f="",h=et(r),u=e.s.c;u<=e.e.c;++u)if(a[u]){var p=o.dense?(t[r]||[])[u]:t[a[u]+h];if(p==null)f="";else if(p.v!=null){l=!1,f=""+(o.rawNumbers&&p.t=="n"?p.v:br(p,null,o));for(var m=0,d=0;m!==f.length;++m)if((d=f.charCodeAt(m))===n||d===i||d===34||o.forceQuotes){f='"'+f.replace(h0,'""')+'"';break}f=="ID"&&(f='"ID"')}else p.f!=null&&!p.F?(l=!1,f="="+p.f,f.indexOf(",")>=0&&(f='"'+f.replace(h0,'""')+'"')):f="";c.push(f)}return o.blankrows===!1&&l?null:c.join(s)}function Ws(t,e){var r=[],a=e??{};if(t==null||t["!ref"]==null)return"";var n=Ne(t["!ref"]),i=a.FS!==void 0?a.FS:",",s=i.charCodeAt(0),o=a.RS!==void 0?a.RS:`
130
130
  `,l=o.charCodeAt(0),c=new RegExp((i=="|"?"\\|":i)+"+$"),f="",h=[];a.dense=Array.isArray(t);for(var u=a.skipHidden&&t["!cols"]||[],p=a.skipHidden&&t["!rows"]||[],m=n.s.c;m<=n.e.c;++m)(u[m]||{}).hidden||(h[m]=Xe(m));for(var d=0,g=n.s.r;g<=n.e.r;++g)(p[g]||{}).hidden||(f=p4(t,n,g,h,s,l,i,a),f!=null&&(a.strip&&(f=f.replace(c,"")),(f||a.blankrows!==!1)&&r.push((d++?o:"")+f)));return delete a.dense,r.join("")}function Ac(t,e){e||(e={}),e.FS=" ",e.RS=`
131
- `;var r=Ws(t,e);return r}function m4(t){var e="",r,a="";if(t==null||t["!ref"]==null)return[];var n=Ne(t["!ref"]),i="",s=[],o,l=[],c=Array.isArray(t);for(o=n.s.c;o<=n.e.c;++o)s[o]=Xe(o);for(var f=n.s.r;f<=n.e.r;++f)for(i=et(f),o=n.s.c;o<=n.e.c;++o)if(e=s[o]+i,r=c?(t[f]||[])[o]:t[e],a="",r!==void 0){if(r.F!=null){if(e=r.F,!r.f)continue;a=r.f,e.indexOf(":")==-1&&(e=e+":"+e)}if(r.f!=null)a=r.f;else{if(r.t=="z")continue;if(r.t=="n"&&r.v!=null)a=""+r.v;else if(r.t=="b")a=r.v?"TRUE":"FALSE";else if(r.w!==void 0)a="'"+r.w;else{if(r.v===void 0)continue;r.t=="s"?a="'"+r.v:a=""+r.v}}l[l.length]=e+"="+a}return l}function Ic(t,e,r){var a=r||{},n=+!a.skipHeader,i=t||{},s=0,o=0;if(i&&a.origin!=null)if(typeof a.origin=="number")s=a.origin;else{var l=typeof a.origin=="string"?je(a.origin):a.origin;s=l.r,o=l.c}var c,f={s:{c:0,r:0},e:{c:o,r:s+e.length-1+n}};if(i["!ref"]){var h=Ne(i["!ref"]);f.e.c=Math.max(f.e.c,h.e.c),f.e.r=Math.max(f.e.r,h.e.r),s==-1&&(s=h.e.r+1,f.e.r=s+e.length-1+n)}else s==-1&&(s=0,f.e.r=e.length-1+n);var u=a.header||[],p=0;e.forEach(function(d,g){Je(d).forEach(function(x){(p=u.indexOf(x))==-1&&(u[p=u.length]=x);var w=d[x],v="z",L="",F=ge({c:o+p,r:s+g+n});c=mn(i,F),w&&typeof w=="object"&&!(w instanceof Date)?i[F]=w:(typeof w=="number"?v="n":typeof w=="boolean"?v="b":typeof w=="string"?v="s":w instanceof Date?(v="d",a.cellDates||(v="n",w=ot(w)),L=a.dateNF||me[14]):w===null&&a.nullError&&(v="e",w=0),c?(c.t=v,c.v=w,delete c.w,delete c.R,L&&(c.z=L)):i[F]=c={t:v,v:w},L&&(c.z=L))})}),f.e.c=Math.max(f.e.c,o+u.length-1);var m=et(s);if(n)for(p=0;p<u.length;++p)i[Xe(p+o)+m]={t:"s",v:u[p]};return i["!ref"]=Ce(f),i}function g4(t,e){return Ic(null,t,e)}function mn(t,e,r){if(typeof e=="string"){if(Array.isArray(t)){var a=je(e);return t[a.r]||(t[a.r]=[]),t[a.r][a.c]||(t[a.r][a.c]={t:"z"})}return t[e]||(t[e]={t:"z"})}return typeof e!="number"?mn(t,ge(e)):mn(t,ge({r:e,c:r||0}))}function x4(t,e){if(typeof e=="number"){if(e>=0&&t.SheetNames.length>e)return e;throw new Error("Cannot find sheet # "+e)}else if(typeof e=="string"){var r=t.SheetNames.indexOf(e);if(r>-1)return r;throw new Error("Cannot find sheet name |"+e+"|")}else throw new Error("Cannot find sheet |"+e+"|")}function $s(){return{SheetNames:[],Sheets:{}}}function Gs(t,e,r,a){var n=1;if(!r)for(;n<=65535&&t.SheetNames.indexOf(r="Sheet"+n)!=-1;++n,r=void 0);if(!r||t.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&t.SheetNames.indexOf(r)>=0){var i=r.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||r;for(++n;n<=65535&&t.SheetNames.indexOf(r=s+n)!=-1;++n);}if(pc(r),t.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return t.SheetNames.push(r),t.Sheets[r]=e,r}function v4(t,e,r){t.Workbook||(t.Workbook={}),t.Workbook.Sheets||(t.Workbook.Sheets=[]);var a=x4(t,e);switch(t.Workbook.Sheets[a]||(t.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}t.Workbook.Sheets[a].Hidden=r}function w4(t,e){return t.z=e,t}function Nc(t,e,r){return e?(t.l={Target:e},r&&(t.l.Tooltip=r)):delete t.l,t}function E4(t,e,r){return Nc(t,"#"+e,r)}function C4(t,e,r){t.c||(t.c=[]),t.c.push({t:e,a:r||"SheetJS"})}function y4(t,e,r,a){for(var n=typeof e!="string"?e:Ne(e),i=typeof e=="string"?e:Ce(e),s=n.s.r;s<=n.e.r;++s)for(var o=n.s.c;o<=n.e.c;++o){var l=mn(t,s,o);l.t="n",l.F=i,delete l.v,s==n.s.r&&o==n.s.c&&(l.f=r,a&&(l.D=!0))}return t}var rr={encode_col:Xe,encode_row:et,encode_cell:ge,encode_range:Ce,decode_col:ws,decode_row:vs,split_cell:Mh,decode_cell:je,decode_range:It,format_cell:br,sheet_add_aoa:il,sheet_add_json:Ic,sheet_add_dom:yc,aoa_to_sheet:Oa,json_to_sheet:g4,table_to_sheet:kc,table_to_book:F5,sheet_to_csv:Ws,sheet_to_txt:Ac,sheet_to_json:ni,sheet_to_html:Cc,sheet_to_formulae:m4,sheet_to_row_object_array:ni,sheet_get_cell:mn,book_new:$s,book_append_sheet:Gs,book_set_sheet_visibility:v4,cell_set_number_format:w4,cell_set_hyperlink:Nc,cell_set_internal_link:E4,cell_add_comment:C4,sheet_set_array_formula:y4,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};const Rn=["en","ka","ru","tr"],u0={title:{en:"Rule Title (EN)",ka:"წესის სათაური (KA)",ru:"Название правила (RU)",tr:"Kural Başlığı (TR)"},description:{en:"Rule Description (EN)",ka:"წესის აღწერა (KA)",ru:"Описание правила (RU)",tr:"Kural Açıklaması (TR)"}};class za{static exportToExcel(e,r=[...Rn],a="rules.xlsx"){const n=[],i=[];r.forEach(c=>{i.push(`title_${c}`),i.push(`description_${c}`)}),n.push(i),e.forEach(c=>{const f=[];r.forEach(h=>{f.push(c.ruleTitle[h]||""),f.push(c.ruleContent[h]||"")}),n.push(f)});const s=rr.aoa_to_sheet(n),o=i.map(()=>({wch:30}));s["!cols"]=o;const l=rr.book_new();rr.book_append_sheet(l,s,"Rules"),qi(l,a)}static downloadTemplate(e=[...Rn],r="rules-template.xlsx"){const a=[],n=[];e.forEach(l=>{n.push(`title_${l}`),n.push(`description_${l}`)}),a.push(n),a.push(e.flatMap(()=>["",""]));const i=rr.aoa_to_sheet(a),s=n.map(()=>({wch:30}));i["!cols"]=s;const o=rr.book_new();rr.book_append_sheet(o,i,"Rules"),qi(o,r)}static async importFromExcel(e){return new Promise((r,a)=>{const n=new FileReader;n.onload=i=>{var s;try{const o=(s=i.target)==null?void 0:s.result,l=ai(o,{type:"binary"}),c=l.SheetNames[0],f=l.Sheets[c],h=rr.sheet_to_json(f,{header:1});if(h.length<2){r({rules:[],errors:["Excel file is empty or has no data rows"],summary:{total:0,successful:0,failed:0}});return}const u=h[0].map(w=>String(w||"").toLowerCase().trim()),p=this.normalizeHeaders(u),m=[],d=[];let g=0,x=0;for(let w=1;w<h.length;w++){const v=h[w];if(!(!v||v.length===0||v.every(L=>!L)))try{const L=this.parseRow(v,p);if(L){const F=Object.values(L.ruleTitle).some(C=>C&&C.trim()),_=Object.values(L.ruleContent).some(C=>C&&C.trim());F||_?(m.push(L),g++):(x++,d.push(`Row ${w+1}: Empty rule (no title or content)`))}}catch(L){x++,d.push(`Row ${w+1}: ${L instanceof Error?L.message:"Parse error"}`)}}r({rules:m,errors:d,summary:{total:h.length-1,successful:g,failed:x}})}catch(o){a(o)}},n.onerror=()=>{a(new Error("Failed to read file"))},n.readAsBinaryString(e)})}static normalizeHeaders(e){const r=new Map;return e.forEach((a,n)=>{var s,o;const i=a.toLowerCase().replace(/[^a-z_]/g,"");for(const l of Rn){if(i.includes(`title_${l}`)||i.includes(`title${l}`)||i.includes("title")&&i.includes(l)){r.set(n,{type:"title",lang:l});break}if(i.includes(`description_${l}`)||i.includes(`desc_${l}`)||i.includes(`content_${l}`)||i.includes("description")&&i.includes(l)||i.includes("content")&&i.includes(l)){r.set(n,{type:"description",lang:l});break}}if(!r.has(n))for(const l of Rn){const c=((s=u0.title[l])==null?void 0:s.toLowerCase())||"",f=((o=u0.description[l])==null?void 0:o.toLowerCase())||"";if(a.toLowerCase().includes(c.split("(")[0].trim())){r.set(n,{type:"title",lang:l});break}if(a.toLowerCase().includes(f.split("(")[0].trim())){r.set(n,{type:"description",lang:l});break}}}),r}static parseRow(e,r){const a={ruleTitle:{},ruleContent:{}};return r.forEach((n,i)=>{const s=e[i];if(s!=null){const o=String(s).trim();n.type==="title"?a.ruleTitle[n.lang]=o:a.ruleContent[n.lang]=o}}),a}static validateFile(e){const r=["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel"],n=[".xlsx",".xls"].some(s=>e.name.toLowerCase().endsWith(s));if(!r.includes(e.type)&&!n)return{valid:!1,error:"Invalid file type. Please upload an Excel file (.xlsx or .xls)"};const i=10*1024*1024;return e.size>i?{valid:!1,error:"File is too large. Maximum size is 10MB"}:{valid:!0}}}function Xr(t,e){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const a=t[r];e(r,a)}}function Zi(t){if(t==null)return t;if(Array.isArray(t))return t.map(e=>Zi(e));if(typeof t=="object"){const e={};for(const[r,a]of Object.entries(t))r!=="disabled_removing_$id"&&(e[r]=Zi(a));return e}return t}const li=class li{constructor(e){this.elementRef=null,this.isHidden=!1,this.custom=!1,this.initialValues={},this.changeTimeout=null,this.isHandlingChange=!1,this.changeHandlers=new Set,this.blurTimeout=null,this.lastChangeTime=0,this.handleBlur=()=>{},this.pendingBlurHandler=null,this.originalDefaultValues={},this.nestingLevel=0,this.dataPropsPath="",this.hide=!1,this.isSettingValue=!1,this.suppressOnChange=!1,this.isRootNode=!1,this.$id=tn(),this.suppressOnChange=!0,this.id=e.id||tn(),this.title=e.title,this.settings=e.settings,this.isCollapsed=e.collapsed??!1,this.isMain=e.main??!1,this.custom=e.custom??!1,this.nestingLevel=0,this.includeGetJson=e.includeGetJson??!0,this.addItemCfg=e.addItem,this.deleteItemCfg=e.deleteItem,this.dataProps=e.dataProps,this.dataPropsPath=e.dataProps||"",this.hide=e.hide??!1,Object.assign(this,e.settings),this.initialValues=this.getValues(),this.originalDefaultValues=this.getDefaultValues(),this.propagateNestingLevel(),this.propagateDataPropsPath(),this.propagateComponentPaths(),this.suppressOnChange=!1}propagateNestingLevel(){const e=this.nestingLevel+1;Xr(this.settings,(r,a)=>{He(a)&&(a.nestingLevel=e,a.propagateNestingLevel())})}getNestingLevel(){return this.nestingLevel}setNestingLevel(e){this.nestingLevel=e,this.propagateNestingLevel(),this.elementRef&&this.updateNestingStyles()}setTitle(e){if(this.title=e,this.elementRef){const r=this.elementRef.querySelector(".setting-group-title h3");r&&(r.textContent=e)}}getDataPropsPath(){return this.dataPropsPath}setDataPropsPath(e){this.dataPropsPath=e,this.propagateDataPropsPath()}propagateDataPropsPath(){Xr(this.settings,(e,r)=>{const a=String(e),n=this.dataPropsPath?`${this.dataPropsPath}_${a}`:a;(He(r)||pr(r)&&typeof r.setDataPropsPath=="function")&&r.setDataPropsPath(n)})}propagateComponentPaths(e=""){Xr(this.settings,(r,a)=>{const n=String(r);if(He(a)){const i=e?`${e} > ${a.title}`:a.title;a.propagateComponentPaths(i)}else if(pr(a)&&typeof a.setComponentPath=="function"){const i=e?`${e} > ${n}`:n;a.setComponentPath(i)}})}updateNestingStyles(){this.elementRef&&(Vn(this.elementRef,this.nestingLevel),Di(this.elementRef,this.nestingLevel))}forceChildUIRefresh(){Object.entries(this.settings).forEach(([e,r])=>{try{if(He(r)){const a=r.getValues();r.setValue(a)}else if(typeof r.setValue=="function"){const a=r.value;a!==void 0&&r.setValue(a)}}catch(a){console.warn(`Error refreshing UI for setting ${e}:`,a)}})}removeSetting(e){var n;const r=this.settings[e];if(!r)return;if(delete this.settings[e],this.elementRef){const i=this.elementRef.querySelector(".setting-group-content");if(i){const s=Array.from(i.querySelectorAll(".setting-group, .setting, [data-setting-id]"));for(const o of s){const l=o.id,c=o.getAttribute("data-setting-id");if(l&&"id"in r&&typeof r.id=="string"&&l.includes(r.id)){o.remove();break}if(c&&"id"in r&&typeof r.id=="string"&&c===r.id){o.remove();break}}}}typeof r.cleanup=="function"&&r.cleanup(),this.updateNestingStyles();const a=this.getValues();this.initialValues=a,this.suppressOnChange||(n=this.onChange)==null||n.call(this,a)}updateVisibility(){this.elementRef}updateSettings(e,r){var l;const a=(r==null?void 0:r.preserveValues)??!0,n=new Set(Object.keys(this.settings)),i=Object.keys(e),s={};a&&i.forEach(c=>{const f=this.settings[c];f&&(He(f)?s[c]=f.getValues():pr(f)?s[c]=f.value:typeof f.getValues=="function"?s[c]=f.getValues():f.value!==void 0&&(s[c]=f.value))}),n.forEach(c=>{i.includes(c)||this.removeSetting(c)}),i.forEach(c=>{var u;const f=e[c],h=this.settings[c];if(h!==f&&(h&&this.removeSetting(c),this.addSetting(c,f),a&&c in s)){const p=s[c];try{He(f)?f.setValue(p):pr(f)?(u=f.setValue)==null||u.call(f,p):f.setValue&&f.setValue(p)}catch(m){console.warn(`Could not preserve value for setting ${c}:`,m)}}}),this.settings=e,this.propagateNestingLevel(),this.propagateDataPropsPath();const o=this.getValues();this.initialValues=o,this.suppressOnChange||(l=this.onChange)==null||l.call(this,o)}clone(){const e={};Xr(this.settings,(n,i)=>{const s=String(n);typeof i.clone=="function"?e[s]=i.clone():(console.warn(`Setting with key '${s}' does not have a clone method. Copying reference.`),e[s]=i)});const r={title:this.title,settings:e,collapsed:this.isCollapsed,main:this.isMain,custom:this.custom,includeGetJson:this.includeGetJson,addItem:this.addItemCfg,deleteItem:this.deleteItemCfg,dataProps:this.dataProps,hide:this.hide},a=Mc(r);return a.suppressOnChange=!0,a.initialValues=this.getValues(),a.suppressOnChange=!1,a}resetDefault(){const e=this.originalDefaultValues;this.setValue(e),this.onChange&&!this.suppressOnChange&&this.onChange(this.getValues())}setMobileValues(e){!e||typeof e!="object"||(Object.entries(e).forEach(([r,a])=>{const n=this.settings[r];n&&(He(n)||pr(n))&&typeof n.setMobileValue=="function"&&n.setMobileValue(a)}),this.setValue(e),this.onChange&&!this.suppressOnChange&&this.onChange(this.getValues()))}getMobileValues(e){if(e===void 0){const r={};for(const a in this.settings)if(Object.prototype.hasOwnProperty.call(this.settings,a)){const n=this.settings[a];if(He(n))r[a]=n.getMobileValues();else{const i=n;r[a]=i.mobileValue!==void 0?i.mobileValue:i.value}}return r}else{const r=this.settings[e];if(!r)return;if(He(r))return r.getMobileValues();const a=r;return a.mobileValue!==void 0?a.mobileValue:a.value}}setOnChange(e){this.onChange=e;const r=()=>{this.isHandlingChange||this.suppressOnChange||(this.isHandlingChange=!0,this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=setTimeout(()=>{const a=this.getValues(),n=this.calculateChanges(this.initialValues,a);Object.keys(n).length>0&&(this.lastChangeTime=Date.now(),this.initialValues=a,this.suppressOnChange||e(a),this.updateVisibility()),this.isHandlingChange=!1},50))};return this.changeHandlers.clear(),Xr(this.settings,(a,n)=>{var i;if(He(n))n.setOnChange(()=>{if(this.suppressOnChange)return;const s=this.getValues();this.initialValues=s,e(s)}),this.changeHandlers.add(()=>e(this.getValues()));else if(pr(n)){const s=()=>r();this.changeHandlers.add(s),n.setOnChange(s)}else{const s=()=>r();this.changeHandlers.add(s),(i=n.setOnChange)==null||i.call(n,s)}}),this}cleanup(){this.changeTimeout&&(clearTimeout(this.changeTimeout),this.changeTimeout=null),this.blurTimeout&&(clearTimeout(this.blurTimeout),this.blurTimeout=null),this.elementRef&&this.elementRef.removeEventListener("focusout",this.handleBlur),this.changeHandlers.clear(),Xr(this.settings,(e,r)=>{const a=r;try{typeof a.cleanup=="function"?a.cleanup():typeof a.destroy=="function"&&a.destroy()}catch{}})}setValue(e){if(!(!e||typeof e!="object")&&!this.isSettingValue){this.isSettingValue=!0;try{Object.entries(e).forEach(([a,n])=>{let i=this.settings[a];if(!i&&this.addItemCfg&&a.startsWith(this.addItemCfg.keyPrefix)){const s=a.slice(this.addItemCfg.keyPrefix.length),o=Number(s);if(Number.isFinite(o)){const l=this.addItemCfg.createItem(o);Hn(l)&&(this.addSetting(a,l),i=l)}}i&&(He(i)||pr(i))&&typeof i.setValue=="function"&&i.setValue(n)});const r=this.getValues();this.initialValues=r,this.onChange&&!this.suppressOnChange&&this.onChange(r)}finally{this.isSettingValue=!1}}}wireChild(e){var a;const r=()=>{var i;if(this.suppressOnChange)return;const n=this.getValues();this.initialValues=n,(i=this.onChange)==null||i.call(this,n),this.updateVisibility()};He(e)?e.setOnChange(()=>r()):pr(e)?e.setOnChange(()=>r()):(a=e.setOnChange)==null||a.call(e,()=>r())}addSetting(e,r){var n,i;if(this.settings[e]=r,this.wireChild(r),this.elementRef){const s=this.elementRef.querySelector(".setting-group-content");if(s){const o=s.querySelector(".setting-group-empty");o&&o.remove(),He(r)&&typeof r.setNestingLevel=="function"&&r.setNestingLevel(this.nestingLevel+1);const l=r.draw(),c=this.deleteItemCfg??this.addItemCfg;if(c){const u=c.keyPrefix??((n=this.addItemCfg)==null?void 0:n.keyPrefix);u&&e.startsWith(u)&&this.addDeleteButtonToElement(l,e)}const f=s.querySelector(".sg-buttons-container");if(f)s.insertBefore(l,f);else{const u=s.querySelector(".sg-add-button-bottom");u&&u.parentElement===s?s.insertBefore(l,u):s.appendChild(l)}Zs.trackElement(l),Vn(l,this.nestingLevel+1),Di(l,this.nestingLevel+1);const h=l.style.display;l.style.display="none",l.offsetHeight,l.style.display=h,this.updateNestingStyles()}}const a=this.getValues();this.initialValues=a,this.suppressOnChange||(i=this.onChange)==null||i.call(this,a)}addDeleteButtonToElement(e,r,a){let n=null;try{n=e.querySelector(":scope > .setting-group-title")}catch{n=null}if(!n){const c=Array.from(e.querySelectorAll(".setting-group-title"));for(const f of c)if(f.closest(".setting-group")===e){n=f;break}n||(n=c[0]??null)}if(!n)return;const i=n.querySelector(".actions-section");if(!i)return;const s=document.createElement("button");s.type="button",s.className="sg-delete-button",a?a.deleteItemCfg:this.deleteItemCfg??this.addItemCfg,s.title="Delete",s.style.cssText=`
131
+ `;var r=Ws(t,e);return r}function m4(t){var e="",r,a="";if(t==null||t["!ref"]==null)return[];var n=Ne(t["!ref"]),i="",s=[],o,l=[],c=Array.isArray(t);for(o=n.s.c;o<=n.e.c;++o)s[o]=Xe(o);for(var f=n.s.r;f<=n.e.r;++f)for(i=et(f),o=n.s.c;o<=n.e.c;++o)if(e=s[o]+i,r=c?(t[f]||[])[o]:t[e],a="",r!==void 0){if(r.F!=null){if(e=r.F,!r.f)continue;a=r.f,e.indexOf(":")==-1&&(e=e+":"+e)}if(r.f!=null)a=r.f;else{if(r.t=="z")continue;if(r.t=="n"&&r.v!=null)a=""+r.v;else if(r.t=="b")a=r.v?"TRUE":"FALSE";else if(r.w!==void 0)a="'"+r.w;else{if(r.v===void 0)continue;r.t=="s"?a="'"+r.v:a=""+r.v}}l[l.length]=e+"="+a}return l}function Ic(t,e,r){var a=r||{},n=+!a.skipHeader,i=t||{},s=0,o=0;if(i&&a.origin!=null)if(typeof a.origin=="number")s=a.origin;else{var l=typeof a.origin=="string"?je(a.origin):a.origin;s=l.r,o=l.c}var c,f={s:{c:0,r:0},e:{c:o,r:s+e.length-1+n}};if(i["!ref"]){var h=Ne(i["!ref"]);f.e.c=Math.max(f.e.c,h.e.c),f.e.r=Math.max(f.e.r,h.e.r),s==-1&&(s=h.e.r+1,f.e.r=s+e.length-1+n)}else s==-1&&(s=0,f.e.r=e.length-1+n);var u=a.header||[],p=0;e.forEach(function(d,g){Je(d).forEach(function(x){(p=u.indexOf(x))==-1&&(u[p=u.length]=x);var w=d[x],v="z",L="",F=ge({c:o+p,r:s+g+n});c=mn(i,F),w&&typeof w=="object"&&!(w instanceof Date)?i[F]=w:(typeof w=="number"?v="n":typeof w=="boolean"?v="b":typeof w=="string"?v="s":w instanceof Date?(v="d",a.cellDates||(v="n",w=ot(w)),L=a.dateNF||me[14]):w===null&&a.nullError&&(v="e",w=0),c?(c.t=v,c.v=w,delete c.w,delete c.R,L&&(c.z=L)):i[F]=c={t:v,v:w},L&&(c.z=L))})}),f.e.c=Math.max(f.e.c,o+u.length-1);var m=et(s);if(n)for(p=0;p<u.length;++p)i[Xe(p+o)+m]={t:"s",v:u[p]};return i["!ref"]=Ce(f),i}function g4(t,e){return Ic(null,t,e)}function mn(t,e,r){if(typeof e=="string"){if(Array.isArray(t)){var a=je(e);return t[a.r]||(t[a.r]=[]),t[a.r][a.c]||(t[a.r][a.c]={t:"z"})}return t[e]||(t[e]={t:"z"})}return typeof e!="number"?mn(t,ge(e)):mn(t,ge({r:e,c:r||0}))}function x4(t,e){if(typeof e=="number"){if(e>=0&&t.SheetNames.length>e)return e;throw new Error("Cannot find sheet # "+e)}else if(typeof e=="string"){var r=t.SheetNames.indexOf(e);if(r>-1)return r;throw new Error("Cannot find sheet name |"+e+"|")}else throw new Error("Cannot find sheet |"+e+"|")}function $s(){return{SheetNames:[],Sheets:{}}}function Gs(t,e,r,a){var n=1;if(!r)for(;n<=65535&&t.SheetNames.indexOf(r="Sheet"+n)!=-1;++n,r=void 0);if(!r||t.SheetNames.length>=65535)throw new Error("Too many worksheets");if(a&&t.SheetNames.indexOf(r)>=0){var i=r.match(/(^.*?)(\d+)$/);n=i&&+i[2]||0;var s=i&&i[1]||r;for(++n;n<=65535&&t.SheetNames.indexOf(r=s+n)!=-1;++n);}if(pc(r),t.SheetNames.indexOf(r)>=0)throw new Error("Worksheet with name |"+r+"| already exists!");return t.SheetNames.push(r),t.Sheets[r]=e,r}function v4(t,e,r){t.Workbook||(t.Workbook={}),t.Workbook.Sheets||(t.Workbook.Sheets=[]);var a=x4(t,e);switch(t.Workbook.Sheets[a]||(t.Workbook.Sheets[a]={}),r){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+r)}t.Workbook.Sheets[a].Hidden=r}function w4(t,e){return t.z=e,t}function Nc(t,e,r){return e?(t.l={Target:e},r&&(t.l.Tooltip=r)):delete t.l,t}function E4(t,e,r){return Nc(t,"#"+e,r)}function C4(t,e,r){t.c||(t.c=[]),t.c.push({t:e,a:r||"SheetJS"})}function y4(t,e,r,a){for(var n=typeof e!="string"?e:Ne(e),i=typeof e=="string"?e:Ce(e),s=n.s.r;s<=n.e.r;++s)for(var o=n.s.c;o<=n.e.c;++o){var l=mn(t,s,o);l.t="n",l.F=i,delete l.v,s==n.s.r&&o==n.s.c&&(l.f=r,a&&(l.D=!0))}return t}var rr={encode_col:Xe,encode_row:et,encode_cell:ge,encode_range:Ce,decode_col:ws,decode_row:vs,split_cell:Mh,decode_cell:je,decode_range:It,format_cell:br,sheet_add_aoa:il,sheet_add_json:Ic,sheet_add_dom:yc,aoa_to_sheet:Oa,json_to_sheet:g4,table_to_sheet:kc,table_to_book:F5,sheet_to_csv:Ws,sheet_to_txt:Ac,sheet_to_json:ni,sheet_to_html:Cc,sheet_to_formulae:m4,sheet_to_row_object_array:ni,sheet_get_cell:mn,book_new:$s,book_append_sheet:Gs,book_set_sheet_visibility:v4,cell_set_number_format:w4,cell_set_hyperlink:Nc,cell_set_internal_link:E4,cell_add_comment:C4,sheet_set_array_formula:y4,consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};const Rn=["en","ka","ru","tr"],u0={title:{en:"Rule Title (EN)",ka:"წესის სათაური (KA)",ru:"Название правила (RU)",tr:"Kural Başlığı (TR)"},description:{en:"Rule Description (EN)",ka:"წესის აღწერა (KA)",ru:"Описание правила (RU)",tr:"Kural Açıklaması (TR)"}};class za{static exportToExcel(e,r=[...Rn],a="rules.xlsx"){const n=[],i=[];r.forEach(c=>{i.push(`title_${c}`),i.push(`description_${c}`)}),n.push(i),e.forEach(c=>{const f=[];r.forEach(h=>{f.push(c.ruleTitle[h]||""),f.push(c.ruleContent[h]||"")}),n.push(f)});const s=rr.aoa_to_sheet(n),o=i.map(()=>({wch:30}));s["!cols"]=o;const l=rr.book_new();rr.book_append_sheet(l,s,"Rules"),qi(l,a)}static downloadTemplate(e=[...Rn],r="rules-template.xlsx"){const a=[],n=[];e.forEach(l=>{n.push(`title_${l}`),n.push(`description_${l}`)}),a.push(n),a.push(e.flatMap(()=>["",""]));const i=rr.aoa_to_sheet(a),s=n.map(()=>({wch:30}));i["!cols"]=s;const o=rr.book_new();rr.book_append_sheet(o,i,"Rules"),qi(o,r)}static async importFromExcel(e){return new Promise((r,a)=>{const n=new FileReader;n.onload=i=>{var s;try{const o=(s=i.target)==null?void 0:s.result,l=ai(o,{type:"binary"}),c=l.SheetNames[0],f=l.Sheets[c],h=rr.sheet_to_json(f,{header:1});if(h.length<2){r({rules:[],errors:["Excel file is empty or has no data rows"],summary:{total:0,successful:0,failed:0}});return}const u=h[0].map(w=>String(w||"").toLowerCase().trim()),p=this.normalizeHeaders(u),m=[],d=[];let g=0,x=0;for(let w=1;w<h.length;w++){const v=h[w];if(!(!v||v.length===0||v.every(L=>!L)))try{const L=this.parseRow(v,p);if(L){const F=Object.values(L.ruleTitle).some(C=>C&&C.trim()),_=Object.values(L.ruleContent).some(C=>C&&C.trim());F||_?(m.push(L),g++):(x++,d.push(`Row ${w+1}: Empty rule (no title or content)`))}}catch(L){x++,d.push(`Row ${w+1}: ${L instanceof Error?L.message:"Parse error"}`)}}r({rules:m,errors:d,summary:{total:h.length-1,successful:g,failed:x}})}catch(o){a(o)}},n.onerror=()=>{a(new Error("Failed to read file"))},n.readAsBinaryString(e)})}static normalizeHeaders(e){const r=new Map;return e.forEach((a,n)=>{var s,o;const i=a.toLowerCase().replace(/[^a-z_]/g,"");for(const l of Rn){if(i.includes(`title_${l}`)||i.includes(`title${l}`)||i.includes("title")&&i.includes(l)){r.set(n,{type:"title",lang:l});break}if(i.includes(`description_${l}`)||i.includes(`desc_${l}`)||i.includes(`content_${l}`)||i.includes("description")&&i.includes(l)||i.includes("content")&&i.includes(l)){r.set(n,{type:"description",lang:l});break}}if(!r.has(n))for(const l of Rn){const c=((s=u0.title[l])==null?void 0:s.toLowerCase())||"",f=((o=u0.description[l])==null?void 0:o.toLowerCase())||"";if(a.toLowerCase().includes(c.split("(")[0].trim())){r.set(n,{type:"title",lang:l});break}if(a.toLowerCase().includes(f.split("(")[0].trim())){r.set(n,{type:"description",lang:l});break}}}),r}static parseRow(e,r){const a={ruleTitle:{},ruleContent:{}};return r.forEach((n,i)=>{const s=e[i];if(s!=null){const o=String(s).trim();n.type==="title"?a.ruleTitle[n.lang]=o:a.ruleContent[n.lang]=o}}),a}static validateFile(e){const r=["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-excel"],n=[".xlsx",".xls"].some(s=>e.name.toLowerCase().endsWith(s));if(!r.includes(e.type)&&!n)return{valid:!1,error:"Invalid file type. Please upload an Excel file (.xlsx or .xls)"};const i=10*1024*1024;return e.size>i?{valid:!1,error:"File is too large. Maximum size is 10MB"}:{valid:!0}}}function Xr(t,e){for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const a=t[r];e(r,a)}}function Zi(t){if(t==null)return t;if(Array.isArray(t))return t.map(e=>Zi(e));if(typeof t=="object"){const e={};for(const[r,a]of Object.entries(t))r!=="disabled_removing_$id"&&(e[r]=Zi(a));return e}return t}const li=class li{constructor(e){this.elementRef=null,this.isHidden=!1,this.custom=!1,this.initialValues={},this.changeTimeout=null,this.isHandlingChange=!1,this.changeHandlers=new Set,this.blurTimeout=null,this.lastChangeTime=0,this.handleBlur=()=>{},this.pendingBlurHandler=null,this.originalDefaultValues={},this.nestingLevel=0,this.dataPropsPath="",this.hide=!1,this.isSettingValue=!1,this.suppressOnChange=!1,this.isRootNode=!1,this.$id=tn(),this.setActiveOnSettingSelection=!1,this.suppressOnChange=!0,this.id=e.id||tn(),this.title=e.title,this.settings=e.settings,this.isCollapsed=e.collapsed??!1,this.isMain=e.main??!1,this.custom=e.custom??!1,this.nestingLevel=0,this.includeGetJson=e.includeGetJson??!0,this.addItemCfg=e.addItem,this.deleteItemCfg=e.deleteItem,this.dataProps=e.dataProps,this.dataPropsPath=e.dataProps||"",this.hide=e.hide??!1,Object.assign(this,e.settings),this.initialValues=this.getValues(),this.originalDefaultValues=this.getDefaultValues(),this.propagateNestingLevel(),this.propagateDataPropsPath(),this.propagateComponentPaths(),this.suppressOnChange=!1}propagateNestingLevel(){const e=this.nestingLevel+1;Xr(this.settings,(r,a)=>{He(a)&&(a.nestingLevel=e,a.propagateNestingLevel())})}getNestingLevel(){return this.nestingLevel}setNestingLevel(e){this.nestingLevel=e,this.propagateNestingLevel(),this.elementRef&&this.updateNestingStyles()}setTitle(e){if(this.title=e,this.elementRef){const r=this.elementRef.querySelector(".setting-group-title h3");r&&(r.textContent=e)}}getDataPropsPath(){return this.dataPropsPath}setDataPropsPath(e){this.dataPropsPath=e,this.propagateDataPropsPath()}propagateDataPropsPath(){Xr(this.settings,(e,r)=>{const a=String(e),n=this.dataPropsPath?`${this.dataPropsPath}_${a}`:a;(He(r)||pr(r)&&typeof r.setDataPropsPath=="function")&&r.setDataPropsPath(n)})}propagateComponentPaths(e=""){Xr(this.settings,(r,a)=>{const n=String(r);if(He(a)){const i=e?`${e} > ${a.title}`:a.title;a.propagateComponentPaths(i)}else if(pr(a)&&typeof a.setComponentPath=="function"){const i=e?`${e} > ${n}`:n;a.setComponentPath(i)}})}updateNestingStyles(){this.elementRef&&(Vn(this.elementRef,this.nestingLevel),Di(this.elementRef,this.nestingLevel))}forceChildUIRefresh(){Object.entries(this.settings).forEach(([e,r])=>{try{if(He(r)){const a=r.getValues();r.setValue(a)}else if(typeof r.setValue=="function"){const a=r.value;a!==void 0&&r.setValue(a)}}catch(a){console.warn(`Error refreshing UI for setting ${e}:`,a)}})}removeSetting(e){var n;const r=this.settings[e];if(!r)return;if(delete this.settings[e],this.elementRef){const i=this.elementRef.querySelector(".setting-group-content");if(i){const s=Array.from(i.querySelectorAll(".setting-group, .setting, [data-setting-id]"));for(const o of s){const l=o.id,c=o.getAttribute("data-setting-id");if(l&&"id"in r&&typeof r.id=="string"&&l.includes(r.id)){o.remove();break}if(c&&"id"in r&&typeof r.id=="string"&&c===r.id){o.remove();break}}}}typeof r.cleanup=="function"&&r.cleanup(),this.updateNestingStyles();const a=this.getValues();this.initialValues=a,this.suppressOnChange||(n=this.onChange)==null||n.call(this,a)}updateVisibility(){this.elementRef}updateSettings(e,r){var l;const a=(r==null?void 0:r.preserveValues)??!0,n=new Set(Object.keys(this.settings)),i=Object.keys(e),s={};a&&i.forEach(c=>{const f=this.settings[c];f&&(He(f)?s[c]=f.getValues():pr(f)?s[c]=f.value:typeof f.getValues=="function"?s[c]=f.getValues():f.value!==void 0&&(s[c]=f.value))}),n.forEach(c=>{i.includes(c)||this.removeSetting(c)}),i.forEach(c=>{var u;const f=e[c],h=this.settings[c];if(h!==f&&(h&&this.removeSetting(c),this.addSetting(c,f),a&&c in s)){const p=s[c];try{He(f)?f.setValue(p):pr(f)?(u=f.setValue)==null||u.call(f,p):f.setValue&&f.setValue(p)}catch(m){console.warn(`Could not preserve value for setting ${c}:`,m)}}}),this.settings=e,this.propagateNestingLevel(),this.propagateDataPropsPath();const o=this.getValues();this.initialValues=o,this.suppressOnChange||(l=this.onChange)==null||l.call(this,o)}clone(){const e={};Xr(this.settings,(n,i)=>{const s=String(n);typeof i.clone=="function"?e[s]=i.clone():(console.warn(`Setting with key '${s}' does not have a clone method. Copying reference.`),e[s]=i)});const r={title:this.title,settings:e,collapsed:this.isCollapsed,main:this.isMain,custom:this.custom,includeGetJson:this.includeGetJson,addItem:this.addItemCfg,deleteItem:this.deleteItemCfg,dataProps:this.dataProps,hide:this.hide,setActiveOnSettingSelection:this.setActiveOnSettingSelection},a=Mc(r);return a.suppressOnChange=!0,a.initialValues=this.getValues(),a.suppressOnChange=!1,a}resetDefault(){const e=this.originalDefaultValues;this.setValue(e),this.onChange&&!this.suppressOnChange&&this.onChange(this.getValues())}setMobileValues(e){!e||typeof e!="object"||(Object.entries(e).forEach(([r,a])=>{const n=this.settings[r];n&&(He(n)||pr(n))&&typeof n.setMobileValue=="function"&&n.setMobileValue(a)}),this.setValue(e),this.onChange&&!this.suppressOnChange&&this.onChange(this.getValues()))}getMobileValues(e){if(e===void 0){const r={};for(const a in this.settings)if(Object.prototype.hasOwnProperty.call(this.settings,a)){const n=this.settings[a];if(He(n))r[a]=n.getMobileValues();else{const i=n;r[a]=i.mobileValue!==void 0?i.mobileValue:i.value}}return r}else{const r=this.settings[e];if(!r)return;if(He(r))return r.getMobileValues();const a=r;return a.mobileValue!==void 0?a.mobileValue:a.value}}setOnChange(e){this.onChange=e;const r=()=>{this.isHandlingChange||this.suppressOnChange||(this.isHandlingChange=!0,this.changeTimeout&&clearTimeout(this.changeTimeout),this.changeTimeout=setTimeout(()=>{const a=this.getValues(),n=this.calculateChanges(this.initialValues,a);Object.keys(n).length>0&&(this.lastChangeTime=Date.now(),this.initialValues=a,this.suppressOnChange||e(a),this.updateVisibility()),this.isHandlingChange=!1},50))};return this.changeHandlers.clear(),Xr(this.settings,(a,n)=>{var i;if(He(n))n.setOnChange(()=>{if(this.suppressOnChange)return;const s=this.getValues();this.initialValues=s,e(s)}),this.changeHandlers.add(()=>e(this.getValues()));else if(pr(n)){const s=()=>r();this.changeHandlers.add(s),n.setOnChange(s)}else{const s=()=>r();this.changeHandlers.add(s),(i=n.setOnChange)==null||i.call(n,s)}}),this}cleanup(){this.changeTimeout&&(clearTimeout(this.changeTimeout),this.changeTimeout=null),this.blurTimeout&&(clearTimeout(this.blurTimeout),this.blurTimeout=null),this.elementRef&&this.elementRef.removeEventListener("focusout",this.handleBlur),this.changeHandlers.clear(),Xr(this.settings,(e,r)=>{const a=r;try{typeof a.cleanup=="function"?a.cleanup():typeof a.destroy=="function"&&a.destroy()}catch{}})}setValue(e){if(!(!e||typeof e!="object")&&!this.isSettingValue){this.isSettingValue=!0;try{Object.entries(e).forEach(([a,n])=>{let i=this.settings[a];if(!i&&this.addItemCfg&&a.startsWith(this.addItemCfg.keyPrefix)){const s=a.slice(this.addItemCfg.keyPrefix.length),o=Number(s);if(Number.isFinite(o)){const l=this.addItemCfg.createItem(o);Hn(l)&&(this.addSetting(a,l),i=l)}}i&&(He(i)||pr(i))&&typeof i.setValue=="function"&&i.setValue(n)});const r=this.getValues();this.initialValues=r,this.onChange&&!this.suppressOnChange&&this.onChange(r)}finally{this.isSettingValue=!1}}}wireChild(e){var a;const r=()=>{var i;if(this.suppressOnChange)return;const n=this.getValues();this.initialValues=n,(i=this.onChange)==null||i.call(this,n),this.updateVisibility()};He(e)?e.setOnChange(()=>r()):pr(e)?e.setOnChange(()=>r()):(a=e.setOnChange)==null||a.call(e,()=>r())}addSetting(e,r){var n,i;if(this.settings[e]=r,this.wireChild(r),this.elementRef){const s=this.elementRef.querySelector(".setting-group-content");if(s){const o=s.querySelector(".setting-group-empty");o&&o.remove(),He(r)&&typeof r.setNestingLevel=="function"&&r.setNestingLevel(this.nestingLevel+1);const l=r.draw(),c=this.deleteItemCfg??this.addItemCfg;if(c){const u=c.keyPrefix??((n=this.addItemCfg)==null?void 0:n.keyPrefix);u&&e.startsWith(u)&&this.addDeleteButtonToElement(l,e)}const f=s.querySelector(".sg-buttons-container");if(f)s.insertBefore(l,f);else{const u=s.querySelector(".sg-add-button-bottom");u&&u.parentElement===s?s.insertBefore(l,u):s.appendChild(l)}Zs.trackElement(l),Vn(l,this.nestingLevel+1),Di(l,this.nestingLevel+1);const h=l.style.display;l.style.display="none",l.offsetHeight,l.style.display=h,this.updateNestingStyles()}}const a=this.getValues();this.initialValues=a,this.suppressOnChange||(i=this.onChange)==null||i.call(this,a)}addDeleteButtonToElement(e,r,a){let n=null;try{n=e.querySelector(":scope > .setting-group-title")}catch{n=null}if(!n){const c=Array.from(e.querySelectorAll(".setting-group-title"));for(const f of c)if(f.closest(".setting-group")===e){n=f;break}n||(n=c[0]??null)}if(!n)return;const i=n.querySelector(".actions-section");if(!i)return;const s=document.createElement("button");s.type="button",s.className="sg-delete-button",a?a.deleteItemCfg:this.deleteItemCfg??this.addItemCfg,s.title="Delete",s.style.cssText=`
132
132
  background: none;
133
133
  border: none;
134
134
  cursor: pointer;
@@ -574,7 +574,7 @@
574
574
  <path d="M9.39651 1.01051C11.3739 1.1085 13.2506 1.93712 14.6572 3.34372C16.1573 4.84391 16.9999 6.87849 17 9C17 11.1217 16.1575 13.157 14.6572 14.6572C13.157 16.1575 11.1217 17 9 17C6.87849 16.9999 4.84391 16.1573 3.34372 14.6572C1.84345 13.157 1 11.1217 1 9C1.00007 6.8784 1.84352 4.84393 3.34372 3.34372C4.84393 1.84352 6.8784 1.00007 9 1L9.39651 1.01051ZM6.37728 9.63633C6.4447 11.3419 6.77841 12.8501 7.26681 13.9492C7.54127 14.5668 7.85143 15.0276 8.16398 15.3251C8.47319 15.6194 8.75489 15.7282 9 15.7283C9.24512 15.7283 9.52678 15.6193 9.83602 15.3251C10.1486 15.0276 10.4587 14.5668 10.7332 13.9492C11.2216 12.8501 11.5563 11.3419 11.6237 9.63633L6.37728 9.63633ZM2.30324 9.63633C2.45049 11.1873 3.13189 12.6472 4.2428 13.7582C4.89509 14.4104 5.66859 14.9125 6.50914 15.2477C6.36305 15.0042 6.22802 14.7421 6.10498 14.4652C5.53369 13.1795 5.17153 11.4895 5.10367 9.63633H2.30324ZM12.8963 9.63633C12.8285 11.4894 12.4672 13.1795 11.896 14.4652C11.7729 14.7422 11.637 15.0041 11.4909 15.2477C12.3317 14.9125 13.1057 14.4106 13.7582 13.7582C14.8691 12.6472 15.5505 11.1873 15.6977 9.63633H12.8963ZM11.4918 2.7523C11.6379 2.99583 11.7729 3.25794 11.896 3.53481C12.4673 4.8206 12.8285 6.51129 12.8963 8.36462H15.6977C15.5506 6.81361 14.869 5.3538 13.7582 4.2428C13.1059 3.59052 12.3324 3.0875 11.4918 2.7523ZM9 2.27266C8.75489 2.27274 8.47319 2.38159 8.16398 2.67586C7.85146 2.97338 7.54123 3.43415 7.26681 4.05171C6.77841 5.1509 6.44466 6.65897 6.37728 8.36462H11.6237C11.5563 6.65889 11.2216 5.15091 10.7332 4.05171C10.4587 3.434 10.1486 2.97336 9.83602 2.67586C9.5267 2.38149 9.24517 2.27266 9 2.27266ZM6.50818 2.7523C5.6678 3.0875 4.89497 3.59064 4.2428 4.2428C3.13179 5.35382 2.4504 6.81352 2.30324 8.36462H5.10367C5.17149 6.51128 5.53363 4.8206 6.10498 3.53481C6.22796 3.25809 6.36217 2.99572 6.50818 2.7523Z" fill="#637381"/>
575
575
  </svg>`,N3=`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
576
576
  <path fill-rule="evenodd" clip-rule="evenodd" d="M11.9942 13.4085L17.6485 19.0631C17.837 19.2452 18.0894 19.346 18.3515 19.3437C18.6136 19.3414 18.8643 19.2363 19.0496 19.051C19.2349 18.8656 19.34 18.6149 19.3423 18.3528C19.3446 18.0908 19.2438 17.8383 19.0618 17.6497L13.4075 11.9951L19.0618 6.34039C19.2438 6.15186 19.3446 5.89936 19.3423 5.63728C19.34 5.37519 19.2349 5.12448 19.0496 4.93915C18.8643 4.75381 18.6136 4.64869 18.3515 4.64641C18.0894 4.64413 17.837 4.74489 17.6485 4.92697L11.9942 10.5816L6.33992 4.92697C6.15056 4.74939 5.89954 4.65245 5.63999 4.65666C5.38043 4.66088 5.13269 4.76592 4.9492 4.94955C4.76571 5.13319 4.66085 5.38102 4.65682 5.6406C4.65279 5.90018 4.7499 6.15114 4.9276 6.34039L10.5809 11.9951L4.9266 17.6497C4.83114 17.7419 4.75499 17.8522 4.70261 17.9742C4.65022 18.0961 4.62265 18.2273 4.6215 18.36C4.62034 18.4928 4.64563 18.6244 4.69589 18.7472C4.74615 18.8701 4.82036 18.9817 4.91421 19.0755C5.00806 19.1694 5.11966 19.2436 5.24249 19.2939C5.36533 19.3441 5.49695 19.3694 5.62966 19.3683C5.76238 19.3671 5.89353 19.3395 6.01548 19.2872C6.13742 19.2348 6.24772 19.1586 6.33992 19.0631L11.9942 13.4085Z" fill="#637381"/>
577
- </svg>`,es="Enter text in {language}...",M3="Enter text in ",xe=(t,e,r)=>({label:e,placeholder:`${M3}${t}`}),Hc={en:xe("en","English"),ka:xe("ka","ქართული"),de:xe("de","Deutsch"),fr:xe("fr","Français"),es:xe("es","Español"),it:xe("it","Italiano"),pt:xe("pt","Português"),nl:xe("nl","Nederlands"),sv:xe("sv","Svenska"),no:xe("no","Norsk"),da:xe("da","Dansk"),fi:xe("fi","Suomi"),pl:xe("pl","Polski"),cs:xe("cs","Čeština"),sk:xe("sk","Slovenčina"),hu:xe("hu","Magyar"),ro:xe("ro","Română"),bg:xe("bg","Български"),uk:xe("uk","Українська"),ru:xe("ru","Русский"),sr:xe("sr","Српски"),hr:xe("hr","Hrvatski"),sl:xe("sl","Slovenščina"),el:xe("el","Ελληνικά"),tr:xe("tr","Türkçe"),ar:xe("ar","العربية"),he:xe("he","עברית"),fa:xe("fa","فارسی"),ur:xe("ur","اردو"),hi:xe("hi","हिन्दी"),bn:xe("bn","বাংলা"),ta:xe("ta","தமிழ்"),te:xe("te","తెలుగు"),mr:xe("mr","मराठी"),gu:xe("gu","ગુજરાતી"),pa:xe("pa","ਪੰਜਾਬੀ"),th:xe("th","ไทย"),vi:xe("vi","TiếngViệt"),id:xe("id","BahasaIndonesia"),ms:xe("ms","BahasaMelayu"),fil:xe("fil","Filipino"),zh:xe("zh","中文"),ja:xe("ja","日本語"),ko:xe("ko","한국어"),sw:xe("sw","Kiswahili"),am:xe("am","አማርኛ"),yo:xe("yo","Yorùbá"),zu:xe("zu","IsiZulu")};function Uc(t){var r,a;const e=Hc[((r=t==null?void 0:t.toLowerCase)==null?void 0:r.call(t))||""];return e!=null&&e.label?e.label:((a=t==null?void 0:t.toUpperCase)==null?void 0:a.call(t))||String(t)}function $n(t,e=es){var n;const r=Hc[((n=t==null?void 0:t.toLowerCase)==null?void 0:n.call(t))||""];if(r!=null&&r.placeholder)return r.placeholder;const a=Uc(t);return e.includes("{language}")?e.replace("{language}",a):e}function O3(t){const e=document.createElement("div");e.classList.add("simple-multi-language-title");const r=document.createElement("span");r.textContent=t.title??"";const a=document.createElement("button");return a.classList.add("multi-language-eye-icon"),a.innerHTML=I3,a.addEventListener("click",n=>{n.preventDefault(),t.onEyeIconClick()}),e.appendChild(r),e.appendChild(a),e}let Pi;function v0(t,e){Pi||(Pi=document.createElement("canvas"));const r=Pi.getContext("2d");if(!r)return t.length*10;const a=`${e.fontStyle} ${e.fontWeight} ${e.fontSize} ${e.fontFamily}`.trim();return r.font=a,r.measureText(t).width}function Jr(t,e){const r=window.getComputedStyle(t),a=parseFloat(r.paddingLeft)||0,n=parseFloat(r.paddingRight)||0,i=parseFloat(r.borderLeftWidth)||0,s=parseFloat(r.borderRightWidth)||0,o=Math.max(0,t.clientWidth-a-n-i-s);if(o<=0){t.placeholder=e;return}if(v0(e,r)<=o){t.placeholder=e;return}const c="...";let f=0,h=e.length,u=0;for(;f<=h;){const m=Math.floor((f+h)/2),d=e.slice(0,m).trimEnd()+c;v0(d,r)<=o?(u=m,f=m+1):h=m-1}const p=e.slice(0,u).trimEnd()+c;t.placeholder=p}function Xs(t,e=3){t.style.height="auto";const r=window.getComputedStyle(t),a=parseFloat(r.lineHeight)||20,n=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),i=parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),s=a*e+n+i,o=Math.min(t.scrollHeight||55,s);t.style.height=`${o}px`,t.scrollHeight>s?t.style.overflowY="auto":t.style.overflowY="hidden"}function P3(t,e=3){requestAnimationFrame(()=>{t.offsetHeight,Xs(t,e);const r=t.getAttribute("data-full-placeholder");r&&Jr(t,r)})}const D3=(t,e,r)=>{let a=!1,n=0,i=0,s=0,o=0;const l=h=>{if(h.target.closest("button"))return;a=!0,n=h.clientX,i=h.clientY;const u=e.getBoundingClientRect();s=u.left,o=u.top,document.addEventListener("mousemove",c),document.addEventListener("mouseup",f),document.body.style.userSelect="none"},c=h=>{if(!a)return;const u=h.clientX-n,p=h.clientY-i,m=window.innerWidth,d=window.innerHeight,g=e.offsetWidth,x=e.offsetHeight;let w=s+u,v=o+p;w=Math.max(8,Math.min(m-g-8,w)),v=Math.max(8,Math.min(d-x-8,v)),e.style.left=`${w}px`,e.style.top=`${v}px`},f=()=>{a=!1,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",f),document.body.style.userSelect=""};return t.addEventListener("mousedown",l),()=>{t.removeEventListener("mousedown",l),document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",f)}};function Wc(t){const e=document.createElement("div");e.classList.add("simple-multi-language-row");const r=document.createElement("label");if(r.classList.add("simple-language-label"),r.textContent=Uc(t.languageCode),r.setAttribute("for",`textarea-${t.languageCode}`),e.appendChild(r),t.multiImg&&t.uploadSetting){const a=t.uploadSetting.draw();a.classList.add("simple-language-upload"),e.appendChild(a)}else{const a=document.createElement("textarea");a.id=`textarea-${t.languageCode}`,a.classList.add("simple-language-textarea"),t.isPopupMode&&a.classList.add("popup-mode"),a.value=t.value||"",a.rows=1,a.style.overflowY="hidden",a.setAttribute("data-full-placeholder",t.placeholder),Jr(a,t.placeholder),t.dataTestId&&a.setAttribute("data-test-id",t.dataTestId);const n=t.maxRows??3;let i=!1,s=!1,o=null;a.addEventListener("compositionstart",()=>{s=!0}),a.addEventListener("compositionend",()=>{s=!1}),a.addEventListener("input",l=>{const c=l.target;i=!0,o&&clearTimeout(o),o=setTimeout(()=>{i=!1,o=null},300),t.onInput(t.languageCode,c.value),Xs(c,n);const f=a.getAttribute("data-full-placeholder")||"";f&&Jr(a,f)}),a.__isUserTyping=()=>i||s,e.appendChild(a),P3(a,n)}return e}function R3(t){const e=document.createElement("div");e.classList.add("multi-language-popup-overlay");const r=document.createElement("div");r.classList.add("multi-language-popup");const a=document.createElement("div");a.classList.add("multi-language-popup-header"),a.style.cursor="move";const n=document.createElement("h3");n.classList.add("multi-language-popup-title"),n.textContent="All Languages";const i=document.createElement("button");i.classList.add("multi-language-close-button"),i.innerHTML=N3,i.addEventListener("click",()=>t.onClose()),D3(a,r),a.appendChild(n),a.appendChild(i),r.appendChild(a);const s=document.createElement("div");s.classList.add("multi-language-popup-content"),t.languages.forEach(c=>{var d;const f=((d=t.values)==null?void 0:d[c])||"",h=$n(c,t.placeholder),u=t.uploadSettings.get(c),p=t.dataTestPath?`${t.dataTestPath}_${c}`:void 0,m=Wc({languageCode:c,value:f,placeholder:h,isDefaultLanguage:!1,isPopupMode:!0,multiImg:t.multiImg,onInput:t.onInput,uploadSetting:u,dataTestId:p});s.appendChild(m)}),r.appendChild(s);const o=document.createElement("div");o.classList.add("multi-language-popup-footer");const l=document.createElement("button");return l.classList.add("multi-language-done-button"),l.textContent="Done",l.addEventListener("click",()=>t.onClose()),o.appendChild(l),r.appendChild(o),e.appendChild(r),e.addEventListener("mousedown",c=>{c.target===e&&t.onClose()}),requestAnimationFrame(()=>{const c=window.innerWidth,f=window.innerHeight,h=r.offsetWidth,u=r.offsetHeight,p=Math.max(8,(c-h)/2),m=Math.max(8,(f-u)/2);r.style.left=`${p}px`,r.style.top=`${m}px`}),e}class ts{static getComponentGroup(e){var s;const r=(s=e.group)==null?void 0:s.trim();if(r)return r;const a=(e.id||"").trim(),n=(e.title||"").trim();if(a&&n){const o=` > ${n}`;if(a.endsWith(o))return a.slice(0,a.length-o.length)||a}return a.split(" > ")[0]||"unknown"}static exportToExcel(e,r,a="translations.xlsx"){const n={};e.forEach(h=>{const u=this.getComponentGroup(h);n[u]||(n[u]=[]),n[u].push(h)});const i=[],s=["Key","Component","Title",...r];i.push(s),i.push([]),Object.keys(n).sort().forEach((h,u)=>{const p=n[h];p.sort((d,g)=>(d.settingTitle||d.title||"").localeCompare(g.settingTitle||g.title||"")),u>0&&i.push([]);const m=["",h,""];r.forEach(()=>m.push("")),i.push(m),p.forEach(d=>{const g=d.settingTitle||this.extractSettingKey(d.title||d.id),w=[d.keyPath||this.extractSettingKey(d.title||d.id),"",g];r.forEach(v=>{w.push(d.value[v]||"")}),i.push(w)})});const l=rr.aoa_to_sheet(i),c=[{wch:35},{wch:20},{wch:25},...r.map(()=>({wch:25}))];l["!cols"]=c;const f=rr.book_new();rr.book_append_sheet(f,l,"Translations"),qi(f,a)}static extractSettingKey(e){return e?e.replace(/ > /g,"."):""}static async importFromExcel(e,r){return new Promise((a,n)=>{const i=new FileReader;i.onload=s=>{var o;try{const l=(o=s.target)==null?void 0:o.result,c=ai(l,{type:"binary"}),f=c.SheetNames[0],h=c.Sheets[f],u=rr.sheet_to_json(h,{header:1});if(u.length<2){n(new Error("Excel file is empty or invalid"));return}const p=u[0],m=p.indexOf("Component"),d=p.indexOf("Title"),g=p.indexOf("Key"),x=p.indexOf("Component Path");if(d===-1&&x===-1){n(new Error("Excel file must have 'Title' or 'Component Path' column"));return}const w={};r.forEach(F=>{const _=p.indexOf(F);_!==-1&&(w[F]=_)});const v=[];let L="";for(let F=1;F<u.length;F++){const _=u[F];if(!(!_||_.length===0||_.every(C=>!C||String(C).trim()==="")))if(m!==-1&&d!==-1){const C=_[m],M=typeof C=="string"?C.trim():C!=null?String(C).trim():"";M&&(L=M);const N=_[d],G=typeof N=="string"?N.trim():N!=null?String(N).trim():"",B=g!==-1?_[g]:void 0,D=typeof B=="string"?B.trim():B!=null?String(B).trim():"";if(!G&&!D)continue;const J=(D||G).replace(/\./g," > "),ce=L?`${L} > ${J}`:J,ne={};r.forEach(fe=>{const oe=w[fe];if(oe!==void 0){const Te=_[oe];ne[fe]=Te!=null?String(Te):""}}),v.push({id:ce,title:J,settingTitle:G||D,keyPath:D||void 0,value:ne})}else{const C=_[x!==-1?x:0],M=typeof C=="string"?C.trim():"";if(!M)continue;const N={};r.forEach(G=>{const B=w[G];if(B!==void 0){const D=_[B];N[G]=D!=null?String(D):""}}),v.push({id:M,title:M,value:N})}}a(v)}catch(l){n(l)}},i.onerror=()=>{n(new Error("Failed to read file"))},i.readAsBinaryString(e)})}static isMultiLanguageValue(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const r=Object.keys(e),a=/^[a-z]{2}(-[a-z]{2})?$/i,n=r.filter(s=>!s.startsWith("$"));if(n.length===0)return!1;const i=n.filter(s=>a.test(s)&&typeof e[s]=="string");return i.length>0&&i.length>=n.length*.5}static extractMultiLanguageValues(e,r,a="",n){const i=[];for(const[s,o]of Object.entries(e)){const l=a?`${a} > ${s}`:s,c=`${r} > ${l}`;if(this.isMultiLanguageValue(o)){const h=(n?n(c):void 0)||l.replace(/ > /g,"."),u={};for(const[p,m]of Object.entries(o))!p.startsWith("$")&&typeof m=="string"&&(u[p]=m);i.push({id:c,title:l,settingTitle:h,group:r,keyPath:l.replace(/ > /g,"."),value:u})}else if(o&&typeof o=="object"&&!Array.isArray(o)){const f=this.extractMultiLanguageValues(o,r,l,n);i.push(...f)}else Array.isArray(o)&&o.forEach((f,h)=>{if(f&&typeof f=="object"){const u=this.extractMultiLanguageValues(f,r,`${l}[${h}]`,n);i.push(...u)}})}return i}static exportFromComponentInstances(e,r="translations.xlsx",a,n){const i=[],s=!!(n&&n.length),o=new Set(n||[]);if(e.forEach(c=>{if(!c.currentSettings)return;this.extractMultiLanguageValues(c.currentSettings,c.component,"",a).forEach(h=>{i.push(h),s||Object.keys(h.value).forEach(u=>o.add(u))})}),i.length===0){console.warn("No translations found in the provided components");return}const l=Array.from(o).sort();this.exportToExcel(i,l,r)}static async importToComponentInstances(e,r,a,n){const i=!!(n&&n.length),s=new Set(n||[]);r.forEach(h=>{if(!h.currentSettings)return;this.extractMultiLanguageValues(h.currentSettings,h.component).forEach(p=>{i||Object.keys(p.value).forEach(m=>s.add(m))})});const o=Array.from(s).sort(),l=await this.importFromExcel(e,o);a&&l.forEach(h=>{const u=(h.id||"").split(" > "),p=u[0]||"",m=(h.keyPath||h.settingTitle||h.title||u[u.length-1]||"").trim();if(!p||!m)return;const d=a(p,m);d&&(h.id=`${p} > ${d}`,h.title=d)});const c=new Map;return l.forEach(h=>{c.set(h.id,h.value)}),r.map(h=>{const u=this.updateSettingsWithTranslations(JSON.parse(JSON.stringify(h.currentSettings)),h.component,c);return{...h,currentSettings:u}})}static updateSettingsWithTranslations(e,r,a,n=""){const i={};for(const[s,o]of Object.entries(e)){const l=n?`${n} > ${s}`:s,c=`${r} > ${l}`;if(this.isMultiLanguageValue(o)){const f=a.get(c);if(f){const h={...f};for(const[u,p]of Object.entries(o))u.startsWith("$")&&(h[u]=p);i[s]=h}else i[s]=o}else o&&typeof o=="object"&&!Array.isArray(o)?i[s]=this.updateSettingsWithTranslations(o,r,a,l):Array.isArray(o)?i[s]=o.map((f,h)=>f&&typeof f=="object"?this.updateSettingsWithTranslations(f,r,a,`${l}[${h}]`):f):i[s]=o}return i}}const tr=class tr extends Ae{constructor(e){super(e),this.inputType={},this.container=null,this.defaultLanguage="",this.uploadSettings=new Map,this.popup=null,this.componentPath="",this.$id="",this.isDerty=!1,this.instanceId=tn(),this.componentPath=e.title||this.instanceId,e.default?this.value=e.default:this.value||(this.value={}),this.value.$id=this.$id=tn(),this.messageHandler=n=>{const{type:i,data:s}=n.data||{};i==="TEXT_ELEMENT_CLICKED"&&s.$id==this.$id&&this.showPopup()};const r=tr.messageListeners.get(this.instanceId);r&&window.removeEventListener("message",r),tr.messageListeners.set(this.instanceId,this.messageHandler),window.addEventListener("message",this.messageHandler),this.defaultLanguage=this.resolveDefaultLanguage();const a=e.multiImg?e.defaultValue||"":e.defaultValue||$n(this.defaultLanguage);e.languages.forEach(n=>{var i,s;n in(this.value||{})||(this.value||(this.value={}),n===this.defaultLanguage&&a?this.value[n]=((i=e.default)==null?void 0:i[n])||a:this.value[n]=((s=e.default)==null?void 0:s[n])||"")})}normalizeLanguageCode(e){return(e||"").trim().toLowerCase()}findLanguageMatch(e){const r=this.normalizeLanguageCode(e);return this.props.languages.find(a=>this.normalizeLanguageCode(a)===r)}resolveDefaultLanguage(){const e=this.findLanguageMatch(Ae.DefaultLanguage),r=Ae.HasExplicitCurrentLanguage()&&Ae.CurrentLanguage()?this.findLanguageMatch(Ae.CurrentLanguage()):void 0;return e||r||this.props.languages[0]}createTextareaRowForLanguage(e,r=!1){var o;const a=((o=this.value)==null?void 0:o[e])||"",n=$n(e,this.props.placeholder||es),i=this.uploadSettings.get(e);if(this.props.multiImg&&!i){const l=new gn({defaultUrl:a||"",title:"",id:`${this.id}_upload_${e}`});l.setOnChange(c=>{this.updateLanguageValue(e,c),e===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(c)}),this.uploadSettings.set(e,l)}const s=this.getDataPropsPath()?`${this.getDataPropsPath()}_${e}`:void 0;return Wc({languageCode:e,value:a,placeholder:n,isDefaultLanguage:e===this.defaultLanguage,isPopupMode:r,multiImg:this.props.multiImg||!1,onInput:(l,c)=>{this.updateLanguageValue(l,c),l===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(c)},uploadSetting:this.uploadSettings.get(e),dataTestId:s})}updateLanguageValue(e,r){this.value||(this.value={});const a={...this.value,[e]:r};this.setValue(a)}updateOtherLanguagePlaceholders(e){!this.container&&!this.popup||this.props.languages.forEach(r=>{if(r===this.defaultLanguage)return;const a=e||$n(r,this.props.placeholder||es);[this.container,this.popup].forEach(n=>{const i=n==null?void 0:n.querySelector(`#textarea-${r}`);i&&(!i.value||i.value.trim()==="")&&(i.setAttribute("data-full-placeholder",a),Jr(i,a))})})}renderContent(e){const r=e.querySelector(".simple-multi-language-content");if(!r)return;r.innerHTML="";const a=Ae.HasExplicitCurrentLanguage(),n=Ae.CurrentLanguage();if(!a||!n||!this.props.languages.includes(n))this.props.languages.forEach(i=>{const s=this.createTextareaRowForLanguage(i,!1);r.appendChild(s)});else{const i=this.createTextareaRowForLanguage(n,!1);r.appendChild(i);const s=r.querySelector(".simple-language-textarea");if(s){const o=s.getAttribute("data-full-placeholder")||"";o&&Jr(s,o)}}}showPopup(){var e;this.popup||(this.props.multiImg&&this.props.languages.forEach(r=>{var a;if(!this.uploadSettings.has(r)){const n=((a=this.value)==null?void 0:a[r])||"",i=new gn({defaultUrl:n,title:"",id:`${this.id}_upload_${r}`});i.setOnChange(s=>{this.updateLanguageValue(r,s),r===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(s)}),this.uploadSettings.set(r,i)}}),this.popup=R3({languages:this.props.languages,values:this.value||{},placeholder:this.props.placeholder,multiImg:this.props.multiImg||!1,onClose:()=>this.closePopup(),onInput:(r,a)=>{this.updateLanguageValue(r,a),r===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(a)},uploadSettings:this.uploadSettings,dataTestPath:this.getDataPropsPath()}),document.body.appendChild(this.popup),this.updateOtherLanguagePlaceholders(((e=this.value)==null?void 0:e[this.defaultLanguage])||""))}closePopup(){this.popup&&(document.body.removeChild(this.popup),this.popup=null)}draw(){const e=document.createElement("div");e.classList.add("simple-multi-language-wrapper"),this.defaultLanguage=this.resolveDefaultLanguage();const r=O3({title:this.props.title??"",onEyeIconClick:()=>this.showPopup()});e.appendChild(r);const a=document.createElement("div");return a.classList.add("simple-multi-language-content"),e.appendChild(a),this.container=e,this.renderContent(e),this.languageChangeUnsubscribe=Ae.onLanguageChange(n=>{this.container&&this.renderContent(this.container)}),this.resizeHandler=()=>{if(!this.container)return;this.container.querySelectorAll(".simple-language-textarea").forEach(i=>{const s=i.getAttribute("data-full-placeholder")||"";s&&Jr(i,s)})},window.addEventListener("resize",this.resizeHandler),e}setValue(e){console.log("setValue----------------- "+e),(!e.$id||e.$id!=this.$id)&&(e.$id=this.$id),super.setValue(e),this.container&&this.props.languages.forEach(r=>{var a,n,i;if(this.props.multiImg){const s=this.uploadSettings.get(r);if(s){const o=s.onChange;s.onChange=void 0;try{s.setValue((e==null?void 0:e[r])||"")}finally{s.onChange=o}}}else{const s=[(a=this.container)==null?void 0:a.querySelector(`#textarea-${r}`),(n=this.popup)==null?void 0:n.querySelector(`#textarea-${r}`)].filter(Boolean);for(const o of s){const l=(i=o.__isUserTyping)==null?void 0:i.call(o),c=(e==null?void 0:e[r])||"";if(!l&&o.value!==c){o.value=c,Xs(o,3);const f=o.getAttribute("data-full-placeholder")||"";f&&Jr(o,f)}}}})}static exportAllToExcel(e="translations.xlsx"){const r=[],a=new Set,n=new Map;if(this.instances.forEach((s,o)=>{if(!s.value)return;const c=o.split(" > ")[0]||"",f=s.props.title||"",h=`${c}:${f}`;n.set(h,(n.get(h)||0)+1)}),this.instances.forEach((s,o)=>{if(!s.value)return;s.props.languages.forEach(x=>a.add(x));const l={};s.props.languages.forEach(x=>{var w;l[x]=((w=s.value)==null?void 0:w[x])||""});const c=o.split(" > "),f=c[0]||"",h=c[c.length-1]||"",u=s.props.title||"",p=`${f}:${u}`,m=c.slice(1,-1),d=u||h;let g;m.length>0?g=[...m,d].join(" > "):u&&n.get(p)>1?g=`${u} (${h})`:g=d,r.push({id:o,title:s.props.title||o,settingTitle:g,value:l})}),r.length===0){console.warn("No translations to export");return}const i=Array.from(a).sort();ts.exportToExcel(r,i,e)}static async importFromExcel(e){const r=new Set;this.instances.forEach(n=>{n.props.languages.forEach(i=>r.add(i))});const a=Array.from(r).sort();try{const n=await ts.importFromExcel(e,a);let i=0;n.forEach(s=>{const o=s.id.split(" > "),l=o[0]||"";let c=s.settingTitle||o[o.length-1]||"",f;const h=c.match(/^(.+)\s*\(([^)]+)\)$/);h&&(c=h[1].trim(),f=h[2].trim());let u=this.instances.get(s.id);if(!u&&f){const p=`${l} > ${f}`;u=this.instances.get(p)}u||(u=this.findInstanceByComponentAndTitle(l,c)),u||(u=this.findInstanceByLeaf(f||c)),u?(u.setValue(s.value),i++):console.warn(`No matching component found for translation "${l} > ${c}". Ensure the Excel uses the setting title or full component path.`)}),console.log(`Successfully imported ${i} translations`)}catch(n){throw console.error("Failed to import translations:",n),n}}static getAllInstances(){return new Map(this.instances)}static clearRegistry(){this.instances.clear()}static findInstanceByLeaf(e){const r=(e||"").trim().toLowerCase();if(!r)return;const a=[];if(this.instances.forEach((n,i)=>{if((n.props.title||"").trim().toLowerCase()===r){a.push(n);return}const o=i.split(">");o[o.length-1].trim().toLowerCase()===r&&a.push(n)}),a.length===1)return a[0];a.length>1&&console.warn(`Multiple components matched the title "${e}". Please use the full component path in the Excel file to disambiguate.`)}static findInstanceByComponentAndTitle(e,r){const a=(e||"").trim().toLowerCase(),n=(r||"").trim().toLowerCase();if(!n)return;const i=[];if(this.instances.forEach((s,o)=>{const l=o.toLowerCase();if(!(a?l.startsWith(a):!0))return;(s.props.title||"").trim().toLowerCase()===n&&i.push(s)}),i.length===1)return i[0];if(i.length>1)return console.warn(`Multiple components matched "${e} > ${r}". Please ensure unique titles within each component.`),i[0]}setComponentPath(e){this.componentPath&&tr.instances.get(this.componentPath)===this&&tr.instances.delete(this.componentPath),this.componentPath=e,tr.instances.set(e,this)}getComponentPath(){return this.componentPath}cleanup(){this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=void 0),this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=void 0),this.languageChangeUnsubscribe&&(this.languageChangeUnsubscribe(),this.languageChangeUnsubscribe=void 0),this.closePopup(),this.instanceId&&this.messageHandler&&(tr.messageListeners.get(this.instanceId)===this.messageHandler&&tr.messageListeners.delete(this.instanceId),window.removeEventListener("message",this.messageHandler),this.messageHandler=void 0)}};tr.instances=new Map,tr.messageListeners=new Map;let qr=tr;class B3{constructor(e={}){this.container=null,this.options=e}draw(){const e=document.createElement("div");e.className="translation-manager";const r=document.createElement("h3");r.className="translation-manager-title",r.textContent="Translation Management",e.appendChild(r);const a=document.createElement("div");a.className="translation-manager-buttons";const n=document.createElement("button");n.type="button",n.className="translation-manager-button export-button",n.innerHTML=`
577
+ </svg>`,es="Enter text in {language}...",M3="Enter text in ",xe=(t,e,r)=>({label:e,placeholder:`${M3}${t}`}),Hc={en:xe("en","English"),ka:xe("ka","ქართული"),de:xe("de","Deutsch"),fr:xe("fr","Français"),es:xe("es","Español"),it:xe("it","Italiano"),pt:xe("pt","Português"),nl:xe("nl","Nederlands"),sv:xe("sv","Svenska"),no:xe("no","Norsk"),da:xe("da","Dansk"),fi:xe("fi","Suomi"),pl:xe("pl","Polski"),cs:xe("cs","Čeština"),sk:xe("sk","Slovenčina"),hu:xe("hu","Magyar"),ro:xe("ro","Română"),bg:xe("bg","Български"),uk:xe("uk","Українська"),ru:xe("ru","Русский"),sr:xe("sr","Српски"),hr:xe("hr","Hrvatski"),sl:xe("sl","Slovenščina"),el:xe("el","Ελληνικά"),tr:xe("tr","Türkçe"),ar:xe("ar","العربية"),he:xe("he","עברית"),fa:xe("fa","فارسی"),ur:xe("ur","اردو"),hi:xe("hi","हिन्दी"),bn:xe("bn","বাংলা"),ta:xe("ta","தமிழ்"),te:xe("te","తెలుగు"),mr:xe("mr","मराठी"),gu:xe("gu","ગુજરાતી"),pa:xe("pa","ਪੰਜਾਬੀ"),th:xe("th","ไทย"),vi:xe("vi","TiếngViệt"),id:xe("id","BahasaIndonesia"),ms:xe("ms","BahasaMelayu"),fil:xe("fil","Filipino"),zh:xe("zh","中文"),ja:xe("ja","日本語"),ko:xe("ko","한국어"),sw:xe("sw","Kiswahili"),am:xe("am","አማርኛ"),yo:xe("yo","Yorùbá"),zu:xe("zu","IsiZulu")};function Uc(t){var r,a;const e=Hc[((r=t==null?void 0:t.toLowerCase)==null?void 0:r.call(t))||""];return e!=null&&e.label?e.label:((a=t==null?void 0:t.toUpperCase)==null?void 0:a.call(t))||String(t)}function $n(t,e=es){var n;const r=Hc[((n=t==null?void 0:t.toLowerCase)==null?void 0:n.call(t))||""];if(r!=null&&r.placeholder)return r.placeholder;const a=Uc(t);return e.includes("{language}")?e.replace("{language}",a):e}function O3(t){const e=document.createElement("div");e.classList.add("simple-multi-language-title");const r=document.createElement("span");r.textContent=t.title??"";const a=document.createElement("button");return a.classList.add("multi-language-eye-icon"),a.innerHTML=I3,a.addEventListener("click",n=>{n.preventDefault(),t.onEyeIconClick()}),e.appendChild(r),e.appendChild(a),e}let Pi;function v0(t,e){Pi||(Pi=document.createElement("canvas"));const r=Pi.getContext("2d");if(!r)return t.length*10;const a=`${e.fontStyle} ${e.fontWeight} ${e.fontSize} ${e.fontFamily}`.trim();return r.font=a,r.measureText(t).width}function Jr(t,e){const r=window.getComputedStyle(t),a=parseFloat(r.paddingLeft)||0,n=parseFloat(r.paddingRight)||0,i=parseFloat(r.borderLeftWidth)||0,s=parseFloat(r.borderRightWidth)||0,o=Math.max(0,t.clientWidth-a-n-i-s);if(o<=0){t.placeholder=e;return}if(v0(e,r)<=o){t.placeholder=e;return}const c="...";let f=0,h=e.length,u=0;for(;f<=h;){const m=Math.floor((f+h)/2),d=e.slice(0,m).trimEnd()+c;v0(d,r)<=o?(u=m,f=m+1):h=m-1}const p=e.slice(0,u).trimEnd()+c;t.placeholder=p}function Xs(t,e=3){t.style.height="auto";const r=window.getComputedStyle(t),a=parseFloat(r.lineHeight)||20,n=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),i=parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),s=a*e+n+i,o=Math.min(t.scrollHeight||55,s);t.style.height=`${o}px`,t.scrollHeight>s?t.style.overflowY="auto":t.style.overflowY="hidden"}function P3(t,e=3){requestAnimationFrame(()=>{t.offsetHeight,Xs(t,e);const r=t.getAttribute("data-full-placeholder");r&&Jr(t,r)})}const D3=(t,e,r)=>{let a=!1,n=0,i=0,s=0,o=0;const l=h=>{if(h.target.closest("button"))return;a=!0,n=h.clientX,i=h.clientY;const u=e.getBoundingClientRect();s=u.left,o=u.top,document.addEventListener("mousemove",c),document.addEventListener("mouseup",f),document.body.style.userSelect="none"},c=h=>{if(!a)return;const u=h.clientX-n,p=h.clientY-i,m=window.innerWidth,d=window.innerHeight,g=e.offsetWidth,x=e.offsetHeight;let w=s+u,v=o+p;w=Math.max(8,Math.min(m-g-8,w)),v=Math.max(8,Math.min(d-x-8,v)),e.style.left=`${w}px`,e.style.top=`${v}px`},f=()=>{a=!1,document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",f),document.body.style.userSelect=""};return t.addEventListener("mousedown",l),()=>{t.removeEventListener("mousedown",l),document.removeEventListener("mousemove",c),document.removeEventListener("mouseup",f)}};function Wc(t){const e=document.createElement("div");e.classList.add("simple-multi-language-row");const r=document.createElement("label");if(r.classList.add("simple-language-label"),r.textContent=Uc(t.languageCode),r.setAttribute("for",`textarea-${t.languageCode}`),e.appendChild(r),t.multiImg&&t.uploadSetting){const a=t.uploadSetting.draw();a.classList.add("simple-language-upload"),e.appendChild(a)}else{const a=document.createElement("textarea");a.id=`textarea-${t.languageCode}`,a.classList.add("simple-language-textarea"),t.isPopupMode&&a.classList.add("popup-mode"),a.value=t.value||"",a.rows=1,a.style.overflowY="hidden",a.setAttribute("data-full-placeholder",t.placeholder),Jr(a,t.placeholder),t.dataTestId&&a.setAttribute("data-test-id",t.dataTestId);const n=t.maxRows??3;let i=!1,s=!1,o=null;a.addEventListener("compositionstart",()=>{s=!0}),a.addEventListener("compositionend",()=>{s=!1}),a.addEventListener("input",l=>{const c=l.target;i=!0,o&&clearTimeout(o),o=setTimeout(()=>{i=!1,o=null},300),t.onInput(t.languageCode,c.value),Xs(c,n);const f=a.getAttribute("data-full-placeholder")||"";f&&Jr(a,f)}),a.__isUserTyping=()=>i||s,e.appendChild(a),P3(a,n)}return e}function R3(t){const e=document.createElement("div");e.classList.add("multi-language-popup-overlay");const r=document.createElement("div");r.classList.add("multi-language-popup");const a=document.createElement("div");a.classList.add("multi-language-popup-header"),a.style.cursor="move";const n=document.createElement("h3");n.classList.add("multi-language-popup-title"),n.textContent="All Languages";const i=document.createElement("button");i.classList.add("multi-language-close-button"),i.innerHTML=N3,i.addEventListener("click",()=>t.onClose()),D3(a,r);const s=document.createElement("div");if(s.style.display="flex",s.style.flexDirection="column",s.appendChild(n),a.appendChild(s),a.appendChild(i),r.appendChild(a),t.description){const f=document.createElement("p");f.classList.add("multi-language-popup-description"),/<[^>]+>/.test(t.description)?f.innerHTML=t.description:f.textContent=t.description,r.appendChild(f)}const o=document.createElement("div");o.classList.add("multi-language-popup-content"),t.languages.forEach(f=>{var g;const h=((g=t.values)==null?void 0:g[f])||"",u=$n(f,t.placeholder),p=t.uploadSettings.get(f),m=t.dataTestPath?`${t.dataTestPath}_${f}`:void 0,d=Wc({languageCode:f,value:h,placeholder:u,isDefaultLanguage:!1,isPopupMode:!0,multiImg:t.multiImg,onInput:t.onInput,uploadSetting:p,dataTestId:m});o.appendChild(d)}),r.appendChild(o);const l=document.createElement("div");l.classList.add("multi-language-popup-footer");const c=document.createElement("button");return c.classList.add("multi-language-done-button"),c.textContent="Done",c.addEventListener("click",()=>t.onClose()),l.appendChild(c),r.appendChild(l),e.appendChild(r),e.addEventListener("mousedown",f=>{f.target===e&&t.onClose()}),requestAnimationFrame(()=>{const f=window.innerWidth,h=window.innerHeight,u=r.offsetWidth,p=r.offsetHeight,m=Math.max(8,(f-u)/2),d=Math.max(8,(h-p)/2);r.style.left=`${m}px`,r.style.top=`${d}px`}),e}class ts{static getComponentGroup(e){var s;const r=(s=e.group)==null?void 0:s.trim();if(r)return r;const a=(e.id||"").trim(),n=(e.title||"").trim();if(a&&n){const o=` > ${n}`;if(a.endsWith(o))return a.slice(0,a.length-o.length)||a}return a.split(" > ")[0]||"unknown"}static exportToExcel(e,r,a="translations.xlsx"){const n={};e.forEach(h=>{const u=this.getComponentGroup(h);n[u]||(n[u]=[]),n[u].push(h)});const i=[],s=["Key","Component","Title",...r];i.push(s),i.push([]),Object.keys(n).sort().forEach((h,u)=>{const p=n[h];p.sort((d,g)=>(d.settingTitle||d.title||"").localeCompare(g.settingTitle||g.title||"")),u>0&&i.push([]);const m=["",h,""];r.forEach(()=>m.push("")),i.push(m),p.forEach(d=>{const g=d.settingTitle||this.extractSettingKey(d.title||d.id),w=[d.keyPath||this.extractSettingKey(d.title||d.id),"",g];r.forEach(v=>{w.push(d.value[v]||"")}),i.push(w)})});const l=rr.aoa_to_sheet(i),c=[{wch:35},{wch:20},{wch:25},...r.map(()=>({wch:25}))];l["!cols"]=c;const f=rr.book_new();rr.book_append_sheet(f,l,"Translations"),qi(f,a)}static extractSettingKey(e){return e?e.replace(/ > /g,"."):""}static async importFromExcel(e,r){return new Promise((a,n)=>{const i=new FileReader;i.onload=s=>{var o;try{const l=(o=s.target)==null?void 0:o.result,c=ai(l,{type:"binary"}),f=c.SheetNames[0],h=c.Sheets[f],u=rr.sheet_to_json(h,{header:1});if(u.length<2){n(new Error("Excel file is empty or invalid"));return}const p=u[0],m=p.indexOf("Component"),d=p.indexOf("Title"),g=p.indexOf("Key"),x=p.indexOf("Component Path");if(d===-1&&x===-1){n(new Error("Excel file must have 'Title' or 'Component Path' column"));return}const w={};r.forEach(F=>{const _=p.indexOf(F);_!==-1&&(w[F]=_)});const v=[];let L="";for(let F=1;F<u.length;F++){const _=u[F];if(!(!_||_.length===0||_.every(C=>!C||String(C).trim()==="")))if(m!==-1&&d!==-1){const C=_[m],M=typeof C=="string"?C.trim():C!=null?String(C).trim():"";M&&(L=M);const N=_[d],G=typeof N=="string"?N.trim():N!=null?String(N).trim():"",B=g!==-1?_[g]:void 0,D=typeof B=="string"?B.trim():B!=null?String(B).trim():"";if(!G&&!D)continue;const J=(D||G).replace(/\./g," > "),ce=L?`${L} > ${J}`:J,ne={};r.forEach(fe=>{const oe=w[fe];if(oe!==void 0){const Te=_[oe];ne[fe]=Te!=null?String(Te):""}}),v.push({id:ce,title:J,settingTitle:G||D,keyPath:D||void 0,value:ne})}else{const C=_[x!==-1?x:0],M=typeof C=="string"?C.trim():"";if(!M)continue;const N={};r.forEach(G=>{const B=w[G];if(B!==void 0){const D=_[B];N[G]=D!=null?String(D):""}}),v.push({id:M,title:M,value:N})}}a(v)}catch(l){n(l)}},i.onerror=()=>{n(new Error("Failed to read file"))},i.readAsBinaryString(e)})}static isMultiLanguageValue(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const r=Object.keys(e),a=/^[a-z]{2}(-[a-z]{2})?$/i,n=r.filter(s=>!s.startsWith("$"));if(n.length===0)return!1;const i=n.filter(s=>a.test(s)&&typeof e[s]=="string");return i.length>0&&i.length>=n.length*.5}static extractMultiLanguageValues(e,r,a="",n){const i=[];for(const[s,o]of Object.entries(e)){const l=a?`${a} > ${s}`:s,c=`${r} > ${l}`;if(this.isMultiLanguageValue(o)){const h=(n?n(c):void 0)||l.replace(/ > /g,"."),u={};for(const[p,m]of Object.entries(o))!p.startsWith("$")&&typeof m=="string"&&(u[p]=m);i.push({id:c,title:l,settingTitle:h,group:r,keyPath:l.replace(/ > /g,"."),value:u})}else if(o&&typeof o=="object"&&!Array.isArray(o)){const f=this.extractMultiLanguageValues(o,r,l,n);i.push(...f)}else Array.isArray(o)&&o.forEach((f,h)=>{if(f&&typeof f=="object"){const u=this.extractMultiLanguageValues(f,r,`${l}[${h}]`,n);i.push(...u)}})}return i}static exportFromComponentInstances(e,r="translations.xlsx",a,n){const i=[],s=!!(n&&n.length),o=new Set(n||[]);if(e.forEach(c=>{if(!c.currentSettings)return;this.extractMultiLanguageValues(c.currentSettings,c.component,"",a).forEach(h=>{i.push(h),s||Object.keys(h.value).forEach(u=>o.add(u))})}),i.length===0){console.warn("No translations found in the provided components");return}const l=Array.from(o).sort();this.exportToExcel(i,l,r)}static async importToComponentInstances(e,r,a,n){const i=!!(n&&n.length),s=new Set(n||[]);r.forEach(h=>{if(!h.currentSettings)return;this.extractMultiLanguageValues(h.currentSettings,h.component).forEach(p=>{i||Object.keys(p.value).forEach(m=>s.add(m))})});const o=Array.from(s).sort(),l=await this.importFromExcel(e,o);a&&l.forEach(h=>{const u=(h.id||"").split(" > "),p=u[0]||"",m=(h.keyPath||h.settingTitle||h.title||u[u.length-1]||"").trim();if(!p||!m)return;const d=a(p,m);d&&(h.id=`${p} > ${d}`,h.title=d)});const c=new Map;return l.forEach(h=>{c.set(h.id,h.value)}),r.map(h=>{const u=this.updateSettingsWithTranslations(JSON.parse(JSON.stringify(h.currentSettings)),h.component,c);return{...h,currentSettings:u}})}static updateSettingsWithTranslations(e,r,a,n=""){const i={};for(const[s,o]of Object.entries(e)){const l=n?`${n} > ${s}`:s,c=`${r} > ${l}`;if(this.isMultiLanguageValue(o)){const f=a.get(c);if(f){const h={...f};for(const[u,p]of Object.entries(o))u.startsWith("$")&&(h[u]=p);i[s]=h}else i[s]=o}else o&&typeof o=="object"&&!Array.isArray(o)?i[s]=this.updateSettingsWithTranslations(o,r,a,l):Array.isArray(o)?i[s]=o.map((f,h)=>f&&typeof f=="object"?this.updateSettingsWithTranslations(f,r,a,`${l}[${h}]`):f):i[s]=o}return i}}const tr=class tr extends Ae{constructor(e){super(e),this.inputType={},this.container=null,this.defaultLanguage="",this.uploadSettings=new Map,this.popup=null,this.componentPath="",this.$id="",this.isDerty=!1,this.instanceId=tn(),this.componentPath=e.title||this.instanceId,e.default?this.value=e.default:this.value||(this.value={}),this.value.$id=this.$id=tn(),this.messageHandler=n=>{const{type:i,data:s}=n.data||{};i==="TEXT_ELEMENT_CLICKED"&&s.$id==this.$id&&this.showPopup()};const r=tr.messageListeners.get(this.instanceId);r&&window.removeEventListener("message",r),tr.messageListeners.set(this.instanceId,this.messageHandler),window.addEventListener("message",this.messageHandler),this.defaultLanguage=this.resolveDefaultLanguage();const a=e.multiImg?e.defaultValue||"":e.defaultValue||$n(this.defaultLanguage);e.languages.forEach(n=>{var i,s;n in(this.value||{})||(this.value||(this.value={}),n===this.defaultLanguage&&a?this.value[n]=((i=e.default)==null?void 0:i[n])||a:this.value[n]=((s=e.default)==null?void 0:s[n])||"")})}normalizeLanguageCode(e){return(e||"").trim().toLowerCase()}findLanguageMatch(e){const r=this.normalizeLanguageCode(e);return this.props.languages.find(a=>this.normalizeLanguageCode(a)===r)}resolveDefaultLanguage(){const e=this.findLanguageMatch(Ae.DefaultLanguage),r=Ae.HasExplicitCurrentLanguage()&&Ae.CurrentLanguage()?this.findLanguageMatch(Ae.CurrentLanguage()):void 0;return e||r||this.props.languages[0]}createTextareaRowForLanguage(e,r=!1){var o;const a=((o=this.value)==null?void 0:o[e])||"",n=$n(e,this.props.placeholder||es),i=this.uploadSettings.get(e);if(this.props.multiImg&&!i){const l=new gn({defaultUrl:a||"",title:"",id:`${this.id}_upload_${e}`});l.setOnChange(c=>{this.updateLanguageValue(e,c),e===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(c)}),this.uploadSettings.set(e,l)}const s=this.getDataPropsPath()?`${this.getDataPropsPath()}_${e}`:void 0;return Wc({languageCode:e,value:a,placeholder:n,isDefaultLanguage:e===this.defaultLanguage,isPopupMode:r,multiImg:this.props.multiImg||!1,onInput:(l,c)=>{this.updateLanguageValue(l,c),l===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(c)},uploadSetting:this.uploadSettings.get(e),dataTestId:s})}updateLanguageValue(e,r){this.value||(this.value={});const a={...this.value,[e]:r};this.setValue(a)}updateOtherLanguagePlaceholders(e){!this.container&&!this.popup||this.props.languages.forEach(r=>{if(r===this.defaultLanguage)return;const a=e||$n(r,this.props.placeholder||es);[this.container,this.popup].forEach(n=>{const i=n==null?void 0:n.querySelector(`#textarea-${r}`);i&&(!i.value||i.value.trim()==="")&&(i.setAttribute("data-full-placeholder",a),Jr(i,a))})})}renderContent(e){const r=e.querySelector(".simple-multi-language-content");if(!r)return;r.innerHTML="";const a=Ae.HasExplicitCurrentLanguage(),n=Ae.CurrentLanguage();if(!a||!n||!this.props.languages.includes(n))this.props.languages.forEach(i=>{const s=this.createTextareaRowForLanguage(i,!1);r.appendChild(s)});else{const i=this.createTextareaRowForLanguage(n,!1);r.appendChild(i);const s=r.querySelector(".simple-language-textarea");if(s){const o=s.getAttribute("data-full-placeholder")||"";o&&Jr(s,o)}}}showPopup(){var e,r;this.popup||(this.props.multiImg&&this.props.languages.forEach(a=>{var n;if(!this.uploadSettings.has(a)){const i=((n=this.value)==null?void 0:n[a])||"",s=new gn({defaultUrl:i,title:"",id:`${this.id}_upload_${a}`});s.setOnChange(o=>{this.updateLanguageValue(a,o),a===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(o)}),this.uploadSettings.set(a,s)}}),this.popup=R3({languages:this.props.languages,values:this.value||{},placeholder:this.props.placeholder,description:(e=this.props)==null?void 0:e.description,multiImg:this.props.multiImg||!1,onClose:()=>this.closePopup(),onInput:(a,n)=>{this.updateLanguageValue(a,n),a===this.defaultLanguage&&this.updateOtherLanguagePlaceholders(n)},uploadSettings:this.uploadSettings,dataTestPath:this.getDataPropsPath()}),document.body.appendChild(this.popup),this.updateOtherLanguagePlaceholders(((r=this.value)==null?void 0:r[this.defaultLanguage])||""))}closePopup(){this.popup&&(document.body.removeChild(this.popup),this.popup=null)}draw(){const e=document.createElement("div");e.classList.add("simple-multi-language-wrapper"),this.defaultLanguage=this.resolveDefaultLanguage();const r=O3({title:this.props.title??"",onEyeIconClick:()=>this.showPopup()});e.appendChild(r);const a=document.createElement("div");return a.classList.add("simple-multi-language-content"),e.appendChild(a),this.container=e,this.renderContent(e),this.languageChangeUnsubscribe=Ae.onLanguageChange(n=>{this.container&&this.renderContent(this.container)}),this.resizeHandler=()=>{if(!this.container)return;this.container.querySelectorAll(".simple-language-textarea").forEach(i=>{const s=i.getAttribute("data-full-placeholder")||"";s&&Jr(i,s)})},window.addEventListener("resize",this.resizeHandler),e}setValue(e){console.log("setValue----------------- "+e),(!e.$id||e.$id!=this.$id)&&(e.$id=this.$id),super.setValue(e),this.container&&this.props.languages.forEach(r=>{var a,n,i;if(this.props.multiImg){const s=this.uploadSettings.get(r);if(s){const o=s.onChange;s.onChange=void 0;try{s.setValue((e==null?void 0:e[r])||"")}finally{s.onChange=o}}}else{const s=[(a=this.container)==null?void 0:a.querySelector(`#textarea-${r}`),(n=this.popup)==null?void 0:n.querySelector(`#textarea-${r}`)].filter(Boolean);for(const o of s){const l=(i=o.__isUserTyping)==null?void 0:i.call(o),c=(e==null?void 0:e[r])||"";if(!l&&o.value!==c){o.value=c,Xs(o,3);const f=o.getAttribute("data-full-placeholder")||"";f&&Jr(o,f)}}}})}static exportAllToExcel(e="translations.xlsx"){const r=[],a=new Set,n=new Map;if(this.instances.forEach((s,o)=>{if(!s.value)return;const c=o.split(" > ")[0]||"",f=s.props.title||"",h=`${c}:${f}`;n.set(h,(n.get(h)||0)+1)}),this.instances.forEach((s,o)=>{if(!s.value)return;s.props.languages.forEach(x=>a.add(x));const l={};s.props.languages.forEach(x=>{var w;l[x]=((w=s.value)==null?void 0:w[x])||""});const c=o.split(" > "),f=c[0]||"",h=c[c.length-1]||"",u=s.props.title||"",p=`${f}:${u}`,m=c.slice(1,-1),d=u||h;let g;m.length>0?g=[...m,d].join(" > "):u&&n.get(p)>1?g=`${u} (${h})`:g=d,r.push({id:o,title:s.props.title||o,settingTitle:g,value:l})}),r.length===0){console.warn("No translations to export");return}const i=Array.from(a).sort();ts.exportToExcel(r,i,e)}static async importFromExcel(e){const r=new Set;this.instances.forEach(n=>{n.props.languages.forEach(i=>r.add(i))});const a=Array.from(r).sort();try{const n=await ts.importFromExcel(e,a);let i=0;n.forEach(s=>{const o=s.id.split(" > "),l=o[0]||"";let c=s.settingTitle||o[o.length-1]||"",f;const h=c.match(/^(.+)\s*\(([^)]+)\)$/);h&&(c=h[1].trim(),f=h[2].trim());let u=this.instances.get(s.id);if(!u&&f){const p=`${l} > ${f}`;u=this.instances.get(p)}u||(u=this.findInstanceByComponentAndTitle(l,c)),u||(u=this.findInstanceByLeaf(f||c)),u?(u.setValue(s.value),i++):console.warn(`No matching component found for translation "${l} > ${c}". Ensure the Excel uses the setting title or full component path.`)}),console.log(`Successfully imported ${i} translations`)}catch(n){throw console.error("Failed to import translations:",n),n}}static getAllInstances(){return new Map(this.instances)}static clearRegistry(){this.instances.clear()}static findInstanceByLeaf(e){const r=(e||"").trim().toLowerCase();if(!r)return;const a=[];if(this.instances.forEach((n,i)=>{if((n.props.title||"").trim().toLowerCase()===r){a.push(n);return}const o=i.split(">");o[o.length-1].trim().toLowerCase()===r&&a.push(n)}),a.length===1)return a[0];a.length>1&&console.warn(`Multiple components matched the title "${e}". Please use the full component path in the Excel file to disambiguate.`)}static findInstanceByComponentAndTitle(e,r){const a=(e||"").trim().toLowerCase(),n=(r||"").trim().toLowerCase();if(!n)return;const i=[];if(this.instances.forEach((s,o)=>{const l=o.toLowerCase();if(!(a?l.startsWith(a):!0))return;(s.props.title||"").trim().toLowerCase()===n&&i.push(s)}),i.length===1)return i[0];if(i.length>1)return console.warn(`Multiple components matched "${e} > ${r}". Please ensure unique titles within each component.`),i[0]}setComponentPath(e){this.componentPath&&tr.instances.get(this.componentPath)===this&&tr.instances.delete(this.componentPath),this.componentPath=e,tr.instances.set(e,this)}getComponentPath(){return this.componentPath}cleanup(){this.messageHandler&&(window.removeEventListener("message",this.messageHandler),this.messageHandler=void 0),this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=void 0),this.languageChangeUnsubscribe&&(this.languageChangeUnsubscribe(),this.languageChangeUnsubscribe=void 0),this.closePopup(),this.instanceId&&this.messageHandler&&(tr.messageListeners.get(this.instanceId)===this.messageHandler&&tr.messageListeners.delete(this.instanceId),window.removeEventListener("message",this.messageHandler),this.messageHandler=void 0)}};tr.instances=new Map,tr.messageListeners=new Map;let qr=tr;class B3{constructor(e={}){this.container=null,this.options=e}draw(){const e=document.createElement("div");e.className="translation-manager";const r=document.createElement("h3");r.className="translation-manager-title",r.textContent="Translation Management",e.appendChild(r);const a=document.createElement("div");a.className="translation-manager-buttons";const n=document.createElement("button");n.type="button",n.className="translation-manager-button export-button",n.innerHTML=`
578
578
  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
579
579
  <path d="M8 2V10M8 10L11 7M8 10L5 7M3 12V13C3 13.5523 3.44772 14 4 14H12C12.5523 14 13 13.5523 13 13V12" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round"/>
580
580
  </svg>
@@ -26694,7 +26694,7 @@ function qi(t) {
26694
26694
  const si = class si {
26695
26695
  constructor(e) {
26696
26696
  this.elementRef = null, this.isHidden = !1, this.custom = !1, this.initialValues = {}, this.changeTimeout = null, this.isHandlingChange = !1, this.changeHandlers = /* @__PURE__ */ new Set(), this.blurTimeout = null, this.lastChangeTime = 0, this.handleBlur = () => {
26697
- }, this.pendingBlurHandler = null, this.originalDefaultValues = {}, this.nestingLevel = 0, this.dataPropsPath = "", this.hide = !1, this.isSettingValue = !1, this.suppressOnChange = !1, this.isRootNode = !1, this.$id = en(), this.suppressOnChange = !0, this.id = e.id || en(), this.title = e.title, this.settings = e.settings, this.isCollapsed = e.collapsed ?? !1, this.isMain = e.main ?? !1, this.custom = e.custom ?? !1, this.nestingLevel = 0, this.includeGetJson = e.includeGetJson ?? !0, this.addItemCfg = e.addItem, this.deleteItemCfg = e.deleteItem, this.dataProps = e.dataProps, this.dataPropsPath = e.dataProps || "", this.hide = e.hide ?? !1, Object.assign(this, e.settings), this.initialValues = this.getValues(), this.originalDefaultValues = this.getDefaultValues(), this.propagateNestingLevel(), this.propagateDataPropsPath(), this.propagateComponentPaths(), this.suppressOnChange = !1;
26697
+ }, this.pendingBlurHandler = null, this.originalDefaultValues = {}, this.nestingLevel = 0, this.dataPropsPath = "", this.hide = !1, this.isSettingValue = !1, this.suppressOnChange = !1, this.isRootNode = !1, this.$id = en(), this.setActiveOnSettingSelection = !1, this.suppressOnChange = !0, this.id = e.id || en(), this.title = e.title, this.settings = e.settings, this.isCollapsed = e.collapsed ?? !1, this.isMain = e.main ?? !1, this.custom = e.custom ?? !1, this.nestingLevel = 0, this.includeGetJson = e.includeGetJson ?? !0, this.addItemCfg = e.addItem, this.deleteItemCfg = e.deleteItem, this.dataProps = e.dataProps, this.dataPropsPath = e.dataProps || "", this.hide = e.hide ?? !1, Object.assign(this, e.settings), this.initialValues = this.getValues(), this.originalDefaultValues = this.getDefaultValues(), this.propagateNestingLevel(), this.propagateDataPropsPath(), this.propagateComponentPaths(), this.suppressOnChange = !1;
26698
26698
  }
26699
26699
  propagateNestingLevel() {
26700
26700
  const e = this.nestingLevel + 1;
@@ -26839,7 +26839,8 @@ const si = class si {
26839
26839
  addItem: this.addItemCfg,
26840
26840
  deleteItem: this.deleteItemCfg,
26841
26841
  dataProps: this.dataProps,
26842
- hide: this.hide
26842
+ hide: this.hide,
26843
+ setActiveOnSettingSelection: this.setActiveOnSettingSelection
26843
26844
  }, a = x4(r);
26844
26845
  return a.suppressOnChange = !0, a.initialValues = this.getValues(), a.suppressOnChange = !1, a;
26845
26846
  }
@@ -30059,31 +30060,36 @@ function S3(t) {
30059
30060
  const n = document.createElement("h3");
30060
30061
  n.classList.add("multi-language-popup-title"), n.textContent = "All Languages";
30061
30062
  const i = document.createElement("button");
30062
- i.classList.add("multi-language-close-button"), i.innerHTML = C3, i.addEventListener("click", () => t.onClose()), T3(a, r), a.appendChild(n), a.appendChild(i), r.appendChild(a);
30063
+ i.classList.add("multi-language-close-button"), i.innerHTML = C3, i.addEventListener("click", () => t.onClose()), T3(a, r);
30063
30064
  const s = document.createElement("div");
30064
- s.classList.add("multi-language-popup-content"), t.languages.forEach((c) => {
30065
- var d;
30066
- const f = ((d = t.values) == null ? void 0 : d[c]) || "", h = Un(c, t.placeholder), u = t.uploadSettings.get(c), p = t.dataTestPath ? `${t.dataTestPath}_${c}` : void 0, m = Pc({
30067
- languageCode: c,
30068
- value: f,
30069
- placeholder: h,
30065
+ if (s.style.display = "flex", s.style.flexDirection = "column", s.appendChild(n), a.appendChild(s), a.appendChild(i), r.appendChild(a), t.description) {
30066
+ const f = document.createElement("p");
30067
+ f.classList.add("multi-language-popup-description"), /<[^>]+>/.test(t.description) ? f.innerHTML = t.description : f.textContent = t.description, r.appendChild(f);
30068
+ }
30069
+ const o = document.createElement("div");
30070
+ o.classList.add("multi-language-popup-content"), t.languages.forEach((f) => {
30071
+ var g;
30072
+ const h = ((g = t.values) == null ? void 0 : g[f]) || "", u = Un(f, t.placeholder), p = t.uploadSettings.get(f), m = t.dataTestPath ? `${t.dataTestPath}_${f}` : void 0, d = Pc({
30073
+ languageCode: f,
30074
+ value: h,
30075
+ placeholder: u,
30070
30076
  isDefaultLanguage: !1,
30071
30077
  isPopupMode: !0,
30072
30078
  multiImg: t.multiImg,
30073
30079
  onInput: t.onInput,
30074
- uploadSetting: u,
30075
- dataTestId: p
30080
+ uploadSetting: p,
30081
+ dataTestId: m
30076
30082
  });
30077
- s.appendChild(m);
30078
- }), r.appendChild(s);
30079
- const o = document.createElement("div");
30080
- o.classList.add("multi-language-popup-footer");
30081
- const l = document.createElement("button");
30082
- return l.classList.add("multi-language-done-button"), l.textContent = "Done", l.addEventListener("click", () => t.onClose()), o.appendChild(l), r.appendChild(o), e.appendChild(r), e.addEventListener("mousedown", (c) => {
30083
- c.target === e && t.onClose();
30083
+ o.appendChild(d);
30084
+ }), r.appendChild(o);
30085
+ const l = document.createElement("div");
30086
+ l.classList.add("multi-language-popup-footer");
30087
+ const c = document.createElement("button");
30088
+ return c.classList.add("multi-language-done-button"), c.textContent = "Done", c.addEventListener("click", () => t.onClose()), l.appendChild(c), r.appendChild(l), e.appendChild(r), e.addEventListener("mousedown", (f) => {
30089
+ f.target === e && t.onClose();
30084
30090
  }), requestAnimationFrame(() => {
30085
- const c = window.innerWidth, f = window.innerHeight, h = r.offsetWidth, u = r.offsetHeight, p = Math.max(8, (c - h) / 2), m = Math.max(8, (f - u) / 2);
30086
- r.style.left = `${p}px`, r.style.top = `${m}px`;
30091
+ const f = window.innerWidth, h = window.innerHeight, u = r.offsetWidth, p = r.offsetHeight, m = Math.max(8, (f - u) / 2), d = Math.max(8, (h - p) / 2);
30092
+ r.style.left = `${m}px`, r.style.top = `${d}px`;
30087
30093
  }), e;
30088
30094
  }
30089
30095
  class x0 {
@@ -30457,31 +30463,32 @@ const Qt = class Qt extends Ae {
30457
30463
  }
30458
30464
  }
30459
30465
  showPopup() {
30460
- var e;
30461
- this.popup || (this.props.multiImg && this.props.languages.forEach((r) => {
30462
- var a;
30463
- if (!this.uploadSettings.has(r)) {
30464
- const n = ((a = this.value) == null ? void 0 : a[r]) || "", i = new ai({
30465
- defaultUrl: n,
30466
+ var e, r;
30467
+ this.popup || (this.props.multiImg && this.props.languages.forEach((a) => {
30468
+ var n;
30469
+ if (!this.uploadSettings.has(a)) {
30470
+ const i = ((n = this.value) == null ? void 0 : n[a]) || "", s = new ai({
30471
+ defaultUrl: i,
30466
30472
  title: "",
30467
- id: `${this.id}_upload_${r}`
30473
+ id: `${this.id}_upload_${a}`
30468
30474
  });
30469
- i.setOnChange((s) => {
30470
- this.updateLanguageValue(r, s), r === this.defaultLanguage && this.updateOtherLanguagePlaceholders(s);
30471
- }), this.uploadSettings.set(r, i);
30475
+ s.setOnChange((o) => {
30476
+ this.updateLanguageValue(a, o), a === this.defaultLanguage && this.updateOtherLanguagePlaceholders(o);
30477
+ }), this.uploadSettings.set(a, s);
30472
30478
  }
30473
30479
  }), this.popup = S3({
30474
30480
  languages: this.props.languages,
30475
30481
  values: this.value || {},
30476
30482
  placeholder: this.props.placeholder,
30483
+ description: (e = this.props) == null ? void 0 : e.description,
30477
30484
  multiImg: this.props.multiImg || !1,
30478
30485
  onClose: () => this.closePopup(),
30479
- onInput: (r, a) => {
30480
- this.updateLanguageValue(r, a), r === this.defaultLanguage && this.updateOtherLanguagePlaceholders(a);
30486
+ onInput: (a, n) => {
30487
+ this.updateLanguageValue(a, n), a === this.defaultLanguage && this.updateOtherLanguagePlaceholders(n);
30481
30488
  },
30482
30489
  uploadSettings: this.uploadSettings,
30483
30490
  dataTestPath: this.getDataPropsPath()
30484
- }), document.body.appendChild(this.popup), this.updateOtherLanguagePlaceholders(((e = this.value) == null ? void 0 : e[this.defaultLanguage]) || ""));
30491
+ }), document.body.appendChild(this.popup), this.updateOtherLanguagePlaceholders(((r = this.value) == null ? void 0 : r[this.defaultLanguage]) || ""));
30485
30492
  }
30486
30493
  closePopup() {
30487
30494
  this.popup && (document.body.removeChild(this.popup), this.popup = null);
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";@import"https://fonts.cdnfonts.com/css/satoshi";:root{--color-text: #1d2939;--color-text-secondary: #667085;--color-text-muted: #98a2b3;--color-border: #e4e7ec;--color-border-hover: #d0d5dd;--color-bg: #fff;--color-bg-hover: #f9fafb;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--transition-fast: .15s ease;--transition-normal: .3s ease}.icon-container{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.input-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0;width:18px;height:18px;transition:color var(--transition-fast)}.input-label{color:var(--color-text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm);font-style:normal;font-weight:400;line-height:1.4;transition:color var(--transition-fast)}.input-container{display:inline-flex;align-items:center;position:relative;width:100%}.input-wrapper{position:relative;width:100%;min-width:0}.base-input{width:100%;height:36px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md);font-weight:400;line-height:1.4;transition:all var(--transition-fast);outline:none}.base-input::placeholder{color:var(--color-text-muted)}.base-input:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.base-input:focus{border-color:var(--color-border-focus);background:var(--color-bg-focus)}.base-input:disabled{background:#f9fafb;color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.with-suffix{padding-right:44px}.input-suffix{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.with-prefix{padding-left:44px}.input-prefix{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.setting-item{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:center;min-height:40px;padding:var(--space-sm) 0}.setting-item.full-width{grid-template-columns:1fr}.setting-item.stacked{grid-template-columns:1fr;gap:var(--space-xs);align-items:stretch}.setting-item-label{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.setting-item-control{min-width:0;justify-self:end}.setting-item.stacked .setting-item-control{max-width:none;justify-self:stretch}.input-error{border-color:#f04438!important;background:#fff4f4!important;color:#f04438!important}.input-error:focus{border-color:#f04438!important;box-shadow:0 0 0 4px #f044381a!important}.error-message{color:#f04438;font-size:var(--font-size-xs);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.input-success{border-color:#02cc59!important;background:#f0fdf4!important}.input-success:focus{border-color:#02cc59!important}.input-loading{position:relative;color:var(--color-text-muted);background:#f9fafb;pointer-events:none}.input-loading:after{content:"";position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid var(--color-border-focus);border-radius:50%;animation:spin 1s linear infinite}.setting-group .setting-group .setting-item{min-height:36px;padding:6px 0}.setting-group .setting-group .base-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .input-label{font-size:11px}.setting-group .setting-group .setting-group .setting-item{min-height:32px;padding:4px 0}.setting-group .setting-group .setting-group .base-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .input-label{font-size:10px}@media (max-width: 480px){.setting-item{grid-template-columns:1fr;gap:var(--space-xs)}.setting-item-control{max-width:none;justify-self:stretch}.base-input{font-size:var(--font-size-md)}}@media (prefers-color-scheme: dark){:root{--color-text: #f9fafb;--color-text-secondary: #d0d5dd;--color-text-muted: #667085;--color-border: #344054;--color-border-hover: #475467;--color-bg: #1d2939;--color-bg-hover: #344054}}.base-input:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.compact .setting-item{min-height:32px;padding:4px 0}.compact .base-input{height:32px;padding:6px 10px;font-size:13px}.compact .input-label{font-size:11px}@media (prefers-contrast: high){.base-input{border-width:2px}.base-input:focus{border-width:3px}}:root{--grey40: #9ca3af}.gradient-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.gradient-controls{display:flex;align-items:center;gap:10px}.gradient-type,.gradient-angle{padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font:inherit}.gradient-angle-wrap{display:inline-flex;align-items:center;gap:6px}.gradient-preview{position:relative;height:34px;border-radius:8px;border:1px solid #e5e7eb;overflow:visible;background:linear-gradient(90deg,#a84b4b,#786666);max-width:250px;margin:42px auto 0;cursor:crosshair}.gradient-handles{position:absolute;top:-4px;left:0;right:0;height:calc(100% + 8px);pointer-events:none}.gstop-handle{position:absolute;border-radius:4px;background:#fff;border:1px solid white;transform:translate(-50%,-50%);cursor:grab;display:grid;place-items:center;pointer-events:auto;box-shadow:0 1px 3px #0000001a;z-index:10;transition:all .15s ease;user-select:none;-webkit-user-select:none;touch-action:none}.gstop-handle:active{cursor:grabbing}.gstop-handle:hover{transform:translate(-50%,-50%) scale(1.05);border-color:#9ca3af}.gstop-handle.selected{border:2px solid #2563eb;box-shadow:0 0 0 2px #2563eb33;transform:translate(-50%,-50%) scale(1.1);cursor:grabbing;transition:none!important}.gstop-chip{width:24px;height:24px;border-radius:2px;border:1px solid white;position:relative}.gstop-chip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;z-index:-1;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid #ffffff;border-top-color:inherit}.gradient-stops-header{padding:8px 4px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#1c252e;font-weight:500;font-size:14px;line-height:20px;min-height:36px;box-sizing:border-box;border-top:1px solid #eff1f2;margin-top:8px}.gradient-add-stop{width:36px;height:36px;padding:8px;border-radius:6px;border:none;background:transparent;color:#637381;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.gradient-add-stop svg{width:20px;height:20px}.gradient-add-stop:hover{background:#dbdfe2}.gradient-stops{display:flex;flex-direction:column;max-height:200px;overflow-y:auto;overflow-x:visible;padding-right:4px;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.gradient-stops::-webkit-scrollbar{width:6px}.gradient-stops::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.gradient-stops::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.gradient-stops::-webkit-scrollbar-thumb:hover{background:#94a3b8}.gstop-row{display:flex;align-items:center;gap:4px;padding:6px 4px;border-radius:8px;background:#00a76f14;min-height:44px}.gstop-position-group{display:flex;align-items:center;min-width:51px}.gstop-position-input{width:60px;height:38px;padding:0 10px;border:1px solid #919eab33;border-radius:8px;color:#1c252e;font-size:14px;font-weight:400;text-align:left;outline:none;transition:all .2s ease;background:#f9fafb;box-sizing:border-box}.gstop-position-input:hover{border-color:#cbd5e1;background-color:#f8fafc}.gstop-position-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gstop-position-input:disabled{opacity:.4;cursor:not-allowed}.gstop-color-container{position:relative;flex:1;height:38px;display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;box-sizing:border-box}.gstop-color-preview{width:25px;height:25px;border-radius:4px;border:1px solid #e4e7ec;flex-shrink:0;margin-left:4px;cursor:pointer;transition:transform .15s ease,border-color .15s ease;position:relative;overflow:hidden}.gstop-color-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#637381 25%,transparent 25%),linear-gradient(-45deg,#637381 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#637381 75%),linear-gradient(-45deg,transparent 75%,#637381 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff;z-index:0;opacity:0;transition:opacity .15s ease}.gstop-color-preview.has-transparency:before{opacity:1}.gstop-color-preview-color{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:3px}.gstop-color-preview:hover{border-color:#3b82f6;transform:scale(1.05)}.gstop-color-input{flex:1;min-width:0;height:100%;padding:0 8px;border:none;color:#1c252e;font-size:14px;font-weight:400;text-align:left;outline:none;transition:all .2s ease;background:transparent}.gstop-color-separator{width:1px;height:20px;background:#e5e7eb;flex-shrink:0}.gstop-opacity-input{width:56px;height:100%;padding:0 10px;border:none;font-size:14px;font-weight:400;color:#1c252e;background:transparent;outline:none;text-align:right}.gstop-opacity-input:focus{background:#3b82f60d}.gstop-color-input:focus{background:#3b82f60d}.gstop-color-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.gstop-color-input:disabled{opacity:.4;cursor:not-allowed;background:var(--action-selected, #919eab29)!important;border-color:var(--action-selected, #919eab29)!important}.gstop-color-copy{display:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:transparent;cursor:pointer;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;opacity:.7}.gstop-color-copy:hover{opacity:1;background:#919eab1a}.gstop-color-copy:active{transform:translateY(-50%) scale(.95)}.gstop-color{width:32px;height:32px;padding:0;border:2px solid #ffffff;border-radius:8px;cursor:pointer;outline:none;box-shadow:0 1px 2px #0000000d;position:relative;z-index:20;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:6px}.gstop-hex{flex:1;min-width:100px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#1f2937;font-size:13px;font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:500;outline:none;transition:all .2s ease}.gstop-hex:hover{border-color:#cbd5e1;background-color:#f8fafc}.gstop-hex:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gstop-link{width:24px;height:24px;border:none;background:transparent;color:#667085;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.gstop-link:hover{background:#f3f4f6;color:#374151}.gstop-del{width:36px;min-width:36px;height:36px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:4px;gap:8px;opacity:1;flex-shrink:0}.gstop-del:hover{background:#f8fafc}.gstop-del:disabled{opacity:.4;cursor:not-allowed;background:var(--action-selected, #919eab29)}.gstop-opacity-label{font-size:12px;color:#64748b;font-weight:500;min-width:50px}.gstop-opacity-group{display:flex;align-items:center;gap:12px;flex:1}.gstop-opacity-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;max-width:135px;width:100%;height:20px;border-radius:12px;border:0;outline:none;cursor:pointer;position:relative;background-image:url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3Crect x='3' y='3' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3C/svg%3E"),linear-gradient(to right,var(--slider-color-transparent, rgba(59, 130, 246, 0)),var(--slider-color, #3b82f6));background-size:6px 6px,100% 100%;background-position:0 0,0 0;background-repeat:repeat,no-repeat;box-shadow:inset 0 0 0 1px #ffffffe6,inset 0 0 0 2px #00000014,0 1px 3px #0000001a}.gstop-opacity-slider::-webkit-slider-track{height:20px;border:none;border-radius:12px;background:transparent}.gstop-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.2);box-shadow:0 0 0 1px #ffffffe6,0 2px 6px #00000026,0 1px 2px #0003;cursor:pointer;transition:all .15s ease;margin-top:0}.gstop-opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 1px #ffffffe6,0 3px 8px #0003,0 1px 3px #00000040}.gstop-opacity-slider::-moz-range-track{height:20px;border:none;border-radius:12px;background:transparent}.gstop-opacity-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.2);box-shadow:0 0 0 1px #ffffffe6,0 2px 6px #00000026,0 1px 2px #0003;cursor:pointer;transition:all .15s ease}.gstop-opacity-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 1px #ffffffe6,0 3px 8px #0003,0 1px 3px #00000040}.gstop-opacity-slider:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:4px;border-radius:12px}.gstop-opacity-value{font-size:12px;color:#475569;font-weight:600;min-width:38px;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px}.gradient-solid-picker{display:flex;align-items:center;gap:12px;padding:8px;background:#f9fafb;border-radius:8px}.gradient-solid-color{width:257px;height:34px;padding:0;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;outline:none}.gradient-solid-hex{width:120px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;color:#1f2937;font-size:14px;font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:500;outline:none;transition:all .2s ease}.gradient-solid-hex:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-solid-hex:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-input-wrapper{position:relative;width:100%;justify-self:end}.gradient-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:38px;padding-right:30px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.gradient-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.gradient-text-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.gradient-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.gradient-mini-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:25px;height:25px;border-radius:4px;border:1px solid var(--color-border, #e4e7ec);cursor:pointer;overflow:hidden;transition:transform var(--transition-fast, .15s ease),border-radius var(--transition-fast, .15s ease);background-color:#fff}.gradient-mini-preview.bound{border-radius:100px}.gradient-mini-preview:hover{transform:translateY(-50%) scale(1.05)}.gradient-unlink-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:none;background:transparent;cursor:pointer;display:none;align-items:center;justify-content:center;padding:4px;border-radius:2px;transition:background-color .15s ease}.gradient-unlink-button.visible{display:flex}.gradient-unlink-button:hover{background-color:#dbdfe2}.gradient-unlink-button:active{transform:translateY(-50%) scale(.95)}.gradient-unlink-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.setting-group .setting-group .gradient-unlink-button{right:6px;width:24px;height:24px;padding:3px}.setting-group .setting-group .setting-group .gradient-unlink-button{right:4px;width:22px;height:22px;padding:2px}.setting-group .setting-group .gradient-setting-wrapper{min-height:36px}.setting-group .setting-group .gradient-input-wrapper{max-width:120px}.setting-group .setting-group .gradient-text-input{height:32px;padding:6px 26px 6px 34px;font-size:13px}.setting-group .setting-group .gradient-mini-preview{left:6px;width:22px;height:22px}.setting-group .setting-group .setting-group .gradient-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .gradient-input-wrapper{max-width:100px}.setting-group .setting-group .setting-group .gradient-text-input{height:28px;padding:4px 22px 4px 30px;font-size:12px}.setting-group .setting-group .setting-group .gradient-mini-preview{left:4px;width:19px;height:19px}.gradient-input-wrapper.error .gradient-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.gradient-input-wrapper.error .gradient-text-input:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.gradient-input-wrapper.disabled .gradient-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.gradient-popover-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;z-index:9999}.gradient-popover{position:fixed;z-index:10000;background:var(--primary-contrast-text, #ffffff);border-radius:8px;box-shadow:0 1px 8px #0003;overflow:visible;width:306px;height:auto;min-height:200px;max-height:80vh;opacity:1;padding:12px;display:flex;flex-direction:column;gap:16px}.gradient-popover-header{display:flex;align-items:center;justify-content:space-between;color:#1d2939;font-weight:600;font-size:16px}.color-setting-tabs{display:flex;gap:2px;padding:2px;background:transparent}.color-setting-tabs.header-tabs{padding:0;gap:0}.color-tab{display:flex;align-items:center;justify-content:center;min-width:64px;height:30px;padding:2px 4px;border:none;background:transparent;color:#637381;font-family:Public Sans,sans-serif;font-size:14px;font-weight:600;line-height:1.5;border-radius:4px;cursor:pointer;transition:all .15s ease}.color-tab:hover:not(.active){background:#f3f4f6}.gradient-popover-close{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:#667085;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}.gradient-popover-close:hover{background:#f9fafb;color:#374151}.gradient-editor{display:flex;flex-direction:column;gap:6px;flex:1;overflow:hidden;min-height:0}.type-tabs-wrapper{border:1px solid #eff1f2;border-left:0;border-right:0;padding:4px 0}.gradient-type-tabs{display:flex;padding:4px;align-items:center;gap:16px;align-self:stretch}.gradient-type-tab{display:flex;width:26px;height:26px;padding:4px;justify-content:center;align-items:center;border-radius:2px}.gradient-type-tab.active{background:#dbdfe2!important;box-shadow:0 1px 2px #0000000d}.gradient-type-tab:hover:not(.active){background:#dbdfe2}.gradient-subtype-tabs{display:flex;background:#f0f2f5;border-radius:6px;padding:2px;gap:2px;margin-bottom:12px}.gradient-subtype-inline{display:flex;align-items:center;gap:4px;margin-bottom:8px}.global-controls-row{display:flex;align-items:center;gap:8px;height:34px;margin-bottom:12px;padding:4px;border-top:1px solid #eff1f2;border-bottom:1px solid #eff1f2;box-sizing:border-box}.global-search-container{position:relative;flex:1;display:flex;align-items:center;gap:8px;height:18px}.global-search-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#96a1ab;flex-shrink:0}.global-search-icon svg{width:18px;height:18px}.global-search-separator{width:1px;height:11.5px;background:#96a1ab;flex-shrink:0}.global-search-input{flex:1;height:17px;padding:0;border:none;font-family:Public Sans,sans-serif;font-size:11px;font-weight:400;line-height:1.5;color:#1c252e;outline:none;background:transparent;box-sizing:border-box}.global-search-input::placeholder{color:#96a1ab}.global-search-input:focus{outline:none}.global-layout-toggle{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:4px;border:none;border-radius:2px;background:transparent;color:#46525c;cursor:pointer;transition:all .2s;box-sizing:border-box}.global-layout-toggle:hover{background:#eff1f2}.global-colors-grid{display:grid;grid-template-columns:repeat(auto-fill,24px);gap:6px;padding:0;margin-top:8px;width:100%;justify-content:start}.global-colors-list{display:flex;flex-direction:column;gap:4px}.global-color-row{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background-color .2s}.global-color-row:hover{background-color:#f3f4f6}.global-color-circle{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.1);position:relative;flex-shrink:0}.global-colors-grid .global-color-circle{width:24px;height:24px;margin:0 auto;cursor:pointer;transition:transform .2s}.global-colors-grid .global-color-circle:hover{transform:scale(1.1);box-shadow:0 2px 4px #0000001a}.global-color-circle.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #2196f3}.global-colors-grid .global-color-circle.selected:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.global-color-label{font-size:13px;color:#374151;font-weight:500}.gradient-subtype-select{border:1px solid #b1b6bf;padding:6.5px 40px 6.5px 16px;border-radius:8px;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' strokeLinecap='round' strokeLinejoin='round' strokeWidth='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;color:#1f2937;font-size:14px;font-weight:500;outline:none;cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;min-height:38px;box-sizing:border-box;line-height:1.4;width:100%}.gradient-subtype-select:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-subtype-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-subtype-select option{padding:12px 16px;background-color:#fff;color:#1f2937;font-size:14px;font-weight:500;border:none;outline:none;min-height:44px;line-height:1.4}.gradient-subtype-select option:hover{background-color:#f8fafc!important;color:#1f2937!important}.gradient-subtype-select option:checked,.gradient-subtype-select option:selected{background-color:#3b82f6!important;color:#fff!important;font-weight:600}.gradient-subtype-select option:disabled{background-color:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed}.gradient-subtype-tab{flex:1;padding:6px 12px;border:none;background:transparent;color:#667085;cursor:pointer;border-radius:4px;font-size:12px;font-weight:500;transition:all .15s ease}.gradient-subtype-tab.active{background:#fff;color:#1d2939;box-shadow:0 1px 2px #0000000d}.gradient-subtype-tab:hover:not(.active){background:#e5e7eb;color:#374151}.gradient-angle-controls{display:flex;align-items:center;gap:12px}.gradient-angle-input{flex:1;display:flex;align-items:center;gap:8px}.gradient-angle-input select{flex:1;padding:12px 40px 12px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' strokeLinecap='round' strokeLinejoin='round' strokeWidth='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;color:#1f2937;font-size:14px;font-weight:500;outline:none;cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none}.gradient-angle-input select:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-angle-input select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-angle-input select option{padding:12px 16px;background-color:#fff;color:#1f2937;font-size:14px;font-weight:500;border:none;outline:none}.gradient-angle-input select option:hover{background-color:#f8fafc;color:#1f2937}.gradient-angle-input select option:checked,.gradient-angle-input select option:selected{background-color:#3b82f6;color:#fff}.gradient-angle-input select option:disabled{background-color:#f1f5f9;color:#94a3b8}.gradient-degree-input{border:1px solid #919eab33;padding:6.5px 16px;border-radius:8px;max-width:75px;background:#fff;color:#1f2937;font-size:14px;font-weight:500;width:80px;text-align:center;outline:none;transition:all .2s ease;min-height:38px}.gradient-degree-input:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-degree-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-degree-input:disabled{opacity:.4;cursor:not-allowed;background:var(--action-selected, #919eab29)!important;border-color:var(--action-selected, #919eab29)!important}.gradient-flip-btn{max-width:36px;height:38px;width:100%;border-radius:6px;background:#919eab29;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;transition:all .2s ease}.gradient-flip-btn:hover{background:#e3e2e4;color:#374151}.gradient-flip-btn:active{transform:scale(.95)}.custom-color-picker{position:fixed;width:306px;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;z-index:10001;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:box-shadow .2s ease}.color-picker-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;z-index:10000}.custom-color-picker.dragging{box-shadow:0 25px 30px -5px #00000026,0 15px 15px -5px #00000014;cursor:move}.color-picker-header{display:flex;justify-content:space-between;align-items:center;padding:10.5px 20px;background:#fff;cursor:move}.color-picker-header span{font-size:16px;font-weight:600;color:#111827}.color-picker-close{width:28px;height:28px;border:none;background:transparent;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:#6b7280;transition:all .15s ease}.color-picker-close:hover{background:#f3f4f6;color:#374151}.color-picker-area{height:268px;margin:8px;border-radius:12px;position:relative;cursor:crosshair;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,red);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.color-picker-area.embedded{width:100%;height:200px;margin:0 0 16px;position:relative;border-radius:8px;overflow:hidden}.color-picker-marker{position:absolute;border-radius:50%;width:20px;height:20px;border:3px solid #ffffff;box-shadow:0 0 0 1px #0003,0 2px 4px #00000026;transform:translate(-50%,-50%);top:50%;pointer-events:none;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10}.embedded-color-picker-content .color-picker-marker,.embedded-color-picker-content .color-picker-hue-marker,.embedded-color-picker-content .color-picker-opacity-marker{width:16px;height:16px;border:2px solid #ffffff}.color-picker-marker:before{content:"";width:12px;height:12px;background:transparent;border-radius:50%}.color-picker-hue{width:100%;height:12px;margin:0;border-radius:8px;position:relative;cursor:pointer;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);touch-action:none;-webkit-user-select:none;user-select:none}.color-picker-hue.embedded{width:100%;margin:0;height:14px}.color-picker-sliders-container{display:flex;align-items:flex-start;gap:8px;width:100%;margin:0 auto 20px;max-width:368px;padding:0 20px}.custom-color-picker .color-picker-sliders-container{max-width:368px;padding:4px 8px}.color-picker-sliders-container.embedded{max-width:260px;margin:0 auto 16px;padding:0}.color-picker-sliders-group{display:flex;flex-direction:column;gap:12px;flex:1}.color-picker-eyedropper{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:auto}.color-picker-eyedropper:hover{background-color:#0000000d}.color-picker-eyedropper:active{transform:scale(.95)}.color-picker-eyedropper svg{width:18px;height:18px}.color-picker-hue-marker{position:absolute;border-radius:50%;border:3px solid #ffffff;box-shadow:0 0 0 1px #0003,0 2px 4px #00000026;transform:translate(-50%,-50%);top:50%;pointer-events:none;background:#fff;display:flex;align-items:center;justify-content:center}.color-picker-hue-marker:before{content:"";width:8px;height:8px;background:transparent;border-radius:50%}.color-picker-opacity{width:100%;height:12px;margin:0;border-radius:12px;position:relative;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background-image:url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3Crect x='3' y='3' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3C/svg%3E"),linear-gradient(to right,var(--base-color-transparent, rgba(255, 0, 0, 0)),var(--base-color, #ff0000));background-size:6px 6px,100% 100%;background-position:0 0,0 0;background-repeat:repeat,no-repeat}.color-picker-opacity.embedded{width:100%;margin:0;height:14px}.color-picker-opacity-marker{position:absolute;border:3px solid #ffffff;border-radius:50%;box-shadow:0 0 0 1px #0003,0 2px 4px #00000026;transform:translate(-50%,-50%);top:50%;pointer-events:none;background:#fff;display:flex;align-items:center;justify-content:center}.color-picker-opacity-marker:before{content:"";width:8px;height:8px;background:transparent;border-radius:50%}.color-picker-format-section{display:flex;align-items:center;padding:0 20px 20px;gap:4px}.color-picker-format-section.embedded{padding:0 4px}.color-picker-format-select{height:38px;padding:0 8px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:400;color:#1c252e;background:#fff;outline:none;transition:all .15s ease;min-width:70px;cursor:pointer;box-sizing:border-box}.color-picker-format-select:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.color-picker-format-select:hover{border-color:#cbd5e1}.color-picker-input-container{position:relative;flex:1;height:38px;display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;box-sizing:border-box}.color-picker-swatch{width:25px;height:25px;border-radius:4px;border:1px solid #e4e7ec;flex-shrink:0;margin-left:4px;position:relative;overflow:hidden}.color-picker-swatch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#637381 25%,transparent 25%),linear-gradient(-45deg,#637381 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#637381 75%),linear-gradient(-45deg,transparent 75%,#637381 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff;z-index:0;opacity:0;transition:opacity .15s ease}.color-picker-swatch.has-transparency:before{opacity:1}.color-picker-swatch-color{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:3px}.color-picker-color-input{flex:1;min-width:0;height:100%;padding:0 8px;border:none;font-size:14px;font-weight:400;color:#1c252e;background:transparent;outline:none;transition:all .15s ease}.color-picker-color-input:focus{background:#3b82f60d}.color-picker-input-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-picker-input-separator{width:1px;height:100%;background:#e5e7eb;flex-shrink:0}.color-picker-opacity-value-input{width:56px;height:100%;padding:0 10px;border:none;font-size:14px;font-weight:400;color:#1c252e;background:transparent;outline:none;text-align:right}.color-picker-opacity-value-input:focus{background:#3b82f60d}.color-picker-copy-inside{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:45px;height:26px;border-radius:6px;border:none;gap:8px;padding:4px 8px;background:var(--action-selected, #919eab29);color:var(--text-secondary, #637381);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none;opacity:1}.color-picker-copy-inside:hover{background:#919eab66}.color-picker-copy-inside:active{transform:translateY(-50%) scale(.95)}.color-picker-copy{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.color-picker-copy:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.color-picker-copy:active{transform:scale(.98)}.custom-color-button{width:44px;height:44px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;position:relative;overflow:hidden;transition:all .15s ease;background:#fff}.custom-color-button:hover{border-color:#cbd5e1;transform:scale(1.02)}.custom-color-button:active{transform:scale(.98)}.custom-color-button-color{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:8px;background:var(--color, #000000)}.embedded-color-picker{padding:0}.embedded-color-picker-content{width:100%;font-family:system-ui,-apple-system,sans-serif}.color-picker-recent-section{padding:16px 0;border-top:1px solid #f3f4f6}.custom-color-picker .color-picker-recent-section{padding:16px 8px}.color-picker-recent-section.embedded{padding:12px 0}.color-picker-recent-title{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;font-size:.75rem;line-height:1.66;letter-spacing:.03333em;color:#637381;margin-bottom:8px}.color-picker-recent-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin-bottom:8px}.color-picker-recent-swatch{width:24px;height:24px;border-radius:6px;border:1px solid rgba(0,0,0,.1);cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;background-color:#fff;background-size:cover;background-position:center}.color-picker-recent-swatch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#637381 25%,transparent 25%),linear-gradient(-45deg,#637381 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#637381 75%),linear-gradient(-45deg,transparent 75%,#637381 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff;z-index:0;opacity:0;transition:opacity .15s ease}.color-picker-recent-swatch.has-transparency:before{opacity:1}.color-picker-recent-swatch-color{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:5px}.color-picker-recent-swatch:hover{border-color:#0003;box-shadow:0 2px 8px #00000026;z-index:1}.color-picker-recent-swatch:active{transform:scale(.95)}.color-picker-recent-placeholder{font-size:11px;color:#9ca3af;text-align:center;font-style:italic;padding:8px 0;display:none}.color-picker-tooltip{position:fixed;background:#000000e6;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:500;white-space:nowrap;z-index:10000;pointer-events:none;transform:translate(-50%);margin-top:4px;box-shadow:0 2px 8px #00000026}.color-picker-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-bottom-color:#000000e6}.string-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.string-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.string-setting-wrapper .string-setting-wrapper{display:block;width:100%}.color-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-input-wrapper{position:relative;width:100%;justify-self:end}.color-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-text-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.color-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff}.color-preview:hover{transform:translateY(-50%) scale(1.05)}.setting-group .setting-group .color-setting-wrapper{min-height:36px}.setting-group .setting-group .color-input-wrapper{max-width:120px}.setting-group .setting-group .color-text-input{height:32px;padding:6px 10px 6px 32px;font-size:13px}.setting-group .setting-group .color-preview,.setting-group .setting-group .color-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .setting-group .color-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-input-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-text-input{height:28px;padding:4px 8px 4px 28px;font-size:12px}.setting-group .setting-group .setting-group .color-preview,.setting-group .setting-group .setting-group .color-picker{left:4px;width:16px;height:16px}.color-input-wrapper.error .color-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-input-wrapper.error .color-text-input:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.color-input-wrapper.disabled .color-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker:focus-visible+.color-preview{outline-offset:2px}.color-setting-tabs{display:flex;gap:0;padding:0;background:transparent}.color-tab{flex:1;border:none;background:transparent;padding:2px 4px;font-size:14px;font-weight:600;color:#637381;cursor:pointer;border-radius:4px;transition:all .15s ease;min-width:64px;height:30px;display:flex;align-items:center;justify-content:center}.color-tab:hover:not(.active){background:#eff1f280}.color-tab.active{background:#eff1f2;color:#1c252e}.color-content-global{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:4px}.global-color-btn{width:24px;height:24px;border-radius:50%;border:1px solid #eaecf0;cursor:pointer;transition:transform .1s;padding:0}.global-color-btn:hover{transform:scale(1.1);border-color:#d0d5dd}.global-color-btn.active{border:2px solid #2196f3;box-shadow:0 0 0 2px #2196f333}.color-with-opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-with-opacity-controls-wrapper{display:grid;grid-template-columns:1fr;gap:var(--space-sm, 8px);justify-self:end;width:100%}.color-with-opacity-input-wrapper,.color-with-opacity-opacity-wrapper{position:relative;width:100%}.color-with-opacity-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-with-opacity-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-with-opacity-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff;cursor:pointer;overflow:hidden}.color-with-opacity-preview:hover{transform:translateY(-50%) scale(1.05)}.color-with-opacity-preview:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;z-index:-1}.color-with-opacity-opacity-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:20px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-opacity-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-opacity-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-opacity-suffix{position:absolute;right:var(--space-sm, 8px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.color-with-opacity-opacity-input::-webkit-inner-spin-button,.color-with-opacity-opacity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-with-opacity-opacity-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:120px}.setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .color-with-opacity-opacity-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .color-with-opacity-text-input{padding-left:32px}.setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .color-with-opacity-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:11px}.setting-group .setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .color-with-opacity-text-input{padding-left:28px}.setting-group .setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .setting-group .color-with-opacity-picker{left:4px;width:16px;height:16px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:10px}.color-with-opacity-input-wrapper.error .color-with-opacity-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-with-opacity-input-wrapper.disabled .color-with-opacity-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.html-setting-wrapper{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.html-setting-wrapper .icon-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.html-setting-wrapper .icon-container label{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0}.html-setting-wrapper .icon-container img{width:20px;height:20px;object-fit:contain}.html-setting-textarea{width:100%;min-height:120px;padding:12px;font-size:13px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1.4;border-radius:8px;color:var(--Gray-900, #101828);border:1px solid var(--Gray-300, #d0d5dd);background:var(--Base-White, #fff);resize:vertical;min-width:0;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.html-setting-textarea:focus{outline:none}.html-setting-textarea::placeholder{color:var(--Gray-500, #667085);font-style:italic}.html-setting-textarea:disabled{background-color:var(--Gray-50, #f9fafb);color:var(--Gray-500, #667085);cursor:not-allowed}@media (max-width: 768px){.html-setting-textarea{font-size:12px;padding:10px;min-height:100px}}.html-setting-textarea::-webkit-scrollbar{width:8px}.html-setting-textarea::-webkit-scrollbar-track{background:var(--Gray-100, #f2f4f7);border-radius:4px}.html-setting-textarea::-webkit-scrollbar-thumb{background-color:var(--Gray-300, #d0d5dd);border-radius:4px;border:2px solid transparent;background-clip:content-box}.html-setting-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--Gray-400, #98a2b3)}.html-setting-textarea{scrollbar-width:thin;scrollbar-color:var(--Gray-300, #d0d5dd) var(--Gray-100, #f2f4f7)}.html-setting-textarea[data-syntax=html]{font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;-moz-tab-size:2;tab-size:2}.number-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.number-setting-input-container{position:relative;width:100%;justify-self:end}.number-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.number-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.number-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.number-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.number-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.suffix-label{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.number-setting-input::-webkit-inner-spin-button,.number-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .number-setting-wrapper{min-height:36px}.setting-group .setting-group .number-setting-input-container{max-width:120px}.setting-group .setting-group .number-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .suffix-label{right:10px;font-size:11px}.setting-group .setting-group .setting-group .number-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .number-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .number-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .suffix-label{right:8px;font-size:10px}.number-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.number-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.number-setting-input:focus-visible{outline-offset:2px}.opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.icon-container{display:flex;align-items:center;gap:var(--space-sm, 8px)}.input-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted, #98a2b3)}.input-icon svg{width:16px;height:16px}.input-label{color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:500;line-height:1.4}.opacity-setting-input-container{position:relative;width:100%;justify-self:end}.opacity-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.opacity-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.opacity-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.opacity-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.opacity-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.opacity-suffix{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.opacity-setting-input::-webkit-inner-spin-button,.opacity-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.opacity-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .opacity-setting-input-container{max-width:120px}.setting-group .setting-group .opacity-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .opacity-suffix{right:10px;font-size:11px}.setting-group .setting-group .setting-group .opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .opacity-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .opacity-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .opacity-suffix{right:8px;font-size:10px}.opacity-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.opacity-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.opacity-setting-input:focus-visible{outline-offset:2px}.select-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;position:relative;width:100%;min-height:40px;z-index:1}.select-container .select-options{position:fixed;z-index:99999;max-width:300px;min-width:200px}.setting-group .select-container,.tab-content .select-container,.tabs-settings-container .select-container{position:relative;z-index:1}.select-container .icon-container{display:flex;align-items:center;margin-bottom:0}.select-container .icon-container .input-label{color:var(--color-text-secondary, #667085);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm, 12px);font-style:normal;font-weight:400;line-height:1.4}.select-button{place-self:end;max-width:140px;width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 var(--space-md, 12px);border-radius:var(--radius-lg, 8px);border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);cursor:pointer;font-size:var(--font-size-md, 14px);font-weight:400;color:var(--color-text, #1d2939);position:relative;transition:all var(--transition-fast, .15s ease);box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.select-button:hover{border-color:var(--color-border-hover, #d0d5dd);box-shadow:0 1px 3px #1018281a}.select-button:focus{outline:none}.select-button.has-label{padding-top:0;height:36px}.select-button .select-label{position:absolute;top:8px;left:16px;color:#667085;font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-button .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02cc59;border-radius:50%;animation:select-spin 1s linear infinite;z-index:2}@keyframes select-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-options{display:none;position:fixed!important;z-index:99999!important;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;flex-direction:column;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;transform:translateY(-8px);min-width:200px;max-width:300px}.select-options.open{display:flex;opacity:1;transform:translateY(0);animation:select-fade-in .2s ease forwards}@keyframes select-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:14px}.select-option:hover{background:#f9fafb}.select-option.selected{background:#b6dfc8;color:#344054;font-weight:400}.svg-container{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;pointer-events:none;z-index:1}.svg-container .svg-select{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select{transform:rotate(180deg)}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.setting-group .setting-group .select-container{min-height:36px}.setting-group .setting-group .select-button{height:32px;min-height:32px;max-width:120px;font-size:13px;padding:0 32px 0 10px}.setting-group .setting-group .select-container .icon-container .input-label{font-size:11px}.setting-group .setting-group .setting-group .select-container{min-height:32px}.setting-group .setting-group .setting-group .select-button{height:28px;min-height:28px;max-width:100px;font-size:12px;padding:0 28px 0 8px}.setting-group .setting-group .setting-group .select-container .icon-container .input-label{font-size:10px}.setting-group .setting-group .svg-container,.setting-group .setting-group .setting-group .svg-container{right:8px;width:16px;height:16px}.setting-group .setting-group .svg-container .svg-select,.setting-group .setting-group .setting-group .svg-container .svg-select{width:12px;height:12px}.align-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.align-setting-label{font-size:12px;color:var(--color-text)}.align-options-container{width:120px;color:#0006;background-color:#f5f6f7;border-radius:9999px;padding:4px 13px;display:flex;gap:8px;justify-self:flex-end}.align-option-button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:none;cursor:pointer;border-radius:50%;transition:background-color .2s,color .2s}.align-option-button:hover{background-color:#fff}.align-option-button.selected{background-color:var(--color-white);color:var(--color-black)}.button-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.button-setting{display:flex;height:30px;min-width:64px;padding:0;justify-content:center;align-items:center;gap:8px;flex:1 0 0;border:1px solid rgba(145,158,171,.32);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.dimension-setting-container{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.dimension-bracket{width:18px;height:42px;position:absolute;top:16px;right:122px;display:flex;align-items:center;justify-content:center;z-index:1}.dimension-bracket:before{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 1H5C2.79086 1 1 2.79086 1 5V15' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;top:0;right:1px}.dimension-bracket:after{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 14H5C2.79086 14 1 12.2091 1 10V4.76837e-07' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;bottom:0;right:1px}.dimension-lock-icon{transform:translate(-.25rem);width:24px;height:24px;background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#667085;z-index:1;border-radius:4px;transition:all .2s ease}.dimension-lock-icon:hover{background-color:#f5f5f5;transform:translate(-.25rem) scale(1.1)}.dimension-setting-container.aspect-locked .dimension-lock-icon{color:#02cc59;background-color:#02cc591a;box-shadow:0 0 0 1px #02cc5933}.dimension-setting-container.aspect-locked .dimension-bracket:before,.dimension-setting-container.aspect-locked .dimension-bracket:after{filter:hue-rotate(210deg) saturate(2)}@media (max-width: 480px){.dimension-bracket{right:100px}}.upload-setting-wrapper{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.icon-title-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.icon-title-container .input-label{color:#344054;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500}.preview-button-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch;width:100%;gap:12px;border-radius:12px}.preview-button-container.no-image{justify-content:center}.preview-button-container.no-image .preview-placeholder{display:none}.preview-button-container.no-image .upload-button{width:100%;min-width:140px;flex-grow:1;margin:0 auto}.no-image .preview-placeholder{display:none!important}.preview-wrapper{position:relative;width:91px;height:71px;border-radius:4px;overflow:hidden;background-color:#d3d3d3;flex-shrink:0;display:none}.preview-wrapper.has-image{display:block}.upload-preview{width:100%;height:100%;object-fit:cover;border-radius:4px;display:none;background-position:center;background-size:146.165% 100%;background-repeat:no-repeat}.preview-wrapper.has-image .upload-preview{display:block;object-fit:contain;padding:2px}.empty-state{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#d3d3d3}.empty-state svg{width:100%;height:100%}.preview-wrapper.has-image .empty-state{display:none}.upload-button{width:100%;height:40px;display:flex;padding:5px 4px;flex-direction:row;align-items:center;gap:4px;border-radius:12px;border:1px solid var(--Gray-200, #eaecf0);background:var(--Base-White, #fff);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;flex-grow:0;justify-content:center;min-width:90px}.preview-wrapper:not(.has-image)+.upload-button{flex-grow:0}.upload-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.upload-icon{display:flex;align-items:center;justify-content:center}.upload-label{font-size:12px;font-weight:500;color:#344054}.delete-button{display:flex;width:24px;height:24px;padding:4px;justify-content:center;align-items:center;position:absolute;right:4px;top:4px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:background-color .2s ease;z-index:2}.delete-button svg{width:14px;height:14px;flex-shrink:0}.delete-button:hover{background-color:#f3f4f6}.upload-setting-wrapper.no-label .preview-button-container{grid-row:1}.preview-placeholder{display:flex;justify-content:center;align-items:center;width:91px;height:71px;border-radius:4px;background-color:#f2f4f7;flex-shrink:0}.preview-button-container:not(:has(.preview-wrapper.has-image)) .preview-placeholder{display:flex}.upload-setting-wrapper .error-message{color:#f04438;font-size:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.4;margin-top:4px;margin-bottom:8px;padding:8px 12px;background-color:#fff4f4;border:1px solid #fecdca;border-radius:6px;display:none;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.upload-setting-wrapper .error-message:before{content:"⚠️";margin-right:6px}.preview-wrapper.loading{display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.preview-wrapper.loading .upload-preview{display:none}.loading-spinner{width:29px;height:29px;display:flex;align-items:center;justify-content:center;animation:spin 1s linear infinite}.loading-spinner svg{width:100%;height:100%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--im-bg: #f6f8fb;--im-panel: #ffffff;--im-panel-strong: #f1f4f9;--im-card: #ffffff;--im-border: #d7deea;--im-border-strong: #c3d2ea;--im-text: #0f172a;--im-text-subtle: #4b5565;--im-accent: #3ca4ff;--im-accent-strong: #2f7bd1;--im-danger: #f04438;--im-success: #12b76a;--im-shadow: 0 10px 30px rgba(15, 23, 42, .12);--im-radius: 14px;--font: "Public Sans"}.image-map-setting-wrapper{display:grid;grid-template-columns:1fr;gap:12px;width:100%;font-family:var(--font)}.icon-container{display:flex;align-items:center;gap:8px}.input-label{color:#1f2937;font-size:14px;font-weight:600}.input-icon{display:flex;align-items:center;justify-content:center}.image-map-sections-container{display:flex;flex-direction:column;gap:16px}.image-map-section{display:flex;flex-direction:column;gap:8px}.image-map-section-title{color:#46525c;margin:0;font-family:var(--font);font-size:14px;font-style:normal;font-weight:600;line-height:150%}.image-map-upload-box{position:relative;display:flex;align-items:center;justify-content:center;height:40px;background:#f9fafb;border:1px solid rgba(145,158,171,.2);border-radius:12px;padding:4px;gap:12px;transition:all .2s ease}.image-map-upload-box:hover{border-color:#c7d5ed}.image-map-upload-box.has-image{border-style:solid;background:#eff1f2;justify-content:space-between;padding:4px!important;border-radius:12px;gap:12px;height:60px}.image-map-thumbnail-wrapper{position:relative;display:none;flex-shrink:0}.image-map-upload-box.has-image .image-map-thumbnail-wrapper{display:block}.image-map-thumbnail-main{width:121px;height:52px;background:#fff;object-fit:cover;border-radius:8px;display:block}.image-map-upload-label{cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;transition:all .2s ease;margin-right:22px}.upload-text{color:#637381;font-family:var(--font);font-size:12px;font-style:normal;font-weight:600;line-height:18px;letter-spacing:0;display:flex}.image-map-upload-box.has-image .image-map-upload-label{position:static;opacity:1;background:transparent;flex:1;display:flex;align-items:center;justify-content:end;padding-right:4px;max-width:fit-content}.image-map-upload-box.has-image .upload-text{display:none}.image-map-upload-box.has-image .image-map-upload-label:after{content:"Replace";color:#637381;font-family:var(--font);font-size:12px;font-weight:600}.upload-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:50%}.upload-icon svg{width:15px;height:16px}.image-map-upload-box.has-image .upload-icon{background:transparent;width:24px;height:24px}.image-map-upload-box.has-image .upload-icon svg{width:18px;height:18px}.upload-icon-default{display:flex}.upload-icon-replace,.image-map-upload-box.has-image .upload-icon-default{display:none}.image-map-upload-box.has-image .upload-icon-replace{display:flex}.image-map-delete-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:18px;height:18px;display:none;align-items:center;justify-content:center;background:#eff1f2;border:1px solid #ff5630;border-radius:500px;cursor:pointer;transition:all .2s ease;z-index:10;padding:0}.image-map-upload-box.has-image .image-map-delete-btn{display:flex;width:28px;height:28px}.image-map-delete-btn svg{width:14px;height:15px;flex-shrink:0}.image-map-button{display:flex;align-items:center;gap:12px;padding:4px;border-radius:12px;background:#f9fafb;border:1px solid #dce3ef;cursor:pointer;transition:all .2s ease;min-height:40px;border:1px solid rgba(145,158,171,.2);color:#0f172a;font-weight:600;justify-content:center}.image-map-button:hover:not(:disabled){border-color:#c7d5ed}.image-map-button:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.image-map-thumbnail{width:72px;height:52px;object-fit:cover;border-radius:8px;display:none;border:1px solid var(--im-border);background:#eef2f8}.image-map-button.has-image .image-map-thumbnail{display:block}.image-map-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.image-map-icon svg{width:18px;height:18px;aspect-ratio:1/1}.image-map-button.has-image .image-map-icon{display:none}.image-map-marker-count{color:#637381;font-family:var(--font);font-size:12px;font-style:normal;font-weight:600;line-height:18px;letter-spacing:0}.image-map-button.has-image .image-map-marker-count{color:#0f172a;font-size:14px;font-weight:600}.image-map-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:1;pointer-events:none}.image-map-popover{position:fixed;z-index:1;width:580px;max-width:94vw;height:600px;max-height:90vh;background:#fff;border-radius:var(--im-radius);border:1px solid var(--im-border-strong);box-shadow:0 20px 50px #0f172a29;display:flex;flex-direction:column;overflow:hidden;color:var(--im-text);gap:16px;padding:16px;z-index:99}.image-map-header{display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.image-map-title{margin:0;font-size:18px;font-weight:600;color:#1c252e;line-height:150%}.image-map-close-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:2px;transition:all .2s ease;padding:0}.image-map-close-btn:hover{background:#dbdfe2}.image-map-content{overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.image-map-main-layout{display:flex;gap:16px;height:100%;min-height:0}.image-map-image-section{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0}.prize-list-section{width:200px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden}.upload-section-wrapper{display:flex;flex-direction:column;gap:20px}.upload-section-title{font-size:16px;font-weight:700;color:#0f172a;margin:0 0 12px}.upload-section{display:flex;align-items:center;justify-content:center;min-height:180px;background:#f9fbfe;border:1px dashed #d7deea;border-radius:var(--im-radius)}.upload-label{cursor:pointer;width:100%;border:none;padding:0;background:none}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px;border:none;border-radius:var(--im-radius);background:transparent;transition:all .2s ease;color:#0f172a}.upload-placeholder:hover{background:#eef3fb}.upload-placeholder span{color:#0f172a;font-size:15px;font-weight:600}.upload-label.map-config-btn .upload-placeholder{border:1px solid #d7deea;border-radius:var(--im-radius);background:#fff}.upload-label.map-config-btn .upload-placeholder:hover{background:#f0f4fb;border-color:#c7d5ed}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:12px}.place-prize-text{color:var(--Blue-blue-1000, #1c252e);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:150%}.undo-redo-group{display:flex;gap:8px;flex:0 0 auto;margin-left:11px}.prize-counter-inline{color:var(--Blue-blue-500, #637381);text-align:right;font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:150%}.prize-counter-inline.complete{background:#f0fbf4;color:var(--im-success);border-color:#12b76a66}.action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;color:#0f172a;border-radius:2px}.action-btn:hover:not(:disabled){background:#dbdfe2}.action-btn:disabled{opacity:.35;cursor:not-allowed}.action-btn:disabled svg path{fill:#454f5b}.action-btn svg path{fill:#0f172a}.bottom-buttons{display:flex;justify-content:flex-end;gap:16px}.bottom-buttons>button,.bottom-buttons>.done-btn-wrapper{max-width:110px;width:100%}.clear-all-btn{display:flex;justify-content:center;align-items:center;gap:2px;border:1px solid var(--Blue-blue-100, #cfd4d8);border-radius:8px}.clear-all-btn svg{width:18px;height:18px;aspect-ratio:1/1}.clear-all-btn span{color:var(--Blue-blue-700, #46525c);text-align:center;font-size:14px;font-style:normal;font-weight:700;line-height:150%;text-transform:capitalize}.clear-all-btn:hover{border-radius:8px;border:1px solid var(--Blue-blue-100, #cfd4d8);background:var(--Blue-blue-50, #eff1f2)}.done-btn{display:flex;justify-content:center;align-items:center;gap:4px;border-radius:8px;background:var(--Blue-blue-1000, #1c252e);padding:8px 12px;color:var(--Blue-blue-50, #eff1f2);text-align:center;font-size:14px;font-style:normal;font-weight:700;line-height:150%;text-transform:capitalize;width:100%}.done-btn:hover:not(:disabled){border-radius:8px;background:var(--Blue-blue-900, #2a3036)}.done-btn:disabled{border-radius:8px;opacity:.5;background:var(--Blue-blue-1000, #1c252e)}.done-btn-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.done-btn-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,25%);display:none;flex-direction:column;align-items:center;pointer-events:none;z-index:1000}.done-btn-wrapper.has-tooltip:hover .done-btn-tooltip{display:flex}.done-btn-tooltip-content{display:flex;padding:var(--tooltip-py, 3px) var(--tooltip-px, 6px);justify-content:center;align-items:center;border-radius:var(--radius-075, 6px);background:var(--Blue-blue-1000, #1c252e);color:#fff;font-family:var(--font);line-height:150%;white-space:nowrap;text-align:center;font-size:11px;font-style:normal;font-weight:400}.done-btn-tooltip-tail{width:8px;height:4px;display:flex;align-items:center;justify-content:center;margin-top:-1px}.done-btn-tooltip-tail svg{width:8px;height:4px;fill:var(--Blue-blue-1000, #1c252e)}.image-map-error-tooltip{position:absolute;display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:none;transform:translate(-50%,-100%);opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:200}.image-map-error-tooltip.visible{opacity:1;transform:translate(-50%,calc(-100% - 2px))}.image-map-error-tooltip-content{display:flex;padding:var(--tooltip-py, 3px) var(--tooltip-px, 6px);justify-content:center;align-items:center;border-radius:6px;background:#ff5630;color:var(--components-tooltip-color, #fff);text-align:center;font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:150%;box-shadow:0 10px 24px #f044384d;white-space:nowrap}.image-map-error-tooltip-tail{width:8px;height:4px;display:flex;align-items:center;justify-content:center}.image-map-error-tooltip-tail svg{width:8px;height:4px;display:block}.image-map-error-tooltip-tail path{fill:#ff5630}.image-map-container{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding-right:4px}.image-map-container::-webkit-scrollbar{width:4px}.image-map-container::-webkit-scrollbar-track{background:#eff1f2}.image-map-container::-webkit-scrollbar-thumb{background:var(--Blue-blue-300, #96a1ab);border-radius:100px}.image-map-container::-webkit-scrollbar-thumb:hover{background:#7a8691}.image-map-wrapper{position:relative;width:100%;background:#fff;min-height:fit-content}.image-map-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;border-radius:8px}.prize-counter{font-size:14px;font-weight:700;color:var(--im-text);padding:10px 12px;background:#fff;border-radius:10px;border:1px solid var(--im-border);text-align:center}.prize-counter.complete{background:#f0fbf4;color:var(--im-success);border-color:#12b76a66}.prize-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#f9fbfe;padding:2px;border-radius:10px}.prize-item{padding:12px;background:var(--im-card);border:1px solid var(--im-border);border-radius:12px;display:grid;grid-template-columns:36px 1fr 24px;align-items:center;gap:10px;box-shadow:inset 0 1px #ffffffb3}.prize-item.placed{border-color:#12b76a66;background:#f0fbf4}.prize-item.missing{border-color:#f0443840;background:#fff5f5}.prize-index{width:32px;height:32px;border-radius:8px;background:#f0f4fb;border:1px solid var(--im-border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--im-text)}.prize-label{display:flex;flex-direction:column;gap:2px}.prize-title{font-weight:700;color:#0f172a;font-size:14px}.prize-subtitle{color:#4b5565;font-size:12px}.prize-status{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffe6}.prize-status.placed{box-shadow:0 0 0 1px #12b76a40}.prize-status.missing{box-shadow:0 0 0 1px #f0443840}.prize-list-empty{padding:16px 10px;text-align:center;color:var(--im-text-subtle);font-size:12px}.sidebar-save-btn{padding:12px 16px;background:linear-gradient(145deg,#2f7bd1,#3ca4ff);color:#fff;border:1px solid rgba(60,164,255,.4);border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease;box-shadow:0 12px 30px #2f7cd14d}.sidebar-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 34px #3ca4ff59}.sidebar-save-btn:disabled{background:#e4eaf5;color:#7a869c;border-color:var(--im-border);cursor:not-allowed;box-shadow:none}.marker-container{position:absolute;display:flex;align-items:center;gap:10px;transform:translate(-13.5px,-34px);z-index:10;cursor:grab}.marker-container.dragging{cursor:grabbing;z-index:30}.marker-container.dragging .image-map-marker{transform:scale(1.1)}.image-map-marker{width:27px;height:34px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;-webkit-user-select:none;user-select:none;transition:transform .15s ease,filter .2s ease;position:relative;filter:drop-shadow(0 4px 12px rgba(240,68,56,.4))}.image-map-marker svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.marker-number{pointer-events:none;position:relative;z-index:1;margin-top:-8px}.marker-delete-btn{position:absolute;top:-10px;right:-8px;width:18px;height:18px;display:none;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s ease;z-index:50;pointer-events:auto;box-shadow:0 2px 1px #00000040;border-radius:100%}.marker-container:hover .marker-delete-btn{display:flex}.marker-cursor-tooltip{position:absolute;display:none;width:18px;height:18px;padding:2px;flex-direction:column;justify-content:center;align-items:center;gap:4px;aspect-ratio:1/1;border-radius:23px;background:#f04438cc;color:#fff;font-size:11px;font-weight:700;pointer-events:none;z-index:100;transform:translate(10px,10px)}.marker-cursor-tooltip.visible{display:flex}.image-map-error-toast{font-family:var(--font)}.image-map-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:11000;display:flex;align-items:center;justify-content:center;padding:16px}.image-map-confirm-modal{background:#fff;border:1px solid #dce3ef;border-radius:16px;width:360px;max-width:90vw;padding:20px;color:#0f172a;box-shadow:0 20px 50px #0f172a2e;transform:translateY(12px);opacity:0;transition:all .15s ease}.image-map-confirm-modal.visible{transform:translateY(0);opacity:1}.confirm-header{font-weight:700;font-size:16px;margin-bottom:8px}.confirm-body{font-size:14px;color:#4b5565;margin-bottom:18px;line-height:1.4}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-btn{padding:10px 14px;border-radius:10px;border:1px solid #dce3ef;background:#fff;color:#0f172a;font-weight:700;cursor:pointer;transition:all .15s ease;min-width:100px}.confirm-btn.ghost:hover{border-color:#c7d5ed;background:#eef3fb}.confirm-btn.danger{background:linear-gradient(145deg,#f04438,#c72f28);border-color:#f0443866;color:#fff}.confirm-btn.danger:hover{box-shadow:0 12px 24px #f044384d;transform:translateY(-1px)}.simple-prize-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;padding:12px 8px 4px 4px;flex:1;min-height:0;border-radius:4px;border:1px solid var(--Blue-blue-50, #eff1f2);background:#fff}.simple-prize-list::-webkit-scrollbar{width:4px}.simple-prize-list::-webkit-scrollbar-track{background:#eff1f2}.simple-prize-list::-webkit-scrollbar-thumb{background:var(--Blue-blue-300, #96a1ab);border-radius:100px}.simple-prize-list::-webkit-scrollbar-thumb:hover{background:#7a8691}.simple-prize-item{display:grid;grid-template-columns:35px 1fr 20px;padding:2px 4px;place-content:center;align-items:center;border-bottom:1px solid #eff1f2;height:25px}.simple-prize-text{color:var(--Blue-blue-1000, #1c252e);font-size:14px;font-style:normal;font-weight:400;line-height:150%;font-family:var(--font)}.simple-prize-item.placed .simple-prize-text{color:#1c252e}.simple-prize-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:8px}.simple-prize-check svg{width:14px;height:14px}.height-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.height-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.height-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.height-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.width-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.width-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.width-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting .number-setting{width:100%}.select-api-container{display:grid;grid-template-columns:1fr;place-content:center;align-items:center;position:relative;width:100%}.select-api-button{width:100%;height:33px;min-height:33px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 16px;border-radius:8px;border:1px solid var(--color-border, #e4e7ec);background:#fff;cursor:pointer;color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:normal;position:relative;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:40px!important}.select-api-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.select-api-button:focus{outline:none;border-color:#b6dfc8;box-shadow:0 0 0 4px #7f56d91a}.select-api-button .select-label{position:absolute;top:2px;color:#667085;font-family:Satoshi;font-size:12px;font-style:normal;font-weight:400;line-height:normal;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-api-button .select-value{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-api-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-api-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02cc59;border-radius:50%;animation:select-api-spin 1s linear infinite;z-index:2}.select-api-button.has-label.loading{padding-left:36px!important}.select-api-button.has-label.loading .select-value{padding-left:0}.select-api-button.has-label.loading:before{top:18px;left:10px}@keyframes select-api-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-api-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-api-options{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;z-index:1000;flex-direction:column;gap:2px;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;transform:translateY(-8px)}.select-api-options.open{display:flex;opacity:1;transform:translateY(0)}.select-api-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:13px}.select-api-option-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.select-api-option:hover{background:#f9fafb}.select-api-option.selected{background:#b6dfc8;color:#344054;font-weight:500}.select-api-option.disabled{opacity:.6;cursor:not-allowed;color:#6e7891}.select-api-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #e4e7ec;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;margin:0;cursor:pointer;flex-shrink:0}.select-api-radio:checked{border-color:#02cc59;background:#fff;position:relative}.select-api-radio:checked:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#02cc59;border-radius:50%}.svg-container{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;pointer-events:none}.svg-container .svg-select-api{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select-api{transform:rotate(180deg)}.select-api-container .icon-container{display:none}.select-api-options::-webkit-scrollbar{width:6px}.select-api-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-api-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.select-api-option.empty-message:hover{background:transparent}.select-api-option:focus{outline:none;box-shadow:0 0 0 2px #b6dfc8}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-api-options.open{display:flex;animation:fadeIn .2s ease forwards}.select-api-button.has-label{height:48px}.toggle-setting-container{display:flex;justify-content:space-between;align-items:center;padding-left:3px;padding-right:3px;flex-wrap:wrap}.toggle-label{color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;padding:2px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e4e7ec;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#02cc59}input:focus+.toggle-slider{box-shadow:0 0 1px #02cc59}input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-with-icon .toggle-label{display:flex;align-items:center;gap:8px}.toggle-icon{display:flex;align-items:center;justify-content:center;color:#667085}.toggle-description{color:#637381;width:100%;margin:8px 0 0;font-size:11px;line-height:16px}.toggle-setting-container.toggle-has-description{border:1px dashed #919EAB66;border-radius:12px;padding:12px 8px;box-sizing:border-box}.gap-settings-container{display:flex;flex-direction:column;gap:12px;width:100%}.gap-settings-title{font-size:14px;font-weight:500;color:#344054;margin-bottom:4px}.gap-input-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%}.gap-label-container{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.gap-setting-icon{display:flex;align-items:center;justify-content:center;font-size:16px;color:#667085}.gap-setting-icon svg{width:16px;height:16px}.gap-input-label{font-size:13px;color:#667085}.gap-setting-inner-wrapper{position:relative;display:grid;grid-template-columns:1fr;place-content:center;align-items:center;width:120px}.gap-setting-input{width:100%;padding:8px;font-size:14px;border-radius:8px;color:#292b2e;border:1px solid var(--color-border);background:var(--color-bg);box-sizing:border-box}.suffix-wrapper{position:relative}.suffix-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding-left:8px;border-left:1px solid var(--color-divider);font-size:12px;color:var(--color-text)}.gap-setting-input::-webkit-outer-spin-button,.gap-setting-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gap-setting-input[type=number]{-moz-appearance:textfield}.margin-bottom-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-bottom-wrapper .setting-icon svg{width:18px;height:19px}.margin-bottom-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-bottom-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.margin-top-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-top-wrapper .setting-icon svg{width:18px;height:19px}.margin-top-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-top-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.simple-multi-language-wrapper{display:flex;flex-direction:column;width:100%}.simple-multi-language-title{display:flex;justify-content:space-between;align-items:center;color:var(--Blue-blue-700, #46525c);font-family:Public Sans;font-size:14px;font-style:normal;font-weight:600;line-height:150%}.simple-multi-language-content{display:flex;flex-direction:column;gap:12px;width:100%}.multi-language-eye-icon{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s,background .2s;border-radius:2px}.multi-language-eye-icon:hover{border-radius:2px;background:var(--Blue-hover, #dbdfe2);color:#000}.simple-multi-language-row{display:flex;flex-direction:column;gap:6px}.simple-language-label{font-size:12px;font-weight:500;color:var(--color-input-text);text-transform:uppercase;letter-spacing:.5px;margin-left:2px}.simple-language-textarea{width:100%;min-height:38px;font-size:14px;border-radius:8px;color:var(--color-input-text);border:1px solid var(--color-border);background:var(--color-bg);font-family:inherit;resize:none;line-height:1.4;overflow-y:hidden;box-sizing:border-box;padding:8px 12px;max-height:90px}.simple-language-textarea:focus{outline:none}.simple-language-textarea::placeholder{color:var(--color-text-muted, #6c757d);white-space:nowrap;text-overflow:ellipsis}.simple-language-textarea:placeholder-shown{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-language-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000}.multi-language-popup{position:fixed;background:#fff;border-radius:16px;padding:24px 16px;max-width:580px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 8px #919eab29;display:flex;flex-direction:column;gap:24px;z-index:1001}.multi-language-popup-header{display:flex;justify-content:space-between;align-items:center;cursor:move}.multi-language-popup-title{margin:0;font-family:Public Sans,sans-serif;font-size:18px;font-weight:600;line-height:1.5;color:#1c252e}.multi-language-close-button{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:2px;transition:background-color .2s}.multi-language-close-button:hover{border-radius:2px;background:var(--Blue-hover, #dbdfe2)}.multi-language-close-button svg{width:24px;height:24px;color:#637381}.multi-language-popup-content{display:flex;flex-direction:column;gap:8px}.multi-language-popup-content .simple-multi-language-row{display:flex;flex-direction:column;gap:4px}.multi-language-popup-content .simple-language-label{font-family:Public Sans,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:#637381;text-transform:uppercase}.multi-language-popup-content .simple-language-textarea{width:100%;max-height:200px;font-family:Public Sans,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:#1c252e;border:1px solid #eff1f2;background:#fff;border-radius:8px;padding:16px;resize:none;box-sizing:border-box;transition:border-color .2s;overflow-y:auto}.multi-language-popup-content .simple-language-textarea:focus{outline:none}.multi-language-popup-content .simple-language-textarea::placeholder{color:#637381}.multi-language-popup-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px}.multi-language-done-button{background:#1c252e;border:none;border-radius:8px;padding:8px 12px;min-width:104px;height:37px;cursor:pointer;font-family:Public Sans,sans-serif;font-size:14px;font-weight:700;line-height:1.5;color:#eff1f2;text-transform:capitalize;transition:background-color .2s}.multi-language-done-button:hover{background:#2c3840}.multi-language-done-button:disabled{background:#919eab;cursor:not-allowed}.translation-manager{padding:20px;background:var(--color-bg, #fff);border-radius:12px;border:1px solid var(--color-border, #e0e0e0);margin:20px 0}.translation-manager-title{margin:0 0 16px;font-family:Public Sans,sans-serif;font-size:16px;font-weight:600;color:var(--Blue-blue-700, #46525c)}.translation-manager-buttons{display:flex;gap:12px;margin-bottom:12px}.translation-manager-button{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-family:Public Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.translation-manager-button svg{width:16px;height:16px}.translation-manager-button.export-button{background:#1c252e;color:#fff}.translation-manager-button.export-button:hover{background:#2c3840}.translation-manager-button.import-button{background:#fff;color:#1c252e;border:1px solid #1c252e}.translation-manager-button.import-button:hover{background:#f5f5f5}.translation-manager-info{margin:0;font-family:Public Sans,sans-serif;font-size:13px;color:#637381;line-height:1.5}@media (max-width: 640px){.simple-multi-language-row{gap:4px}.simple-language-label{font-size:11px}.simple-language-textarea{min-height:0;padding:8px;font-size:13px}.multi-language-popup{width:95%;padding:16px}.multi-language-popup-title{font-size:16px}.translation-manager-buttons{flex-direction:column}.translation-manager-button{width:100%;justify-content:center}}.bgset-or-label{margin:8px 0;text-align:center;font-weight:500;color:#667085;align-self:center}.settings-container,.main-settings-container,[data-settings-container]{height:auto;min-height:auto;overflow:visible;flex-shrink:0}.container,.wrapper,.main-wrapper{height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}:root{--sg-spacing-0: 16px;--sg-spacing-1: 12px;--sg-spacing-2: 8px;--sg-spacing-3: 6px;--sg-border-0: #eaecf0;--sg-border-1: #d0d5dd;--sg-border-2: #e5e7eb;--sg-border-3: #f2f4f7;--sg-bg-0: #fff;--sg-bg-1: #fff;--sg-bg-2: #fff;--sg-bg-3: #fff;--sg-shadow-0: 0px 1px 3px rgba(16, 24, 40, .1), 0px 1px 2px rgba(16, 24, 40, .06);--sg-shadow-1: 0px 1px 2px rgba(16, 24, 40, .05);--sg-shadow-2: 0px 1px 1px rgba(16, 24, 40, .04);--sg-shadow-3: none}.setting-group{display:flex;flex-direction:column;width:100%;gap:8px;border-radius:8px;margin:0 auto;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group[data-nesting-level="0"]{padding:var(--sg-spacing-0);border-radius:8px;background:transparent}.setting-group[data-nesting-level="1"]{padding:var(--sg-spacing-1);border-radius:6px;background:transparent}.setting-group[data-nesting-level="2"]{padding:var(--sg-spacing-2);border-radius:4px}.setting-group[data-nesting-level="3"],.setting-group[data-nesting-level="4"],.setting-group[data-nesting-level="5"]{padding:var(--sg-spacing-3);border-radius:4px}.setting-group.collapsed{padding:0;border:none;background:transparent;box-shadow:none}.setting-group[data-nesting-level="0"] .setting-group-content{padding:0 8px 8px;gap:8px}.setting-group[data-nesting-level="1"] .setting-group-content{padding:0 8px 8px;gap:6px}.setting-group[data-nesting-level="2"] .setting-group-content{padding:0 8px 8px;gap:4px}.setting-group[data-nesting-level="3"] .setting-group-content,.setting-group[data-nesting-level="4"] .setting-group-content,.setting-group[data-nesting-level="5"] .setting-group-content{padding:0 6px 6px;gap:3px}.setting-group-title{display:flex;justify-content:space-between;align-items:center;padding:4px 0;cursor:pointer;border-radius:6px}.setting-group-title h3{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group[data-nesting-level="1"] .setting-group-title h3{font-size:13px;font-weight:500}.setting-group[data-nesting-level="2"] .setting-group-title h3{font-size:12px;font-weight:500}.setting-group[data-nesting-level="3"] .setting-group-title h3,.setting-group[data-nesting-level="4"] .setting-group-title h3,.setting-group[data-nesting-level="5"] .setting-group-title h3{font-size:11px;font-weight:500}.setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;transform:rotate(180deg);color:var(--Gray-500, #344054)}.setting-group-arrow.rotated{transform:rotate(0)}.setting-group-content{display:flex;flex-direction:column;width:100%;opacity:1;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group-content.collapsed{opacity:0;margin:0;padding:0;pointer-events:none;display:none}.setting-group.main-group{padding:16px;border:none;border-bottom:1px solid var(--Border-default, #d5dce5);box-shadow:none;margin-top:4px;border-radius:8px;width:100%;position:relative;margin-bottom:8px;max-height:none;overflow:visible;max-width:100%;box-sizing:border-box;height:auto;min-height:auto;flex-shrink:0}.setting-group.main-group.collapsed{padding:0;background:transparent!important;border:none;box-shadow:none;margin:0}.setting-group.main-group.collapsed .setting-group-title.collapsed-view{height:55px;border:none;margin-bottom:8px;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group.main-group .setting-group-title h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px}.setting-group-content.main-content{width:100%;border:0;box-shadow:none;padding:0;height:auto;min-height:auto;overflow:visible;flex-shrink:0}.setting-divider{height:1px;width:100%;background-color:#f2f4f7;margin:4px 0}.setting-group-content>*:last-child{margin-bottom:0}.setting-group.active{border-color:#d6bbfb;box-shadow:0 0 0 4px #7f56d91a}.setting-group-empty{color:#667085;font-size:13px;font-style:italic;padding:12px 0;text-align:center}.setting-group-title.collapsed-view{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;height:36px;border-radius:8px;background:var(--Base-White, #fff);margin-bottom:0;position:relative;overflow:visible;cursor:pointer}.setting-group.main-group .setting-group-title.collapsed-view{height:55px;border:none;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group:not(.main-group) .setting-group-title.collapsed-view{height:36px;background:#fff;padding:14px}.setting-group-title .title-section{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.setting-group-title .group-icon{display:flex;justify-content:center;align-items:center;color:var(--Gray-500, #667085);flex-shrink:0;width:20px;height:20px}.setting-group-title.collapsed-view h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group-title.collapsed-view .group-badge{display:flex;padding:2px 8px;justify-content:center;align-items:center;border-radius:16px;background:var(--Gray-100, #f2f4f7);color:var(--Gray-700, #344054);font-size:12px;font-weight:500;line-height:18px;margin-left:8px}.setting-group-title .actions-section{display:flex;align-items:center;gap:8px;margin-left:12px}.setting-group-title.collapsed-view .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow.rotated{transform:rotate(0)}.setting-group-title.collapsed-view .info-marker{width:16px;height:16px;color:var(--Gray-400, #98a2b3);cursor:help}.setting-group-description{color:#667085;font-size:13px;margin-bottom:8px;line-height:1.4}@media (max-width: 768px){.setting-group-title.collapsed-view{padding:10px 12px}.setting-group-title .title-section{gap:8px}.setting-group-title.collapsed-view .group-badge{display:none}}@media (max-width: 480px){.setting-group-title.collapsed-view h3{font-size:13px}.setting-group-title.collapsed-view .setting-group-arrow{width:24px;height:24px}.setting-group-title.collapsed-view{padding:0 10px}}.setting-group-title.collapsed-view.striped:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--Primary-100, #f4ebff);border-radius:4px 0 0 4px}.setting-group.custom-container{border:none;box-shadow:none;margin:4px 0;padding:0;background:transparent}.setting-group.custom-container>.setting-group-title{display:none}.sg-add-button-bottom{display:flex;height:30px;min-width:64px;padding:6px 12px;justify-content:center;align-items:center;flex:1 0 0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.sg-add-button-bottom:hover{background:#eee}.setting-group.custom-container .setting-group-content{padding:0}.custom_class{border:0!important;box-shadow:none!important;margin:4px 0!important}.custom_class>.setting-group-title{display:none!important}.custom_class .setting-group-content{padding:0!important}.setting-group-title:focus-visible{outline:2px solid #02cc59;outline-offset:2px}.setting-group::-webkit-scrollbar,.setting-group-content::-webkit-scrollbar{width:8px;height:8px}.setting-group::-webkit-scrollbar-track,.setting-group-content::-webkit-scrollbar-track{background:#f0f2f4;border-radius:4px}.setting-group::-webkit-scrollbar-thumb,.setting-group-content::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:4px;border:2px solid transparent;background-clip:content-box}.setting-group::-webkit-scrollbar-thumb:hover,.setting-group-content::-webkit-scrollbar-thumb:hover{background-color:#98a2b3}.setting-group,.setting-group-content{scrollbar-width:thin;scrollbar-color:#c2c9d6 #f0f2f4}.tabs-settings-container{display:flex;flex-direction:column;width:100%;border-radius:8px;background:transparent;overflow:visible;position:relative;z-index:1;max-width:100%;box-sizing:border-box}.tabs-settings-container.main-group{background:#fff;box-shadow:0 1px 2px #1018280d}.tabs-header{width:100%;display:flex;padding:4px;justify-content:center;align-items:center;gap:4px;align-self:stretch;flex-shrink:0;background:#f1f3f2;position:relative;z-index:1;border-radius:400px;margin-bottom:8px}.tabs-header.main-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;padding:8px;margin-bottom:0}.tab-button{display:flex;padding:4px 12px;justify-content:center;align-items:center;background-color:transparent;gap:8px;flex:1 0 0;border-radius:400px;color:#000000b3;font-family:Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:20px;box-shadow:0 0 #10182800;position:relative;z-index:1;cursor:pointer;transition:all .2s ease;outline:none}.tab-button:active{box-shadow:0 1px 2px -1px #10182805}.tab-button.active{color:#000;font-weight:700;border-radius:400px;background:#fff;box-shadow:0 4px 8px -2px #1018280a}.tab-button.active:active{box-shadow:0 2px 4px -1px #1018280a}.tab-button:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.tab-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.tab-icon svg{width:100%;height:100%}.tab-content{position:relative;overflow:visible;width:100%;z-index:1;margin-top:8px;max-width:100%;box-sizing:border-box;animation:fadeIn .2s ease-in-out}.tab-panel{display:grid;gap:8px;position:absolute;width:100%;opacity:0;pointer-events:none;overflow:visible;z-index:1;max-width:100%;box-sizing:border-box}.tab-panel.active{opacity:1;pointer-events:auto;position:relative;overflow:visible;z-index:1;max-width:100%;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.tabs-header{padding:3px}.tab-button{padding:3px 8px;font-size:11px}}@media (max-width: 480px){.tab-button{padding:2px 6px;font-size:10px}.tab-icon{width:14px;height:14px}}.tab-content>.setting-group{margin-bottom:12px}.tab-content>.setting-group:last-child{margin-bottom:0}.tabs-settings-container.main-group .setting-group-content{border-top:none;border-radius:0 0 8px 8px}.setting-group.main-group.collapsed .tabs-header,.setting-group.main-group.collapsed .setting-group,.setting-group .setting-group.collapsed .tabs-header,.tabs-settings-container.collapsed .tabs-header,.tabs-settings-container.collapsed .tab-content{display:none}:root{--color-border: #d5dce5;--color-bg: #f8f8f8;--color-border-secondary: #eaecf0;--color-text: #667085;--color-title: #344054;--color-input-text: #292b2e;--color-white: #fff;--color-black: #000;--color-divider: #dcdcdc;--color-btn-text: #4b4b4b;--color-bg-icon: #f2f4f7}*{padding:0;margin:0;border:none}*,*:before,*:after{box-sizing:border-box}a,a:link,a:visited,a:hover{text-decoration:none}body{font-family:Satoshi,sans-serif;font-weight:400;font-size:12px;line-height:18px}aside,nav,footer,header,section,main{display:block}h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-weight:inherit}ul,ul li{list-style:none}img{vertical-align:top}img,svg{max-width:100%;height:auto}address{font-style:normal}input::-ms-clear{display:none}button,input[type=submit]{display:inline-block;box-shadow:none;background-color:transparent;background:none;cursor:pointer}input:focus,input:active,button:focus,button:active{outline:none}button::-moz-focus-inner{padding:0;border:0}label{cursor:pointer}legend{display:block}
1
+ @import"https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,100..900;1,100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";@import"https://fonts.cdnfonts.com/css/satoshi";:root{--color-text: #1d2939;--color-text-secondary: #667085;--color-text-muted: #98a2b3;--color-border: #e4e7ec;--color-border-hover: #d0d5dd;--color-bg: #fff;--color-bg-hover: #f9fafb;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--font-size-xs: 10px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--transition-fast: .15s ease;--transition-normal: .3s ease}.icon-container{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs)}.input-icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0;width:18px;height:18px;transition:color var(--transition-fast)}.input-label{color:var(--color-text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm);font-style:normal;font-weight:400;line-height:1.4;transition:color var(--transition-fast)}.input-container{display:inline-flex;align-items:center;position:relative;width:100%}.input-wrapper{position:relative;width:100%;min-width:0}.base-input{width:100%;height:36px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md);font-weight:400;line-height:1.4;transition:all var(--transition-fast);outline:none}.base-input::placeholder{color:var(--color-text-muted)}.base-input:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.base-input:focus{border-color:var(--color-border-focus);background:var(--color-bg-focus)}.base-input:disabled{background:#f9fafb;color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.with-suffix{padding-right:44px}.input-suffix{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.with-prefix{padding-left:44px}.input-prefix{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;font-size:var(--font-size-sm);font-weight:500;z-index:1}.setting-item{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:center;min-height:40px;padding:var(--space-sm) 0}.setting-item.full-width{grid-template-columns:1fr}.setting-item.stacked{grid-template-columns:1fr;gap:var(--space-xs);align-items:stretch}.setting-item-label{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.setting-item-control{min-width:0;justify-self:end}.setting-item.stacked .setting-item-control{max-width:none;justify-self:stretch}.input-error{border-color:#f04438!important;background:#fff4f4!important;color:#f04438!important}.input-error:focus{border-color:#f04438!important;box-shadow:0 0 0 4px #f044381a!important}.error-message{color:#f04438;font-size:var(--font-size-xs);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs)}.input-success{border-color:#02cc59!important;background:#f0fdf4!important}.input-success:focus{border-color:#02cc59!important}.input-loading{position:relative;color:var(--color-text-muted);background:#f9fafb;pointer-events:none}.input-loading:after{content:"";position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid var(--color-border-focus);border-radius:50%;animation:spin 1s linear infinite}.setting-group .setting-group .setting-item{min-height:36px;padding:6px 0}.setting-group .setting-group .base-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .input-label{font-size:11px}.setting-group .setting-group .setting-group .setting-item{min-height:32px;padding:4px 0}.setting-group .setting-group .setting-group .base-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .input-label{font-size:10px}@media (max-width: 480px){.setting-item{grid-template-columns:1fr;gap:var(--space-xs)}.setting-item-control{max-width:none;justify-self:stretch}.base-input{font-size:var(--font-size-md)}}@media (prefers-color-scheme: dark){:root{--color-text: #f9fafb;--color-text-secondary: #d0d5dd;--color-text-muted: #667085;--color-border: #344054;--color-border-hover: #475467;--color-bg: #1d2939;--color-bg-hover: #344054}}.base-input:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.compact .setting-item{min-height:32px;padding:4px 0}.compact .base-input{height:32px;padding:6px 10px;font-size:13px}.compact .input-label{font-size:11px}@media (prefers-contrast: high){.base-input{border-width:2px}.base-input:focus{border-width:3px}}:root{--grey40: #9ca3af}.gradient-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.gradient-controls{display:flex;align-items:center;gap:10px}.gradient-type,.gradient-angle{padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font:inherit}.gradient-angle-wrap{display:inline-flex;align-items:center;gap:6px}.gradient-preview{position:relative;height:34px;border-radius:8px;border:1px solid #e5e7eb;overflow:visible;background:linear-gradient(90deg,#a84b4b,#786666);max-width:250px;margin:42px auto 0;cursor:crosshair}.gradient-handles{position:absolute;top:-4px;left:0;right:0;height:calc(100% + 8px);pointer-events:none}.gstop-handle{position:absolute;border-radius:4px;background:#fff;border:1px solid white;transform:translate(-50%,-50%);cursor:grab;display:grid;place-items:center;pointer-events:auto;box-shadow:0 1px 3px #0000001a;z-index:10;transition:all .15s ease;user-select:none;-webkit-user-select:none;touch-action:none}.gstop-handle:active{cursor:grabbing}.gstop-handle:hover{transform:translate(-50%,-50%) scale(1.05);border-color:#9ca3af}.gstop-handle.selected{border:2px solid #2563eb;box-shadow:0 0 0 2px #2563eb33;transform:translate(-50%,-50%) scale(1.1);cursor:grabbing;transition:none!important}.gstop-chip{width:24px;height:24px;border-radius:2px;border:1px solid white;position:relative}.gstop-chip:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;z-index:-1;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid #ffffff;border-top-color:inherit}.gradient-stops-header{padding:8px 4px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#1c252e;font-weight:500;font-size:14px;line-height:20px;min-height:36px;box-sizing:border-box;border-top:1px solid #eff1f2;margin-top:8px}.gradient-add-stop{width:36px;height:36px;padding:8px;border-radius:6px;border:none;background:transparent;color:#637381;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.gradient-add-stop svg{width:20px;height:20px}.gradient-add-stop:hover{background:#dbdfe2}.gradient-stops{display:flex;flex-direction:column;max-height:200px;overflow-y:auto;overflow-x:visible;padding-right:4px;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}.gradient-stops::-webkit-scrollbar{width:6px}.gradient-stops::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.gradient-stops::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.gradient-stops::-webkit-scrollbar-thumb:hover{background:#94a3b8}.gstop-row{display:flex;align-items:center;gap:4px;padding:6px 4px;border-radius:8px;background:#00a76f14;min-height:44px}.gstop-position-group{display:flex;align-items:center;min-width:51px}.gstop-position-input{width:60px;height:38px;padding:0 10px;border:1px solid #919eab33;border-radius:8px;color:#1c252e;font-size:14px;font-weight:400;text-align:left;outline:none;transition:all .2s ease;background:#f9fafb;box-sizing:border-box}.gstop-position-input:hover{border-color:#cbd5e1;background-color:#f8fafc}.gstop-position-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gstop-position-input:disabled{opacity:.4;cursor:not-allowed}.gstop-color-container{position:relative;flex:1;height:38px;display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;box-sizing:border-box}.gstop-color-preview{width:25px;height:25px;border-radius:4px;border:1px solid #e4e7ec;flex-shrink:0;margin-left:4px;cursor:pointer;transition:transform .15s ease,border-color .15s ease;position:relative;overflow:hidden}.gstop-color-preview:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#637381 25%,transparent 25%),linear-gradient(-45deg,#637381 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#637381 75%),linear-gradient(-45deg,transparent 75%,#637381 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff;z-index:0;opacity:0;transition:opacity .15s ease}.gstop-color-preview.has-transparency:before{opacity:1}.gstop-color-preview-color{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:3px}.gstop-color-preview:hover{border-color:#3b82f6;transform:scale(1.05)}.gstop-color-input{flex:1;min-width:0;height:100%;padding:0 8px;border:none;color:#1c252e;font-size:14px;font-weight:400;text-align:left;outline:none;transition:all .2s ease;background:transparent}.gstop-color-separator{width:1px;height:20px;background:#e5e7eb;flex-shrink:0}.gstop-opacity-input{width:56px;height:100%;padding:0 10px;border:none;font-size:14px;font-weight:400;color:#1c252e;background:transparent;outline:none;text-align:right}.gstop-opacity-input:focus{background:#3b82f60d}.gstop-color-input:focus{background:#3b82f60d}.gstop-color-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.gstop-color-input:disabled{opacity:.4;cursor:not-allowed;background:var(--action-selected, #919eab29)!important;border-color:var(--action-selected, #919eab29)!important}.gstop-color-copy{display:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:transparent;cursor:pointer;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;opacity:.7}.gstop-color-copy:hover{opacity:1;background:#919eab1a}.gstop-color-copy:active{transform:translateY(-50%) scale(.95)}.gstop-color{width:32px;height:32px;padding:0;border:2px solid #ffffff;border-radius:8px;cursor:pointer;outline:none;box-shadow:0 1px 2px #0000000d;position:relative;z-index:20;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:6px}.gstop-hex{flex:1;min-width:100px;padding:10px 12px;border:2px solid #e2e8f0;border-radius:10px;background:#fff;color:#1f2937;font-size:13px;font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:500;outline:none;transition:all .2s ease}.gstop-hex:hover{border-color:#cbd5e1;background-color:#f8fafc}.gstop-hex:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gstop-link{width:24px;height:24px;border:none;background:transparent;color:#667085;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.gstop-link:hover{background:#f3f4f6;color:#374151}.gstop-del{width:36px;min-width:36px;height:36px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:4px;gap:8px;opacity:1;flex-shrink:0}.gstop-del:hover{background:#f8fafc}.gstop-del:disabled{opacity:.4;cursor:not-allowed;background:var(--action-selected, #919eab29)}.gstop-opacity-label{font-size:12px;color:#64748b;font-weight:500;min-width:50px}.gstop-opacity-group{display:flex;align-items:center;gap:12px;flex:1}.gstop-opacity-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;max-width:135px;width:100%;height:20px;border-radius:12px;border:0;outline:none;cursor:pointer;position:relative;background-image:url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3Crect x='3' y='3' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3C/svg%3E"),linear-gradient(to right,var(--slider-color-transparent, rgba(59, 130, 246, 0)),var(--slider-color, #3b82f6));background-size:6px 6px,100% 100%;background-position:0 0,0 0;background-repeat:repeat,no-repeat;box-shadow:inset 0 0 0 1px #ffffffe6,inset 0 0 0 2px #00000014,0 1px 3px #0000001a}.gstop-opacity-slider::-webkit-slider-track{height:20px;border:none;border-radius:12px;background:transparent}.gstop-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.2);box-shadow:0 0 0 1px #ffffffe6,0 2px 6px #00000026,0 1px 2px #0003;cursor:pointer;transition:all .15s ease;margin-top:0}.gstop-opacity-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 1px #ffffffe6,0 3px 8px #0003,0 1px 3px #00000040}.gstop-opacity-slider::-moz-range-track{height:20px;border:none;border-radius:12px;background:transparent}.gstop-opacity-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.2);box-shadow:0 0 0 1px #ffffffe6,0 2px 6px #00000026,0 1px 2px #0003;cursor:pointer;transition:all .15s ease}.gstop-opacity-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 1px #ffffffe6,0 3px 8px #0003,0 1px 3px #00000040}.gstop-opacity-slider:focus-visible{outline:3px solid rgba(59,130,246,.45);outline-offset:4px;border-radius:12px}.gstop-opacity-value{font-size:12px;color:#475569;font-weight:600;min-width:38px;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:4px 6px}.gradient-solid-picker{display:flex;align-items:center;gap:12px;padding:8px;background:#f9fafb;border-radius:8px}.gradient-solid-color{width:257px;height:34px;padding:0;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;outline:none}.gradient-solid-hex{width:120px;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;color:#1f2937;font-size:14px;font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:500;outline:none;transition:all .2s ease}.gradient-solid-hex:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-solid-hex:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-input-wrapper{position:relative;width:100%;justify-self:end}.gradient-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:38px;padding-right:30px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.gradient-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.gradient-text-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.gradient-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.gradient-mini-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:25px;height:25px;border-radius:4px;border:1px solid var(--color-border, #e4e7ec);cursor:pointer;overflow:hidden;transition:transform var(--transition-fast, .15s ease),border-radius var(--transition-fast, .15s ease);background-color:#fff}.gradient-mini-preview.bound{border-radius:100px}.gradient-mini-preview:hover{transform:translateY(-50%) scale(1.05)}.gradient-unlink-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:none;background:transparent;cursor:pointer;display:none;align-items:center;justify-content:center;padding:4px;border-radius:2px;transition:background-color .15s ease}.gradient-unlink-button.visible{display:flex}.gradient-unlink-button:hover{background-color:#dbdfe2}.gradient-unlink-button:active{transform:translateY(-50%) scale(.95)}.gradient-unlink-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.setting-group .setting-group .gradient-unlink-button{right:6px;width:24px;height:24px;padding:3px}.setting-group .setting-group .setting-group .gradient-unlink-button{right:4px;width:22px;height:22px;padding:2px}.setting-group .setting-group .gradient-setting-wrapper{min-height:36px}.setting-group .setting-group .gradient-input-wrapper{max-width:120px}.setting-group .setting-group .gradient-text-input{height:32px;padding:6px 26px 6px 34px;font-size:13px}.setting-group .setting-group .gradient-mini-preview{left:6px;width:22px;height:22px}.setting-group .setting-group .setting-group .gradient-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .gradient-input-wrapper{max-width:100px}.setting-group .setting-group .setting-group .gradient-text-input{height:28px;padding:4px 22px 4px 30px;font-size:12px}.setting-group .setting-group .setting-group .gradient-mini-preview{left:4px;width:19px;height:19px}.gradient-input-wrapper.error .gradient-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.gradient-input-wrapper.error .gradient-text-input:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.gradient-input-wrapper.disabled .gradient-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.gradient-popover-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;z-index:9999}.gradient-popover{position:fixed;z-index:10000;background:var(--primary-contrast-text, #ffffff);border-radius:8px;box-shadow:0 1px 8px #0003;overflow:visible;width:306px;height:auto;min-height:200px;max-height:80vh;opacity:1;padding:12px;display:flex;flex-direction:column;gap:16px}.gradient-popover-header{display:flex;align-items:center;justify-content:space-between;color:#1d2939;font-weight:600;font-size:16px}.color-setting-tabs{display:flex;gap:2px;padding:2px;background:transparent}.color-setting-tabs.header-tabs{padding:0;gap:0}.color-tab{display:flex;align-items:center;justify-content:center;min-width:64px;height:30px;padding:2px 4px;border:none;background:transparent;color:#637381;font-family:Public Sans,sans-serif;font-size:14px;font-weight:600;line-height:1.5;border-radius:4px;cursor:pointer;transition:all .15s ease}.color-tab:hover:not(.active){background:#f3f4f6}.gradient-popover-close{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:#667085;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}.gradient-popover-close:hover{background:#f9fafb;color:#374151}.gradient-editor{display:flex;flex-direction:column;gap:6px;flex:1;overflow:hidden;min-height:0}.type-tabs-wrapper{border:1px solid #eff1f2;border-left:0;border-right:0;padding:4px 0}.gradient-type-tabs{display:flex;padding:4px;align-items:center;gap:16px;align-self:stretch}.gradient-type-tab{display:flex;width:26px;height:26px;padding:4px;justify-content:center;align-items:center;border-radius:2px}.gradient-type-tab.active{background:#dbdfe2!important;box-shadow:0 1px 2px #0000000d}.gradient-type-tab:hover:not(.active){background:#dbdfe2}.gradient-subtype-tabs{display:flex;background:#f0f2f5;border-radius:6px;padding:2px;gap:2px;margin-bottom:12px}.gradient-subtype-inline{display:flex;align-items:center;gap:4px;margin-bottom:8px}.global-controls-row{display:flex;align-items:center;gap:8px;height:34px;margin-bottom:12px;padding:4px;border-top:1px solid #eff1f2;border-bottom:1px solid #eff1f2;box-sizing:border-box}.global-search-container{position:relative;flex:1;display:flex;align-items:center;gap:8px;height:18px}.global-search-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#96a1ab;flex-shrink:0}.global-search-icon svg{width:18px;height:18px}.global-search-separator{width:1px;height:11.5px;background:#96a1ab;flex-shrink:0}.global-search-input{flex:1;height:17px;padding:0;border:none;font-family:Public Sans,sans-serif;font-size:11px;font-weight:400;line-height:1.5;color:#1c252e;outline:none;background:transparent;box-sizing:border-box}.global-search-input::placeholder{color:#96a1ab}.global-search-input:focus{outline:none}.global-layout-toggle{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:4px;border:none;border-radius:2px;background:transparent;color:#46525c;cursor:pointer;transition:all .2s;box-sizing:border-box}.global-layout-toggle:hover{background:#eff1f2}.global-colors-grid{display:grid;grid-template-columns:repeat(auto-fill,24px);gap:6px;padding:0;margin-top:8px;width:100%;justify-content:start}.global-colors-list{display:flex;flex-direction:column;gap:4px}.global-color-row{display:flex;align-items:center;gap:12px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background-color .2s}.global-color-row:hover{background-color:#f3f4f6}.global-color-circle{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.1);position:relative;flex-shrink:0}.global-colors-grid .global-color-circle{width:24px;height:24px;margin:0 auto;cursor:pointer;transition:transform .2s}.global-colors-grid .global-color-circle:hover{transform:scale(1.1);box-shadow:0 2px 4px #0000001a}.global-color-circle.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #2196f3}.global-colors-grid .global-color-circle.selected:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3)}.global-color-label{font-size:13px;color:#374151;font-weight:500}.gradient-subtype-select{border:1px solid #b1b6bf;padding:6.5px 40px 6.5px 16px;border-radius:8px;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' strokeLinecap='round' strokeLinejoin='round' strokeWidth='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;color:#1f2937;font-size:14px;font-weight:500;outline:none;cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;min-height:38px;box-sizing:border-box;line-height:1.4;width:100%}.gradient-subtype-select:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-subtype-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-subtype-select option{padding:12px 16px;background-color:#fff;color:#1f2937;font-size:14px;font-weight:500;border:none;outline:none;min-height:44px;line-height:1.4}.gradient-subtype-select option:hover{background-color:#f8fafc!important;color:#1f2937!important}.gradient-subtype-select option:checked,.gradient-subtype-select option:selected{background-color:#3b82f6!important;color:#fff!important;font-weight:600}.gradient-subtype-select option:disabled{background-color:#f1f5f9!important;color:#94a3b8!important;cursor:not-allowed}.gradient-subtype-tab{flex:1;padding:6px 12px;border:none;background:transparent;color:#667085;cursor:pointer;border-radius:4px;font-size:12px;font-weight:500;transition:all .15s ease}.gradient-subtype-tab.active{background:#fff;color:#1d2939;box-shadow:0 1px 2px #0000000d}.gradient-subtype-tab:hover:not(.active){background:#e5e7eb;color:#374151}.gradient-angle-controls{display:flex;align-items:center;gap:12px}.gradient-angle-input{flex:1;display:flex;align-items:center;gap:8px}.gradient-angle-input select{flex:1;padding:12px 40px 12px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' strokeLinecap='round' strokeLinejoin='round' strokeWidth='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;color:#1f2937;font-size:14px;font-weight:500;outline:none;cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none}.gradient-angle-input select:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-angle-input select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-angle-input select option{padding:12px 16px;background-color:#fff;color:#1f2937;font-size:14px;font-weight:500;border:none;outline:none}.gradient-angle-input select option:hover{background-color:#f8fafc;color:#1f2937}.gradient-angle-input select option:checked,.gradient-angle-input select option:selected{background-color:#3b82f6;color:#fff}.gradient-angle-input select option:disabled{background-color:#f1f5f9;color:#94a3b8}.gradient-degree-input{border:1px solid #919eab33;padding:6.5px 16px;border-radius:8px;max-width:75px;background:#fff;color:#1f2937;font-size:14px;font-weight:500;width:80px;text-align:center;outline:none;transition:all .2s ease;min-height:38px}.gradient-degree-input:hover{border-color:#cbd5e1;background-color:#f8fafc}.gradient-degree-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;background-color:#fff}.gradient-degree-input:disabled{opacity:.4;cursor:not-allowed;background:var(--action-selected, #919eab29)!important;border-color:var(--action-selected, #919eab29)!important}.gradient-flip-btn{max-width:36px;height:38px;width:100%;border-radius:6px;background:#919eab29;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;transition:all .2s ease}.gradient-flip-btn:hover{background:#e3e2e4;color:#374151}.gradient-flip-btn:active{transform:scale(.95)}.custom-color-picker{position:fixed;width:306px;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;z-index:10001;overflow:hidden;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:box-shadow .2s ease}.color-picker-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;z-index:10000}.custom-color-picker.dragging{box-shadow:0 25px 30px -5px #00000026,0 15px 15px -5px #00000014;cursor:move}.color-picker-header{display:flex;justify-content:space-between;align-items:center;padding:10.5px 20px;background:#fff;cursor:move}.color-picker-header span{font-size:16px;font-weight:600;color:#111827}.color-picker-close{width:28px;height:28px;border:none;background:transparent;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:#6b7280;transition:all .15s ease}.color-picker-close:hover{background:#f3f4f6;color:#374151}.color-picker-area{height:268px;margin:8px;border-radius:12px;position:relative;cursor:crosshair;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,red);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.color-picker-area.embedded{width:100%;height:200px;margin:0 0 16px;position:relative;border-radius:8px;overflow:hidden}.color-picker-marker{position:absolute;border-radius:50%;width:20px;height:20px;border:3px solid #ffffff;box-shadow:0 0 0 1px #0003,0 2px 4px #00000026;transform:translate(-50%,-50%);top:50%;pointer-events:none;background:transparent;display:flex;align-items:center;justify-content:center;z-index:10}.embedded-color-picker-content .color-picker-marker,.embedded-color-picker-content .color-picker-hue-marker,.embedded-color-picker-content .color-picker-opacity-marker{width:16px;height:16px;border:2px solid #ffffff}.color-picker-marker:before{content:"";width:12px;height:12px;background:transparent;border-radius:50%}.color-picker-hue{width:100%;height:12px;margin:0;border-radius:8px;position:relative;cursor:pointer;background:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red);touch-action:none;-webkit-user-select:none;user-select:none}.color-picker-hue.embedded{width:100%;margin:0;height:14px}.color-picker-sliders-container{display:flex;align-items:flex-start;gap:8px;width:100%;margin:0 auto 20px;max-width:368px;padding:0 20px}.custom-color-picker .color-picker-sliders-container{max-width:368px;padding:4px 8px}.color-picker-sliders-container.embedded{max-width:260px;margin:0 auto 16px;padding:0}.color-picker-sliders-group{display:flex;flex-direction:column;gap:12px;flex:1}.color-picker-eyedropper{background:none;border:none;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:auto}.color-picker-eyedropper:hover{background-color:#0000000d}.color-picker-eyedropper:active{transform:scale(.95)}.color-picker-eyedropper svg{width:18px;height:18px}.color-picker-hue-marker{position:absolute;border-radius:50%;border:3px solid #ffffff;box-shadow:0 0 0 1px #0003,0 2px 4px #00000026;transform:translate(-50%,-50%);top:50%;pointer-events:none;background:#fff;display:flex;align-items:center;justify-content:center}.color-picker-hue-marker:before{content:"";width:8px;height:8px;background:transparent;border-radius:50%}.color-picker-opacity{width:100%;height:12px;margin:0;border-radius:12px;position:relative;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background-image:url("data:image/svg+xml,%3Csvg width='6' height='6' viewBox='0 0 6 6' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='0' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3Crect x='3' y='3' width='3' height='3' fill='rgba(0,0,0,0.1)'/%3E%3C/svg%3E"),linear-gradient(to right,var(--base-color-transparent, rgba(255, 0, 0, 0)),var(--base-color, #ff0000));background-size:6px 6px,100% 100%;background-position:0 0,0 0;background-repeat:repeat,no-repeat}.color-picker-opacity.embedded{width:100%;margin:0;height:14px}.color-picker-opacity-marker{position:absolute;border:3px solid #ffffff;border-radius:50%;box-shadow:0 0 0 1px #0003,0 2px 4px #00000026;transform:translate(-50%,-50%);top:50%;pointer-events:none;background:#fff;display:flex;align-items:center;justify-content:center}.color-picker-opacity-marker:before{content:"";width:8px;height:8px;background:transparent;border-radius:50%}.color-picker-format-section{display:flex;align-items:center;padding:0 20px 20px;gap:4px}.color-picker-format-section.embedded{padding:0 4px}.color-picker-format-select{height:38px;padding:0 8px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:400;color:#1c252e;background:#fff;outline:none;transition:all .15s ease;min-width:70px;cursor:pointer;box-sizing:border-box}.color-picker-format-select:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.color-picker-format-select:hover{border-color:#cbd5e1}.color-picker-input-container{position:relative;flex:1;height:38px;display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;box-sizing:border-box}.color-picker-swatch{width:25px;height:25px;border-radius:4px;border:1px solid #e4e7ec;flex-shrink:0;margin-left:4px;position:relative;overflow:hidden}.color-picker-swatch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#637381 25%,transparent 25%),linear-gradient(-45deg,#637381 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#637381 75%),linear-gradient(-45deg,transparent 75%,#637381 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff;z-index:0;opacity:0;transition:opacity .15s ease}.color-picker-swatch.has-transparency:before{opacity:1}.color-picker-swatch-color{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:3px}.color-picker-color-input{flex:1;min-width:0;height:100%;padding:0 8px;border:none;font-size:14px;font-weight:400;color:#1c252e;background:transparent;outline:none;transition:all .15s ease}.color-picker-color-input:focus{background:#3b82f60d}.color-picker-input-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.color-picker-input-separator{width:1px;height:100%;background:#e5e7eb;flex-shrink:0}.color-picker-opacity-value-input{width:56px;height:100%;padding:0 10px;border:none;font-size:14px;font-weight:400;color:#1c252e;background:transparent;outline:none;text-align:right}.color-picker-opacity-value-input:focus{background:#3b82f60d}.color-picker-copy-inside{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:45px;height:26px;border-radius:6px;border:none;gap:8px;padding:4px 8px;background:var(--action-selected, #919eab29);color:var(--text-secondary, #637381);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none;opacity:1}.color-picker-copy-inside:hover{background:#919eab66}.color-picker-copy-inside:active{transform:translateY(-50%) scale(.95)}.color-picker-copy{padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none}.color-picker-copy:hover{background:#f9fafb;border-color:#d1d5db;color:#111827}.color-picker-copy:active{transform:scale(.98)}.custom-color-button{width:44px;height:44px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;position:relative;overflow:hidden;transition:all .15s ease;background:#fff}.custom-color-button:hover{border-color:#cbd5e1;transform:scale(1.02)}.custom-color-button:active{transform:scale(.98)}.custom-color-button-color{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:8px;background:var(--color, #000000)}.embedded-color-picker{padding:0}.embedded-color-picker-content{width:100%;font-family:system-ui,-apple-system,sans-serif}.color-picker-recent-section{padding:16px 0;border-top:1px solid #f3f4f6}.custom-color-picker .color-picker-recent-section{padding:16px 8px}.color-picker-recent-section.embedded{padding:12px 0}.color-picker-recent-title{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;font-style:normal;font-size:.75rem;line-height:1.66;letter-spacing:.03333em;color:#637381;margin-bottom:8px}.color-picker-recent-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin-bottom:8px}.color-picker-recent-swatch{width:24px;height:24px;border-radius:6px;border:1px solid rgba(0,0,0,.1);cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;background-color:#fff;background-size:cover;background-position:center}.color-picker-recent-swatch:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,#637381 25%,transparent 25%),linear-gradient(-45deg,#637381 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#637381 75%),linear-gradient(-45deg,transparent 75%,#637381 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#fff;z-index:0;opacity:0;transition:opacity .15s ease}.color-picker-recent-swatch.has-transparency:before{opacity:1}.color-picker-recent-swatch-color{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:5px}.color-picker-recent-swatch:hover{border-color:#0003;box-shadow:0 2px 8px #00000026;z-index:1}.color-picker-recent-swatch:active{transform:scale(.95)}.color-picker-recent-placeholder{font-size:11px;color:#9ca3af;text-align:center;font-style:italic;padding:8px 0;display:none}.color-picker-tooltip{position:fixed;background:#000000e6;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:500;white-space:nowrap;z-index:10000;pointer-events:none;transform:translate(-50%);margin-top:4px;box-shadow:0 2px 8px #00000026}.color-picker-tooltip:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-bottom-color:#000000e6}.string-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.string-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.string-setting-wrapper .string-setting-wrapper{display:block;width:100%}.color-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-input-wrapper{position:relative;width:100%;justify-self:end}.color-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-text-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.color-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff}.color-preview:hover{transform:translateY(-50%) scale(1.05)}.setting-group .setting-group .color-setting-wrapper{min-height:36px}.setting-group .setting-group .color-input-wrapper{max-width:120px}.setting-group .setting-group .color-text-input{height:32px;padding:6px 10px 6px 32px;font-size:13px}.setting-group .setting-group .color-preview,.setting-group .setting-group .color-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .setting-group .color-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-input-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-text-input{height:28px;padding:4px 8px 4px 28px;font-size:12px}.setting-group .setting-group .setting-group .color-preview,.setting-group .setting-group .setting-group .color-picker{left:4px;width:16px;height:16px}.color-input-wrapper.error .color-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-input-wrapper.error .color-text-input:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.color-input-wrapper.disabled .color-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-picker:focus-visible+.color-preview{outline-offset:2px}.color-setting-tabs{display:flex;gap:0;padding:0;background:transparent}.color-tab{flex:1;border:none;background:transparent;padding:2px 4px;font-size:14px;font-weight:600;color:#637381;cursor:pointer;border-radius:4px;transition:all .15s ease;min-width:64px;height:30px;display:flex;align-items:center;justify-content:center}.color-tab:hover:not(.active){background:#eff1f280}.color-tab.active{background:#eff1f2;color:#1c252e}.color-content-global{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:4px}.global-color-btn{width:24px;height:24px;border-radius:50%;border:1px solid #eaecf0;cursor:pointer;transition:transform .1s;padding:0}.global-color-btn:hover{transform:scale(1.1);border-color:#d0d5dd}.global-color-btn.active{border:2px solid #2196f3;box-shadow:0 0 0 2px #2196f333}.color-with-opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.color-with-opacity-controls-wrapper{display:grid;grid-template-columns:1fr;gap:var(--space-sm, 8px);justify-self:end;width:100%}.color-with-opacity-input-wrapper,.color-with-opacity-opacity-wrapper{position:relative;width:100%}.color-with-opacity-text-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-left:36px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-text-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-text-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-text-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.color-with-opacity-picker{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;opacity:0;cursor:pointer;z-index:2}.color-with-opacity-preview{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e4e7ec);flex-shrink:0;transition:transform var(--transition-fast, .15s ease);pointer-events:none;background-color:#fff;cursor:pointer;overflow:hidden}.color-with-opacity-preview:hover{transform:translateY(-50%) scale(1.05)}.color-with-opacity-preview:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;z-index:-1}.color-with-opacity-opacity-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:20px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none;text-align:center}.color-with-opacity-opacity-input::placeholder{color:var(--color-text-muted, #98a2b3)}.color-with-opacity-opacity-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.color-with-opacity-opacity-suffix{position:absolute;right:var(--space-sm, 8px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.color-with-opacity-opacity-input::-webkit-inner-spin-button,.color-with-opacity-opacity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.color-with-opacity-opacity-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:120px}.setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .color-with-opacity-opacity-input{height:32px;padding:6px 10px;font-size:13px}.setting-group .setting-group .color-with-opacity-text-input{padding-left:32px}.setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .color-with-opacity-picker{left:6px;width:18px;height:18px}.setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:11px}.setting-group .setting-group .setting-group .color-with-opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .color-with-opacity-controls-wrapper{max-width:100px}.setting-group .setting-group .setting-group .color-with-opacity-input-wrapper,.setting-group .setting-group .setting-group .color-with-opacity-opacity-wrapper{width:100%}.setting-group .setting-group .setting-group .color-with-opacity-text-input,.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{height:28px;padding:4px 8px;font-size:12px}.setting-group .setting-group .setting-group .color-with-opacity-text-input{padding-left:28px}.setting-group .setting-group .setting-group .color-with-opacity-preview,.setting-group .setting-group .setting-group .color-with-opacity-picker{left:4px;width:16px;height:16px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-input{padding-right:20px}.setting-group .setting-group .setting-group .color-with-opacity-opacity-suffix{right:8px;font-size:10px}.color-with-opacity-input-wrapper.error .color-with-opacity-text-input{border-color:#f04438;background:#fff4f4;color:#f04438}.color-with-opacity-input-wrapper.disabled .color-with-opacity-text-input{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.html-setting-wrapper{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.html-setting-wrapper .icon-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.html-setting-wrapper .icon-container label{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0}.html-setting-wrapper .icon-container img{width:20px;height:20px;object-fit:contain}.html-setting-textarea{width:100%;min-height:120px;padding:12px;font-size:13px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1.4;border-radius:8px;color:var(--Gray-900, #101828);border:1px solid var(--Gray-300, #d0d5dd);background:var(--Base-White, #fff);resize:vertical;min-width:0;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.html-setting-textarea:focus{outline:none}.html-setting-textarea::placeholder{color:var(--Gray-500, #667085);font-style:italic}.html-setting-textarea:disabled{background-color:var(--Gray-50, #f9fafb);color:var(--Gray-500, #667085);cursor:not-allowed}@media (max-width: 768px){.html-setting-textarea{font-size:12px;padding:10px;min-height:100px}}.html-setting-textarea::-webkit-scrollbar{width:8px}.html-setting-textarea::-webkit-scrollbar-track{background:var(--Gray-100, #f2f4f7);border-radius:4px}.html-setting-textarea::-webkit-scrollbar-thumb{background-color:var(--Gray-300, #d0d5dd);border-radius:4px;border:2px solid transparent;background-clip:content-box}.html-setting-textarea::-webkit-scrollbar-thumb:hover{background-color:var(--Gray-400, #98a2b3)}.html-setting-textarea{scrollbar-width:thin;scrollbar-color:var(--Gray-300, #d0d5dd) var(--Gray-100, #f2f4f7)}.html-setting-textarea[data-syntax=html]{font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;-moz-tab-size:2;tab-size:2}.number-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.number-setting-input-container{position:relative;width:100%;justify-self:end}.number-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.number-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.number-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.number-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.number-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.suffix-label{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.number-setting-input::-webkit-inner-spin-button,.number-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .number-setting-wrapper{min-height:36px}.setting-group .setting-group .number-setting-input-container{max-width:120px}.setting-group .setting-group .number-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .suffix-label{right:10px;font-size:11px}.setting-group .setting-group .setting-group .number-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .number-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .number-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .suffix-label{right:8px;font-size:10px}.number-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.number-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.number-setting-input:focus-visible{outline-offset:2px}.opacity-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;min-height:40px}.icon-container{display:flex;align-items:center;gap:var(--space-sm, 8px)}.input-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--color-text-muted, #98a2b3)}.input-icon svg{width:16px;height:16px}.input-label{color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:500;line-height:1.4}.opacity-setting-input-container{position:relative;width:100%;justify-self:end}.opacity-setting-input{width:100%;height:36px;padding:var(--space-sm, 8px) var(--space-md, 12px);padding-right:44px;color:var(--color-text, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-md, 14px);font-weight:400;line-height:1.4;border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);box-sizing:border-box;border-radius:var(--radius-lg, 8px);transition:all var(--transition-fast, .15s ease);outline:none}.opacity-setting-input::placeholder{color:var(--color-text-muted, #98a2b3)}.opacity-setting-input:hover{border-color:var(--color-border-hover, #d0d5dd);background:var(--color-bg-hover, #f9fafb)}.opacity-setting-input:focus{background:var(--color-bg-focus, rgba(2, 204, 89, .05))}.opacity-setting-input:disabled{background:#f9fafb;color:var(--color-text-muted, #98a2b3);cursor:not-allowed;opacity:.7}.opacity-suffix{position:absolute;right:var(--space-md, 12px);top:50%;transform:translateY(-50%);color:var(--color-text-muted, #98a2b3);font-size:var(--font-size-sm, 12px);font-weight:500;pointer-events:none;z-index:1}.opacity-setting-input::-webkit-inner-spin-button,.opacity-setting-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.opacity-setting-input[type=number]{-moz-appearance:textfield}.setting-group .setting-group .opacity-setting-wrapper{min-height:36px}.setting-group .setting-group .opacity-setting-input-container{max-width:120px}.setting-group .setting-group .opacity-setting-input{height:32px;padding:6px 36px 6px 10px;font-size:13px}.setting-group .setting-group .opacity-suffix{right:10px;font-size:11px}.setting-group .setting-group .setting-group .opacity-setting-wrapper{min-height:32px}.setting-group .setting-group .setting-group .opacity-setting-input-container{max-width:100px}.setting-group .setting-group .setting-group .opacity-setting-input{height:28px;padding:4px 32px 4px 8px;font-size:12px}.setting-group .setting-group .setting-group .opacity-suffix{right:8px;font-size:10px}.opacity-setting-input.error{border-color:#f04438;background:#fff4f4;color:#f04438}.opacity-setting-input.error:focus{border-color:#f04438;box-shadow:0 0 0 4px #f044381a}.opacity-setting-input:focus-visible{outline-offset:2px}.select-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md, 12px);align-items:center;position:relative;width:100%;min-height:40px;z-index:1}.select-container .select-options{position:fixed;z-index:99999;max-width:300px;min-width:200px}.setting-group .select-container,.tab-content .select-container,.tabs-settings-container .select-container{position:relative;z-index:1}.select-container .icon-container{display:flex;align-items:center;margin-bottom:0}.select-container .icon-container .input-label{color:var(--color-text-secondary, #667085);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:var(--font-size-sm, 12px);font-style:normal;font-weight:400;line-height:1.4}.select-button{place-self:end;max-width:140px;width:100%;height:36px;min-height:36px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 var(--space-md, 12px);border-radius:var(--radius-lg, 8px);border:1px solid var(--color-border, #e4e7ec);background:var(--color-bg, #fff);cursor:pointer;font-size:var(--font-size-md, 14px);font-weight:400;color:var(--color-text, #1d2939);position:relative;transition:all var(--transition-fast, .15s ease);box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.select-button:hover{border-color:var(--color-border-hover, #d0d5dd);box-shadow:0 1px 3px #1018281a}.select-button:focus{outline:none}.select-button.has-label{padding-top:0;height:36px}.select-button .select-label{position:absolute;top:8px;left:16px;color:#667085;font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:18px;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-button .select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02cc59;border-radius:50%;animation:select-spin 1s linear infinite;z-index:2}@keyframes select-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-options{display:none;position:fixed!important;z-index:99999!important;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;flex-direction:column;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;transform:translateY(-8px);min-width:200px;max-width:300px}.select-options.open{display:flex;opacity:1;transform:translateY(0);animation:select-fade-in .2s ease forwards}@keyframes select-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:14px}.select-option:hover{background:#f9fafb}.select-option.selected{background:#b6dfc8;color:#344054;font-weight:400}.svg-container{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;pointer-events:none;z-index:1}.svg-container .svg-select{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select{transform:rotate(180deg)}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.setting-group .setting-group .select-container{min-height:36px}.setting-group .setting-group .select-button{height:32px;min-height:32px;max-width:120px;font-size:13px;padding:0 32px 0 10px}.setting-group .setting-group .select-container .icon-container .input-label{font-size:11px}.setting-group .setting-group .setting-group .select-container{min-height:32px}.setting-group .setting-group .setting-group .select-button{height:28px;min-height:28px;max-width:100px;font-size:12px;padding:0 28px 0 8px}.setting-group .setting-group .setting-group .select-container .icon-container .input-label{font-size:10px}.setting-group .setting-group .svg-container,.setting-group .setting-group .setting-group .svg-container{right:8px;width:16px;height:16px}.setting-group .setting-group .svg-container .svg-select,.setting-group .setting-group .setting-group .svg-container .svg-select{width:12px;height:12px}.align-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.align-setting-label{font-size:12px;color:var(--color-text)}.align-options-container{width:120px;color:#0006;background-color:#f5f6f7;border-radius:9999px;padding:4px 13px;display:flex;gap:8px;justify-self:flex-end}.align-option-button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:none;cursor:pointer;border-radius:50%;transition:background-color .2s,color .2s}.align-option-button:hover{background-color:#fff}.align-option-button.selected{background-color:var(--color-white);color:var(--color-black)}.button-setting-wrapper{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.button-setting{display:flex;height:30px;min-width:64px;padding:0;justify-content:center;align-items:center;gap:8px;flex:1 0 0;border:1px solid rgba(145,158,171,.32);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.dimension-setting-container{display:flex;flex-direction:column;gap:8px;position:relative;width:100%}.dimension-bracket{width:18px;height:42px;position:absolute;top:16px;right:122px;display:flex;align-items:center;justify-content:center;z-index:1}.dimension-bracket:before{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 1H5C2.79086 1 1 2.79086 1 5V15' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;top:0;right:1px}.dimension-bracket:after{content:"";position:absolute;width:13px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='15' viewBox='0 0 14 15' fill='none'><path d='M14 14H5C2.79086 14 1 12.2091 1 10V4.76837e-07' stroke='%23667085'/></svg>") no-repeat center center;background-size:contain;bottom:0;right:1px}.dimension-lock-icon{transform:translate(-.25rem);width:24px;height:24px;background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#667085;z-index:1;border-radius:4px;transition:all .2s ease}.dimension-lock-icon:hover{background-color:#f5f5f5;transform:translate(-.25rem) scale(1.1)}.dimension-setting-container.aspect-locked .dimension-lock-icon{color:#02cc59;background-color:#02cc591a;box-shadow:0 0 0 1px #02cc5933}.dimension-setting-container.aspect-locked .dimension-bracket:before,.dimension-setting-container.aspect-locked .dimension-bracket:after{filter:hue-rotate(210deg) saturate(2)}@media (max-width: 480px){.dimension-bracket{right:100px}}.upload-setting-wrapper{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.icon-title-container{display:flex;align-items:center;gap:8px;margin-bottom:4px}.icon-title-container .input-label{color:#344054;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500}.preview-button-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch;width:100%;gap:12px;border-radius:12px}.preview-button-container.no-image{justify-content:center}.preview-button-container.no-image .preview-placeholder{display:none}.preview-button-container.no-image .upload-button{width:100%;min-width:140px;flex-grow:1;margin:0 auto}.no-image .preview-placeholder{display:none!important}.preview-wrapper{position:relative;width:91px;height:71px;border-radius:4px;overflow:hidden;background-color:#d3d3d3;flex-shrink:0;display:none}.preview-wrapper.has-image{display:block}.upload-preview{width:100%;height:100%;object-fit:cover;border-radius:4px;display:none;background-position:center;background-size:146.165% 100%;background-repeat:no-repeat}.preview-wrapper.has-image .upload-preview{display:block;object-fit:contain;padding:2px}.empty-state{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#d3d3d3}.empty-state svg{width:100%;height:100%}.preview-wrapper.has-image .empty-state{display:none}.upload-button{width:100%;height:40px;display:flex;padding:5px 4px;flex-direction:row;align-items:center;gap:4px;border-radius:12px;border:1px solid var(--Gray-200, #eaecf0);background:var(--Base-White, #fff);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;flex-grow:0;justify-content:center;min-width:90px}.preview-wrapper:not(.has-image)+.upload-button{flex-grow:0}.upload-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.upload-icon{display:flex;align-items:center;justify-content:center}.upload-label{font-size:12px;font-weight:500;color:#344054}.delete-button{display:flex;width:24px;height:24px;padding:4px;justify-content:center;align-items:center;position:absolute;right:4px;top:4px;background:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:background-color .2s ease;z-index:2}.delete-button svg{width:14px;height:14px;flex-shrink:0}.delete-button:hover{background-color:#f3f4f6}.upload-setting-wrapper.no-label .preview-button-container{grid-row:1}.preview-placeholder{display:flex;justify-content:center;align-items:center;width:91px;height:71px;border-radius:4px;background-color:#f2f4f7;flex-shrink:0}.preview-button-container:not(:has(.preview-wrapper.has-image)) .preview-placeholder{display:flex}.upload-setting-wrapper .error-message{color:#f04438;font-size:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;line-height:1.4;margin-top:4px;margin-bottom:8px;padding:8px 12px;background-color:#fff4f4;border:1px solid #fecdca;border-radius:6px;display:none;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.upload-setting-wrapper .error-message:before{content:"⚠️";margin-right:6px}.preview-wrapper.loading{display:flex;align-items:center;justify-content:center;background-color:#f9fafb}.preview-wrapper.loading .upload-preview{display:none}.loading-spinner{width:29px;height:29px;display:flex;align-items:center;justify-content:center;animation:spin 1s linear infinite}.loading-spinner svg{width:100%;height:100%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--im-bg: #f6f8fb;--im-panel: #ffffff;--im-panel-strong: #f1f4f9;--im-card: #ffffff;--im-border: #d7deea;--im-border-strong: #c3d2ea;--im-text: #0f172a;--im-text-subtle: #4b5565;--im-accent: #3ca4ff;--im-accent-strong: #2f7bd1;--im-danger: #f04438;--im-success: #12b76a;--im-shadow: 0 10px 30px rgba(15, 23, 42, .12);--im-radius: 14px;--font: "Public Sans"}.image-map-setting-wrapper{display:grid;grid-template-columns:1fr;gap:12px;width:100%;font-family:var(--font)}.icon-container{display:flex;align-items:center;gap:8px}.input-label{color:#1f2937;font-size:14px;font-weight:600}.input-icon{display:flex;align-items:center;justify-content:center}.image-map-sections-container{display:flex;flex-direction:column;gap:16px}.image-map-section{display:flex;flex-direction:column;gap:8px}.image-map-section-title{color:#46525c;margin:0;font-family:var(--font);font-size:14px;font-style:normal;font-weight:600;line-height:150%}.image-map-upload-box{position:relative;display:flex;align-items:center;justify-content:center;height:40px;background:#f9fafb;border:1px solid rgba(145,158,171,.2);border-radius:12px;padding:4px;gap:12px;transition:all .2s ease}.image-map-upload-box:hover{border-color:#c7d5ed}.image-map-upload-box.has-image{border-style:solid;background:#eff1f2;justify-content:space-between;padding:4px!important;border-radius:12px;gap:12px;height:60px}.image-map-thumbnail-wrapper{position:relative;display:none;flex-shrink:0}.image-map-upload-box.has-image .image-map-thumbnail-wrapper{display:block}.image-map-thumbnail-main{width:121px;height:52px;background:#fff;object-fit:cover;border-radius:8px;display:block}.image-map-upload-label{cursor:pointer;display:flex;align-items:center;justify-content:center;flex:1;transition:all .2s ease;margin-right:22px}.upload-text{color:#637381;font-family:var(--font);font-size:12px;font-style:normal;font-weight:600;line-height:18px;letter-spacing:0;display:flex}.image-map-upload-box.has-image .image-map-upload-label{position:static;opacity:1;background:transparent;flex:1;display:flex;align-items:center;justify-content:end;padding-right:4px;max-width:fit-content}.image-map-upload-box.has-image .upload-text{display:none}.image-map-upload-box.has-image .image-map-upload-label:after{content:"Replace";color:#637381;font-family:var(--font);font-size:12px;font-weight:600}.upload-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:50%}.upload-icon svg{width:15px;height:16px}.image-map-upload-box.has-image .upload-icon{background:transparent;width:24px;height:24px}.image-map-upload-box.has-image .upload-icon svg{width:18px;height:18px}.upload-icon-default{display:flex}.upload-icon-replace,.image-map-upload-box.has-image .upload-icon-default{display:none}.image-map-upload-box.has-image .upload-icon-replace{display:flex}.image-map-delete-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:18px;height:18px;display:none;align-items:center;justify-content:center;background:#eff1f2;border:1px solid #ff5630;border-radius:500px;cursor:pointer;transition:all .2s ease;z-index:10;padding:0}.image-map-upload-box.has-image .image-map-delete-btn{display:flex;width:28px;height:28px}.image-map-delete-btn svg{width:14px;height:15px;flex-shrink:0}.image-map-button{display:flex;align-items:center;gap:12px;padding:4px;border-radius:12px;background:#f9fafb;border:1px solid #dce3ef;cursor:pointer;transition:all .2s ease;min-height:40px;border:1px solid rgba(145,158,171,.2);color:#0f172a;font-weight:600;justify-content:center}.image-map-button:hover:not(:disabled){border-color:#c7d5ed}.image-map-button:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.image-map-thumbnail{width:72px;height:52px;object-fit:cover;border-radius:8px;display:none;border:1px solid var(--im-border);background:#eef2f8}.image-map-button.has-image .image-map-thumbnail{display:block}.image-map-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.image-map-icon svg{width:18px;height:18px;aspect-ratio:1/1}.image-map-button.has-image .image-map-icon{display:none}.image-map-marker-count{color:#637381;font-family:var(--font);font-size:12px;font-style:normal;font-weight:600;line-height:18px;letter-spacing:0}.image-map-button.has-image .image-map-marker-count{color:#0f172a;font-size:14px;font-weight:600}.image-map-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:1;pointer-events:none}.image-map-popover{position:fixed;z-index:1;width:580px;max-width:94vw;height:600px;max-height:90vh;background:#fff;border-radius:var(--im-radius);border:1px solid var(--im-border-strong);box-shadow:0 20px 50px #0f172a29;display:flex;flex-direction:column;overflow:hidden;color:var(--im-text);gap:16px;padding:16px;z-index:99}.image-map-header{display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.image-map-title{margin:0;font-size:18px;font-weight:600;color:#1c252e;line-height:150%}.image-map-close-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:2px;transition:all .2s ease;padding:0}.image-map-close-btn:hover{background:#dbdfe2}.image-map-content{overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.image-map-main-layout{display:flex;gap:16px;height:100%;min-height:0}.image-map-image-section{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0}.prize-list-section{width:200px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden}.upload-section-wrapper{display:flex;flex-direction:column;gap:20px}.upload-section-title{font-size:16px;font-weight:700;color:#0f172a;margin:0 0 12px}.upload-section{display:flex;align-items:center;justify-content:center;min-height:180px;background:#f9fbfe;border:1px dashed #d7deea;border-radius:var(--im-radius)}.upload-label{cursor:pointer;width:100%;border:none;padding:0;background:none}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:56px;border:none;border-radius:var(--im-radius);background:transparent;transition:all .2s ease;color:#0f172a}.upload-placeholder:hover{background:#eef3fb}.upload-placeholder span{color:#0f172a;font-size:15px;font-weight:600}.upload-label.map-config-btn .upload-placeholder{border:1px solid #d7deea;border-radius:var(--im-radius);background:#fff}.upload-label.map-config-btn .upload-placeholder:hover{background:#f0f4fb;border-color:#c7d5ed}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:12px}.place-prize-text{color:var(--Blue-blue-1000, #1c252e);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:150%}.undo-redo-group{display:flex;gap:8px;flex:0 0 auto;margin-left:11px}.prize-counter-inline{color:var(--Blue-blue-500, #637381);text-align:right;font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:150%}.prize-counter-inline.complete{background:#f0fbf4;color:var(--im-success);border-color:#12b76a66}.action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;color:#0f172a;border-radius:2px}.action-btn:hover:not(:disabled){background:#dbdfe2}.action-btn:disabled{opacity:.35;cursor:not-allowed}.action-btn:disabled svg path{fill:#454f5b}.action-btn svg path{fill:#0f172a}.bottom-buttons{display:flex;justify-content:flex-end;gap:16px}.bottom-buttons>button,.bottom-buttons>.done-btn-wrapper{max-width:110px;width:100%}.clear-all-btn{display:flex;justify-content:center;align-items:center;gap:2px;border:1px solid var(--Blue-blue-100, #cfd4d8);border-radius:8px}.clear-all-btn svg{width:18px;height:18px;aspect-ratio:1/1}.clear-all-btn span{color:var(--Blue-blue-700, #46525c);text-align:center;font-size:14px;font-style:normal;font-weight:700;line-height:150%;text-transform:capitalize}.clear-all-btn:hover{border-radius:8px;border:1px solid var(--Blue-blue-100, #cfd4d8);background:var(--Blue-blue-50, #eff1f2)}.done-btn{display:flex;justify-content:center;align-items:center;gap:4px;border-radius:8px;background:var(--Blue-blue-1000, #1c252e);padding:8px 12px;color:var(--Blue-blue-50, #eff1f2);text-align:center;font-size:14px;font-style:normal;font-weight:700;line-height:150%;text-transform:capitalize;width:100%}.done-btn:hover:not(:disabled){border-radius:8px;background:var(--Blue-blue-900, #2a3036)}.done-btn:disabled{border-radius:8px;opacity:.5;background:var(--Blue-blue-1000, #1c252e)}.done-btn-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.done-btn-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,25%);display:none;flex-direction:column;align-items:center;pointer-events:none;z-index:1000}.done-btn-wrapper.has-tooltip:hover .done-btn-tooltip{display:flex}.done-btn-tooltip-content{display:flex;padding:var(--tooltip-py, 3px) var(--tooltip-px, 6px);justify-content:center;align-items:center;border-radius:var(--radius-075, 6px);background:var(--Blue-blue-1000, #1c252e);color:#fff;font-family:var(--font);line-height:150%;white-space:nowrap;text-align:center;font-size:11px;font-style:normal;font-weight:400}.done-btn-tooltip-tail{width:8px;height:4px;display:flex;align-items:center;justify-content:center;margin-top:-1px}.done-btn-tooltip-tail svg{width:8px;height:4px;fill:var(--Blue-blue-1000, #1c252e)}.image-map-error-tooltip{position:absolute;display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:none;transform:translate(-50%,-100%);opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:200}.image-map-error-tooltip.visible{opacity:1;transform:translate(-50%,calc(-100% - 2px))}.image-map-error-tooltip-content{display:flex;padding:var(--tooltip-py, 3px) var(--tooltip-px, 6px);justify-content:center;align-items:center;border-radius:6px;background:#ff5630;color:var(--components-tooltip-color, #fff);text-align:center;font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:150%;box-shadow:0 10px 24px #f044384d;white-space:nowrap}.image-map-error-tooltip-tail{width:8px;height:4px;display:flex;align-items:center;justify-content:center}.image-map-error-tooltip-tail svg{width:8px;height:4px;display:block}.image-map-error-tooltip-tail path{fill:#ff5630}.image-map-container{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding-right:4px}.image-map-container::-webkit-scrollbar{width:4px}.image-map-container::-webkit-scrollbar-track{background:#eff1f2}.image-map-container::-webkit-scrollbar-thumb{background:var(--Blue-blue-300, #96a1ab);border-radius:100px}.image-map-container::-webkit-scrollbar-thumb:hover{background:#7a8691}.image-map-wrapper{position:relative;width:100%;background:#fff;min-height:fit-content}.image-map-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;border-radius:8px}.prize-counter{font-size:14px;font-weight:700;color:var(--im-text);padding:10px 12px;background:#fff;border-radius:10px;border:1px solid var(--im-border);text-align:center}.prize-counter.complete{background:#f0fbf4;color:var(--im-success);border-color:#12b76a66}.prize-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:#f9fbfe;padding:2px;border-radius:10px}.prize-item{padding:12px;background:var(--im-card);border:1px solid var(--im-border);border-radius:12px;display:grid;grid-template-columns:36px 1fr 24px;align-items:center;gap:10px;box-shadow:inset 0 1px #ffffffb3}.prize-item.placed{border-color:#12b76a66;background:#f0fbf4}.prize-item.missing{border-color:#f0443840;background:#fff5f5}.prize-index{width:32px;height:32px;border-radius:8px;background:#f0f4fb;border:1px solid var(--im-border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--im-text)}.prize-label{display:flex;flex-direction:column;gap:2px}.prize-title{font-weight:700;color:#0f172a;font-size:14px}.prize-subtitle{color:#4b5565;font-size:12px}.prize-status{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffe6}.prize-status.placed{box-shadow:0 0 0 1px #12b76a40}.prize-status.missing{box-shadow:0 0 0 1px #f0443840}.prize-list-empty{padding:16px 10px;text-align:center;color:var(--im-text-subtle);font-size:12px}.sidebar-save-btn{padding:12px 16px;background:linear-gradient(145deg,#2f7bd1,#3ca4ff);color:#fff;border:1px solid rgba(60,164,255,.4);border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:transform .1s ease,box-shadow .2s ease;box-shadow:0 12px 30px #2f7cd14d}.sidebar-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 34px #3ca4ff59}.sidebar-save-btn:disabled{background:#e4eaf5;color:#7a869c;border-color:var(--im-border);cursor:not-allowed;box-shadow:none}.marker-container{position:absolute;display:flex;align-items:center;gap:10px;transform:translate(-13.5px,-34px);z-index:10;cursor:grab}.marker-container.dragging{cursor:grabbing;z-index:30}.marker-container.dragging .image-map-marker{transform:scale(1.1)}.image-map-marker{width:27px;height:34px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;-webkit-user-select:none;user-select:none;transition:transform .15s ease,filter .2s ease;position:relative;filter:drop-shadow(0 4px 12px rgba(240,68,56,.4))}.image-map-marker svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.marker-number{pointer-events:none;position:relative;z-index:1;margin-top:-8px}.marker-delete-btn{position:absolute;top:-10px;right:-8px;width:18px;height:18px;display:none;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s ease;z-index:50;pointer-events:auto;box-shadow:0 2px 1px #00000040;border-radius:100%}.marker-container:hover .marker-delete-btn{display:flex}.marker-cursor-tooltip{position:absolute;display:none;width:18px;height:18px;padding:2px;flex-direction:column;justify-content:center;align-items:center;gap:4px;aspect-ratio:1/1;border-radius:23px;background:#f04438cc;color:#fff;font-size:11px;font-weight:700;pointer-events:none;z-index:100;transform:translate(10px,10px)}.marker-cursor-tooltip.visible{display:flex}.image-map-error-toast{font-family:var(--font)}.image-map-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:11000;display:flex;align-items:center;justify-content:center;padding:16px}.image-map-confirm-modal{background:#fff;border:1px solid #dce3ef;border-radius:16px;width:360px;max-width:90vw;padding:20px;color:#0f172a;box-shadow:0 20px 50px #0f172a2e;transform:translateY(12px);opacity:0;transition:all .15s ease}.image-map-confirm-modal.visible{transform:translateY(0);opacity:1}.confirm-header{font-weight:700;font-size:16px;margin-bottom:8px}.confirm-body{font-size:14px;color:#4b5565;margin-bottom:18px;line-height:1.4}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-btn{padding:10px 14px;border-radius:10px;border:1px solid #dce3ef;background:#fff;color:#0f172a;font-weight:700;cursor:pointer;transition:all .15s ease;min-width:100px}.confirm-btn.ghost:hover{border-color:#c7d5ed;background:#eef3fb}.confirm-btn.danger{background:linear-gradient(145deg,#f04438,#c72f28);border-color:#f0443866;color:#fff}.confirm-btn.danger:hover{box-shadow:0 12px 24px #f044384d;transform:translateY(-1px)}.simple-prize-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;padding:12px 8px 4px 4px;flex:1;min-height:0;border-radius:4px;border:1px solid var(--Blue-blue-50, #eff1f2);background:#fff}.simple-prize-list::-webkit-scrollbar{width:4px}.simple-prize-list::-webkit-scrollbar-track{background:#eff1f2}.simple-prize-list::-webkit-scrollbar-thumb{background:var(--Blue-blue-300, #96a1ab);border-radius:100px}.simple-prize-list::-webkit-scrollbar-thumb:hover{background:#7a8691}.simple-prize-item{display:grid;grid-template-columns:35px 1fr 20px;padding:2px 4px;place-content:center;align-items:center;border-bottom:1px solid #eff1f2;height:25px}.simple-prize-text{color:var(--Blue-blue-1000, #1c252e);font-size:14px;font-style:normal;font-weight:400;line-height:150%;font-family:var(--font)}.simple-prize-item.placed .simple-prize-text{color:#1c252e}.simple-prize-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:8px}.simple-prize-check svg{width:14px;height:14px}.height-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.height-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.height-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.height-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting{display:grid;grid-template-columns:1fr 1fr;place-content:center;align-items:center}.width-setting-wrapper{display:flex;align-items:center;justify-content:space-between;gap:2px}.width-input-wrapper{position:relative;padding:8px 8px 8px 4px;width:120px;height:33px;display:flex;align-items:center;gap:4px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-bg)}.width-text-input{border:none;outline:none;width:65px;color:var(--color-input-text);font-size:14px;text-align:center;background:transparent}.width-setting .number-setting{width:100%}.select-api-container{display:grid;grid-template-columns:1fr;place-content:center;align-items:center;position:relative;width:100%}.select-api-button{width:100%;height:33px;min-height:33px;display:flex;align-items:center;justify-content:flex-start;padding:0 40px 0 16px;border-radius:8px;border:1px solid var(--color-border, #e4e7ec);background:#fff;cursor:pointer;color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:normal;position:relative;transition:all .2s ease;box-shadow:0 1px 2px #1018280d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:40px!important}.select-api-button:hover{border-color:#d0d5dd;box-shadow:0 1px 3px #1018281a}.select-api-button:focus{outline:none;border-color:#b6dfc8;box-shadow:0 0 0 4px #7f56d91a}.select-api-button .select-label{position:absolute;top:2px;color:#667085;font-family:Satoshi;font-size:12px;font-style:normal;font-weight:400;line-height:normal;pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80%}.select-api-button .select-value{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.select-api-button.loading{position:relative;color:#6e7891;background-color:#f9fafb;pointer-events:none;padding-left:36px!important}.select-api-button.loading:before{content:"";position:absolute;left:10px;top:25%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #e4e7ec;border-top:2px solid #02cc59;border-radius:50%;animation:select-api-spin 1s linear infinite;z-index:2}.select-api-button.has-label.loading{padding-left:36px!important}.select-api-button.has-label.loading .select-value{padding-left:0}.select-api-button.has-label.loading:before{top:18px;left:10px}@keyframes select-api-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-api-button.error{border-color:#f04438;color:#f04438;background-color:#fff4f4}.select-api-options{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;margin:0;padding:6px;list-style-type:none;z-index:1000;flex-direction:column;gap:2px;color:#101828;align-items:flex-start;border:1px solid #e4e7ec;background:#fff;border-radius:8px;box-shadow:0 12px 16px -4px #10182814,0 4px 6px -2px #10182808;transition:opacity .2s ease,transform .2s ease;opacity:0;transform:translateY(-8px)}.select-api-options.open{display:flex;opacity:1;transform:translateY(0)}.select-api-option{padding:10px 12px;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:10px;cursor:pointer;color:#344054;border-radius:6px;transition:background-color .15s ease;font-size:13px}.select-api-option-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.select-api-option:hover{background:#f9fafb}.select-api-option.selected{background:#b6dfc8;color:#344054;font-weight:500}.select-api-option.disabled{opacity:.6;cursor:not-allowed;color:#6e7891}.select-api-radio{width:16px;height:16px;border-radius:50%;border:1.5px solid #e4e7ec;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;margin:0;cursor:pointer;flex-shrink:0}.select-api-radio:checked{border-color:#02cc59;background:#fff;position:relative}.select-api-radio:checked:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#02cc59;border-radius:50%}.svg-container{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;pointer-events:none}.svg-container .svg-select-api{stroke:#667085;transition:transform .3s ease;width:16px;height:16px}.svg-container.open .svg-select-api{transform:rotate(180deg)}.select-api-container .icon-container{display:none}.select-api-options::-webkit-scrollbar{width:6px}.select-api-options::-webkit-scrollbar-track{background:transparent;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb{background:#e4e7ec;border-radius:8px}.select-api-options::-webkit-scrollbar-thumb:hover{background:#d0d5dd}.select-api-option.empty-message{text-align:center;color:#6e7891;font-style:italic;cursor:default;justify-content:center}.select-api-option.empty-message:hover{background:transparent}.select-api-option:focus{outline:none;box-shadow:0 0 0 2px #b6dfc8}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-api-options.open{display:flex;animation:fadeIn .2s ease forwards}.select-api-button.has-label{height:48px}.toggle-setting-container{display:flex;justify-content:space-between;align-items:center;padding-left:3px;padding-right:3px;flex-wrap:wrap}.toggle-label{color:#344054;font-family:Satoshi;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px;padding:2px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e4e7ec;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#02cc59}input:focus+.toggle-slider{box-shadow:0 0 1px #02cc59}input:checked+.toggle-slider:before{transform:translate(16px)}.toggle-with-icon .toggle-label{display:flex;align-items:center;gap:8px}.toggle-icon{display:flex;align-items:center;justify-content:center;color:#667085}.toggle-description{color:#637381;width:100%;margin:8px 0 0;font-size:11px;line-height:16px}.toggle-setting-container.toggle-has-description{border:1px dashed #919EAB66;border-radius:12px;padding:12px 8px;box-sizing:border-box}.gap-settings-container{display:flex;flex-direction:column;gap:12px;width:100%}.gap-settings-title{font-size:14px;font-weight:500;color:#344054;margin-bottom:4px}.gap-input-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%}.gap-label-container{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1}.gap-setting-icon{display:flex;align-items:center;justify-content:center;font-size:16px;color:#667085}.gap-setting-icon svg{width:16px;height:16px}.gap-input-label{font-size:13px;color:#667085}.gap-setting-inner-wrapper{position:relative;display:grid;grid-template-columns:1fr;place-content:center;align-items:center;width:120px}.gap-setting-input{width:100%;padding:8px;font-size:14px;border-radius:8px;color:#292b2e;border:1px solid var(--color-border);background:var(--color-bg);box-sizing:border-box}.suffix-wrapper{position:relative}.suffix-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding-left:8px;border-left:1px solid var(--color-divider);font-size:12px;color:var(--color-text)}.gap-setting-input::-webkit-outer-spin-button,.gap-setting-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gap-setting-input[type=number]{-moz-appearance:textfield}.margin-bottom-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-bottom-wrapper .setting-icon svg{width:18px;height:19px}.margin-bottom-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-bottom-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.margin-top-wrapper{display:grid;grid-template-columns:1fr auto;gap:auto}.margin-top-wrapper .setting-icon svg{width:18px;height:19px}.margin-top-wrapper .number-setting-input{background:#fff;min-width:95px;width:95px;padding:8px;border-radius:8px;border:1px solid #D0D5DD;font-size:14px;color:#292b2e}.margin-top-wrapper .setting-title{color:#667085;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.simple-multi-language-wrapper{display:flex;flex-direction:column;width:100%}.simple-multi-language-title{display:flex;justify-content:space-between;align-items:center;color:var(--Blue-blue-700, #46525c);font-family:Public Sans;font-size:14px;font-style:normal;font-weight:600;line-height:150%}.simple-multi-language-content{display:flex;flex-direction:column;gap:12px;width:100%}.multi-language-eye-icon{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;transition:color .2s,background .2s;border-radius:2px}.multi-language-eye-icon:hover{border-radius:2px;background:var(--Blue-hover, #dbdfe2);color:#000}.simple-multi-language-row{display:flex;flex-direction:column;gap:6px}.simple-language-label{font-size:12px;font-weight:500;color:var(--color-input-text);text-transform:uppercase;letter-spacing:.5px;margin-left:2px}.simple-language-textarea{width:100%;min-height:38px;font-size:14px;border-radius:8px;color:var(--color-input-text);border:1px solid var(--color-border);background:var(--color-bg);font-family:inherit;resize:none;line-height:1.4;overflow-y:hidden;box-sizing:border-box;padding:8px 12px;max-height:90px}.simple-language-textarea:focus{outline:none}.simple-language-textarea::placeholder{color:var(--color-text-muted, #6c757d);white-space:nowrap;text-overflow:ellipsis}.simple-language-textarea:placeholder-shown{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-language-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000}.multi-language-popup{position:fixed;background:#fff;border-radius:16px;padding:24px 16px;max-width:580px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 8px #919eab29;display:flex;flex-direction:column;gap:24px;z-index:1001}.multi-language-popup-header{display:flex;justify-content:space-between;align-items:center;cursor:move}.multi-language-popup-title{margin:0;font-family:Public Sans,sans-serif;font-size:18px;font-weight:600;line-height:1.5;color:#1c252e}.multi-language-popup-description{margin:4px 0 0;font-family:Public Sans,sans-serif;font-size:13px;font-weight:400;line-height:1.4;color:#2a3036}.multi-language-close-button{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:2px;transition:background-color .2s}.multi-language-close-button:hover{border-radius:2px;background:var(--Blue-hover, #dbdfe2)}.multi-language-close-button svg{width:24px;height:24px;color:#637381}.multi-language-popup-content{display:flex;flex-direction:column;gap:8px}.multi-language-popup-content .simple-multi-language-row{display:flex;flex-direction:column;gap:4px}.multi-language-popup-content .simple-language-label{font-family:Public Sans,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:#637381;text-transform:uppercase}.multi-language-popup-content .simple-language-textarea{width:100%;max-height:200px;font-family:Public Sans,sans-serif;font-size:14px;font-weight:400;line-height:1.5;color:#1c252e;border:1px solid #eff1f2;background:#fff;border-radius:8px;padding:16px;resize:none;box-sizing:border-box;transition:border-color .2s;overflow-y:auto}.multi-language-popup-content .simple-language-textarea:focus{outline:none}.multi-language-popup-content .simple-language-textarea::placeholder{color:#637381}.multi-language-popup-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px}.multi-language-done-button{background:#1c252e;border:none;border-radius:8px;padding:8px 12px;min-width:104px;height:37px;cursor:pointer;font-family:Public Sans,sans-serif;font-size:14px;font-weight:700;line-height:1.5;color:#eff1f2;text-transform:capitalize;transition:background-color .2s}.multi-language-done-button:hover{background:#2c3840}.multi-language-done-button:disabled{background:#919eab;cursor:not-allowed}.translation-manager{padding:20px;background:var(--color-bg, #fff);border-radius:12px;border:1px solid var(--color-border, #e0e0e0);margin:20px 0}.translation-manager-title{margin:0 0 16px;font-family:Public Sans,sans-serif;font-size:16px;font-weight:600;color:var(--Blue-blue-700, #46525c)}.translation-manager-buttons{display:flex;gap:12px;margin-bottom:12px}.translation-manager-button{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-family:Public Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.translation-manager-button svg{width:16px;height:16px}.translation-manager-button.export-button{background:#1c252e;color:#fff}.translation-manager-button.export-button:hover{background:#2c3840}.translation-manager-button.import-button{background:#fff;color:#1c252e;border:1px solid #1c252e}.translation-manager-button.import-button:hover{background:#f5f5f5}.translation-manager-info{margin:0;font-family:Public Sans,sans-serif;font-size:13px;color:#637381;line-height:1.5}@media (max-width: 640px){.simple-multi-language-row{gap:4px}.simple-language-label{font-size:11px}.simple-language-textarea{min-height:0;padding:8px;font-size:13px}.multi-language-popup{width:95%;padding:16px}.multi-language-popup-title{font-size:16px}.translation-manager-buttons{flex-direction:column}.translation-manager-button{width:100%;justify-content:center}}.bgset-or-label{margin:8px 0;text-align:center;font-weight:500;color:#667085;align-self:center}.settings-container,.main-settings-container,[data-settings-container]{height:auto;min-height:auto;overflow:visible;flex-shrink:0}.container,.wrapper,.main-wrapper{height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}:root{--sg-spacing-0: 16px;--sg-spacing-1: 12px;--sg-spacing-2: 8px;--sg-spacing-3: 6px;--sg-border-0: #eaecf0;--sg-border-1: #d0d5dd;--sg-border-2: #e5e7eb;--sg-border-3: #f2f4f7;--sg-bg-0: #fff;--sg-bg-1: #fff;--sg-bg-2: #fff;--sg-bg-3: #fff;--sg-shadow-0: 0px 1px 3px rgba(16, 24, 40, .1), 0px 1px 2px rgba(16, 24, 40, .06);--sg-shadow-1: 0px 1px 2px rgba(16, 24, 40, .05);--sg-shadow-2: 0px 1px 1px rgba(16, 24, 40, .04);--sg-shadow-3: none}.setting-group{display:flex;flex-direction:column;width:100%;gap:8px;border-radius:8px;margin:0 auto;-webkit-user-select:none;user-select:none;position:relative;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group[data-nesting-level="0"]{padding:var(--sg-spacing-0);border-radius:8px;background:transparent}.setting-group[data-nesting-level="1"]{padding:var(--sg-spacing-1);border-radius:6px;background:transparent}.setting-group[data-nesting-level="2"]{padding:var(--sg-spacing-2);border-radius:4px}.setting-group[data-nesting-level="3"],.setting-group[data-nesting-level="4"],.setting-group[data-nesting-level="5"]{padding:var(--sg-spacing-3);border-radius:4px}.setting-group.collapsed{padding:0;border:none;background:transparent;box-shadow:none}.setting-group[data-nesting-level="0"] .setting-group-content{padding:0 8px 8px;gap:8px}.setting-group[data-nesting-level="1"] .setting-group-content{padding:0 8px 8px;gap:6px}.setting-group[data-nesting-level="2"] .setting-group-content{padding:0 8px 8px;gap:4px}.setting-group[data-nesting-level="3"] .setting-group-content,.setting-group[data-nesting-level="4"] .setting-group-content,.setting-group[data-nesting-level="5"] .setting-group-content{padding:0 6px 6px;gap:3px}.setting-group-title{display:flex;justify-content:space-between;align-items:center;padding:4px 0;cursor:pointer;border-radius:6px}.setting-group-title h3{color:var(--Gray-800, #1d2939);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;line-height:20px;margin:0;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group[data-nesting-level="1"] .setting-group-title h3{font-size:13px;font-weight:500}.setting-group[data-nesting-level="2"] .setting-group-title h3{font-size:12px;font-weight:500}.setting-group[data-nesting-level="3"] .setting-group-title h3,.setting-group[data-nesting-level="4"] .setting-group-title h3,.setting-group[data-nesting-level="5"] .setting-group-title h3{font-size:11px;font-weight:500}.setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;transform:rotate(180deg);color:var(--Gray-500, #344054)}.setting-group-arrow.rotated{transform:rotate(0)}.setting-group-content{display:flex;flex-direction:column;width:100%;opacity:1;overflow:visible;max-width:100%;box-sizing:border-box}.setting-group-content.collapsed{opacity:0;margin:0;padding:0;pointer-events:none;display:none}.setting-group.main-group{padding:16px;border:none;border-bottom:1px solid var(--Border-default, #d5dce5);box-shadow:none;margin-top:4px;border-radius:8px;width:100%;position:relative;margin-bottom:8px;max-height:none;overflow:visible;max-width:100%;box-sizing:border-box;height:auto;min-height:auto;flex-shrink:0}.setting-group.main-group.collapsed{padding:0;background:transparent!important;border:none;box-shadow:none;margin:0}.setting-group.main-group.collapsed .setting-group-title.collapsed-view{height:55px;border:none;margin-bottom:8px;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group.main-group .setting-group-title h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px}.setting-group-content.main-content{width:100%;border:0;box-shadow:none;padding:0;height:auto;min-height:auto;overflow:visible;flex-shrink:0}.setting-divider{height:1px;width:100%;background-color:#f2f4f7;margin:4px 0}.setting-group-content>*:last-child{margin-bottom:0}.setting-group.active{border-color:#d6bbfb;box-shadow:0 0 0 4px #7f56d91a}.setting-group-empty{color:#667085;font-size:13px;font-style:italic;padding:12px 0;text-align:center}.setting-group-title.collapsed-view{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;height:36px;border-radius:8px;background:var(--Base-White, #fff);margin-bottom:0;position:relative;overflow:visible;cursor:pointer}.setting-group.main-group .setting-group-title.collapsed-view{height:55px;border:none;border-bottom:1px solid var(--Border-default, #d5dce5)}.setting-group:not(.main-group) .setting-group-title.collapsed-view{height:36px;background:#fff;padding:14px}.setting-group-title .title-section{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.setting-group-title .group-icon{display:flex;justify-content:center;align-items:center;color:var(--Gray-500, #667085);flex-shrink:0;width:20px;height:20px}.setting-group-title.collapsed-view h3{color:#344054;font-family:Satoshi;font-size:14px;font-weight:700;line-height:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-group-title.collapsed-view .group-badge{display:flex;padding:2px 8px;justify-content:center;align-items:center;border-radius:16px;background:var(--Gray-100, #f2f4f7);color:var(--Gray-700, #344054);font-size:12px;font-weight:500;line-height:18px;margin-left:8px}.setting-group-title .actions-section{display:flex;align-items:center;gap:8px;margin-left:12px}.setting-group-title.collapsed-view .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;color:var(--Gray-500, #667085)}.setting-group-title .setting-group-arrow.rotated{transform:rotate(0)}.setting-group-title.collapsed-view .info-marker{width:16px;height:16px;color:var(--Gray-400, #98a2b3);cursor:help}.setting-group-description{color:#667085;font-size:13px;margin-bottom:8px;line-height:1.4}@media (max-width: 768px){.setting-group-title.collapsed-view{padding:10px 12px}.setting-group-title .title-section{gap:8px}.setting-group-title.collapsed-view .group-badge{display:none}}@media (max-width: 480px){.setting-group-title.collapsed-view h3{font-size:13px}.setting-group-title.collapsed-view .setting-group-arrow{width:24px;height:24px}.setting-group-title.collapsed-view{padding:0 10px}}.setting-group-title.collapsed-view.striped:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--Primary-100, #f4ebff);border-radius:4px 0 0 4px}.setting-group.custom-container{border:none;box-shadow:none;margin:4px 0;padding:0;background:transparent}.setting-group.custom-container>.setting-group-title{display:none}.sg-add-button-bottom{display:flex;height:30px;min-width:64px;padding:6px 12px;justify-content:center;align-items:center;flex:1 0 0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;letter-spacing:.01em;text-align:center}.sg-add-button-bottom:hover{background:#eee}.setting-group.custom-container .setting-group-content{padding:0}.custom_class{border:0!important;box-shadow:none!important;margin:4px 0!important}.custom_class>.setting-group-title{display:none!important}.custom_class .setting-group-content{padding:0!important}.setting-group-title:focus-visible{outline:2px solid #02cc59;outline-offset:2px}.setting-group::-webkit-scrollbar,.setting-group-content::-webkit-scrollbar{width:8px;height:8px}.setting-group::-webkit-scrollbar-track,.setting-group-content::-webkit-scrollbar-track{background:#f0f2f4;border-radius:4px}.setting-group::-webkit-scrollbar-thumb,.setting-group-content::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:4px;border:2px solid transparent;background-clip:content-box}.setting-group::-webkit-scrollbar-thumb:hover,.setting-group-content::-webkit-scrollbar-thumb:hover{background-color:#98a2b3}.setting-group,.setting-group-content{scrollbar-width:thin;scrollbar-color:#c2c9d6 #f0f2f4}.tabs-settings-container{display:flex;flex-direction:column;width:100%;border-radius:8px;background:transparent;overflow:visible;position:relative;z-index:1;max-width:100%;box-sizing:border-box}.tabs-settings-container.main-group{background:#fff;box-shadow:0 1px 2px #1018280d}.tabs-header{width:100%;display:flex;padding:4px;justify-content:center;align-items:center;gap:4px;align-self:stretch;flex-shrink:0;background:#f1f3f2;position:relative;z-index:1;border-radius:400px;margin-bottom:8px}.tabs-header.main-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:8px 8px 0 0;padding:8px;margin-bottom:0}.tab-button{display:flex;padding:4px 12px;justify-content:center;align-items:center;background-color:transparent;gap:8px;flex:1 0 0;border-radius:400px;color:#000000b3;font-family:Satoshi,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-style:normal;font-weight:500;line-height:20px;box-shadow:0 0 #10182800;position:relative;z-index:1;cursor:pointer;transition:all .2s ease;outline:none}.tab-button:active{box-shadow:0 1px 2px -1px #10182805}.tab-button.active{color:#000;font-weight:700;border-radius:400px;background:#fff;box-shadow:0 4px 8px -2px #1018280a}.tab-button.active:active{box-shadow:0 2px 4px -1px #1018280a}.tab-button:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}.tab-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.tab-icon svg{width:100%;height:100%}.tab-content{position:relative;overflow:visible;width:100%;z-index:1;margin-top:8px;max-width:100%;box-sizing:border-box;animation:fadeIn .2s ease-in-out}.tab-panel{display:grid;gap:8px;position:absolute;width:100%;opacity:0;pointer-events:none;overflow:visible;z-index:1;max-width:100%;box-sizing:border-box}.tab-panel.active{opacity:1;pointer-events:auto;position:relative;overflow:visible;z-index:1;max-width:100%;box-sizing:border-box}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.tabs-header{padding:3px}.tab-button{padding:3px 8px;font-size:11px}}@media (max-width: 480px){.tab-button{padding:2px 6px;font-size:10px}.tab-icon{width:14px;height:14px}}.tab-content>.setting-group{margin-bottom:12px}.tab-content>.setting-group:last-child{margin-bottom:0}.tabs-settings-container.main-group .setting-group-content{border-top:none;border-radius:0 0 8px 8px}.setting-group.main-group.collapsed .tabs-header,.setting-group.main-group.collapsed .setting-group,.setting-group .setting-group.collapsed .tabs-header,.tabs-settings-container.collapsed .tabs-header,.tabs-settings-container.collapsed .tab-content{display:none}:root{--color-border: #d5dce5;--color-bg: #f8f8f8;--color-border-secondary: #eaecf0;--color-text: #667085;--color-title: #344054;--color-input-text: #292b2e;--color-white: #fff;--color-black: #000;--color-divider: #dcdcdc;--color-btn-text: #4b4b4b;--color-bg-icon: #f2f4f7}*{padding:0;margin:0;border:none}*,*:before,*:after{box-sizing:border-box}a,a:link,a:visited,a:hover{text-decoration:none}body{font-family:Satoshi,sans-serif;font-weight:400;font-size:12px;line-height:18px}aside,nav,footer,header,section,main{display:block}h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-weight:inherit}ul,ul li{list-style:none}img{vertical-align:top}img,svg{max-width:100%;height:auto}address{font-style:normal}input::-ms-clear{display:none}button,input[type=submit]{display:inline-block;box-shadow:none;background-color:transparent;background:none;cursor:pointer}input:focus,input:active,button:focus,button:active{outline:none}button::-moz-focus-inner{padding:0;border:0}label{cursor:pointer}legend{display:block}
@@ -4,6 +4,8 @@ export interface LanguagePopupOptions {
4
4
  languages: string[];
5
5
  values: MultiLanguageValue;
6
6
  placeholder?: string;
7
+ /** Optional short description shown under the title in the popup header */
8
+ description?: string;
7
9
  multiImg: boolean;
8
10
  onClose: () => void;
9
11
  onInput: (languageCode: string, value: string) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "builder-settings-types",
3
3
  "description": "builder settings",
4
- "version": "0.0.424",
4
+ "version": "0.0.425",
5
5
  "type": "module",
6
6
  "main": "dist/builder-settings-types.cjs.js",
7
7
  "module": "dist/builder-settings-types.es.js",