PageSourceSearch

https://colara.co/assets/FloorPlan-CKdvc2TM.js

js colara.co collected 2026-10-02 01:23:41 UTC 356,673 bytes, 58 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jspdf-BCiLvle7.js","assets/index-BDOD5E4V.js","assets/vendor-Dz9lJ0A9.js","assets/index-DOWM1KK1.css","assets/index-BzQS2LSK.js"])))=>i.map(i=>d[i]);
2import{an as ue,aJ as Lo,aK as Oo,aL as Eo,aM as Io,aN as zo,aO as Ro,aP as Go,aQ as Ho,H as Lr,S as ja,Q as qo,a0 as Ze,a1 as Xe,a2 as Je,a3 as et,a4 as tt,B as F,L as Re,P as Me,as as ft,dY as pt,U as Or,m as z,K as G,X as ws,e as bs,aw as Hl,f as Oe,a as ql,ac as Ul,b9 as Vl,T as Ee,z as Ie,G as ze,E as co,a9 as Kl,N as Wi,a5 as Qt,_ as wa,aY as Yl}from"./index-BDOD5E4V.js";import{j as e,r as $}from"./vendor-Dz9lJ0A9.js";import{u as Ql}from"./use-undo-delete-Cmuf5YzP.js";import{B as wt}from"./badge-DV7OMou0.js";import{I as ye}from"./input-uKcRzRZU.js";import{L as X}from"./label-xakz0IwZ.js";import{S as Uo}from"./scroll-area-BaXMPoBq.js";import{S as Qs}from"./slider-4P3A2jdx.js";import{D as Zl,a as Xl,b as Jl,c as Di}from"./dropdown-menu-CIia9Fy3.js";import{R as en}from"./ReadOnlyBanner-CbncLEIt.js";import{a as tn,f as ho}from"./date-utils-VPArwFdR.js";import{l as sn,i as rn,j as an,m as on}from"./print-cover-DUWygYtX.js";import{C as ct,G as xo}from"./gem-DEMHl1Fi.js";import{S as ka}from"./square--S4JkUy3.js";import{C as js}from"./crown-BKKow_63.js";import{B as ln}from"./baby-C40AFrM4.js";import{G as fo}from"./gift-sv83lokF.js";import{U as Bi,V as nn}from"./volume-2-ULTSMlrB.js";import{S as cn}from"./scroll-text-Cl-FGltI.js";import{B as po}from"./book-open-BPTC-Alm.js";import{A as $e}from"./armchair-DMnRI1gv.js";import{F as Ti}from"./flame-D4lXH_i0.js";import{F as mo}from"./footprints-Y4zqTvN3.js";import{T as Ar}from"./type-g_xSssDo.js";import{C as $a}from"./camera-DNX3tEqr.js";import{V as dn}from"./video-BVe2yUt5.js";import{P as uo}from"./party-popper-DEXQZVum.js";import{L as hn}from"./lightbulb-DzUpI8p_.js";import{W as Dt}from"./wine-BBVhHSxR.js";import{T as xn}from"./truck-CtHsQLCs.js";import{S as yo}from"./star-eyEMRSoI.js";import{L as Xs}from"./layout-grid-D3ok2cOJ.js";import{L as fn}from"./log-out-h9EP8l1l.js";import{S as pn}from"./shirt-C4zYJjxP.js";import{Z as go}from"./zap-BFvx7yl0.js";import{P as mn}from"./package-BL23hr1L.js";import{D as un}from"./droplets-BsceCYgC.js";import{C as bo}from"./car-CJJzFDpv.js";import{uploadImageToServer as yn}from"./use-upload-BhuNLqHD.js";import{a as gn}from"./use-page-edit-permission-CML5S_Fz.js";import{f as ks}from"./client-name-DrkX_Dts.js";import{D as bn}from"./disclosure-summary-Cx23ywG7.js";import{S as jn}from"./switch-CTKr17l3.js";import{S as wn,a as kn,b as $n,c as vn,d as jo}from"./select-BqpPFFZ7.js";import{P as Js}from"./plus-DXEHL3ds.js";import{M as Mn}from"./minus-B-fC42jJ.js";import{S as Ba}from"./save-C1Cv7VS4.js";import{C as wo}from"./clock-BGjkcAN7.js";import{R as _n}from"./rotate-ccw-DBoJyePA.js";import{T as $t}from"./trash-2-DB6k7OfX.js";import{S as Cn}from"./settings-2-0Dw1bLtV.js";import{H as Nn}from"./history-TSbdg5kV.js";import{F as Sn}from"./folder-open-DTRDd6Do.js";import{U as Wn}from"./undo-2-DuE24aMz.js";import{R as Dn}from"./redo-2-PiBgLAWS.js";import{a as Bn,Z as Tn}from"./zoom-out-DGBI4mWQ.js";import{M as An}from"./maximize-2-DNPLg8bk.js";import{H as Pn}from"./hash-8pj_uYEm.js";import{E as ko}from"./eye-off-lB8x--i3.js";import{F as Fn}from"./file-down-F0NSEYpf.js";import{P as Ln}from"./printer-bDZ0QXy3.js";import{A as va,m as Ma}from"./framer-motion-B-6Peltb.js";import{S as On}from"./search-_0AhvJvF.js";import{U as En}from"./upload-BLxF6oWs.js";import{P as _a}from"./pencil-Ct3hcvbE.js";import{G as In}from"./grip-vertical-WdKeR_bN.js";import{U as zn}from"./utensils-crossed-BUwcp5To.js";import{C as Rn}from"./copy-dUWtYfC2.js";import{A as Gn}from"./arrow-up-T2GzoczE.js";import{A as Hn}from"./arrow-down-DB2vZ9g8.js";import{f as qn}from"./format-TE1zKFYr.js";import"./index-DBElOBAj.js";import"./index-DiCFY80r.js";import"./index-BA0H7U-E.js";import"./check-DtEZOD33.js";import"./chevron-right-DSIqreSQ.js";import"./circle-f4EkfFjA.js";import"./platform-fee-BXS45kYa.js";import"./WorkspaceTrialOffer-CtabjGYt.js";import"./use-subscription-L5b-ZlfW.js";import"./demo-ids-9GOwPNZM.js";import"./lock-B6WKmd2G.js";import"./page-keys-CfdTyt9X.js";import"./timeline-plan-DMrHSBzv.js";import"./free-plan-galleries-DRlNoTXr.js";import"./free-tier-pages-BBb825GL.js";import"./chevron-up-Cxk5DR03.js";import"./en-US-B1YEHn5a.js";import"./differenceInCalendarDays-CLfZenBU.js";import"./getTimezoneOffsetInMilliseconds-Dg5lkPpW.js";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};i.SENTRY_RELEASE={id:"8dd115ac638cf6a2a2cf5668d0686c96509328ed"};var s=new i.Error().stack;s&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[s]="d3b24095-bc8f-47a9-9008-b23e85eb5307",i._sentryDebugIdIdentifier="sentry-dbid-d3b24095-bc8f-47a9-9008-b23e85eb5307")}catch{}})();const Un=[["circle",{cx:"16",cy:"4",r:"1",key:"1grugj"}],["path",{d:"m18 19 1-7-6 1",key:"r0i19z"}],["path",{d:"m5 8 3-3 5.5 3-2.36 3.5",key:"9ptxx2"}],["path",{d:"M4.24 14.5a5 5 0 0 0 6.88 6",key:"10kmtu"}],["path",{d:"M13.76 17.5a5 5 0 0 0-6.88-6",key:"2qq6rc"}]],Vn=ue("accessibility",Un);const Kn=[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]],Yn=ue("arrow-left-right",Kn);const Qn=[["path",{d:"M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8",key:"1w3rig"}],["path",{d:"M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1",key:"n2jgmb"}],["path",{d:"M2 21h20",key:"1nyx9w"}],["path",{d:"M7 8v3",key:"1qtyvj"}],["path",{d:"M12 8v3",key:"hwp4zt"}],["path",{d:"M17 8v3",key:"1i6e5u"}],["path",{d:"M7 4h.01",key:"1bh4kh"}],["path",{d:"M12 4h.01",key:"1ujb9j"}],["path",{d:"M17 4h.01",key:"1upcoc"}]],$o=ue("cake",Qn);const Zn=[["path",{d:"M9 5v4",key:"14uxtq"}],["rect",{width:"4",height:"6",x:"7",y:"9",rx:"1",key:"f4fvz0"}],["path",{d:"M9 15v2",key:"r5rk32"}],["path",{d:"M17 3v2",key:"1l2re6"}],["rect",{width:"4",height:"8",x:"15",y:"5",rx:"1",key:"z38je5"}],["path",{d:"M17 13v3",key:"5l0wba"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}]],Xn=ue("chart-candlestick",Zn);
2const Jn=[["path",{d:"M10 9h4",key:"u4k05v"}],["path",{d:"M12 7v5",key:"ma6bk"}],["path",{d:"M14 21v-3a2 2 0 0 0-4 0v3",key:"1rgiei"}],["path",{d:"m18 9 3.52 2.147a1 1 0 0 1 .48.854V19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-6.999a1 1 0 0 1 .48-.854L6 9",key:"flvdwo"}],["path",{d:"M6 21V7a1 1 0 0 1 .376-.782l5-3.999a1 1 0 0 1 1.249.001l5 4A1 1 0 0 1 18 7v14",key:"a5i0n2"}]],ec=ue("church",Jn);const tc=[["path",{d:"M17 12H3a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h14",key:"1mb5g1"}],["path",{d:"M18 8c0-2.5-2-2.5-2-5",key:"1il607"}],["path",{d:"M21 16a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"1yl5r7"}],["path",{d:"M22 8c0-2.5-2-2.5-2-5",key:"1gah44"}],["path",{d:"M7 12v4",key:"jqww69"}]],sc=ue("cigarette",tc);const rc=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],Ca=ue("columns-3",rc);const ic=[["path",{d:"M4 9a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h4a1 1 0 0 1 1 1v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a1 1 0 0 1 1-1h4a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2h-4a1 1 0 0 1-1-1V4a2 2 0 0 0-2-2h-2a2 2 0 0 0-2 2v4a1 1 0 0 1-1 1z",key:"1xbrqy"}]],ac=ue("cross",ic);const oc=[["path",{d:"M11 20H2",key:"nlcfvz"}],["path",{d:"M11 4.562v16.157a1 1 0 0 0 1.242.97L19 20V5.562a2 2 0 0 0-1.515-1.94l-4-1A2 2 0 0 0 11 4.561z",key:"au4z13"}],["path",{d:"M11 4H8a2 2 0 0 0-2 2v14",key:"74r1mk"}],["path",{d:"M14 12h.01",key:"1jfl7z"}],["path",{d:"M22 20h-3",key:"vhrsz"}]],Ai=ue("door-open",oc);const lc=[["path",{d:"M12 5a3 3 0 1 1 3 3m-3-3a3 3 0 1 0-3 3m3-3v1M9 8a3 3 0 1 0 3 3M9 8h1m5 0a3 3 0 1 1-3 3m3-3h-1m-2 3v-1",key:"3pnvol"}],["circle",{cx:"12",cy:"8",r:"2",key:"1822b1"}],["path",{d:"M12 10v12",key:"6ubwww"}],["path",{d:"M12 22c4.2 0 7-1.667 7-5-4.2 0-7 1.667-7 5Z",key:"9hd38g"}],["path",{d:"M12 22c-4.2 0-7-1.667-7-5 4.2 0 7 1.667 7 5Z",key:"ufn41s"}]],kt=ue("flower-2",lc);const nc=[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]],cc=ue("gamepad-2",nc);const dc=[["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M4.077 10.615A1 1 0 0 0 5 12h14a1 1 0 0 0 .923-1.385l-3.077-7.384A2 2 0 0 0 15 2H9a2 2 0 0 0-1.846 1.23Z",key:"1l7kg2"}],["path",{d:"M8 20a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1z",key:"1mmzpi"}]],Pi=ue("lamp",dc);const hc=[["path",{d:"M10 18v-7",key:"wt116b"}],["path",{d:"M11.12 2.198a2 2 0 0 1 1.76.006l7.866 3.847c.476.233.31.949-.22.949H3.474c-.53 0-.695-.716-.22-.949z",key:"1m329m"}],["path",{d:"M14 18v-7",key:"vav6t3"}],["path",{d:"M18 18v-7",key:"aexdmj"}],["path",{d:"M3 22h18",key:"8prr45"}],["path",{d:"M6 18v-7",key:"1ivflk"}]],Pr=ue("landmark",hc);const xc=[["path",{d:"m11 7.601-5.994 8.19a1 1 0 0 0 .1 1.298l.817.818a1 1 0 0 0 1.314.087L15.09 12",key:"80a601"}],["path",{d:"M16.5 21.174C15.5 20.5 14.372 20 13 20c-2.058 0-3.928 2.356-6 2-2.072-.356-2.775-3.369-1.5-4.5",key:"j0ngtp"}],["circle",{cx:"16",cy:"7",r:"5",key:"d08jfb"}]],vo=ue("mic-vocal",xc);const fc=[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]],Fi=ue("music",fc);const pc=[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"2",key:"9lu3g6"}]],st=ue("rectangle-horizontal",pc);const mc=[["path",{d:"M21.3 15.3a2.4 2.4 0 0 1 0 3.4l-2.6 2.6a2.4 2.4 0 0 1-3.4 0L2.7 8.7a2.41 2.41 0 0 1 0-3.4l2.6-2.6a2.41 2.41 0 0 1 3.4 0Z",key:"icamh8"}],["path",{d:"m14.5 12.5 2-2",key:"inckbg"}],["path",{d:"m11.5 9.5 2-2",key:"fmmyf7"}],["path",{d:"m8.5 6.5 2-2",key:"vc6u1g"}],["path",{d:"m17.5 15.5 2-2",key:"wo5hmg"}]],Mo=ue("ruler",mc);const uc=[["path",{d:"m10 20-1.25-2.5L6 18",key:"18frcb"}],["path",{d:"M10 4 8.75 6.5 6 6",key:"7mghy3"}],["path",{d:"m14 20 1.25-2.5L18 18",key:"1chtki"}],["path",{d:"m14 4 1.25 2.5L18 6",key:"1b4wsy"}],["path",{d:"m17 21-3-6h-4",key:"15hhxa"}],["path",{d:"m17 3-3 6 1.5 3",key:"11697g"}],["path",{d:"M2 12h6.5L10 9",key:"kv9z4n"}],["path",{d:"m20 10-1.5 2 1.5 2",key:"1swlpi"}],["path",{d:"M22 12h-6.5L14 15",key:"1mxi28"}],["path",{d:"m4 10 1.5 2L4 14",key:"k9enpj"}],["path",{d:"m7 21 3-6-1.5-3",key:"j8hb9u"}
2],["path",{d:"m7 3 3 6h4",key:"1otusx"}]],_o=ue("snowflake",uc);const yc=[["path",{d:"M20 9V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v3",key:"1dgpiv"}],["path",{d:"M2 16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z",key:"xacw8m"}],["path",{d:"M4 18v2",key:"jwo5n2"}],["path",{d:"M20 18v2",key:"1ar1qi"}],["path",{d:"M12 4v9",key:"oqhhn3"}]],Co=ue("sofa",yc);const gc=[["path",{d:"M3.5 21 14 3",key:"1szst5"}],["path",{d:"M20.5 21 10 3",key:"1310c3"}],["path",{d:"M15.5 21 12 15l-3.5 6",key:"1ddtfw"}],["path",{d:"M2 21h20",key:"1nyx9w"}]],pe=ue("tent",gc);const bc=[["path",{d:"M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z",key:"17jzev"}]],jc=ue("thermometer",bc);const wc=[["path",{d:"M8 19a4 4 0 0 1-2.24-7.32A3.5 3.5 0 0 1 9 6.03V6a3 3 0 1 1 6 0v.04a3.5 3.5 0 0 1 3.24 5.65A4 4 0 0 1 16 19Z",key:"oadzkq"}],["path",{d:"M12 19v3",key:"npa21l"}]],Li=ue("tree-deciduous",wc);const kc=[["path",{d:"m17 14 3 3.3a1 1 0 0 1-.7 1.7H4.7a1 1 0 0 1-.7-1.7L7 14h-.3a1 1 0 0 1-.7-1.7L9 9h-.2A1 1 0 0 1 8 7.3L12 3l4 4.3a1 1 0 0 1-.8 1.7H15l3 3.3a1 1 0 0 1-.7 1.7H17Z",key:"cpyugq"}],["path",{d:"M12 22v-3",key:"kmzjlo"}]],No=ue("tree-pine",kc);const $c=[["path",{d:"M12 13v7a2 2 0 0 0 4 0",key:"rpgb42"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z",key:"124nyo"}]],vc=ue("umbrella",$c);const Mc=[["path",{d:"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"knzxuh"}],["path",{d:"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"2jd2cc"}],["path",{d:"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"rd2r6e"}]],Oi=ue("waves",Mc);function _c({open:i,onOpenChange:s,roomLabel:t,onConfirm:a}){return e.jsx(Lo,{open:i,onOpenChange:s,children:e.jsxs(Oo,{children:[e.jsxs(Eo,{children:[e.jsxs(Io,{children:['Remove "',t,'"?']}),e.jsx(zo,{children:"All tables and elements in this room will be deleted. A restore point is saved first, so you can bring the room back from Layout Versions."})]}),e.jsxs(Ro,{children:[e.jsx(Go,{"data-testid":"button-cancel-delete-room",children:"Cancel"}),e.jsx(Ho,{"data-testid":"button-confirm-delete-room",className:"bg-red-600 hover:bg-red-700 text-white",onClick:a,children:"Remove Room"})]})]})})}function Cc({pending:i,weddingTitle:s,onCancel:t,onConfirm:a}){return e.jsx(Lo,{open:i!==null,onOpenChange:l=>{l||t()},children:e.jsxs(Oo,{children:[e.jsxs(Eo,{children:[e.jsx(Io,{children:"Replace this floor plan?"}),e.jsx(zo,{children:i&&e.jsxs(e.Fragment,{children:['Applying "',i.templateName,'" to ',e.jsx("strong",{children:s||"this wedding"})," will remove the"," ",i.rooms," room",i.rooms!==1?"s":""," and ",i.elements," item",i.elements!==1?"s":""," already on this floor plan, and put the template in their place. A restore point is saved first, so you can bring this layout back from Layout Versions."]})})]}),e.jsxs(Ro,{children:[e.jsx(Go,{"data-testid":"button-cancel-replace-layout",children:"Keep current layout"}),e.jsx(Ho,{"data-testid":"button-confirm-replace-layout",className:"bg-red-600 hover:bg-red-700 text-white",onClick:()=>{i&&a(i.templateId)},children:"Replace layout"})]})]})})}function We(i){if(!i.metadata)return{};try{return JSON.parse(i.metadata)}catch{return{}}}function Nc(i,s){const t=We(i).zOrder??0;return t===0?s:Math.min(18,Math.max(2,s+t))}function So(i,s,t){const a=i.map(o=>We(o).zOrder??0),l=t==="front"?Math.max(0,...a)+1:Math.min(0,...a)-1;return JSON.stringify({...We(s),zOrder:l})}function Sc(i){const s=i.trim().toLowerCase();if(!s)return[];const t=s.replace(/\s+/g,"_"),a=new Set;return Er.flatMap(l=>l.items).filter(l=>{if(a.has(l.type))return!1;const o=l.label.toLowerCase().includes(s)||l.type.includes(t)||(l.description||"").toLowerCase().includes(s);return o&&a.add(l.type),o})}function Fr(i,s){const t=i.match(/^(.+?)\s*\((\d+)\)$/);return t?`${t[1]} (${s})`:i}function Ii(i){const s=i.match(/\d+/);return s?parseInt(s[0]):i==="sweetheart_table"?2:i==="head_table"?10:i==="serpentine_table"?14:i==="curved_head_table"?12:i==="u_shape_table"?20:i==="l_shape_table"?14:i==="half_round"?4:i==="kids_table"?6:0}function Bt(i){return We(i).seatCount??Ii(i.elementType)}const Vs=["round_table_8","round_table_10","round_table_6","rect_table_8","rect_table_6","rect_table_12","sweetheart_table","head_table","serpentine_table","curved_head_table","u_shape_table","l_shape_table","cocktail_table","cocktail_table_round","half_round","kids_table"],Er=[{id:"tables",label:"Tables",icon:ct,items:[{type:"round_table_8",label:"Round Table (8)",icon:ct,w:120,h:120,color:"#f5ebe0",description:`60" round, 10' footprint with chairs, seats 8`},{type:"round_table_10",label:"Round Table (10)",icon:ct,w:132,h:132,color:"#f5ebe0",description:`72" round, 11' footprint with chairs, seats 10`},{type:"round_table_6",label:"Round Table (6)",icon:ct,w:96,h:96,color:"#f5ebe0",description:`48" round, 8' footprint with chairs, seats 6`},{type:"rect_table_8",label:"Rectangle Table (8)",icon:ka,w:96,h:84,color:"#f5ebe0",description:`8' × 30" banquet, 7' depth with chairs, seats 8`},{type:"rect_table_6",label:"Rectangle Table (6)",icon:ka,w:72,h:84,color:"#f5ebe0",description:`6' × 30" banquet, 7' depth with chairs, seats 6`},{type:"rect_table_12",label:"Long Table (12)",icon:st,w:144,h:84,color:"#f5ebe0",description:"12' farm / king's table, 7' depth with chairs, seats 12"},{type:"sweetheart_table",label:"Sweetheart Table",icon:Lr,w:60,h:48,color:"#dce6f0",description:"4' table, 5' × 4' footprint, seats 2"},{type:"head_table",label:"Head Table",icon:js,w:216,h:42,color:"#f3e5f5",description:"18' long, 3.5' depth (one-sided seating)"},{type:"serpentine_table",label:"Serpentine Table",icon:js,w:240,h:72,color:"#f3e5f5",description:"20' curved S-shape, 6' depth, seats 12-16"},{type:"curved_head_table",label:"Curved Head Table",icon:js,w:216,h:84,color:"#f3e5f5",description:"18' curved, 7' depth, seats 10-14"},{type:"u_shape_table",label:"U-Shape Table",icon:js,w:240,h:192,color:"#f5ebe0",description:"20' × 16' U-shape, seats 18-24"},{type:"l_shape_table",label:"L-Shape Table",icon:js,w:216,h:192,color:"#f5ebe0",description:"18' × 16' L-shape, seats 12-16"},{type:"cocktail_table",label:"Cocktail Table (High Top)",icon:ct,w:30,h:30,color:"#f0e8dc",description:`30" highboy, 2.5' footprint`},{type:"cocktail_table_round",label:"Cocktail Table (Round)",icon:ct,w:36,h:36,color:"#f0e8dc",description:`36" roun
2d cocktail, 3' footprint`},{type:"half_round",label:"Half-Round Table",icon:ct,w:72,h:42,color:"#f5ebe0",description:`60" half-moon, 6' × 3.5' footprint`},{type:"kids_table",label:"Kids Table",icon:ln,w:84,h:84,color:"#f0e8dc",description:`42" round, 7' footprint with chairs, seats 6`},{type:"cake_table",label:"Cake Table",icon:$o,w:36,h:36,color:"#f4e8e4",description:"3' × 3' display table"},{type:"gift_table",label:"Gift Table",icon:fo,w:72,h:30,color:"#f5efe6",description:"6' × 2.5' gift table"},{type:"food_table",label:"Buffet Station",icon:Bi,w:96,h:30,color:"#e4e0d0",description:"8' × 2.5' buffet table"},{type:"dessert_table",label:"Dessert Table",icon:$o,w:72,h:30,color:"#f4e8e4",description:"6' × 2.5' dessert display"},{type:"favor_table",label:"Favor Table",icon:fo,w:72,h:30,color:"#f5efe6",description:"6' × 2.5' favor display table"},{type:"escort_card_display",label:"Escort Card Display",icon:cn,w:72,h:36,color:"#f0e8dc",description:"6' × 3' escort card / seating display"},{type:"signin_table",label:"Sign-in / Guestbook Table",icon:po,w:72,h:30,color:"#efebe9",description:"6' × 2.5' guest book table"},{type:"coffee_table_round",label:"Round Coffee Table",icon:ct,w:24,h:24,color:"#e8ddd0",description:'24" round coffee table'},{type:"coffee_table_square",label:"Square Coffee Table",icon:ka,w:24,h:24,color:"#e8ddd0",description:'24" square coffee table'},{type:"coffee_table_rect",label:"Rectangle Coffee Table",icon:st,w:48,h:24,color:"#e8ddd0",description:'48" × 24" coffee table'},{type:"nesting_tables",label:"Nesting Tables",icon:ct,w:36,h:36,color:"#e8ddd0",description:"3' nesting table set"}]},{id:"seating",label:"Chairs & Seating",icon:$e,items:[{type:"chair",label:"Chair",icon:$e,w:18,h:18,color:"#d7ccc8",description:'18" chair'},{type:"chair_row_5",label:"Chair Row (5)",icon:$e,w:90,h:18,color:"#d7ccc8",description:`5 chairs × 18" = 7.5' row`},{type:"chair_row_8",label:"Chair Row (8)",icon:$e,w:144,h:18,color:"#d7ccc8",description:`8 chairs × 18" = 12' row`},{type:"chair_row_10",label:"Chair Row (10)",icon:$e,w:180,h:18,color:"#d7ccc8",description:`10 chairs × 18" = 15' row`},{type:"bench",label:"Bench",icon:st,w:72,h:18,color:"#bcaaa4",description:`6' × 18" wooden bench`},{type:"sofa",label:"Sofa / Loveseat",icon:Co,w:72,h:36,color:"#d7ccc8",description:"6' × 3' loveseat"},{type:"lounge_set",label:"Accent Chair",icon:$e,w:30,h:30,color:"#efebe9",description:"2.5' × 2.5' accent chair"},{type:"ottoman",label:"Ottoman / Pouf",icon:ct,w:24,h:24,color:"#d7ccc8",description:'24" round ottoman'},{type:"lounge_area",label:"Lounge Area (Sofa & Chairs)",icon:Co,w:144,h:120,color:"#efebe9",description:"12' × 10' lounge seating zone"}]},{id:"ceremony",label:"Ceremony",icon:ec,items:[{type:"arbor",label:"Arbor",icon:kt,w:108,h:48,color:"#e8d5c4",description:"9' × 4' wooden arbor / wedding arch"},{type:"arbor_round",label:"Round Arbor",icon:kt,w:84,h:84,color:"#e8d5c4",description:"7' circular moon-gate arbor"},{type:"arbor_hexagonal",label:"Hexagonal Arbor",icon:xo,w:96,h:84,color:"#e8d5c4",description:"8' × 7' geometric hexagonal arch"},{type:"arbor_triangle",label:"Triangle Arbor",icon:ja,w:84,h:84,color:"#e8d5c4",description:"7' triangular boho arch"},{type:"chuppah",label:"Chuppah",icon:js,w:96,h:96,color:"#f3e5f5",description:"8' × 8' traditional Jewish canopy"},{type:"mandap",label:"Mandap",icon:js,w:120,h:120,color:"#fff3e0",description:"10' × 10' Hindu wedding pavilion"},{type:"gazebo",label:"Gazebo",icon:vc,w:144,h:144,color:"#efebe9",description:"12' covered garden gazebo"},{type:"pergola",label:"Pergola",icon:Ca,w:144,h:72,color:"#d7ccc8",description:"12' × 6' wooden pergola"},{type:"ceremony_cross",label:"Ceremony Cross",icon:ac,w:24,h:36,color:"#d7ccc8",description:"2' × 3' freestanding cross"},{type:"unity_table",label:"Unity Ceremony Table",icon:Ti,w:48,h:30,color:"#fff9c4",description:"4' × 2.5' unity ceremony table"},{type:"officiant_stand",label:"Officiant Stand",icon:po,w:24,h:24,color:"#d7ccc8",description:"2' × 2' podium / lectern"},{type:"ceremony_row_6",label:"Cross-Back Row (6)",icon:$e,w:108,h:18,color:"#c4a882",description:`6 cross-back chairs × 18" = 9' row`},{type:"ceremony_row_8",label:"Cross-Back Row (8)",icon:$e,w:144,h:18,color:"#c4a882",description:`8 cross-back chairs × 18" = 12' row`},{type:"ceremony_row_10",label:"Cross-Back Row (10)",icon:$e,w:180,h:18,color:"#c4a882",description:`10 cross-back chairs × 18" = 15' row`},{type:"ceremony_row_12",label:"Cross-Back Row (12)",icon:$e,w:216,h:18,color:"#c4a882",description:`12 cross-back chairs × 18" = 18' row`},{type:"ghost_row_6",label:"Ghost Chair Row (6)",icon:$e,w:108,h:18,color:"#e8e4ef",description:`6 ghost chairs × 18" = 9' row`},{type:"ghost_row_8",label:"Ghost Chair Row (8)",icon:$e,w:144,h:18,color:"#e8e4ef",description:`8 ghost chairs × 18" = 12' row`},{type:"ghost_row_10",label:"Ghost Chair Row (10)",icon:$e,w:180,h:18,color:"#e8e4ef",description:`10 ghost chairs × 18" = 15' row`},{type:"chiavari_row_6",label:"Chiavari Row (6)",icon:$e,w:108,h:18,color:"#d4af37",description:`6 chiavari chairs × 18" = 9' row`},{type:"chiavari_row_8",label:"Chiavari Row (8)",icon:$e,w:144,h:18,color:"#d4af37",description:`8 chiavari chairs × 18" = 12' row`},{type:"chiavari_row_10",label:"Chiavari Row (10)",icon:$e,w:180,h:18,color:"#d4af37",description:`10 chiavari chairs × 18" = 15' row`},{type:"folding_row_8",label:"Folding Chair Row (8)",icon:$e,w:144,h:18,color:"#f5ebe0",description:`8 folding chairs × 18" = 12' row`},{type:"folding_row_10",label:"Folding Chair Row (10)",icon:$e,w:180,h:18,color:"#f5ebe0",description:`10 folding chairs × 18" = 15' row`},{type:"pew",label:"Pew",icon:st,w:180,h:24,color:"#bcaaa4",description:"15' church pew / long bench"},{type:"pew_short",label:"Short Pew",icon:st,w:120,h:24,color:"#bcaaa4",description:"10' short pew, seats 3-4"},{type:"ceremony_aisle",label:"Ceremony Aisle",icon:mo,w:54,h:360,color:"#faf6f0",description:"4.5' wide × 30' long center aisle"},{type:"aisle_marker",label:"Aisle Marker",icon:kt,w:18,h:18,color:"#f4e8e4",description:'18" pew-end floral / ribbon'},{type:"ceremony_sign",label:"Welcome Sign",icon:Ar,w:36,h:60,color:"#efebe9",description:"3' × 5' welcome sign / easel"},{type:"flower_petal_scatter",label:"Petal Scatter Area",icon:kt,w:96,h:96,color:"#f4e8e480",description:"8' × 8' flower petal area"},{type:"ceremony_curtain",label:"Ceremony Draping",icon:st,w:240,h:6,color:"#e0d4c8",description:"20' sheer fabric draping"},{type:"ring_pillow_stand",label:"Ring Bearer Stand",icon:xo,w:24,h:24,color:"#fff9c4",description:"2' × 2' ring pillow display"},{type:"greenery_hedge",label:"Greenery Hedge",icon:No,w:18,h:144,color:"#7a9a6d",description:`18" wide × 12' tall greenery wall`},{type:"flower_pillar",label:"Flower Pillar",icon:kt,w:24,h:24,color:"#e8c4c4",description:"2' floral pillar / pedestal"}]},{id:"entertainment",label:"Entertainment",icon:Fi,items:[{type:"dance_floor",label:"Dance Floor",icon:Fi,w:216,h:216,color:"#e0d4c8",description:"18' × 18' open dance area"},{type:"dance_floor_sm",label:"Dance Floor (Small)",icon:Fi,w:144,h:144,color:"#e0d4c8",description:"12' × 12' intimate dance area"},{type:"stage",label:"Stage",icon:vo,w:240,h:96,color:"#e0d4c8",description:"20' × 8' raised platform"},{type:"dj_booth",label:"DJ / Band Stand",icon:Fi,w:96,h:72,color:"#f0e8dc",description:"8' × 6' DJ or band setup"},{type:"band_area",label:"Band Area (Large)",icon:vo,w:192,h:120,c
2olor:"#f0e8dc",description:"16' × 10' large live band setup"},{type:"photo_booth",label:"Photo Booth",icon:$a,w:96,h:96,color:"#f5efe6",description:"8' × 8' photo station / backdrop"},{type:"photo_backdrop",label:"Photo Backdrop",icon:$a,w:144,h:24,color:"#f5efe6",description:"12' × 2' backdrop wall"},{type:"speaker_sound",label:"Speaker / Sound",icon:nn,w:24,h:24,color:"#f0e8dc",description:"2' × 2' speaker / sound system"},{type:"photographer_station",label:"Photographer Station",icon:$a,w:48,h:48,color:"#f5efe6",description:"4' × 4' photographer's setup"},{type:"videographer_station",label:"Videographer Station",icon:dn,w:48,h:48,color:"#f5efe6",description:"4' × 4' videographer's setup"},{type:"kids_activity_zone",label:"Kids Activity Zone",icon:uo,w:144,h:120,color:"#f5efe6",description:"12' × 10' kids play / activity area"},{type:"marquee_letters",label:"Marquee Letters",icon:hn,w:96,h:48,color:"#fff9c4",description:"8' × 4' large light-up letter display"}]},{id:"food_drink",label:"Food & Drink",icon:Dt,items:[{type:"bar",label:"Bar",icon:Dt,w:96,h:30,color:"#d7ccc8",description:"8' × 2.5' bar station"},{type:"bar_curved",label:"Curved Bar",icon:Dt,w:180,h:72,color:"#d7ccc8",description:"15' × 6' half-moon curved bar"},{type:"bar_round",label:"Round Bar",icon:Dt,w:96,h:96,color:"#d7ccc8",description:"8' circular bar island"},{type:"bar_square",label:"Square Bar",icon:Dt,w:96,h:96,color:"#d7ccc8",description:"8' square bar island"},{type:"arched_shelf",label:"Arched Shelf",icon:Dt,w:36,h:72,color:"#d7ccc8",description:"3' × 6' arched display shelf"},{type:"champagne_tower",label:"Champagne Tower",icon:Dt,w:36,h:36,color:"#fff9c4",description:"3' champagne tower display"},{type:"beverage_station",label:"Beverage Station",icon:Dt,w:72,h:36,color:"#f0e8dc",description:"6' × 3' beverage service area"},{type:"coffee_station",label:"Coffee Station",icon:Bi,w:72,h:36,color:"#e4e0d0",description:"6' × 3' coffee & tea service"},{type:"water_station",label:"Water Station",icon:Bi,w:48,h:30,color:"#f0e8dc",description:"4' × 2.5' infused water station"},{type:"food_truck",label:"Food Truck Area",icon:xn,w:240,h:96,color:"#fff3e0",description:"20' × 8' food truck parking"},{type:"cigar_bar",label:"Cigar Bar / Lounge",icon:sc,w:96,h:72,color:"#d7ccc8",description:"8' × 6' cigar bar / lounge area"},{type:"smores_station",label:"S'mores Station",icon:Ti,w:60,h:60,color:"#8d6e63",description:"5' s'mores / dessert fire station"},{type:"ice_sculpture",label:"Ice Sculpture",icon:_o,w:36,h:36,color:"#e3f2fd",description:"3' ice sculpture / luge display"},{type:"whiskey_barrel",label:"Whiskey Barrel",icon:Dt,w:30,h:30,color:"#8d6e63",description:"2.5' bourbon barrel (table/decor)"}]},{id:"lighting",label:"Lighting",icon:Pi,items:[{type:"chandelier",label:"Chandelier",icon:ja,w:48,h:48,color:"#fff9c4",description:"4' crystal chandelier"},{type:"disco_ball",label:"Disco Ball",icon:ct,w:24,h:24,color:"#e0d4c8",description:"2' mirror disco ball"},{type:"string_lights",label:"String Lights",icon:yo,w:200,h:40,color:"#fff9c4",description:"Bistro / café string lights"},{type:"spotlight",label:"Spotlight",icon:Pi,w:18,h:18,color:"#fff9c4",description:'18" focused spotlight'},{type:"uplighting",label:"Uplighting",icon:Pi,w:12,h:12,color:"#E9C9BB",description:"1' LED uplighting fixture"},{type:"gobo_light",label:"Gobo / Monogram Light",icon:yo,w:72,h:72,color:"#fff9c480",description:"6' projected monogram / pattern"},{type:"neon_sign",label:"Neon Sign",icon:Ar,w:72,h:24,color:"#f0e8dc",description:"6' × 2' custom neon sign"}]},{id:"decor",label:"Decor & Flowers",icon:kt,items:[{type:"flower_arrangement",label:"Floral Centerpiece",icon:kt,w:24,h:24,color:"#f4e8e4",description:"2' table centerpiece"},{type:"flower_arch",label:"Floral Arch",icon:kt,w:108,h:48,color:"#f4e8e4",description:"9' × 4' ceremony / photo arch"},{type:"aisle_runner",label:"Aisle Runner",icon:st,w:48,h:300,color:"#f5efe6",description:"4' × 25' ceremony aisle"},{type:"candelabra",label:"Candelabra",icon:Xn,w:18,h:18,color:"#fff9c4",description:'18" candelabra'},{type:"lantern",label:"Lantern",icon:Pi,w:12,h:12,color:"#fff9c4",description:"1' decorative lantern"},{type:"tree",label:"Tree / Plant",icon:No,w:36,h:36,color:"#d4d0c0",description:"3' potted tree / greenery"},{type:"ceremony_altar",label:"Ceremony Altar",icon:ja,w:96,h:48,color:"#f3e5f5",description:"8' × 4' altar"},{type:"guest_book_stand",label:"Guest Book Stand",icon:Xs,w:30,h:30,color:"#efebe9",description:"2.5' guest book station"},{type:"floral_chandelier",label:"Floral Chandelier",icon:kt,w:48,h:48,color:"#f4dde5",description:"4' hanging floral chandelier"},{type:"fireplace",label:"Fireplace",icon:Ti,w:72,h:24,color:"#8d6e63",description:"6' × 2' indoor fireplace / mantel"},{type:"firepit",label:"Fire Pit",icon:Ti,w:48,h:48,color:"#8d6e63",description:"4' outdoor fire pit"},{type:"balloon_arch",label:"Balloon Arch / Garland",icon:uo,w:96,h:36,color:"#f4dde5",description:"8' × 3' balloon arch or garland"},{type:"velvet_rope",label:"Velvet Rope / Stanchion",icon:st,w:96,h:6,color:"#8d6e63",description:"8' velvet rope line"},{type:"ceiling_draping",label:"Ceiling Draping",icon:st,w:240,h:6,color:"#f0e8dc",description:"20' ceiling / tent liner draping"}]},{id:"structural",label:"Structural",icon:Ca,items:[{type:"wall",label:"Wall",icon:st,w:240,h:8,color:"#a09080",description:`20' × 8" room wall / divider`},{type:"wall_short",label:"Short Wall",icon:st,w:120,h:8,color:"#a09080",description:`10' × 8" partial wall`},{type:"column",label:"Column / Pillar",icon:Ca,w:18,h:18,color:"#c4b8a8",description:'18" structural column'},{type:"entrance",label:"Entrance / Doorway",icon:Ai,w:48,h:12,color:"#c4b8a8",description:"4' doorway / entrance"},{type:"exit_emergency",label:"Exit / Emergency",icon:fn,w:48,h:12,color:"#ef9a9a",description:"4' emergency exit"},{type:"stairs",label:"Stairs",icon:Xs,w:96,h:60,color:"#e0d4c8",description:"8' × 5' staircase area"},{type:"restroom",label:"Restroom",icon:Ai,w:72,h:72,color:"#f5efe6",description:"6' × 6' restroom area"},{type:"portable_restroom",label:"Portable Restroom",icon:Ai,w:48,h:48,color:"#f5efe6",description:"4' × 4' portable restroom"},{type:"coat_check",label:"Coat Check",icon:pn,w:96,h:48,color:"#efebe9",description:"8' × 4' coat check area"},{type:"pipe_drape",label:"Pipe & Drape",icon:st,w:240,h:6,color:"#e0d4c8",description:"20' pipe & drape divider"},{type:"power_drop",label:"Power / Electrical Drop",icon:go,w:12,h:12,color:"#fff9c4",description:"1' power outlet / drop"},{type:"generator",label:"Generator",icon:go,w:72,h:48,color:"#bcaaa4",description:"6' × 4' portable generator"},{type:"hvac_unit",label:"AC / HVAC Unit",icon:_o,w:48,h:48,color:"#bcaaa4",description:"4' × 4' HVAC / AC unit"},{type:"wheelchair_ramp",label:"Wheelchair Ramp",icon:Vn,w:48,h:120,c
2olor:"#e0d4c8",description:"4' × 10' accessible ramp"},{type:"catering_prep",label:"Catering Prep / Kitchen",icon:Bi,w:144,h:96,color:"#efebe9",description:"12' × 8' catering prep area"},{type:"trash_station",label:"Trash / Recycling",icon:mn,w:36,h:24,color:"#bcaaa4",description:"3' × 2' waste station"}]},{id:"tents",label:"Tents",icon:pe,items:[{type:"sailcloth_44x43",label:"Sailcloth 44×43",icon:pe,w:528,h:516,color:"#faf6ef",description:"44'×43' sailcloth tent, seats ~80"},{type:"sailcloth_44x64",label:"Sailcloth 44×64",icon:pe,w:528,h:768,color:"#faf6ef",description:"44'×64' sailcloth tent, seats ~130"},{type:"sailcloth_44x84",label:"Sailcloth 44×84",icon:pe,w:528,h:1008,color:"#faf6ef",description:"44'×84' sailcloth tent, seats ~180"},{type:"sailcloth_59x59",label:"Sailcloth 59×59",icon:pe,w:708,h:708,color:"#faf6ef",description:"59'×59' sailcloth tent, seats ~150"},{type:"sailcloth_59x80",label:"Sailcloth 59×80",icon:pe,w:708,h:960,color:"#faf6ef",description:"59'×80' sailcloth tent, seats ~220"},{type:"sailcloth_59x100",label:"Sailcloth 59×100",icon:pe,w:708,h:1200,color:"#faf6ef",description:"59'×100' sailcloth tent, seats ~300"},{type:"frame_tent_20x20",label:"Frame Tent 20×20",icon:pe,w:240,h:240,color:"#f5efe6",description:"20'×20' frame tent, seats ~30"},{type:"frame_tent_20x30",label:"Frame Tent 20×30",icon:pe,w:240,h:360,color:"#f5efe6",description:"20'×30' frame tent, seats ~48"},{type:"frame_tent_20x40",label:"Frame Tent 20×40",icon:pe,w:240,h:480,color:"#f5efe6",description:"20'×40' frame tent, seats ~64"},{type:"frame_tent_30x30",label:"Frame Tent 30×30",icon:pe,w:360,h:360,color:"#f5efe6",description:"30'×30' frame tent, seats ~70"},{type:"frame_tent_30x45",label:"Frame Tent 30×45",icon:pe,w:360,h:540,color:"#f5efe6",description:"30'×45' frame tent, seats ~100"},{type:"frame_tent_30x60",label:"Frame Tent 30×60",icon:pe,w:360,h:720,color:"#f5efe6",description:"30'×60' frame tent, seats ~140"},{type:"frame_tent_40x40",label:"Frame Tent 40×40",icon:pe,w:480,h:480,color:"#f5efe6",description:"40'×40' frame tent, seats ~125"},{type:"frame_tent_40x60",label:"Frame Tent 40×60",icon:pe,w:480,h:720,color:"#f5efe6",description:"40'×60' frame tent, seats ~190"},{type:"frame_tent_40x80",label:"Frame Tent 40×80",icon:pe,w:480,h:960,color:"#f5efe6",description:"40'×80' frame tent, seats ~250"},{type:"pole_tent_40x60",label:"Pole Tent 40×60",icon:pe,w:480,h:720,color:"#f0ece4",description:"40'×60' pole tent, seats ~190"},{type:"pole_tent_40x80",label:"Pole Tent 40×80",icon:pe,w:480,h:960,color:"#f0ece4",description:"40'×80' pole tent, seats ~250"},{type:"pole_tent_40x100",label:"Pole Tent 40×100",icon:pe,w:480,h:1200,color:"#f0ece4",description:"40'×100' pole tent, seats ~320"},{type:"pole_tent_60x60",label:"Pole Tent 60×60",icon:pe,w:720,h:720,color:"#f0ece4",description:"60'×60' pole tent, seats ~280"},{type:"pole_tent_60x90",label:"Pole Tent 60×90",icon:pe,w:720,h:1080,color:"#f0ece4",description:"60'×90' pole tent, seats ~420"},{type:"pole_tent_60x120",label:"Pole Tent 60×120",icon:pe,w:720,h:1440,color:"#f0ece4",description:"60'×120' pole tent, seats ~560"},{type:"clear_top_tent_30x30",label:"Clear Top 30×30",icon:pe,w:360,h:360,color:"#f5f0ea",de
2scription:"30'×30' clear-top tent, seats ~70"},{type:"clear_top_tent_40x60",label:"Clear Top 40×60",icon:pe,w:480,h:720,color:"#f5f0ea",description:"40'×60' clear-top tent, seats ~190"},{type:"clear_top_tent_40x80",label:"Clear Top 40×80",icon:pe,w:480,h:960,color:"#f5f0ea",description:"40'×80' clear-top tent, seats ~250"},{type:"market_tent_10x10",label:"Market Tent 10×10",icon:pe,w:120,h:120,color:"#f5efe6",description:"10'×10' pop-up / market tent"},{type:"tent_canopy",label:"Canopy / Shade",icon:pe,w:240,h:180,color:"#f5efe6",description:"20' × 15' open canopy shade"},{type:"tent_pole",label:"Tent Pole",icon:ct,w:12,h:12,color:"#c4b8a8",description:"1' center pole / support post"},{type:"tent_sidewall",label:"Tent Sidewall",icon:st,w:240,h:6,color:"#e0d4c8",description:"20' tent sidewall panel"},{type:"tent_entrance",label:"Tent Entrance",icon:Ai,w:72,h:12,color:"#d7ccc8",description:"6' tent entrance / opening"}]},{id:"landscape",label:"Landscape",icon:Li,items:[{type:"oak_tree",label:"Oak Tree",icon:Li,w:120,h:120,color:"#c8e6c9",description:"10' canopy large oak / shade tree"},{type:"oak_tree_sm",label:"Small Oak Tree",icon:Li,w:72,h:72,color:"#c8e6c9",description:"6' canopy ornamental tree"},{type:"tree_cluster",label:"Tree Cluster",icon:Li,w:180,h:120,color:"#c8e6c9",description:"15' × 10' group of trees"},{type:"pond",label:"Pond",icon:Oi,w:180,h:144,color:"#b3d9e8",description:"15' × 12' small pond"},{type:"lake",label:"Lake Edge",icon:Oi,w:360,h:120,color:"#a0c8db",description:"30' × 10' lake shoreline"},{type:"beach",label:"Beach / Shore",icon:Oi,w:360,h:96,color:"#f0e4c8",description:"30' × 8' sandy beach area"},{type:"fountain",label:"Fountain / Water Feature",icon:Oi,w:60,h:60,color:"#b3d9e8",description:"5' decorative fountain"},{type:"garden_bed",label:"Garden Bed",icon:kt,w:120,h:48,color:"#d4e8c4",description:"10' × 4' flower / garden bed"},{type:"pathway",label:"Pathway",icon:mo,w:48,h:240,color:"#e0d6c4",description:"4' × 20' walking path"},{type:"lawn_game_area",label:"Lawn Game Area",icon:cc,w:480,h:300,color:"#d4e8c4",description:"40' × 25' lawn games zone"},{type:"heat_lamp",label:"Fire Pit / Heat Lamp",icon:jc,w:24,h:24,color:"#ffab91",description:"2' outdoor heat lamp / fire pit"},{type:"pool",label:"Pool / Pool Deck",icon:un,w:240,h:144,color:"#b3d9e8",description:"20' × 12' pool area"},{type:"parking_area",label:"Parking Area",icon:bo,w:360,h:240,color:"#e0d6c4",description:"30' × 20' parking zone"},{type:"shuttle_dropoff",label:"Shuttle Drop-Off",icon:bo,w:120,h:48,color:"#e0d6c4",description:"10' × 4' shuttle / bus drop-off"}]},{id:"labels",label:"Labels & Notes",icon:Ar,items:[{type:"text_label",label:"Text Label",icon:Ar,w:120,h:30,color:"transparent",description:"Freeform text annotation"},{type:"area_label",label:"Area Label (Large)",icon:Ar,w:200,h:40,color:"transparent",description:"Large section label"},{type:"custom_area",label:"Custom Zone",icon:Xs,w:150,h:100,color:"#f5f5f5",description:"Named area outline"}]}];function Wc(i){for(const s of Er){const t=s.items.find(a=>a.type===i);if(t)return t.icon}return Xs}const Ta=[{id:"grid",label:"Grid",bgStyle:{backgroundColor:"#ffffff"},color:"#ffffff"},{id:"hardwood",label:"Hardwood",bgStyle:{backgroundColor:"#d4a574",backgroundImage:`
3        repeating-linear-gradient(90deg, transparent, transparent 58px, rgba(139,90,43,0.3) 58px, rgba(139,90,43,0.3) 60px),
4        repeating-linear-gradient(0deg, transparent, transparent 11px, rgba(160,110,60,0.15) 11px, rgba(160,110,60,0.15) 12px),
5        linear-gradient(90deg, #d4a574 0%, #c89860 25%, #d4a574 50%, #c49058 75%, #d4a574 100%)
6      `},color:"#d4a574"},{id:"hardwood_dark",label:"Dark Wood",bgStyle:{backgroundColor:"#6b4226",backgroundImage:`
7        repeating-linear-gradient(90deg, transparent, transparent 58px, rgba(40,20,5,0.3) 58px, rgba(40,20,5,0.3) 60px),
8        repeating-linear-gradient(0deg, transparent, transparent 11px, rgba(80,40,15,0.15) 11px, rgba(80,40,15,0.15) 12px),
9        linear-gradient(90deg, #6b4226 0%, #5a3520 25%, #6b4226 50%, #553018 75%, #6b4226 100%)
10      `},color:"#6b4226"},{id:"marble",label:"Marble",bgStyle:{backgroundColor:"#f0eded",backgroundImage:`
11        linear-gradient(125deg, transparent 20%, rgba(180,175,170,0.08) 25%, transparent 30%),
12        linear-gradient(215deg, transparent 40%, rgba(190,185,180,0.06) 43%, transparent 46%),
13        linear-gradient(335deg, transparent 55%, rgba(170,165,160,0.07) 58%, transparent 61%),
14        repeating-linear-gradient(45deg, transparent, transparent 80px, rgba(200,195,190,0.04) 80px, rgba(200,195,190,0.04) 82px)
15      `},color:"#f0eded"},{id:"carpet",label:"Carpet",bgStyle:{backgroundColor:"#8b7d6b",backgroundImage:`
16        repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(100,90,75,0.15) 5px, rgba(100,90,75,0.15) 6px),
17        repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(100,90,75,0.15) 5px, rgba(100,90,75,0.15) 6px)
18      `},color:"#8b7d6b"},{id:"tile_white",label:"White Tile",bgStyle:{backgroundColor:"#f5f5f5",backgroundImage:`
19        repeating-linear-gradient(0deg, transparent, transparent 47px, #e0e0e0 47px, #e0e0e0 48px),
20        repeating-linear-gradient(90deg, transparent, transparent 47px, #e0e0e0 47px, #e0e0e0 48px)
21      `},color:"#f5f5f5"},{id:"tile_black_white",label:"Checkerboard",bgStyle:{backgroundColor:"#e8e8e8",backgroundImage:`
22        repeating-conic-gradient(#333 0% 25%, #e8e8e8 0% 50%) 0 0 / 48px 48px
23      `},color:"#888888"},{id:"concrete",label:"Concrete",bgStyle:{backgroundColor:"#c0bbb5",backgroundImage:`
24        linear-gradient(135deg, rgba(160,155,148,0.08) 25%, transparent 25%),
25        linear-gradient(225deg, rgba(160,155,148,0.08) 25%, transparent 25%),
26        linear-gradient(45deg, rgba(160,155,148,0.08) 25%, transparent 25%),
27        linear-gradient(315deg, rgba(160,155,148,0.08) 25%, transparent 25%)
28      `},color:"#c0bbb5"},{id:"grass",label:"Grass",bgStyle:{backgroundColor:"#5a8a3c",backgroundImage:`
29        repeating-linear-gradient(90deg, transparent, transparent 3px, rgba(70,110,40,0.2) 3px, rgba(70,110,40,0.2) 4px),
30        repeating-linear-gradient(0deg, transparent, transparent 7px, rgba(80,120,50,0.15) 7px, rgba(80,120,50,0.15) 8px),
31        linear-gradient(180deg, #5a8a3c 0%, #4e7d34 50%, #5a8a3c 100%)
32      `},color:"#5a8a3c"},{id:"slate",label:"Slate",bgStyle:{backgroundColor:"#4a5568",backgroundImage:`
33        repeating-linear-gradient(0deg, transparent, transparent 23px, rgba(60,70,85,0.2) 23px, rgba(60,70,85,0.2) 24px),
34        repeating-linear-gradient(90deg, transparent, transparent 35px, rgba(55,65,80,0.15) 35px, rgba(55,65,80,0.15) 36px),
35        linear-gradient(135deg, rgba(80,90,105,0.1) 25%, transparent 25%)
36      `},color:"#4a5568"}];function Wo(i){return Ta.find(s=>s.id===(i||"grid"))||Ta[0]}const je=12;function Zs(i){return Math.round(i/je)}const Dc=[{label:"Grand Ballroom",widthFt:120,heightFt:80,description:"120 × 80 ft"},{label:"Ballroom",widthFt:100,heightFt:70,description:"100 × 70 ft"},{label:"Banquet Hall",widthFt:80,heightFt:60,description:"80 × 60 ft"},{label:"Intimate Room",widthFt:50,heightFt:40,description:"50 × 40 ft"},{label:"L-Shaped Room",widthFt:100,heightFt:80,description:"100 × 80 ft"},{label:"Long Gallery",widthFt:120,heightFt:40,description:"120 × 40 ft"},{label:"Outdoor Lawn",widthFt:150,heightFt:100,description:"150 × 100 ft"},{label:"Garden Courtyard",widthFt:80,heightFt:80,description:"80 × 80 ft"},{label:"Terrace / Patio",widthFt:60,heightFt:30,description:"60 × 30 ft"},{label:"Ceremony Space",widthFt:60,heightFt:80,description:"60 × 80 ft"},{label:"Cocktail Lounge",widthFt:40,heightFt:30,description:"40 × 30 ft"},{label:"Barn / Rustic Venue",widthFt:100,heightFt:50,description:"100 × 50 ft"}];function Bc(i){const s=i.width,t=i.height,a=6,l=2.5,o=12;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`chp-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.1"})})}),e.jsx("rect",{x:o,y:o,width:s-o*2,height:t-o*2,rx:2,fill:"#faf5f8",fillOpacity:.35,stroke:"#d4b8c8",strokeWidth:.6,strokeDasharray:"4 2",filter:`url(#chp-sh-${i.id})`}),e.jsx("line",{x1:o,y1:o,x2:s-o,y2:t-o,stroke:"#d4b8c8",strokeWidth:.4,strokeOpacity:.25}),e.jsx("line",{x1:s-o,y1:o,x2:o,y2:t-o,stroke:"#d4b8c8",strokeWidth:.4,strokeOpacity:.25}),e.jsx("path",{d:`M${o},${o} Q${s/2},${o+8} ${s-o},${o}`,fill:"none",stroke:"#e0c8d8",strokeWidth:.8,strokeOpacity:.5}),e.jsx("path",{d:`M${o},${t-o} Q${s/2},${t-o-8} ${s-o},${t-o}`,fill:"none",stroke:"#e0c8d8",strokeWidth:.8,strokeOpacity:.5}),e.jsx("circle",{cx:a,cy:a,r:l,fill:"#8a7060",stroke:"#6a5040",strokeWidth:.6}),e.jsx("circle",{cx:s-a,cy:a,r:l,fill:"#8a7060",stroke:"#6a5040",strokeWidth:.6}),e.jsx("circle",{cx:a,cy:t-a,r:l,fill:"#8a7060",stroke:"#6a5040",strokeWidth:.6}),e.jsx("circle",{cx:s-a,cy:t-a,r:l,fill:"#8a7060",stroke:"#6a5040",strokeWidth:.6}),[a,s-a].map((h,p)=>[a,t-a].map((f,d)=>e.jsx("circle",{cx:h+(p===0?4:-4),cy:f+(d===0?4:-4),r:3,fill:"#6b8c5a",fillOpacity:.45},`f${p}${d}`))),e.jsx("text",{x:s/2,y:t/2+2,textAnchor:"middle",fontSize:7,fill:"#7a6050",fontFamily:"'Playfair Display', serif",opacity:.6,children:"Chuppah"})]})}function Tc(i){const s=i.width,t=i.height,a=8,l=6,o=14;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`mand-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:a-2,y:o-2,width:s-(a-2)*2,height:4,rx:1,fill:"#e8b44c",fillOpacity:.3,filter:`url(#mand-sh-${i.id})`}),e.jsx("rect",{x:a-2,y:t-o-2,width:s-(a-2)*2,height:4,rx:1,fill:"#e8b44c",fillOpacity:.3}),[[a,a],[s-a-l,a],[a,t-a-(t-o*2)],[s-a-l,t-a-(t-o*2)]].map(([h,p],f)=>e.jsxs("g",{children:[e.jsx("rect",{x:h,y:o,width:l,height:t-o*2,rx:1.5,fill:"#e8c870",stroke:"#c9a545",strokeWidth:.6}),e.jsx("rect",{x:h+.5,y:o,width:l-1,height:3,rx:1,fill:"#f0d878"}),e.jsx("rect",{x:h+.5,y:t-o-3,width:l-1,height:3,rx:1,fill:"#f0d878"})]},`p${f}`)),e.jsx("rect",{x:a+l,y:o-3,width:s-a*2-l*2,height:6,rx:1,fill:"#e8c870",stroke:"#c9a545",strokeWidth:.5}),e.jsx("path",{d:`M${a+l},${o} Q${s/2},${o+10} ${s-a-l},${o}`,fill:"none",stroke:"#e8b44c",strokeWidth:.8,strokeOpacity:.5}),e.jsx("rect",{x:a*2+l,y:o+2,width:s-a*4-l*2,height:t-o*2-4,rx:2,fill:"#fff8e8",fillOpacity:.2,stroke:"#e8c870",strokeWidth:.4,strokeDasharray:"3 2"}),Array.from({length:5}).map((h,p)=>{const f=a+l+4+p*((s-a*2-l*2-8)/4);return e.jsx("circle",{cx:f,cy:o-1,r:2.5,fill:"#e88040",fillOpacity:.4},`fl${p}`)}),Array.from({length:3}).map((h,p)=>e.jsx("circle",{cx:s/2,cy:o+8+p*6,r:1.5,fill:"#e8c870",fillOpacity:.3},`dr${p}`)),e.jsx("text",{x:s/2,y:t/2+3,textAnchor:"middle",fontSize:8,fill:"#c9a545",fontFamily:"'Playfair Display', serif",opacity:.5,children:"Mandap"})]})}function Ac(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-5,h=8,p=Array.from({length:h}).map((y,k)=>{const C=k/h*Math.PI*2-Math.PI/2;return`${a+o*Math.cos(C)},${l+o*Math.sin(C)}`}).join(" "),f=o*.7,d=Array.from({length:h}).map((y,k)=>{const C=k/h*Math.PI*2-Math.PI/2;return`${a+f*Math.cos(C)},${l+f*Math.sin(C)}`}).join(" ");return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`gaz-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("polygon",{points:p,fill:"#f0e8dc",fillOpacity:.3,stroke:"#b0a090",strokeWidth:1,filter:`url(#gaz-sh-${i.id})`}),e.jsx("polygon",{points:d,fill:"none",stroke:"#c8b8a4",strokeWidth:.5,strokeDasharray:"3 2"}),Array.from({length:h}).map((y,k)=>{const C=k/h*Math.PI*2-Math.PI/2,A=a+o*Math.cos(C),O=l+o*Math.sin(C);return e.jsxs("g",{children:[e.jsx("circle",{cx:A,cy:O,r:3,fill:"#c8b8a4",stroke:"#a09080",strokeWidth:.5}),e.jsx("line",{x1:A,y1:O,x2:a+f*Math.cos(C),y2:l+f*Math.sin(C),stroke:"#d0c4b0",strokeWidth:.4,strokeOpacity:.4})]},k)}),Array.from({length:h}).map((y,k)=>{const C=(k+.5)/h*Math.PI*2-Math.PI/2;return e.jsx("circle",{cx:a+o*.85*Math.cos(C),cy:l+o*.85*Math.sin(C),r:2,fill:"#b0a090",fillOpacity:.2},`r${k}`)}),e.jsx("circle",{cx:a,cy:l,r:4,fill:"#d0c4b0",fillOpacity:.4,stroke:"#b0a090",strokeWidth:.4}),e.jsx("text",{x:a,y:l+o+4,textAnchor:"middle",fontSize:6,fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",opacity:.7,children:"Gazebo"})]})}function Pc(i){const s=i.width,t=i.height,a=5,l=4,o=Math.max(3,Math.floor(s/25));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`perg-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.1"})})}),e.jsx("rect",{x:a,y:a,width:l,height:t-a*2,rx:1,fill:"#b8a088",stroke:"#9a8070",strokeWidth:.5,filter:`url(#perg-sh-${i.id})`}),e.jsx("rect",{x:s-a-l,y:a,width:l,height:t-a*2,rx:1,fill:"#b8a088",stroke:"#9a8070",strokeWidth:.5}),e.jsx("rect",{x:a,y:a,width:s-a*2,height:3,rx:1,fill:"#c4b098",stroke:"#9a8070",strokeWidth:.4}),e.jsx("rect",{x:a,y:t-a-3,width:s-a*2,height:3,rx:1,fill:"#c4b098",stroke:"#9a8070",strokeWidth:.4}),Array.from({length:o}).map((h,p)=>{const f=a+l+(s-a*2-l*2)/(o+1)*(p+1);return e.jsx("rect",{x:f-1,y:a,width:2.5,height:t-a*2,rx:.5,fill:"#c4b098",fillOpacity:.5,stroke:"#b0a088",strokeWidth:.3},p)}),Array.from({length:Math.floor(o*1.5)}).map((h,p)=>{const f=a+8+p*((s-a*2-16)/(o*1.5)),d=a+3+p%3*3;return e.jsx("circle",{cx:f,cy:d,r:2.5,fill:"#6b8c5a",fillOpacity:.3+p%3*.1},`g${p}`)}),e.jsx("text",{x:s/2,y:t/2+2,textAnchor:"middle",fontSize:7,fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",opacity:.5,children:"Pergola"})]})}function Fc(i){const s=i.width,t=i.height,a=s/2,l=t*.25,o=8;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`alt-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:8,y:t-l,width:s-16,height:l-3,rx:3,fill:"#ece0d0",stroke:"#b8a890",strokeWidth:1,filter:`url(#alt-sh-${i.id})`}),e.jsx("rect",{x:9.5,y:t-l+1.5,width:s-19,height:l-6,rx:2,fill:"none",stroke:"#d0c0a8",strokeWidth:.3}),e.jsx("rect",{x:12,y:t-l+2,width:s-24,height:l-7,rx:2,fill:"#f2ece2",stroke:"#d0c0a8",strokeWidth:.4}),e.jsx("rect",{x:14,y:o+8,width:5,height:t-l-o-6,rx:1.5,fill:"#b89870",stroke:"#a08860",strokeWidth:.4}),e.jsx("rect",{x:s-19,y:o+8,width:5,height:t-l-o-6,rx:1.5,fill:"#b89870",stroke:"#a08860",strokeWidth:.4}),e.jsx("path",{d:`M16,${o+10} Q${a},${o-4} ${s-16},${o+10}`,fill:"none",stroke:"#a08860",strokeWidth:3,strokeLinecap:"round"}),e.jsx("path",{d:`M22,${o+14} Q${a},${o+4} ${s-22},${o+14}`,fill:"none",stroke:"#7a9b68",strokeWidth:1.5,strokeOpacity:.5}),[.25,.4,.5,.6,.75].map((h,p)=>{const f=s*h,d=o+8-Math.sin(h*Math.PI)*10;return e.jsx("circle",{cx:f,cy:d,r:p===2?4:3,fill:p===2?"#e8c4c4":"#f0c4c4",fillOpacity:.55},p)}),e.jsx("rect",{x:a-8,y:t-l+4,width:16,height:l-10,rx:2,fill:"#d8cbb8",stroke:"#b8a890",strokeWidth:.4})]})}function Lc(i){const s=i.width,t=i.height,a=8,l=s/2,o=t*.55,h=6;return e.jsxs("svg",{width:s,height:t,viewBox:`0 ${-a} ${s} ${t+a}`,className:"w-full h-full",overflow:"visible",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`farch-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"130%",children:e.jsx("feDropShadow",{dx:"0",dy:"2",stdDeviation:"3",floodColor:"#6a5a4a",floodOpacity:"0.2"})}),e.jsxs("linearGradient",{id:`farch-pg-${i.id}`,x1:"0",y1:"0",x2:"0.3",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#c8a880"}),e.jsx("stop",{offset:"50%",stopColor:"#b89870"}),e.jsx("stop",{offset:"100%",stopColor:"#a88860"})]}),e.jsxs("linearGradient",{id:`farch-pg2-${i.id}`,x1:"0",y1:"0",x2:"1",y2:"0",children:[e.jsx("stop",{offset:"0%",stopColor:"#c8a880",stopOpacity:"0.3"}),e.jsx("stop",{offset:"50%",stopColor:"#ddc8a8",stopOpacity:"0.5"}),e.jsx("stop",{offset:"100%
36",stopColor:"#c8a880",stopOpacity:"0.3"})]}),e.jsxs("radialGradient",{id:`farch-bloom-${i.id}`,cx:"40%",cy:"35%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fff",stopOpacity:"0.4"}),e.jsx("stop",{offset:"100%",stopColor:"#fff",stopOpacity:"0"})]})]}),e.jsx("rect",{x:5,y:o*.32,width:h,height:t-o*.32-2,rx:1.5,fill:`url(#farch-pg-${i.id})`,stroke:"#907850",strokeWidth:.5,filter:`url(#farch-sh-${i.id})`}),e.jsx("rect",{x:5+1.5,y:o*.32,width:1.5,height:t-o*.32-2,rx:.5,fill:"#ddc8a8",opacity:.3}),e.jsx("rect",{x:s-5-h,y:o*.32,width:h,height:t-o*.32-2,rx:1.5,fill:`url(#farch-pg-${i.id})`,stroke:"#907850",strokeWidth:.5}),e.jsx("rect",{x:s-5-h+1.5,y:o*.32,width:1.5,height:t-o*.32-2,rx:.5,fill:"#ddc8a8",opacity:.3}),e.jsx("path",{d:`M7,${o*.42} Q${l},${-o*.25} ${s-7},${o*.42}`,fill:"none",stroke:"#a08860",strokeWidth:4,strokeLinecap:"round"}),e.jsx("path",{d:`M7,${o*.42} Q${l},${-o*.25} ${s-7},${o*.42}`,fill:"none",stroke:`url(#farch-pg2-${i.id})`,strokeWidth:3,strokeLinecap:"round"}),Array.from({length:18}).map((p,f)=>{const d=(f+.3)/18,y=8+d*(s-16),k=o*.42-Math.sin(d*Math.PI)*o*.55,C=(d-.5)*70+(f%2?15:-15),A=y+(f%2?-1:1)*2,O=k+4+f%3*1.5;return e.jsxs("g",{children:[e.jsx("ellipse",{cx:A,cy:O,rx:4,ry:1.8,fill:f%3===0?"#6b8c5a":f%3===1?"#7a9b68":"#5a7d4a",fillOpacity:.6,transform:`rotate(${C} ${A} ${O})`}),f%2===0&&e.jsx("ellipse",{cx:A+(f%4<2?2:-2),cy:O+3,rx:3,ry:1.5,fill:"#8aac78",fillOpacity:.4,transform:`rotate(${-C*.5} ${A} ${O+3})`})]},`gl-${f}`)}),Array.from({length:20}).map((p,f)=>{const d=f/19,y=7+d*(s-14),k=o*.42-Math.sin(d*Math.PI)*o*.54,C=3+Math.sin(d*Math.PI)*3.5,A=["#e8a0a0","#d4868a","#e0948c","#cc7878","#d89090","#c48080"],O=["#f0c4c0","#eab8b4","#f4d0cc","#e0aca8","#f2c8c4","#dca4a0"];return e.jsxs("g",{children:[e.jsx("ellipse",{cx:y,cy:k-1,rx:C*1.1,ry:C*.9,fill:A[f%A.length],fillOpacity:.7+Math.sin(d*Math.PI)*.2}),[0,72,144,216,288].map((ie,de)=>e.jsx("ellipse",{cx:y+Math.cos(ie*Math.PI/180)*C*.4,cy:k-1+Math.sin(ie*Math.PI/180)*C*.35,rx:C*.45,ry:C*.3,fill:O[f%O.length],fillOpacity:.5,transform:`rotate(${ie+36} ${y+Math.cos(ie*Math.PI/180)*C*.4} ${k-1+Math.sin(ie*Math.PI/180)*C*.35})`},`p-${de}`)),e.jsx("circle",{cx:y,cy:k-1,r:C*.2,fill:"#c8907a",fillOpacity:.6}),e.jsx("circle",{cx:y-C*.15,cy:k-1-C*.1,r:C*.12,fill:"white",fillOpacity:.25})]},`bloom-${f}`)}),Array.from({length:8}).map((p,f)=>{const d=(f+.5)/8,y=9+d*(s-18),k=o*.42-Math.sin(d*Math.PI)*o*.48,C=2+Math.sin(d*Math.PI)*1.5;return e.jsxs("g",{children:[e.jsx("circle",{cx:y+(f%2?3:-3),cy:k+5,r:C,fill:"#f0c8c0",fillOpacity:.5}),e.jsx("circle",{cx:y+(f%2?3:-3),cy:k+5,r:C*.5,fill:"#e0a8a0",fillOpacity:.4})]},`bud-${f}`)}),[{x:8,y:t*.48},{x:s-8,y:t*.48}].map((p,f)=>e.jsxs("g",{children:[e.jsx("ellipse",{cx:p.x,cy:p.y+8,rx:8,ry:4,fill:"#6a5a4a",opacity:.06}),e.jsx("circle",{cx:p.x,cy:p.y-2,r:6,fill:"#6b8c5a",fillOpacity:.5}),e.jsx("circle",{cx:p.x+(f===0?4:-4),cy:p.y-6,r:4.5,fill:"#e8a0a0",fillOpacity:.6}),e.jsx("circle",{cx:p.x+(f===0?-2:2),cy:p.y+4,r:4,fill:"#7a9b68",fillOpacity:.45}),e.jsx("circle",{cx:p.x+(f===0?6:-6),cy:p.y+1,r:3.5,fill:"#d4868a",fillOpacity:.5}),e.jsx("circle",{cx:p.x,cy:p.y-5,r:2,fill:"#f0c8c0",fillOpacity:.5}),[0,1,2].map(d=>e.jsx("ellipse",{cx:p.x+(f===0?-4+d*3:4-d*3),cy:p.y+8+d*3,rx:3,ry:1.5,fill:"#8aac78",fillOpacity:.35,transform:`rotate(${f===0?-30+d*20:30-d*20} ${p.x+(f===0?-4+d*3:4-d*3)} ${p.y+8+d*3})`},`bl-${d}`))]},`base-${f}`)),e.jsx("text",{x:l,y:t-1,textAnchor:"middle",fontSize:6,fill:"#9a6070",fontFamily:"'Playfair Display', serif",fontStyle:"italic",opacity:.7,children:i.label})]})}function Oc(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`flarr-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#d4ad94",floodOpacity:"0.15"})}),e.jsxs("radialGradient",{id:`flarr-bg-${i.id}`,cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fdf5f3"}),e.jsx("stop",{offset:"100%",stopColor:"#f5e8e4"})]})]}
36),e.jsx("circle",{cx:a,cy:l,r:o,fill:`url(#flarr-bg-${i.id})`,stroke:"#e0b8b8",strokeWidth:.8,filter:`url(#flarr-sh-${i.id})`}),Array.from({length:6}).map((h,p)=>{const f=p/6*Math.PI*2+Math.PI/12,d=a+Math.cos(f)*o*.62,y=l+Math.sin(f)*o*.62,k=o*.3,C=["#f0d0cc","#ecc0c0","#f4d4d4","#e8b4b8","#f0ccc8","#eec4c8"],A=f*180/Math.PI;return e.jsxs("g",{children:[e.jsx("ellipse",{cx:d,cy:y,rx:k,ry:k*.7,fill:C[p],opacity:.6,transform:`rotate(${A}, ${d}, ${y})`}),e.jsx("ellipse",{cx:d,cy:y,rx:k*.65,ry:k*.45,fill:C[(p+2)%6],opacity:.5,transform:`rotate(${A+30}, ${d}, ${y})`}),e.jsx("ellipse",{cx:d,cy:y,rx:k*.35,ry:k*.2,fill:"#fff",opacity:.2,transform:`rotate(${A}, ${d}, ${y})`}),e.jsx("ellipse",{cx:d+Math.cos(f)*k*.15,cy:y+Math.sin(f)*k*.15,rx:k*.12,ry:k*.12,fill:"#d4a0a0",opacity:.35})]},p)}),Array.from({length:6}).map((h,p)=>{const f=p/6*Math.PI*2+Math.PI/4,d=a+Math.cos(f)*o*.35,y=l+Math.sin(f)*o*.35,k=f*180/Math.PI+90;return e.jsx("ellipse",{cx:d,cy:y,rx:o*.14,ry:o*.07,fill:"#7a9b68",opacity:.5,transform:`rotate(${k}, ${d}, ${y})`},`leaf-${p}`)}),e.jsx("circle",{cx:a,cy:l,r:o*.22,fill:"#f0c8c4",opacity:.7}),e.jsx("circle",{cx:a,cy:l,r:o*.14,fill:"#d4ad94",opacity:.6}),Array.from({length:4}).map((h,p)=>{const f=p/4*Math.PI*2;return e.jsx("ellipse",{cx:a+Math.cos(f)*o*.1,cy:l+Math.sin(f)*o*.1,rx:o*.06,ry:o*.04,fill:"#d4a0a0",opacity:.4,transform:`rotate(${f*180/Math.PI}, ${a+Math.cos(f)*o*.1}, ${l+Math.sin(f)*o*.1})`},`ip-${p}`)})]})}function Ec(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-1;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:o,fill:"#fdf5f3",stroke:"#e8c4c4",strokeWidth:.6}),Array.from({length:5}).map((h,p)=>{const f=p/5*Math.PI*2-Math.PI/2,d=a+Math.cos(f)*o*.45,y=l+Math.sin(f)*o*.45,k=["#f0d4cc","#f0c4c4","#e8b4b8","#f5d0d0","#f0e0d8"];return e.jsx("circle",{cx:d,cy:y,r:o*.3,fill:k[p],opacity:.6},p)}),Array.from({length:3}).map((h,p)=>{const f=p/3*Math.PI*2+Math.PI/4,d=a+Math.cos(f)*o*.2,y=l+Math.sin(f)*o*.2;return e.jsx("circle",{cx:d,cy:y,r:o*.15,fill:"#7a9b68",opacity:.45},`g-${p}`)}),e.jsx("circle",{cx:a,cy:l,r:o*.12,fill:"#d4ad94",opacity:.5})]})}function Ic(i){const s=i.width,t=i.height,a=i.id*7,l=Math.max(18,Math.floor(s*t/300)),o=Array.from({length:l}).map((h,p)=>{const f=(a+p*31)%97,d=f/97*(s-10)+5,y=(a+p*47+13)%89,k=y/89*(t-10)+5,C=(a+p*23)%360,A=.6+(f+y)%10/20,O=["#f0d4cc","#f0e0d8","#f4dde5","#f0c4c4","#e8b4b8","#f0ccc8"],ie=O[(a+p)%O.length],de=.3+(f+p)%5/10;return{px:d,py:k,angle:C,scale:A,color:ie,opacity:de}});return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("ellipse",{cx:s/2,cy:t/2,rx:s/2-2,ry:t/2-2,fill:"#f0e4dc",fillOpacity:.15,stroke:"#e0c8c0",strokeWidth:.5,strokeDasharray:"4,4",opacity:.4}),o.map((h,p)=>e.jsxs("g",{transform:`translate(${h.px},${h.py}) rotate(${h.angle}) scale(${h.scale})`,children:[e.jsx("ellipse",{cx:0,cy:0,rx:4,ry:2.2,fill:h.color,opacity:h.opacity}),e.jsx("ellipse",{cx:.5,cy:-.3,rx:2,ry:1,fill:"#fff",opacity:h.opacity*.3})]},p))]})}function zc(i){const s=i.width,t=i.height,a=t>s;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:a?s/3:t/3,fill:"#7a9a6d",fillOpacity:.85,stroke:"#5a7a4d",strokeWidth:.8}),a?e.jsx(e.Fragment,{children:Array.from({length:Math.floor(t/20)}).map((l,o)=>e.jsx("circle",{cx:s/2+(o%2?2:-2),cy:10+o*20,r:s/3,fill:"#8aaa7d",fillOpacity:.5},o))}):e.jsx(e.Fragment,{children:Array.from({length:Math.floor(s/20)}).map((l,o)=>e.jsx("circle",{cx:10+o*20,cy:t/2+(o%2?2:-2),r:t/3,fill:"#8aaa7d",fillOpacity:.5},o))})]})}function Rc(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:o,fill:"#f5ebe0",stroke:"#d5c5b0",strokeWidth:1}),e.jsx("circle",{cx:a,cy:l-2,r:o*.6,fill:"#f0c8c8",fillOpacity:.7}),e.jsx("circle",{cx:a-3,cy:l-4,r:o*.3,fill:"#e8b0b0",fillOpacity:.5}),e.jsx("circle",{cx:a+3,cy:l-1,r:o*.25,fill:"#f0d0d0",fillOpacity:.5}),e.jsx("circle",{cx:a,cy:l+3,r:o*.2,fill:"#7a9b68",fillOpacity:.5})]})}const n={champagne:"#ece0d0",champagneLight:"#f3ebe0",ivory:"#f8f2ea",blush:"#efe0dc",blushSoft:"#faf0ec",taupe:"#d8c8b8",taupeMid:"#cbbca8",taupeDark:"#b8a898",taupeStroke:"#b0a090",warmDark:"#a09080",warmDarker:"#8a7868",sage:"#ddd8c8",sageMid:"#cdc8b8",sageStroke:"#b0ac94",gold:"#d4ad94",goldAccent:"#c8a870",shadow:"#6a5a4a",text:"#5a4a3a",textMuted:"#7a6a5a"};
36function Na(i){const s=i.color||"#d7ccc8",t=`${s}40`;return e.jsxs("svg",{width:i.width,height:i.height,viewBox:`0 0 ${i.width} ${i.height}`,className:"overflow-visible",children:[e.jsx("path",{d:`M 0 ${i.height} A ${i.width/2} ${i.height} 0 0 1 ${i.width} ${i.height}`,fill:t,stroke:s,strokeWidth:"2"}),e.jsx("path",{d:`M 10 ${i.height} A ${(i.width-20)/2} ${i.height-10} 0 0 1 ${i.width-10} ${i.height}`,fill:"none",stroke:s,strokeWidth:"1",strokeDasharray:"4 2"})]})}function Do(i){const s=i.width,t=i.height,a=Math.max(Math.min(s,t)/6,6),l=[],o=Math.max(1,Math.floor(s/a)),h=Math.max(1,Math.floor(t/a)),p=(s-o*a)/2,f=(t-h*a)/2;for(let d=0;d<h;d++)for(let y=0;y<o;y++){const k=(d+y)%2===0;l.push(e.jsx("rect",{x:p+y*a,y:f+d*a,width:a,height:a,fill:k?"#e8d8d0":"#f4ece6",stroke:"#d0c0b4",strokeWidth:.25},`dt-${d}-${y}`))}return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`df-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"118%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"3",floodColor:"#6a5a4a",floodOpacity:"0.2"})}),e.jsxs("linearGradient",{id:`df-g-${i.id}`,x1:"0",y1:"0",x2:"0.1",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#f0e6de"}),e.jsx("stop",{offset:"100%",stopColor:"#e0d4c8"})]})]}),e.jsx("rect",{x:0,y:0,width:s,height:t,rx:2,fill:`url(#df-g-${i.id})`,stroke:"#b8a494",strokeWidth:1,filter:`url(#df-sh-${i.id})`}),l,e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:1,fill:"none",stroke:"#c8b8a8",strokeWidth:.4}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:2,fill:"none",stroke:"#d0c0b0",strokeWidth:.3}),e.jsx("text",{x:s/2,y:t/2,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(11,s*.06),fill:"#7a6858",fontFamily:"'Playfair Display', serif",fontStyle:"italic",opacity:.8,children:"Dance Floor"})]})}function Gc(i){const s=i.width,t=i.height,a=i.color&&i.color!=="transparent"?i.color:n.taupe,l=(()=>{const h=a.replace("#",""),p=Math.min(255,parseInt(h.substring(0,2),16)+20),f=Math.min(255,parseInt(h.substring(2,4),16)+20),d=Math.min(255,parseInt(h.substring(4,6),16)+20);return`#${p.toString(16).padStart(2,"0")}${f.toString(16).padStart(2,"0")}${d.toString(16).padStart(2,"0")}`})(),o=(()=>{const h=a.replace("#",""),p=Math.max(0,parseInt(h.substring(0,2),16)-30),f=Math.max(0,parseInt(h.substring(2,4),16)-30),d=Math.max(0,parseInt(h.substring(4,6),16)-30);return`#${p.toString(16).padStart(2,"0")}${f.toString(16).padStart(2,"0")}${d.toString(16).padStart(2,"0")}`})();return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`stg-g-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:l}),e.jsx("stop",{offset:"100%",stopColor:a})]}),e.jsx("filter",{id:`stg-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#6a5a4a",floodOpacity:"0.15"})})]}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:`url(#stg-g-${i.id})`,stroke:o,strokeWidth:.8,filter:`url(#stg-sh-${i.id})`}),e.jsx("rect",{x:4,y:4,width:s-8,height:t-8,rx:2,fill:"none",stroke:l,strokeWidth:.4,strokeDasharray:"4 3"}),e.jsx("rect",{x:s*.1,y:t-10,width:s*.8,height:3,rx:1,fill:o,opacity:.3}),e.jsx("text",{x:s/2,y:t/2,textAnchor:"middle",dominantBaseline:"middle",fontSize:9,fill:o,fontFamily:"'Playfair Display', serif",children:i.label})]})}function Hc(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`dj-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:4,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#dj-sh-${i.id})`}),e.jsx("rect",{x:s*.08,y:t*.12,width:s*.38,height:t*.45,rx:2,fill:"#ddd0c0",stroke:n.warmDark,strokeWidth:.5}),e.jsx("circle",{cx:s*.27,cy:t*.35,r:Math.min(s*.12,t*.14),fill:n.taupeStroke,stroke:n.warmDarker,strokeWidth:.5}),e.jsx("circle",{cx:s*.27,cy:t*.35,r:Math.min(s*.04,t*.04),fill:n.warmDarker}),e.jsx("rect",{x:s*.52,y:t*.12,width:s*.4,height:t*.32,rx:2,fill:"#ddd0c0",
36stroke:n.warmDark,strokeWidth:.5}),e.jsx("rect",{x:s*.56,y:t*.18,width:s*.32,height:t*.08,rx:1,fill:"#d0c0b0",opacity:.6}),e.jsx("rect",{x:s*.56,y:t*.3,width:s*.32,height:t*.08,rx:1,fill:"#d0c0b0",opacity:.4}),e.jsx("circle",{cx:s*.2,cy:t*.72,r:Math.min(s*.1,t*.1),fill:n.warmDark,stroke:n.warmDarker,strokeWidth:.6}),e.jsx("circle",{cx:s*.8,cy:t*.72,r:Math.min(s*.1,t*.1),fill:n.warmDark,stroke:n.warmDarker,strokeWidth:.6}),e.jsx("circle",{cx:s*.2,cy:t*.72,r:Math.min(s*.04,t*.04),fill:n.textMuted,opacity:.6}),e.jsx("circle",{cx:s*.8,cy:t*.72,r:Math.min(s*.04,t*.04),fill:n.textMuted,opacity:.6}),e.jsx("text",{x:s/2,y:t-5,textAnchor:"middle",fontSize:7,fill:n.text,fontFamily:"'Playfair Display', serif",children:"DJ"})]})}function qc(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`pb-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:4,fill:n.champagneLight,stroke:n.taupeDark,strokeWidth:.8,filter:`url(#pb-sh-${i.id})`}),e.jsx("rect",{x:6,y:5,width:s-12,height:t*.12,rx:2,fill:n.taupeMid,stroke:n.warmDark,strokeWidth:.5}),e.jsx("rect",{x:s*.15,y:t*.25,width:s*.7,height:t*.5,rx:3,fill:n.ivory,stroke:n.taupeMid,strokeWidth:.6,strokeDasharray:"4 3"}),e.jsx("rect",{x:s*.3,y:t*.55,width:s*.15,height:t*.15,rx:1,fill:n.champagne,stroke:n.taupeDark,strokeWidth:.4}),e.jsx("rect",{x:s*.55,y:t*.55,width:s*.15,height:t*.15,rx:1,fill:n.champagne,stroke:n.taupeDark,strokeWidth:.4}),e.jsx("text",{x:s/2,y:t-5,textAnchor:"middle",fontSize:7,fill:n.text,fontFamily:"'Playfair Display', serif",children:"Photo"})]})}function Sa(i){const s=i.width,t=i.height,a=i.elementType==="bar_round",l=i.elementType==="bar_square";if(a){const o=s/2,h=t/2,p=Math.min(s,t)*.4;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`bar-r-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"135%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.2"})}),e.jsxs("radialGradient",{id:`bar-r-g-${i.id}`,cx:"38%",cy:"35%",children:[e.jsx("stop",{offset:"0%",stopColor:"#efe6d8"}),e.jsx("stop",{offset:"100%",stopColor:"#ccc0b0"})]})]}),e.jsx("circle",{cx:o,cy:h,r:p+3,fill:"none",stroke:"#b0a090",strokeWidth:1.2}),e.jsx("circle",{cx:o,cy:h,r:p,fill:`url(#bar-r-g-${i.id})`,stroke:"#a09080",strokeWidth:1,filter:`url(#bar-r-sh-${i.id})`}),e.jsx("circle",{cx:o,cy:h,r:p-1.5,fill:"none",stroke:"#c8b8a4",strokeWidth:.3}),e.jsx("circle",{cx:o,cy:h,r:p*.5,fill:"#c4b4a4",stroke:"#a09080",strokeWidth:.5}),[0,1,2,3,4,5].map(f=>{const d=f/6*Math.PI*2-Math.PI/2;return e.jsx("rect",{x:o+Math.cos(d)*(p*.75)-2,y:h+Math.sin(d)*(p*.75)-3,width:4,height:6,rx:1,fill:"#b8a898",opacity:.5},`g-${f}`)}),e.jsx("text",{x:o,y:h+1,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:"Bar"})]})}if(l){const o=s/2,h=t/2,p=5,f=12;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`bar-s-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"118%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.2"})}),e.jsxs("linearGradient",{id:`bar-s-g-${i.id}`,x1:"0",y1:"0",x2:"0.15",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#efe6d8"}),e.jsx("stop",{offset:"100%",stopColor:"#ccc0b0"})]})]}),e.jsx("rect",{x:p,y:p,width:s-p*2,height:t-p*2,rx:3,fill:`url(#bar-s-g-${i.id})`,stroke:"#a09080",strokeWidth:1,filter:`url(#bar-s-sh-${i.id})`}),e.jsx("rect",{x:p+1.5,y:p+1.5,width:s-p*2-3,height:t-p*2-3,rx:2,fill:"none",stroke:"#c8b8a4",strokeWidth:.3}),e.jsx("rect",{x:f,y:f,width:s-f*2,height:t-f*2,rx:2,fill:"#c4b4a4",stroke:"#a09080",strokeWidth:.6}),Array.from({length:3}).map((d,y)=>{const k=f+6+y*((s-f*2-12)/2);return e.jsx("rect",{x:k-2,y:f+4,width:4,height:6,rx:1,fill:"#b8a898",opacity:.5},`t-${y}`)}),Array.from({length:3}).map((d,y)=>{const k=f+6+y*((s-f*2-12)/2);return e.jsx("rect",{x:k-2,y:t-f-10,width:4,height:6,rx:1,fill:"#b8a898",opacity:.5},`b-${y}`)}),e.jsx("rect",{x:f+3,y:f+3,width:3,height:t-f*2-6,rx:1,fill:"#b8a898",opacity:.3}),e.jsx("rect",{x:s-f-6,y:f+3,width:3,height:t-f*2-6,rx:1,fill:"#b8a898",opacity:.3}),e.jsx("text",{x:o,y:h+2,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:"Bar"})]})}return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`bar-g-${i.id}`,x1:"0",y1:"0",x2:"0.1",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#efe6d8"}),e.jsx("stop",{offset:"50%",stopColor:"#ddd0c0"}),e.jsx("stop",{offset:"100%",stopColor:"#ccc0b0"})]}),e.jsx("filter",{id:`bar-l-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"118%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.2"})})]}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:`url(#bar-g-${i.id})`,stroke:"#a09080",strokeWidth:1,filter:`url(#bar-l-sh-${i.id})`}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:2,fill:"none",stroke:"#c8b8a4",strokeWidth:.3}),e.jsx("rect",{x:4,y:4,width:s-8,height:4,rx:1,fill:"#b8a890",opacity:.4}),Array.from({length:Math.min(8,Math.floor(s/20))}).map((o,h)=>{const p=12+h*((s-24)/Math.max(1,Math.min(8,Math.floor(s/20))-1));return e.jsx("rect",{x:p-2,y:t*.4,width:4,height:t*.25,rx:1,fill:"#b8a898",opacity:.4},`g-${h}`)}),e.jsx("text",{x:s/2,y:t-8,textAnchor:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:i.label})]})}function Uc(i){const s=i.width,t=i.height,a=s/2,l=s*.3,o=t*.52,h=6;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`ws-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})}),e.jsxs("linearGradient",{id:`ws-dg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#e8f5e9",stopOpacity:"0.6"}),e.jsx("stop",{offset:"100%",stopColor:"#c8e6c9",stopOpacity:"0.4"})]})]}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#ws-sh-${i.id})`}),e.jsx("line",{x1:6,y1:3,x2:s-6,y2:3,stroke:n.taupeMid,strokeWidth:.8}),e.jsxs("g",{children:[e.jsx("rect",{x:a-l-4,y:h,width:l,height:o,rx:3,fill:n.champagneLight,stroke:n.taupeDark,strokeWidth:.6}),e.jsx("rect",{x:a-l-2,y:h+3,width:l-4,height:o-6,rx:2,fill:`url(#ws-dg-${i.id})`}),e.jsx("circle",{cx:a-l/2-4,cy:h+o*.3,r:2,fill:"#a5d6a7",fillOpacity:.6}),e.jsx("circle",{cx:a-l/2-4+4,cy:h+o*.45,r:1.5,fill:"#c8e6c9",fillOpacity:.5}),e.jsx("circle",{cx:a-l/2-4-3,cy:h+o*.55,r:1.8,fill:"#81c784",fillOpacity:.4}),e.jsx("rect",{x:a-l/2-4-3,y:h+o-2,width:6,height:3,rx:1,fill:n.taupeMid,opacity:.5})]}),e.jsxs("g",{children:[e.jsx("rect",{x:a+4,y:h,width:l,height:o,rx:3,fill:n.champagneLight,stroke:n.taupeDark,strokeWidth:.6}),e.jsx("rect",{x:a+6,y:h+3,width:l-4,height:o-6,rx:2,fill:"#fdf5e0",fillOpacity:.5}),e.jsx("circle",{cx:a+4+l/2,cy:h+o*.28,r:2.5,fill:n.goldAccent,fillOpacity:.5}),e.jsx("circle",{cx:a+4+l/2-4,cy:h+o*.42,r:1.5,fill:"#e8c880",fillOpacity:.4}),e.jsx("circle",{cx:a+4+l/2+3,cy:h+o*.5,r:1.8,fill:n.goldAccent,fillOpacity:.35}),e.jsx("rect",{x:a+4+l/2-3,y:h+o-2,width:6,height:3,rx:1,fill:n.taupeMid,opacity:.5})]}),Array.from({length:4}).map((p,f)=>{const d=s*.12+f*(s*.22);return e.jsxs("g",{children:[e.jsx("path",{d:`M ${d-2.5} ${t-12} L ${d-3} ${t-5} L ${d+3} ${t-5} L ${d+2.5} ${t-12} Z`,fill:n.champagneLight,stroke:n.taupeDark,strokeWidth:.4}),e.jsx("line",{x1:d-2,y1:t-11,x2:d+2,y2:t-11,stroke:n.taupeMid,strokeWidth:.3})]},`cup-${f}`)}),e.jsx("text",{x:a,y:t-1,textAnchor:"middle",fontSize:Math.min(5.5,s*.09),fill:n.text,fontFamily:"'Playfair Display', serif",children:i.label})]})}function Vc(i){const s=i.width,t=i.height,a=Math.max(5,Math.min(12,Math.round(t/8))),l=3,o=l+2,h=s-o*2,p=6,d=(t-6-p)/a;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`st-tg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#e8e2dc"}),e.jsx("stop",{offset:"100%",stopColor:"#ddd6ce"})]}),e.jsx("filter",{id:`stair-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:2,fill:"#ebe6e0",stroke:"#a09080",strokeWidth:.8,filter:`url(#stair-sh-${i.id})`}),Array.from({length:a}).map((y,k)=>
36{const C=p+k*d,A=k/a*.15,O=224-Math.floor(k*2.5),ie=`rgb(${O}, ${O-6}, ${O-14})`;return e.jsxs("g",{children:[e.jsx("rect",{x:o,y:C,width:h,height:d-.5,rx:.5,fill:ie,stroke:"#c4b8a8",strokeWidth:.3}),e.jsx("rect",{x:o,y:C+d-2,width:h,height:2,rx:.3,fill:`rgba(0,0,0,${.04+A})`}),e.jsx("line",{x1:o+1,y1:C+1,x2:o+h-1,y2:C+1,stroke:"#f0ece8",strokeWidth:.3,opacity:.6})]},`step-${k}`)}),e.jsx("rect",{x:1,y:1,width:l,height:t-2,rx:1,fill:"#b8a898",stroke:"#a09080",strokeWidth:.4}),e.jsx("rect",{x:s-1-l,y:1,width:l,height:t-2,rx:1,fill:"#b8a898",stroke:"#a09080",strokeWidth:.4}),e.jsx("line",{x1:l+.5,y1:1,x2:l+.5,y2:t-1,stroke:"#a09080",strokeWidth:.3,opacity:.5}),e.jsx("line",{x1:s-l-.5,y1:1,x2:s-l-.5,y2:t-1,stroke:"#a09080",strokeWidth:.3,opacity:.5}),e.jsx("polygon",{points:`${s/2-4},${p+d*2} ${s/2+4},${p+d*2} ${s/2},${p+d*.5}`,fill:"#b8a898",opacity:.45}),e.jsx("line",{x1:s/2,y1:p+d*2.2,x2:s/2,y2:p+d*.3,stroke:"#a09080",strokeWidth:.5,opacity:.35})]})}function Ks(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.04,h=Math.max(2,Math.round(s/250)),p=Math.max(2,Math.round(t/250));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("radialGradient",{id:`sc-g-${i.id}`,cx:"50%",cy:"50%",r:"60%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fdfaf5"}),e.jsx("stop",{offset:"100%",stopColor:"#f0ead8"})]})}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:`url(#sc-g-${i.id})`,stroke:"#d8cbb0",strokeWidth:1.2}),Array.from({length:Math.floor(s/o)}).map((f,d)=>{const y=d*o;return e.jsxs("g",{children:[e.jsx("path",{d:`M${y},2 Q${y+o/2},${2+o*.6} ${y+o},2`,fill:"none",stroke:"#d4c8a8",strokeWidth:.6}),e.jsx("path",{d:`M${y},${t-2} Q${y+o/2},${t-2-o*.6} ${y+o},${t-2}`,fill:"none",stroke:"#d4c8a8",strokeWidth:.6})]},`st-${d}`)}),Array.from({length:Math.floor(t/o)}).map((f,d)=>{const y=d*o;return e.jsxs("g",{children:[e.jsx("path",{d:`M2,${y} Q${2+o*.6},${y+o/2} 2,${y+o}`,fill:"none",stroke:"#d4c8a8",strokeWidth:.6}),e.jsx("path",{d:`M${s-2},${y} Q${s-2-o*.6},${y+o/2} ${s-2},${y+o}`,fill:"none",stroke:"#d4c8a8",strokeWidth:.6})]},`ss-${d}`)}),Array.from({length:h}).map((f,d)=>Array.from({length:p}).map((y,k)=>{const C=s/(h+1)*(d+1),A=t/(p+1)*(k+1);return e.jsxs("g",{children:[e.jsx("circle",{cx:C,cy:A,r:4,fill:"#e8dcc0",stroke:"#c8b898",strokeWidth:.8}),e.jsx("circle",{cx:C,cy:A,r:1.5,fill:"#c8b898"}),[0,45,90,135,180,225,270,315].map(O=>{const ie=O*Math.PI/180,de=Math.min(s/(h+1),t/(p+1))*.4;return e.jsx("line",{x1:C,y1:A,x2:C+Math.cos(ie)*de,y2:A+Math.sin(ie)*de,stroke:"#ddd0b8",strokeWidth:.4,opacity:.5},O)})]},`pk-${d}-${k}`)})),e.jsx("text",{x:a,y:l+Math.min(t*.35,40),textAnchor:"middle",fontSize:Math.min(9,s*.02),fill:"#a09070",fontFamily:"'Playfair Display', serif",opacity:.6,children:i.label})]})}function Tt(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=6,h=Math.max(2,Math.floor(s/100)),p=Math.max(2,Math.floor(t/100));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:2,fill:n.champagneLight,stroke:n.taupeDark,strokeWidth:1.2}),e.jsx("rect",{x:o,y:o,width:s-o*2,height:t-o*2,rx:1,fill:"none",stroke:n.taupeMid,strokeWidth:.8}),Array.from({length:h+1}).map((f,d)=>{const y=o+d/h*(s-o*2);return e.jsx("line",{x1:y,y1:o,x2:y,y2:t-o,stroke:n.taupeMid,strokeWidth:.5},`cv-${d}`)}),Array.from({length:p+1}).map((f,d)=>{const y=o+d/p*(t-o*2);return e.jsx("line",{x1:o,y1:y,x2:s-o,y2:y,stroke:n.taupeMid,strokeWidth:.5},`ch-${d}`)}),Array.from({length:h+1}).map((f,d)=>Array.from({length:p+1}).map((y,k)=>{const C=o+d/h*(s-o*2),A=o+k/p*(t-o*2);return e.jsx("circle",{cx:C,cy:A,r:2,fill:n.warmDark,stroke:n.warmDarker,strokeWidth:.4},`n-${d}-${k}`)})),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:1.5,fill:"none",stroke:n.warmDark,strokeWidth:.6,strokeDasharray:"6 3"}),e.jsx("text",{x:a,y:l+2,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(9,s*.025),fill:n.textMuted,fontFamily:"'Playfair Display', serif",opacity:.6,children:i.label})]})}function Ys(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.max(1,Math.round(s/300)),h=Math.max(1,Math.round(t/300)),p=Math.max(3,Math.floor(s/80)),f=Math.max(3,Math.floor(t/80));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("radialGradient",{id:`pt-g-${i.id}`,cx:"50%",cy:"50%",r:"55%",children:[e.jsx("stop",{offset:"0%",stopColor:"#f8f4ec"}),e.jsx("stop",{offset:"100%",stopColor:"#e8e0d0"})]})}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:`url(#pt-g-${i.id})`,stroke:"#c8b898",strokeWidth:1.2}),Array.from({length:p+1}).map((d,y)=>{const k=4+y/p*(s-8);return e.jsxs("g",{children:[e.jsx("circle",{cx:k,cy:4,r:2.5,fill:"#a09080",stroke:"#887060",strokeWidth:.5}),e.jsx("circle",{cx:k,cy:t-4,r:2.5,fill:"#a09080",stroke:"#887060",strokeWidth:.5})]},`sp-t-${y}`)}),Array.from({length:f+1}).map((d,y)=>{const k=4+y/f*(t-8);return e.jsxs("g",{children:[e.jsx("circle",{cx:4,cy:k,r:2.5,fill:"#a09080",stroke:"#887060",strokeWidth:.5}),e.jsx("circle",{cx:s-4,cy:k,r:2.5,fill:"#a09080",stroke:"#887060",strokeWidth:.5})]},`sp-s-${y}`)}),Array.from({length:o}).map((d,y)=>Array.from({length:h}).map((k,C)=>{const A=s/(o+1)*(y+1),O=t/(h+1)*(C+1),ie=Math.min(s/(o+1),t/(h+1))*.45;return e.jsxs("g",{children:[e.jsx("circle",{cx:A,cy:O,r:ie,fill:"none",stroke:"#d0c4a8",strokeWidth:.4,opacity:.3}),e.jsx("circle",{cx:A,cy:O,r:ie*.6,fill:"none",stroke:"#d0c4a8",strokeWidth:.3,opacity:.25}),e.jsx("circle",{cx:A,cy:O,r:6,fill:"#b8a888",stroke:"#9a8868",strokeWidth:.8}),e.jsx("circle",{cx:A,cy:O,r:2.5,fill:"#9a8868"}),[0,60,120,180,240,300].map(de=>{const E=de*Math.PI/180;return e.jsx("line",{x1:A+Math.cos(E)*6,y1:O+Math.sin(E)*6,x2:A+Math.cos(E)*ie,y2:O+Math.sin(E)*ie,stroke:"#c8b898",strokeWidth:.5,opacity:.4},de)})]},`cp-${y}-${C}`)})),e.jsx("text",{x:a,y:l+Math.min(t*.35,50),textAnchor:"middle",fontSize:Math.min(9,s*.02),fill:"#8a7a60",fontFamily:"'Playfair Display', serif",opacity:.6,children:i.label})]})}function Wa(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.max(3,Math.floor(s/80)),h=Math.max(3,Math.floor(t/80));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:"#f5f0ea",fillOpacity:.4,stroke:n.taupeDark,strokeWidth:1.2}),e.jsx("rect",{x:4,y:4,width:s-8,height:t-8,rx:2,fill:"none",stroke:n.taupeMid,strokeWidth:.6}),Array.from({length:o+1}).map((p,f)=>{const d=4+f/o*(s-8);return e.jsx("line",{x1:d,y1:4,x2:d,y2:t-4,stroke:n.taupeMid,strokeWidth:.6,opacity:.5},`xf-${f}`)}),Array.from({length:h+1}).map((p,f)=>{const d=4+f/h*(t-8);return e.jsx("line",{x1:4,y1:d,x2:s-4,y2:d,stroke:n.taupeMid,strokeWidth:.6,opacity:.5},`yf-${f}`)}),Array.from({length:o+1}).map((p,f)=>Array.from({length:h+1}).map((d,y)=>{const k=4+f/o*(s-8),C=4+y/h*(t-8);return e.jsx("circle",{cx:k,cy:C,r:2,fill:n.warmDark,stroke:n.warmDarker,strokeWidth:.4},`cn-${f}-${y}`)})),e.jsx("line",{x1:4,y1:4,x2:s-4,y2:t-4,stroke:n.taupeMid,strokeWidth:.3,opacity:.25}),e.jsx("line",{x1:s-4,y1:4,x2:4,y2:t-4,stroke:n.taupeMid,strokeWidth:.3,opacity:.25}),e.jsx("text",{x:a,y:l+2,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(9,s*.025),fill:n.textMuted,fontFamily:"'Playfair Display', serif",opacity:.5,children:i.label})]})}function Kc(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=6,h=2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:2,fill:n.champagneLight,stroke:n.taupeDark,strokeWidth:1}),e.jsx("line",{x1:3,y1:3,x2:s-3,y2:t-3,stroke:n.taupeMid,strokeWidth:.4,opacity:.5}),e.jsx("line",{x1:s-3,y1:3,x2:3,y2:t-3,stroke:n.taupeMid,strokeWidth:.4,opacity:.5}),e.jsx("circle",{cx:o,cy:o,r:h,fill:n.warmDarker,stroke:"#887060",strokeWidth:.5}),e.jsx("circle",{cx:s-o,cy:o,r:h,fill:n.warmDarker,stroke:"#887060",strokeWidth:.5}),e.jsx("circle",{cx:o,cy:t-o,r:h,fill:n.warmDarker,stroke:"#887060",strokeWidth:.5}),e.jsx("circle",{cx:s-o,cy:t-o,r:h,fill:n.warmDarker,stroke:"#887060",strokeWidth:.5}),e.jsx("circle",{cx:a,cy:l,r:3,fill:n.taupeMid,stroke:n.warmDark,strokeWidth:.5}),e.jsx("text",{x:a,y:l+12,textAnchor:"middle",fontSize:7,fill:n.textMuted,fontFamily:"'Playfair Display', serif",opacity:.6,children:i.label})]})}function Yc(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=8,h=3;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:4,y:4,width:s-8,height:t-8,rx:3,fill:"#f8f6f2",fillOpacity:.5,stroke:"#c8b898",strokeWidth:1,strokeDasharray:"8 4"}),e.jsx("rect",{x:6,y:6,width:s-12,height:t-12,rx:2,fill:"none",stroke:"#d8ccb4",strokeWidth:.5}),e.jsx("circle",{cx:o,cy:o,r:h,fill:"#a09080",stroke:"#887060",strokeWidth:.6}),e.jsx("circle",{cx:s-o,cy:o,r:h,fill:"#a09080",stroke:"#887060",strokeWidth:.6}),e.jsx("circle",{cx:o,cy:t-o,r:h,fill:"#a09080",stroke:"#887060",strokeWidth:.6}),e.jsx("circle",{cx:s-o,cy:t-o,r:h,fill:"#a09080",stroke:"#887060",strokeWidth:.6}),e.jsx("line",{x1:o,y1:o,x2:s-o,y2:t-o,stroke:"#d8ccb4",strokeWidth:.3,opacity:.3}),e.jsx("line",{x1:s-o,y1:o,x2:o,y2:t-o,stroke:"#d8ccb4",strokeWidth:.3,opacity:.3}),e.jsx("text",{x:a,y:l+2,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(8,s*.03),fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",opacity:.5,children:"Canopy"})]})}function Qc(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-1;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:
36o,fill:"#a09080",stroke:"#706050",strokeWidth:1}),e.jsx("circle",{cx:a,cy:l,r:o*.4,fill:"#887060"})]})}function Zc(i){const s=i.width,t=i.height,a=Math.max(3,Math.floor(s/30));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:0,y:0,width:s,height:t,rx:1,fill:"#e8e4dc",stroke:"#c0b8a8",strokeWidth:.8}),Array.from({length:a}).map((l,o)=>{const h=(o+1)*(s/(a+1));return e.jsx("line",{x1:h,y1:0,x2:h,y2:t,stroke:"#d0c8b8",strokeWidth:.4},o)})]})}function Xc(i){const s=i.width,t=i.height,a=s/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:2,fill:"#e8e0d4",stroke:"#a09080",strokeWidth:.8}),e.jsx("path",{d:`M${a-12},${t-2} L${a-4},3 L${a+4},3 L${a+12},${t-2}`,fill:"none",stroke:"#a09080",strokeWidth:.8}),e.jsx("line",{x1:a,y1:3,x2:a,y2:t-2,stroke:"#a09080",strokeWidth:.5,strokeDasharray:"2 2"})]})}function Jc(i){const s=i.width,t=i.height,a=Math.max(2,Math.min(5,Math.floor(s/30))),l=t*.45,o=t*.15;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`buf-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:n.sage,stroke:n.sageStroke,strokeWidth:.8,filter:`url(#buf-sh-${i.id})`}),Array.from({length:a}).map((h,p)=>{const f=(s-14)/a,d=f-4,y=8+p*f,k=p%2===0;return e.jsxs("g",{children:[k?e.jsx("ellipse",{cx:y+d/2,cy:o+l/2,rx:d/2,ry:l/2,fill:"#f0ece0",stroke:"#c4bca8",strokeWidth:.6}):e.jsx("rect",{x:y,y:o,width:d,height:l,rx:3,fill:"#f0ece0",stroke:"#c4bca8",strokeWidth:.6}),k?e.jsx("ellipse",{cx:y+d/2,cy:o+l/2,rx:d*.3,ry:l*.3,fill:"#d4d0c0",opacity:.4}):e.jsx("rect",{x:y+d*.2,y:o+l*.2,width:d*.6,height:l*.6,rx:2,fill:"#d4d0c0",opacity:.4})]},`tr-${p}`)}),e.jsx("text",{x:s/2,y:t-5,textAnchor:"middle",fontSize:7,fill:"#7a7060",fontFamily:"'Playfair Display', serif",children:i.label})]})}function ed(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.42,h=o*.65;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`cake-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("circle",{cx:a,cy:l,r:o,fill:n.blush,stroke:"#d4b0a0",strokeWidth:.8,filter:`url(#cake-sh-${i.id})`}),e.jsx("circle",{cx:a,cy:l,r:h,fill:n.blushSoft,stroke:"#e0c8c0",strokeWidth:.7}),e.jsx("circle",{cx:a,cy:l,r:h*.65,fill:"#fff8f4",stroke:"#e0c8c0",strokeWidth:.5}),e.jsx("circle",{cx:a,cy:l,r:h*.3,fill:"#fffaf8",stroke:"#e0c8c0",strokeWidth:.4}),e.jsx("circle",{cx:a,cy:l,r:2,fill:n.gold}),Array.from({length:8}).map((p,f)=>{const d=f/8*Math.PI*2;return e.jsx("circle",{cx:a+Math.cos(d)*h*.82,cy:l+Math.sin(d)*h*.82,r:1.5,fill:"#e0c8c0",opacity:.5},f)}),e.jsx("text",{x:a,y:Math.min(l+o+8,t-2),textAnchor:"middle",fontSize:Math.min(7,s*.14),fill:"#a07060",fontFamily:"'Playfair Display', serif",children:i.label})]})}function td(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.42;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:o,fill:"#f0e8dc",stroke:"#c4b8a8",strokeWidth:.8}),e.jsx("circle",{cx:a,cy:l,r:o*.6,fill:"#ede5d8",stroke:"#d4c8b8",strokeWidth:.5}),e.jsx("circle",{cx:a,cy:l,r:1.5,fill:"#c4b8a8",opacity:.4}),e.jsx("text",{x:a,y:Math.min(l+o+7,t-2),textAnchor:"middle",fontSize:Math.min(6,s*.14),fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:i.label})]})}function sd(i){const s=i.width,t=i.height,l=Math.min(s,t)-4*2,o=(s-l)/2,h=(t-l)/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:o,y:h,width:l,height:l,rx:2,fill:"#f0e8dc",stroke:"#c4b8a8",strokeWidth:.8}),e.jsx("rect",{x:o+l*.2,y:h+l*.2,width:l*.6,height:l*.6,rx:1.5,fill:"#ede5d8",stroke:"#d4c8b8",strokeWidth:.4}),e.jsx("text",{x:s/2,y:Math.min(h+l+7,t-2),textAnchor:"middle",fontSize:Math.min(6,s
36*.14),fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:i.label})]})}function rd(i){const s=i.width,t=i.height,a=3;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:a,y:a,width:s-a*2,height:t-a*2,rx:2.5,fill:"#f0e8dc",stroke:"#c4b8a8",strokeWidth:.8}),e.jsx("rect",{x:s*.2,y:t*.25,width:s*.6,height:t*.5,rx:1.5,fill:"#ede5d8",stroke:"#d4c8b8",strokeWidth:.4}),e.jsx("text",{x:s/2,y:t-1,textAnchor:"middle",fontSize:Math.min(5.5,s*.09),fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:i.label})]})}function id(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.42,h=o*.7,p=o*.42,f=o*.2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a-f,cy:l+f*.5,r:o,fill:"#ece0d0",stroke:"#c4b8a8",strokeWidth:.7}),e.jsx("circle",{cx:a+f*.3,cy:l-f*.2,r:h,fill:"#f0e8dc",stroke:"#c4b8a8",strokeWidth:.6}),e.jsx("circle",{cx:a+f*.8,cy:l-f*.6,r:p,fill:"#faf6f0",stroke:"#c4b8a8",strokeWidth:.5}),e.jsx("text",{x:a,y:Math.min(l+o+7,t-2),textAnchor:"middle",fontSize:Math.min(6,s*.12),fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:i.label})]})}function ad(i){const s=i.width,t=i.height,a=["#f0e4dc","#ede0d4","#f4e8dc","#e8ddd0","#f0e0d4","#ecdcd0"],l=["#d0b8a8","#c8b0a0","#d4b8a4","#c0a890","#ccb4a0","#c8a898"],o=[{x:.12,y:.15,w:.2,h:.22},{x:.38,y:.12,w:.24,h:.28},{x:.68,y:.18,w:.18,h:.18},{x:.08,y:.45,w:.25,h:.2},{x:.4,y:.48,w:.2,h:.24},{x:.65,y:.42,w:.26,h:.22}];return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:n.champagneLight,stroke:"#d4c4b0",strokeWidth:.8}),o.map((h,p)=>{const f=s*h.x,d=t*h.y,y=s*h.w,k=t*h.h;return e.jsxs("g",{children:[e.jsx("rect",{x:f,y:d,width:y,height:k,rx:2,fill:a[p],stroke:l[p],strokeWidth:.6}),e.jsx("line",{x1:f+y/2,y1:d,x2:f+y/2,y2:d+k,stroke:l[p],strokeWidth:.4}),e.jsx("line",{x1:f,y1:d+k/2,x2:f+y,y2:d+k/2,stroke:l[p],strokeWidth:.4})]},p)}),e.jsx("text",{x:s/2,y:t-4,textAnchor:"middle",fontSize:7,fill:"#d4ad94",fontFamily:"'Playfair Display', serif",children:i.label})]})}function od(i){const s=i.width,t=i.height,a=t*.22,l=s*.12;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`sofa-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:3,y:2,width:s-6,height:a,rx:3,fill:"#c4b8a8",stroke:"#b0a490",strokeWidth:.8,filter:`url(#sofa-sh-${i.id})`}),e.jsx("rect",{x:3,y:a,width:l,height:t-a-4,rx:3,fill:"#c4b8a8",stroke:"#b0a490",strokeWidth:.7}),e.jsx("rect",{x:s-3-l,y:a,width:l,height:t-a-4,rx:3,fill:"#c4b8a8",stroke:"#b0a490",strokeWidth:.7}),e.jsx("rect",{x:3+l+1,y:a+1,width:(s-6-l*2-2)/3-1,height:t-a-6,rx:3,fill:"#ede4da",stroke:"#d4c8b8",strokeWidth:.5}),e.jsx("rect",{x:3+l+1+(s-6-l*2-2)/3,y:a+1,width:(s-6-l*2-2)/3-1,height:t-a-6,rx:3,fill:"#ede4da",stroke:"#d4c8b8",strokeWidth:.5}),e.jsx("rect",{x:3+l+1+(s-6-l*2-2)*2/3,y:a+1,width:(s-6-l*2-2)/3-1,height:t-a-6,rx:3,fill:"#ede4da",stroke:"#d4c8b8",strokeWidth:.5})]})}function ld(i){const s=i.width,t=i.height,a=2,l=t*.22,o=s*.16,h=a+o,p=a+l,f=s-a*2-o*2,d=t-a*2-l,y=Math.min(f,d)*.28;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`lounge-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})}),e.jsxs("linearGradient",{id:`oc-g-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#f0e8e0"}),e.jsx("stop",{offset:"100%",stopColor:"#e4dace"})]})]}),e.jsx("rect",{x:a,y:a,width:s-a*2,height:l,rx:3,fill:"#d4c4b0",stroke:"#c0b0a0",strokeWidth:.7,filter:`url(#lounge-sh-${i.id})`}),e.jsx("rect",{x:a,y:a+l-1,width:o,height:d+1,rx:3,fill:"#d4c4b0",stroke:"#c0b0a0",strokeWidth:.7}),e.jsx("rect",{x:s-a-o,y:a+l-1,width:o,height:d+1,rx:3,fill:"#d4c4b0",stroke:"#c0b0a0",strokeWidth:.7}),e.jsx("rect",{x:h+1,y:p,width:f-2,height:d,rx:3,fill:`url(#oc-g-${i.id})`,stroke:"#d4c8b8",strokeWidth:.5}),e.jsx("ellipse",{cx:s/2,cy:p+d*.45,rx:y,ry:y*.85,fill:"#d8cbb8",stroke:"#d4c8b8",strokeWidth:.4,opacity:.7}),e.jsx("text",{x:s/2,y:t-1,textAnchor:"middle",dominantBaseline:"auto",fontSize:Math.max(5,Math.min(7,s*.14)),fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:i.label})]})}
36function nd(i){const s=i.width,t=i.height,a=t*.2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:4,y:3,width:s-8,height:a,rx:2,fill:"#bcaaa4",stroke:"#a09080",strokeWidth:.8}),e.jsx("rect",{x:4,y:3+a,width:s-8,height:t-a-6,rx:2,fill:"#d7ccc8",stroke:"#bcaaa4",strokeWidth:.7}),Array.from({length:Math.max(2,Math.floor(s/25))}).map((l,o,h)=>e.jsx("line",{x1:4+(o+1)*(s-8)/(h.length+1),y1:3+a+2,x2:4+(o+1)*(s-8)/(h.length+1),y2:t-4,stroke:"#c4b8a8",strokeWidth:.4},o))]})}function cd(i){const s=i.width,t=i.height,a=s/2,l=t/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:Math.min(s,t)*.38,fill:"#e0d4c8",stroke:"#c4b8a8",strokeWidth:1}),e.jsx("circle",{cx:a,cy:l,r:Math.min(s,t)*.25,fill:"#ede4da",stroke:"#d4c8b8",strokeWidth:.5}),[0,1,2,3,4,5].map(o=>{const h=o/6*Math.PI*2,p=Math.min(s,t)*.25,f=Math.min(s,t)*.38;return e.jsx("line",{x1:a+Math.cos(h)*p,y1:l+Math.sin(h)*p,x2:a+Math.cos(h)*f,y2:l+Math.sin(h)*f,stroke:"#d4c8b8",strokeWidth:.4},`os-${o}`)})]})}function dd(i,s){const t=i.width,a=i.height,l=a*.22;return e.jsxs("svg",{width:t,height:a,viewBox:`0 0 ${t} ${a}`,className:"w-full h-full",children:[e.jsx("rect",{x:t*.1,y:2,width:t*.8,height:l,rx:2,fill:"#c4b8a8",stroke:"#b0a490",strokeWidth:.7}),e.jsx("rect",{x:t*.1,y:2+l,width:t*.8,height:a-l-4,rx:3,fill:"#e0d4c8",stroke:"#c4b8a8",strokeWidth:.6})]})}function hd(i){const s=i.width,t=i.height,a=s/2,l=t*.4,o=Math.min(s,t)*.35;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:a-3,y:l+o*.5,width:6,height:t*.3,rx:1.5,fill:"#a0927a"}),e.jsx("circle",{cx:a,cy:l,r:o,fill:"#a8d4a0",stroke:"#7aaa70",strokeWidth:.8}),e.jsx("circle",{cx:a-o*.3,cy:l-o*.3,r:o*.6,fill:"#b8dca8",opacity:.6}),e.jsx("circle",{cx:a+o*.2,cy:l-o*.1,r:o*.4,fill:"#c8e8b8",opacity:.4})]})}function Bo(i){const s=i.width,t=i.height,a=s/2,l=t*.45,o=Math.min(s,t)*.38;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:a-5,y:l+o*.4,width:10,height:t*.3,rx:2,fill:"#8B7355"}),e.jsx("rect",{x:a-12,y:l+o*.4+t*.25,width:24,height:4,rx:2,fill:"#8B735580"}),e.jsx("circle",{cx:a,cy:l,r:o,fill:"#6B8E4E",stroke:"#4a6b35",strokeWidth:1}),e.jsx("circle",{cx:a-o*.35,cy:l-o*.25,r:o*.55,fill:"#7BA05B",opacity:.7}),e.jsx("circle",{cx:a+o*.3,cy:l-o*.15,r:o*.5,fill:"#8AB86A",opacity:.5}),e.jsx("circle",{cx:a-o*.1,cy:l-o*.4,r:o*.4,fill:"#9CC87A",opacity:.4}),e.jsx("circle",{cx:a+o*.15,cy:l+o*.2,r:o*.35,fill:"#5E8040",opacity:.3})]})}function xd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:s*.25,cy:t*.55,r:Math.min(s,t)*.22,fill:"#6B8E4E",stroke:"#4a6b35",strokeWidth:.8}),e.jsx("circle",{cx:s*.5,cy:t*.35,r:Math.min(s,t)*.28,fill:"#7BA05B",stroke:"#4a6b35",strokeWidth:.8}),e.jsx("circle",{cx:s*.75,cy:t*.5,r:Math.min(s,t)*.24,fill:"#6B8E4E",stroke:"#4a6b35",strokeWidth:.8}),e.jsx("circle",{cx:s*.38,cy:t*.42,r:Math.min(s,t)*.18,fill:"#8AB86A",opacity:.6}),e.jsx("circle",{cx:s*.62,cy:t*.38,r:Math.min(s,t)*.16,fill:"#9CC87A",opacity:.5})]})}function fd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("ellipse",{cx:s/2,cy:t/2,rx:s*.45,ry:t*.42,fill:"#88bdd8",stroke:"#6a9ab8",strokeWidth:1}),e.jsx("ellipse",{cx:s/2,cy:t/2,rx:s*.35,ry:t*.32,fill:"#9dcae0",opacity:.6}),e.jsx("ellipse",{cx:s*.4,cy:t*.4,rx:s*.12,ry:t*.08,fill:"#b8ddf0",opacity:.5}),e.jsx("path",{d:`M${s*.55} ${t*.58} Q${s*.6} ${t*.55} ${s*.65} ${t*.58}`,fill:"none",stroke:"#b8ddf0",strokeWidth:.8,opacity:.6})]})}function pd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("path",{d:`M0 ${t*.3} Q${s*.15} ${t*.15} ${s*.3} ${t*.25} Q${s*.5} ${t*.1} ${s*.7} ${t*.2} Q${s*.85} ${t*.28} ${s} ${t*.2} L${s} ${t} L0 ${t} Z`,fill:"#88bdd8",stroke:"#6a9ab8",strokeWidth:1}),e.jsx("path",{d:`M${s*.1} ${t*.5} Q${s*.25} ${t*.45} ${s*.4} ${t*.5}`,fill:"none",stroke:"#b8ddf0",strokeWidth:.8,opacity:.5}),e.jsx("path",{d:`M${s*.5} ${t*.65} Q${s*.65} ${t*.6} ${s*.8} ${t*.65}`,fill:"none",stroke:"#b8ddf0",strokeWidth:.8,opacity:.4}),e.jsx("path",{d:`M${s*.2} ${t*.75} Q${s*.35} ${t*.7} ${s*.5} ${t*.75}`,fill:"none",stroke:"#b8ddf0",strokeWidth:.8,opacity:.3})]})}function md(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:0,y:0,width:s,height:t,rx:4,fill:"#f0e4c8"}),e.jsx("path",{d:`M0 ${t*.6} Q${s*.15} ${t*.5} ${s*.3} ${t*.55} Q${s*.5} ${t*.48} ${s*.7} ${t*.52} Q${s*.85} ${t*.58} ${s} ${t*.5} L${s} ${t} L0 ${t} Z`,fill:"#88bdd8",opacity:.5}),e.jsx("path",{d:`M0 ${t*.7} Q${s*.2} ${t*.62} ${s*.4} ${t*.66} Q${s*.6} ${t*.6} ${s*.8} ${t*.64} Q${s*.9} ${t*.68} ${s} ${t*.62} L${s} ${t} L0 ${t} Z`,fill:"#7aafc8",opacity:.4}),e.jsx("circle",{cx:s*.15,cy:t*.35,r:2,fill:"#d4c4a0",opacity:.6}),e.jsx("circle",{cx:s*.45,cy:t*.4,r:1.5,fill:"#d4c4a0",opacity:.5}),e.jsx("circle",{cx:s*.75,cy:t*.3,r:2.5,fill:"#d4c4a0",opacity:.4})]})}function ud(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.4;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:
36o,fill:"#b3d9e8",stroke:"#8ab5c8",strokeWidth:1.2}),e.jsx("circle",{cx:a,cy:l,r:o*.5,fill:"#9dcae0",stroke:"#8ab5c8",strokeWidth:.6}),e.jsx("circle",{cx:a,cy:l,r:o*.15,fill:"#8ab5c8"}),e.jsx("line",{x1:a,y1:l-o*.15,x2:a,y2:l-o*.55,stroke:"#b8ddf0",strokeWidth:1,strokeLinecap:"round",opacity:.7}),e.jsx("line",{x1:a,y1:l-o*.5,x2:a-o*.2,y2:l-o*.25,stroke:"#b8ddf0",strokeWidth:.7,strokeLinecap:"round",opacity:.5}),e.jsx("line",{x1:a,y1:l-o*.5,x2:a+o*.2,y2:l-o*.25,stroke:"#b8ddf0",strokeWidth:.7,strokeLinecap:"round",opacity:.5})]})}function yd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:6,fill:"#d4e8c4",stroke:"#a8c490",strokeWidth:1}),Array.from({length:5}).map((a,l)=>e.jsx("circle",{cx:s*.15+l*s*.175,cy:t*.4,r:Math.min(s,t)*.12,fill:"#e8a0b0",opacity:.6},l)),Array.from({length:4}).map((a,l)=>e.jsx("circle",{cx:s*.22+l*s*.2,cy:t*.65,r:Math.min(s,t)*.08,fill:"#7BA05B",opacity:.5},`leaf-${l}`))]})}function gd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:s*.1,y:0,width:s*.8,height:t,rx:s*.15,fill:"#e0d6c4",stroke:"#c8b8a0",strokeWidth:.8}),Array.from({length:Math.floor(t/25)}).map((a,l)=>e.jsx("line",{x1:s*.25,y1:12+l*25,x2:s*.75,y2:12+l*25,stroke:"#c8b8a0",strokeWidth:.5,opacity:.5},l))]})}function bd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.35;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`cand-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#d4af37",floodOpacity:"0.18"})})}),e.jsx("circle",{cx:a,cy:l,r:o,fill:"#d8cbb8",stroke:"#d4ad94",strokeWidth:.7,filter:`url(#cand-sh-${i.id})`}),e.jsx("circle",{cx:a,cy:l,r:o*.4,fill:"#d4c4a8",stroke:"#d4ad94",strokeWidth:.5}),Array.from({length:5}).map((h,p)=>{const f=p/5*Math.PI*2-Math.PI/2,d=a+Math.cos(f)*o*.72,y=l+Math.sin(f)*o*.72;return e.jsxs("g",{children:[e.jsx("circle",{cx:d,cy:y,r:3,fill:"#fff9c4",stroke:"#e8d060",strokeWidth:.4,opacity:.9}),e.jsx("circle",{cx:d,cy:y,r:5,fill:"#fff9c420"}),e.jsx("line",{x1:a,y1:l,x2:d,y2:y,stroke:"#d4ad94",strokeWidth:.6})]},p)})]})}function jd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.35;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`lant-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#d4af37",floodOpacity:"0.1"})})}),e.jsx("rect",{x:a-o,y:l-o,width:o*2,height:o*2,rx:3,fill:"#fff9c4",stroke:"#d4ad94",strokeWidth:.8,opacity:.7,filter:`url(#lant-sh-${i.id})`}),e.jsx("rect",{x:a-o+2,y:l-o+2,width:o*2-4,height:o*2-4,rx:2,fill:"none",stroke:"#e8d060",strokeWidth:.4}),e.jsx("line",{x1:a-o+2,y1:l,x2:a+o-2,y2:l,stroke:"#d4ad94",strokeWidth:.3,opacity:.4}),e.jsx("line",{x1:a,y1:l-o+2,x2:a,y2:l+o-2,stroke:"#d4ad94",strokeWidth:.3,opacity:.4}),e.jsx("circle",{cx:a,cy:l,r:o*.3,fill:"#ffe082",opacity:.6}),e.jsx("circle",{cx:a,cy:l,r:o*.15,fill:"#ffcc00",opacity:.4}),e.jsx("circle",{cx:a,cy:l,r:o+3,fill:"none",stroke:"#fff9c420",strokeWidth:4})]})}function wd(i){const s=i.width,t=i.height,a=s/2,l=t/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`gb-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.1"})})}),e.jsx("circle",{cx:a,cy:l,r:Math.min(s,t)*.38,fill:"#d4c8b8",stroke:"#b0a490",strokeWidth:.7,filter:`url(#gb-sh-${i.id})`}),e.jsx("rect",{x:a-s*.28,y:l-t*.22,width:s*.56,height:t*.44,rx:2,fill:"#f5ebe0",stroke:"#d4c8b8",strokeWidth:.6}),e.jsx("line",{x1:a+s*.25,y1:l-t*.18,x2:a+s*.25,y2:l+t*.18,stroke:"#c4b8a8",strokeWidth:1.5}),[.3,.38,.46,.54].map((o,h)=>e.jsx("line",{x1:a-s*.18,y1:t*o,x2:a+s*.18,y2:t*o,stroke:"#d4c8b8",strokeWidth:.3},h)),e.jsx("circle",{cx:a-s*.08,cy:l+t*.12,r:2,fill:"#d4ad94",opacity:.5})]})}function kd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.4;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`champ-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#d4af37",floodOpacity:"0.1"})})}
36),e.jsx("circle",{cx:a,cy:l,r:o,fill:"#f5f0e0",stroke:"#e8ddd0",strokeWidth:.6,filter:`url(#champ-sh-${i.id})`}),[o*.85,o*.55,o*.25].map((h,p)=>{const f=[10,6,1][p];return Array.from({length:f}).map((d,y)=>{const k=y/f*Math.PI*2-Math.PI/2,C=f===1?a:a+Math.cos(k)*h,A=f===1?l:l+Math.sin(k)*h;return e.jsxs("g",{children:[e.jsx("circle",{cx:C,cy:A,r:3.5,fill:"#fff9c4",stroke:"#e8d060",strokeWidth:.4,opacity:.8}),e.jsx("circle",{cx:C,cy:A,r:1.5,fill:"#ffe082",opacity:.5})]},`g-${p}-${y}`)})})]})}function $d(i){const s=i.width,t=i.height,a=i.color||"#d7ccc8",l=s/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",overflow:"visible",children:[e.jsx("path",{d:`M2,${t-2}
37           L2,${l}
38           A${l-2},${l-2} 0 0 1 ${s-2},${l}
39           L${s-2},${t-2} Z`,fill:a,stroke:"#8d6e63",strokeWidth:1.5}),e.jsx("path",{d:`M6,${t-2}
40           L6,${l+4}
41           A${l-6},${l-6} 0 0 1 ${s-6},${l+4}
42           L${s-6},${t-2}`,fill:"none",stroke:"#a1887f",strokeWidth:.5,opacity:.4}),[.3,.48,.66,.84,.94].map((o,h)=>e.jsx("line",{x1:6,y1:t*o,x2:s-6,y2:t*o,stroke:"#8d6e63",strokeWidth:1},`s-${h}`)),e.jsx("circle",{cx:s/2,cy:2,r:1.5,fill:"#8d6e63"})]})}function vd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.42,h=8;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`chan-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#d4af37",floodOpacity:"0.15"})})}),e.jsx("circle",{cx:a,cy:l,r:o+4,fill:"none",stroke:"#e8d06020",strokeWidth:8}),e.jsx("circle",{cx:a,cy:l,r:o,fill:"none",stroke:"#d4af37",strokeWidth:1.2,filter:`url(#chan-sh-${i.id})`}),e.jsx("circle",{cx:a,cy:l,r:o*.5,fill:"none",stroke:"#d4af37",strokeWidth:.8}),e.jsx("circle",{cx:a,cy:l,r:3,fill:"#d4af37"}),Array.from({length:h}).map((p,f)=>{const d=f/h*Math.PI*2-Math.PI/2,y=a+Math.cos(d)*o*.5,k=l+Math.sin(d)*o*.5,C=a+Math.cos(d)*o,A=l+Math.sin(d)*o;return e.jsxs("g",{children:[e.jsx("line",{x1:y,y1:k,x2:C,y2:A,stroke:"#d4af37",strokeWidth:.8}),e.jsx("circle",{cx:C,cy:A,r:3,fill:"#fff9c4",stroke:"#e8d060",strokeWidth:.5,opacity:.9}),e.jsx("circle",{cx:C,cy:A,r:5,fill:"#fff9c420"})]},f)}),Array.from({length:h}).map((p,f)=>{const d=(f+.5)/h*Math.PI*2-Math.PI/2,y=a+Math.cos(d)*o*.75,k=l+Math.sin(d)*o*.75;return e.jsx("path",{d:`M ${y-1.5},${k+2} L ${y},${k-3} L ${y+1.5},${k+2} Z`,fill:"#e8d8c8",opacity:.5},`d-${f}`)})]})}function Md(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.33,h=12,p=6;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`fchan-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#d4ad94",floodOpacity:"0.15"})})}),e.jsx("circle",{cx:a,cy:l,r:o+5,fill:"none",stroke:"#e8c4c440",strokeWidth:8}),e.jsx("circle",{cx:a,cy:l,r:o+1,fill:"none",stroke:"#d4ad94",strokeWidth:.8,strokeDasharray:"3,3",filter:`url(#fchan-sh-${i.id})`}),Array.from({length:h}).map((f,d)=>{const y=d/h*Math.PI*2-Math.PI/2,k=a+Math.cos(y)*o,C=l+Math.sin(y)*o,A=o*.22,O=["#f0d4cc","#f4dde5","#e8c4c4","#f0e0d8"];return e.jsxs("g",{children:[e.jsx("circle",{cx:k,cy:C,r:A,fill:O[d%O.length],opacity:.7,stroke:"#d4a0a8",strokeWidth:.4}),e.jsx("circle",{cx:k,cy:C,r:A*.4,fill:"#d4ad94",opacity:.5})]},d)}),Array.from({length:p}).map((f,d)=>{const y=d/p*Math.PI*2,k=a+Math.cos(y)*o*.55,C=l+Math.sin(y)*o*.55;return e.jsx("circle",{cx:k,cy:C,r:o*.13,fill:"#c8d4b8",opacity:.6,stroke:"#8a9a78",strokeWidth:.3},`inner-${d}`)}),e.jsx("circle",{cx:a,cy:l,r:o*.2,fill:"#f4dde5",stroke:"#d4ad94",strokeWidth:1}),e.jsx("circle",{cx:a,cy:l,r:o*.08,fill:"#d4ad94",opacity:.7}),Array.from({length:h}).map((f,d)=>{const y=d/h*Math.PI*2-Math.PI/2,k=a+Math.cos(y)*o*.25,C=l+Math.sin(y)*o*.25,A=a+Math.cos(y)*(o-o*.2),O=l+Math.sin(y)*(o-o*.2);return e.jsx("line",{x1:k,y1:C,x2:A,y2:O,stroke:"#7a9a6d",strokeWidth:.5,opacity:.4},`vine-${d}`)})]})}function _d(i){const s=i.width,t=i.height,a=s/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:2,fill:"#8d6e63",stroke:"#6d4c41",strokeWidth:1}),e.jsx("rect",{x:s*.15,y:t*.2,width:s*.7,height:t*.65,rx:3,fill:"#3e2723",stroke:"#5d4037",strokeWidth:.8}),e.jsx("rect",{x:2,y:1,width:s-4,height:t*.15,rx:1.5,fill:"#a1887f",stroke:"#6d4c41",strokeWidth:.5}),e.jsx("path",{d:`M${a},${t*.3} Q${a-s*.12},${t*.5} ${a-s*.08},${t*.75} Q${a},${t*.55} ${a+s*.08},${t*.75} Q${a+s*.12},${t*.5} ${a},${t*.3}`,fill:"#ff6f00",opacity:.7}),e.jsx("path",{d:`M${a},${t*.4} Q${a-s*.06},${t*.55} ${a-s*.04},${t*.72} Q${a},${t*.6} ${a+s*.04},${t*.72} Q${a+s*.06},${t*.55} ${a},${t*.4}`,fill:"#ffab00",opacity:.8}),e.jsx("path",{d:`M${a},${t*.5} Q${a-s*.03},${t*.6} ${a},${t*.7} Q${a+s*.03},${t*.6} ${a},${t*.5}`,fill:"#fff176",opacity:.7}),e.jsx("circle",{cx:a-s*.18,cy:t*.72,r:s*.03,fill:"#ff8f00",opacity:.5}),e.jsx("circle",{cx:a+s*.15,cy:t*.7,r:s*.025,fill:"#ffab00",opacity:.5})]})}function Cd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.42;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:
42o+3,fill:"#a1887f",opacity:.3}),e.jsx("circle",{cx:a,cy:l,r:o,fill:"#795548",stroke:"#5d4037",strokeWidth:1.5}),e.jsx("circle",{cx:a,cy:l,r:o*.75,fill:"#4e342e",stroke:"#3e2723",strokeWidth:.8}),e.jsx("circle",{cx:a,cy:l,r:o*.5,fill:"#3e2723"}),Array.from({length:8}).map((h,p)=>{const f=p/8*Math.PI*2,d=a+Math.cos(f)*o*.6,y=l+Math.sin(f)*o*.6;return e.jsx("rect",{x:d-2,y:y-1,width:4,height:2,rx:.5,fill:"#6d4c41",opacity:.6,transform:`rotate(${f*180/Math.PI}, ${d}, ${y})`},`s-${p}`)}),e.jsx("path",{d:`M${a},${l-o*.35} Q${a-o*.18},${l-o*.1} ${a-o*.12},${l+o*.15} Q${a},${l} ${a+o*.12},${l+o*.15} Q${a+o*.18},${l-o*.1} ${a},${l-o*.35}`,fill:"#ff6f00",opacity:.75}),e.jsx("path",{d:`M${a},${l-o*.2} Q${a-o*.08},${l} ${a-o*.05},${l+o*.1} Q${a},${l+o*.02} ${a+o*.05},${l+o*.1} Q${a+o*.08},${l} ${a},${l-o*.2}`,fill:"#ffab00",opacity:.8}),e.jsx("path",{d:`M${a},${l-o*.08} Q${a-o*.03},${l+o*.02} ${a},${l+o*.08} Q${a+o*.03},${l+o*.02} ${a},${l-o*.08}`,fill:"#fff176",opacity:.7})]})}function Nd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.4;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("radialGradient",{id:`disco-grad-${i.id}`,cx:"35%",cy:"35%",children:[e.jsx("stop",{offset:"0%",stopColor:"#ffffff"}),e.jsx("stop",{offset:"50%",stopColor:"#d0d0d0"}),e.jsx("stop",{offset:"100%",stopColor:"#909090"})]})}),e.jsx("line",{x1:a,y1:0,x2:a,y2:l-o,stroke:"#999",strokeWidth:1}),e.jsx("circle",{cx:a,cy:l,r:o,fill:`url(#disco-grad-${i.id})`,stroke:"#888",strokeWidth:.8}
42),[-.6,-.3,0,.3,.6].map(h=>{const p=l+h*o,f=Math.sqrt(Math.max(0,o*o-h*o*(h*o)));return e.jsx("line",{x1:a-f,y1:p,x2:a+f,y2:p,stroke:"#b0b0b0",strokeWidth:.4,opacity:.5},h)}),Array.from({length:6}).map((h,p)=>{const f=p/6*Math.PI;return e.jsx("ellipse",{cx:a,cy:l,rx:o*Math.cos(f),ry:o,fill:"none",stroke:"#b0b0b0",strokeWidth:.4,opacity:.3,transform:`rotate(${p/6*180} ${a} ${l})`},p)}),Array.from({length:8}).map((h,p)=>{const f=p/8*Math.PI*2,d=o+6+p%2*4,y=a+Math.cos(f)*d,k=l+Math.sin(f)*d;return e.jsx("circle",{cx:y,cy:k,r:1.5,fill:"#fff9c4",opacity:.6},p)})]})}function Sd(i){const s=i.width,t=i.height,a=t>s*1.5,o=Math.max(4,Math.floor((a?t:s)/16)),h="#6a5a4a";if(a){const k=s*.3,C=4,A=t-4,O=s/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",overflow:"visible",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`sl-glow-${i.id}`,children:[e.jsx("stop",{offset:"0%",stopColor:"#fff8e1",stopOpacity:"0.9"}),e.jsx("stop",{offset:"50%",stopColor:"#ffe082",stopOpacity:"0.3"}),e.jsx("stop",{offset:"100%",stopColor:"#ffe082",stopOpacity:"0"})]}),e.jsx("filter",{id:`sl-blur-${i.id}`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:e.jsx("feGaussianBlur",{stdDeviation:"2"})})]}),e.jsx("circle",{cx:O,cy:C,r:3,fill:h,opacity:.6}),e.jsx("circle",{cx:O,cy:A,r:3,fill:h,opacity:.6}),e.jsx("path",{d:`M ${O},${C} Q ${O+k},${t/2} ${O},${A}`,fill:"none",stroke:h,strokeWidth:.8}),Array.from({length:o}).map((ie,de)=>{const E=(de+.5)/o,rt=C+E*(A-C),L=O+k*4*E*(1-E),be=2.8;return e.jsxs("g",{children:[e.jsx("circle",{cx:L,cy:rt,r:be+4,fill:`url(#sl-glow-${i.id})`,filter:`url(#sl-blur-${i.id})`}),e.jsx("line",{x1:L,y1:rt-be-1,x2:L,y2:rt-be+.5,stroke:h,strokeWidth:.4}),e.jsx("ellipse",{cx:L,cy:rt,rx:be*.75,ry:be,fill:"#fff8e1",stroke:"#d4a828",strokeWidth:.5}),e.jsx("ellipse",{cx:L,cy:rt-be*.15,rx:be*.35,ry:be*.45,fill:"#fffde7",opacity:.7}),e.jsx("rect",{x:L-be*.35,y:rt-be-1,width:be*.7,height:1.5,rx:.3,fill:"#8a7a6a"})]},de)})]})}const p=Math.min(t*.4,30),f=6,d=4,y=s-4;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",overflow:"visible",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`sl-glow-${i.id}`,children:[e.jsx("stop",{offset:"0%",stopColor:"#fff8e1",stopOpacity:"0.9"}),e.jsx("stop",{offset:"50%",stopColor:"#ffe082",stopOpacity:"0.3"}),e.jsx("stop",{offset:"100%",stopColor:"#ffe082",stopOpacity:"0"})]}),e.jsx("filter",{id:`sl-blur-${i.id}`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:e.jsx("feGaussianBlur",{stdDeviation:"2"})})]}),e.jsx("circle",{cx:d,cy:f,r:3,fill:h,opacity:.6}),e.jsx("circle",{cx:y,cy:f,r:3,fill:h,opacity:.6}),e.jsx("path",{d:`M ${d},${f} Q ${s/2},${f+p} ${y},${f}`,fill:"none",stroke:h,strokeWidth:.8}),Array.from({length:o}).map((k,C)=>{const A=(C+.5)/o,O=d+A*(y-d),ie=f+p*4*A*(1-A),de=2.8;return e.jsxs("g",{children:[e.jsx("circle",{cx:O,cy:ie+de+3,r:de+4,fill:`url(#sl-glow-${i.id})`,filter:`url(#sl-blur-${i.id})`}),e.jsx("line",{x1:O,y1:ie,x2:O,y2:ie+de+1,stroke:h,strokeWidth:.4}),e.jsx("ellipse",{cx:O,cy:ie+de+2.5,rx:de*.75,ry:de,fill:"#fff8e1",stroke:"#d4a828",strokeWidth:.5}),e.jsx("ellipse",{cx:O,cy:ie+de+2,rx:de*.35,ry:de*.45,fill:"#fffde7",opacity:.7}),e.jsx("rect",{x:O-de*.35,y:ie+.5,width:de*.7,height:1.5,rx:.3,fill:"#8a7a6a"})]},C)})]})}function Wd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.4;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`spot-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#d4af37",floodOpacity:"0.15"})})}),e.jsx("circle",{cx:a,cy:l,r:o+6,fill:"#fff9c410"}),e.jsx("circle",{cx:a,cy:l,r:o+3,fill:"#fff9c420"}),e.jsx("circle",{cx:a,cy:l,r:o,fill:"#333",stroke:"#555",strokeWidth:.8,filter:`url(#spot-sh-${i.id})`}),e.jsx("circle",{cx:a,cy:l,r:o*.6,fill:"#555"}),e.jsx("circle",{cx:a,cy:l,r:o*.3,fill:"#fff9c4",opacity:.8})]})}function Dd(i){const s=i.width,t=i.height,a=s/2,l=i.color||n.gold;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`upl-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:a-4,y:t*.6,width:8,height:t*.35,rx:2,fill:n.warmDarker,stroke:n.shadow,strokeWidth:.5,filter:`url(#upl-sh-${i.id})`}),e.jsx("path",{d:`M ${a},${t*.55} L ${a-7},${t*.1} L ${a+7},${t*.1} Z`,fill:l,opacity:.3}),e.jsx("path",{d:`M ${a},${t*.55} L ${a-4},${t*.2} L ${a+4},${t*.2} Z`,fill:l,opacity:.4}),e.jsx("circle",{cx:a,cy:t*.58,r:2.5,fill:l,opacity:.8})]})}function Bd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)*.42,p=We(i).initials||"M&J";return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:
42o,fill:"#fff9c408",stroke:"#e8d06040",strokeWidth:1,strokeDasharray:"3 2"}),e.jsx("circle",{cx:a,cy:l,r:o*.7,fill:"#fff9c410",stroke:"#e8d06030",strokeWidth:.5}),e.jsx("text",{x:a,y:l-2,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(14,o*.45),fill:n.gold,fontFamily:"Playfair Display, serif",opacity:.6,children:p}),e.jsx("text",{x:a,y:l+o*.45,textAnchor:"middle",fontSize:Math.min(7,o*.2),fill:n.gold,fontFamily:"serif",opacity:.4,children:"monogram"})]})}function Td(i){const s=i.width,t=i.height,a=i.color||n.champagne;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:4,fill:"#1a1a1a",stroke:"#333",strokeWidth:.8}),e.jsx("rect",{x:4,y:4,width:s-8,height:t-8,rx:2,fill:"none",stroke:"#33333380",strokeWidth:.5}),e.jsx("text",{x:s/2,y:t/2+1,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(14,t*.35,s*.12),fill:a,fontFamily:"'Playfair Display', serif",fontStyle:"italic",filter:`drop-shadow(0 0 3px ${a})`,children:"Better Together"}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:"none",stroke:a,strokeWidth:.3,opacity:.15})]})}function Da(i){const s=i.width,t=i.height,a=t>s,l=a?Math.max(3,Math.floor(t/30)):Math.max(3,Math.floor(s/30));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.6}),Array.from({length:l}).map((o,h)=>{if(a){const f=(h+1)*(t/(l+1));return e.jsx("line",{x1:4,y1:f,x2:s-4,y2:f,stroke:n.champagneLight,strokeWidth:.5},h)}const p=(h+1)*(s/(l+1));return e.jsx("line",{x1:p,y1:4,x2:p,y2:t-4,stroke:n.champagneLight,strokeWidth:.5},h)}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:1,fill:"none",stroke:n.champagne,strokeWidth:.4,strokeDasharray:"4 3"})]})}function Ad(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`lg-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})}),e.jsxs("linearGradient",{id:`lg-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#d8d4c4"}),e.jsx("stop",{offset:"100%",stopColor:n.sageMid})]})]}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:6,fill:`url(#lg-bg-${i.id})`,stroke:n.sageStroke,strokeWidth:.8,strokeDasharray:"6 3",filter:`url(#lg-sh-${i.id})`}),e.jsx("rect",{x:4,y:4,width:s-8,height:t-8,rx:5,fill:"none",stroke:n.sage,strokeWidth:.3}),e.jsx("rect",{x:s*.12,y:t*.18,width:s*.12,height:t*.28,rx:1.5,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.5,transform:`rotate(-10 ${s*.18} ${t*.32})`}),e.jsx("rect",{x:s*.13,y:t*.19,width:s*.1,height:t*.06,rx:1,fill:n.champagne,opacity:.5,transform:`rotate(-10 ${s*.18} ${t*.22})`}),e.jsx("rect",{x:s*.74,y:t*.18,width:s*.12,height:t*.28,rx:1.5,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.5,transform:`rotate(10 ${s*.8} ${t*.32})`}),e.jsx("rect",{x:s*.75,y:t*.19,width:s*.1,height:t*.06,rx:1,fill:n.champagne,opacity:.5,transform:`rotate(10 ${s*.8} ${t*.22})`}),e.jsx("circle",{cx:s*.42,cy:t*.35,r:s*.035,fill:n.blush,stroke:"#e8a0a0",strokeWidth:.4}),e.jsx("circle",{cx:s*.52,cy:t*.42,r:s*.03,fill:"#b3e5fc",stroke:"#81d4fa",strokeWidth:.3,opacity:.7}),e.jsx("circle",{cx:s*.46,cy:t*.5,r:s*.025,fill:"#c8e6c9",stroke:"#a5d6a7",strokeWidth:.3,opacity:.6}),e.jsx("line",{x1:s*.35,y1:t*.58,x2:s*.65,y2:t*.58,stroke:n.sageStroke,strokeWidth:.5,strokeDasharray:"3 2",opacity:.4}),e.jsx("text",{x:s/2,y:t-6,textAnchor:"middle",fontSize:7,fill:n.textMuted,fontFamily:"'Playfair Display', serif",fontStyle:"italic",children:"Lawn Games"})]})}function Pd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`cs-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})}),e.jsxs("linearGradient",{id:`cs-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight}),e.jsx("stop",{offset:"100%",stopColor:n.champagne})]})]}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:`url(#cs-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#cs-sh-${i.id})`}),e.jsx("line",{x1:5,y1:5,x2:s-5,y2:5,stroke:n.taupeMid,strokeWidth:.6}),e.jsx("rect",{x:s*.08,y:t*.12,width:s*.24,height:t*.5,rx:3,fill:n.warmDark,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("ellipse",{cx:s*.2,cy:t*.12,rx:s*.12,ry:t*.06,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("rect",{x:s*.12,y:t*.38,width:s*.06,height:t*.08,rx:1,fill:n.champagne,opacity:.6}),e.jsx("path",{d:`M ${s*.15} ${t*.1} Q ${s*.18} ${t*.04} ${s*.22} ${t*.08}`,fill:"none",stroke:n.taupeMid,strokeWidth:.5,opacity:.4}),[.42,.58,.74].map((a,l)=>e.jsxs("g",{children:[e.jsx("path",{d:`M ${s*a} ${t*.62} L ${s*a+1} ${t*.25} L ${s*a+s*.1-1} ${t*.25} L ${s*a+s*.1} ${t*.62} Z`,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("ellipse",{cx:s*a+s*.05,cy:t*.25,rx:s*.05,ry:t*.04,fill:"#f5f0ea",stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("ellipse",{cx:s*a+s*.05,cy:t*.3,rx:s*.035,ry:t*.025,fill:"#8d6e63",opacity:.3}),e.jsx("path",{d:`M ${s*a+s*.1} ${t*.35} Q ${s*a+s*.14} ${t*.38} ${s*a+s*.1} ${t*.45}`,fill:"none",stroke:n.taupeStroke,strokeWidth:.4})]},l)),e.jsx("text",{x:s/2,y:t-4,textAnchor:"middle",fontSize:7,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Coffee"})]})}function Fd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`la-sh-${i.id}`,x:"-3%",y:"-3%",width:"106%",height:"110%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:6,fill:n.champagneLight,stroke:n.taupeStroke,strokeWidth:.6,strokeDasharray:"8 4",filter:`url(#la-sh-${i.id})`}),e.jsx("rect",{x:s*.06,y:t*.12,width:s*.52,height:t*.35,rx:5,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("rect",{x:s*.06,y:t*.09,width:s*.52,height:t*.08,rx:4,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("rect",{x:s*.06,y:t*.14,width:s*.06,height:t*.3,rx:2,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("rect",{x:s*.52,y:t*.14,width:s*.06,height:t*.3,rx:2,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.3}),[.14,.28,.42].map((a,l)=>e.jsx("rect",{x:s*a,y:t*.2,width:s*.1,height:t*.08,rx:2,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.2,opacity:.6},l)),e.jsx("rect",{x:s*.65,y:t*.18,width:s*.14,height:t*.24,rx:4,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.5}
42),e.jsx("rect",{x:s*.82,y:t*.18,width:s*.14,height:t*.24,rx:4,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("rect",{x:s*.66,y:t*.2,width:s*.12,height:t*.06,rx:2,fill:n.champagne,opacity:.5}),e.jsx("rect",{x:s*.83,y:t*.2,width:s*.12,height:t*.06,rx:2,fill:n.champagne,opacity:.5}),e.jsx("ellipse",{cx:s*.32,cy:t*.62,rx:s*.12,ry:t*.1,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("circle",{cx:s*.32,cy:t*.62,r:s*.04,fill:n.blush,opacity:.4}),e.jsx("ellipse",{cx:s*.75,cy:t*.62,rx:s*.08,ry:t*.07,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("rect",{x:s*.55,y:t*.58,width:s*.06,height:t*.08,rx:1,fill:n.taupeMid,opacity:.5}),e.jsx("text",{x:s/2,y:t-5,textAnchor:"middle",fontSize:7,fill:n.textMuted,fontFamily:"'Playfair Display', serif",fontStyle:"italic",children:"Lounge"})]})}function Ld(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`bd-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#b8a090"}),e.jsx("stop",{offset:"100%",stopColor:n.warmDark})]}),e.jsx("filter",{id:`bd-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:4,fill:`url(#bd-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#bd-sh-${i.id})`}),e.jsx("rect",{x:6,y:6,width:s-12,height:t-12,rx:2,fill:"none",stroke:n.taupe,strokeWidth:.4,strokeDasharray:"4 3"}),e.jsx("circle",{cx:s*.2,cy:t*.35,r:Math.min(s,t)*.1,fill:n.taupeMid,stroke:n.champagne,strokeWidth:.6,opacity:.8}),e.jsx("circle",{cx:s*.2,cy:t*.35,r:Math.min(s,t)*.05,fill:n.warmDarker,opacity:.6}),e.jsx("circle",{cx:s*.2,cy:t*.55,r:Math.min(s,t)*.06,fill:n.taupeMid,stroke:n.champagne,strokeWidth:.4,opacity:.7}),e.jsx("rect",{x:s*.42,y:t*.18,width:s*.04,height:t*.42,rx:1,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("circle",{cx:s*.44,cy:t*.18,r:Math.min(s,t)*.06,fill:"none",stroke:n.champagne,strokeWidth:.6}),e.jsx("circle",{cx:s*.44,cy:t*.18,r:Math.min(s,t)*.03,fill:n.champagne,opacity:.3}),e.jsx("rect",{x:s*.6,y:t*.22,width:s*.1,height:t*.35,rx:3,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("rect",{x:s*.62,y:t*.25,width:s*.06,height:t*.15,rx:1,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.2,opacity:.4}),e.jsx("rect",{x:s*.78,y:t*.3,width:s*.12,height:t*.25,rx:2,fill:n.warmDarker,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("rect",{x:s*.8,y:t*.32,width:s*.04,height:t*.08,rx:1,fill:n.champagne,opacity:.3}),e.jsx("rect",{x:s*.86,y:t*.35,width:s*.03,height:t*.06,rx:.5,fill:n.champagne,opacity:.3}),e.jsx("text",{x:s/2,y:t-5,textAnchor:"middle",fontSize:7,fill:n.champagne,fontFamily:"'Playfair Display', serif",children:"Band"})]})}function Od(i){const s=i.width,t=i.height,a=Math.min(s,t);return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`sp-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:n.warmDark,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#sp-sh-${i.id})`}),e.jsx("circle",{cx:s/2,cy:t*.38,r:a*.2,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("circle",{cx:s/2,cy:t*.38,r:a*.1,fill:n.warmDarker,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("circle",{cx:s/2,cy:t*.7,r:a*.08,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("text",{x:s/2,y:t-3,textAnchor:"middle",fontSize:6,fill:n.champagne,fontFamily:"'Lato', sans-serif",children:"Speaker"})]})}function Ed(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`bv-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})}),e.jsxs("linearGradient",{id:`bv-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight}),e.jsx("stop",{offset:"100%",stopColor:n.champagne})]})]}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:`url(#bv-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#bv-sh-${i.id})`}),e.jsx("line",{x1:5,y1:5,x2:s-5,y2:5,stroke:n.taupeMid,strokeWidth:.6}),e.jsx("rect",{x:s*.06,y:t*.12,width:s*.24,height:t*.52,rx:3,fill:n.blushSoft,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("ellipse",{cx:s*.18,cy:t*.12,rx:s*.12,ry:t*.05,fill:n.blush,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("rect",{x:s*.1,y:t*.42,width:s*.06,height:t*.06,rx:1,fill:n.champagne,opacity:.6}),e.jsx("rect",{x:s*.36,y:t*.15,width:s*.16,height:t*.45,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("ellipse",{cx:s*.44,cy:t*.15,rx:s*.08,ry:t*.04,fill:"#f5f0ea",stroke:n.taupeStroke,strokeWidth:.3}
42),e.jsx("rect",{x:s*.4,y:t*.22,width:s*.08,height:t*.08,rx:1,fill:"#c8e6c9",opacity:.4}),e.jsx("rect",{x:s*.58,y:t*.18,width:s*.16,height:t*.42,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("ellipse",{cx:s*.66,cy:t*.18,rx:s*.08,ry:t*.04,fill:"#f5f0ea",stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("rect",{x:s*.62,y:t*.25,width:s*.08,height:t*.08,rx:1,fill:"#ffe0b2",opacity:.4}),e.jsx("circle",{cx:s*.84,cy:t*.3,r:s*.07,fill:n.sage,stroke:n.sageStroke,strokeWidth:.4}),e.jsx("circle",{cx:s*.84,cy:t*.3,r:s*.04,fill:n.sageMid,opacity:.5}),e.jsx("circle",{cx:s*.84,cy:t*.52,r:s*.05,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("text",{x:s/2,y:t-4,textAnchor:"middle",fontSize:7,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Beverages"})]})}function Id(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-6,h=6;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",overflow:"visible",children:[e.jsx("defs",{children:e.jsx("filter",{id:`kt-sh-${i.id}`,x:"-10%",y:"-5%",width:"120%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})}),Array.from({length:h}).map((p,f)=>{const d=f/h*Math.PI*2-Math.PI/2,y=a+Math.cos(d)*(o+8),k=l+Math.sin(d)*(o+8);return e.jsx("circle",{cx:y,cy:k,r:4,fill:n.blushSoft,stroke:n.taupeStroke,strokeWidth:.5},f)}),e.jsx("circle",{cx:a,cy:l,r:o,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#kt-sh-${i.id})`}),e.jsx("circle",{cx:a-o*.3,cy:l-o*.15,r:o*.15,fill:n.blush,stroke:n.taupeStroke,strokeWidth:.3,opacity:.5}),e.jsx("circle",{cx:a+o*.25,cy:l+o*.1,r:o*.12,fill:n.sage,stroke:n.sageStroke,strokeWidth:.3,opacity:.5}),e.jsx("text",{x:a,y:l+o*.45,textAnchor:"middle",fontSize:7,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Kids"})]})}function zd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`si-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})})}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#si-sh-${i.id})`}),e.jsx("line",{x1:5,y1:5,x2:s-5,y2:5,stroke:n.taupeMid,strokeWidth:.6}),e.jsx("rect",{x:s*.08,y:t*.12,width:s*.4,height:t*.58,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("line",{x1:s*.1,y1:t*.18,x2:s*.46,y2:t*.18,stroke:n.champagne,strokeWidth:.4}),Array.from({length:5},(a,l)=>{const o=t*.24+l*t*.09,h=.32-l%3*.04;return e.jsx("line",{x1:s*.12,y1:o,x2:s*h+s*.12,y2:o,stroke:n.taupeMid,strokeWidth:.35,opacity:.6},l)}),e.jsx("rect",{x:s*.55,y:t*.15,width:s*.12,height:t*.12,rx:1,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("line",{x1:s*.58,y1:t*.2,x2:s*.64,y2:t*.2,stroke:n.ivory,strokeWidth:.3}),e.jsx("rect",{x:s*.55,y:t*.35,width:s*.35,height:t*.25,rx:2,fill:n.blushSoft,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("circle",{cx:s*.72,cy:t*.47,r:t*.06,fill:n.blush,opacity:.5}),e.jsx("ellipse",{cx:s*.72,cy:t*.72,rx:s*.06,ry:t*.04,fill:"#6b8c5a",opacity:.4}),e.jsx("text",{x:s/2,y:t-4,textAnchor:"middle",fontSize:6,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Guest Book"})]})}function Rd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`ft-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight}),e.jsx("stop",{offset:"100%",stopColor:n.champagne})]}),e.jsx("filter",{id:`ft-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:4,y:t*.1,width:s*.7,height:t*.6,rx:4,fill:`url(#ft-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#ft-sh-${i.id})`}),e.jsx("path",{d:`M ${s*.74} ${t*.1+4} L ${s*.74} ${t*.7} L ${s-4} ${t*.7} L ${s-4} ${t*.3} L ${s*.82} ${t*.1+4} Z`,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.8}),e.jsx("rect",{x:s*.1,y:t*.14,width:s*.5,height:t*.22,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("line",{x1:s*.1,y1:t*.36,x2:s*.6,y2:t*.36,stroke:n.taupeMid,strokeWidth:.8}
42),e.jsx("rect",{x:s*.1,y:t*.42,width:s*.18,height:t*.2,rx:1,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.3,opacity:.6}),e.jsx("rect",{x:s*.32,y:t*.42,width:s*.12,height:t*.2,rx:1,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.3,opacity:.5}),e.jsx("rect",{x:s*.78,y:t*.35,width:s*.14,height:t*.22,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("circle",{cx:s*.2,cy:t*.82,r:t*.1,fill:n.taupeMid,stroke:n.warmDarker,strokeWidth:.8}),e.jsx("circle",{cx:s*.2,cy:t*.82,r:t*.04,fill:n.warmDark}),e.jsx("circle",{cx:s*.55,cy:t*.82,r:t*.1,fill:n.taupeMid,stroke:n.warmDarker,strokeWidth:.8}),e.jsx("circle",{cx:s*.55,cy:t*.82,r:t*.04,fill:n.warmDark}),e.jsx("circle",{cx:s*.85,cy:t*.82,r:t*.08,fill:n.taupeMid,stroke:n.warmDarker,strokeWidth:.8}),e.jsx("circle",{cx:s*.85,cy:t*.82,r:t*.03,fill:n.warmDark}),e.jsx("text",{x:s*.37,y:t-3,textAnchor:"middle",fontSize:6,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Food Truck"})]})}function Gd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:4,fill:`${n.champagneLight}80`,stroke:n.taupeStroke,strokeWidth:.6,strokeDasharray:"6 3"}),e.jsx("text",{x:s/2,y:t/2+2,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:n.textMuted,fontFamily:"'Playfair Display', serif",fontStyle:"italic",children:i.label})]})}function Hd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`pbd-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})}),e.jsxs("linearGradient",{id:`pbd-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight}),e.jsx("stop",{offset:"100%",stopColor:n.champagne})]})]}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#pbd-sh-${i.id})`}),e.jsx("line",{x1:s*.15,y1:t*.06,x2:s*.15,y2:t*.72,stroke:n.warmDark,strokeWidth:1.2,strokeLinecap:"round"}),e.jsx("line",{x1:s*.85,y1:t*.06,x2:s*.85,y2:t*.72,stroke:n.warmDark,strokeWidth:1.2,strokeLinecap:"round"}),e.jsx("line",{x1:s*.15,y1:t*.06,x2:s*.85,y2:t*.06,stroke:n.warmDark,strokeWidth:1.5,strokeLinecap:"round"}),e.jsx("rect",{x:s*.15,y:t*.08,width:s*.7,height:t*.58,rx:2,fill:`url(#pbd-bg-${i.id})`,stroke:n.champagne,strokeWidth:.5}),e.jsx("rect",{x:s*.17,y:t*.1,width:s*.66,height:t*.54,rx:1.5,fill:"none",stroke:n.taupeMid,strokeWidth:.3}),Array.from({length:5},(a,l)=>e.jsx("circle",{cx:s*(.22+l*.14),cy:t*.78,r:3,fill:[n.blush,n.champagne,n.blushSoft,n.champagneLight,n.blush][l],stroke:n.taupeStroke,strokeWidth:.3,opacity:.7},l)),e.jsx("path",{d:`M ${s*.3} ${t*.04} Q ${s/2} ${t*-.02} ${s*.7} ${t*.04}`,fill:"none",stroke:n.champagne,strokeWidth:.8,opacity:.5}),e.jsx("text",{x:s/2,y:t-3,textAnchor:"middle",fontSize:6,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Backdrop"})]})}function qd(i){const s=i.width,t=i.height,a=t*.12,l=t*.55,o=a+l+4,h=t*.12;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`cc-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})}),e.jsxs("linearGradient",{id:`cc-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight}),e.jsx("stop",{offset:"100%",stopColor:n.champagne})]})]}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:4,fill:`url(#cc-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#cc-sh-${i.id})`}),e.jsx("rect",{x:3,y:3,width:s-6,height:t*.06,rx:2,fill:n.taupeMid,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("line",{x1:s*.1,y1:a,x2:s*.1,y2:a+l,stroke:n.warmDark,strokeWidth:1.2,strokeLinecap:"round"}),e.jsx("line",{x1:s*.9,y1:a,x2:s*.9,y2:a+l,stroke:n.warmDark,strokeWidth:1.2,strokeLinecap:"round"}),e.jsx("line",{x1:s*.1,y1:a,x2:s*.9,y2:a,stroke:n.warmDark,strokeWidth:1.5,strokeLinecap:"round"}),[.2,.35,.5,.65,.78].map((p,f)=>{const d=s*.11,y=l*.7,k=s*p,C=[n.taupeMid,"#c4b0a0",n.warmDark,"#b8a898",n.taupe];return e.jsxs("g",{children:[e.jsx("line",{x1:k,y1:a,x2:k,y2:a+4,stroke:n.warmDarker,strokeWidth:.6}),e.jsx("path",{d:`M ${k} ${a+3} L ${k-4} ${a+7} L ${k+4} ${a+7} Z`,fill:n.warmDarker,opacity:.6}),e.jsx("path",{d:`M ${k-d/2} ${a+8} Q ${k-d*.6} ${a+12} ${k-d*.55} ${a+8+y} L ${k+d*.55} ${a+8+y} Q ${k+d*.6} ${a+12} ${k+d/2} ${a+8} Z`,fill:C[f%C.length],stroke:n.taupeStroke,strokeWidth:.3,opacity:.75}),e.jsx("line",{x1:k,y1:a+10,x2:k,y2:a+8+y-2,stroke:n.taupeStroke,strokeWidth:.2,opacity:.3})]},f)}),e.jsx("rect",{x:s*.08,y:o,width:s*.84,height:h,rx:2,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("line",{x1:s*.08,y1:o,x2:s*.92,y2:o,stroke:n.warmDark,strokeWidth:.6}),e.jsx("text",{x:s/2,y:t-4,textAnchor:"middle",fontSize:6,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Coat Check"})]})}function To(i){const s=i.width,t=i.height,a=Math.min(s,t),l=a*.22,o=s/2,h=a*.22,p=t*.28;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`rr-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:4,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#rr-sh-${i.id})`}),e.jsx("rect",{x:4,y:4,width:s-8,height:t-8,rx:3,fill:"none",stroke:n.champagne,strokeWidth:.4}),e.jsxs("g",{transform:`translate(${o-h-l*.3}, ${p})`,children:[e.jsx("circle",{cx:0,cy:0,r:l*.22,fill:n.taupeMid}
42),e.jsx("rect",{x:-l*.2,y:l*.28,width:l*.4,height:l*.55,rx:l*.08,fill:n.taupeMid}),e.jsx("line",{x1:-l*.12,y1:l*.83,x2:-l*.15,y2:l*1.2,stroke:n.taupeMid,strokeWidth:l*.1,strokeLinecap:"round"}),e.jsx("line",{x1:l*.12,y1:l*.83,x2:l*.15,y2:l*1.2,stroke:n.taupeMid,strokeWidth:l*.1,strokeLinecap:"round"})]}),e.jsxs("g",{transform:`translate(${o+h+l*.3}, ${p})`,children:[e.jsx("circle",{cx:0,cy:0,r:l*.22,fill:n.taupeMid}),e.jsx("path",{d:`M ${-l*.25} ${l*.28} L ${-l*.3} ${l*.85} L ${l*.3} ${l*.85} L ${l*.25} ${l*.28} Z`,fill:n.taupeMid}),e.jsx("line",{x1:-l*.12,y1:l*.85,x2:-l*.15,y2:l*1.2,stroke:n.taupeMid,strokeWidth:l*.1,strokeLinecap:"round"}),e.jsx("line",{x1:l*.12,y1:l*.85,x2:l*.15,y2:l*1.2,stroke:n.taupeMid,strokeWidth:l*.1,strokeLinecap:"round"})]}),e.jsx("line",{x1:o,y1:p-l*.25,x2:o,y2:p+l*1.3,stroke:n.taupeStroke,strokeWidth:.5,opacity:.5}),e.jsx("text",{x:o,y:t-6,textAnchor:"middle",fontSize:Math.min(7,a*.1),fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Restroom"})]})}function Ud(i){const s=i.width,t=i.height,a=s/2,l=t/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:Math.min(s,t)/2-3,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.8}),e.jsx("circle",{cx:a,cy:l,r:Math.min(s,t)/2-8,fill:"none",stroke:"#e8a060",strokeWidth:.6,opacity:.5}),e.jsx("circle",{cx:a,cy:l,r:3,fill:"#e8a060",opacity:.7})]})}function Vd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`cb-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#c4b0a0"}),e.jsx("stop",{offset:"100%",stopColor:n.taupe})]}),e.jsx("filter",{id:`cb-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:4,fill:`url(#cb-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#cb-sh-${i.id})`}),e.jsx("rect",{x:s*.06,y:t*.1,width:s*.55,height:t*.35,rx:3,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("line",{x1:s*.08,y1:t*.12,x2:s*.59,y2:t*.12,stroke:n.warmDark,strokeWidth:.4}),Array.from({length:4},(a,l)=>e.jsx("rect",{x:s*.1+l*s*.12,y:t*.18,width:s*.08,height:t*.2,rx:1,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.3},l)),e.jsx("circle",{cx:s*.75,cy:t*.28,r:t*.12,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("circle",{cx:s*.75,cy:t*.28,r:t*.06,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("rect",{x:s*.08,y:t*.55,width:s*.22,height:t*.28,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("line",{x1:s*.1,y1:t*.68,x2:s*.28,y2:t*.68,stroke:n.taupeMid,strokeWidth:.3}),e.jsx("rect",{x:s*.36,y:t*.55,width:s*.22,height:t*.28,rx:2,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("line",{x1:s*.38,y1:t*.68,x2:s*.56,y2:t*.68,stroke:n.taupeMid,strokeWidth:.3}),e.jsx("path",{d:`M ${s*.72} ${t*.55} Q ${s*.78} ${t*.48} ${s*.84} ${t*.55}`,fill:"none",stroke:n.taupeMid,strokeWidth:.4,opacity:.5}),e.jsx("text",{x:s/2,y:t-3,textAnchor:"middle",fontSize:5,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Cigars"})]})}function Kd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-4;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`sm-fg-${i.id}`,cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#ff9800",stopOpacity:"0.8"}),e.jsx("stop",{offset:"60%",stopColor:"#e65100",stopOpacity:"0.4"}),e.jsx("stop",{offset:"100%",stopColor:"transparent"})]}),e.jsx("filter",{id:`sm-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"120%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#5d4037",floodOpacity:"0.15"})})]}),e.jsx("circle",{cx:a,cy:l,r:o,fill:"#8d6e63",stroke:"#5d4037",strokeWidth:1.2,filter:`url(#sm-sh-${i.id})`}
42),e.jsx("circle",{cx:a,cy:l,r:o*.85,fill:"#795548",stroke:"#6d4c41",strokeWidth:.5}),e.jsx("circle",{cx:a,cy:l,r:o*.62,fill:"#5d4037",stroke:"#4e342e",strokeWidth:.5}),Array.from({length:6},(h,p)=>{const f=p*60*Math.PI/180;return e.jsx("line",{x1:a+Math.cos(f)*o*.2,y1:l+Math.sin(f)*o*.2,x2:a+Math.cos(f)*o*.58,y2:l+Math.sin(f)*o*.58,stroke:"#4e342e",strokeWidth:.5,opacity:.4},`g-${p}`)}),e.jsx("circle",{cx:a,cy:l,r:o*.3,fill:`url(#sm-fg-${i.id})`}),e.jsx("circle",{cx:a,cy:l,r:o*.15,fill:"#ffb74d",opacity:.7}),e.jsx("circle",{cx:a-o*.05,cy:l-o*.05,r:o*.06,fill:"#fff176",opacity:.5}),[0,60,120,180,240,300].map((h,p)=>{const f=h*Math.PI/180,d=a+Math.cos(f)*o*.82,y=l+Math.sin(f)*o*.82;return e.jsxs("g",{children:[e.jsx("circle",{cx:d,cy:y,r:2.5,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("circle",{cx:d,cy:y,r:1,fill:n.taupeMid,opacity:.5})]},p)})]})}function Yd(i){const s=i.width,t=i.height,a=s/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`is-bg-${i.id}`,x1:"0",y1:"0",x2:"0.3",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#e3f2fd",stopOpacity:"0.9"}),e.jsx("stop",{offset:"100%",stopColor:"#bbdefb",stopOpacity:"0.6"})]}),e.jsx("filter",{id:`is-gl-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"120%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#64b5f6",floodOpacity:"0.15"})})]}),e.jsx("rect",{x:s*.12,y:t*.72,width:s*.76,height:t*.22,rx:2,fill:"#e3f2fd",stroke:"#90caf9",strokeWidth:.6}),e.jsx("line",{x1:s*.15,y1:t*.75,x2:s*.85,y2:t*.75,stroke:"#bbdefb",strokeWidth:.3}),e.jsx("polygon",{points:`${a},${t*.06} ${s*.22},${t*.72} ${s*.78},${t*.72}`,fill:`url(#is-bg-${i.id})`,stroke:"#90caf9",strokeWidth:.8,filter:`url(#is-gl-${i.id})`}),e.jsx("polygon",{points:`${a},${t*.06} ${s*.28},${t*.72} ${s*.42},${t*.72}`,fill:"#bbdefb",opacity:.2}),e.jsx("line",{x1:s*.35,y1:t*.3,x2:s*.45,y2:t*.55,stroke:"#e3f2fd",strokeWidth:.8,opacity:.7}),e.jsx("line",{x1:s*.5,y1:t*.2,x2:s*.58,y2:t*.45,stroke:"#e3f2fd",strokeWidth:.6,opacity:.5}
42),e.jsx("line",{x1:s*.42,y1:t*.42,x2:s*.55,y2:t*.38,stroke:"#bbdefb",strokeWidth:.4,opacity:.4}),e.jsx("polygon",{points:`${a-2},${t*.15} ${a+3},${t*.22} ${a+1},${t*.28} ${a-3},${t*.25}`,fill:"#fff",opacity:.3})]})}function Qd(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`wb-rg-${i.id}`,cx:"40%",cy:"40%",r:"60%",children:[e.jsx("stop",{offset:"0%",stopColor:"#a1887f"}),e.jsx("stop",{offset:"100%",stopColor:"#6d4c41"})]}),e.jsx("filter",{id:`wb-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"120%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#4e342e",floodOpacity:"0.15"})})]}),e.jsx("circle",{cx:a,cy:l,r:o,fill:`url(#wb-rg-${i.id})`,stroke:"#5d4037",strokeWidth:1.2,filter:`url(#wb-sh-${i.id})`}),e.jsx("circle",{cx:a,cy:l,r:o*.9,fill:"none",stroke:"#795548",strokeWidth:2}),e.jsx("circle",{cx:a,cy:l,r:o*.72,fill:"none",stroke:"#795548",strokeWidth:1.5}),Array.from({length:8},(h,p)=>{const f=p*45*Math.PI/180;return e.jsx("line",{x1:a+Math.cos(f)*o*.72,y1:l+Math.sin(f)*o*.72,x2:a+Math.cos(f)*o*.9,y2:l+Math.sin(f)*o*.9,stroke:"#5d4037",strokeWidth:.5,opacity:.4},p)}),e.jsx("circle",{cx:a,cy:l,r:o*.32,fill:"#8d6e63",stroke:"#5d4037",strokeWidth:.6}),e.jsx("circle",{cx:a,cy:l,r:o*.15,fill:"#795548",stroke:"#4e342e",strokeWidth:.4}),e.jsx("ellipse",{cx:a-o*.08,cy:l-o*.08,rx:o*.06,ry:o*.04,fill:"#a1887f",opacity:.5})]})}function Zd(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`ba-glow-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"120%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"2",floodColor:"#d4a0a8",floodOpacity:"0.15"})})}),Array.from({length:18},(a,l)=>{const o=l/17,h=s*.06+o*s*.88,p=Math.sin(o*Math.PI)*t*.72,f=t*.92-p,d=["#f4dde5","#e8c4cc","#f0d0d8","#dbb0b8","#f2d8e0","#ecc8d0"],y=t*(.09+Math.sin(o*Math.PI)*.04+l%3*.01);
42return e.jsxs("g",{filter:l%3===0?`url(#ba-glow-${i.id})`:void 0,children:[e.jsx("ellipse",{cx:h,cy:f,rx:y,ry:y*.9,fill:d[l%6],stroke:"#d4a0a8",strokeWidth:.3}),e.jsx("ellipse",{cx:h-y*.2,cy:f-y*.2,rx:y*.3,ry:y*.2,fill:"#fff",opacity:.2,transform:`rotate(-30 ${h-y*.2} ${f-y*.2})`})]},l)}),Array.from({length:10},(a,l)=>{const o=(l+.5)/10,h=s*.1+o*s*.8,p=Math.sin(o*Math.PI)*t*.58,f=t*.88-p,d=t*(.06+l%2*.02),y=["#f8e4ec","#e0bcc4","#f5dce4","#d8b0b8","#f0d4dc"];return e.jsx("ellipse",{cx:h+(l%2?3:-3),cy:f+(l%2?-2:2),rx:d,ry:d*.85,fill:y[l%5],stroke:"#d4a0a8",strokeWidth:.2,opacity:.7},`inner-${l}`)}),e.jsx("line",{x1:s*.06,y1:t*.92,x2:s*.06,y2:t,stroke:n.taupeMid,strokeWidth:.6,opacity:.4}),e.jsx("line",{x1:s*.94,y1:t*.92,x2:s*.94,y2:t,stroke:n.taupeMid,strokeWidth:.6,opacity:.4})]})}function Xd(i){const s=i.width,t=i.height,a=Math.min(4,s*.06),l=t*.7,o=t*.35;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`vr-pg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#d4af37"}),e.jsx("stop",{offset:"100%",stopColor:"#8d6e63"})]}),e.jsx("filter",{id:`vr-sh-${i.id}`,x:"-10%",y:"-5%",width:"120%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})})]}),e.jsx("rect",{x:a+1-a*.4,y:(t-l)/2,width:a*.8,height:l,rx:a*.3,fill:`url(#vr-pg-${i.id})`,stroke:"#5d4037",strokeWidth:.5,filter:`url(#vr-sh-${i.id})`}),e.jsx("circle",{cx:a+1,cy:(t-l)/2,r:a*.6,fill:"#d4af37",stroke:"#c9a030",strokeWidth:.4}),e.jsx("ellipse",{cx:a+1,cy:(t+l)/2,rx:a*.8,ry:a*.3,fill:"#6d4c41",opacity:.5}),e.jsx("rect",{x:s-a-1-a*.4,y:(t-l)/2,width:a*.8,height:l,rx:a*.3,fill:`url(#vr-pg-${i.id})`,stroke:"#5d4037",strokeWidth:.5}),e.jsx("circle",{cx:s-a-1,cy:(t-l)/2,r:a*.6,fill:"#d4af37",stroke:"#c9a030",strokeWidth:.4}),e.jsx("ellipse",{cx:s-a-1,cy:(t+l)/2,rx:a*.8,ry:a*.3,fill:"#6d4c41",opacity:.5}),e.jsx("path",{d:`M ${a+1+a*.4} ${o} Q ${s/2} ${t*.75}, ${s-a-1-a*.4} ${o}`,fill:"none",stroke:"#7b1fa2",strokeWidth:3,strokeLinecap:"round",opacity:.7}),e.jsx("path",{d:`M ${a+1+a*.4} ${o} Q ${s/2} ${t*.73}, ${s-a-1-a*.4} ${o}`,fill:"none",stroke:"#9c27b0",strokeWidth:1.5,strokeLinecap:"round",opacity:.4}),e.jsx("circle",{cx:a+1+a*.4,cy:o,r:1.5,fill:"#d4af37"}),e.jsx("circle",{cx:s-a-1-a*.4,cy:o,r:1.5,fill:"#d4af37"})]})}function Jd(i){const s=i.width,t=i.height,a=Math.max(3,Math.floor(s/30));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:`cd-fg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight,stopOpacity:"0.8"}),e.jsx("stop",{offset:"100%",stopColor:n.champagne,stopOpacity:"0.3"})]})}),e.jsx("line",{x1:0,y1:t*.12,x2:s,y2:t*.12,stroke:n.warmDark,strokeWidth:1}),e.jsx("line",{x1:0,y1:t*.14,x2:s,y2:t*.14,stroke:n.taupeStroke,strokeWidth:.4}),Array.from({length:a},(l,o)=>{const h=o/a*s,p=(o+1)/a*s,f=(h+p)/2,d=t*.65+o%2*t*.08;return e.jsxs("g",{children:[e.jsx("path",{d:`M ${h} ${t*.14} Q ${f} ${d+t*.1}, ${p} ${t*.14}`,fill:`url(#cd-fg-${i.id})`,stroke:"none",opacity:.3}),e.jsx("path",{d:`M ${h} ${t*.14} Q ${f} ${d}, ${p} ${t*.14}`,fill:"none",stroke:n.champagne,strokeWidth:2,opacity:.7}),e.jsx("path",{d:`M ${h+(p-h)*.1} ${t*.2} Q ${f} ${d-t*.05}, ${p-(p-h)*.1} ${t*.2}`,fill:"none",stroke:n.taupeMid,strokeWidth:.8,opacity:.4})]},o)}),Array.from({length:a+1},(l,o)=>{const h=o/a*s;return e.jsx("circle",{cx:h,cy:t*.12,r:1.5,fill:n.warmDark},`p-${o}`)})]})}function eh(i){const s=i.width,t=i.height,a=Math.min(t*.45,14,s*.14);return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("filter",{id:`mq-glow-${i.id}`,x:"-15%",y:"-15%",width:"130%",height:"130%",children:[e.jsx("feGaussianBlur",{stdDeviation:"2",result:"b"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"b"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),e.jsxs("linearGradient",{id:`mq-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.ivory}),e.jsx("stop",{offset:"100%",stopColor:n.champagneLight})]}),e.jsx("filter",{id:`mq-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})})]}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:3,fill:`url(#mq-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.6,filter:`url(#mq-sh-${i.id})`}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:2,fill:"none",stroke:n.champagne,strokeWidth:.3}),Array.from({length:Math.min(8,Math.floor(s/6))},(l,o)=>{const h=5+o*((s-10)/Math.min(8,Math.floor(s/6)));return e.jsx("circle",{cx:h,cy:t*.88,r:1,fill:"#fdd835",opacity:.5},`b-${o}`)}
42),Array.from({length:Math.min(8,Math.floor(s/6))},(l,o)=>{const h=5+o*((s-10)/Math.min(8,Math.floor(s/6)));return e.jsx("circle",{cx:h,cy:t*.12,r:1,fill:"#fdd835",opacity:.5},`t-${o}`)}),e.jsx("text",{x:s/2,y:t*.62,textAnchor:"middle",fontSize:a,fontWeight:"bold",fill:"#d4af37",fontFamily:"'Playfair Display', serif",filter:`url(#mq-glow-${i.id})`,children:i.label}),e.jsx("text",{x:s/2,y:t*.62,textAnchor:"middle",fontSize:a,fontWeight:"bold",fill:"#c9a030",fontFamily:"'Playfair Display', serif",opacity:.3,children:i.label})]})}function th(i){const s=i.width,t=i.height,a=Math.min(6,Math.floor(s/12)),l=(s-10)/(a+.5);return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`ec-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:3,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#ec-sh-${i.id})`}),e.jsx("line",{x1:3,y1:t*.06,x2:s-3,y2:t*.06,stroke:n.champagne,strokeWidth:.5}),Array.from({length:2},(h,p)=>Array.from({length:a},(f,d)=>{const y=5+d*(l+1),k=t*.12+p*(t*.42),C=t*.34,A=[n.champagne,n.blushSoft,n.champagneLight,n.blush,n.ivory,n.champagne];return e.jsxs("g",{children:[e.jsx("rect",{x:y,y:k,width:l,height:C,rx:2,fill:A[(p*a+d)%6],stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("line",{x1:y+2,y1:k+C*.35,x2:y+l-2,y2:k+C*.35,stroke:n.taupeMid,strokeWidth:.3,opacity:.5}),e.jsx("line",{x1:y+3,y1:k+C*.55,x2:y+l-3,y2:k+C*.55,stroke:n.taupeMid,strokeWidth:.2,opacity:.4}),e.jsx("rect",{x:y+l*.35,y:k+C*.7,width:l*.3,height:C*.12,rx:.5,fill:n.taupeMid,opacity:.3})]},`${p}-${d}`)}))]})}function sh(i){const s=i.width,t=i.height,a=Math.min(5,Math.floor(s/14)),l=(s-12)/(a+.5);return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`fv-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:3,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#fv-sh-${i.id})`}),e.jsx("line",{x1:3,y1:t*.08,x2:s-3,y2:t*.08,stroke:n.champagne,strokeWidth:.5}),Array.from({length:a},(o,h)=>{const p=6+h*(l+1),f=[n.blush,n.champagne,n.blushSoft,n.champagneLight,n.blush];return e.jsxs("g",{children:[e.jsx("rect",{x:p,y:t*.18,width:l,height:t*.52,rx:3,fill:f[h%5],stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("path",{d:`M ${p+l*.3} ${t*.28} Q ${p+l*.5} ${t*.22} ${p+l*.7} ${t*.28}`,fill:"none",stroke:n.goldAccent,strokeWidth:.5,opacity:.6}),e.jsx("circle",{cx:p+l/2,cy:t*.36,r:1.5,fill:n.goldAccent,opacity:.5}),e.jsx("line",{x1:p+2,y1:t*.5,x2:p+l-2,y2:t*.5,stroke:n.taupeStroke,strokeWidth:.2,opacity:.3})]},h)}),e.jsx("text",{x:s/2,y:t-3,textAnchor:"middle",fontSize:5,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Favors"})]})}function Ao(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:2,y:t*.3,width:s-4,height:t*.45,rx:2,fill:"#bcaaa4",stroke:"#8d6e63",strokeWidth:.8}),e.jsx("rect",{x:2,y:t*.1,width:s-4,height:t*.25,rx:2,fill:"#a1887f",stroke:"#8d6e63",strokeWidth:.6}),e.jsx("rect",{x:3,y:t*.78,width:4,height:t*.18,rx:1,fill:"#8d6e63"}),e.jsx("rect",{x:s-7,y:t*.78,width:4,height:t*.18,rx:1,fill:"#8d6e63"})]})}function rh(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("circle",{cx:a,cy:l,r:o,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:1}),e.jsx("circle",{cx:a,cy:l,r:o*.6,fill:"none",stroke:n.taupeStroke,strokeWidth:.5})]})}function ih(i){const s=i.width,t=i.height,a=s*.08,l=(s-a*2)*.42,o=a,h=s-a-l,p=l*.9;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`ent-jg-${i.id}`,x1:"0",y1:"0",x2:"1",y2:"0",children:[e.jsx("stop",{offset:"0%",stopColor:n.taupeDark}),e.jsx("stop",{offset:"100%",stopColor:n.taupe})]}),e.jsxs("linearGradient",{id:`ent-dg-${i.id}`,x1:"0",y1:"0",x2:"1",y2:"0",children:[e.jsx("stop",{offset:"0%",stopColor:"#e8ddd0"}),e.jsx("stop",{offset:"100%",stopColor:n.champagne})]}),e.jsx("filter",{id:`ent-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:0,y:0,width:s,height:t,fill:n.champagneLight,rx:1}),e.jsx("rect",{x:0,y:0,width:a,height:t,rx:1,fill:`url(#ent-jg-${i.id})`,stroke:n.warmDark,strokeWidth:.6,filter:`url(#ent-sh-${i.id})`}),e.jsx("rect",{x:s-a,y:0,width:a,height:t,rx:1,fill:`url(#ent-jg-${i.id})`,stroke:n.warmDark,strokeWidth:.6}),e.jsx("line",{x1:a,y1:1,x2:a,y2:t-1,stroke:n.warmDark,strokeWidth:.4}),e.jsx("line",{x1:s-a,y1:1,x2:s-a,y2:t-1,stroke:n.warmDark,strokeWidth:.4}),e.jsx("rect",{x:o,y:1,width:l,height:t-2,rx:1,fill:`url(#ent-dg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.6}),e.jsx("line",{x1:o+l*.5,y1:2,x2:o+l*.5,y2:t-2,stroke:n.taupeMid,strokeWidth:.3}),e.jsx("rect",{x:o+l*.15,y:t*.2,width:l*.18,height:t*.6,rx:1,fill:"none",stroke:n.taupeMid,strokeWidth:.3}),e.jsx("rect",{x:o+l*.55,y:t*.2,width:l*.18,height:t*.6,rx:1,fill:"none",stroke:n.taupeMid,strokeWidth:.3}),e.jsx("circle",{cx:o+l*.8,cy:t/2,r:1.2,fill:n.warmDarker}),e.jsxs("g",{transform:`translate(${h+l}, ${t-1}) rotate(-25)`,children:[e.jsx("rect",{x:0,y:-(t-2),width:l,height:t-2,rx:1,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.5,opacity:.7}),e.jsx("line",{x1:l*.5,y1:-(t-4),x2:l*.5,y2:-1,stroke:n.taupeMid,strokeWidth:.25,opacity:.5})]}),e.jsx("path",{d:`M ${h+l} ${t-1} A ${p} ${p} 0 0 0 ${h+l+p*Math.cos(25*Math.PI/180)} ${t-1-p*Math.sin(25*Math.PI/180)}`,fill:"none",stroke:n.taupeStroke,strokeWidth:.4,strokeDasharray:"2 2",opacity:.4})]})}function ah(i){const s=i.width,t=i.height,a=t*.55,l=a*.45,o=s*.2,h=(t-a)/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:`ex-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#fce4ec"}),e.jsx("stop",{offset:"100%",stopColor:"#ffebee"})]})}),e.jsx("rect",{x:.5,y:.5,width:s-1,height:t-1,rx:2,fill:`url(#ex-bg-${i.id})`,stroke:"#e57373",strokeWidth:.8}),e.jsx("rect",{x:1.5,y:1.5,width:s-3,height:t-3,rx:1.5,fill:"none",stroke:"#ef9a9a",strokeWidth:.3}),e.jsxs("g",{transform:`translate(${o}, ${h})`,children:[e.jsx("circle",{cx:l*.4,cy:a*.1,r:a*.1,fill:"#c62828",opacity:.75}),e.jsx("line",{x1:l*.4,y1:a*.2,x2:l*.4,y2:a*.55,stroke:"#c62828",strokeWidth:1.2,strokeLinecap:"round",opacity:.75}),e.jsx("line",{x1:l*.05,y1:a*.35,x2:l*.75,y2:a*.3,stroke:"#c62828",strokeWidth:1.2,strokeLinecap:"round",opacity:.75}),e.jsx("line",{x1:l*.4,y1:a*.55,x2:l*.1,y2:a*.85,stroke:"#c62828",strokeWidth:1.2,strokeLinecap:"round",opacity:.75}),e.jsx("line",{x1:l*.4,y1:a*.55,x2:l*.75,y2:a*.8,stroke:"#c62828",strokeWidth:1.2,strokeLinecap:"round",opacity:.75})]}),e.jsx("rect",{x:s*.55,y:t*.25,width:s*.06,height:t*.5,rx:.5,fill:"#c62828",opacity:.35}),e.jsx("path",{d:`M ${s*.58} ${t*.25} L ${s*.7} ${t*.3} L ${s*.7} ${t*.7} L ${s*.58} ${t*.75}`,fill:"none",stroke:"#c62828",strokeWidth:.8,opacity:.5}
42),e.jsx("text",{x:s*.82,y:t*.58,textAnchor:"middle",fontSize:Math.min(6,t*.35,s*.08),fill:"#c62828",fontWeight:"bold",fontFamily:"'Lato', sans-serif",opacity:.7,children:"EXIT"})]})}function oh(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:8,fill:"#b3d9e8",stroke:"#81b9d0",strokeWidth:1.5}),e.jsx("rect",{x:8,y:8,width:s-16,height:t-16,rx:5,fill:"#90caf9",stroke:"#64b5f6",strokeWidth:.5,opacity:.5}),Array.from({length:4},(a,l)=>e.jsx("line",{x1:s*.15,y1:t*.25+l*t*.15,x2:s*.85,y2:t*.25+l*t*.15,stroke:"#64b5f6",strokeWidth:.4,opacity:.4},l)),e.jsx("rect",{x:0,y:0,width:s,height:t,rx:10,fill:"none",stroke:n.taupe,strokeWidth:2})]})}function lh(i){const s=i.width,t=i.height,a=Math.min(6,Math.floor(s/40)),l=Math.min(3,Math.floor(t/50)),o=s/2,h=t/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`pk-sh-${i.id}`,x:"-3%",y:"-3%",width:"106%",height:"106%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.08"})})}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:4,fill:"#e8e0d6",stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#pk-sh-${i.id})`}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:3,fill:"none",stroke:n.champagne,strokeWidth:.3}),Array.from({length:a},(p,f)=>Array.from({length:l},(d,y)=>{const k=10+f*((s-20)/a),C=10+y*((t-20)/l),A=(s-28)/a,O=(t-28)/l;return e.jsxs("g",{children:[e.jsx("rect",{x:k,y:C,width:A,height:O,rx:1,fill:"none",stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("line",{x1:k+A/2,y1:C+2,x2:k+A/2,y2:C+O-2,stroke:n.taupeMid,strokeWidth:.3,strokeDasharray:"2 1",opacity:.4})]},`${f}-${y}`)})),e.jsx("circle",{cx:o,cy:h,r:Math.min(s,t)*.12,fill:n.champagneLight,stroke:n.taupeStroke,strokeWidth:.6,opacity:.8}),e.jsx("text",{x:o,y:h+4,textAnchor:"middle",fontSize:Math.min(12,Math.min(s,t)*.15),fill:n.warmDarker,fontFamily:"'Lato', sans-serif",fontWeight:"bold",children:"P"})]})}function nh(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("marker",{id:`sd-arr-${i.id}`,markerWidth:"6",markerHeight:"6",refX:"5",refY:"3",orient:"auto",children:e.jsx("path",{d:"M0,0 L6,3 L0,6",fill:n.warmDarker})}),e.jsx("filter",{id:`sd-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})})]}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:3,fill:"#e8e0d6",stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#sd-sh-${i.id})`}),e.jsx("rect",{x:3,y:3,width:s-6,height:t-6,rx:2,fill:"none",stroke:n.champagne,strokeWidth:.3}),e.jsx("line",{x1:s*.05,y1:t*.5,x2:s*.55,y2:t*.5,stroke:n.warmDarker,strokeWidth:1.2,markerEnd:`url(#sd-arr-${i.id})`,strokeDasharray:"4 3"}),e.jsx("line",{x1:s*.05,y1:t*.52,x2:s*.55,y2:t*.52,stroke:n.taupeMid,strokeWidth:.4,opacity:.4}),e.jsx("rect",{x:s*.62,y:t*.15,width:s*.3,height:t*.7,rx:4,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.6}),e.jsx("line",{x1:s*.62,y1:t*.22,x2:s*.92,y2:t*.22,stroke:n.warmDark,strokeWidth:.5}),e.jsx("rect",{x:s*.66,y:t*.28,width:s*.22,height:t*.15,rx:2,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("circle",{cx:s*.77,cy:t*.62,r:t*.06,fill:n.champagneLight,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("text",{x:s*.77,y:t*.64,textAnchor:"middle",fontSize:4,fill:n.textMuted,fontFamily:"'Lato', sans-serif",children:"S"})]})}function ch(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`csn-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("line",{x1:s*.32,y1:t*.15,x2:s*.32,y2:t*.98,stroke:"#795548",strokeWidth:2,strokeLinecap:"round"}),e.jsx("line",{x1:s*.68,y1:t*.15,x2:s*.68,y2:t*.98,stroke:"#795548",strokeWidth:2,strokeLinecap:"round"}),e.jsx("line",{x1:s*.32,y1:t*.92,x2:s*.2,y2:t*.98,stroke:"#795548",strokeWidth:1,strokeLinecap:"round"}),e.jsx("line",{x1:s*.68,y1:t*.92,x2:s*.8,y2:t*.98,stroke:"#795548",strokeWidth:1,strokeLinecap:"round"}),e.jsx("rect",{x:s*.04,y:t*.04,width:s*.92,height:t*.55,rx:4,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#csn-sh-${i.id})`}),e.jsx("rect",{x:s*.07,y:t*.07,width:s*.86,height:t*.49,rx:3,fill:"none",stroke:n.champagne,strokeWidth:.4}),e.jsx("ellipse",{cx:s*.15,cy:t*.15,rx:s*.04,ry:t*.04,fill:"#6b8c5a",opacity:.4}),e.jsx("ellipse",{cx:s*.85,cy:t*.15,rx:s*.04,ry:t*.04,fill:"#6b8c5a",opacity:.4}),e.jsx("text",{x:s/2,y:t*.32,textAnchor:"middle",fontSize:Math.min(7,s*.15),fill:n.textMuted,fontFamily:"'Playfair Display', serif",fontStyle:"italic",children:"Welcome"}
42),e.jsx("line",{x1:s*.2,y1:t*.42,x2:s*.8,y2:t*.42,stroke:n.goldAccent,strokeWidth:.4,opacity:.5})]})}function dh(i){const s=i.width,t=i.height,a=s/2,l=s*.15;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`cr-g-${i.id}`,x1:"0",y1:"0",x2:"1",y2:"0",children:[e.jsx("stop",{offset:"0%",stopColor:"#c4b0a0"}),e.jsx("stop",{offset:"50%",stopColor:"#d4c4b4"}),e.jsx("stop",{offset:"100%",stopColor:"#c4b0a0"})]}),e.jsx("filter",{id:`cr-sh-${i.id}`,x:"-10%",y:"-5%",width:"120%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:a-l/2,y:t*.02,width:l,height:t*.96,rx:2,fill:`url(#cr-g-${i.id})`,stroke:"#8d6e63",strokeWidth:.8,filter:`url(#cr-sh-${i.id})`}),e.jsx("rect",{x:s*.05,y:t*.18,width:s*.9,height:t*.2,rx:2,fill:`url(#cr-g-${i.id})`,stroke:"#8d6e63",strokeWidth:.8}),e.jsx("line",{x1:a,y1:t*.05,x2:a,y2:t*.95,stroke:"#b8a494",strokeWidth:.4,opacity:.3}),e.jsx("line",{x1:s*.08,y1:t*.28,x2:s*.92,y2:t*.28,stroke:"#b8a494",strokeWidth:.4,opacity:.3}),e.jsx("circle",{cx:a,cy:t*.28,r:l*.3,fill:"none",stroke:"#a09080",strokeWidth:.5,opacity:.4}),e.jsx("rect",{x:a-l/2+1,y:t*.04,width:l-2,height:t*.04,rx:1,fill:"#b8a898",opacity:.4})]})}function hh(i){const s=i.width,t=i.height,a=Math.min(s,t);return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`kz-sh-${i.id}`,x:"-3%",y:"-3%",width:"106%",height:"110%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.08"})})}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:8,fill:n.ivory,stroke:n.blush,strokeWidth:1,strokeDasharray:"6 3",filter:`url(#kz-sh-${i.id})`}),e.jsx("rect",{x:4,y:4,width:s-8,height:t-8,rx:6,fill:"none",stroke:n.champagne,strokeWidth:.3}),e.jsx("polygon",{points:`${s*.18},${t*.2} ${s*.24},${t*.1} ${s*.3},${t*.2}`,fill:"#f8bbd0",stroke:"#f48fb1",strokeWidth:.3,opacity:.6}),e.jsx("polygon",{points:`${s*.22},${t*.22} ${s*.28},${t*.12} ${s*.34},${t*.22}`,fill:"#f48fb1",stroke:"#ec407a",strokeWidth:.3,opacity:.4}),e.jsx("circle",{cx:s*.55,cy:t*.25,r:a*.07,fill:"#b3e5fc",stroke:"#81d4fa",strokeWidth:.4,opacity:.6}),e.jsx("circle",{cx:s*.55,cy:t*.25,r:a*.035,fill:"#e1f5fe",opacity:.5}),e.jsx("rect",{x:s*.7,y:t*.15,width:s*.15,height:t*.2,rx:2,fill:"#c8e6c9",stroke:"#a5d6a7",strokeWidth:.3,opacity:.6}),e.jsx("rect",{x:s*.72,y:t*.17,width:s*.05,height:t*.08,rx:1,fill:"#a5d6a7",opacity:.5}),e.jsx("circle",{cx:s*.25,cy:t*.55,r:a*.08,fill:"#fff9c4",stroke:"#fff176",strokeWidth:.4,opacity:.7}),e.jsx("polygon",{points:`${s*.25},${t*.49} ${s*.27},${t*.53} ${s*.25},${t*.51} ${s*.23},${t*.53}`,fill:"#fdd835",opacity:.5}),e.jsx("rect",{x:s*.5,y:t*.48,width:s*.18,height:t*.18,rx:3,fill:"#ffe0b2",stroke:"#ffcc80",strokeWidth:.3,opacity:.6}),e.jsx("line",{x1:s*.54,y1:t*.53,x2:s*.64,y2:t*.53,stroke:"#ffb74d",strokeWidth:.3,opacity:.4}),e.jsx("line",{x1:s*.54,y1:t*.57,x2:s*.6,y2:t*.57,stroke:"#ffb74d",strokeWidth:.3,opacity:.4}),e.jsx("circle",{cx:s*.75,cy:t*.58,r:a*.05,fill:"#e1bee7",stroke:"#ce93d8",strokeWidth:.3,opacity:.5}),e.jsx("text",{x:s/2,y:t-6,textAnchor:"middle",fontSize:7,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Kids Zone"})]})}function Po(i){const s=i.width,t=i.height,a=s/2;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`ph-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:3,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#ph-sh-${i.id})`}),e.jsx("line",{x1:a,y1:t*.55,x2:a-s*.15,y2:t*.88,stroke:n.warmDark,strokeWidth:1.2,strokeLinecap:"round"}),e.jsx("line",{x1:a,y1:t*.55,x2:a+s*.15,y2:t*.88,stroke:n.warmDark,strokeWidth:1.2,strokeLinecap:"round"}),e.jsx("line",{x1:a,y1:t*.55,x2:a,y2:t*.35,stroke:n.warmDark,strokeWidth:1,strokeLinecap:"round"}),e.jsx("rect",{x:a-s*.2,y:t*.1,width:s*.4,height:t*.28,rx:3,fill:n.warmDark,stroke:"#6d5a4a",strokeWidth:.6}),e.jsx("rect",{x:a-s*.17,y:t*.13,width:s*.34,height:t*.22,rx:2,fill:"#3a3530"}),e.jsx("circle",{cx:a,cy:t*.24,r:t*.08,fill:"#4a4540",stroke:"#3a3530",strokeWidth:.5}),e.jsx("circle",{cx:a,cy:t*.24,r:t*.05,fill:"#555"}),e.jsx("circle",{cx:a,cy:t*.24,r:t*.025,fill:"#777"}),e.jsx("rect",{x:a+s*.12,y:t*.12,width:s*.06,height:t*.05,rx:1,fill:"#555"}),e.jsx("rect",{x:s*.08,y:t*.6,width:s*.25,height:t*.3,rx:3,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("line",{x1:s*.08+3,y1:t*.67,x2:s*.08+s*.22,y2:t*.67,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("rect",{x:s*.67,y:t*.65,width:s*.25,height:t*.22,rx:2,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.4}
42),e.jsx("rect",{x:s*.7,y:t*.68,width:s*.08,height:t*.16,rx:1,fill:n.taupeMid,opacity:.5}),e.jsx("rect",{x:s*.8,y:t*.7,width:s*.08,height:t*.12,rx:1,fill:n.taupeMid,opacity:.4})]})}function xh(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`gen-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#c4b0a0"}),e.jsx("stop",{offset:"100%",stopColor:"#b0988a"})]}),e.jsx("filter",{id:`gen-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:`url(#gen-bg-${i.id})`,stroke:"#8d6e63",strokeWidth:1,filter:`url(#gen-sh-${i.id})`}),e.jsx("rect",{x:3,y:3,width:s-6,height:t*.08,rx:1,fill:"#a1887f",stroke:"#8d6e63",strokeWidth:.3}),e.jsx("rect",{x:s*.06,y:t*.14,width:s*.42,height:t*.42,rx:2,fill:"#a1887f",stroke:"#6d4c41",strokeWidth:.6}),e.jsx("circle",{cx:s*.27,cy:t*.35,r:t*.12,fill:"none",stroke:"#5d4037",strokeWidth:1.2}),e.jsx("circle",{cx:s*.27,cy:t*.35,r:t*.05,fill:"#5d4037",opacity:.5}),[0,90,180,270].map((a,l)=>{const o=a*Math.PI/180,h=t*.12;return e.jsx("line",{x1:s*.27+Math.cos(o)*h*.5,y1:t*.35+Math.sin(o)*h*.5,x2:s*.27+Math.cos(o)*h*.9,y2:t*.35+Math.sin(o)*h*.9,stroke:"#5d4037",strokeWidth:.6},l)}),e.jsx("rect",{x:s*.54,y:t*.14,width:s*.38,height:t*.28,rx:2,fill:"#efebe9",stroke:"#8d6e63",strokeWidth:.5}),Array.from({length:3},(a,l)=>e.jsx("line",{x1:s*.58,y1:t*.2+l*t*.07,x2:s*.88,y2:t*.2+l*t*.07,stroke:"#8d6e63",strokeWidth:.3,opacity:.5},l)),e.jsx("circle",{cx:s*.82,cy:t*.36,r:3,fill:"none",stroke:"#6d4c41",strokeWidth:.6}
42),e.jsx("line",{x1:s*.82,y1:t*.36-2,x2:s*.82,y2:t*.36,stroke:"#6d4c41",strokeWidth:.5}),e.jsx("rect",{x:s*.06,y:t*.62,width:s*.35,height:t*.12,rx:1.5,fill:"#efebe9",stroke:"#8d6e63",strokeWidth:.4}),Array.from({length:4},(a,l)=>e.jsx("line",{x1:s*.1+l*s*.08,y1:t*.64,x2:s*.1+l*s*.08,y2:t*.72,stroke:"#8d6e63",strokeWidth:.4},`v-${l}`)),e.jsx("circle",{cx:s*.58,cy:t*.68,r:2.5,fill:"#ffab91",stroke:"#e64a19",strokeWidth:.4}),e.jsx("circle",{cx:s*.72,cy:t*.68,r:2.5,fill:"#a5d6a7",stroke:"#388e3c",strokeWidth:.4}),e.jsx("rect",{x:s*.82,y:t*.62,width:s*.1,height:t*.12,rx:1,fill:"#6d4c41",opacity:.6}),e.jsx("text",{x:s/2,y:t-3,textAnchor:"middle",fontSize:5,fill:n.textMuted,fontFamily:"'Lato', sans-serif",fontWeight:"bold",children:"GEN"})]})}function fh(i){const s=i.width,t=i.height,a=Math.max(5,Math.floor(s/8));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`hv-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#c8b8a8"}),e.jsx("stop",{offset:"100%",stopColor:"#b8a494"})]}),e.jsx("filter",{id:`hv-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.18"})})]}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:3,fill:`url(#hv-bg-${i.id})`,stroke:"#8d6e63",strokeWidth:1,filter:`url(#hv-sh-${i.id})`}),e.jsx("rect",{x:3,y:3,width:s-6,height:t*.06,rx:1,fill:"#a1887f"}),e.jsx("rect",{x:s*.06,y:t*.12,width:s*.88,height:t*.45,rx:2,fill:"#efebe9",stroke:"#8d6e63",strokeWidth:.5}),Array.from({length:a},(l,o)=>{const h=s*.1+o*(s*.8/a);return e.jsx("rect",{x:h,y:t*.16,width:1.5,height:t*.37,rx:.5,fill:"#8d6e63",opacity:.5},o)}),e.jsx("circle",{cx:s/2,cy:t*.74,r:t*.14,fill:"#efebe9",stroke:"#6d4c41",strokeWidth:.8}),e.jsx("circle",{cx:s/2,cy:t*.74,r:t*.09,fill:"none",stroke:"#6d4c41",strokeWidth:.5}),e.jsx("circle",{cx:s/2,cy:t*.74,r:t*.03,fill:"#6d4c41",opacity:.5}),[0,60,120,180,240,300].map((l,o)=>{const h=l*Math.PI/180,p=t*.14;return e.jsx("line",{x1:s/2+Math.cos(h)*p*.3,y1:t*.74+Math.sin(h)*p*.3,x2:s/2+Math.cos(h)*p*.85,y2:t*.74+Math.sin(h)*p*.85,stroke:"#8d6e63",strokeWidth:.4,opacity:.4},o)}),e.jsx("rect",{x:s*.08,y:t*.62,width:s*.12,height:t*.06,rx:1,fill:"#90caf9",stroke:"#42a5f5",strokeWidth:.3,opacity:.7}),e.jsx("rect",{x:s*.8,y:t*.62,width:s*.12,height:t*.06,rx:1,fill:"#90caf9",stroke:"#42a5f5",strokeWidth:.3,opacity:.7}),e.jsx("text",{x:s/2,y:t-3,textAnchor:"middle",fontSize:5,fill:n.textMuted,fontFamily:"'Lato', sans-serif",fontWeight:"bold",children:"HVAC"})]})}function ph(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`cp-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("rect",{x:2,y:2,width:s-4,height:t-4,rx:4,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:1,filter:`url(#cp-sh-${i.id})`}),e.jsx("rect",{x:s*.04,y:t*.06,width:s*.55,height:t*.38,rx:2,fill:n.champagneLight,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("line",{x1:s*.04,y1:t*.06,x2:s*.59,y2:t*.06,stroke:n.taupeMid,strokeWidth:1}),e.jsx("rect",{x:s*.08,y:t*.12,width:s*.14,height:t*.08,rx:1,fill:n.taupeMid,opacity:.4}),e.jsx("rect",{x:s*.26,y:t*.12,width:s*.1,height:t*.08,rx:1,fill:n.taupeMid,opacity:.4}),e.jsx("rect",{x:s*.4,y:t*.12,width:s*.14,height:t*.08,rx:1,fill:n.taupeMid,opacity:.4}),e.jsx("rect",{x:s*.64,y:t*.06,width:s*.32,height:t*.88,rx:2,fill:n.taupe,stroke:n.taupeStroke,strokeWidth:.6}),Array.from({length:4},(a,l)=>e.jsx("line",{x1:s*.66,y1:t*.15+l*t*.2,x2:s*.94,y2:t*.15+l*t*.2,stroke:n.taupeStroke,strokeWidth:.4},l)),e.jsx("rect",{x:s*.68,y:t*.1,width:s*.08,height:t*.06,rx:1,fill:n.warmDark,opacity:.5}),e.jsx("rect",{x:s*.04,y:t*.5,width:s*.26,height:t*.22,rx:3,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.5}),e.jsx("ellipse",{cx:s*.17,cy:t*.61,rx:s*.08,ry:t*.06,fill:n.taupeMid,opacity:.4}),e.jsx("circle",{cx:s*.25,cy:t*.53,r:1.5,fill:n.warmDark,opacity:.5}),e.jsx("rect",{x:s*.34,y:t*.5,width:s*.25,height:t*.22,rx:2,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.5}),Array.from({length:3},(a,l)=>e.jsx("rect",{x:s*.36+l*s*.07,y:t*.55,width:s*.05,height:t*.12,rx:1,fill:n.taupeMid,opacity:.3},`t-${l}`)),e.jsx("rect",{x:s*.04,y:t*.78,width:s*.55,height:t*.15,rx:2,fill:n.champagneLight,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("line",{x1:s*.04,y1:t*.78,x2:s*.59,y2:t*.78,stroke:n.taupeMid,strokeWidth:.8}),e.jsx("text",{x:s/2,y:t-2,textAnchor:"middle",fontSize:6,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Catering Prep"})]})}function mh(i){const s=i.width,t=i.height,a=s*.38,l=t*.68,o=t*.25,h=t*.1;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`tr-g1-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#c4b0a0"}),e.jsx("stop",{offset:"100%",stopColor:"#a1887f"})]}),e.jsxs("linearGradient",{id:`tr-g2-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#a5d6a7"}),e.jsx("stop",{offset:"100%",stopColor:"#81c784"})]})]}),e.jsx("path",{d:`M ${s*.05+2} ${o} L ${s*.05} ${o+l} L ${s*.05+a} ${o+l} L ${s*.05+a-2} ${o} Z`,fill:`url(#tr-g1-${i.id})`,stroke:"#8d6e63",strokeWidth:.8,strokeLinejoin:"round"}),e.jsx("rect",{x:s*.05-1,y:o-h,width:a+2,height:h,rx:2,fill:"#a1887f",stroke:"#8d6e63",strokeWidth:.5}),e.jsx("line",{x1:s*.05+a/2-3,y1:o-h/2,x2:s*.05+a/2+3,y2:o-h/2,stroke:"#6d4c41",strokeWidth:1,strokeLinecap:"round"}),e.jsx("line",{x1:s*.05+a*.35,y1:o+4,x2:s*.05+a*.35,y2:o+l-4,stroke:"#8d6e63",strokeWidth:.4,opacity:.3}),e.jsx("line",{x1:s*.05+a*.65,y1:o+4,x2:s*.05+a*.65,y2:o+l-4,stroke:"#8d6e63",strokeWidth:.4,opacity:.3}),e.jsx("path",{d:`M ${s*.55+2} ${o} L ${s*.55} ${o+l} L ${s*.55+a} ${o+l} L ${s*.55+a-2} ${o} Z`,fill:`url(#tr-g2-${i.id})`,stroke:"#66bb6a",strokeWidth:.8,strokeLinejoin:"round"}),e.jsx("rect",{x:s*.55-1,y:o-h,width:a+2,height:h,rx:2,fill:"#81c784",stroke:"#66bb6a",strokeWidth:.5}),e.jsx("line",{x1:s*.55+a/2-3,y1:o-h/2,x2:s*.55+a/2+3,y2:o-h/2,stroke:"#388e3c",strokeWidth:1,strokeLinecap:"round"}),e.jsx("path",{d:`M ${s*.55+a*.35} ${o+l*.3} L ${s*.55+a*.55} ${o+l*.3} L ${s*.55+a*.55} ${o+l*.55} L ${s*.55+a*.65} ${o+l*.55} L ${s*.55+a*.45} ${o+l*.75} L ${s*.55+a*.25} ${o+l*.55} L ${s*.55+a*.35} ${o+l*.55} Z`,fill:"none",stroke:"#388e3c",strokeWidth:.6,opacity:.5})]})}function uh(i){const s=i.width,t=i.height,a=s*.12,l=s*.88,o=t*.08,h=t*.82,p=Math.min(s,t),f=p*.12,d=s/2,y=t*.45;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`wr-rg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight}),e.jsx("stop",{offset:"100%",stopColor:n.champagne})]}),e.jsx("filter",{id:`wr-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})})]}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:3,fill:`url(#wr-rg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#wr-sh-${i.id})`}),e.jsx("polygon",{points:`${a},${o} ${l},${o} ${l},${h} ${a},${h}`,fill:n.champagne,stroke:n.taupeMid,strokeWidth:.4,opacity:.5}),e.jsx("line",{x1:a,y1:o,x2:a,y2:h,stroke:n.warmDark,strokeWidth:1.5,strokeLinecap:"round"}),e.jsx("line",{x1:l,y1:o,x2:l,y2:h,stroke:n.warmDark,strokeWidth:1.5,strokeLinecap:"round"}),Array.from({length:Math.min(8,Math.floor(t/16))},(k,C)=>{const A=o+(C+1)*((h-o)/(Math.min(8,Math.floor(t/16))+1));return e.jsx("line",{x1:a+2,y1:A,x2:l-2,y2:A,stroke:n.taupeMid,strokeWidth:.3,opacity:.4},C)}
42),e.jsx("line",{x1:s*.2,y1:o,x2:s*.8,y2:h,stroke:n.taupeStroke,strokeWidth:.5,opacity:.25}),e.jsx("circle",{cx:d,cy:y,r:f+2,fill:"white",opacity:.7}),e.jsx("circle",{cx:d,cy:y,r:f,fill:"none",stroke:"#1565c0",strokeWidth:1.2}),e.jsx("circle",{cx:d-f*.1,cy:y-f*.45,r:f*.2,fill:"#1565c0"}),e.jsx("line",{x1:d-f*.1,y1:y-f*.25,x2:d-f*.1,y2:y+f*.15,stroke:"#1565c0",strokeWidth:f*.12,strokeLinecap:"round"}),e.jsx("line",{x1:d-f*.1,y1:y+f*.15,x2:d+f*.25,y2:y+f*.15,stroke:"#1565c0",strokeWidth:f*.12,strokeLinecap:"round"}),e.jsx("path",{d:`M ${d+f*.25} ${y+f*.15} L ${d+f*.35} ${y+f*.45} L ${d-f*.15} ${y+f*.45}`,fill:"none",stroke:"#1565c0",strokeWidth:f*.1,strokeLinecap:"round"}),e.jsx("text",{x:s/2,y:t-4,textAnchor:"middle",fontSize:Math.min(6,p*.08),fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Ramp"})]})}function yh(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsx("filter",{id:`dt-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:n.shadow,floodOpacity:"0.1"})})}),e.jsx("rect",{x:1,y:1,width:s-2,height:t-2,rx:3,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#dt-sh-${i.id})`}),e.jsx("line",{x1:3,y1:t*.08,x2:s-3,y2:t*.08,stroke:n.blush,strokeWidth:.5}),e.jsx("ellipse",{cx:s*.2,cy:t*.42,rx:s*.14,ry:t*.22,fill:n.blush,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("ellipse",{cx:s*.2,cy:t*.32,rx:s*.1,ry:t*.04,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.2}),e.jsx("circle",{cx:s*.45,cy:t*.35,r:t*.16,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("circle",{cx:s*.45,cy:t*.35,r:t*.1,fill:n.blushSoft,stroke:n.taupeStroke,strokeWidth:.2}),e.jsx("circle",{cx:s*.45,cy:t*.35,r:t*.04,fill:n.blush,opacity:.6}),e.jsx("rect",{x:s*.62,y:t*.22,width:s*.13,height:t*.38,rx:2,fill:n.blush,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("rect",{x:s*.62,y:t*.2,width:s*.13,height:t*.06,rx:1,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.2}),e.jsx("rect",{x:s*.8,y:t*.28,width:s*.13,height:t*.32,rx:2,fill:n.champagneLight,stroke:n.taupeStroke,strokeWidth:.3}),e.jsx("rect",{x:s*.8,y:t*.26,width:s*.13,height:t*.06,rx:1,fill:n.champagne,stroke:n.taupeStroke,strokeWidth:.2}),[.15,.35,.55,.72,.88].map((a,l)=>e.jsx("circle",{cx:s*a,cy:t*.72,r:2,fill:l%2===0?n.blush:n.champagne,stroke:n.taupeStroke,strokeWidth:.2,opacity:.6},l)),e.jsx("text",{x:s/2,y:t-3,textAnchor:"middle",fontSize:5,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Desserts"})]})}function gh(i){const s=i.width,t=i.height;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`ut-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})}),e.jsxs("radialGradient",{id:`ut-cg-${i.id}`,cx:"50%",cy:"40%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fffde7"}),e.jsx("stop",{offset:"100%",stopColor:"#fff9c4"})]})]}),e.jsx("rect",{x:2,y:t*.25,width:s-4,height:t*.7,rx:3,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.8,filter:`url(#ut-sh-${i.id})`}),e.jsx("line",{x1:4,y1:t*.28,x2:s-4,y2:t*.28,stroke:n.champagne,strokeWidth:.5}),e.jsx("rect",{x:s*.08,y:t*.88,width:s*.18,height:t*.08,rx:1,fill:n.taupe}),e.jsx("rect",{x:s*.74,y:t*.88,width:s*.18,height:t*.08,rx:1,fill:n.taupe}),e.jsxs("g",{children:[e.jsx("rect",{x:s*.14,y:t*.35,width:s*.14,height:t*.42,rx:1.5,fill:`url(#ut-cg-${i.id})`,stroke:"#fbc02d",strokeWidth:.5}),e.jsx("ellipse",{cx:s*.21,cy:t*.35,rx:s*.07,ry:t*.04,fill:"#fdd835",opacity:.4}),e.jsx("line",{x1:s*.18,y1:t*.42,x2:s*.24,y2:t*.42,stroke:"#f9a825",strokeWidth:.3,opacity:.4})]}),e.jsxs("g",{children:[e.jsx("rect",{x:s*.38,y:t*.3,width:s*.24,height:t*.5,rx:2,fill:`url(#ut-cg-${i.id})`,stroke:"#fbc02d",strokeWidth:.6}),e.jsx("ellipse",{cx:s*.5,cy:t*.3,rx:s*.12,ry:t*.05,fill:"#fdd835",opacity:.4}),e.jsx("path",{d:`M ${s*.46} ${t*.38} Q ${s*.5} ${t*.45} ${s*.54} ${t*.38}`,fill:"none",stroke:"#ff8f00",strokeWidth:.6,opacity:.5}
42),e.jsx("line",{x1:s*.5,y1:t*.32,x2:s*.5,y2:t*.38,stroke:"#ff8f00",strokeWidth:.4,opacity:.4})]}),e.jsxs("g",{children:[e.jsx("rect",{x:s*.72,y:t*.35,width:s*.14,height:t*.42,rx:1.5,fill:`url(#ut-cg-${i.id})`,stroke:"#fbc02d",strokeWidth:.5}),e.jsx("ellipse",{cx:s*.79,cy:t*.35,rx:s*.07,ry:t*.04,fill:"#fdd835",opacity:.4}),e.jsx("line",{x1:s*.76,y1:t*.42,x2:s*.82,y2:t*.42,stroke:"#f9a825",strokeWidth:.3,opacity:.4})]}),e.jsx("text",{x:s/2,y:t-1,textAnchor:"middle",fontSize:5,fill:n.textMuted,fontFamily:"'Playfair Display', serif",children:"Unity"})]})}function bh(i){const s=i.width,t=i.height,a=s/2,l=t*.42;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsx("filter",{id:`rp-sh-${i.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1",floodColor:n.shadow,floodOpacity:"0.1"})}),e.jsxs("linearGradient",{id:`rp-bg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight}),e.jsx("stop",{offset:"100%",stopColor:n.taupe})]})]}),e.jsx("rect",{x:s*.2,y:t*.65,width:s*.6,height:t*.08,rx:1,fill:n.warmDark,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("rect",{x:s*.35,y:t*.73,width:s*.3,height:t*.22,rx:1,fill:`url(#rp-bg-${i.id})`,stroke:n.taupeStroke,strokeWidth:.4}),e.jsx("rect",{x:s*.18,y:t*.12,width:s*.64,height:t*.55,rx:6,fill:n.ivory,stroke:n.taupeStroke,strokeWidth:.6,filter:`url(#rp-sh-${i.id})`}),e.jsx("rect",{x:s*.22,y:t*.16,width:s*.56,height:t*.47,rx:5,fill:n.blushSoft,stroke:n.blush,strokeWidth:.3}),e.jsx("path",{d:`M ${s*.28} ${t*.22} Q ${a} ${t*.55} ${s*.72} ${t*.22}`,fill:"none",stroke:n.champagne,strokeWidth:.4,opacity:.5}),e.jsx("path",{d:`M ${s*.28} ${t*.54} Q ${a} ${t*.25} ${s*.72} ${t*.54}`,fill:"none",stroke:n.champagne,strokeWidth:.4,opacity:.5}),e.jsx("circle",{cx:a-5,cy:l,r:2.5,fill:"#d4af37",stroke:"#c9a030",strokeWidth:.4}),e.jsx("circle",{cx:a-5,cy:l,r:1,fill:"#e8d070",opacity:.6}),e.jsx("circle",{cx:a+5,cy:l,r:2.5,fill:"#d4af37",stroke:"#c9a030",strokeWidth:.4}),e.jsx("circle",{cx:a+5,cy:l,r:1,fill:"#e8d070",opacity:.6}),e.jsx("path",{d:`M ${a-3} ${l-1} Q ${a} ${l-4} ${a+3} ${l-1}`,fill:"none",stroke:"#d4af37",strokeWidth:.5,opacity:.5})]})}function jh(i){const s=i.width,t=i.height,a=Math.max(4,Math.floor(s/20));return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:`cc-fg-${i.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:n.champagneLight,stopOpacity:"0.9"}),e.jsx("stop",{offset:"100%",stopColor:n.champagne,stopOpacity:"0.5"})]})}),e.jsx("rect",{x:0,y:0,width:s,height:t*.06,rx:1,fill:n.warmDark,stroke:n.taupeStroke,strokeWidth:.4}),Array.from({length:a},(l,o)=>{const h=o/a*s,p=(o+1)/a*s,f=(h+p)/2,d=t*.85+o%2*t*.08;return e.jsxs("g",{children:[e.jsx("path",{d:`M ${h} ${t*.06} Q ${f} ${d}, ${p} ${t*.06}`,fill:`url(#cc-fg-${i.id})`,stroke:"none",opacity:.4}),e.jsx("path",{d:`M ${h} ${t*.06} Q ${f} ${d}, ${p} ${t*.06}`,fill:"none",stroke:n.champagne,strokeWidth:1.5,opacity:.7}),e.jsx("path",{d:`M ${h+(p-h)*.15} ${t*.12} Q ${f} ${d*.85}, ${p-(p-h)*.15} ${t*.12}`,fill:"none",stroke:n.taupeMid,strokeWidth:.5,opacity:.3})]},o)}),Array.from({length:a+1},(l,o)=>{const h=o/a*s;return e.jsx("circle",{cx:Math.min(Math.max(h,2),s-2),cy:t*.03,r:1.5,fill:n.goldAccent,opacity:.6},`r-${o}`)})]})}function wh(i){const s=i.width,t=i.height,a=s/2,l=t/2,o=Math.min(s,t)/2-1;return e.jsxs("svg",{width:s,height:t,viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`pd-bg-${i.id}`,cx:"50%",cy:"50%",r:"50%",children:[e.jsx("stop",{offset:"0%",stopColor:"#fffde7"}),e.jsx("stop",{offset:"100%",stopColor:"#fff9c4"})]}),e.jsx("filter",{id:`pd-sh-${i.id}`,x:"-10%",y:"-10%",width:"120%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"0.5",stdDeviation:"1",floodColor:"#f9a825",floodOpacity:"0.2"})})]}),e.jsx("circle",{cx:a,cy:l,r:o,fill:`url(#pd-bg-${i.id})`,stroke:"#fbc02d",strokeWidth:.8,filter:`url(#pd-sh-${i.id})`}
42),e.jsx("circle",{cx:a,cy:l,r:o*.8,fill:"none",stroke:"#fdd835",strokeWidth:.4,opacity:.5}),e.jsx("rect",{x:a-o*.35,y:l-o*.55,width:o*.7,height:o*.35,rx:1.5,fill:"#f9a825",opacity:.6}),e.jsx("rect",{x:a-o*.15,y:l-o*.22,width:o*.12,height:o*.25,rx:.5,fill:"#f57f17",opacity:.65}),e.jsx("rect",{x:a+o*.05,y:l-o*.22,width:o*.12,height:o*.25,rx:.5,fill:"#f57f17",opacity:.65}),e.jsx("path",{d:`M ${a-o*.2} ${l+o*.15} L ${a+o*.05} ${l+o*.15} L ${a-o*.05} ${l+o*.5} L ${a+o*.2} ${l+o*.15} L ${a-o*.05} ${l+o*.15} L ${a+o*.05} ${l-o*.2}`,fill:"none",stroke:"#e65100",strokeWidth:.8,opacity:.5})]})}const kh=new Set(["stage","bar_curved","curved_bar","arched_shelf","round_table_6","round_table_8","round_table_10","rect_table_6","rect_table_8","rect_table_12","head_table","sweetheart_table","half_round","serpentine_table","curved_head_table","u_shape_table","l_shape_table","chair","wedding_party_marker","kids_table","ceremony_chairs_left","ceremony_chairs_right","ceremony_chairs_center","ceremony_aisle","aisle_runner","wall","wall_short","pipe_drape","text_label","area_label","custom_area","lawn_game_area","lounge_area","band_area","coffee_station","beverage_station","speaker_sound","signin_table","food_truck","photo_backdrop","coat_check","restroom","portable_restroom","heat_lamp","cigar_bar","smores_station","ice_sculpture","whiskey_barrel","balloon_arch","velvet_rope","ceiling_draping","marquee_letters","escort_card_display","favor_table","pew","pew_short","column","entrance","exit_emergency","pool","parking_area","shuttle_dropoff","ceremony_sign","ceremony_cross","kids_activity_zone","photographer_station","videographer_station","generator","hvac_unit","catering_prep","trash_station","wheelchair_ramp","dessert_table","unity_table","ring_pillow_stand","ceremony_curtain","power_drop","string_lights"]);function Ei(i){return!i.color||i.color==="transparent"||kh.has(i.elementType)?null:e.jsx("div",{className:"absolute inset-0 pointer-events-none rounded-[inherit] overflow-hidden",style:{backgroundColor:i.color,opacity:.55,mixBlendMode:"color"}})}function $h({linkPickerElementId:i,setLinkPickerElementId:s,allElsFetched:t,allWeddingElements:a,venueElements:l,tables:o,linkTableMutation:h,addRoomOpen:p,setAddRoomOpen:f,newRoomName:d,setNewRoomName:y,createRoomMutation:k,weddingId:C,addGuestOpen:A,setAddGuestOpen:O,guestTableId:ie,setGuestTableId:de,tableGuests:E,guestName:rt,setGuestName:L,guestMeal:be,setGuestMeal:Ir,handleAddGuestToTable:er,createGuestMutation:tr,editOpen:sr,setEditOpen:At,editLabel:Zt,setEditLabel:dt,selectedElement:mt,editInitials:rr,setEditInitials:zi,editWidth:ht,setEditWidth:Ri,editHeight:it,setEditHeight:$s,editSeatCount:at,setEditSeatCount:vs,editHiddenChairs:Ms,setEditHiddenChairs:Pt,editChairSpacing:_s,setEditChairSpacing:zr,editChairsBothSides:Gi,setEditChairsBothSides:ir,editColor:Rr,setEditColor:Gr,editRotation:Xt,setEditRotation:ar,saveEditElement:Hr,updateElementMutation:or,editTableOpen:Cs,setEditTableOpen:lr,editTableName:qr,setEditTableName:Ve,editTableCapacity:Ns,setEditTableCapacity:Ge,editTableShape:nr,setEditTableShape:cr,saveEditTable:Hi,updateTableMutation:Jt,groupEditOpen:qi,setGroupEditOpen:dr,groupEditGuests:oe,setGroupEditGuests:Ke,selectedGroupId:De,setSelectedGroupId:vt,groupElements:Ae,weddingQueryParam:we,activeRoomId:Mt,elementsQueryKey:_t,seatingGenOpen:Ss,setSeatingGenOpen:Ur,tgGuests:te,setTgGuests:hr,tgSeatsPerTable:He,setTgSeatsPerTable:xr,tgTableStyle:Ft,setTgTableStyle:_e,tgSpacing:Ce,setTgSpacing:Vr,tgDanceFloor:Kr,setTgDanceFloor:Yr,generateTableLayout:Qr,tgGenerating:Ws,wpGenOpen:fr,setWpGenOpen:pr,wpQuickBrideCount:qe,setWpQuickBrideCount:Lt,wpQuickGroomCount:ot,setWpQuickGroomCount:Ds,wpQuickOfficiant:Ot,setWpQuickOfficiant:Zr,wpQuickCouple:Et,setWpQuickCouple:Xr,wpLayoutStyle:es,setWpLayoutStyle:Jr,weddingPartyMembers:Ct,savedPartySides:ve,generateWeddingPartyLayout:ei,generateQuickWeddingParty:mr,wpGenerating:Nt,wpAssignOpen:ti,setWpAssignOpen:It,wpAddName:ts,setWpAddName:ss,wpAddRole:zt,setWpAddRole:ur,wpAddSide:Rt,setWpAddSide:rs,wpAssignElementId:ut,wpAdding:si,setWpAdding:Bs,saveSnapshotOpen:ri,setSaveSnapshotOpen:yr,snapshotName:gr,setSnapshotName:ii,snapshotDesc:ai,setSnapshotDesc:oi,saveSnapshot:li,savingSnapshot:ni,versionHistoryOpen:Ui,setVersionHistoryOpen:is,snapshots:ci,restoreSnapshot:as,restoringId:Ts,deleteSnapshot:os,canManageTemplates:br,saveTemplateOpen:ls,setSaveTemplateOpen:di,templateName:ns,setTemplateName:jr,templateDesc:As,setTemplateDesc:hi,rooms:Gt,roomWidthFt:Vi,roomHeightFt:cs,handleSaveTemplate:Ki,savingTemplate:Ps,loadTemplateOpen:Yi,setLoa
42dTemplateOpen:Fs,venueTemplates:ds,handleApplyTemplate:xi,applyingTemplateId:wr,handleDeleteTemplate:fi}){const Pe=ve.bride.length+ve.groom.length>0,{toast:Ht}=qo(),Qi=t?a:l,kr=!!(i!=null?Qi.find(g=>g.id===i):void 0)?.linkedTableId;return e.jsxs(e.Fragment,{children:[e.jsx(Ze,{open:i!==null,onOpenChange:g=>{g||s(null)},children:e.jsxs(Xe,{className:"border-[#e8ddd0] max-w-sm","data-testid":"dialog-link-table-picker",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]",children:kr?"Assign a Table":"Link to Seating Table"}),e.jsx(tt,{children:kr?"Choose which table this shape represents. Its guests come with it.":"Choose an existing table or create a new one."})]}),(()=>{const g=t?a:l,V=new Set(g.filter(Z=>Z.linkedTableId).map(Z=>Z.linkedTableId)),ce=o.filter(Z=>!V.has(Z.id));return e.jsxs("div",{className:"space-y-2 py-1",children:[ce.length>0?e.jsx(Uo,{className:"max-h-[240px]",children:e.jsx("div",{className:"space-y-1",children:ce.map(Z=>e.jsxs("button",{type:"button",className:"w-full text-left px-3 py-2 rounded-lg border border-[#e8ddd0] hover:border-[#E9C9BB] hover:bg-[#f5ebe0]/40 transition-colors flex items-center justify-between",disabled:h.isPending,onClick:()=>i&&h.mutate({elementId:i,tableId:Z.id}),"data-testid":`link-table-option-${Z.id}`,children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-[12px] font-medium text-[#5a4a3a] block",children:Z.tableName}),e.jsxs("span",{className:"text-[10px] text-[#9a8b7a]",children:[Z.shape==="round"?"Round":"Rectangle"," · ",E(Z.id).length,"/",Z.capacity," ","guests"]})]}),e.jsx($e,{className:"w-3.5 h-3.5 text-[#E9C9BB]"})]},Z.id))})}):e.jsx("p",{className:"text-[11px] text-[#8a7a6a] italic text-center py-3",children:"No unlinked tables available"}),!kr&&e.jsx("div",{className:"border-t border-[#e8ddd0]/60 pt-2",children:e.jsxs(F,{size:"sm",variant:"outline",className:"w-full text-[11px] h-7 border-[#e8ddd0] text-[#5a4a3a] justify-center",disabled:h.isPending,onClick:()=>i&&h.mutate({elementId:i}),"data-testid":"button-create-new-table-link",children:[h.isPending?e.jsx(Re,{className:"w-3 h-3 mr-1 animate-spin"}):e.jsx(Js,{className:"w-3 h-3 mr-1"}),"Create New Table"]})})]})})()]})}),e.jsx(Ze,{open:p,onOpenChange:f,children:e.jsxs(Xe,{className:"border-[#e8ddd0] max-w-md","data-testid":"dialog-add-room",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]",children:"Add Room"}),e.jsx(tt,{children:"Create a new room or start from a venue preset."})]}),e.jsxs("div",{className:"space-y-3 py-2",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Room Name"}),e.jsx(ye,{value:d,onChange:g=>y(g.target.value),placeholder:"e.g. Cocktail Lounge, Ceremony Garden",className:"border-[#e8ddd0] focus:border-[#E9C9BB] focus:ring-[#E9C9BB]/20",onKeyDown:g=>{g.key==="Enter"&&d.trim()&&(k.mutate({name:d.trim(),weddingId:C}),f(!1))},"data-testid":"input-new-room-name"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Venue Presets"}),e.jsx("p",{className:"text-[10px] text-[#8a7a6a]",children:"Select a preset to start with common dimensions. You can adjust the size after."}),e.jsx("div",{className:"grid grid-cols-2 gap-1.5 max-h-[200px] overflow-y-auto pr-1",children:Dc.map(g=>e.jsxs("button",{disabled:k.isPending,type:"button",onClick:()=>{const V=d.trim()||g.label;k.mutate({name:V,weddingId:C,widthFt:g.widthFt,heightFt:g.heightFt}),f(!1)},className:"text-left p-2 rounded-lg border border-[#e8ddd0] hover:border-[#E9C9BB] hover:bg-[#f5ebe0]/40 transition-colors group disabled:opacity-30","data-testid":`preset-${g.label.toLowerCase().replace(/\s+/g,"-")}`,children:[e.jsx("span",{className:"text-[11px] font-medium text-[#5a4a3a] block",children:g.label}),e.jsx("span",{className:"text-[11px] text-[#9a8b7a] group-hover:text-[#7a6a5a]",children:g.description})]},g.label))})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[e.jsx(F,{variant:"outline",onClick:()=>f(!1),className:"border-[#e8ddd0] text-[#9a8b7a]",children:"Cancel"}),e.jsx(Me,{onClick:()=>{d.trim()&&(k.mutate({name:d.trim(),weddingId:C}),f(!1))},disabled:!d.trim(),className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-confirm-ad
42d-room",children:"Create Room"})]})]})}),e.jsx(Ze,{open:A,onOpenChange:O,children:e.jsxs(Xe,{className:"border-[#e8ddd0]","data-testid":"dialog-add-guest-fp",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]",children:"Add Guest"}),e.jsx(tt,{children:"Assign a guest to a table or leave unassigned."})]}),e.jsxs("div",{className:"space-y-3 py-2",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Table"}),e.jsxs(wn,{value:ie||"unassigned",onValueChange:g=>de(g==="unassigned"?"":g),children:[e.jsx(kn,{className:"border-[#e8ddd0]","data-testid":"select-fp-guest-table",children:e.jsx($n,{})}),e.jsxs(vn,{children:[e.jsx(jo,{value:"unassigned",children:"Unassigned"}),o.map(g=>e.jsxs(jo,{value:String(g.id),children:[g.tableName," (",E(g.id).length,"/",g.capacity,")"]},g.id))]})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Guest Name"}),e.jsx(ye,{value:rt,onChange:g=>L(g.target.value),placeholder:"e.g. Jane Smith",className:"border-[#e8ddd0] focus:border-[#E9C9BB]","data-testid":"input-fp-guest-name"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Meal Preference"}),e.jsx(ye,{value:be,onChange:g=>Ir(g.target.value),placeholder:"e.g. Chicken",className:"border-[#e8ddd0] focus:border-[#E9C9BB]","data-testid":"input-fp-guest-meal"})]})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsxs(Me,{onClick:er,disabled:!rt.trim()||tr.isPending,className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-submit-fp-guest",children:[tr.isPending&&e.jsx(Re,{className:"w-4 h-4 mr-2 animate-spin"})," Add Guest"]})]})]})}),e.jsx(Ze,{open:sr,onOpenChange:At,children:e.jsxs(Xe,{className:"border-[#e8ddd0]","data-testid":"dialog-edit-element",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]",children:"Edit Element"}),e.jsx(tt,{children:"Customize the label, size, color, and rotation."})]}),e.jsxs("div",{className:"space-y-3 py-2",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Label"}),e.jsx(ye,{value:Zt,onChange:g=>dt(g.target.value),className:"border-[#e8ddd0] focus:border-[#E9C9BB]","data-testid":"input-edit-element-label"})]}),mt?.elementType==="gobo_light"&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Monogram Initials"}),e.jsx(ye,{value:rr,onChange:g=>zi(g.target.value),placeholder:"e.g. J&A",maxLength:10,className:"border-[#e8ddd0] focus:border-[#E9C9BB]","data-testid":"input-edit-monogram-initials"}),e.jsx("p",{className:"text-[11px] text-[#9a8b7a]",children:"Displayed as the projected monogram text"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Width (ft)"}),e.jsx(ye,{type:"number",min:1,step:.5,value:ht,onChange:g=>Ri(g.target.value),className:"border-[#e8ddd0]","data-testid":"input-edit-element-width"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Height (ft)"}),e.jsx(ye,{type:"number",min:1,step:.5,value:it,onChange:g=>$s(g.target.value),className:"border-[#e8ddd0]","data-testid":"input-edit-element-height"})]})]}),at!==null&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Seats"}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(F,{size:"icon","aria-label":"Decrease seats",variant:"outline",className:"h-8 w-8 border-[#e8ddd0] text-[#5a4a3a]",onClick:()=>{const g=Math.max(0,(at||0)-1);vs(g),dt(Fr(Zt,g)),Pt(V=>V.filter(ce=>ce<g))},"data-testid":"button-seat-minus",children:e.jsx(Mn,{className:"w-3.5 h-3.5"})}),e.jsx(ye,{type:"number",min:0,max:50,value:at,onChange:g=>{const V=Math.max(0,Math.min(50,parseInt(g.target.value)||0));vs(V),dt(Fr(Zt,V)),Pt(ce=>ce.filter(Z=>Z<V))}
42,className:"w-16 text-center border-[#e8ddd0] focus:border-[#E9C9BB]","data-testid":"input-edit-seat-count"}),e.jsx(F,{size:"icon","aria-label":"Add",variant:"outline",className:"h-8 w-8 border-[#e8ddd0] text-[#5a4a3a]",onClick:()=>{const g=Math.min(50,(at||0)+1);vs(g),dt(Fr(Zt,g))},"data-testid":"button-seat-plus",children:e.jsx(Js,{className:"w-3.5 h-3.5"})}),e.jsx("span",{className:"text-[10px] text-[#9a8b7a] ml-auto",children:"chairs shown"})]}),mt&&at!==Ii(mt.elementType)&&e.jsxs("button",{onClick:()=>{const g=Ii(mt.elementType);vs(g),dt(Fr(Zt,g)),Pt([])},className:"text-[10px] text-[#b08d7a] hover:underline","data-testid":"button-reset-seats",children:["Reset to default (",Ii(mt.elementType),")"]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(X,{className:"text-xs text-[#9a8b7a]",children:["Chair Spacing (",_s,"%)"]}),e.jsx(Qs,{value:[_s],onValueChange:([g])=>zr(g),min:50,max:200,step:10,"data-testid":"slider-chair-spacing"}),e.jsx("p",{className:"text-[11px] text-[#9a8b7a]",children:_s<100?"Tighter spacing":_s>100?"More space between chairs":"Default spacing"})]}),mt&&(mt.elementType==="head_table"||mt.elementType==="curved_head_table")&&e.jsxs("div",{className:"flex items-center justify-between py-1",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Chairs on both sides"}),e.jsx(jn,{checked:Gi,onCheckedChange:ir,"data-testid":"switch-chairs-both-sides"})]}),at>0&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Hide Chairs (click to toggle empty positions)"}),e.jsx("div",{className:"flex flex-wrap gap-1",children:Array.from({length:at}).map((g,V)=>{const ce=Ms.includes(V);return e.jsx("button",{onClick:()=>Pt(Z=>ce?Z.filter(he=>he!==V):[...Z,V]),className:`w-7 h-7 rounded text-[11px] font-medium border transition-colors ${ce?"bg-[#f5ebe0] border-dashed border-[#E9C9BB] text-[#E9C9BB]":"bg-[#e8ddd0] border-[#c9b99a] text-[#5a4a3a]"}`,"data-testid":`button-toggle-chair-${V}`,children:ce?"—":V+1},V)})}),Ms.length>0&&e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("p",{className:"text-[11px] text-[#b08d7a]",children:[Ms.length," chair",Ms.length>1?"s":""," hidden"]}),e.jsx("button",{onClick:()=>Pt([]),className:"text-[11px] text-[#b08d7a] hover:underline","data-testid":"button-unhide-all-chairs",children:"Show all"})]})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Color"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"color",value:Rr==="transparent"?"#f5ebe0":Rr,onChange:g=>Gr(g.target.value),className:"w-8 h-8 rounded cursor-pointer border border-[#e8ddd0]","data-testid":"input-edit-element-color"}),e.jsx(ye,{value:Rr,onChange:g=>Gr(g.target.value),className:"flex-1 border-[#e8ddd0]"}),e.jsx(F,{size:"sm",variant:"outline",className:"h-8 text-[10px] border-[#e8ddd0]",onClick:()=>Gr("transparent"),children:"None"})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(X,{className:"text-xs text-[#9a8b7a]",children:["Rotation (",Xt,"°)"]}),e.jsx(Qs,{value:[Xt],onValueChange:([g])=>ar(g),min:0,max:360,step:5,"data-testid":"slider-edit-rotation"})]})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsxs(Me,{onClick:Hr,disabled:or.isPending,className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-submit-edit-element",children:[or.isPending&&e.jsx(Re,{className:"w-4 h-4 mr-2 animate-spin"})," Save"]})]})]})}),e.jsx(Ze,{open:Cs,onOpenChange:lr,children:e.jsxs(Xe,{className:"border-[#e8ddd0] max-w-sm","data-testid":"dialog-edit-table",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]",children:"Edit Table"}),e.jsx(tt,{children:"Change the table name, seating capacity, and shape."})]}),e.jsxs("div",{className:"space-y-3 py-2",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Table Name"}),e.jsx(ye,{value:qr,onChange:g=>
42Ve(g.target.value),className:"border-[#e8ddd0] focus:border-[#E9C9BB] focus:ring-[#E9C9BB]/20","data-testid":"input-edit-table-name"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Seating Capacity"}),e.jsx(ye,{type:"number",min:1,max:50,value:Ns,onChange:g=>Ge(Math.max(1,Math.min(50,parseInt(g.target.value)||1))),className:"border-[#e8ddd0] focus:border-[#E9C9BB] focus:ring-[#E9C9BB]/20","data-testid":"input-edit-table-capacity"}),e.jsx("p",{className:"text-[10px] text-[#8a7a6a]",children:"How many guests can sit at this table"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Shape"}),e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("button",{onClick:()=>cr("round"),className:`p-2.5 rounded-lg border text-xs flex items-center justify-center gap-2 transition-colors ${nr==="round"?"border-[#E9C9BB] bg-[#E9C9BB]/10 text-[#5a4a3a] font-medium":"border-[#e8ddd0] text-[#9a8b7a] hover:border-[#E9C9BB]/50"}`,"data-testid":"button-shape-round",children:[e.jsx("div",{className:"w-5 h-5 rounded-full border-2 border-current"}),"Round"]}),e.jsxs("button",{onClick:()=>cr("rect"),className:`p-2.5 rounded-lg border text-xs flex items-center justify-center gap-2 transition-colors ${nr==="rect"?"border-[#E9C9BB] bg-[#E9C9BB]/10 text-[#5a4a3a] font-medium":"border-[#e8ddd0] text-[#9a8b7a] hover:border-[#E9C9BB]/50"}`,"data-testid":"button-shape-rect",children:[e.jsx("div",{className:"w-6 h-4 rounded-sm border-2 border-current"}),"Rectangle"]})]})]})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsxs(Me,{onClick:Hi,disabled:Jt.isPending,className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-submit-edit-table",children:[Jt.isPending&&e.jsx(Re,{className:"w-4 h-4 mr-2 animate-spin"})," Save"]})]})]})}),e.jsx(Ze,{open:qi,onOpenChange:dr,children:e.jsxs(Xe,{className:"max-w-sm border-[#e8ddd0] bg-[#fdfbf8]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-lg text-[#5a4a3a]","data-testid":"title-group-edit",children:"Adjust Guest Count"}),e.jsx(tt,{className:"text-xs text-[#9a8b7a]",children:"Change the guest count and regenerate the table layout"})]}),e.jsxs("div",{className:"space-y-4 py-2",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"New Guest Count"}),e.jsx(ye,{type:"number",min:4,max:500,value:oe,onChange:g=>Ke(Math.max(4,parseInt(g.target.value)||4)),className:"border-[#e8ddd0] focus:border-[#E9C9BB]","data-testid":"input-group-edit-guests"})]}),e.jsx("div",{className:"bg-[#f5ebe0]/50 rounded-lg p-2.5 border border-[#e8ddd0]/60",children:e.jsx("p",{className:"text-[10px] text-[#9a8b7a]",children:"This will delete the current table group and regenerate it with the new guest count, using the same table style and spacing."})})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsxs(Me,{onClick:async()=>{if(!De)return;const g=Ae;if(g.length===0)return;const V=Math.min(...g.map(Ne=>Ne.x)),ce=Math.min(...g.map(Ne=>Ne.y));let Z={style:"round",spt:8,sp:48,df:0};if(De.startsWith("tg_"))try{let Ne=De.slice(3);for(;Ne.length%4!==0;)Ne+="=";Z={...Z,...JSON.parse(atob(Ne))}}catch{}const he=Z.spt||8,yt=Z.style||"round",Fe=Z.sp||48,pi=Z.df===1;dr(!1),await z("DELETE",`/api/venue-elements/group/${encodeURIComponent(De)}`+we);const $r=oe,Ls=Math.ceil($r/he),vr={round_6:{type:"round_table_6",w:96,h:96},round_8:{type:"round_table_8",w:120,h:120},round_10:{type:"round_table_10",w:132,h:132},rect_6:{type:"rect_table_6",w:72,h:84},rect_8:{type:"rect_table_8",w:96,h:84},rect_12:{type:"rect_table_12",w:144,h:84}};let Os;yt==="round"?Os=he<=6?"round_6":he<=8?"round_8":"round_10":yt==="rectangle"?Os=he<=6?"rect_6":he<=8?"rect_8":"rect_12":Os="round_8";const qt=vr[Os],hs=qt.w,Ut=qt.h,xs=Math.max(2,Math.ceil(Math.sqrt(Ls*(hs+Fe)/(Ut+Fe)))),Es=Math.ceil(Ls/xs),Is={t:Date.now(),style:yt,spt:he,sp:Fe,df:pi?1:0},mi=`tg_${btoa(JSON.stringify(Is)).replace(/=/g,"")}`,fs=[];let zs=0;for(let Ne=0;Ne<Es;Ne++)for(let ps=0;ps<xs&&zs<Ls;ps++){let ui=qt.type,gt=hs,Mr=Ut;
42if(yt==="mixed"){const Ji=(Ne+ps)%3===0?he<=6?"rect_6":he<=8?"rect_8":"rect_12":he<=6?"round_6":he<=8?"round_8":"round_10",_r=vr[Ji];ui=_r.type,gt=_r.w,Mr=_r.h}zs++;const yi=V+ps*(hs+Fe)+hs/2,Xi=ce+Ne*(Ut+Fe)+Ut/2;fs.push({elementType:ui,label:`Table ${zs}`,x:Math.round(yi-gt/2),y:Math.round(Xi-Mr/2),width:gt,height:Mr,color:"#f5ebe0",rotation:0})}if(pi){const Ne=xs*(hs+Fe)-Fe;fs.push({elementType:"dance_floor",label:"Dance Floor",x:Math.round(V+Ne+60),y:Math.round(ce+(Es*(Ut+Fe)-Fe)/2-108),width:216,height:216,color:"#e0d4c8",rotation:0})}for(const Ne of fs)await z("POST","/api/venue-elements"+we,{...Ne,groupId:mi,roomId:Mt});G.refetchQueries({queryKey:_t}),vt(mi),Ht({title:`Updated to ${Ls} tables for ${$r} guests`,description:`${yt} layout regenerated`})},className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-apply-group-edit",children:[e.jsx(Or,{className:"w-4 h-4 mr-2"})," Apply Changes"]})]})]})}),e.jsx(Ze,{open:Ss,onOpenChange:Ur,children:e.jsxs(Xe,{className:"max-w-md border-[#e8ddd0] bg-[#fdfbf8]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-lg text-[#5a4a3a]","data-testid":"title-seating-generator",children:"Auto-Generate Table Layout"}),e.jsx(tt,{className:"text-xs text-[#9a8b7a]",children:"Quickly place reception tables for your guest count"})]}),e.jsxs("div",{className:"space-y-4 py-2",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Number of Guests"}),e.jsx(ye,{type:"number",min:4,max:500,value:te,onChange:g=>hr(Math.max(4,parseInt(g.target.value)||4)),className:"border-[#e8ddd0] focus:border-[#E9C9BB]","data-testid":"input-tg-guests"})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Seats per Table"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Qs,{value:[He],onValueChange:([g])=>xr(g),min:4,max:12,step:1,className:"flex-1","data-testid":"slider-tg-seats"}),e.jsx("span",{className:"text-xs text-[#5a4a3a] font-medium w-4 text-center",children:He})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#9a8b7a]",children:"Table Style"}),e.jsx("div",{className:"grid grid-cols-3 gap-1.5",children:[{id:"round",label:"Round"},{id:"rectangle",label:"Rectangular"},{id:"mixed",label:"Mixed"}].map(g=>e.jsxs("button",{onClick:()=>_e(g.id),className:`flex flex-col items-center gap-1.5 p-2.5 rounded-lg border transition-all text-center ${Ft===g.id?"border-[#E9C9BB] bg-[#E9C9BB]/10 text-[#5a4a3a]":"border-[#e8ddd0] hover:border-[#E9C9BB]/40 text-[#9a8b7a]"}`,"data-testid":`tg-style-${g.id}`,children:[e.jsxs("div",{className:"w-8 h-8 flex items-center justify-center",children:[g.id==="round"&&e.jsx("div",{className:"w-7 h-7 rounded-full border-2 border-current"}),g.id==="rectangle"&&e.jsx("div",{className:"w-8 h-5 rounded-sm border-2 border-current"}),g.id==="mixed"&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"w-4 h-4 rounded-full border-[1.5px] border-current"}),e.jsx("div",{className:"w-5 h-3 rounded-sm border-[1.5px] border-current"})]})]}),e.jsx("span",{className:"text-[11px] font-medium leading-tight",children:g.label})]},g.id))})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(X,{className:"text-xs text-[#9a8b7a]",children:["Table Spacing (",Zs(Ce)," ft)"]}),e.jsx(Qs,{value:[Ce],onValueChange:([g])=>Vr(g),min:24,max:96,step:6,"data-testid":"slider-tg-spacing"})]}),e.jsx("div",{className:"flex items-center gap-3",children:e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:Kr,onChange:g=>Yr(g.target.checked),className:"w-4 h-4 rounded border-[#e8ddd0] text-[#E9C9BB] focus:ring-[#E9C9BB]","data-testid":"checkbox-tg-dance-floor"}),e.jsx("span",{className:"text-xs text-[#5a4a3a]",children:"Include Dance Floor"})]})}),e.jsxs("div",{className:"bg-[#f5ebe0]/50 rounded-lg p-3 border border-[#e8ddd0]/60",children:[e.jsx("p",{className:"text-[11px] text-[#5a4a3a] font-medium mb-1",children:"Preview"}),e.jsxs("div",{className:"text-[10px] text-[#9a8b7a] space-y-0.5",children:[e.jsxs("p",{children:[Math.ceil(te/He)," tables × ",He," seats ="," ",Math.
42ceil(te/He)*He," seats for ",te," guests"]}),e.jsxs("p",{children:[Ft==="round"?"Round":Ft==="rectangle"?"Rectangular":"Mixed round & rectangular"," ","tables, ",Zs(Ce)," ft spacing",Kr?" + dance floor":""]})]})]})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsx(Me,{onClick:Qr,disabled:Ws,className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-generate-tables",children:Ws?e.jsxs(e.Fragment,{children:[e.jsx(Re,{className:"w-4 h-4 mr-2 animate-spin"})," Placing Tables..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Or,{className:"w-4 h-4 mr-2"})," Place Tables"]})})]})]})}),e.jsx(Ze,{open:fr,onOpenChange:pr,children:e.jsxs(Xe,{className:"max-w-md border-[#e8ddd0] bg-[#fdfbf8]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-lg text-[#5a4a3a]","data-testid":"title-wedding-party-gen",children:"Place Wedding Party"}),e.jsx(tt,{className:"text-xs text-[#9a8b7a]",children:"Auto-place ceremony positions — bride's side on the left, groom's side on the right. Click each marker after to assign names."})]}),e.jsxs("div",{className:"space-y-3 py-2",children:[Pe&&e.jsxs("div",{className:"rounded-lg border border-[#b8c4d4] bg-[#dce6f0]/40 p-3","data-testid":"panel-wp-saved-party",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Lr,{className:"w-4 h-4 text-[#93ABCC] flex-shrink-0"}),e.jsxs("p",{className:"text-xs font-semibold text-[#5a4a3a]",children:["Placing your ",ve.bride.length+ve.groom.length," saved wedding party members"]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-1.5",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"text-[11px] text-[#b8c4d4] font-semibold uppercase tracking-wider mb-1",children:["Bride's Side (",ve.bride.length,")"]}),ve.bride.map(g=>e.jsxs("div",{className:"flex items-center gap-1 py-0.5",children:[e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-[#b8c4d4] flex-shrink-0"}),e.jsx("span",{className:"text-[10px] text-[#5a4a3a] truncate",children:g.name}),e.jsx("span",{className:"text-[10px] text-[#9a8b7a] truncate ml-auto",children:g.role})]},g.id)),ve.bride.length===0&&e.jsx("p",{className:"text-[11px] text-[#9a8b7a] italic",children:"None"})]}),e.jsxs("div",{children:[e.jsxs("p",{className:"text-[11px] text-[#a0b4c8] font-semibold uppercase tracking-wider mb-1",children:["Groom's Side (",ve.groom.length,")"]}),ve.groom.map(g=>e.jsxs("div",{className:"flex items-center gap-1 py-0.5",children:[e.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-[#a0b4c8] flex-shrink-0"}),e.jsx("span",{className:"text-[10px] text-[#5a4a3a] truncate",children:g.name}),e.jsx("span",{className:"text-[10px] text-[#9a8b7a] truncate ml-auto",children:g.role})]},g.id)),ve.groom.length===0&&e.jsx("p",{className:"text-[11px] text-[#9a8b7a] italic",children:"None"})]})]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:Ot,onChange:g=>Zr(g.target.checked),className:"accent-[#b0a0c0] rounded","data-testid":"checkbox-wp-officiant"}),e.jsx("span",{className:"text-xs text-[#5a4a3a]",children:"Officiant"})]}),e.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:Et,onChange:g=>Xr(g.target.checked),className:"accent-[#E9C9BB] rounded","data-testid":"checkbox-wp-couple"}),e.jsx("span",{className:"text-xs text-[#5a4a3a]",children:"Bride & Groom"})]})]}),e.jsxs("details",{className:"space-y-3",open:!Pe,children:[e.jsx(bn,{className:Pe?"text-xs text-[#9a8b7a] transition-colors hover:text-[#5a4a3a]":"sr-only",chevronClassName:"h-3 w-3 text-[#9a8b7a]","data-testid":"wedding-party-counts-toggle",children:Pe?"Place blank positions by the numbers instead":"Positions"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(X,{className:"text-xs text-[#b8c4d4] font-semibold flex items-center gap-1",children:[e.jsx("div",{className:"w-2 h-2 rounded-full bg-[#b8c4d4]"}
42)," Bride's Side"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{className:"h-7 w-7 border border-[#e8ddd0] rounded flex items-center justify-center text-[#5a4a3a] hover:bg-[#f5ebe0] transition-colors",onClick:()=>Lt(g=>Math.max(0,g-1)),"data-testid":"button-wp-bride-minus",children:e.jsx("span",{className:"text-sm",children:"−"})}),e.jsx("span",{className:"text-lg font-semibold text-[#5a4a3a] min-w-[2rem] text-center","data-testid":"text-wp-bride-count",children:qe}),e.jsx("button",{className:"h-7 w-7 border border-[#e8ddd0] rounded flex items-center justify-center text-[#5a4a3a] hover:bg-[#f5ebe0] transition-colors",onClick:()=>Lt(g=>Math.min(12,g+1)),"data-testid":"button-wp-bride-plus",children:e.jsx("span",{className:"text-sm",children:"+"})})]}),e.jsx("p",{className:"text-[11px] text-[#9a8b7a]",children:qe===0?"None":qe===1?"Maid of Honor":`Maid of Honor + ${qe-1} Bridesmaid${qe>2?"s":""}`})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsxs(X,{className:"text-xs text-[#a0b4c8] font-semibold flex items-center gap-1",children:[e.jsx("div",{className:"w-2 h-2 rounded-full bg-[#a0b4c8]"})," Groom's Side"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{className:"h-7 w-7 border border-[#e8ddd0] rounded flex items-center justify-center text-[#5a4a3a] hover:bg-[#f5ebe0] transition-colors",onClick:()=>Ds(g=>Math.max(0,g-1)),"data-testid":"button-wp-groom-minus",children:e.jsx("span",{className:"text-sm",children:"−"})}),e.jsx("span",{className:"text-lg font-semibold text-[#5a4a3a] min-w-[2rem] text-center","data-testid":"text-wp-groom-count",children:ot}),e.jsx("button",{className:"h-7 w-7 border border-[#e8ddd0] rounded flex items-center justify-center text-[#5a4a3a] hover:bg-[#f5ebe0] transition-colors",onClick:()=>Ds(g=>Math.min(12,g+1)),"data-testid":"button-wp-groom-plus",children:e.jsx("span",{className:"text-sm",children:"+"})})]}),e.jsx("p",{className:"text-[11px] text-[#9a8b7a]",children:ot===0?"None":ot===1?"Best Man":`Best Man + ${ot-1} ${ot>2?"Groomsmen":"Groomsman"}`})]})]}),e.jsxs(Me,{onClick:mr,disabled:Nt||qe===0&&ot===0&&!Ot&&!Et,size:"sm",className:"w-full text-xs bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-generate-by-count",children:[e.jsx(Or,{className:"w-3.5 h-3.5 mr-1.5"})," Place by count"]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(X,{className:"text-xs text-[#5a4a3a] font-semibold",children:"Arrangement Style"}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5",children:[{value:"staggered",label:"Staggered",desc:"Alternating depth"},{value:"angled",label:"Angled In",desc:"Facing the couple"},{value:"two_rows",label:"Two Rows",desc:"Front & back row"},{value:"curved",label:"Curved",desc:"Arc formation"}].map(g=>e.jsxs("button",{type:"button",onClick:()=>Jr(g.value),className:`rounded-lg border p-1.5 text-center transition-all ${es===g.value?"border-[#b8c4d4] bg-[#e4e9ef]/40 ring-1 ring-[#b8c4d4]/30":"border-[#e8ddd0] hover:border-[#E9C9BB]"}`,"data-testid":`button-wp-layout-${g.value}`,children:[e.jsxs("svg",{width:"40",height:"28",viewBox:"0 0 40 28",className:"mx-auto mb-0.5",children:[g.value==="staggered"&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:"12",cy:"10",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"4",cy:"16",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"28",cy:"10",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("circle",{cx:"36",cy:"16",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("circle",{cx:"20",cy:"4",r:"2.5",fill:"#ddd6e6",stroke:"#b0a0c0",strokeWidth:"0.5"})]}),g.value==="angled"&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:"12",cy:"12",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"5",cy:"18",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"28",cy:"12",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("circle",{cx:"35",cy:"18",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("line",{x1:"12",y1:"12",x2:"10",y2:"15",stroke:"#b8c4d4",strokeWidth:"0.3",opacity:"0.4"}),e.jsx("line",{x1:"28",y1:"12",x2:"30",y2:"15",stroke:"#a0b4c8",strokeWidth:"0.3",opacity:"0.4"}),e.jsx("circle",{cx:"20",cy:"4",r:"2.5",fill:"#ddd6e6",stroke:"#b0a0c0",
42strokeWidth:"0.5"})]}),g.value==="two_rows"&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:"10",cy:"10",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"10",cy:"20",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"30",cy:"10",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("circle",{cx:"30",cy:"20",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("circle",{cx:"20",cy:"4",r:"2.5",fill:"#ddd6e6",stroke:"#b0a0c0",strokeWidth:"0.5"})]}),g.value==="curved"&&e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:"11",cy:"12",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"6",cy:"20",r:"3",fill:"#e4e9ef",stroke:"#b8c4d4",strokeWidth:"0.5"}),e.jsx("circle",{cx:"29",cy:"12",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("circle",{cx:"34",cy:"20",r:"3",fill:"#dce3eb",stroke:"#a0b4c8",strokeWidth:"0.5"}),e.jsx("path",{d:"M6 20 Q10 10 20 8 Q30 10 34 20",fill:"none",stroke:"#9a8b7a",strokeWidth:"0.4",opacity:"0.5",strokeDasharray:"2 1"}),e.jsx("circle",{cx:"20",cy:"4",r:"2.5",fill:"#ddd6e6",stroke:"#b0a0c0",strokeWidth:"0.5"})]})]}),e.jsx("p",{className:"text-[11px] font-medium text-[#5a4a3a] leading-tight",children:g.label}),e.jsx("p",{className:"text-[7px] text-[#9a8b7a] leading-tight",children:g.desc})]},g.value))})]}),e.jsxs("div",{className:"bg-[#f5ebe0]/50 rounded-lg p-2.5 border border-[#e8ddd0]/60",children:[e.jsx("p",{className:"text-[10px] text-[#5a4a3a] font-medium mb-1",children:"Preview"}),e.jsxs("p",{className:"text-[10px] text-[#9a8b7a]",children:[(Ot?1:0)+(Et?2:0)+(Pe?ve.bride.length:qe)+(Pe?ve.groom.length:ot)," ","positions will be placed",Ot?" — Officiant at top":"",Et?", Bride & Groom in center":"",(Pe?ve.bride.length:qe)>0?`, ${Pe?ve.bride.length:qe} on bride's side`:"",(Pe?ve.groom.length:ot)>0?`, ${Pe?ve.groom.length:ot} on groom's side`:"",` — ${es==="staggered"?"staggered":es==="angled"?"angled inward":es==="two_rows"?"two rows":"curved arc"} arrangement`]})]}),e.jsx("div",{className:"bg-[#fff3e0]/40 rounded-lg p-2.5 border border-[#ffe0b2]/60",children:e.jsxs("p",{className:"text-[10px] text-[#9a8b7a]",children:["Tip: Place an arbor or altar first for best positioning.",Ct.length>0?` Your ${Ct.length} saved wedding party members are placed by name automatically, in the order they appear on the Wedding Party page. Any extra positions you add here stay unnamed until you click them.`:" After placing, click each marker to assign real names."]})}),l.some(g=>g.elementType==="wedding_party_marker")&&e.jsxs("div",{className:"bg-[#dce6f0]/40 rounded-lg p-2 border border-[#c4d4e4]/60 flex items-center gap-2",children:[e.jsx(Lr,{className:"w-4 h-4 text-[#93ABCC] flex-shrink-0"}),e.jsx("p",{className:"text-[10px] text-[#5a4a3a]",children:"Existing wedding party markers will be replaced."})]})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsx(Me,{onClick:Pe?ei:mr,disabled:Nt||!Pe&&qe===0&&ot===0&&!Ot&&!Et,className:"bg-[#93ABCC] hover:bg-[#7a93b0] text-white","data-testid":"button-generate-wedding-party",children:Nt?e.jsxs(e.Fragment,{children:[e.jsx(Re,{className:"w-4 h-4 mr-2 animate-spin"})," Placing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Lr,{className:"w-4 h-4 mr-2"})," ",Pe?"Place from Wedding Party":"Place Wedding Party"]})})]})]})}),e.jsx(Ze,{open:ti,onOpenChange:g=>{It(g),g||(ss(""),ur("Bridesmaid"),rs("bride"))},children:e.jsxs(Xe,{className:"max-w-sm border-[#e8ddd0] bg-[#fdfbf8]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-base text-[#5a4a3a]",children:"Assign Wedding Party Member"}),e.jsx(tt,{className:"text-xs text-[#9a8b7a]",children:"Choose an existing member or add a new one"})]}),e.jsxs("div",{className:"bg-[#f5ebe0]/60 rounded-lg p-3 border border-[#e8ddd0]/60 space-y-2",children:[e.jsxs("p",{className:"text-[10px] text-[#5a4a3a] font-semibold uppercase tracking-wider flex items-center gap-1",children:[e.jsx(Js,{className:"w-3 h-3"})," Quick Add New Member"]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(ye,{placeholder:"Name",value:ts,onChange:g=>ss(g.target.value),className:"h-7 text-xs border-[#e8ddd0] bg-white flex-1","data-testid":"input-wp-add-name"}
42),e.jsxs("select",{value:zt,onChange:g=>ur(g.target.value),className:"h-7 text-xs border border-[#e8ddd0] rounded-md px-1.5 bg-white text-[#5a4a3a]","data-testid":"select-wp-add-role",children:[e.jsx("option",{value:"Maid of Honor",children:"Maid of Honor"}),e.jsx("option",{value:"Matron of Honor",children:"Matron of Honor"}),e.jsx("option",{value:"Bridesmaid",children:"Bridesmaid"}),e.jsx("option",{value:"Best Man",children:"Best Man"}),e.jsx("option",{value:"Groomsman",children:"Groomsman"}),e.jsx("option",{value:"Flower Girl",children:"Flower Girl"}),e.jsx("option",{value:"Ring Bearer",children:"Ring Bearer"}),e.jsx("option",{value:"Officiant",children:"Officiant"}),e.jsx("option",{value:"Usher",children:"Usher"})]})]}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsxs("div",{className:"flex gap-1.5",children:[e.jsx("button",{onClick:()=>rs("bride"),className:`px-2 py-0.5 rounded text-[10px] font-medium transition-colors ${Rt==="bride"?"bg-[#b8c4d4] text-white":"bg-white border border-[#e8ddd0] text-[#9a8b7a]"}`,"data-testid":"button-wp-side-bride",children:"Bride's Side"}),e.jsx("button",{onClick:()=>rs("groom"),className:`px-2 py-0.5 rounded text-[10px] font-medium transition-colors ${Rt==="groom"?"bg-[#a0b4c8] text-white":"bg-white border border-[#e8ddd0] text-[#9a8b7a]"}`,"data-testid":"button-wp-side-groom",children:"Groom's Side"})]}),e.jsx(Me,{size:"sm",disabled:!ts.trim()||si,className:"ml-auto h-6 text-[10px] bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-wp-add-and-assign",onClick:async()=>{if(!(!ts.trim()||!ut)){Bs(!0);try{const V=await(await z("POST",`/api/wedding-party${we}`,{name:ts.trim(),role:zt,side:Rt,order:Ct.filter(ce=>ce.side===Rt).length})).json();await z("PUT",`/api/venue-elements/${ut}${we}`,{weddingPartyMemberId:V.id,label:ks(V.name)||V.name,color:Rt==="bride"?zt==="Maid of Honor"||zt==="Matron of Honor"?"#d5dde6":"#e4e9ef":zt==="Best Man"?"#cdd8e4":"#dce3eb"}),G.refetchQueries({queryKey:["/api/wedding-party",we]}),G.refetchQueries({queryKey:_t}),It(!1),ss(""),Ht({title:`Added & assigned ${V.name}`})}catch(g){const V=g instanceof Error?g.message:"Something went wrong";Ht({title:"Error adding member",description:V,variant:"destructive"})}finally{Bs(!1)}}},children:si?e.jsx(Re,{className:"w-3 h-3 animate-spin"}):"Add & Assign"})]})]}),Ct.length>0&&e.jsxs("div",{className:"space-y-1.5 max-h-48 overflow-y-auto",children:[e.jsx("p",{className:"text-[10px] text-[#5a4a3a] font-semibold uppercase tracking-wider",children:"Existing Members"}),Ct.map(g=>{const V=l.some(ce=>ce.weddingPartyMemberId===g.id&&ce.id!==ut);return e.jsxs("button",{disabled:V,onClick:()=>{ut&&z("PUT",`/api/venue-elements/${ut}${we}`,{weddingPartyMemberId:g.id,label:ks(g.name)||g.name}).then(()=>{G.refetchQueries({queryKey:_t}),It(!1),Ht({title:`Assigned ${g.name}`})})},className:`w-full flex items-center gap-2 p-2 rounded-lg border transition-colors text-left ${V?"opacity-40 cursor-not-allowed border-[#e8ddd0]":"border-[#e8ddd0] hover:bg-[#f5ebe0]/50 hover:border-[#E9C9BB]"}`,"data-testid":`button-assign-member-${g.id}`,children:[e.jsx("div",{className:`w-2.5 h-2.5 rounded-full flex-shrink-0 ${g.side==="bride"?"bg-[#b8c4d4]":"bg-[#a0b4c8]"}`}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-[11px] text-[#5a4a3a] font-medium truncate",children:g.name}),e.jsxs("p",{className:"text-[11px] text-[#9a8b7a] truncate",children:[g.role," · ",g.side==="bride"?"Bride's side":"Groom's side"]})]}),V&&e.jsx("span",{className:"text-[10px] text-[#9a8b7a] flex-shrink-0",children:"Already placed"})]},g.id)})]}),e.jsxs("button",{onClick:()=>{ut&&z("PUT",`/api/venue-elements/${ut}${we}`,{weddingPartyMemberId:null,label:"Unassigned"}).then(()=>{G.refetchQueries({queryKey:_t}),It(!1),Ht({title:"Member unassigned"})})},className:"w-full flex items-center gap-2 p-2 rounded-lg border border-[#e8ddd0] hover:bg-[#f5ebe0]/50 transition-colors text-left","data-testid":"button-unassign-member",children:[e.jsx(ws,{className:"w-4 h-4 text-[#9a8b7a]"}),e.jsx("span",{className:"text-[11px] text-[#9a8b7a]",children:"Remove assignment"})]}),e.jsx(ft,{children:e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Close"})})})]})}),e.jsx(Ze,{open:ri,onOpenChange:yr,children:e.jsxs(Xe,{className:"max-w-md border-[#e8ddd0]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]","data-testid":"title-save-version",children:"Save Layout Version"}),e.jsx(tt,{className:"text-[#9a8b7a] text-sm",children:"Save the current layout as a version you can restore later."})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(X,{className:"text-xs text-[#5a4a3a] font-medium",children:"Version Name"}),e.jsx(ye,{value:gr,onChange:g=>ii(g.target.value),placeholder:"e.g., Planner's Original Design",className:"mt-1 border-[#e8ddd0] text-sm","data-testid":"input-snapshot-name"})]}),e.jsxs("div",{children:[e.jsx(X,{className:"text-xs text-[#5a4a3a] font-medium",children:"Description (optional)"}),e.jsx(ye,{value:ai,onChange:g=>oi(g.target.value),placeholder:"Notes about this version...",className:"mt-1 border-[#e8ddd0] text-sm","data-testid":"input-snapshot-desc"})]}),e.jsx("div",{className:"bg-[#f5ebe0]/40 rounded-lg p-3 border border-[#e8ddd0]/60",children:e.jsxs("p",{className:"text-[10px] text-[#9a8b7a]",children:["This will save all ",l.length," element",l.length!==1?"s":""," currently on the layout."]})})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsx(Me,{onClick:li,disabled:ni||!gr.trim(),className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-confirm-save-version",children:ni?e.jsxs(e.Fragment,{children:[e.jsx(Re,{className:"w-4 h-4 mr-2 animate-spin"})," Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Ba,{className:"w-4 h-4 mr-2"})," Save Version"]})})]})]})}),e.jsx(Ze,{open:Ui,onOpenChange:is,children:e.jsxs(Xe,{className:"max-w-lg border-[#e8ddd0]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]","data-testid":"title-version-history",children:"Layout Versions"}),e.jsx(tt,{className:"text-[#9a8b7a] text-sm",children:"Restore a previous version of your venue layout. This replaces the whole floor plan, and saves the current one as a new version first. Versions marked Automatic were saved for you right before a template apply, a version restore, or a room removal."})]}),e.jsx("div",{className:"space-y-2 max-h-[400px] overflow-y-auto",children:ci.length===0?e.jsxs("div",{className:"text-center py-8",children:[e.jsx(wo,{className:"w-10 h-10 text-[#e8ddd0] mx-auto mb-3"}),e.jsx("p",{className:"text-sm text-[#9a8b7a]",children:"No saved versions yet"}),e.jsx("p",{className:"text-xs text-[#A8836F] mt-1",children:'Use "Save Version" to create a snapshot of your current layout'})]}):[...ci].reverse().map(g=>{const V=g.elements,ce=g.kind==="auto",Z=new Date(g.createdAt??Date.now());return e.jsx("div",{className:"border border-[#e8ddd0] rounded-lg p-3 hover:bg-[#f5ebe0]/30 transition-colors","data-testid":`snapshot-item-${g.id}`,children:e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx("h4",{className:"text-sm font-medium text-[#5a4a3a] truncate",children:g.name}),ce&&e.jsx("span",{className:"shrink-0 text-[9px] uppercase tracking-wide px-1.5 py-0.5 rounded bg-[#f5ebe0] text-[#A8836F]",children:"Automatic"})]}),(g.reason||g.description)&&e.jsx("p",{className:"text-xs text-[#9a8b7a] mt-0.5 truncate",children:g.reason||g.description}),e.jsxs("div",{className:"flex items-center gap-3 mt-1.5",children:[e.jsxs("span",{className:"text-[10px] text-[#A8836F] flex items-center gap-1",children:[e.jsx(wo,{className:"w-3 h-3"}),tn(Z)," ",Z.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})]}),e.jsxs("span",{className:"text-[10px] text-[#A8836F]",children:[g.rooms>0&&e.jsxs(e.Fragment,{children:[g.rooms," room",g.rooms!==1?"s":""," ·"," "]}),V," element",V!==1?"s":""]})]})]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx(F,{size:"sm",variant:"outline",className:"h-7 text-[10px] border-[#
42E9C9BB] text-[#E9C9BB] hover:bg-[#E9C9BB] hover:text-white",onClick:()=>as(g.id),disabled:Ts===g.id,"data-testid":`button-restore-${g.id}`,children:Ts===g.id?e.jsx(Re,{className:"w-3 h-3 animate-spin"}):e.jsxs(e.Fragment,{children:[e.jsx(_n,{className:"w-3 h-3 mr-1"})," Restore"]})}),e.jsx(F,{size:"icon","aria-label":"Delete",variant:"ghost",className:"h-7 w-7 text-[#A8836F] hover:text-red-500",onClick:()=>os(g.id),"data-testid":`button-delete-snapshot-${g.id}`,children:e.jsx($t,{className:"w-3 h-3"})})]})]})},g.id)})}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Close"})}),e.jsxs(Me,{onClick:()=>{is(!1),yr(!0)},className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a] text-xs","data-testid":"button-save-new-version",children:[e.jsx(Ba,{className:"w-3.5 h-3.5 mr-1"})," Save Current Layout"]})]})]})}),br&&e.jsx(Ze,{open:ls,onOpenChange:di,children:e.jsxs(Xe,{className:"max-w-md border-[#e8ddd0]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]","data-testid":"title-save-template",children:"Save as Venue Template"}),e.jsxs(tt,{className:"text-[#9a8b7a] text-sm",children:["Save all ",Gt.length," room",Gt.length!==1?"s":""," and their layouts as a reusable venue template you can apply to any future wedding."]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx(X,{className:"text-xs text-[#5a4a3a] font-medium",children:"Template Name"}),e.jsx(ye,{value:ns,onChange:g=>jr(g.target.value),placeholder:"e.g., Little Point Clear - Grand Ballroom",className:"mt-1 border-[#e8ddd0] text-sm","data-testid":"input-template-name"})]}),e.jsxs("div",{children:[e.jsx(X,{className:"text-xs text-[#5a4a3a] font-medium",children:"Description (optional)"}),e.jsx(ye,{value:As,onChange:g=>hi(g.target.value),placeholder:"Notes about this venue...",className:"mt-1 border-[#e8ddd0] text-sm","data-testid":"input-template-desc"})]}),e.jsx("div",{className:"bg-[#f5ebe0]/40 rounded-lg p-3 border border-[#e8ddd0]/60",children:e.jsxs("p",{className:"text-[10px] text-[#9a8b7a]",children:["Saves room dimensions (",Vi,"×",cs," ft) and ",l.length," element",l.length!==1?"s":"",". Tables and seating assignments are not included — only the venue layout."]})})]}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Cancel"})}),e.jsx(Me,{onClick:Ki,disabled:Ps||!ns.trim(),className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-confirm-save-template",children:Ps?e.jsxs(e.Fragment,{children:[e.jsx(Re,{className:"w-4 h-4 mr-2 animate-spin"})," Saving..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Pr,{className:"w-4 h-4 mr-2"})," Save Template"]})})]})]})}),br&&e.jsx(Ze,{open:Yi,onOpenChange:Fs,children:e.jsxs(Xe,{className:"max-w-lg border-[#e8ddd0]",children:[e.jsxs(Je,{children:[e.jsx(et,{className:"font-display text-[#5a4a3a]","data-testid":"title-load-template",children:"My Venue Templates"}),e.jsx(tt,{className:"text-[#9a8b7a] text-sm",children:"Apply a saved venue template to this wedding. This will replace all current rooms and venue elements."})]}),e.jsx("div",{className:"space-y-2 max-h-[400px] overflow-y-auto",children:ds.length===0?e.jsxs("div",{className:"text-center py-8 text-[#9a8b7a]",children:[e.jsx(Pr,{className:"w-8 h-8 mx-auto mb-2 opacity-30"}),e.jsx("p",{className:"text-sm",children:"No templates saved yet"}),e.jsx("p",{className:"text-xs mt-1 opacity-70",children:'Use "Save Current Layout as Template" below to save this layout for reuse on future weddings.'})]}):ds.map(g=>{let V=0,ce=0,Z="";try{if(g.roomsData){const he=JSON.parse(g.roomsData);ce=Array.isArray(he)?he.length:0,V=Array.isArray(he)?he.reduce((yt,Fe)=>yt+(Array.isArray(Fe.elements)?Fe.elements.length:0),0):0}else{const he=JSON.parse(g.elementsData);V=Array.isArray(he)?he.length:0}}catch{}try{if(!g.roomsData){const he=JSON.parse(g.roomConfig||"{}");he.roomWidthFt&&he.roomHeightFt&&(Z=`${he.roomWidthFt}×${he.roomHeightFt} ft`)}}catch{}return e.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg border border-[#e8ddd0] hover:bg-[#f5ebe0]/30 transition-colors","data-testid":`template-item-${g.id}`,children:[e.jsx("div",{className:"w-9 h-9 rounded-lg bg-[#E9C9BB]/10 flex items-center justify-center shrink-0",children:e.jsx(Pr,{className:"w-4 h-4 text-[#E9C9BB]"})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-[#5a4a3a] truncate",children:g.name}),e.jsxs("p",{className:"text-[10px] text-[#9a8b7a]",children:[ce>0&&e.jsxs("span",{className:"mr-2",children:[ce," room",ce!==1?"s":""]}),Z&&e.jsx("span",{className:"mr-2",children:Z}),V," element",V!==1?"s":"",g.description&&e.jsxs("span",{className:"ml-2",children:["· ",g.description]})]})]}),e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx(Me,{size:"sm",onClick:()=>xi(g.id),disabled:wr===g.id,className:"h-7 text-[10px] bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":`button-apply-template-${g.id}`,children:wr===g.id?e.jsx(Re,{className:"w-3 h-3 animate-spin"}):"Apply"}),e.jsx(F,{size:"icon","aria-label":"Delete",variant:"ghost",className:"h-7 w-7 text-[#9a8b7a] hover:text-red-500",onClick:()=>
42fi(g.id),"data-testid":`button-delete-template-${g.id}`,children:e.jsx($t,{className:"w-3 h-3"})})]})]},g.id)})}),e.jsxs(ft,{children:[e.jsx(pt,{asChild:!0,children:e.jsx(F,{variant:"outline",className:"text-xs border-[#e8ddd0]",children:"Close"})}),e.jsxs(Me,{onClick:()=>{Fs(!1),di(!0)},className:"bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a] text-xs","data-testid":"button-save-current-as-template",children:[e.jsx(Pr,{className:"w-3.5 h-3.5 mr-1"})," Save Current Layout as Template"]})]})]})})]})}function Fo(i){const{centerX:s,altarY:t,markerW:a,markerH:l,spacingY:o,withOfficiant:h,withCouple:p,officiant:f}=i,d=[],y=h||!!f;y&&d.push({elementType:"wedding_party_marker",label:f?f.name:"Officiant",x:Math.round(s-a/2),y:Math.round(t+10),width:a,height:l,color:f?"#d1c4e9":"#ddd6e6",rotation:0,...f?{weddingPartyMemberId:f.id}:{}});const k=t+(y?55:15);if(p)for(const[C,A,O]of[["Bride",-a-6,"#d5dde6"],["Groom",6,"#cdd8e4"]])d.push({elementType:"wedding_party_marker",label:C,x:Math.round(s+A),y:Math.round(k),width:a,height:l,color:O,rotation:0});return{elements:d,startY:k+(p?o+10:20)}}function lx({tables:i,assignments:s,weddingQueryParam:t,invalidateAll:a,weddingTitle:l,weddingDate:o,roomTitle:h,onRegisterExportPdf:p}){const f=Array.isArray(s)?s:[],{toast:d}=qo(),{canEdit:y,isLoading:k}=gn("venue-layout"),C=$.useRef(null),A=$.useRef(null),O=$.useRef(null),ie=t?Number(t.replace("?weddingId=","")):void 0,{data:de}=bs({queryKey:["/api/wedding-details-id",ie??null],queryFn:async()=>{if(ie)return ie;const r=await z("GET","/api/wedding-details");return r.ok?(await r.json())?.id??null:null},staleTime:1e3*60*5}),E=ie??de??void 0,rt=Hl(E),[L,be]=$.useState(null),[Ir,er]=$.useState("100"),[tr,sr]=$.useState("70"),[At,Zt]=$.useState(!1),[dt,mt]=$.useState(!0),[rr,zi]=$.useState(!0),[ht,Ri]=$.useState(!1),[it,$s]=$.useState(24),[at,vs]=$.useState(!0),[Ms,Pt]=$.useState(!1),[_s,zr]=$.useState(""),[Gi,ir]=$.useState(!1),[Rr,Gr]=$.useState(!1),[Xt,ar]=$.useState(""),[Hr,or]=$.useState(!1),Cs=$.useRef(null),{data:lr=[],isLoading:qr}=bs({queryKey:["/api/venue-rooms",E],queryFn:async()=>{const r=await z("GET",`/api/venue-rooms?weddingId=${E}`);if(!r.ok)return console.warn(`[venue-rooms] API returned ${r.status} for weddingId=${E}`),[];const c=await r.json();return Array.isArray(c)?c:(console.warn("[venue-rooms] Unexpected response shape, expected array"),[])},enabled:!!E}),Ve=$.useMemo(()=>Array.isArray(lr)?lr:[],[lr]),Ns=Oe({mutationFn:r=>z("POST",`/api/venue-rooms?weddingId=${r.weddingId}`,r),onSuccess:async r=>{const c=await r.json();G.refetchQueries({queryKey:["/api/venue-rooms",E]}),be(c.id)}}),Ge=Oe({mutationFn:r=>z("PUT",`/api/venue-rooms/${r.id}`+t,r.updates),onSuccess:()=>{G.refetchQueries({queryKey:["/api/venue-rooms",E]})}}),[nr,cr]=$.useState(!1),Hi=async()=>{const r=O.current;if(!r)return null;const c=r.style.transform;r.style.transform="none";const u=r.querySelector('[data-floor-plan-image="true"]');u&&(u.style.display="none");const x=dt?20:0,m=document.createElement("div");m.style.cssText=`
43      position: absolute; bottom: 8px; left: 8px; z-index: 10;
44      background: rgba(255,255,255,0.9); border: 1px solid #e8ddd0;
45      border-radius: 4px; padding: 2px 6px; display: flex; align-items: center; gap: 6px;
46    `;const b=document.createElement("div");b.style.cssText="display: flex; flex-direction: column; align-items: center;";const v=document.createElement("div");v.style.cssText=`width: ${5*je}px; height: 2px; background: #5a4a3a; border-radius: 1px;`;const M=document.createElement("span");M.style.cssText="font-size: 10px; color: #5a4a3a; font-weight: 500;
46 margin-top: 1px; font-family: sans-serif;",M.textContent="5 ft",b.appendChild(v),b.appendChild(M),m.appendChild(b),r.appendChild(m);try{const{default:w}=await wa(async()=>{const{default:B}=await import("./html2canvas.esm-CPhbygsy.js");return{default:B}},[]);return(await w(r,{backgroundColor:"#ffffff",scale:2,useCORS:!0,logging:!1,removeContainer:!0,x:-x,y:-x,width:Ae+x+24,height:we+x+24})).toDataURL("image/png")}finally{r.removeChild(m),r.style.transform=c,u&&(u.style.display="")}},Jt=async()=>{let r=Ve;if(r.length===0){if(!E){d({title:"No wedding selected",variant:"destructive"});return}if(!y){d({title:"This layout isn't ready to export yet",description:"It can be exported once someone who edits the layout has opened it."});return}try{r=[await(await Ns.mutateAsync({name:h||"Main Room",weddingId:E})).json()]}catch(N){d({title:"Couldn't prepare room for export",description:Qt(N),variant:"destructive"});return}}cr(!0),Ce(null),xt(null);const c={primary:"#5a4a3a",secondary:"#9a8b7a",accent:"#E9C9BB",light:"#f5ebe0",border:"#e8ddd0",muted:"#b8a898",white:"#ffffff"},u=l||"Wedding Floor Plan";let x=null;o&&(x=ho(o,{month:"long",day:"numeric",year:"numeric"})||o);const[m,b,v]=await Promise.all([sn(),z("GET","/api/crm/settings").then(N=>N.json()).catch(()=>null),z("GET","/api/white-label/status").then(N=>N.json()).catch(()=>null)]),M={brandName:b?.businessName||void 0,logoUrl:b?.logoUrl||null,brandColor:b?.brandColor||null},w=await rn(M.logoUrl||null);try{const N={};await Promise.all(r.map(async _=>{const T=await(await z("GET",`/api/venue-elements?weddingId=${E}&roomId=${_.id}`)).json();N[_.id]=T,G.setQueryData(["/api/venue-elements",E,_.id],T)}));const{jsPDF:B}=await wa(async()=>{const{jsPDF:_}=await import("./jspdf-BCiLvle7.js").then(D=>D.j);return{jsPDF:_}},__vite__mapDeps([0,1,2,3,4])),{default:W}=await wa(async()=>{const{default:_}=await import("./jspdf-BCiLvle7.js").then(D=>D.b);return{default:_}},__vite__mapDeps([0,1,2,3,4])),j=new B({orientation:"portrait",unit:"pt",format:"letter"});an(j,{coupleNames:u,dateStr:x,sectionTitle:"Venue Layout",branding:M,isPreparer:!0,design:m?.design,fontStyle:m?.fontStyle,textColor:m?.textColor,bgColor:m?.bgColor,fontSize:m?.fontSize,font:m?.font,showLogo:m?.showLogo,preparedByOverride:m?.preparedByOverride,photoLayout:m?.photoLayout,logoBase64:w?.base64??void 0,logoNaturalWidth:w?.naturalWidth,logoNaturalHeight:w?.naturalHeight,whiteLabelEnabled:v?.enabled??!1});const S=[...r].sort((_,D)=>_.sortOrder-D.sortOrder),P=L,K=()=>new Promise(_=>{requestAnimationFrame(()=>requestAnimationFrame(()=>_()))});for(const _ of S){be(_.id),await G.ensureQueryData({queryKey:["/api/venue-elements",E,_.id],queryFn:()=>z("GET",`/api/venue-elements?weddingId=${E}&roomId=${_.id}`).then(ne=>ne.json())}),await K(),await new Promise(ne=>setTimeout(ne,150)),j.addPage("letter","landscape");const D=j.internal.pageSize.getWidth(),T=j.internal.pageSize.getHeight();let Y=on(j,u,x);j.setFont("times","normal"),j.setFontSize(14),j.setTextColor(c.primary),j.text(_.name||"Unnamed Room",20,Y),j.setFont("helvetica","normal"),j.setFontSize(9),j.setTextColor(c.secondary);const I=_.widthFt*_.heightFt;j.text(`${_.widthFt} × ${_.heightFt} ft  ·  ${I.toLocaleString()} sq ft`,D-20,Y,{align:"right"}),Y+=8;const H=N[_.id]||[],U=H.length,J=H.filter(ne=>Vs.includes(ne.elementType)).length,xe=H.reduce((ne,Te)=>ne+Bt(Te),0);Y+=4,j.setFontSize(8);const me=Y;let ae=30;j.setFont("helvetica","normal"),j.setTextColor(c.secondary),j.text("Total Elements: ",ae,me),ae+=j.getTextWidth("Total Elements: "),j.setFont("helvetica","bold"),j.setTextColor(c.primary),j.text(String(U),ae,me),ae+=j.getTextWidth(String(U))+20,j.setFont("helvetica","normal"),j.setTextColor(c.secondary),j.text("Tables: ",ae,me),ae+=j.getTextWidth("Tables: "),j.setFont("helvetica","bold"),j.setTextColor(c.primary),j.text(String(J),ae,me),ae+=j.getTextWidth(String(J))+20,j.setFont("helvetica","normal"),j.setTextColor(c.secondary),j.text("Total Seats: ",ae,me),ae+=j.getTextWidth("Total Seats: "),j.setFont("helvetica","bold"),j.setTextColor(c.primary),j.text(String(xe),ae,me),Y+=12;const ee=30,se=30,le=Y+4,re=T-le-60,Be=D-ee-se,ke=await Hi();if(ke){const ne=_.widthFt*je,Te=_.heightFt*je,qs=Be/ne,gs=re/Te,Yt=Math.min(qs,gs),Us=ne*Yt,Dr=Te*Yt,Br=ee+(Be-Us)/2,Tr=le,ba=Wo(_.floorStyle).color,zl=parseInt(ba.slice(1,3),16),Rl=parseInt(ba.slice(3,5),16),Gl=parseInt(ba.slice(5,7),16);j.setFillColor(zl,Rl,Gl),j.rect(Br,Tr,Us,Dr,"F"),j.addImage(ke,"PNG",Br,Tr,Us,Dr),j.setDrawColor(c.border),j.setLineWidth(.5),j.rect(Br,Tr,Us,Dr)}const fe={};for(const ne of Er)for(const Te of ne.items)fe[Te.type]=Te.label;const Qe={round_table_8:"Round Table",round_table_10:"Round Table",round_table_6:"Round Table",rect_table_8:"Rectangle Table",rect_table_6:"Rectangle Table",rect_table_12:"Long Table",sweetheart_table:"Sweetheart Table",head_table:"Head Table",serpentine_table:"Serpentine Table",curved_head_table:"Curved Head Table",u_shape_table:"U-Shape Table",l_shape_table:"L-Shape Table",cocktail_table:"Cocktail Table",cocktail_table_round:"Cocktail Table",half_round:"Half-Round Table",kids_table:"Kids Table",cake_table:"Cake Table",gift_table:"Gift Table",food_table:"Food Table",dessert_table:"Dessert Table",favor_table:"Favor Table",escort_card_display:"Escort Card Display",signin_table:"Sign-in Table",coffee_table_round:"Coffee Table",coffee_table_square:"Coffee Table",coffee_table_rect:"Coffee Table",nesting_tables:"Nesting Tables"},Kt=le+re+6;H.length>0&&(j.setFont("times","bold"),j.setFontSize(10),j.setTextColor(c.primary),j.text(`Tables (${H.length})`,40,Kt),W(j,{startY:Kt+6,head:[["Label","Type","Size","Seats"]],body:H.map(ne=>{const Te=ne.label||fe[ne.elementType]||ne.elementType.replace(/_/g," ").replace(/\b\w/g,Si=>Si.toUpperCase()),qs=Qe[ne.elementType]||ne.elementType.replace(/_/g," ").replace(/\b\w/g,Si=>Si.toUpperCase()),gs=ne.width/je,Yt=ne.height/je,Us=gs%1===0?gs.toFixed(0):gs.toFixed(1),Dr=Yt%1===0?Yt.toFixed(0):Yt.toFixed(1),Br=`${Us}' x ${Dr}'`,Tr=Bt(ne);return[Te,qs,Br,String(Tr)]}),margin:{left:40,right:40},styles:{fontSize:6.5,cellPadding:2,textColor:c.primary,lineColor:"#ece6dc",lineWidth:.1},headStyles:{fillColor:"#faf6f0",textColor:c.secondary,fontStyle:"normal",lineWidth:0,fontSize:6.5},alternateRowStyles:{fillColor:"#fdfcfa"},columnStyles:{2:{cellWidth:50,halign:"center"},3:{cellWidth:35,halign:"center"}},didParseCell:ne=>{if(ne.section==="body"&&ne.column.index===3){const Te=ne.row.raw;parseInt(Te[3]||"0")>0?ne.cell.styles.textColor="#8B6914":ne.cell.styles.textColor=c.muted}}}))}P&&be(P);const R=j.getNumberOfPages();for(let _=2;_<=R;_++){j.setPage(_);const D=j.internal.pageSize.getWidth(),T=j.internal.pageSize.getHeight();j.setDrawColor("#ece6dc"),j.setLineWidth(.2),j.line(20,T-20,D-20,T-20),j.setFont("helvetica","normal"),j.setFontSize(6),j.setTextColor("#c4b8a8"),rt&&j.text(rt,20,T-12),j.text(`${_-1} / ${R-1}`,D/2,T-12,{align:"center"}),j.text(`Generated ${qn(new Date,"MMM d, yyyy")}`,D-20,T-12,{align:"right"})}j.save(`${l?.replace(/\s+/g,"_")||"Wedding"}
46_Venue_Layout.pdf`),d({title:"PDF exported",description:"Check your downloads for the venue layout PDF."})}catch(N){console.error("PDF Export Error:",N),d({title:"Export failed",description:"Could not generate the venue layout PDF. Please try again.",variant:"destructive"})}finally{cr(!1)}},qi=Oe({mutationFn:r=>z("DELETE",`/api/venue-rooms/${r}`+t),onSuccess:()=>{G.refetchQueries({queryKey:["/api/venue-rooms",E]}),G.refetchQueries({queryKey:["/api/venue-elements",E,L]}),be(null)}}),dr=$.useRef(null);$.useEffect(()=>{Ve.length>0&&(L===null||!Ve.find(r=>r.id===L))&&be(Ve[0].id),Ve.length===0&&!qr&&!k&&y&&E&&dr.current!==E&&(dr.current=E,Ns.mutate({name:h||"Main Room",weddingId:E}))},[L,y,Ns,k,h,Ve,qr,E]);const oe=Ve.find(r=>r.id===L),Ke=oe?.widthFt??100,De=oe?.heightFt??70,vt=oe?.name??"Main Room";$.useEffect(()=>{oe&&(er(String(oe.widthFt)),sr(String(oe.heightFt)))},[oe]);const Ae=Ke*je,we=De*je,[Mt,_t]=$.useState(.7),[Ss,Ur]=$.useState({x:20,y:20}),[te,hr]=$.useState(null),[He,xr]=$.useState(!1),Ft=$.useRef({x:0,y:0}),[_e,Ce]=$.useState(null),[Vr,Kr]=$.useState("tables"),[Yr,Qr]=$.useState(!0),[Ws,fr]=$.useState(""),[pr,qe]=$.useState(null),Lt=$.useRef(null),[ot,Ds]=$.useState(!1),[Ot,Zr]=$.useState(""),[Et,Xr]=$.useState(""),[es,Jr]=$.useState(""),[Ct,ve]=$.useState(""),[ei,mr]=$.useState(0),[Nt,ti]=$.useState(null),[It,ts]=$.useState(100),[ss,zt]=$.useState([]),[ur,Rt]=$.useState(!1),[rs,ut]=$.useState(""),[si,Bs]=$.useState(!1),[ri,yr]=$.useState(""),[gr,ii]=$.useState(8),[ai,oi]=$.useState("round"),[li,ni]=$.useState(null),[Ui,is]=$.useState(null),[ci,as]=$.useState(!1),[Ts,os]=$.useState(""),[br,ls]=$.useState(""),[di,ns]=$.useState(""),[jr,As]=$.useState(""),[hi,Gt]=$.useState(null),[Vi,cs]=$.useState(null),[Ki,Ps]=$.useState(!1),[Yi,Fs]=$.useState(!1),[ds,xi]=$.useState(""),[wr,fi]=$.useState(""),[Pe,Ht]=$.useState(!1),[Qi,Zi]=$.useState(null),[kr,g]=$.useState(!1),[V,ce]=$.useState(!1),[Z,he]=$.useState(""),[yt,Fe]=$.useState(""),[pi,$r]=$.useState(!1),[Ls,vr]=$.useState(null),[Os,qt]=$.useState(null),{data:hs}=ql(),{previewRole:Ut}=Ul(),xs=Ut||hs?.role,Es=y&&(xs==="planner"||xs==="photographer"||xs==="admin"&&!Ut),{data:Is=[]}=bs({queryKey:["/api/planner-venue-templates"],enabled:Es}),[mi,fs]=$.useState(!1),[zs,Ne]=$.useState(100),[ps,ui]=$.useState(8),[gt,Mr]=$.useState("round"),[yi,Xi]=$.useState(48),[ms,Ji]=$.useState(!0),[_r,Aa]=$.useState(!1),[ea,gi]=$.useState(!1),[Vo,bi]=$.useState(!1),[Ko,ta]=$.useState(!1),[Yo,Pa]=$.useState(null),[Cr,sa]=$.useState(""),[Rs,Fa]=$.useState("Bridesmaid"),[Gs,ra]=$.useState("bride"),[ia,aa]=$.useState(!1),[La,Oa]=$.useState(4),[Ea,Ia]=$.useState(4),[oa,Qo]=$.useState(!0),[la,Zo]=$.useState(!0),[Nr,Xo]=$.useState("staggered"),{data:lt=[]}=bs({queryKey:["/api/wedding-party",t],queryFn:()=>z("GET",`/api/wedding-party${t}`).then(r=>r.json()).then(r=>Array.isArray(r)?r:[])}),za=/officiant|pastor|priest|rabbi|minister|celebrant|judge/i,bt=$.useMemo(()=>{const r=lt.filter(m=>!za.test(m.role||"")),c=m=>r.filter(b=>b.side===m).sort((b,v)=>b.order-v.order||b.id-v.id);let u=c("bride"),x=c("groom");if(r.length>=2&&(u.length===0||x.length===0)){const m=[...u,...x],b=Math.ceil(m.length/2);u=m.slice(0,b),x=m.slice(b)}return{bride:u,groom:x}},[lt]);$.useEffect(()=>{ea&&(bt.bride.length===0&&bt.groom.length===0||(Oa(bt.bride.length),Ia(bt.groom.length)))},[ea,bt]);const ge=$.useMemo(()=>["/api/venue-elements",E,L],[L,E]),{data:na=[]}=bs({queryKey:ge,queryFn:()=>z("GET",`/api/venue-elements?weddingId=${E}&roomId=${L}`).then(r=>r.json()),enabled:!!E&&!!L}),Q=$.useMemo(()=>Array.isArray(na)?na:[],[na]),{data:Ra=[],isFetched:Ga}=bs({queryKey:["/api/venue-elements",E,"all-rooms"],queryFn:()=>z("GET",`/api/venue-elements?weddingId=${E}`).then(r=>r.json()),enabled:!!E,staleTime:1e4}),St=$.useRef([]),us=$.useRef([]),[Jo,ji]=$.useState(0),[el,wi]=$.useState(0),[Vt,Ha]=$.useState(!1);$.useEffect(()=>{St.current=[],us.current=[],ji(0),wi(0)},[E,L]);const Ye=$.useCallback(r=>{Vt||(St.current=[...St.current.slice(-29),r.map(c=>({...c}))],us.current=[],ji(St.current.length),wi(0))},[Vt]),ki=$.useCallback(async r=>{if(L){Ha(!0),G.setQueryData(ge,r);try{const u=await(await z("POST","/api/venue-elements/bulk-restore"+t,{roomId:L,elements:r})).json();G.setQueryData(ge,u)}catch{G.refetchQueries({queryKey:ge})}finally{Ha(!1)}}},[ge,t,L]),ca=$.useCallback(async()=>
46{if(St.current.length===0||Vt)return;const r=St.current.pop();us.current.push(Q.map(c=>({...c}))),ji(St.current.length),wi(us.current.length),await ki(r)},[Q,Vt,ki]),da=$.useCallback(async()=>{if(us.current.length===0||Vt)return;const r=us.current.pop();St.current.push(Q.map(c=>({...c}))),ji(St.current.length),wi(us.current.length),await ki(r)},[Q,Vt,ki]),ha="/api/venue-layout-snapshots"+t,{data:xa=[]}=bs({queryKey:[ha]}),tl=async()=>{if(ds.trim()){Ht(!0);try{await z("POST","/api/venue-layout-snapshots"+t,{name:ds.trim(),description:wr.trim()||null}),G.refetchQueries({queryKey:[ha]}),d({title:"Version Saved",description:`"${ds.trim()}" has been saved`}),Fs(!1),xi(""),fi("")}catch(r){d({title:"Couldn’t complete that",description:Qt(r),variant:"destructive"})}finally{Ht(!1)}}},sl=async r=>{Zi(r);try{const u=await(await z("POST",`/api/venue-layout-snapshots/${r}/restore`+t)).json();if(G.refetchQueries({queryKey:["/api/venue-rooms",E]}),G.refetchQueries({queryKey:ge}),Array.isArray(u.roomIds)&&u.roomIds.length>0)be(u.roomIds[0]);else if(u.roomConfig&&L){const x={};u.roomConfig.roomWidthFt&&(x.widthFt=u.roomConfig.roomWidthFt),u.roomConfig.roomHeightFt&&(x.heightFt=u.roomConfig.roomHeightFt),Object.keys(x).length>0&&Ge.mutate({id:L,updates:x})}d({title:"Layout Restored",description:u.message}),Ce(null),Ps(!1)}catch(c){d({title:"Couldn’t complete that",description:Qt(c),variant:"destructive"})}finally{Zi(null)}},rl=async r=>{try{await z("DELETE",`/api/venue-layout-snapshots/${r}`+t),G.refetchQueries({queryKey:[ha]}),d({title:"Version Deleted"})}catch(c){d({title:"Couldn’t complete that",description:Qt(c),variant:"destructive"})}},qa=Oe({mutationFn:r=>z("POST","/api/venue-elements"+t,r),onMutate:()=>{Ye(Q)},onSuccess:()=>{G.refetchQueries({queryKey:ge}),G.refetchQueries({queryKey:["/api/venue-elements",E,"all-rooms"]}),a()},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})});$.useRef(!1);const Ue=Oe({mutationFn:r=>z("PUT",`/api/venue-elements/${r.id}`+t,r.updates),onMutate:async r=>{await G.cancelQueries({queryKey:ge});const c=G.getQueryData(ge);return c&&G.setQueryData(ge,u=>(u||[]).map(x=>x.id===r.id?{...x,...r.updates}:x)),{prev:c}},onSuccess:()=>{G.refetchQueries({queryKey:ge})},onError:(r,c,u)=>{u?.prev&&G.setQueryData(ge,u.prev),d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}}),$i=Oe({mutationFn:r=>z("DELETE",`/api/venue-elements/${r}`+t),onMutate:()=>{Ye(Q)},onSuccess:()=>{G.refetchQueries({queryKey:ge}),Ce(null),d({title:"Removed"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),[nt,xt]=$.useState(null),[il,Ua]=$.useState(!1),[al,Va]=$.useState(100),Hs=$.useMemo(()=>nt?Q.filter(r=>r.groupId===nt):[],[nt,Q]);$.useMemo(()=>{const r=new Map;for(const c of Q)if(c.groupId){const u=r.get(c.groupId)||[];u.push(c),r.set(c.groupId,u)}return r},[Q]);const Ka=Oe({mutationFn:r=>z("POST","/api/venue-elements/ungroup"+t,{groupId:r}),onMutate:()=>{Ye(Q)},onSuccess:()=>{G.refetchQueries({queryKey:ge}),xt(null),Ce(null),d({title:"Ungrouped",description:"Elements can now be edited individually"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),Ya=Oe({mutationFn:r=>z("DELETE",`/api/venue-elements/group/${encodeURIComponent(r)}`+t),onMutate:()=>{Ye(Q)},onSuccess:()=>{G.refetchQueries({queryKey:ge}),xt(null),Ce(null),d({title:"Group Deleted"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),vi=Oe({mutationFn:r=>z("PUT",`/api/seating-tables/${r.id}`+t,{x:r.x,y:r.y}),onSuccess:()=>a()}),Qa=Oe({mutationFn:r=>z("PUT",`/api/seating-tables/${r.id}`+t,r.updates),onSuccess:()=>{a(),d({title:"Table updated"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),{deleteWithUndo:fa}=Ql({endpoint:"/api/seating-tables",queryKeys:[],itemLabel:"Table",urlSuffix:t,onDeleted:a});$.useEffect(()=>{const r=c=>{if((c.metaKey||c.ctrlKey)&&c.key==="z"&&!c.shiftKey&&(c.preventDefault(),ca()),(c.metaKey||c.ctrlKey)&&
46(c.key==="y"||c.key==="z"&&c.shiftKey)&&(c.preventDefault(),da()),(c.key==="Delete"||c.key==="Backspace")&&_e){const u=c.target?.tagName;if(u==="INPUT"||u==="TEXTAREA"||u==="SELECT"||c.target?.isContentEditable)return;c.preventDefault(),_e.kind==="table"?(Ce(null),fa(_e.id)):_e.kind==="element"&&$i.mutate(_e.id)}};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[ca,da,_e,fa,$i]);const Za=Oe({mutationFn:r=>z("POST","/api/seating-assignments"+t,r),onSuccess:()=>{a(),as(!1),os(""),ls(""),ns(""),d({title:"Guest added"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),ol=Oe({mutationFn:r=>z("PUT",`/api/seating-assignments/${r.id}`+t,r.updates),onSuccess:()=>{a(),d({title:"Guest moved"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),Xa=Oe({mutationFn:r=>z("DELETE",`/api/seating-assignments/${r}`+t),onSuccess:()=>{a(),d({title:"Guest removed"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),Mi=Oe({mutationFn:async({elementId:r,tableId:c})=>{const u=c?{tableId:c}:void 0;return(await z("POST",`/api/venue-elements/${r}/link-table`+t,u)).json()},onSuccess:r=>{a(),G.refetchQueries({queryKey:["/api/venue-elements",E,L]}),G.refetchQueries({queryKey:["/api/venue-elements",E,"all-rooms"]}),is(null),d({title:"Linked to seating chart",description:`Table "${r.table.tableName}" is now connected.`})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})}),Ja=Oe({mutationFn:async r=>{await z("POST",`/api/venue-elements/${r}/unlink-table`+t)},onSuccess:()=>{a(),G.refetchQueries({queryKey:["/api/venue-elements",E,L]}),G.refetchQueries({queryKey:["/api/venue-elements",E,"all-rooms"]}),d({title:"Unlinked from seating chart"})},onError:r=>d({title:"Couldn’t complete that",description:r.message,variant:"destructive"})});function _i(r){return f.filter(c=>c.tableId===r)}function Wt(r){return r.linkedTableId?_i(r.linkedTableId).length:0}function Se(r,c){return r<c?{fill:"#d4ad94",stroke:"#b8907a"}:{fill:"#e4d8ca",stroke:"#c8b8a4"}}const ll=f.filter(r=>r.tableId===null),Le=_e?.kind==="table"?i.find(r=>r.id===_e.id):null,q=_e?.kind==="element"?Q.find(r=>r.id===_e.id):null,Sr=Le?_i(Le.id):[];$.useEffect(()=>{qe(null),Lt.current&&clearTimeout(Lt.current)},[_e?.id]);const pa=$.useRef(!1),nl=$.useCallback((r,c)=>{pa.current||(Ye(Q),pa.current=!0),qe(r),Lt.current&&clearTimeout(Lt.current),Lt.current=setTimeout(()=>{Ue.mutate({id:c,updates:{rotation:r}}),qe(null),pa.current=!1},300)},[Ue,Ye,Q]),ys=$.useCallback(r=>pr!==null&&_e?.kind==="element"&&_e.id===r.id?pr:r.rotation,[pr,_e]);function ma(r){return"touches"in r&&r.touches.length>0?{cx:r.touches[0].clientX,cy:r.touches[0].clientY}:"clientX"in r?{cx:r.clientX,cy:r.clientY}:{cx:0,cy:0}}const Wr=$.useCallback(r=>ht?Math.round(r/it)*it:r,[ht,it]),jt=$.useRef(null),eo=$.useCallback((r,c,u,x,m)=>{r.preventDefault(),r.stopPropagation();const{cx:b,cy:v}=ma(r);if(hr({kind:c,id:u,startX:b,startY:v,origX:x,origY:m}),c==="element"&&Ye(Q),c==="element"){const M=Q.find(w=>w.id===u);if(M?.groupId){const w=Q.filter(N=>N.groupId===M.groupId);jt.current=w.map(N=>({id:N.id,origX:N.x,origY:N.y}))}else jt.current=null}else jt.current=null},[Ye,Q]),to=$.useCallback(r=>{const c=r.target;if(c.dataset.canvas==="true"||c===C.current){Ce(null),xt(null);const{cx:u,cy:x}=ma(r);xr(!0),Ft.current={x:u,y:x}}},[]),so=$.useCallback(r=>{const{cx:c,cy:u}=ma(r);if(te){r.preventDefault();const x=(c-te.startX)/Mt,m=(u-te.startY)/Mt;if(jt.current&&jt.current.length>1)for(const b of jt.current){const v=document.getElementById(`fp-item-element-${b.id}`);if(v){const M=Math.max(0,Math.min(Ae-20,Wr(b.origX+x))),w=Math.max(0,Math.min(we-20,Wr(b.origY+m))),N=v.dataset.rotation;v.style.transform=`translate(${M}px, ${w}px)${N?` rotate(${N}deg)`:""}`,v.dataset.nx=String(Math.round(M)),v.dataset.ny=String(Math.round(w))}}else{const b=document.getElementById(`fp-item-${te.kind}-${te.id}`);if(b){const v=Math.max(0,Math.min(Ae-20,Wr(te.origX+x))),M=Math.max(0,Math.min(we-20,Wr(te.origY+m))),w=b.dataset.rotation;b.style.transform=`translate(${v}px, ${M}px)${w?` rotate(${w}deg)`:""}`,b.dataset.nx=String(Math.round(v)),b.dataset.ny=String(Math.round(M))}}}else if(He){const x=c-Ft.current.x,m=u-Ft.current.y;Ur(b=>({x:b.x+x,y:b.y+m})),Ft.current={x:c,y:u}}},[te,Mt,He,Ae,we,Wr]),ua=$.useCallback(()=>
46{if(te){if(jt.current&&jt.current.length>1){for(const r of jt.current){const c=document.getElementById(`fp-item-element-${r.id}`);if(c&&c.dataset.nx!=null&&c.dataset.ny!=null){const u=parseInt(c.dataset.nx),x=parseInt(c.dataset.ny);(u!==r.origX||x!==r.origY)&&Ue.mutate({id:r.id,updates:{x:u,y:x}})}}jt.current=null}else{const r=document.getElementById(`fp-item-${te.kind}-${te.id}`);if(r&&r.dataset.nx!=null&&r.dataset.ny!=null){const c=parseInt(r.dataset.nx),u=parseInt(r.dataset.ny);(c!==te.origX||u!==te.origY)&&(te.kind==="table"?vi.mutate({id:te.id,x:c,y:u}):Ue.mutate({id:te.id,updates:{x:c,y:u}}))}}hr(null)}He&&xr(!1)},[te,He,vi,Ue]);$.useEffect(()=>{const r=c=>{!c.ctrlKey&&!c.metaKey||C.current?.contains(c.target)&&(c.preventDefault(),_t(u=>Math.max(.2,Math.min(2.5,u+(c.deltaY>0?-.06:.06)))))};return window.addEventListener("wheel",r,{passive:!1}),()=>window.removeEventListener("wheel",r)},[]),$.useEffect(()=>{const r=()=>{if(te){const c=document.getElementById(`fp-item-${te.kind}-${te.id}`);if(c&&c.dataset.nx!=null&&c.dataset.ny!=null){const u=parseInt(c.dataset.nx),x=parseInt(c.dataset.ny);(u!==te.origX||x!==te.origY)&&(te.kind==="table"?vi.mutate({id:te.id,x:u,y:x}):Ue.mutate({id:te.id,updates:{x:u,y:x}}))}hr(null)}He&&xr(!1)};return window.addEventListener("mouseup",r),window.addEventListener("touchend",r),window.addEventListener("touchcancel",r),()=>{window.removeEventListener("mouseup",r),window.removeEventListener("touchend",r),window.removeEventListener("touchcancel",r)}},[te,He,vi,Ue]);function cl(r){if(!L){d({title:"Room not ready",description:"Please wait for the room to load before adding furniture",variant:"destructive"});return}const c=C.current?.getBoundingClientRect(),u=c?.width||800,x=c?.height||600,m=(-Ss.x+u/2)/Mt-r.w/2+(Math.random()-.5)*60,b=(-Ss.y+x/2)/Mt-r.h/2+(Math.random()-.5)*60;qa.mutate({elementType:r.type,label:r.label,x:Math.round(Math.max(10,Math.min(Ae-r.w-10,m))),y:Math.round(Math.max(10,Math.min(we-r.h-10,b))),width:Math.round(r.w),height:Math.round(r.h),color:r.color,rotation:0,roomId:L}),d({title:`Added ${r.label}`,description:"Drag to position it"})}function dl(r){qa.mutate({elementType:r.elementType,label:r.label,x:r.x+30,y:r.y+30,width:r.width,height:r.height,color:r.color||void 0,rotation:r.rotation,roomId:L}),d({title:"Duplicated"})}async function hl(){Aa(!0);const r=zs,c=ps,u=Math.ceil(r/c),x=yi,m={round_6:{type:"round_table_6",w:96,h:96},round_8:{type:"round_table_8",w:120,h:120},round_10:{type:"round_table_10",w:132,h:132},rect_6:{type:"rect_table_6",w:72,h:84},rect_8:{type:"rect_table_8",w:96,h:84},rect_12:{type:"rect_table_12",w:144,h:84}};let b;gt==="round"?b=c<=6?"round_6":c<=8?"round_8":"round_10":gt==="rectangle"?b=c<=6?"rect_6":c<=8?"rect_8":"rect_12":b="round_8";const v=m[b],M=v.w,w=v.h,N=Math.max(2,Math.ceil(Math.sqrt(u*(M+x)/(w+x)))),B=Math.ceil(u/N),W=N*(M+x)-x,j=B*(w+x)-x,S=ms?216:0,P=ms?60:0,K=Math.round(Ae/2-(W+(ms?S+P:0))/2),R=Math.round(we/2-j/2),_={t:Date.now(),style:gt,spt:c,sp:x,df:ms?1:0},D=`tg_${btoa(JSON.stringify(_)).replace(/=/g,"")}`,T=[];let Y=0;for(let I=0;I<B;I++)for(let H=0;H<N&&Y<u;H++){let U=v.type,J=M,xe=w;if(gt==="mixed")if((I+H)%3===0){const se=c<=6?"rect_6":c<=8?"rect_8":"rect_12",le=m[se];U=le.type,J=le.w,xe=le.h}else{const se=c<=6?"round_6":c<=8?"round_8":"round_10",le=m[se];U=le.type,J=le.w,xe=le.h}Y++;const me=K+H*(M+x)+M/2,ae=R+I*(w+x)+w/2;T.push({elementType:U,label:`Table ${Y}`,x:Math.round(me-J/2),y:Math.round(ae-xe/2),width:J,height:xe,color:"#f5ebe0",rotation:0})}ms&&T.push({elementType:"dance_floor",label:"Dance Floor",x:Math.round(K+W+P),y:Math.round(we/2-S/2),width:S,height:S,color:"#e0d4c8",rotation:0});for(const I of T)await z("POST","/api/venue-elements"+t,{...I,groupId:D,roomId:L});G.refetchQueries({queryKey:ge}),Aa(!1),fs(!1),xt(D),d({title:`Placed ${u} tables for ${r} guests`,description:`${gt} layout with ${c} seats per table`})}function ro(){const r=Q.find(x=>x.elementType==="ceremony_altar"||x.elementType==="arbor"||x.elementType==="arbor_round"||x.elementType==="arbor_hexagonal"||x.elementType==="arbor_triangle"||x.elementType==="chuppah"||x.elementType==="mandap"||x.elementType==="gazebo"||x.elementType==="pergola"||x.elementType==="officiant_stand"),c=r?r.x+r.width/2:Ae/2,u=r?r.y+r.height:200;return{centerX:c,altarY:u}}function Ci(r,c,u,x,m,b,v,M,w){const N=[],B=r==="bride"?-1:1;for(let W=0;W<c;W++){let j,S,P=0;switch(w){case"angled":{j=u+B*(v+W*v)-m/2,S=x+W*M*.25,P=B*(5+W*1.5);break}case"two_rows":{const K=W<Math.ceil(c/2)?0:1,R=K===0?W:W-Math.ceil(c/2),_=K===1?v*.5:0;j=u+B*(v+R*v+_)-m/2,S=x+K*(M+8);break}case"curved":{const K=Math.PI*.35,R=c>1?K:0,_=c>1?-R/2+W/(c-1)*R:0,D=v*2.2+W*6;j=u+B*Math.cos(_)*D-m/2,S=x+Math.sin(_)*D*.5+W*4,P=B*(_*180/Math.PI)*.3;break}default:{j=u+B*(v+W*v)-m/2,S=x+(W%2===0?0:M*.4);break}}N.push({x:Math.round(j),y:Math.round(S),rotation:Math.round(P)})}return N}async function xl(){if(lt.length===0){d({title:"No Wedding Party Members",description:"Add members on the Wedding Party page first",variant:"destructive"});return}bi(!0),Ye(Q);const r=`wp_${Date.now()}`,c=bt.bride,u=bt.groom,{centerX:x,altarY:m}
46=ro(),b=40,v=40,M=52,w=52,N=[],B=lt.find(_=>za.test(_.role)),W=Fo({centerX:x,altarY:m,markerW:b,markerH:v,spacingY:w,withOfficiant:oa,withCouple:la,officiant:B});N.push(...W.elements);const j=W.startY,S=c.filter(_=>_.id!==B?.id),P=u.filter(_=>_.id!==B?.id),K=Ci("bride",S.length,x,j,b,v,M,w,Nr),R=Ci("groom",P.length,x,j,b,v,M,w,Nr);S.forEach((_,D)=>{const T=K[D];N.push({elementType:"wedding_party_marker",label:ks(_.name)||_.name,x:T.x,y:T.y,width:b,height:v,color:_.role.toLowerCase().includes("maid of honor")||_.role.toLowerCase().includes("matron of honor")?"#d5dde6":"#e4e9ef",rotation:T.rotation,weddingPartyMemberId:_.id})}),P.forEach((_,D)=>{const T=R[D];N.push({elementType:"wedding_party_marker",label:ks(_.name)||_.name,x:T.x,y:T.y,width:b,height:v,color:_.role.toLowerCase().includes("best man")?"#cdd8e4":"#dce3eb",rotation:T.rotation,weddingPartyMemberId:_.id})});try{const _=Q.filter(D=>D.elementType==="wedding_party_marker");for(const D of _)await z("DELETE",`/api/venue-elements/${D.id}${t}`);for(const D of N)await z("POST","/api/venue-elements"+t,{...D,groupId:r,roomId:L});G.refetchQueries({queryKey:ge}),xt(r),d({title:`Placed ${N.length} wedding party members`,description:`${c.length} bride's side, ${u.length} groom's side`})}catch(_){d({title:"Error placing wedding party",description:Qt(_),variant:"destructive"}),G.refetchQueries({queryKey:ge})}finally{bi(!1),gi(!1)}}async function fl(){const r=La,c=Ea,u=oa,x=la;if(r===0&&c===0&&!u&&!x){d({title:"Add at least one person",variant:"destructive"});return}bi(!0),Ye(Q);const m=`wp_${Date.now()}`,{centerX:b,altarY:v}=ro(),M=40,w=40,N=52,B=52,W=[],j=Fo({centerX:b,altarY:v,markerW:M,markerH:w,spacingY:B,withOfficiant:u,withCouple:x});W.push(...j.elements);const S=j.startY,P=Ci("bride",r,b,S,M,w,N,B,Nr),K=Ci("groom",c,b,S,M,w,N,B,Nr);let R=0;for(let _=0;_<r;_++){const D=bt.bride[_],T=P[_];D&&R++,W.push({elementType:"wedding_party_marker",label:D?ks(D.name)||D.name:_===0?"Maid of Honor":`Bridesmaid ${_}`,x:T.x,y:T.y,width:M,height:w,color:_===0?"#d5dde6":"#e4e9ef",rotation:T.rotation,...D?{weddingPartyMemberId:D.id}:{}})}for(let _=0;_<c;_++){const D=bt.groom[_],T=K[_];D&&R++,W.push({elementType:"wedding_party_marker",label:D?ks(D.name)||D.name:_===0?"Best Man":`Groomsman ${_}`,x:T.x,y:T.y,width:M,height:w,color:_===0?"#cdd8e4":"#dce3eb",rotation:T.rotation,...D?{weddingPartyMemberId:D.id}:{}})}try{const _=Q.filter(D=>D.elementType==="wedding_party_marker");for(const D of _)await z("DELETE",`/api/venue-elements/${D.id}${t}`);for(const D of W)await z("POST","/api/venue-elements"+t,{...D,groupId:m,roomId:L});G.refetchQueries({queryKey:ge}),xt(m),d({title:`Placed ${W.length} wedding party positions`,description:`${r} bride's side, ${c} groom's side${u?" + officiant":""}${x?" + couple":""}. ${R>0?`${R} named from your saved wedding party.`:"Click each marker to assign names."}`})}catch(_){d({title:"Error placing wedding party",description:Qt(_),variant:"destructive"}),G.refetchQueries({queryKey:ge})}finally{bi(!1),gi(!1)}}function pl(r){Zr(r.label),Xr(String(Zs(r.width))),Jr(String(Zs(r.height))),ve(r.color||"transparent"),mr(r.rotation||0);const c=Vs.includes(r.elementType),u=We(r);ti(c?Bt(r):null),ts(u.chairSpacing??100),zt(u.hiddenChairs??[]),Rt(u.chairsBothSides??!1),ut(u.initials??""),Ds(!0)}function ml(){if(!q)return;Ye(Q);const r=parseFloat(Et),c=parseFloat(es),x={...We(q)};Nt!==null&&(x.seatCount=Nt),It!==100?x.chairSpacing=It:delete x.chairSpacing,ss.length>0?x.hiddenChairs=ss:delete x.hiddenChairs,ur?x.chairsBothSides=!0:delete x.chairsBothSides,rs.trim()?x.initials=rs.trim():delete x.initials;let m=Ot.trim()||q.label;Nt!==null&&(m=Fr(m,Nt)),Ue.mutate({id:q.id,updates:{label:m,width:r?Math.round(r*je):q.width,height:c?Math.round(c*je):q.height,color:Ct==="transparent"?null:Ct||null,rotation:ei,metadata:Object.keys(x).length>0?JSON.stringify(x):null}}),Ds(!1),d({title:"Updated"})}function ul(r){ni(r.id),yr(r.tableName),ii(r.capacity),oi(r.shape||"round"),Bs(!0)}function yl(){li&&(Qa.mutate({id:li,updates:{tableName:ri.trim()||"Table",capacity:gr,shape:ai}}),Bs(!1))}function gl(){if(!Ts.trim())return;const r=jr?parseInt(jr):null;Za.mutate({tableId:r,guestName:Ts.trim(),mealPreference:br.trim()||void 0,notes:di.trim()||void 0})}function bl(){hi!=null&&(ol.mutate({id:hi,updates:{tableId:null}}),Gt(null),cs(null))}function jl(){Jt()}const io=$.useRef(Jt);io.current=Jt,$.useEffect(()=>{p&&p(()=>io.current())}
46,[p]);const ao=$.useMemo(()=>o?ho(o,{weekday:"long",year:"numeric",month:"long",day:"numeric"})||o:null,[o]);async function wl(){if(confirm("Clear all tables and elements from this room?")){Ye(Q);try{const r=[];for(const c of Q)r.push(z("DELETE",`/api/venue-elements/${c.id}`+t));for(const c of i)r.push(z("DELETE",`/api/seating-tables/${c.id}`+t));await Promise.all(r),a(),G.refetchQueries({queryKey:["/api/venue-elements",E,L]}),G.refetchQueries({queryKey:["/api/venue-elements"]}),Ce(null),d({title:"Room cleared",description:"All tables and elements have been removed"})}catch{d({title:"Error clearing room",description:"Some items may not have been removed. Please try again.",variant:"destructive"}),a(),G.refetchQueries({queryKey:["/api/venue-elements",E,L]})}}}async function kl(r){const c=r.target.files?.[0];if(!c||!L)return;if(!["image/jpeg","image/png","image/webp"].includes(c.type)){d({title:"Unsupported file type",description:"Please upload a JPG, PNG, or WebP image file.",variant:"destructive"});return}or(!0);try{const x=await yn(c,"standard");if("error"in x){d({title:"Upload failed",description:x.error,variant:"destructive"});return}x.resizedNotice&&d(x.resizedNotice),Ge.mutate({id:L,updates:{floorPlanImageUrl:x.objectPath,floorPlanVisible:!0}}),d({title:"Floor plan uploaded",description:"Your floor plan image is now displayed as a background layer."})}catch{d({title:"Upload failed",description:"Please try again.",variant:"destructive"})}finally{or(!1),Cs.current&&(Cs.current.value="")}}async function $l(){if(Z.trim()){if(!E){d({title:"No wedding selected",description:"Please select a wedding before saving a venue template",variant:"destructive"});return}$r(!0);try{const r=[];for(const m of Ve){const b=await z("GET",`/api/venue-elements?weddingId=${E}&roomId=${m.id}`);if(!b.ok)continue;const v=await b.json(),M=Array.isArray(v)?v:[];r.push({name:m.name,widthFt:m.widthFt,heightFt:m.heightFt,sortOrder:m.sortOrder,elements:M.map(w=>({elementType:w.elementType,label:w.label,x:w.x,y:w.y,width:w.width,height:w.height,rotation:w.rotation,color:w.color,groupId:w.groupId,metadata:w.metadata}))})}const c=Q.map(m=>({elementType:m.elementType,label:m.label,x:m.x,y:m.y,width:m.width,height:m.height,rotation:m.rotation,color:m.color}
46)),u={roomWidthFt:Ke,roomHeightFt:De,roomLabel:vt};await z("POST","/api/planner-venue-templates",{name:Z.trim(),description:yt.trim()||null,elementsData:JSON.stringify(c),roomConfig:JSON.stringify(u),roomsData:JSON.stringify(r)}),G.refetchQueries({queryKey:["/api/planner-venue-templates"]});const x=r.length;d({title:"Template saved",description:`"${Z}" saved with ${x} room${x!==1?"s":""} to your venue library`}),g(!1),he(""),Fe("")}catch{d({title:"Error saving template",variant:"destructive"})}finally{$r(!1)}}}async function oo(r,c=!1){vr(r);try{const x=await(await z("POST",`/api/planner-venue-templates/${r}/apply${t}`,c?{confirmReplace:!0}:void 0)).json();if(G.refetchQueries({queryKey:["/api/venue-rooms",E]}),G.refetchQueries({queryKey:ge}),Array.isArray(x.roomIds)&&x.roomIds.length>0)be(x.roomIds[0]);else if(x.roomConfig&&L){const m=x.roomConfig,b={};m.roomWidthFt&&(b.widthFt=m.roomWidthFt),m.roomHeightFt&&(b.heightFt=m.roomHeightFt),m.roomLabel&&(b.name=m.roomLabel),Object.keys(b).length>0&&Ge.mutate({id:L,updates:b})}d({title:"Template applied",description:x.message}),qt(null),ce(!1)}catch(u){if(u instanceof Yl&&u.code==="layout_replace_unconfirmed"){const x=u.body?.replacing,m=Is.find(b=>b.id===r);qt({templateId:r,templateName:m?.name??"this template",rooms:x?.rooms??0,elements:x?.elements??0});return}d({title:"Error applying template",description:Qt(u),variant:"destructive"})}finally{vr(null)}}async function vl(r){try{await z("DELETE",`/api/planner-venue-templates/${r}`),G.refetchQueries({queryKey:["/api/planner-venue-templates"]}),d({title:"Template deleted"})}catch{d({title:"Error deleting template",variant:"destructive"})}}const Ml=5*je;function _l(){if(!dt)return null;const r=10,c=5,u=18;return e.jsxs(e.Fragment,{children:[e.jsxs("svg",{className:"absolute pointer-events-none",style:{left:0,top:-u,width:Ae,height:u,zIndex:30},children:[e.jsx("rect",{x:0,y:0,width:Ae,height:u,fill:"rgba(250,246,240,0.92)",rx:2}),e.jsx("line",{x1:0,y1:u-.5,x2:Ae,y2:u-.5,stroke:"#c9b99a",strokeWidth:.5,strokeOpacity:.4}),Array.from({length:Ke+1}).map((x,m)=>{const b=m*je,v=m%r===0,M=m%c===0;return!v&&!M?null:e.jsxs("g",{children:[e.jsx("line",{x1:b,y1:v?3:10,x2:b,y2:u,stroke:v?"#8a7a6a":"#c0b0a0",strokeWidth:v?.8:.4}),v&&m>0&&m<Ke&&e.jsxs("text",{x:b,y:11,textAnchor:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Lato', sans-serif",fontWeight:600,children:[m,"′"]})]},m)})]}),e.jsxs("svg",{className:"absolute pointer-events-none",style:{left:-u,top:0,width:u,height:we,zIndex:30},children:[e.jsx("rect",{x:0,y:0,width:u,height:we,fill:"rgba(250,246,240,0.92)",rx:2}),e.jsx("line",{x1:u-.5,y1:0,x2:u-.5,y2:we,stroke:"#c9b99a",strokeWidth:.5,strokeOpacity:.4}),Array.from({length:De+1}).map((x,m)=>{const b=m*je,v=m%r===0,M=m%c===0;return!v&&!M?null:e.jsxs("g",{children:[e.jsx("line",{x1:v?3:10,y1:b,x2:u,y2:b,stroke:v?"#8a7a6a":"#c0b0a0",strokeWidth:v?.8:.4}),v&&m>0&&m<De&&e.jsxs("text",{x:9,y:b+3,textAnchor:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Lato', sans-serif",fontWeight:600,transform:`rotate(-90 9 ${b+3})`,children:[m,"′"]})]},m)})]}),e.jsx("div",{className:"absolute flex items-center justify-center pointer-events-none",style:{left:Ae/2-22,top:we+4,width:44,height:16,background:"rgba(250,246,240,0.95)",border:"1px solid rgba(201,185,154,0.5)",borderRadius:4,zIndex:30},children:e.jsxs("span",{style:{fontSize:9,fontWeight:700,color:"#5a4a3a",fontFamily:"'Lato', sans-serif"},children:[Ke,"′"]})}),e.jsx("div",{className:"absolute flex items-center justify-center pointer-events-none",style:{left:Ae+4,top:we/2-11,width:16,height:22,background:"rgba(250,246,240,0.95)",border:"1px solid rgba(201,185,154,0.5)",borderRadius:4,writingMode:"vertical-rl",zIndex:30},children:e.jsxs("span",{style:{fontSize:9,fontWeight:700,color:"#5a4a3a",fontFamily:"'Lato', sans-serif"},children:[De,"′"]})})]})}function Cl(r){return/^(ceremony_row_|ghost_row_|chiavari_row_|folding_row_|chair_row_)\d+/.test(r)}function Nl(r){const c=r.match(/_(\d+)$/);return c?parseInt(c[1]):6}function Sl(r){return r.startsWith("ghost_row_")?{fill:"rgba(220,215,235,0.35)",stroke:"#bbb5cc",variant:"ghost"}:r.startsWith("chiavari_row_")?{fill:"#f0e6c8",stroke:"#c9a545",variant:"chiavari"}:r.startsWith("folding_row_")?{fill:"#f8f5f0",stroke:"#d5cec4",variant:"folding"}:{fill:"#dcc9a8",stroke:"#b09872",variant:"crossback"}}function Wl(r,c){const u=Nl(r.elementType),x=Sl(r.elementType),m=Math.min(10,(r.width-4)/u-2);if(m<4)return e.jsx("div",{className:"w-full h-full rounded-sm flex items-center justify-center",style:{backgroundColor:x.fill,border:`1px solid ${x.stroke}`},children:e.jsxs("span",{className:"text-[10px] text-[#6a5a4a] truncate px-1",children:[u," chairs"]})});const b=m,v=(r.width-u*b)/(u+1),M=r.height-2,w=Math.max(1.5,M*.3);return e.jsx("svg",{width:r.width,height:r.height,viewBox:`0 0 ${r.width} ${r.height}`,className:"w-full h-full",children:Array.from({length:u}).map((N,B)=>{const W=v+B*(b+v)+b/2,j=r.height/2,S=b/2,P=M/2;return x.variant==="crossback"?e.jsxs("g",{children:[e.jsx("rect",{x:W-S,y:j-P,width:b,height:M,rx:1.5,fill:x.fill,stroke:x.stroke,strokeWidth:.6}),e.jsx("line",{x1:W-S+1,y1:j-P+1,x2:W+S-1,y2:j+P-1,stroke:x.stroke,strokeWidth:.4,strokeOpacity:.5}),e.jsx("line",{x1:W+S-1,y1:j-P+1,x2:W-S+1,y2:j+P-1,stroke:x.stroke,strokeWidth:.4,strokeOpacity:.5}),e.jsx("rect",{x:W-S,y:j+P-w,width:b,height:w,rx:.8,fill:x.stroke,fillOpacity:.25})]},B):x.variant==="ghost"?e.jsxs("g",{children:[e.jsx("rect",{x:W-S,y:j-P,width:b,height:M,rx:1.5,fill:x.fill,stroke:x.stroke,strokeWidth:.5,strokeDasharray:"1.5 0.8"}),e.jsx("rect",{x:W-S+1,y:j+P-w,width:b-2,height:w,rx:.8,fill:"rgba(200,195,215,0.3)",stroke:x.stroke,strokeWidth:.3})]},B):x.variant==="chiavari"?e.jsxs("g",{children:[e.jsx("rect",{x:W-S,y:j-P,width:b,height:M,rx:1,fill:x.fill,stroke:x.stroke,strokeWidth:.6}),e.jsx("line",{x1:W-S+1,y1:j-P+1.5,x2:W-S+1,y2:j+P-1.5,stroke:x.stroke,strokeWidth:.3,strokeOpacity:.4}),e.jsx("line",{x1:W+S-1,y1:j-P+1.5,x2:W+S-1,y2:j+P-1.5,stroke:x.stroke,strokeWidth:.3,strokeOpacity:.4}),e.jsx("rect",{x:W-S,y:j+P-w,width:b,height:w,rx:.8,fill:x.stroke,fillOpacity:.2})]},B):e.jsxs("g",{children:[e.jsx("rect",{x:W-S,y:j-P,width:b,height:M,rx:1,fill:x.fill,stroke:x.stroke,strokeWidth:.5}),e.jsx("rect",{x:W-S,y:j+P-w,width:b,height:w,rx:.8,fill:x.stroke,fillOpacity:.2})]},B)})})}function Dl(r,c){const u=lt.find(R=>R.id===r.weddingPartyMemberId),x=r.color||"#dce6f0",m=["#dce6f0","#c4d4e4","#d5dde6","#e4e9ef"],b=["#e3f2fd","#bbdefb","#cdd8e4","#dce3eb"],v=u?.side==="bride"||!u&&m.includes(r.color||""),M=u?.side==="groom"||!u&&b.includes(r.color||""),N=(u?/officiant|pastor|priest|rabbi|minister|celebrant|judge/i.test(u.role):r.color==="#d1c4e9"||r.color==="#ddd6e6"||/officiant/i.test(r.label))?"#b0a0c0":v?"#b8c4d4":M?"#a0b4c8":"#d4ad94",B=u?.name||r.label,W=u?.role||"",j=!u&&!r.weddingPartyMemberId,S=Math.min(r.width,r.height),P=S/2-2,K=B.split(/\s+/).filter(
46Boolean).slice(0,2).map(R=>R[0]?.toUpperCase()||"").join("");return e.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center",style:{overflow:"visible"},children:[e.jsxs("svg",{width:S,height:S,viewBox:`0 0 ${S} ${S}`,style:{overflow:"visible"},children:[e.jsx("defs",{children:e.jsx("filter",{id:`wp-sh-${r.id}`,x:"-20%",y:"-10%",width:"140%",height:"140%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.15"})})}),e.jsx("circle",{cx:S/2,cy:S/2,r:P,fill:x,stroke:N,strokeWidth:j?1.5:2,strokeDasharray:j?"3 2":"none",filter:`url(#wp-sh-${r.id})`}),e.jsx("text",{x:S/2,y:S/2+1,textAnchor:"middle",dominantBaseline:"central",fontSize:P*.7,fontFamily:"'Playfair Display', serif",fontWeight:"600",fill:"#4a4040",children:K})]}),e.jsxs("div",{style:{position:"absolute",bottom:-14,left:"50%",transform:"translateX(-50%)",whiteSpace:"nowrap",textAlign:"center",pointerEvents:"none"},children:[e.jsx("div",{style:{fontSize:7,fontWeight:600,color:"#3a3a3a",fontFamily:"'Lato', sans-serif",lineHeight:1.1},children:B.length>12?B.split(/\s+/)[0]:B}),W&&e.jsx("div",{style:{fontSize:6,color:"#8a7a6a",fontFamily:"'Lato', sans-serif",lineHeight:1.1},children:W})]})]})}function Bl(r,c){const u=r.elementType,x=r.width,m=r.height;if(u==="arbor_round"){const v=x/2,M=m/2,w=Math.min(x,m)/2-4;return e.jsxs("svg",{width:x,height:m,viewBox:`0 0 ${x} ${m}`,className:"w-full h-full",overflow:"visible",children:[e.jsx("circle",{cx:v,cy:M,r:w,fill:"none",stroke:"#c4a888",strokeWidth:2.5}),e.jsx("circle",{cx:v,cy:M,r:w-3,fill:"none",stroke:"#d4bc96",strokeWidth:.8,strokeDasharray:"3 2"}),Array.from({length:10}).map((N,B)=>{const W=B/10*Math.PI*2;return e.jsx("circle",{cx:v+Math.cos(W)*w,cy:M+Math.sin(W)*w,r:3.5,fill:"#8db580",fillOpacity:.55},B)}),e.jsx("circle",{cx:v,cy:M-w,r:5,fill:"#f0c4c4",fillOpacity:.6}),e.jsx("circle",{cx:v,cy:M-w+1,r:2.5,fill:"#e8a0a0",fillOpacity:.4})]})}if(u==="arbor_hexagonal"){const v=x/2,M=m/2,w=Math.min(x,m)/2-5,N=Array.from({length:6}).map((B,W)=>{const j=Math.PI/3*W-Math.PI/2;return`${v+w*Math.cos(j)},${M+w*Math.sin(j)}`}).join(" ");return e.jsxs("svg",{width:x,height:m,viewBox:`0 0 ${x} ${m}`,className:"w-full h-full",children:[e.jsx("polygon",{points:N,fill:"#faf6f0",fillOpacity:.2,stroke:"#c4a888",strokeWidth:2.2,strokeLinejoin:"round"}),Array.from({length:6}).map((B,W)=>{const j=Math.PI/3*W-Math.PI/2,S=v+w*Math.cos(j),P=M+w*Math.sin(j);return e.jsx("circle",{cx:S,cy:P,r:3,fill:"#8db580",fillOpacity:.5},W)}),e.jsx("circle",{cx:v,cy:M-w+1,r:4,fill:"#e8c4c4",fillOpacity:.6})]})}if(u==="arbor_triangle")return e.jsxs("svg",{width:x,height:m,viewBox:`0 0 ${x} ${m}`,className:"w-full h-full",children:[e.jsx("polygon",{points:`${x/2},6 6,${m-4} ${x-6},${m-4}`,fill:"#faf6f0",fillOpacity:.15,stroke:"#c4a888",strokeWidth:2.2,strokeLinejoin:"round"}),e.jsx("line",{x1:x*.28,y1:m*.52,x2:x*.72,y2:m*.52,stroke:"#a7c99b",strokeWidth:1.2,strokeOpacity:.5}),e.jsx("circle",{cx:x*.28,cy:m*.52,r:3,fill:"#8db580",fillOpacity:.5}),e.jsx("circle",{cx:x*.72,cy:m*.52,r:3,fill:"#8db580",fillOpacity:.5}),e.jsx("circle",{cx:x/2,cy:10,r:4.5,fill:"#f0c4c4",fillOpacity:.65}),e.jsx("circle",{cx:x/2,cy:10,r:2,fill:"#e8a0a0",fillOpacity:.4})]});const b=m*.25;return e.jsxs("svg",{width:x,height:m,viewBox:`0 0 ${x} ${m}`,className:"w-full h-full",children:[e.jsx("rect",{x:4,y:b,width:5,height:m-b-3,rx:2,fill:"#c4a888"}),e.jsx("rect",{x:x-9,y:b,width:5,height:m-b-3,rx:2,fill:"#c4a888"}),e.jsx("path",{d:`M6,${b+2} Q${x/2},${b-m*.2} ${x-6},${b+2}`,fill:"none",stroke:"#c4a888",strokeWidth:3}),e.jsx("path",{d:`M12,${b+6} Q${x/2},${b-m*.08} ${x-12},${b+6}`,fill:"none",stroke:"#a7c99b",strokeWidth:1.8,strokeOpacity:.6}),[.2,.35,.5,.65,.8].map((v,M)=>{const w=x*v,N=b+2-Math.sin(v*Math.PI)*m*.15;return e.jsx("circle",{cx:w,cy:N,r:3+(M===2?1.5:0),fill:M===2?"#e8c4c4":"#f0c4c4",fillOpacity:.6},M)}),e.jsx("circle",{cx:6,cy:m*.6,r:2.5,fill:"#8db580",fillOpacity:.4}),e.jsx("circle",{cx:x-6,cy:m*.6,r:2.5,fill:"#8db580",fillOpacity:.4})]})}function Tl(r){const c=r.width,u=r.height,x=Math.max(20,Math.min(c,u)*.18),m=x/2,b=Math.max(7,x*.4),v=u/2,M=(u/2-m-b-6)*.85,w=12,N=Bt(r),B=Math.max(1,Math.floor((c-w*2)/(b+4))),W=Math.min(N,B*2),j=Math.max(4,M),S=We(r),P=S.hiddenChairs??[],K=(S.chairSpacing??100)/100,R=ee=>w+ee*(c-w*2),_=ee=>v+j*Math.sin(ee*Math.PI*2),D=ee=>c-w*2,T=ee=>
46j*Math.cos(ee*Math.PI*2)*Math.PI*2,Y=60,I=[],H=[];for(let ee=0;ee<=Y;ee++){const se=ee/Y,le=R(se),re=_(se),Be=D(),ke=T(se),fe=Math.sqrt(Be*Be+ke*ke),Qe=-ke/fe,Kt=Be/fe;I.push(`${le+Qe*m},${re+Kt*m}`),H.push(`${le-Qe*m},${re-Kt*m}`)}const U=`M ${I.join(" L ")} L ${H.reverse().join(" L ")} Z`,J=Wt(r);let xe=0;const me=[],ae=(m+b/2+4)*K;for(let ee=0;ee<W;ee++){if(P.includes(ee))continue;const se=Se(xe++,J),le=(ee+.5)/W,re=R(le),Be=_(le),ke=D(),fe=T(le),Qe=Math.sqrt(ke*ke+fe*fe),Kt=-fe/Qe,ne=ke/Qe,Te=ee%2===0?1:-1,qs=re+Kt*ae*Te,gs=Be+ne*ae*Te,Yt=Math.atan2(ne*Te,Kt*Te)*180/Math.PI;me.push(e.jsxs("g",{transform:`translate(${qs},${gs}) rotate(${Yt})`,children:[e.jsx("rect",{x:-b/2,y:-b/2,width:b,height:b,rx:b*.25,fill:se.fill,stroke:se.stroke,strokeWidth:.6}),e.jsx("rect",{x:-b*.35,y:-b/2-2,width:b*.7,height:2,rx:1,fill:se.fill==="#d4ad94"?"#c09478":"#c4b498",stroke:se.stroke,strokeWidth:.3})]},`c-${ee}`))}return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`serp-grad-${r.id}`,x1:"0",y1:"0",x2:"1",y2:"0",children:[e.jsx("stop",{offset:"0%",stopColor:"#f0e6dc"}),e.jsx("stop",{offset:"30%",stopColor:"#f8f0e8"}),e.jsx("stop",{offset:"70%",stopColor:"#f8f0e8"}),e.jsx("stop",{offset:"100%",stopColor:"#f0e6dc"})]}),e.jsx("filter",{id:`serp-sh-${r.id}`,x:"-5%",y:"-10%",width:"110%",height:"130%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.12"})})]}),e.jsx("path",{d:U,fill:`url(#serp-grad-${r.id})`,stroke:"#c9b99a",strokeWidth:.8,strokeLinejoin:"round",filter:`url(#serp-sh-${r.id})`}),e.jsx("path",{d:U,fill:"white",opacity:.12}),me,e.jsx("text",{x:c/2,y:v-5,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",fontWeight:"500",children:r.label}),e.jsxs("text",{x:c/2,y:v+6,textAnchor:"middle",dominantBaseline:"middle",fontSize:7,fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:[N," seats"]})]})}function Al(r){const c=r.width,u=r.height,x=Math.max(22,Math.min(c,u)*.2),m=Math.max(8,x*.42),b=We(r),v=b.chairsBothSides??!1,M=u*(v?.3:.4),w=u*(v?.5:.55),N=`M 10,${w} Q ${c/2},${w-M} ${c-10},${w}`,B=[],W=b.hiddenChairs??[],j=(b.chairSpacing??100)/100,S=b.seatCount,P=m+6,K=S??(c>P*2?Math.floor(c/P):0),R=v?Math.ceil(K/2):K,_=v?Math.floor(K/2):0,D=Math.max(c-20,1),T=Wt(r);let Y=0;for(let I=0;I<R;I++){if(W.includes(I))continue;const H=Se(Y++,T),U=(I+.5)/R,J=10+U*D,xe=w-M*2*U*(1-U),me=-M*2*(1-2*U)/D,ae=Math.sqrt(1+me*me),ee=-me/ae,se=1/ae,le=(x/2+m/2+4)*j;B.push(e.jsx("rect",{x:J-m/2+ee*le,y:xe-m/2+se*le,width:m,height:m,rx:2,fill:H.fill,stroke:H.stroke,strokeWidth:.6},`c-${I}`))}if(v)for(let I=0;I<_;I++){const H=R+I;if(W.includes(H))continue;const U=Se(Y++,T),J=(I+.5)/_,xe=10+J*D,me=w-M*2*J*(1-J),ae=-M*2*(1-2*J)/D,ee=Math.sqrt(1+ae*ae),se=-ae/ee,le=1/ee,re=-(x/2+m/2+4)*j;B.push(e.jsx("rect",{x:xe-m/2+se*re,y:me-m/2+le*re,width:m,height:m,rx:2,fill:U.fill,stroke:U.stroke,strokeWidth:.6},`ci-${I}`))}return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`curved-grad-${r.id}`,x1:"0",y1:"0",x2:"0.1",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#f6f0e6"}),e.jsx("stop",{offset:"50%",stopColor:"#efe6d8"}),e.jsx("stop",{offset:"100%",stopColor:"#ddd0c0"})]}),e.jsx("filter",{id:`curved-sh-${r.id}`,x:"-5%",y:"-10%",width:"110%",height:"135%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})]}),e.jsx("path",{d:N,fill:"none",stroke:"#b8a890",strokeWidth:x+2,strokeLinecap:"round",opacity:.2}),e.jsx("path",{d:N,fill:"none",stroke:`url(#curved-grad-${r.id})`,strokeWidth:x,strokeLinecap:"round",filter:`url(#curved-sh-${r.id})`}),e.jsx("path",{d:N,fill:"none",stroke:"#c8b8a0",strokeWidth:x-3,strokeLinecap:"round",opacity:.08}),B,e.jsx("text",{x:c/2,y:w-3,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",fontWeight:"500",children:r.label}),e.jsxs("text",{x:c/2,y:w+8,textAnchor:"middle",dominantBaseline:"middle",fontSize:7,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:[K," seats"]})]})}function Pl(r){const c=r.width,u=r.height,x=Math.max(24,Math.min(c,u)*.14),m=Math.max(8,x*.42),b=x/2+m+6,v=u-b,M=b,w=b,N=c-b,B=x,W=`M ${w},${M} L ${w},${v-B} Q ${w},${v} ${w+B},${v} L ${N-B},${v} Q ${N},${v} ${N},${v-B} L ${N},${M}`,j=[],S=We(r),P=S.hiddenChairs??[],K=(S.chairSpacing??100)/100,R=S.seatCount,_=m+6,D=Math.max(1,v-M-B),T=Math.max(1,N-w-2*B),Y=Math.max(1,Math.floor(D/_)),I=Math.max(1,Math.floor(T/_)),H=Y*2+I,U=R??H,J=H>0?U/H:1,xe=Math.max(0,Math.round(Y*J)),me=Math.max(0,U-xe*2),ae=Wt(r);let ee=0,se=0;const le=(x/2+m+3)*K;for(let re=0;re<xe;re++){const Be=(re+.5)/Math.max(xe,1),ke=M+Be*D;if(!P.includes(se)){const fe=Se(ee++,ae);j.push(e.jsx("rect",{x:w-le,y:ke-m/2,width:m,height:m,rx:2,fill:fe.fill,stroke:fe.stroke,strokeWidth:.6},`l-${re}`))}
46if(se++,!P.includes(se)){const fe=Se(ee++,ae);j.push(e.jsx("rect",{x:N+le-m,y:ke-m/2,width:m,height:m,rx:2,fill:fe.fill,stroke:fe.stroke,strokeWidth:.6},`r-${re}`))}se++}for(let re=0;re<me;re++){const Be=(re+.5)/Math.max(me,1),ke=w+B+Be*T;if(!P.includes(se)){const fe=Se(ee++,ae);j.push(e.jsx("rect",{x:ke-m/2,y:v+le-m,width:m,height:m,rx:2,fill:fe.fill,stroke:fe.stroke,strokeWidth:.6},`b-${re}`))}se++}return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`u-grad-${r.id}`,x1:"0",y1:"0",x2:"1",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#f8f0e8"}),e.jsx("stop",{offset:"100%",stopColor:"#ede0d4"})]}),e.jsx("filter",{id:`u-sh-${r.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.12"})})]}),e.jsx("path",{d:W,fill:"none",stroke:"#d5c5b0",strokeWidth:x+1.5,strokeLinecap:"round",strokeLinejoin:"round",opacity:.2}),e.jsx("path",{d:W,fill:"none",stroke:`url(#u-grad-${r.id})`,strokeWidth:x,strokeLinecap:"round",strokeLinejoin:"round",filter:`url(#u-sh-${r.id})`}),j,e.jsx("text",{x:c/2,y:u*.4,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",fontWeight:"500",children:r.label}),e.jsxs("text",{x:c/2,y:u*.5,textAnchor:"middle",dominantBaseline:"middle",fontSize:7,fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:[U," seats"]})]})}function Fl(r){const c=r.width,u=r.height,x=Math.max(24,Math.min(c,u)*.14),m=Math.max(8,x*.42),b=x/2+m+6,v=x,M=b,w=u-b,N=b,B=c-b,W=`M ${N},${M} L ${N},${w-v} Q ${N},${w} ${N+v},${w} L ${B},${w}`,j=[],S=We(r),P=S.hiddenChairs??[],K=(S.chairSpacing??100)/100,R=S.seatCount,_=m+6,D=Math.max(1,w-M-v),T=Math.max(1,B-N-v),Y=Math.max(1,Math.floor(D/_)),I=Math.max(1,Math.floor(T/_)),H=Y*2+I*2,U=R??H,J=H>0?U/H:1,xe=Math.max(0,Math.round(Y*J)),me=Math.max(0,Math.round((U-xe*2)/2)),ae=Wt(r);let ee=0,se=0;const le=(x/2+m+3)*K;for(let re=0;re<xe;re++){const Be=(re+.5)/Math.max(xe,1),ke=M+Be*D;if(!P.includes(se)){const fe=Se(ee++,ae);j.push(e.jsx("rect",{x:N-le,y:ke-m/2,width:m,height:m,rx:2,fill:fe.fill,stroke:fe.stroke,strokeWidth:.6},`lv-${re}`))}if(se++,!P.includes(se)){const fe=Se(ee++,ae);j.push(e.jsx("rect",{x:N+le-m,y:ke-m/2,width:m,height:m,rx:2,fill:fe.fill,stroke:fe.stroke,strokeWidth:.6},`rv-${re}`))}se++}for(let re=0;re<me;re++){const Be=(re+.5)/Math.max(me,1),ke=N+v+Be*T,fe=(x/2+m+3)*K;if(!P.includes(se)){const Qe=Se(ee++,ae);j.push(e.jsx("rect",{x:ke-m/2,y:w+fe-m,width:m,height:m,rx:2,fill:Qe.fill,stroke:Qe.stroke,strokeWidth:.6},`bh-${re}`))}if(se++,!P.includes(se)){const Qe=Se(ee++,ae);j.push(e.jsx("rect",{x:ke-m/2,y:w-fe,width:m,height:m,rx:2,fill:Qe.fill,stroke:Qe.stroke,strokeWidth:.6},`th-${re}`))}se++}return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`l-grad-${r.id}`,x1:"0",y1:"0",x2:"1",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#f8f0e8"}),e.jsx("stop",{offset:"100%",stopColor:"#ede0d4"})]}),e.jsx("filter",{id:`l-sh-${r.id}`,x:"-5%",y:"-5%",width:"110%",height:"115%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.12"})})]}),e.jsx("path",{d:W,fill:"none",stroke:"#d5c5b0",strokeWidth:x+1.5,strokeLinecap:"round",strokeLinejoin:"round",opacity:.2}),e.jsx("path",{d:W,fill:"none",stroke:`url(#l-grad-${r.id})`,strokeWidth:x,strokeLinecap:"round",strokeLinejoin:"round",filter:`url(#l-sh-${r.id})`}),j,e.jsx("text",{x:N+(B-N)*.4,y:M+(w-M)*.35,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",fontWeight:"500",children:r.label}),e.jsxs("text",{x:N+(B-N)*.4,y:M+(w-M)*.45,textAnchor:"middle",dominantBaseline:"middle",fontSize:7,fill:"#8a7a6a",fontFamily:"'Playfair Display', serif",children:[U," seats"]})]})}function ya(r){const c=r.width,u=r.height,x=Math.min(c,u)/2,m=c/2,b=u/2,v=x*.6,M=Math.min(x*.12,6),w=We(r),N=(w.chairSpacing??100)/100,B=x*.82*N,W=w.hiddenChairs??[],j=Bt(r),S=Wt(r);let P=0;const K=c>=50;return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`rt-g-${r.id}`,cx:"38%",cy:"32%",children:[e.jsx("stop",{offset:"0%",stopColor:"#faf6f0"}),e.jsx("stop",{offset:"45%",stopColor:"#efe6d8"}),e.jsx("stop",{offset:"100%",stopColor:"#ddd0c0"})]}),e.jsx("filter",{id:`rt-sh-${r.id}`,x:"-12%",y:"-10%",width:"124%",height:"135%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})}),e.jsxs("pattern",{id:`rt-grain-${r.id}`,width:"40",height:"40",patternUnits:"userSpaceOnUse",patternTransform:"rotate(25)",children:[e.jsx("line",{x1:"0",y1:"0",x2:"0",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.3",opacity:"0.15"}),e.jsx("line",{x1:"8",y1:"0",x2:"8",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.2",opacity:"0.1"}),e.jsx("line",{x1:"20",y1:"0",x2:"20",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.3",opacity:"0.12"}),e.jsx("line",{x1:"33",y1:"0",x2:"33",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.2",opacity:"0.08"})]})]}),e.jsx("circle",{cx:m,cy:b,r:v,fill:`url(#rt-g-${r.id})`,stroke:"#b8a488",strokeWidth:1,filter:`url(#rt-sh-${r.id})`}),e.jsx("circle",{cx:m,cy:b,r:v,fill:`url(#rt-grain-${r.id})`}),e.jsx("circle",{cx:m,cy:b,r:v-1.5,fill:"none",stroke:"#c8b8a0",strokeWidth:.3}),e.jsx("ellipse",{cx:m-v*.1,cy:b-v*.2,rx:v*.4,ry:v*.18,fill:"white",opacity:.14}),Array.from({length:j}).map((R,_)=>{if(W.includes(_))return null;const D=Se(P++,S),T=_/j*Math.PI*2-Math.PI/2,Y=m+Math.cos(T)*B,I=b+Math.sin(T)*B,H=D.fill==="#d4ad94",U=H?"#d4a88e":D.fill,J=H?"#b8907a":D.stroke,xe=H?"#c09478":"#c4b498";return e.jsxs("g",{transform:`translate(${Y},${I}) rotate(${T*180/Math.PI+90})`,children:[e.jsx("ellipse",{cx:0,cy:M*.15,rx:M*.85,ry:M*.5,fill:"#6a5a4a",opacity:.08}),e.jsx("rect",{x:-M,y:-M,width:M*2,height:M*2,rx:M*.4,fill:U,stroke:J,strokeWidth:.6}),e.jsx("rect",{x:-M*.6,y:-M*1.1,width:M*1.2,height:M*.35,rx:M*.15,fill:xe,stroke:J,strokeWidth:.4})]},`ch-${_}`)}),e.jsx("text",{x:m,y:K?b+1:b+4,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(8,x*.2),fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:r.label}),K&&e.jsxs("text",{x:m,y:b+12,textAnchor:"middle",dominantBaseline:"middle",fontSize:Math.min(6.5,x*.14),fill:"#5a4a3a",fontFamily:"'Lato', sans-serif",children:[j," seats"]})]})}function ga(r){const c=r.width,u=r.height,x=Math.max(7,Math.min(c,u)*.1),m=We(r),b=(m.chairSpacing??100)/100,v=m.hiddenChairs??[],M=(x+5)*b,
46w=c-M*2,N=u-M*2,B=Bt(r),W=Math.ceil(B/2),j=Math.floor(B/2),S=Wt(r);let P=0;const K=c>=60;return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`rct-g-${r.id}`,x1:"0",y1:"0",x2:"0.15",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#faf6f0"}),e.jsx("stop",{offset:"40%",stopColor:"#efe6d8"}),e.jsx("stop",{offset:"100%",stopColor:"#ddd0c0"})]}),e.jsx("filter",{id:`rct-sh-${r.id}`,x:"-8%",y:"-8%",width:"116%",height:"125%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})}),e.jsxs("pattern",{id:`rct-grain-${r.id}`,width:"40",height:"40",patternUnits:"userSpaceOnUse",patternTransform:"rotate(5)",children:[e.jsx("line",{x1:"0",y1:"0",x2:"0",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.3",opacity:"0.15"}),e.jsx("line",{x1:"10",y1:"0",x2:"10",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.2",opacity:"0.1"}),e.jsx("line",{x1:"24",y1:"0",x2:"24",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.3",opacity:"0.12"}),e.jsx("line",{x1:"35",y1:"0",x2:"35",y2:"40",stroke:"#c8b8a4",strokeWidth:"0.2",opacity:"0.08"})]})]}),e.jsx("rect",{x:M,y:M,width:w,height:N,rx:4,fill:`url(#rct-g-${r.id})`,stroke:"#b8a488",strokeWidth:1,filter:`url(#rct-sh-${r.id})`}),e.jsx("rect",{x:M,y:M,width:w,height:N,rx:4,fill:`url(#rct-grain-${r.id})`}),e.jsx("rect",{x:M+1.5,y:M+1.5,width:w-3,height:N-3,rx:3,fill:"none",stroke:"#c8b8a0",strokeWidth:.3}),e.jsx("rect",{x:M+3,y:M+2,width:w*.35,height:N*.18,rx:2,fill:"white",opacity:.12}),Array.from({length:W}).map((R,_)=>{if(v.includes(_))return null;const D=Se(P++,S),T=w/(W+1),Y=M+T*(_+1),I=D.fill==="#d4ad94",H=I?"#d4a88e":D.fill,U=I?"#b8907a":D.stroke,J=I?"#c09478":"#c4b498";return e.jsxs("g",{children:[e.jsx("ellipse",{cx:Y,cy:M-x/2-2,rx:x*.4,ry:x*.25,fill:"#6a5a4a",opacity:.07}),e.jsx("rect",{x:Y-x/2,y:M-x-3,width:x,height:x,rx:x*.22,fill:H,stroke:U,strokeWidth:.6}),e.jsx("rect",{x:Y-x*.38,y:M-x-5.5,width:x*.76,height:3,rx:1.2,fill:J,stroke:U,strokeWidth:.4})]},`t-${_}`)}),Array.from({length:j}).map((R,_)=>{const D=W+_;if(v.includes(D))return null;const T=Se(P++,S),Y=w/(j+1),I=M+Y*(_+1),H=T.fill==="#d4ad94",U=H?"#d4a88e":T.fill,J=H?"#b8907a":T.stroke,xe=H?"#c09478":"#c4b498";return e.jsxs("g",{children:[e.jsx("ellipse",{cx:I,cy:M+N+x/2+4,rx:x*.4,ry:x*.25,fill:"#6a5a4a",opacity:.07}),e.jsx("rect",{x:I-x/2,y:M+N+3,width:x,height:x,rx:x*.22,fill:U,stroke:J,strokeWidth:.6}),e.jsx("rect",{x:I-x*.38,y:M+N+x+4,width:x*.76,height:3,rx:1.2,fill:xe,stroke:J,strokeWidth:.4})]},`b-${_}`)}),e.jsx("text",{x:c/2,y:K?u/2-2:u/2+1,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:r.label}),K&&e.jsxs("text",{x:c/2,y:u/2+6,textAnchor:"middle",dominantBaseline:"middle",fontSize:7,fill:"#5a4a3a",fontFamily:"'Lato', sans-serif",children:[B," seats"]})]})}function Ll(r){const c=r.width,u=r.height,x=Math.max(7,u*.11),m=8,b=We(r),v=b.chairsBothSides??!1,M=(b.chairSpacing??100)/100,w=b.hiddenChairs??[],N=b.seatCount,B=x+8,W=N??Math.max(2,Math.floor(c/B)),j=u*.35,S=v?(u-j)/2:u*.5,P=v?Math.ceil(W/2):W,K=v?Math.floor(W/2):0,R=Wt(r);let _=0;return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`ht-g-${r.id}`,x1:"0",y1:"0",x2:"1",y2:"0.15",children:[e.jsx("stop",{offset:"0%",stopColor:"#ece4d8"}),e.jsx("stop",{offset:"50%",stopColor:"#f6f0e6"}),e.jsx("stop",{offset:"100%",stopColor:"#ece4d8"})]}),e.jsx("filter",{id:`ht-sh-${r.id}`,x:"-10%",y:"-10%",width:"120%",height:"135%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})}),e.jsxs("pattern",{id:`ht-grain-${r.id}`,width:"40",height:"40",patternUnits:"userSpaceOnUse",patternTransform:"rotate(0)",children:[e.jsx("line",{x1:"0",y1:"0",x2:"40",y2:"0",stroke:"#c8b8a4",strokeWidth:"0.3",opacity:"0.12"}),e.jsx("line",{x1:"0",y1:"12",x2:"40",y2:"12",stroke:"#c8b8a4",strokeWidth:"0.2",opacity:"0.08"}),e.jsx("line",{x1:"0",y1:"26",x2:"40",y2:"26",stroke:"#c8b8a4",strokeWidth:"0.3",opacity:"0.1"})]})]}),e.jsx("rect",{x:m,y:S,width:c-m*2,height:j,rx:3,fill:`url(#ht-g-${r.id})`,stroke:"#b8a488",strokeWidth:1,filter:`url(#ht-sh-${r.id})`}),e.jsx("rect",{x:m,y:S,width:c-m*2,height:j,rx:3,fill:`url(#ht-grain-${r.id})`}),e.jsx("rect",{x:m+1.5,y:S+1.5,width:c-m*2-3,height:j-3,rx:2,fill:"none",stroke:"#c8b8a0",strokeWidth:.3}),Array.from({length:P}).map((D,T)=>{if(w.includes(T))return null;const Y=Se(_++,R),I=(c-m*2)/(P+1),H=m+I*(T+1),U=(x+4)*M,xe=Y.fill==="#d4ad94"?"#c09478":"#c4b498";return e.jsxs("g",{children:[e.jsx("ellipse",{cx:H,cy:S-U+x/2+1,rx:x*.38,ry:x*.22,fill:"#6a5a4a",opacity:.07}),e.jsx("rect",{x:H-x/2,y:S-U,width:x,height:x,rx:2,fill:Y.fill,stroke:Y.stroke,strokeWidth:.6}),e.jsx("rect",{x:H-x*.38,y:S-U-2.5,width:x*.76,height:3,rx:1.2,f
46ill:xe,stroke:Y.stroke,strokeWidth:.4})]},`hc-t-${T}`)}),v&&Array.from({length:K}).map((D,T)=>{const Y=P+T;if(w.includes(Y))return null;const I=Se(_++,R),H=(c-m*2)/(K+1),U=m+H*(T+1),J=(x+4)*M,me=I.fill==="#d4ad94"?"#c09478":"#c4b498";return e.jsxs("g",{children:[e.jsx("ellipse",{cx:U,cy:S+j+J+1,rx:x*.38,ry:x*.22,fill:"#6a5a4a",opacity:.07}),e.jsx("rect",{x:U-x/2,y:S+j+J-x,width:x,height:x,rx:2,fill:I.fill,stroke:I.stroke,strokeWidth:.6}),e.jsx("rect",{x:U-x*.38,y:S+j+J+.5,width:x*.76,height:3,rx:1.2,fill:me,stroke:I.stroke,strokeWidth:.4})]},`hc-b-${T}`)}),e.jsx("text",{x:c/2,y:S+j/2-2,textAnchor:"middle",dominantBaseline:"middle",fontSize:8,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:r.label}),e.jsxs("text",{x:c/2,y:S+j/2+8,textAnchor:"middle",dominantBaseline:"middle",fontSize:6,fill:"#5a4a3a",fontFamily:"Lato, sans-serif",children:[W," seats"]})]})}function Ol(r){const c=r.width,u=r.height,m=u-12,b=c/2,v=m/2,M=Math.min(c,m)*.32,w=Math.min(7,c*.1,m*.12),N=Math.min(1,c/72,m/54),B=Math.max(4,Math.min(7,c*.09)),W=Wt(r),j=Se(0,W),S=Se(1,W);return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full overflow-visible",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`sw-g-${r.id}`,cx:"42%",cy:"38%",children:[e.jsx("stop",{offset:"0%",stopColor:"#faf2f0"}),e.jsx("stop",{offset:"50%",stopColor:"#f0e4e0"}),e.jsx("stop",{offset:"100%",stopColor:"#ddd0cc"})]}),e.jsx("filter",{id:`sw-sh-${r.id}`,x:"-15%",y:"-15%",width:"130%",height:"145%",children:e.jsx("feDropShadow",{dx:"0",dy:"1.5",stdDeviation:"2.5",floodColor:"#6a5a4a",floodOpacity:"0.18"})})]}),e.jsx("circle",{cx:b,cy:v+2,r:M,fill:`url(#sw-g-${r.id})`,stroke:"#c8909a",strokeWidth:1,filter:`url(#sw-sh-${r.id})`}),e.jsx("circle",{cx:b,cy:v+2,r:M-1.5,fill:"none",stroke:"#d8a8b0",strokeWidth:.3}),e.jsxs("g",{transform:`translate(${b},${v}) scale(${N})`,children:[e.jsx("path",{d:"M 0,-2 C 0,-6 -6,-6 -6,-2 L 0,4 Z",fill:"#c4d4e4",opacity:.3}),e.jsx("path",{d:"M 0,-2 C 0,-6 6,-6 6,-2 L 0,4 Z",fill:"#c4d4e4",opacity:.3})]}),e.jsxs("g",{children:[e.jsx("rect",{x:b-c*.35-w/2,y:v-w/2,width:w,height:w,rx:2,fill:j.fill,stroke:j.stroke,strokeWidth:.6}),e.jsx("rect",{x:b-c*.35-w*.8,y:v-w*.35,width:2.5,height:w*.7,rx:1,fill:j.fill==="#d4ad94"?"#c09478":"#c4b498",stroke:j.stroke,strokeWidth:.4})]}),e.jsxs("g",{children:[e.jsx("rect",{x:b+c*.35-w/2,y:v-w/2,width:w,height:w,rx:2,fill:S.fill,stroke:S.stroke,strokeWidth:.6}),e.jsx("rect",{x:b+c*.35+w*.3,y:v-w*.35,width:2.5,height:w*.7,rx:1,fill:S.fill==="#d4ad94"?"#c09478":"#c4b498",stroke:S.stroke,strokeWidth:.4})]}),e.jsx("text",{x:b,y:u-2,textAnchor:"middle",fontSize:B,fill:"#b07080",fontFamily:"'Playfair Display', serif",children:r.label})]})}function lo(r){const c=r.width,u=r.height,x=c/2,m=u/2,b=Math.min(c,u)*.3;return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full",children:[e.jsxs("defs",{children:[e.jsxs("radialGradient",{id:`ct-g-${r.id}`,cx:"40%",cy:"35%",children:[e.jsx("stop",{offset:"0%",stopColor:"#f5f0f8"}),e.jsx("stop",{offset:"100%",stopColor:"#ede7f6"})]}),e.jsx("filter",{id:`ct-sh-${r.id}`,x:"-15%",y:"-15%",width:"130%",height:"140%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.2",floodColor:"#6a5a4a",floodOpacity:"0.1"})})]}),e.jsx("circle",{cx:x,cy:m,r:b,fill:`url(#ct-g-${r.id})`,stroke:"#b0a0c0",strokeWidth:.8,filter:`url(#ct-sh-${r.id})`}),e.jsx("circle",{cx:x-b*.2,cy:m-b*.2,r:b*.25,fill:"white",opacity:.3}),e.jsx("line",{x1:x,y1:m+b,x2:x,y2:m+b+4,stroke:"#b0a0c0",strokeWidth:1.5})]})}function El(r){const c=r.width,u=r.height,x=c/2,m=6,b=We(r),v=b.hiddenChairs??[],M=(b.chairSpacing??100)/100,w=(m+4)*M,N=Math.min(c*.35,(u-w-8)*.55),B=u-w-4,W=b.seatCount,j=W??Math.max(2,Math.floor(c/22));return e.jsxs("svg",{width:c,height:u,viewBox:`0 0 ${c} ${u}`,className:"w-full h-full overflow-visible",children:[e.jsxs("defs",{children:[e.jsxs("linearGradient",{id:`hr-g-${r.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#faf7f2"}),e.jsx("stop",{offset:"100%",stopColor:"#e8ddd0"})]}),e.jsx("filter",{id:`hr-sh-${r.id}`,x:"-10%",y:"-10%",width:"120%",height:"130%",children:e.jsx("feDropShadow",{dx:"0",dy:"1",stdDeviation:"1.5",floodColor:"#6a5a4a",floodOpacity:"0.12"})})]}),e.jsx("path",{d:`M ${x-N},${B} A ${N},${N} 0 0,1 ${x+N},${B} L ${x-N},${B}`,fill:`url(#hr-g-${r.id})`,stroke:"#c9b99a",strokeWidth:.8,filter:`url(#hr-sh-${r.id})`}),(()=>{const S=Wt(r);let P=0;return Array.from({length:j}).map((K,R)=>
46{if(v.includes(R))return null;const _=Se(P++,S),D=Math.PI+(R+.5)/j*Math.PI,T=x+Math.cos(D)*(N+w),Y=B+Math.sin(D)*(N+w),I=_.fill==="#d4ad94",H=I?"#d4a88e":_.fill,U=I?"#b8907a":_.stroke,J=I?"#c09478":"#c4b498";return e.jsxs("g",{transform:`translate(${T},${Y}) rotate(${D*180/Math.PI+90})`,children:[e.jsx("rect",{x:-m/2,y:-m/2,width:m,height:m,rx:1.5,fill:H,stroke:U,strokeWidth:.5}),e.jsx("rect",{x:-m*.35,y:-m*.8,width:m*.7,height:2,rx:.8,fill:J,stroke:U,strokeWidth:.3})]},`hrc-${R}`)})})(),e.jsx("text",{x,y:B-3,textAnchor:"middle",fontSize:7,fill:"#5a4a3a",fontFamily:"'Playfair Display', serif",children:r.label})]})}function Il(r){const c=_e?.kind==="element"&&_e.id===r.id||!!r.groupId&&r.groupId===nt,u=Wc(r.elementType),x=r.width<=35||r.height<=35,m=r.elementType==="text_label"||r.elementType==="area_label",b=r.elementType==="wall"||r.elementType==="wall_short"||r.elementType==="pipe_drape",v=!r.color||r.color==="transparent",M=Cl(r.elementType),w=r.elementType==="ceremony_aisle"||r.elementType==="aisle_runner",N=r.elementType.startsWith("arbor"),B=r.elementType==="greenery_hedge",W=r.elementType==="flower_pillar",j=r.elementType==="serpentine_table"||r.elementType==="curved_head_table"||r.elementType==="u_shape_table"||r.elementType==="l_shape_table",S=r.elementType.startsWith("round_table_")||r.elementType==="cocktail_table"||r.elementType==="ottoman",P=r.elementType==="wedding_party_marker",R={wedding_party_marker:()=>Dl(r),round_table_6:()=>ya(r),round_table_8:()=>ya(r),round_table_10:()=>ya(r),cocktail_table:()=>lo(r),rect_table_6:()=>ga(r),rect_table_8:()=>ga(r),rect_table_12:()=>ga(r),head_table:()=>Ll(r),sweetheart_table:()=>Ol(r),half_round:()=>El(r),dance_floor:()=>Do(r),dance_floor_sm:()=>Do(r),stage:()=>Gc(r),dj_booth:()=>Hc(r),photo_booth:()=>qc(r),bar:()=>Sa(r),bar_round:()=>Sa(r),bar_square:()=>Sa(r),water_station:()=>Uc(r),food_table:()=>Jc(r),cake_table:()=>ed(r),chuppah:()=>Bc(r),mandap:()=>Tc(r),gazebo:()=>Ac(r),pergola:()=>Pc(r),ceremony_altar:()=>Fc(r),flower_arch:()=>Lc(r),flower_arrangement:()=>Oc(r),aisle_marker:()=>Ec(r),flower_petal_scatter:()=>Ic(r),coffee_table_round:()=>td(r),coffee_table_square:()=>sd(r),coffee_table_rect:()=>rd(r),nesting_tables:()=>id(r),gift_table:()=>ad(r),sofa:()=>od(r),lounge_set:()=>ld(r),bench:()=>nd(r),ottoman:()=>cd(r),chair:()=>dd(r),tree:()=>hd(r),oak_tree:()=>Bo(r),oak_tree_sm:()=>Bo(r),tree_cluster:()=>xd(r),pond:()=>fd(r),lake:()=>pd(r),beach:()=>md(r),fountain:()=>ud(r),garden_bed:()=>yd(r),pathway:()=>gd(r),candelabra:()=>bd(r),lantern:()=>jd(r),guest_book_stand:()=>wd(r),champagne_tower:()=>kd(r),arched_shelf:()=>$d(r),chandelier:()=>vd(r),floral_chandelier:()=>Md(r),fireplace:()=>_d(r),firepit:()=>Cd(r),disco_ball:()=>Nd(r),string_lights:()=>Sd(r),spotlight:()=>Wd(r),uplighting:()=>Dd(r),gobo_light:()=>Bd(r),neon_sign:()=>Td(r),stairs:()=>Vc(r),sailcloth_44x43:()=>Ks(r),sailcloth_44x64:()=>Ks(r),sailcloth_44x84:()=>Ks(r),sailcloth_59x59:()=>Ks(r),sailcloth_59x80:()=>Ks(r),sailcloth_59x100:()=>Ks(r),frame_tent_20x20:()=>Tt(r),frame_tent_20x30:()=>Tt(r),frame_tent_20x40:()=>Tt(r),frame_tent_30x30:()=>Tt(r),frame_tent_30x45:()=>Tt(r),frame_tent_30x60:()=>Tt(r),frame_tent_40x40:()=>Tt(r),frame_tent_40x60:()=>Tt(r),frame_tent_40x80:()=>Tt(r),pole_tent_40x60:()=>Ys(r),pole_tent_40x80:()=>Ys(r),pole_tent_40x100:()=>Ys(r),pole_tent_60x60:()=>Ys(r),pole_tent_60x90:()=>Ys(r),pole_tent_60x120:()=>Ys(r),clear_top_tent_30x30:()=>Wa(r),clear_top_tent_40x60:()=>Wa(r),clear_top_tent_40x80:()=>Wa(r),market_tent_10x10:()=>Kc(r),tent_canopy:()=>Yc(r),tent_pole:()=>Qc(r),tent_sidewall:()=>Zc(r),tent_entrance:()=>Xc(r),cocktail_table_round:()=>lo(r),bar_curved:()=>Na(r),curved_bar:()=>Na(r),aisle_runner:()=>Da(r),ceremony_aisle:()=>Da(r),lawn_game_area:()=>Ad(r),coffee_station:()=>Pd(r),lounge_area:()=>Fd(r),band_area:()=>Ld(r),speaker_sound:()=>Od(r),beverage_station:()=>Ed(r),kids_table:()=>Id(r),signin_table:()=>zd(r),food_truck:()=>Rd(r),custom_area:()=>Gd(r),photo_backdrop:()=>Hd(r),coat_check:()=>qd(r),restroom:()=>To(r),portable_restroom:()=>To(r),heat_lamp:()=>Ud(r),cigar_bar:()=>Vd(r),smores_station:()=>Kd(r),ice_sculpture:()=>Yd(r),whiskey_barrel:()=>Qd(r),balloon_arch:()=>Zd(r),velvet_rope:()=>Xd(r),ceiling_draping:()=>Jd(r),marquee_letters:()=>eh(r),escort_card_display:()=>th(r),favor_table:()=>sh(r),pew:()=>Ao(r),pew_short:()=>Ao(r),column:()=>rh(r),entrance:()=>ih(r),exit_emergency:()=>ah(r),pool:()=>oh(r),parking_area:()=>lh(r),shuttle_dropoff:()=>nh(r),ceremony_sign:()=>ch(r),ceremony_cross:()=>dh(r),ceremony_curtain:()=>jh(r),kids_activity_zone:()=>hh(r),photographer_station:()=>Po(r),videographer_station:()=>Po(r),generator:()=>xh(r),hvac_unit:()=>fh(r),catering_prep:()=>ph(r),trash_station:()=>mh(r),wheelchair_ramp:()=>uh(r),dessert_table:()=>yh(r),unity_table:()=>gh(r),ring_pillow_stand:()=>bh(r),power_drop:()=>wh(r)}[r.elementType],_=We(r).zOrder??0,D=Nc(r,m?3:w?2:b?4:5);return e.jsxs("div",{id:`fp-item-element-${r.id}`,className:"absolute select-none",style:{transform:`translate(${r.x}px, ${r.y}px)${ys(r)?` rotate(${ys(r)}deg)`:""}`,width:r.width,height:r.height,zIndex:c&&_>=0?20:D,touchAction:"none"},"data-nx":r.x,"data-ny":r.y,"data-rotation":ys(r)||"",onMouseDown:T=>y&&eo(T,"element",r.id,r.x,r.y),onTouchStart:T=>y&&eo(T,"element",r.id,r.x,r.y),onClick:T=>{T.stopPropagation(),te||(r.groupId?(xt(r.groupId),Ce(null)):(xt(null),Ce({kind:"element",id:r.id})))},"data-testid":`fp-element-${r.id}`,children:[c&&!m&&!P&&e.jsx("div",{className:"absolute -top-4 left-1/2 -translate-x-1/2 z-30 pointer-events-none whitespace-nowrap",children:e.jsxs("span",{className:"text-[10px] font-semibold text-[#5a4a3a] bg-white/95 border border-[#
46E9C9BB]/60 rounded px-1 py-px shadow-sm",style:{fontFamily:"'Lato', sans-serif"},children:[(r.width/je).toFixed(r.width%je===0?0:1),"′ ×"," ",(r.height/je).toFixed(r.height%je===0?0:1),"′"]})}),m?e.jsx("div",{className:`w-full h-full flex items-center justify-center transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60 rounded":""}`,children:e.jsx("span",{className:`${r.elementType==="area_label"?"text-sm font-semibold":"text-xs font-medium"} text-[#5a4a3a] tracking-wide text-center`,style:{fontFamily:"'Playfair Display', serif"},children:r.label})}):b?e.jsx("div",{className:`w-full h-full transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60":""}`,style:{backgroundColor:r.color||"#9e9e9e",borderRadius:2,boxShadow:"0 1px 3px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.08)"}}):M?e.jsx("div",{className:`w-full h-full transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60 rounded-md shadow-[0_0_8px_rgba(196,168,138,0.25)]":""}`,children:Wl(r)}):w?e.jsx("div",{className:`w-full h-full transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60 rounded-md":""}`,children:Da(r)}):N?e.jsxs("div",{className:`w-full h-full relative transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60 rounded-md shadow-[0_0_8px_rgba(196,168,138,0.25)]":""}`,children:[Bl(r),Ei(r)]}):B?e.jsxs("div",{className:`w-full h-full relative transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60 rounded-md":""}`,children:[zc(r),Ei(r)]}):W?e.jsxs("div",{className:`w-full h-full relative transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60 rounded-full":""}`,children:[Rc(r),Ei(r)]}):j?e.jsx("div",{className:`w-full h-full transition-all duration-200 ${c?"ring-1 ring-[#c4a88a]/60 rounded-md shadow-[0_0_8px_rgba(196,168,138,0.25)]":""}`,children:r.elementType==="bar_curved"?Na(r):r.elementType==="serpentine_table"?Tl(r):r.elementType==="curved_head_table"?Al(r):r.elementType==="u_shape_table"?Pl(r):Fl(r)}):R?e.jsxs("div",{className:`w-full h-full relative transition-all duration-200 ${S?"rounded-full":"rounded-md"} ${c?"ring-1 ring-[#c4a88a]/60 shadow-[0_0_8px_rgba(196,168,138,0.25)]":""}`,children:[R(),Ei(r)]}):e.jsxs("div",{className:`w-full h-full flex flex-col items-center justify-center gap-0.5 transition-all duration-200 rounded-md
47              ${c?"ring-1 ring-[#c4a88a]/60":""}
48              ${v?"":"border border-[#e0d8cc]/60"}
49            `,style:{backgroundColor:v?"transparent":r.color||"#f5ebe0",boxShadow:v?"none":c?"0 2px 8px rgba(0,0,0,0.08), 0 0 6px rgba(196,168,138,0.2)":"0 1px 3px rgba(0,0,0,0.04)"},children:[!x&&e.jsx(u,{className:"w-4 h-4 text-[#8a7a6a]"}),x&&e.jsx(u,{className:"w-3 h-3 text-[#8a7a6a]"}),!x&&r.width>60&&e.jsx("span",{className:"text-[11px] font-medium text-[#6a5a4a] truncate max-w-[90%] text-center leading-tight px-0.5",children:r.label})]})]},`ve-${r.id}`)}const Ni=Ws.trim().toLowerCase(),no=Ni?Sc(Ni):Er.find(r=>r.id===Vr)?.items||[];return e.jsx(Vl,{delayDuration:300,children:e.jsxs("div",{className:"flex flex-col h-[calc(100vh-100px)] min-h-[600px]","data-testid":"floor-plan-container",children:[e.jsx(en,{pageKey:"venue-layout"}),e.jsxs("div",{className:"hidden print:block print-header","data-testid":"print-header",children:[e.jsx("h1",{className:"font-display text-[1.65rem] leading-none text-center text-[#5a4a3a] mb-0.5",style:{fontFamily:"'Playfair Display', serif"},children:l||"Floor Plan"}),ao&&e.jsx("p",{className:"text-center text-sm text-[#9a8b7a] mt-0",children:ao}),e.jsxs("p",{className:"text-center text-xs text-[#8a7a6a] mt-0",children:[vt," — ",Ke," × ",De," ft —"," ",Q.filter(r=>Vs.includes(r.elementType)).length," tables,"," ",f.length," guests"]}),e.jsx("div",{className:"border-b border-[#e8ddd0] mt-2 mb-1.5"})]}),e.jsxs("div",{className:"flex flex-col flex-1 overflow-hidden rounded-xl border border-[#e8ddd0] bg-white dark:bg-card print:border-0 print:rounded-none",children:[e.jsxs("div",{className:"flex items-center gap-1 px-3 py-1 border-b border-[#e8ddd0] bg-[#faf6f0] overflow-x-auto shrink-0 print:hidden","data-testid":"room-tabs-bar",children:[Ve.map(r=>e.jsx("button",{onClick:()=>{be(r.id),Ce(null)},className:`shrink-0 px-3 py-1 text-[11px] rounded-t-md border border-b-0 transition-colors ${r.id===L?"bg-white text-[#5a4a3a] border-[#e8ddd0] font-medium shadow-sm":"bg-transparent text-[#9a8b7a] border-transparent hover:text-[#5a4a3a] hover:bg-[#f5ebe0]/50"}`,"data-testid":`room-tab-${r.id}`,children:r.name},r.id)),y&&e.jsxs("button",{onClick:()=>{zr(""),Pt(!0)},className:"shrink-0 px-2 py-1 text-[11px] text-[#b08d7a] hover:text-[#5a4a3a] hover:bg-[#
49E9C9BB]/10 rounded transition-colors flex items-center gap-1","data-testid":"button-add-room",children:[e.jsx(Js,{className:"w-3 h-3"})," Add Room"]}),y&&Ve.length>1&&L&&e.jsxs("button",{onClick:()=>ir(!0),className:"shrink-0 ml-auto px-2 py-1 text-[10px] text-[#8a7a6a] hover:text-red-500 rounded transition-colors flex items-center gap-1","data-testid":"button-delete-room",children:[e.jsx($t,{className:"w-3 h-3"})," Remove Room"]})]}),e.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 border-b border-[#e8ddd0] bg-[#fdfbf8] overflow-x-auto shrink-0 print:hidden",style:{scrollbarWidth:"none"},children:[y&&e.jsxs("div",{className:"flex items-center gap-0.5 shrink-0",children:[e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsxs(F,{size:"sm",variant:At?"secondary":"ghost",className:`h-6 text-[10px] px-1.5 ${At?"text-[#5a4a3a]":"text-[#9a8b7a] hover:text-[#5a4a3a]"}`,onClick:()=>Zt(!At),"data-testid":"button-room-config","aria-pressed":At,"aria-label":At?"Hide room settings":"Show room settings",children:[e.jsx(Cn,{className:"w-3 h-3 mr-0.5"})," Room"]})}),e.jsx(ze,{side:"bottom",children:e.jsx("p",{className:"text-xs",children:"Room name, dimensions, floor style, and floor plan image"})})]}),e.jsxs(F,{size:"sm",variant:"ghost",className:"h-6 text-[10px] text-[#b08d7a] hover:text-[#5a4a3a] hover:bg-[#E9C9BB]/10 px-1.5",onClick:()=>fs(!0),"data-testid":"button-seating-generator",children:[e.jsx(Or,{className:"w-3 h-3 mr-0.5"})," Auto-Tables"]}),e.jsxs(F,{size:"sm",variant:"ghost",className:"h-6 text-[10px] text-[#93ABCC] hover:text-[#5a4a3a] hover:bg-[#93ABCC]/10 px-1.5",onClick:()=>gi(!0),"data-testid":"button-wedding-party-layout",children:[e.jsx(Lr,{className:"w-3 h-3 mr-0.5"})," Party",lt.length>0&&e.jsx(wt,{className:"ml-0.5 h-3.5 px-1 text-[7px] bg-[#93ABCC] text-white border-0",children:lt.length})]})]}),y&&e.jsx("div",{className:"w-px h-4 bg-[#e8ddd0]/60 shrink-0"}),y&&e.jsxs("div",{className:"flex items-center gap-0.5 shrink-0",children:[e.jsxs(F,{size:"sm",variant:"ghost",className:"h-6 text-[10px] text-[#9a8b7a] hover:text-[#5a4a3a] px-1.5",onClick:()=>Fs(!0),"data-testid":"button-save-version",children:[e.jsx(Ba,{className:"w-3 h-3 mr-0.5"})," Save Version"]}),e.jsxs(F,{size:"sm",variant:"ghost",className:"h-6 text-[10px] text-[#9a8b7a] hover:text-[#5a4a3a] px-1.5 relative",onClick:()=>Ps(!0),"data-testid":"button-version-history",children:[e.jsx(Nn,{className:"w-3 h-3 mr-0.5"})," Versions",xa.length>0&&e.jsx(wt,{className:"ml-0.5 h-3.5 px-1 text-[7px] bg-[#E9C9BB] text-white border-0",children:xa.length})]}),Es&&e.jsxs(e.Fragment,{children:[e.jsxs(F,{size:"sm",variant:"ghost",className:"h-6 text-[10px] text-[#b08d7a] hover:text-[#5a4a3a] hover:bg-[#E9C9BB]/10 px-1.5",onClick:()=>g(!0),"data-testid":"button-save-template",children:[e.jsx(Pr,{className:"w-3 h-3 mr-0.5"})," Save as Template"]}),e.jsxs(F,{size:"sm",variant:"ghost",className:"h-6 text-[10px] text-[#b08d7a] hover:text-[#5a4a3a] hover:bg-[#E9C9BB]/10 px-1.5 relative",onClick:()=>ce(!0),"data-testid":"button-load-template",children:[e.jsx(Sn,{className:"w-3 h-3 mr-0.5"})," Load Template",Is.length>0&&e.jsx(wt,{className:"ml-0.5 h-3.5 px-1 text-[7px] bg-[#E9C9BB] text-white border-0",children:Is.length})]})]})]}),e.jsx("div",{className:"flex-1"}),e.jsxs("div",{className:"flex items-center gap-0.5 shrink-0",children:[y&&e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a] print:hidden disabled:opacity-30",onClick:ca,disabled:Jo===0||Vt,"data-testid":"button-undo","aria-label":"Undo",children:e.jsx(Wn,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",className:"text-[10px]",children:"Undo (Ctrl+Z)"})]}),y&&e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a] print:hidden disabled:opacity-30",onClick:da,disabled:el===0||Vt,"data-testid":"button-redo","aria-label":"Redo",children:e.jsx(Dn,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",className:"text-[10px]",children:"Redo (Ctrl+Y)"})]}),e.jsx("div",{className:"w-px h-3 bg-[#e8ddd0]/60 mx-0.5"}),e.jsxs("div",{className:"flex items-center gap-0 bg-[#f5ebe0]/60 rounded px-0.5 border border-[#e8ddd0]/60",children:[e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a]",onClick:()=>_t(r=>Math.min(2.5,r+.15)),"data-testid":"button-zoom-in","aria-label":"Zoom in",children:e.jsx(Bn,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",className:"text-[10px]",children:"Zoom in (or pinch / Ctrl+scroll)"})]}),e.jsxs("span",{className:"text-[10px] text-[#9a8b7a] min-w-[1.5rem] text-center font-medium",children:[Math.round(Mt*100),"%"]}),e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a]",onClick:()=>_t(r=>
49Math.max(.2,r-.15)),"data-testid":"button-zoom-out","aria-label":"Zoom out",children:e.jsx(Tn,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",className:"text-[10px]",children:"Zoom out (or pinch / Ctrl+scroll)"})]}),e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a]",onClick:()=>{_t(.7),Ur({x:20,y:20})},"data-testid":"button-reset-zoom","aria-label":"Reset zoom and pan",children:e.jsx(An,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",className:"text-[10px]",children:"Reset zoom & pan (70%)"})]})]}),e.jsx("div",{className:"w-px h-3 bg-[#e8ddd0]/60 mx-0.5"}),e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:dt?"secondary":"ghost",className:"h-5 w-5 text-[#9a8b7a]",onClick:()=>mt(!dt),"data-testid":"button-toggle-dimensions","aria-label":"Toggle dimensions",children:e.jsx(Mo,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",children:e.jsxs("p",{className:"text-xs",children:[dt?"Hide":"Show"," dimension rulers"]})})]}),e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:rr?"secondary":"ghost",className:"h-5 w-5 text-[#9a8b7a]",onClick:()=>zi(!rr),"data-testid":"button-toggle-table-numbers","aria-label":"Toggle table numbers",children:e.jsx(Pn,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",children:e.jsxs("p",{className:"text-xs",children:[rr?"Hide":"Show"," table numbers"]})})]}),e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:at?"secondary":"ghost",className:"h-5 w-5 text-[#9a8b7a]",onClick:()=>vs(r=>!r),"data-testid":"button-toggle-sidebar","aria-label":"Toggle sidebar",children:at?e.jsx(co,{className:"w-3 h-3"}):e.jsx(ko,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",children:e.jsxs("p",{className:"text-xs",children:[at?"Hide":"Show"," detail panel"]})})]}),e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:ht?"secondary":"ghost",className:`h-5 w-5 ${ht?"text-primary":"text-[#9a8b7a]"}`,onClick:()=>Ri(!ht),"data-testid":"button-toggle-snap","aria-label":ht?"Disable snap to grid":"Enable snap to grid",children:e.jsx(Xs,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",children:e.jsx("p",{className:"text-xs",children:ht?`Snap to grid (${it/je}ft)`:"Enable snap to grid"})})]}),ht&&e.jsxs(Zl,{children:[e.jsx(Xl,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-primary","data-testid":"button-snap-size","aria-label":"Change grid size",children:e.jsx(Kl,{className:"w-3 h-3"})})}),e.jsxs(Jl,{align:"start",className:"min-w-[120px]",children:[e.jsxs(Di,{onClick:()=>$s(12),"data-testid":"menu-snap-1ft",children:[it===12&&e.jsx("span",{className:"mr-1",children:"✓"})," 1 ft grid"]}),e.jsxs(Di,{onClick:()=>$s(24),"data-testid":"menu-snap-2ft",children:[it===24&&e.jsx("span",{className:"mr-1",children:"✓"})," 2 ft grid"]}),e.jsxs(Di,{onClick:()=>$s(36),"data-testid":"menu-snap-3ft",children:[it===36&&e.jsx("span",{className:"mr-1",children:"✓"})," 3 ft grid"]}),e.jsxs(Di,{onClick:()=>$s(60),"data-testid":"menu-snap-5ft",children:[it===60&&e.jsx("span",{className:"mr-1",children:"✓"})," 5 ft grid"]})]})]}),e.jsx("div",{className:"w-px h-3 bg-[#e8ddd0]/60 mx-0.5"}),e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a] print:hidden",onClick:Jt,disabled:nr,"data-testid":"button-export-pdf","aria-label":"Export pdf",children:nr?e.jsx(Re,{className:"h-3 h-3 animate-spin"}):e.jsx(Fn,{className:"w-3 h-3"})}),e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a] print:hidden",onClick:jl,"data-testid":"button-print","aria-label":"Print floor plan",children:e.jsx(Ln,{className:"w-3 h-3"})}),y&&e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-red-400 hover:text-red-500 hover:bg-red-50 print:hidden",onClick:wl,disabled:Q.length===0&&i.length===0,"data-testid":"button-clear-all","aria-label":"Clear room",children:e.jsx($t,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",className:"text-[10px]",children:"Clear room"})]})]})]}),e.jsx(va,{children:Yr&&y&&e.jsxs(Ma.div,{initial:{height:0,opacity:0}
49,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.15},className:"border-b border-[#e8ddd0] bg-[#faf7f3] dark:bg-card overflow-hidden shrink-0","data-testid":"furniture-catalog",children:[e.jsxs("div",{className:"flex items-center gap-0 px-1.5 pt-1 pb-0",children:[Er.map(r=>e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsxs("button",{onClick:()=>{fr(""),Kr(r.id)},className:`flex items-center gap-1 px-2 py-1 text-[10px] rounded-t-md border-b-2 transition-colors ${Vr===r.id&&!Ni?"text-[#5a4a3a] border-[#E9C9BB] font-medium bg-white/60":"text-[#9a8b7a] border-transparent hover:text-[#5a4a3a] hover:bg-white/40"}`,"data-testid":`catalog-tab-${r.id}`,children:[e.jsx(r.icon,{className:"w-3 h-3"}),e.jsx("span",{className:"hidden sm:inline",children:r.label})]})}),e.jsx(ze,{side:"bottom",className:"text-xs sm:hidden",children:r.label})]},r.id)),e.jsx("div",{className:"flex-1"}),e.jsxs("div",{className:"relative shrink-0 mr-1",children:[e.jsx(On,{className:"w-3 h-3 absolute left-1.5 top-1/2 -translate-y-1/2 text-[#9a8b7a] pointer-events-none"}),e.jsx(ye,{value:Ws,onChange:r=>fr(r.target.value),placeholder:"Search items...",className:"h-6 w-32 sm:w-40 pl-6 pr-5 text-[10px] bg-white/70 border-[#e8ddd0] focus-visible:ring-[#E9C9BB]","data-testid":"input-catalog-search"}),Ws&&e.jsx("button",{type:"button",className:"absolute right-1 top-1/2 -translate-y-1/2 text-[#9a8b7a] hover:text-[#5a4a3a]",onClick:()=>fr(""),"data-testid":"button-clear-catalog-search","aria-label":"Clear catalog search",children:e.jsx(ws,{className:"w-3 h-3"})})]}),e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 text-[#9a8b7a] hover:text-[#5a4a3a]",onClick:()=>Qr(!1),"aria-label":"Close catalog",children:e.jsx(ws,{className:"w-3 h-3"})})]}),e.jsxs("div",{className:"flex gap-1 px-1.5 py-1.5 overflow-x-auto",style:{scrollbarWidth:"none"},children:[Ni&&no.length===0&&e.jsx("span",{className:"text-[10px] text-[#9a8b7a] italic px-2 py-1.5",children:"No items match your search"}),no.map(r=>{const c=r.icon;return e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsxs("button",{className:"shrink-0 flex items-center gap-1.5 px-2 py-1.5 rounded-md border border-[#e8ddd0]/60 hover:border-[#c4a88a]/40 hover:bg-[#faf6f0] active:bg-[#f5ebe0] transition-all bg-white/70 shadow-[0_0.5px_1px_rgba(0,0,0,0.04)]",onClick:()=>cl(r),"data-testid":`catalog-item-${r.type}`,children:[e.jsx("div",{className:"w-5 h-5 rounded flex items-center justify-center shrink-0",style:{backgroundColor:r.color==="transparent"?"#faf7f3":r.color},children:e.jsx(c,{className:"w-2.5 h-2.5 text-[#7a6a5a]"})}),e.jsx("span",{className:"text-[10px] font-medium text-[#5a4a3a] whitespace-nowrap",children:r.label})]})}),e.jsx(ze,{side:"bottom",className:"text-xs",children:r.description||r.label})]},r.type)})]})]})}),!Yr&&y&&e.jsx("div",{className:"border-b border-[#e8ddd0] bg-[#faf7f3] px-2 py-1 shrink-0",children:e.jsxs(F,{size:"sm",variant:"ghost",className:"h-6 text-[10px] text-[#b08d7a] hover:text-[#5a4a3a]",onClick:()=>Qr(!0),"data-testid":"button-open-catalog",children:[e.jsx(Js,{className:"w-3 h-3 mr-1"})," Add Furniture"]})}),e.jsx(va,{children:At&&e.jsx(Ma.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},className:"border-b border-[#e8ddd0] bg-[#fdfbf8] overflow-hidden shrink-0",children:e.jsxs("div",{className:"p-2 flex flex-wrap items-end gap-3",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(X,{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider",children:"Room Name"}),e.jsx(ye,{value:Xt||vt,onChange:r=>ar(r.target.value),onFocus:()=>ar(vt),onBlur:()=>{L&&Xt.trim()&&Xt!==vt&&Ge.mutate({id:L,updates:{name:Xt.trim()}}),ar("")},onKeyDown:r=>{r.key==="Enter"&&r.currentTarget.blur()},className:"h-6 text-xs w-40 border-[#e8ddd0] focus:border-[#E9C9BB] focus:ring-[#E9C9BB]/20","data-testid":"input-room-name"})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(X,{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider",children:"Width (ft)"}),e.jsx(ye,{type:"number",value:Ir,onChange:r=>er(r.target.value),onBlur:()=>{const r=Math.max(20,Math.min(300,parseInt(Ir)||100));er(String(r)),L&&r!==Ke&&Ge.mutate({id:L,updates:{widthFt:r}})},onKeyDown:r=>{r.key==="Enter"&&r.currentTarget.blur()}
49,className:"h-6 text-xs w-16 border-[#e8ddd0] focus:border-[#E9C9BB] focus:ring-[#E9C9BB]/20","data-testid":"input-room-width"})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(X,{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider",children:"Depth (ft)"}),e.jsx(ye,{type:"number",value:tr,onChange:r=>sr(r.target.value),onBlur:()=>{const r=Math.max(20,Math.min(300,parseInt(tr)||70));sr(String(r)),L&&r!==De&&Ge.mutate({id:L,updates:{heightFt:r}})},onKeyDown:r=>{r.key==="Enter"&&r.currentTarget.blur()},className:"h-6 text-xs w-16 border-[#e8ddd0] focus:border-[#E9C9BB] focus:ring-[#E9C9BB]/20","data-testid":"input-room-depth"})]}),e.jsxs("p",{className:"text-[11px] text-[#8a7a6a]",children:[Ke," x ",De," ft (",Math.round(Ke*De)," sq ft)"]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(X,{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider",children:"Floor Style"}),e.jsx("div",{className:"flex flex-wrap gap-1","data-testid":"floor-style-selector",children:Ta.map(r=>e.jsx("button",{onClick:()=>{L&&Ge.mutate({id:L,updates:{floorStyle:r.id}})},className:`w-6 h-6 rounded-sm border-2 transition-all ${(oe?.floorStyle||"grid")===r.id?"border-[#E9C9BB] ring-1 ring-[#E9C9BB]/40 scale-110":"border-[#e8ddd0] hover:border-[#c9b99a]"}`,style:{backgroundColor:r.color},title:r.label,"data-testid":`floor-style-${r.id}`},r.id))})]}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(X,{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider",children:"Floor Plan Image"}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("input",{ref:Cs,type:"file",accept:"image/jpeg,image/png,image/webp",className:"hidden",onChange:kl,"data-testid":"input-floor-plan-upload"}),e.jsxs(F,{size:"sm",variant:"outline",className:"h-6 text-[10px] px-2 border-[#e8ddd0]",onClick:()=>Cs.current?.click(),disabled:Hr,"data-testid":"button-upload-floor-plan",children:[Hr?e.jsx(Re,{className:"w-3 h-3 animate-spin mr-1"}):e.jsx(En,{className:"w-3 h-3 mr-1"}),oe?.floorPlanImageUrl?"Replace":"Upload"]}),oe?.floorPlanImageUrl&&e.jsxs(e.Fragment,{children:[e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-6 w-6",onClick:()=>{L&&Ge.mutate({id:L,updates:{floorPlanVisible:!(oe?.floorPlanVisible??!0)}})},"data-testid":"button-toggle-floor-plan",disabled:Ge.isPending,"aria-label":"Toggle floor plan",children:oe?.floorPlanVisible??!0?e.jsx(co,{className:"w-3 h-3 text-[#9a8b7a]"}):e.jsx(ko,{className:"w-3 h-3 text-[#c0b0a0]"})})}),e.jsx(ze,{side:"bottom",className:"text-xs",children:oe?.floorPlanVisible??!0?"Hide floor plan":"Show floor plan"})]}),e.jsxs(Ee,{children:[e.jsx(Ie,{asChild:!0,children:e.jsx(F,{size:"icon",variant:"ghost",className:"h-6 w-6 text-red-400 hover:text-red-500",onClick:()=>{L&&(Ge.mutate({id:L,updates:{floorPlanImageUrl:null,floorPlanVisible:!0}}),d({title:"Floor plan removed"}))},"data-testid":"button-remove-floor-plan",disabled:Ge.isPending,"aria-label":"Remove floor plan",children:e.jsx($t,{className:"w-3 h-3"})})}),e.jsx(ze,{side:"bottom",className:"text-xs",children:"Remove floor plan"})]})]})]}),oe?.floorPlanImageUrl&&e.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[e.jsx(X,{className:"text-[10px] text-[#8a7a6a] whitespace-nowrap",children:"Opacity"}),e.jsx(Qs,{min:0,max:100,step:5,value:[oe?.floorPlanOpacity??50],onValueChange:([r])=>{L&&Ge.mutate({id:L,updates:{floorPlanOpacity:r}})},className:"w-24","data-testid":"slider-floor-plan-opacity"}),e.jsxs("span",{className:"text-[10px] text-[#8a7a6a] w-6 text-right",children:[oe?.floorPlanOpacity??50,"%"]})]})]})]})})}),e.jsxs("div",{className:"flex-1 relative overflow-hidden bg-[#f0ece6]",ref:A,children:[e.jsx("div",{ref:C,className:"w-full h-full select-none",style:{cursor:He||te?"grabbing":"grab",touchAction:"none"},onMouseDown:to,onTouchStart:to,onMouseMove:so,onTouchMove:so,onMouseUp:ua,onTouchEnd:ua,onMouseLeave:ua,"data-canvas":"true","data-testid":"fp-canvas",children:e.jsxs("div",{ref:O,style:{transform:`translate(${Ss.x}px, ${Ss.y}px) scale(${Mt})`,transformOrigin:"0 0",width:Ae,height:we,position:"relative",overflow:"visible"},"data-canvas":"true",children:[e.jsxs("div",{className:"absolute inset-0 border border-[#d5ccc5]/50 rounded",style:Wo(oe?.floorStyle).bgStyle,"data-canvas":"true",children:[oe?.floorPlanImageUrl&&(oe?.floorPlanVisible??!0)&&e.jsx("img",{src:oe.floorPlanImageUrl,alt:"Floor plan",className:"absolute inset-0 w-full h-full object-fill pointer-events-none",style:{opacity:(oe?.floorPlanOpacity??50)/100,zIndex:1},"data-floor-plan-image":"true","data-testid":"floor-plan-background-image",crossOrigin:"anonymous"}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{backgroundImage:`
50                        linear-gradient(to right, ${(oe?.floorStyle||"grid")==="grid"?"#e0d8cc":"rgba(0,0,0,0.05)"} 0.5px, transparent 0.5px),
51                        linear-gradient(to bottom, ${(oe?.floorStyle||"grid")==="grid"?"#e0d8cc":"rgba(0,0,0,0.05)"} 0.5px, transparent 0.5px)
52                      `,backgroundSize:`${je}px ${je}px`,opacity:(oe?.floorStyle||"grid")==="grid"?.2:.1,zIndex:2},"data-canvas":"true"}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{backgroundImage:`
53                        linear-gradient(to right, ${(oe?.floorStyle||"grid")==="grid"?"#ccc4b4":"rgba(0,0,0,0.08)"} 0.5px, transparent 0.5px),
54                        linear-gradient(to bottom, ${(oe?.floorStyle||"grid")==="grid"?"#ccc4b4":"rgba(0,0,0,0.08)"} 0.5px, transparent 0.5px)
55                      `,backgroundSize:`${je*5}px ${je*5}px`,opacity:(oe?.floorStyle||"grid")==="grid"?.18:.08},"data-canvas":"true"}),ht&&e.jsx("div",{className:"absolute inset-0 pointer-events-none",style:{backgroundImage:`
56                          linear-gradient(to right, rgba(201,185,154,0.2) 0.5px, transparent 0.5px),
57                          linear-gradient(to bottom, rgba(201,185,154,0.2) 0.5px, transparent 0.5px)
58                        `,backgroundSize:`${it}px ${it}px`},"data-canvas":"true"})]}),_l(),[...Q].sort((r,c)=>(We(r).zOrder??0)-(We(c).zOrder??0)).map(r=>Il(r)),Q.length===0&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none","data-canvas":"true",children:e.jsxs("div",{className:"text-center",children:[e.jsx("p",{className:"text-[10px] tracking-[0.3em] uppercase text-[#c4b4a4] mb
58-3",children:"Venue"}),e.jsx("p",{className:"text-3xl font-light text-[#9a8b7a]/60 italic",style:{fontFamily:"'Playfair Display', serif"},children:"Design Your Space"}),e.jsx("div",{className:"w-10 h-px bg-[#d9cfc6] mx-auto mt-3 mb-3"}),e.jsx("p",{className:"text-xs text-[#b8a898] max-w-[220px] leading-relaxed",children:"Add furniture from the toolbar to begin building your layout"})]})})]})}),e.jsx("div",{className:"absolute bottom-2 left-2 z-10 flex items-center gap-2 print:block","data-testid":"scale-ruler",children:e.jsxs("div",{className:"bg-white/90 backdrop-blur-sm rounded border border-[#e8ddd0] px-1.5 py-0.5 flex items-center gap-1.5",children:[e.jsx(Mo,{className:"w-2.5 h-2.5 text-[#9a8b7a]"}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:"flex items-center",children:e.jsx("div",{style:{width:Ml,height:2},className:"bg-[#5a4a3a] rounded-full"})}),e.jsx("span",{className:"text-[10px] text-[#5a4a3a] font-medium mt-0.5",children:"5 ft"})]})]})}),e.jsx(va,{children:at&&(Le||q||nt&&Hs.length>0)&&!te&&e.jsxs(Ma.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{duration:.15},className:"absolute bottom-0 left-0 right-0 sm:top-2 sm:bottom-2 sm:right-2 sm:left-auto z-20 w-full sm:w-72 max-h-[60%] sm:max-h-none bg-white/95 backdrop-blur-sm rounded-t-xl sm:rounded-lg border border-[#e8ddd0] shadow-lg overflow-y-auto flex flex-col print:hidden","data-testid":"fp-sidebar",children:[e.jsx("div",{className:"sm:hidden flex justify-center pt-1.5 pb-0.5",children:e.jsx("div",{className:"w-8 h-1 rounded-full bg-[#d4c4b4]"})}),Le?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-4 pt-4 pb-3 border-b border-[#e8ddd0]",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2 mb-2",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-[9px] tracking-[0.25em] uppercase text-[#9a8b7a] mb-1",children:Le.tableNumber!=null?`Table ${Le.tableNumber}`:Le.shape==="rect"?"Rectangular":"Round"}),e.jsx("h3",{className:"font-display text-lg font-light text-[#3d2f24] truncate leading-snug","data-testid":"sidebar-table-name",children:Le.tableName}),e.jsxs("p",{className:`text-[11px] mt-0.5 ${Sr.length>Le.capacity?"text-red-500":"text-[#9a8b7a]"}`,children:[Sr.length," of ",Le.capacity," seats"]})]}),e.jsx(F,{size:"icon",variant:"ghost",className:"h-6 w-6 shrink-0 text-[#9a8b7a]",onClick:()=>Ce(null),"data-testid":"button-close-detail","aria-label":"Close detail",children:e.jsx(ws,{className:"w-3.5 h-3.5"})})]}),e.jsx("div",{className:"h-px bg-[#e8ddd0] relative mb-3",children:Le.capacity>0&&e.jsx("div",{className:"absolute left-0 top-0 h-full bg-[#E9C9BB] transition-all",style:{width:`${Math.min(Sr.length/Le.capacity*100,100)}%`}})}),y&&e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsxs(Me,{size:"sm",className:"text-[11px] h-6 px-2 bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]",onClick:()=>{As(String(Le.id)),os(""),ls(""),ns(""),as(!0)},"data-testid":"button-add-guest-to-table",children:[e.jsx(Wi,{className:"w-3 h-3 mr-1"})," Assign Guest"]}),e.jsxs(F,{size:"sm",variant:"outline",className:"text-[11px] h-6 px-2 border-[#e8ddd0] text-[#5a4a3a]",onClick:()=>ul(Le),"data-testid":"button-edit-table",children:[e.jsx(_a,{className:"w-3 h-3 mr-1"})," Edit"]}),e.jsx(F,{size:"sm",variant:"ghost",className:"text-[11px] h-6 px-1.5 text-red-400 hover:text-red-500",onClick:()=>(Ce(null),fa(Le.id)),"data-testid":"button-delete-table","aria-label":"Delete table",children:e.jsx($t,{className:"w-3 h-3"})})]})]}),e.jsx(Uo,{className:"flex-1 max-h-40",children:e.jsx("div",{className:"p-1.5",children:Sr.length===0?e.jsx("p",{className:"text-[11px] text-[#8a7a6a] text-center py-2 italic",children:"No guests assigned"}):e.jsx("ul",{className:"space-y-0",children:Sr.map(r=>e.jsxs("li",{className:"flex items-center justify-between gap-1 px-1.5 py-1 rounded hover:bg-[#E9C9BB]/5 group text-[10px]",draggable:y,onDragStart:()=>y&&Gt(r.id),onDragEnd:()=>{Gt(null),cs(null)},"data-testid":`sidebar-guest-${r.id}`,children:[e.jsxs("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[y&&e.jsx(In,{className:"w-2.5 h-2.5 text-[#E9C9BB]/30 shrink-0 cursor-grab"}),e.jsx("span",{className:"truncate text-[#5a4a3a]",children:r.guestName}),r.mealPreference&&e.jsx("span",{className:"text-[10px] text-[#9a8b7a] shrink-0",children:e.jsx(zn,{className:"w-2 h-2 inline"})})]}),y&&e.jsx(F,{size:"icon",variant:"ghost",className:"h-4 w-4 shrink-0 text-red-400",onClick:()=>Xa.mutate(r.id),"aria-label":"Remove guest from table",children:e.jsx($t,{className:"w-2 h-2"})})]},r.id))})})})]}):nt&&Hs.length>0?e.jsxs("div",{className:"p-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsxs("h3",{className:"text-xs font-semibold text-[#5a4a3a] truncate flex items-center gap-1",style:{fontFamily:"'Playfair Display', serif"},"data-testid":"sidebar-group-name",children:[e.jsx(Or,{className:"w-3.5 h-3.5 text-[#E9C9BB]"}),nt?.startsWith("tg_")?"Table Group":nt?.startsWith("wp_")?"Wedding Party":"Element Group"]}),e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 shrink-0 text-[#9a8b7a]",onClick:()=>xt(null),"aria-label":"Clear group selection",children:e.jsx(ws,{className:"w-3 h-3"})})]}),e.jsx("div",{className:"flex items-center gap-1 text-[11px] text-[#9a8b7a] mb-2",children:e.jsxs(wt,{variant:"outline",className:"text-[11px] h-4 border-[#
58E9C9BB]/30 bg-[#E9C9BB]/5 text-[#E9C9BB]",children:[Hs.length," elements"]})}),y&&e.jsxs("div",{className:"flex flex-col gap-1",children:[nt?.startsWith("tg_")&&e.jsxs(Me,{size:"sm",className:"text-[11px] h-6 w-full bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a] justify-start",onClick:()=>{const r=Hs.filter(u=>u.elementType!=="dance_floor");let c=0;for(const u of r){const x=u.elementType.match(/_(\d+)$/);x?c+=parseInt(x[1]):c+=8}Va(c||100),Ua(!0)},"data-testid":"button-edit-group-tables",children:[e.jsx(_a,{className:"w-2.5 h-2.5 mr-1"})," Adjust Guest Count"]}),e.jsxs(F,{size:"sm",variant:"outline",className:"text-[11px] h-6 w-full border-[#e8ddd0] text-[#5a4a3a] justify-start",onClick:()=>Ka.mutate(nt),"data-testid":"button-ungroup",disabled:Ka.isPending,children:[e.jsx(Xs,{className:"w-2.5 h-2.5 mr-1"})," Ungroup"]}),e.jsxs(F,{size:"sm",variant:"ghost",className:"text-[11px] h-6 w-full text-red-400 hover:text-red-500 hover:bg-red-50 justify-start",onClick:()=>Ya.mutate(nt),"data-testid":"button-delete-group",disabled:Ya.isPending,children:[e.jsx($t,{className:"w-2.5 h-2.5 mr-1"})," Delete Group"]})]}),(()=>{const r=Hs.filter(c=>c.elementType==="wedding_party_marker");return r.length===0?null:e.jsxs("div",{className:"mt-2 border-t border-[#e8ddd0]/60 pt-2",children:[e.jsx("p",{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider font-semibold mb-1.5",children:"Wedding Party Positions"}),e.jsx("div",{className:"space-y-1 max-h-52 overflow-y-auto",style:{scrollbarWidth:"thin"},children:r.map(c=>{const u=lt.find(x=>x.id===c.weddingPartyMemberId);return e.jsxs("button",{className:"w-full flex items-center gap-1.5 p-1.5 rounded-md border border-[#e8ddd0] hover:bg-[#f5ebe0]/50 hover:border-[#E9C9BB] transition-colors text-left",onClick:()=>{y&&(Pa(c.id),ta(!0))},"data-testid":`group-wp-marker-${c.id}`,children:[e.jsx("div",{className:`w-2 h-2 rounded-full flex-shrink-0 ${u?u.side==="bride"?"bg-[#b8c4d4]":"bg-[#a0b4c8]":c.color?.includes("e91e63")||c.color?.includes("f8bbd0")||c.color?.includes("fce4ec")?"bg-[#b8c4d4]/40":c.color?.includes("1976d2")||c.color?.includes("bbdefb")||c.color?.includes("e3f2fd")||c.color?.includes("cdd8e4")||c.color?.includes("dce3eb")?"bg-[#a0b4c8]/40":"bg-[#9a8b7a]/30"}`}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("p",{className:"text-[10px] text-[#5a4a3a] font-medium truncate",children:c.label||"Unassigned"}),u&&e.jsx("p",{className:"text-[10px] text-[#9a8b7a] truncate",children:u.role})]}),u?e.jsx(wt,{variant:"outline",className:"text-[7px] h-3.5 border-green-200 text-green-600 bg-green-50 shrink-0",children:"Assigned"}):e.jsx(wt,{variant:"outline",className:"text-[7px] h-3.5 border-[#e8ddd0] text-[#9a8b7a] shrink-0",children:"Tap to assign"})]},c.id)})}),y&&e.jsxs("div",{className:"mt-2 border-t border-[#e8ddd0]/40 pt-2",children:[e.jsx("p",{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider font-semibold mb-1",children:"Quick Add Member"}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(ye,{placeholder:"Name...",value:Cr,onChange:c=>sa(c.target.value),className:"h-6 text-[10px] border-[#e8ddd0]","data-testid":"input-group-wp-name"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsxs("select",{value:Rs,onChange:c=>Fa(c.target.value),className:"h-6 text-[10px] border border-[#e8ddd0] rounded-md px-1 bg-white text-[#5a4a3a] flex-1","data-testid":"select-group-wp-role",children:[e.jsx("option",{value:"Maid of Honor",children:"Maid of Honor"}),e.jsx("option",{value:"Matron of Honor",children:"Matron of Honor"}),e.jsx("option",{value:"Bridesmaid",children:"Bridesmaid"}),e.jsx("option",{value:"Best Man",children:"Best Man"}),e.jsx("option",{value:"Groomsman",children:"Groomsman"}),e.jsx("option",{value:"Flower Girl",children:"Flower Girl"}),e.jsx("option",{value:"Ring Bearer",children:"Ring Bearer"}),e.jsx("option",{value:"Officiant",children:"Officiant"}),e.jsx("option",{value:"Usher",children:"Usher"})]}),e.jsxs("div",{className:"flex gap-0.5",children:[e.jsx("button",{onClick:()=>ra("bride"),className:`px-1.5 py-0.5 rounded text-[10px] font-medium transition-colors ${Gs==="bride"?"bg-[#b8c4d4] text-white":"bg-white border border-[#e8ddd0] text-[#9a8b7a]"}`,"data-testid":"button-group-wp-bride",children:"B"}),e.jsx("button",{onClick:()=>ra("groom"),className:`px-1.5 py-0.5 rounded text-[10px] font-medium transition-colors ${Gs==="groom"?"bg-[#a0b4c8] text-white":"bg-white border border-[#e8ddd0] text-[#9a8b7a]"}`,"data-testid":"button-group-wp-groom",children:"G"})]})]}),e.jsx(Me,{size:"sm",disabled:!Cr.trim()||ia,className:"w-full h-6 text-[11px] bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]","data-testid":"button-group-wp-add",onClick:async()=>
58{if(Cr.trim()){aa(!0);try{const c=r.find(m=>!m.weddingPartyMemberId),x=await(await z("POST",`/api/wedding-party${t}`,{name:Cr.trim(),role:Rs,side:Gs,order:lt.filter(m=>m.side===Gs).length})).json();c?(await z("PUT",`/api/venue-elements/${c.id}${t}`,{weddingPartyMemberId:x.id,label:ks(x.name)||x.name,color:Gs==="bride"?Rs==="Maid of Honor"||Rs==="Matron of Honor"?"#c4d4e4":"#dce6f0":Rs==="Best Man"?"#bbdefb":"#e3f2fd"}),G.refetchQueries({queryKey:ge}),d({title:`Added & assigned ${x.name}`})):d({title:`Added ${x.name}`,description:"Click a position above to assign them"}),G.refetchQueries({queryKey:["/api/wedding-party",t]}),sa("")}catch(c){d({title:"Error adding member",description:Qt(c),variant:"destructive"})}finally{aa(!1)}}},children:ia?e.jsx(Re,{className:"w-3 h-3 animate-spin"}):e.jsxs(e.Fragment,{children:[e.jsx(Wi,{className:"w-2.5 h-2.5 mr-1"})," Add Member"]})})]})]})]})})()]}):q?e.jsxs("div",{className:"p-2.5",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("h3",{className:"text-xs font-semibold text-[#5a4a3a] truncate",style:{fontFamily:"'Playfair Display', serif"},"data-testid":"sidebar-element-name",children:q.label}),e.jsx(F,{size:"icon",variant:"ghost",className:"h-5 w-5 shrink-0 text-[#9a8b7a]",onClick:()=>Ce(null),"aria-label":"Close item details",children:e.jsx(ws,{className:"w-3 h-3"})})]}),e.jsxs("div",{className:"flex items-center gap-1 text-[11px] text-[#9a8b7a] flex-wrap mb-1.5",children:[e.jsx(wt,{variant:"outline",className:"text-[11px] h-4 capitalize border-[#e8ddd0]",children:q.elementType.replace(/_/g," ")}),e.jsxs("span",{children:[Zs(q.width),"' x ",Zs(q.height),"'"]}),ys(q)>0&&e.jsxs("span",{children:[ys(q),"°"]}),Vs.includes(q.elementType)&&Bt(q)>0&&e.jsxs(wt,{variant:"outline",className:"text-[11px] h-4 border-[#E9C9BB] text-[#E9C9BB]",children:[Bt(q)," seats"]})]}),y&&e.jsxs("div",{className:"flex items-center gap-1 flex-wrap",children:[e.jsxs(Me,{size:"sm",className:"text-[11px] h-5 px-1.5 bg-[#E9C9BB] hover:bg-[#ddb8a8] text-[#5a4a3a]",onClick:()=>pl(q),"data-testid":"button-edit-element",children:[e.jsx(_a,{className:"w-2.5 h-2.5 mr-0.5"})," Edit"]}),e.jsxs(F,{size:"sm",variant:"outline",className:"text-[11px] h-5 px-1.5 border-[#e8ddd0] text-[#5a4a3a]",onClick:()=>dl(q),"data-testid":"button-duplicate-element",children:[e.jsx(Rn,{className:"w-2.5 h-2.5 mr-0.5"})," Copy"]}),e.jsx(F,{size:"sm",variant:"ghost",className:"text-[11px] h-5 px-1.5 text-red-400 hover:text-red-500",onClick:()=>$i.mutate(q.id),"data-testid":"button-delete-element",disabled:$i.isPending,"aria-label":"Delete element",children:e.jsx($t,{className:"w-2.5 h-2.5"})}),e.jsxs(F,{size:"sm",variant:"outline",className:"text-[11px] h-5 px-1.5 border-[#e8ddd0] text-[#5a4a3a]",title:"Bring to front",disabled:Ue.isPending,onClick:()=>Ue.mutate({id:q.id,updates:{metadata:So(Q,q,"front")}}),children:[e.jsx(Gn,{className:"w-2.5 h-2.5 mr-0.5"})," Front"]}),e.jsxs(F,{size:"sm",variant:"outline",className:"text-[11px] h-5 px-1.5 border-[#e8ddd0] text-[#5a4a3a]",title:"Send to back",disabled:Ue.isPending,onClick:()=>Ue.mutate({id:q.id,updates:{metadata:So(Q,q,"back")}}),children:[e.jsx(Hn,{className:"w-2.5 h-2.5 mr-0.5"})," Back"]})]}),y&&q.elementType==="wedding_party_marker"&&e.jsxs("div",{className:"mt-1.5 space-y-1",children:[e.jsx("div",{className:"flex gap-1",children:e.jsx(ye,{defaultValue:q.label,placeholder:"Enter name...",className:"h-6 text-[10px] border-[#e8ddd0] focus:border-[#93ABCC] focus:ring-[#93ABCC]/20 flex-1",onBlur:r=>{const c=r.target.value.trim();c&&c!==q.label&&(Ye(Q),Ue.mutate({id:q.id,updates:{label:c}}))},onKeyDown:r=>{r.key==="Enter"&&r.currentTarget.blur()},"data-testid":"input-wp-marker-name"})}),lt.length>0&&e.jsxs(F,{size:"sm",variant:"outline",className:"text-[11px] h-5 w-full border-[#e8ddd0] text-[#5a4a3a] justify-start px-1.5",onClick:()=>{Pa(q.id),ta(!0)},"data-testid":"button-assign-wedding-party",children:[e.jsx(Wi,{className:"w-2.5 h-2.5 mr-1 text-[#93ABCC]"}),q.weddingPartyMemberId?`Reassign (${lt.find(r=>r.id===q.weddingPartyMemberId)?.name||"assigned"})`:"Link to Saved Member"]})]}),y&&e.jsxs("div",{className:"mt-2",children:[e.jsx(X,{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider",children:"Rotation"}),e.jsxs("div",{className:"flex items-center gap-2 mt-0.5",children:[e.jsx(Qs,{value:[ys(q)],onValueChange:([r])=>nl(r,q.id),min:0,max:360,step:15,className:"flex-1","data-testid":"slider-rotation"}),e.jsxs("span",{className:"text-[11px] text-[#5a4a3a] min-w-[1.5rem] text-right",children:[ys(q),"°"]})]})]}),Vs.includes(q.elementType)&&e.jsx("div",{className:"mt-2 border-t border-[#e8ddd0]/60 pt-2",children:q.linkedTableId?(()=>{const r=i.find(u=>u.id===q.linkedTableId),c=r?_i(r.id):[];return e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"text-[11px] text-[#9a8b7a] uppercase tracking-wider font-medium",children:"Seating"}),e.jsxs(wt,{variant:"outline",className:`text-[10px] h-3.5 ${c.length>(r?.capacity||0)?"text-red-500 border-red-200":"border-[#e8ddd0]"}`,children:[c.length,"/",r?.capacity||Bt(q)," ","seats"]})]}),y&&e.jsxs("div",{className:"flex items-center gap-1 mb-1.5",children:[e.jsxs(Me,{size:"sm",className:"text-[11px] h-5 px-1.5 bg-[#E9C9BB] text-[#5a4a3a]",onClick:()=>{As(String(q.linkedTableId)),os(""),ls(""),ns(""),as(!0)},"data-testid":"button-assign-guest-element",children:[e.jsx(Wi,{className:"w-2.5 h-2.5 mr-0.5"})," Assign"]}),e.jsxs(F,{size:"sm",variant:"ghost",className:"text-[11px] h-5 px-1.5 text-[#9a8b7a]",onClick:()=>is(q.id),"data-testid":"button-swap-linked-table",children:[e.jsx(Yn,{className:"w-2.5 h-2.5 mr-0.5"})," Swap"]}),e.jsxs(F,{size:"sm",variant:"ghost",className:"text-[11px] h-5 px-1.5 text-[#9a8b7a]",onClick:()=>Ja.mutate(q.id),"data-testid":"button-unlink-table",disabled:Ja.isPending,children:[e.jsx(ws,{className:"w-2.5 h-2.5 mr-0.5"})," Unlink"]})]}),c.length>0?e.jsx("ul",{className:"space-y-0 max-h-28 overflow-y-auto",children:c.map(u=>e.jsxs("li",{className:"flex items-center justify-between gap-1 px-1 py-0.5 rounded hover:bg-[#
58E9C9BB]/5 group text-[10px]",draggable:y,onDragStart:()=>y&&Gt(u.id),onDragEnd:()=>{Gt(null),cs(null)},"data-testid":`element-guest-${u.id}`,children:[e.jsx("span",{className:"truncate text-[#5a4a3a]",children:u.guestName}),y&&e.jsx(F,{size:"icon",variant:"ghost",className:"h-4 w-4 shrink-0 text-red-400",onClick:()=>Xa.mutate(u.id),"aria-label":"Remove guest from table",children:e.jsx($t,{className:"w-2 h-2"})})]},u.id))}):e.jsx("p",{className:"text-[11px] text-[#8a7a6a] italic text-center py-1",children:"No guests assigned"})]})})():y?e.jsxs(F,{size:"sm",variant:"outline",className:"text-[11px] h-6 w-full border-[#e8ddd0] text-[#5a4a3a] justify-start",onClick:()=>{const r=Ga?Ra:Q,c=new Set(r.filter(x=>x.linkedTableId).map(x=>x.linkedTableId));i.filter(x=>!c.has(x.id)).length===0?Mi.mutate({elementId:q.id}):is(q.id)},disabled:Mi.isPending,"data-testid":"button-link-seating",children:[Mi.isPending?e.jsx(Re,{className:"w-2.5 h-2.5 mr-1 animate-spin"}):e.jsx($e,{className:"w-2.5 h-2.5 mr-1 text-[#E9C9BB]"}),"Link to Seating Chart"]}):null})]}):null]})}),e.jsx("div",{className:`absolute bottom-2 left-1/2 -translate-x-1/2 z-20 print:hidden transition-colors ${Vi===-1?"bg-[#E9C9BB]/10":""}`,onDragOver:r=>{r.preventDefault(),cs(-1)},onDragLeave:()=>cs(null),onDrop:r=>{r.preventDefault(),bl()},"data-testid":"unassigned-dock",children:e.jsxs("div",{className:"bg-white/90 backdrop-blur-sm rounded-lg border border-[#e8ddd0] shadow-sm px-3 py-1 flex items-center gap-2",children:[e.jsx("span",{className:"text-[11px] font-medium text-[#5a4a3a] uppercase tracking-wider",children:"Unassigned"}),e.jsx(wt,{variant:"outline",className:"text-[10px] h-4 border-[#e8ddd0]",children:ll.length}),y&&e.jsx(F,{size:"icon",variant:"ghost",className:"h-4 w-4 text-[#E9C9BB]",onClick:()=>{As(""),os(""),ls(""),ns(""),as(!0)},"data-testid":"button-add-unassigned","aria-label":"Add unassigned",children:e.jsx(Js,{className:"w-3 h-3"})})]})})]}),e.jsxs("div",{className:"border-t border-[#e8ddd0] bg-[#fdfbf8] px-3 py-1 flex items-center justify-between shrink-0 print:hidden",children:[e.jsxs("p",{className:"text-[10px] font-semibold text-[#5a4a3a] tracking-wide",style:{fontFamily:"'Playfair Display', serif"},"data-testid":"room-title-bar",children:[vt,l?` — ${l}`:""]}),e.jsxs("div",{className:"flex items-center gap-3 text-[10px] text-[#9a8b7a]",children:[e.jsxs("span",{children:[Ke," x ",De," ft"]}),e.jsxs("span",{children:[Q.filter(r=>Vs.includes(r.elementType)).length," tables"]}),e.jsxs("span",{children:[f.length," guests"]})]})]})]}),e.jsx($h,{linkPickerElementId:Ui,setLinkPickerElementId:is,allElsFetched:Ga,allWeddingElements:Ra,venueElements:Q,tables:i,linkTableMutation:Mi,addRoomOpen:Ms,setAddRoomOpen:Pt,newRoomName:_s,setNewRoomName:zr,createRoomMutation:Ns,weddingId:E,addGuestOpen:ci,setAddGuestOpen:as,guestTableId:jr,setGuestTableId:As,tableGuests:_i,guestName:Ts,setGuestName:os,guestMeal:br,setGuestMeal:ls,handleAddGuestToTable:gl,createGuestMutation:Za,editOpen:ot,setEditOpen:Ds,editLabel:Ot,setEditLabel:Zr,selectedElement:q,editInitials:rs,setEditInitials:ut,editWidth:Et,setEditWidth:Xr,editHeight:es,setEditHeight:Jr,editSeatCount:Nt,setEditSeatCount:ti,editHiddenChairs:ss,setEditHiddenChairs:zt,editChairSpacing:It,setEditChairSpacing:ts,editChairsBothSides:ur,setEditChairsBothSides:Rt,editColor:Ct,setEditColor:ve,editRotation:ei,setEditRotation:mr,saveEditElement:ml,updateElementMutation:Ue,editTableOpen:si,setEditTableOpen:Bs,editTableName:ri,setEditTableName:yr,editTableCapacity:gr,setEditTableCapacity:ii,editTableShape:ai,setEditTableShape:oi,saveEditTable:yl,updateTableMutation:Qa,groupEditOpen:il,setGroupEditOpen:Ua,groupEditGuests:al,setGroupEditGuests:Va,selectedGroupId:nt,setSelectedGroupId:xt,groupElements:Hs,weddingQueryParam:t,activeRoomId:L,elementsQueryKey:ge,seatingGenOpen:mi,setSeatingGenOpen:fs,tgGuests:zs,setTgGuests:Ne,tgSeatsPerTable:ps,setTgSeatsPerTable:ui,tgTableStyle:gt,setTgTableStyle:Mr,tgSpacing:yi,setTgSpacing:Xi,tgDanceFloor:ms,setTgDanceFloor:Ji,generateTableLayout:hl,tgGenerating:_r,wpGenOpen:ea,setWpGenOpen:gi,wpQuickBrideCount:La,setWpQuickBrideCount:Oa,wpQuickGroomCount:Ea,setWpQuickGroomCount:Ia,wpQuickOfficiant:oa,setWpQuickOfficiant:Qo,wpQuickCouple:la,setWpQuickCouple:Zo,wpLayoutStyle:Nr,setWpLayoutStyle:Xo,weddingPartyMembers:lt,savedPartySides:bt,generateWeddingPartyLayout:xl,generateQuickWeddingParty:fl,wpGenerating:Vo,wpAssignOpen:Ko,setWpAssignOpen:ta,wpAddName:Cr,setWpAddName:sa,wpAddR
58ole:Rs,setWpAddRole:Fa,wpAddSide:Gs,setWpAddSide:ra,wpAssignElementId:Yo,wpAdding:ia,setWpAdding:aa,saveSnapshotOpen:Yi,setSaveSnapshotOpen:Fs,snapshotName:ds,setSnapshotName:xi,snapshotDesc:wr,setSnapshotDesc:fi,saveSnapshot:tl,savingSnapshot:Pe,versionHistoryOpen:Ki,setVersionHistoryOpen:Ps,snapshots:xa,restoreSnapshot:sl,restoringId:Qi,deleteSnapshot:rl,canManageTemplates:Es,saveTemplateOpen:kr,setSaveTemplateOpen:g,templateName:Z,setTemplateName:he,templateDesc:yt,setTemplateDesc:Fe,rooms:Ve,roomWidthFt:Ke,roomHeightFt:De,handleSaveTemplate:$l,savingTemplate:pi,loadTemplateOpen:V,setLoadTemplateOpen:ce,venueTemplates:Is,handleApplyTemplate:oo,applyingTemplateId:Ls,handleDeleteTemplate:vl}),e.jsx(_c,{open:Gi,onOpenChange:ir,roomLabel:vt,onConfirm:()=>{L&&qi.mutate(L),ir(!1)}}),e.jsx(Cc,{pending:Os,weddingTitle:l,onCancel:()=>qt(null),onConfirm:r=>{qt(null),oo(r,!0)}})]})})}export{lx as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.