PageSourceSearch

https://casadoaltodacoutada.com/assets/index-DuXwvrBU.js

js casadoaltodacoutada.com collected 2026-10-09 22:02:12 UTC 133,455 bytes, 3 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Index-BkcxZI7V.js","assets/vendor-F98rGg-o.js","assets/supabase-ZuQz0kTS.js","assets/Navbar-BF-sD1sK.js","assets/radix-DqcWmCCS.js","assets/icons-hSkHQ1on.js","assets/NotFound-Vo6K8b2x.js","assets/RetiroRespiraPrimavera-iE0KW_iO.js","assets/Footer-BEYqqKr3.js"])))=>i.map(i=>d[i]);
2var Kt=t=>{throw TypeError(t)};var zt=(t,e,a)=>e.has(t)||Kt("Cannot "+a);var c=(t,e,a)=>(zt(t,e,"read from private field"),a?a.call(t):e.get(t)),z=(t,e,a)=>e.has(t)?Kt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),v=(t,e,a,o)=>(zt(t,e,"write to private field"),o?o.call(t,a):e.set(t,a),a),U=(t,e,a)=>(zt(t,e,"access private method"),a);var mt=(t,e,a,o)=>({set _(r){v(t,e,r,a)},get _(){return c(t,e,o)}});import{r as M,j as P,o as p,v as ro,B as io,c as no,d as At,e as so,H as co}from"./vendor-F98rGg-o.js";import{V as va,R as ya,A as xa,C as wa,T as Ca,D as Pa,P as lo,a as Sa,b as uo}from"./radix-DqcWmCCS.js";import{X as po}from"./icons-hSkHQ1on.js";import"./supabase-ZuQz0kTS.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&o(l)}).observe(document,{childList:!0,subtree:!0});function a(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(r){if(r.ep)return;r.ep=!0;const i=a(r);fetch(r.href,i)}})();const mo="modulepreload",fo=function(t){return"/"+t},Wt={},It=function(e,a,o){let r=Promise.resolve();if(a&&a.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),s=l?.nonce||l?.getAttribute("nonce");r=Promise.allSettled(a.map(u=>{if(u=fo(u),u in Wt)return;Wt[u]=!0;const d=u.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${f}`))return;const h=document.createElement("link");if(h.rel=d?"stylesheet":mo,d||(h.as="script"),h.crossOrigin="",h.href=u,s&&h.setAttribute("nonce",s),document.head.appendChild(h),d)return new Promise((y,n)=>{h.addEventListener("load",y),h.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(l){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l}return r.then(l=>{for(const s of l||[])s.status==="rejected"&&i(s.reason);return e().catch(i)})},ho=1,go=1e6;let qt=0;function bo(){return qt=(qt+1)%Number.MAX_SAFE_INTEGER,qt.toString()}const kt=new Map,Yt=t=>{if(kt.has(t))return;const e=setTimeout(()=>{kt.delete(t),nt({type:"REMOVE_TOAST",toastId:t})},go);kt.set(t,e)},vo=(t,e)=>{switch(e.type){case"ADD_TOAST":return{...t,toasts:[e.toast,...t.toasts].slice(0,ho)};case"UPDATE_TOAST":return{...t,toasts:t.toasts.map(a=>a.id===e.toast.id?{...a,...e.toast}:a)};case"DISMISS_TOAST":{const{toastId:a}=e;return a?Yt(a):t.toasts.forEach(o=>{Yt(o.id)}),{...t,toasts:t.toasts.map(o=>o.id===a||a===void 0?{...o,open:!1}:o)}}case"REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(a=>a.id!==e.toastId)}}},gt=[];let bt={toasts:[]};function nt(t){bt=vo(bt,t),gt.forEach(e=>{e(bt)})}function yo({...t}){const e=bo(),a=r=>nt({type:"UPDATE_TOAST",toast:{...r,id:e}}),o=()=>nt({type:"DISMISS_TOAST",toastId:e});return nt({type:"ADD_TOAST",toast:{...t,id:e,open:!0,onOpenChange:r=>{r||o()}}}),{id:e,dismiss:o,update:a}}function xo(){const[t,e]=M.useState(bt);return M.useEffect(()=>(gt.push(e),()=>{const a=gt.indexOf(e);a>-1&&gt.splice(a,1)}),[t]),{...t,toast:yo,dismiss:a=>nt({type:"DISMISS_TOAST",toastId:a})}}function Ea(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Ea(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function za(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Ea(t))&&(o&&(o+=" "),o+=e);return o}const Jt=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,Xt=za,wo=(t,e)=>a=>{var o;if(e?.variants==null)return Xt(t,a?.class,a?.className);const{variants:r,defaultVariants:i}=e,l=Object.keys(r).map(d=>{const f=a?.[d],h=i?.[d];if(f===null)return null;const y=Jt(f)||Jt(h);return r[d][y]}),s=a&&Object.entries(a).reduce((d,f)=>{let[h,y]=f;return y===void 0||(d[h]=y),d},{}),u=e==null||(o=e.compoundVariants)===null||o===void 0?void 0:o.reduce((d,f)=>{let{class:h,className:y,...n}=f;return Object.entries(n).every(w=>{let[m,g]=w;return Array.isArray(g)?g.includes({...i,...s}[m]):{...i,...s}[m]===g})?[...d,h,y]:d},[]);return Xt(t,l,u,a?.class,a?.className)},Ft="-",Co=t=>{const e=So(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:l=>{const s=l.split(Ft);return s[0]===""&&s.length!==1&&s.shift(),Aa(s,e)||Po(l)},getConflictingClassGroupIds:(l,s)=>{const u=a[l]||[];return s&&o[l]?[...u,...o[l]]:u}}},Aa=(t,e)=>{if(t.length===0)return e.classGroupId;const a=t[0],o=e.nextPart.get(a),r=o?Aa(t.slice(1),o):void 0;if(r)return r;if(e.validators.length===0)return;const i=t.join(Ft);return e.validators.find(({validator:l})=>l(i))?.classGroupId},Zt=/^\[(.+)\]$/,Po=t=>{if(Zt.test(t)){const e=Zt.exec(t)[1],a=e?.substring(0,e.indexOf(":"));if(a)return"arbitrary.."+a}},So=t=>{const{theme:e,prefix:a}=t,o={nextPart:new Map,validators:[]};
vendor: 5,095 bytes, line 2
2return zo(Object.entries(t.classGroups),a).forEach(([i,l])=>{Rt(l,o,i,e)}),o},Rt=(t,e,a,o)=>{t.forEach(r=>{if(typeof r=="string"){const i=r===""?e:ea(e,r);i.classGroupId=a;return}if(typeof r=="function"){if(Eo(r)){Rt(r(o),e,a,o);return}e.validators.push({validator:r,classGroupId:a});return}Object.entries(r).forEach(([i,l])=>{Rt(l,ea(e,i),a,o)})})},ea=(t,e)=>{let a=t;return e.split(Ft).forEach(o=>{a.nextPart.has(o)||a.nextPart.set(o,{nextPart:new Map,validators:[]}),a=a.nextPart.get(o)}),a},Eo=t=>t.isThemeGetter,zo=(t,e)=>e?t.map(([a,o])=>{const r=o.map(i=>typeof i=="string"?e+i:typeof i=="object"?Object.fromEntries(Object.entries(i).map(([l,s])=>[e+l,s])):i);return[a,r]}):t,Ao=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=new Map,o=new Map;const r=(i,l)=>{a.set(i,l),e++,e>t&&(e=0,o=a,a=new Map)};return{get(i){let l=a.get(i);if(l!==void 0)return l;if((l=o.get(i))!==void 0)return r(i,l),l},set(i,l){a.has(i)?a.set(i,l):r(i,l)}}},qa="!",qo=t=>{const{separator:e,experimentalParseClassName:a}=t,o=e.length===1,r=e[0],i=e.length,l=s=>{const u=[];let d=0,f=0,h;for(let g=0;g<s.length;g++){let S=s[g];if(d===0){if(S===r&&(o||s.slice(g,g+i)===e)){u.push(s.slice(f,g)),f=g+i;continue}if(S==="/"){h=g;continue}}S==="["?d++:S==="]"&&d--}const y=u.length===0?s:s.substring(f),n=y.startsWith(qa),w=n?y.substring(1):y,m=h&&h>f?h-f:void 0;return{modifiers:u,hasImportantModifier:n,baseClassName:w,maybePostfixModifierPosition:m}};return a?s=>a({className:s,parseClassName:l}):l},ko=t=>{if(t.length<=1)return t;const e=[];let a=[];return t.forEach(o=>{o[0]==="["?(e.push(...a.sort(),o),a=[]):a.push(o)}),e.push(...a.sort()),e},To=t=>({cache:Ao(t.cacheSize),parseClassName:qo(t),...Co(t)}),Mo=/\s+/,Ro=(t,e)=>{const{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r}=e,i=[],l=t.trim().split(Mo);let s="";for(let u=l.length-1;u>=0;u-=1){const d=l[u],{modifiers:f,hasImportantModifier:h,baseClassName:y,maybePostfixModifierPosition:n}=a(d);let w=!!n,m=o(w?y.substring(0,n):y);if(!m){if(!w){s=d+(s.length>0?" "+s:s);continue}if(m=o(y),!m){s=d+(s.length>0?" "+s:s);continue}w=!1}const g=ko(f).join(":"),S=h?g+qa:g,A=S+m;if(i.includes(A))continue;i.push(A);const T=r(m,w);for(let L=0;L<T.length;++L){const $=T[L];i.push(S+$)}s=d+(s.length>0?" "+s:s)}return s};function No(){let t=0,e,a,o="";for(;t<arguments.length;)(e=arguments[t++])&&(a=ka(e))&&(o&&(o+=" "),o+=a);return o}const ka=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=ka(t[o]))&&(a&&(a+=" "),a+=e);return a};function Oo(t,...e){let a,o,r,i=l;function l(u){const d=e.reduce((f,h)=>h(f),t());return a=To(d),o=a.cache.get,r=a.cache.set,i=s,s(u)}function s(u){const d=o(u);if(d)return d;const f=Ro(u,a);return r(u,f),f}return function(){return i(No.apply(null,arguments))}}const N=t=>{const e=a=>a[t]||[];return e.isThemeGetter=!0,e},Ta=/^\[(?:([a-z-]+):)?(.+)\]$/i,jo=/^\d+\/\d+$/,Io=new Set(["px","full","screen"]),Fo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Do=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Lo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Bo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Uo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,de=t=>He(t)||Io.has(t)||jo.test(t),xe=t=>et(t,"length",Wo),He=t=>!!t&&!Number.isNaN(Number(t)),Tt=t=>et(t,"number",He),rt=t=>!!t&&Number.isInteger(Number(t)),Go=t=>t.endsWith("%")&&He(t.slice(0,-1)),x=t=>Ta.test(t),we=t=>Fo.test(t),$o=new Set(["length","size","percentage"]),Qo=t=>et(t,$o,Ma),Ho=t=>et(t,"position",Ma),_o=new Set(["image","url"]),Vo=t=>et(t,_o,Jo),Ko=t=>et(t,"",Yo),it=()=>!0,et=(t,e,a)=>{const o=Ta.exec(t);return o?o[1]?typeof e=="string"?o[1]===e:e.has(o[1]):a(o[2]):!1},Wo=t=>Do.test(t)&&!Lo.test(t),Ma=()=>!1,Yo=t=>Bo.test(t),Jo=t=>Uo.test(t),Xo=()=>{const t=N("colors"),e=N("spacing"),a=N("blur"),o=N("brightness"),r=N("borderColor"),i=N("borderRadius"),l=N("borderSpacing"),s=N("borderWidth"),u=N("contrast"),d=N("grayscale"),f=N("hueRotate"),h=N("invert"),y=N("gap"),n=N("gradientColorStops"),w=N("gradientColorStopPositions"),m=N("inset"),g=N("margin"),S=N("opacity"),A=N("padding"),T=N("saturate"),L=N("scale"),$=N("sepia"),D=N("skew"),me=N("space"),qe=N("translate"),fe=()=>["auto","contain","none"],ke=()=>["auto","hidden","clip","visible","scroll"],he=()=>["auto",x,e],E=()=>[x,e],Te=()=>["",de,xe],Z=()=>["auto",He,x],Me=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],W=()=>["solid","dashed","dotted","double","none"],Y=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ge=()=>["start","end","center","between","around","evenly","stretch"],C=()=>["","0",x],B=()=>["auto","avoid","all","avoid-page","page","left","right","column"],K=()=>[He,x];return{cacheSize:500,separator:":",theme:{colors:[it],spacing:[de,xe],blur:["none","",we,x],brightness:K(),borderColor:[t],borderRadius:["n
2one","","full",we,x],borderSpacing:E(),borderWidth:Te(),contrast:K(),grayscale:C(),hueRotate:K(),invert:C(),gap:E(),gradientColorStops:[t],gradientColorStopPositions:[Go,xe],inset:he(),margin:he(),opacity:K(),padding:E(),saturate:K(),scale:K(),sepia:C(),skew:K(),space:E(),translate:E()},classGroups:{aspect:[{aspect:["auto","square","video",x]}],container:["container"],columns:[{columns:[we]}],"break-after":[{"break-after":B()}],"break-before":[{"break-before":B()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...Me(),x]}],overflow:[{overflow:ke()}],"overflow-x":[{"overflow-x":ke()}],"overflow-y":[{"overflow-y":ke()}],overscroll:[{overscroll:fe()}],"overscroll-x":[{"overscroll-x":fe()}],"overscroll-y":[{"overscroll-y":fe()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",rt,x]}],basis:[{basis:he()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",x]}],grow:[{grow:C()}],shrink:[{shrink:C()}],order:[{order:["first","last","none",rt,x]}],"grid-cols":[{"grid-cols":[it]}],"col-start-end":[{col:["auto",{span:["full",rt,x]},x]}],"col-start":[{"col-start":Z()}],"col-end":[{"col-end":Z()}],"grid-rows":[{"grid-rows":[it]}],"row-start-end":[{row:["auto",{span:[rt,x]},x]}],"row-start":[{"row-start":Z()}],"row-end":[{"row-end":Z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",x]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",x]}],gap:[{gap:[y]}],"gap-x":[{"gap-x":[y]}],"gap-y":[{"gap-y":[y]}],"justify-content":[{justify:["normal",...ge()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...ge(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...ge(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[A]}],px:[{px:[A]}],py:[{py:[A]}],ps:[{ps:[A]}],pe:[{pe:[A]}],pt:[{pt:[A]}],pr:[{pr:[A]}],pb:[{pb:[A]}],pl:[{pl:[A]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[me]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[me]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",x,e]}],"min-w":[{"min-w":[x,e,"min","max","fit"]}],"max-w":[{"max-w":[x,e,"none","full","min","max","fit","prose",{screen:[we]},we]}],h:[{h:[x,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[x,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[x,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[x,e,"auto","min","max","fit"]}],"font-size":[{text:["base",we,xe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Tt]}],"font-family":[{font:[it]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",x]}],"line-clamp":[{"line-clamp":["none",He,Tt]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",de,x]}],"list-image":[{"list-image":["none",x]}],"list-style-type":[{list:["none","disc","decimal",x]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[S]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[S]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...W(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",de,xe]}],"underline-offset":[{"underline-offset":["auto",de,x]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:E()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",x]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",x]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[S]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...Me(),Ho]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Qo]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Vo]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[w]}
2],"gradient-via-pos":[{via:[w]}],"gradient-to-pos":[{to:[w]}],"gradient-from":[{from:[n]}],"gradient-via":[{via:[n]}],"gradient-to":[{to:[n]}],rounded:[{rounded:[i]}],"rounded-s":[{"rounded-s":[i]}],"rounded-e":[{"rounded-e":[i]}],"rounded-t":[{"rounded-t":[i]}],"rounded-r":[{"rounded-r":[i]}],"rounded-b":[{"rounded-b":[i]}],"rounded-l":[{"rounded-l":[i]}],"rounded-ss":[{"rounded-ss":[i]}],"rounded-se":[{"rounded-se":[i]}],"rounded-ee":[{"rounded-ee":[i]}],"rounded-es":[{"rounded-es":[i]}],"rounded-tl":[{"rounded-tl":[i]}],"rounded-tr":[{"rounded-tr":[i]}],"rounded-br":[{"rounded-br":[i]}],"rounded-bl":[{"rounded-bl":[i]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[S]}],"border-style":[{border:[...W(),"hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[S]}
vendor: 4,461 bytes, line 2
2],"divide-style":[{divide:W()}],"border-color":[{border:[r]}],"border-color-x":[{"border-x":[r]}],"border-color-y":[{"border-y":[r]}],"border-color-s":[{"border-s":[r]}],"border-color-e":[{"border-e":[r]}],"border-color-t":[{"border-t":[r]}],"border-color-r":[{"border-r":[r]}],"border-color-b":[{"border-b":[r]}],"border-color-l":[{"border-l":[r]}],"divide-color":[{divide:[r]}],"outline-style":[{outline:["",...W()]}],"outline-offset":[{"outline-offset":[de,x]}],"outline-w":[{outline:[de,xe]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:Te()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[S]}],"ring-offset-w":[{"ring-offset":[de,xe]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",we,Ko]}],"shadow-color":[{shadow:[it]}],opacity:[{opacity:[S]}],"mix-blend":[{"mix-blend":[...Y(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Y()}],filter:[{filter:["","none"]}],blur:[{blur:[a]}],brightness:[{brightness:[o]}],contrast:[{contrast:[u]}],"drop-shadow":[{"drop-shadow":["","none",we,x]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[f]}],invert:[{invert:[h]}],saturate:[{saturate:[T]}],sepia:[{sepia:[$]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[a]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[u]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[f]}],"backdrop-invert":[{"backdrop-invert":[h]}],"backdrop-opacity":[{"backdrop-opacity":[S]}],"backdrop-saturate":[{"backdrop-saturate":[T]}],"backdrop-sepia":[{"backdrop-sepia":[$]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[l]}],"border-spacing-x":[{"border-spacing-x":[l]}],"border-spacing-y":[{"border-spacing-y":[l]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",x]}],duration:[{duration:K()}],ease:[{ease:["linear","in","out","in-out",x]}],delay:[{delay:K()}],animate:[{animate:["none","spin","ping","pulse","bounce",x]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[L]}],"scale-x":[{"scale-x":[L]}],"scale-y":[{"scale-y":[L]}],rotate:[{rotate:[rt,x]}],"translate-x":[{"translate-x":[qe]}],"translate-y":[{"translate-y":[qe]}],"skew-x":[{"skew-x":[D]}],"skew-y":[{"skew-y":[D]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",x]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",x]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":E()}],"scroll-mx":[{"scroll-mx":E()}],"scroll-my":[{"scroll-my":E()}],"scroll-ms":[{"scroll-ms":E()}],"scroll-me":[{"scroll-me":E()}],"scroll-mt":[{"scroll-mt":E()}],"scroll-mr":[{"scroll-mr":E()}],"scroll-mb":[{"scroll-mb":E()}],"scroll-ml":[{"scroll-ml":E()}],"scroll-p":[{"scroll-p":E()}],"scroll-px":[{"scroll-px":E()}],"scroll-py":[{"scroll-py":E()}],"scroll-ps":[{"scroll-ps":E()}],"scroll-pe":[{"scroll-pe":E()}],"scroll-pt":[{"scroll-pt":E()}],"scroll-pr":[{"scroll-pr":E()}],"scroll-pb":[{"scroll-pb":E()}],"scroll-pl":[{"scroll-pl":E()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",x]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[de,xe,Tt]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","
2none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},Zo=Oo(Xo);function Be(...t){return Zo(za(t))}const er=lo,Ra=M.forwardRef(({className:t,...e},a)=>P.jsx(va,{ref:a,className:Be("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...e}));Ra.displayName=va.displayName;const tr=wo("group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),Na=M.forwardRef(({className:t,variant:e,...a},o)=>P.jsx(ya,{ref:o,className:Be(tr({variant:e}),t),...a}));Na.displayName=ya.displayName;const ar=M.forwardRef(({className:t,...e},a)=>P.jsx(xa,{ref:a,className:Be("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors group-[.destructive]:border-muted/40 hover:bg-secondary group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 group-[.destructive]:focus:ring-destructive disabled:pointer-events-none disabled:opacity-50",t),...e}));ar.displayName=xa.displayName;const Oa=M.forwardRef(({className:t,...e},a)=>P.jsx(wa,{ref:a,className:Be("absolute right-2 top-2 rounded-md p-1 text-foreground
2/50 opacity-0 transition-opacity group-hover:opacity-100 group-[.destructive]:text-red-300 hover:text-foreground group-[.destructive]:hover:text-red-50 focus:opacity-100 focus:outline-none focus:ring-2 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"",...e,children:P.jsx(po,{className:"h-4 w-4"})}));Oa.displayName=wa.displayName;const ja=M.forwardRef(({className:t,...e},a)=>P.jsx(Ca,{ref:a,className:Be("text-sm font-semibold",t),...e}));ja.displayName=Ca.displayName;const Ia=M.forwardRef(({className:t,...e},a)=>P.jsx(Pa,{ref:a,className:Be("text-sm opacity-90",t),...e}));Ia.displayName=Pa.displayName;function or(){const{toasts:t}=xo();return P.jsxs(er,{children:[t.map(function({id:e,title:a,description:o,action:r,...i}){return P.jsxs(Na,{...i,children:[P.jsxs("div",{className:"grid gap-1",children:[a&&P.jsx(ja,{children:a}),o&&P.jsx(Ia,{children:o})]}),r,P.jsx(Oa,{})]},e)}),P.jsx(Ra,{})]})}var ta=["light","dark"],rr="(prefers-color-scheme: dark)",ir=M.createContext(void 0),nr={setTheme:t=>{},themes:[]},sr=()=>{var t;return(t=M.useContext(ir))!=null?t:nr};M.memo(({forcedTheme:t,storageKey:e,attribute:a,enableSystem:o,enableColorScheme:r,defaultTheme:i,value:l,attrs:s,nonce:u})=>{let d=i==="system",f=a==="class"?`var d=document.documentElement,c=d.classList;${`c.remove(${s.map(w=>`'${w}'`).join(",")})`};`:`var d=document.documentElement,n='${a}',s='setAttribute';`,h=r?ta.includes(i)&&i?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${i}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",y=(w,m=!1,g=!0)=>{let S=l?l[w]:w,A=m?w+"|| ''":`'${S}'`,T="";return r&&g&&!m&&ta.includes(w)&&(T+=`d.style.colorScheme = '${w}';`),a==="class"?m||S?T+=`c.add(${A})`:T+="null":S&&(T+=`d[s](n,${A})`),T},n=t?`!function(){${f}${y(t)}}()`:o?`!function(){try{${f}var e=localStorage.getItem('${e}');if('system'===e||(!e&&${d})){var t='${rr}',m=window.matchMedia(t);if(m.media!==t||m.matches){${y("dark")}}else{${y("light")}}}else if(e){${l?`var x=${JSON.stringify(l)};`:""}${y(l?"x[e]":"e",!0)}}${d?"":"else{"+y(i,!1,!1)+"}"}${h}}catch(e){}}()`:`!function(){try{${f}var e=localStorage.getItem('${e}');if(e){${l?`var x=${JSON.stringify(l)};`:""}${y(l?"x[e]":"e",!0)}}else{${y(i,!1,!1)};}${h}}catch(t){}}();`;return M.createElement("script",{nonce:u,dangerouslySetInnerHTML:{__html:n}})});var cr=t=>{switch(t){case"success":return ur;case"info":return mr;case"warning":return pr;case"error":return fr;default:return null}},lr=Array(12).fill(0),dr=({visible:t,className:e})=>p.createElement("div",{className:["sonner-loading-wrapper",e].filter(Boolean).join(" "),"data-visible":t},p.createElement("div",{className:"sonner-spinner"},lr.map((a,o)=>p.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${o}`})))),ur=p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},p.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),pr=p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},p.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),mr=p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},p.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),fr=p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},p.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),hr=p.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},p.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),p.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),gr=()=>{let[t,e]=p.useState(document.hidden);return p.useEffect(()=>{let a=()=>{e(document.hidden)};return document.addEventListener("visibilitychange",a),()=>window.removeEventListener("visibilitychange",a)},[]),t},Nt=1,br=class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>
2{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...o}=t,r=typeof t?.id=="number"||((e=t.id)==null?void 0:e.length)>0?t.id:Nt++,i=this.toasts.find(s=>s.id===r),l=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(s=>s.id===r?(this.publish({...s,...t,id:r,title:a}),{...s,...t,id:r,dismissible:l,title:a}):s):this.addToast({title:a,...o,dismissible:l,id:r}),r},this.dismiss=t=>(this.dismissedToasts.add(t),t||this.toasts.forEach(e=>{this.subscribers.forEach(a=>a({id:e.id,dismiss:!0}))}),this.subscribers.forEach(e=>e({id:t,dismiss:!0})),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,e)=>{if(!e)return;let a;e.loading!==void 0&&(a=this.create({...e,promise:t,type:"loading",message:e.loading,description:typeof e.description!="function"?e.description:void 0}));let o=t instanceof Promise?t:t(),r=a!==void 0,i,l=o.then(async u=>{if(i=["resolve",u],p.isValidElement(u))r=!1,this.create({id:a,type:"default",message:u});else if(yr(u)&&!u.ok){r=!1;let d=typeof e.error=="function"?await e.error(`HTTP error! status: ${u.status}`):e.error,f=typeof e.description=="function"?await e.description(`HTTP error! status: ${u.status}`):e.description;this.create({id:a,type:"error",message:d,description:f})}else if(e.success!==void 0){r=!1;let d=typeof e.success=="function"?await e.success(u):e.success,f=typeof e.description=="function"?await e.description(u):e.description;this.create({id:a,type:"success",message:d,description:f})}}).catch(async u=>{if(i=["reject",u],e.error!==void 0){r=!1;let d=typeof e.error=="function"?await e.error(u):e.error,f=typeof e.description=="function"?await e.description(u):e.description;this.create({id:a,type:"error",message:d,description:f})}}).finally(()=>{var u;r&&(this.dismiss(a),a=void 0),(u=e.finally)==null||u.call(e)}),s=()=>new Promise((u,d)=>l.then(()=>i[0]==="reject"?d(i[1]):u(i[1])).catch(d));return typeof a!="string"&&typeof a!="number"?{unwrap:s}:Object.assign(a,{unwrap:s})},this.custom=(t,e)=>{let a=e?.id||Nt++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},V=new br,vr=(t,e)=>{let a=e?.id||Nt++;return V.addToast({title:t,...e,id:a}),a},yr=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",xr=vr,wr=()=>V.toasts,Cr=()=>V.getActiveToasts(),Ci=Object.assign(xr,{success:V.success,info:V.info,warning:V.warning,error:V.error,custom:V.custom,message:V.message,promise:V.promise,dismiss:V.dismiss,loading:V.loading},{getHistory:wr,getToasts:Cr});function Pr(t,{insertAt:e}={}){if(typeof document>"u")return;let a=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",e==="top"&&a.firstChild?a.insertBefore(o,a.firstChild):a.appendChild(o),o.styleSheet?o.styleSheet.cssText=t:o.appendChild(document.createTextNode(t))}Pr(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
2left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}
2:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);
2--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
3`);function ft(t){return t.label!==void 0}var Sr=3,Er="32px",zr="16px",aa=4e3,Ar=356,qr=14,kr=20,Tr=200;function oe(...t){return t.filter(Boolean).join(" ")}function Mr(t){let[e,a]=t.split("-"),o=[];return e&&o.push(e),a&&o.push(a),o}var Rr=t=>{var e,a,o,r,i,l,s,u,d,f,h;let{invert:y,toast:n,unstyled:w,interacting:m,setHeights:g,visibleToasts:S,heights:A,index:T,toasts:L,expanded:$,removeToast:D,defaultRichColors:me,closeButton:qe,style:fe,cancelButtonStyle:ke,actionButtonStyle:he,className:E="",descriptionClassName:Te="",duration:Z,position:Me,gap:W,loadingIcon:Y,expandByDefault:ge,classNames:C,icons:B,closeButtonAriaLabel:K="Close toast",pauseWhenPageIsHidden:k}=t,[R,j]=p.useState(null),[_,Ue]=p.useState(null),[I,wt]=p.useState(!1),[tt,ut]=p.useState(!1),[at,Ct]=p.useState(!1),[Bt,Ha]=p.useState(!1),[_a,Ut]=p.useState(!1),[Va,Pt]=p.useState(0),[Ka,Gt]=p.useState(0),ot=p.useRef(n.duration||Z||aa),$t=p.useRef(null),Re=p.useRef(null),Wa=T===0,Ya=T+1<=S,J=n.type,Ge=n.dismissible!==!1,Ja=n.className||"",Xa=n.descriptionClassName||"",pt=p.useMemo(()=>A.findIndex(b=>b.toastId===n.id)||0,[A,n.id]),Za=p.useMemo(()=>{var b;return(b=n.closeButton)!=null?b:qe},[n.closeButton,qe]),Qt=p.useMemo(()=>n.duration||Z||aa,[n.duration,Z]),St=p.useRef(0),$e=p.useRef(0),Ht=p.useRef(0),Qe=p.useRef(null),[eo,to]=Me.split("-"),_t=p.useMemo(()=>A.reduce((b,q,O)=>O>=pt?b:b+q.height,0),[A,pt]),Vt=gr(),ao=n.invert||y,Et=J==="loading";$e.current=p.useMemo(()=>pt*W+_t,[pt,_t]),p.useEffect(()=>{ot.current=Qt},[Qt]),p.useEffect(()=>{wt(!0)},[]),p.useEffect(()=>{let b=Re.current;if(b){let q=b.getBoundingClientRect().height;return Gt(q),g(O=>[{toastId:n.id,height:q,position:n.position},...O]),()=>g(O=>O.filter(ee=>
3ee.toastId!==n.id))}},[g,n.id]),p.useLayoutEffect(()=>{if(!I)return;let b=Re.current,q=b.style.height;b.style.height="auto";let O=b.getBoundingClientRect().height;b.style.height=q,Gt(O),g(ee=>ee.find(te=>te.toastId===n.id)?ee.map(te=>te.toastId===n.id?{...te,height:O}:te):[{toastId:n.id,height:O,position:n.position},...ee])},[I,n.title,n.description,g,n.id]);let be=p.useCallback(()=>{ut(!0),Pt($e.current),g(b=>b.filter(q=>q.toastId!==n.id)),setTimeout(()=>{D(n)},Tr)},[n,D,g,$e]);p.useEffect(()=>{if(n.promise&&J==="loading"||n.duration===1/0||n.type==="loading")return;let b;return $||m||k&&Vt?(()=>{if(Ht.current<St.current){let q=new Date().getTime()-St.current;ot.current=ot.current-q}Ht.current=new Date().getTime()})():ot.current!==1/0&&(St.current=new Date().getTime(),b=setTimeout(()=>{var q;(q=n.onAutoClose)==null||q.call(n,n),be()},ot.current)),()=>clearTimeout(b)},[$,m,n,J,k,Vt,be]),p.useEffect(()=>{n.delete&&be()},[be,n.delete]);function oo(){var b,q,O;return B!=null&&B.loading?p.createElement("div",{className:oe(C?.loader,(b=n?.classNames)==null?void 0:b.loader,"sonner-loader"),"data-visible":J==="loading"},B.loading):Y?p.createElement("div",{className:oe(C?.loader,(q=n?.classNames)==null?void 0:q.loader,"sonner-loader"),"data-visible":J==="loading"},Y):p.createElement(dr,{className:oe(C?.loader,(O=n?.classNames)==null?void 0:O.loader),visible:J==="loading"})}return p.createElement("li",{tabIndex:0,ref:Re,className:oe(E,Ja,C?.toast,(e=n?.classNames)==null?void 0:e.toast,C?.default,C?.[J],(a=n?.classNames)==null?void 0:a[J]),"data-sonner-toast":"","data-rich-colors":(o=n.richColors)!=null?o:me,"data-styled":!(n.jsx||n.unstyled||w),"data-mounted":I,"data-promise":!!n.promise,"data-swiped":_a,"data-removed":tt,"data-visible":Ya,"data-y-position":eo,"data-x-position":to,"data-index":T,"data-front":Wa,"data-swiping":at,"data-dismissible":Ge,"data-type":J,"data-invert":ao,"data-swipe-out":Bt,"data-swipe-direction":_,"data-expanded":!!($||ge&&I),style:{"--index":T,"--toasts-before":T,"--z-index":L.length-T,"--offset":`${tt?Va:$e.current}px`,"--initial-height":ge?"auto":`${Ka}px`,...fe,...n.style},onDragEnd:()=>{Ct(!1),j(null),Qe.current=null},onPointerDown:b=>{Et||!Ge||($t.current=new Date,Pt($e.current),b.target.setPointerCapture(b.pointerId),b.target.tagName!=="BUTTON"&&(Ct(!0),Qe.current={x:b.clientX,y:b.clientY}))},onPointerUp:()=>{var b,q,O,ee;if(Bt||!Ge)return;Qe.current=null;let te=Number(((b=Re.current)==null?void 0:b.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),ve=Number(((q=Re.current)==null?void 0:q.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Ne=new Date().getTime()-((O=$t.current)==null?void 0:O.getTime()),ae=R==="x"?te:ve,ye=Math.abs(ae)/Ne;if(Math.abs(ae)>=kr||ye>.11){Pt($e.current),(ee=n.onDismiss)==null||ee.call(n,n),Ue(R==="x"?te>0?"right":"left":ve>0?"down":"up"),be(),Ha(!0),Ut(!1);return}Ct(!1),j(null)},onPointerMove:b=>{var q,O,ee,te;if(!Qe.current||!Ge||((q=window.getSelection())==null?void 0:q.toString().length)>0)return;let ve=b.clientY-Qe.current.y,Ne=b.clientX-Qe.current.x,ae=(O=t.swipeDirections)!=null?O:Mr(Me);!R&&(Math.abs(Ne)>1||Math.abs(ve)>1)&&j(Math.abs(Ne)>Math.abs(ve)?"x":"y");let ye={x:0,y:0};R==="y"?(ae.includes("top")||ae.includes("bottom"))&&(ae.includes("top")&&ve<0||ae.includes("bottom")&&ve>0)&&(ye.y=ve):R==="x"&&(ae.includes("left")||ae.includes("right"))&&(ae.includes("left")&&Ne<0||ae.includes("right")&&Ne>0)&&(ye.x=Ne),(Math.abs(ye.x)>0||Math.abs(ye.y)>0)&&Ut(!0),(ee=Re.current)==null||ee.style.setProperty("--swipe-amount-x",`${ye.x}px`),(te=Re.current)==null||te.style.setProperty("--swipe-amount-y",`${ye.y}px`)}},Za&&!n.jsx?p.createElement("button",{"aria-label":K,"data-disabled":Et,"data-close-button":!0,onClick:Et||!Ge?()=>{}:()=>{var b;be(),(b=n.onDismiss)==null||b.call(n,n)},className:oe(C?.closeButton,(r=n?.classNames)==null?void 0:r.closeButton)},(i=B?.close)!=null?i:hr):null,n.jsx||M.isValidElement(n.title)?n.jsx?n.jsx:typeof n.title=="function"?n.title():n.title:p.createElement(p.Fragment,null,J||n.icon||n.promise?p.createElement("div",{"data-icon":"",className:oe(C?.icon,(l=n?.classNames)==null?void 0:l.icon)},n.promise||n.type==="loading"&&!n.icon?n.icon||oo():null,n.type!=="loading"?n.icon||B?.[J]||cr(J):null):null,p.createElement("div",{"data-content":"",className:oe(C?.content,(s=n?.classNames)==null?void 0:s.content)},p.createElement("div",{"data-title":"",className:oe(C?.title,(u=n?.classNames)==null?void 0:u.title)},typeof n.title=="function"?n.title():n.title),n.description?p.createElement("div",{"data-description":"",className:oe(Te,Xa,C?.description,(d=n?.classNames)==null?void 0:d.description)},typeof n.description=="function"?n.description():n.description):null),M.isValidElement(n.cancel)?n.c
3ancel:n.cancel&&ft(n.cancel)?p.createElement("button",{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||ke,onClick:b=>{var q,O;ft(n.cancel)&&Ge&&((O=(q=n.cancel).onClick)==null||O.call(q,b),be())},className:oe(C?.cancelButton,(f=n?.classNames)==null?void 0:f.cancelButton)},n.cancel.label):null,M.isValidElement(n.action)?n.action:n.action&&ft(n.action)?p.createElement("button",{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||he,onClick:b=>{var q,O;ft(n.action)&&((O=(q=n.action).onClick)==null||O.call(q,b),!b.defaultPrevented&&be())},className:oe(C?.actionButton,(h=n?.classNames)==null?void 0:h.actionButton)},n.action.label):null))};function oa(){if(typeof window>"u"||typeof document>"u")return"ltr";let t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}function Nr(t,e){let a={};return[t,e].forEach((o,r)=>{let i=r===1,l=i?"--mobile-offset":"--offset",s=i?zr:Er;function u(d){["top","right","bottom","left"].forEach(f=>{a[`${l}-${f}`]=typeof d=="number"?`${d}px`:d})}typeof o=="number"||typeof o=="string"?u(o):typeof o=="object"?["top","right","bottom","left"].forEach(d=>{o[d]===void 0?a[`${l}-${d}`]=s:a[`${l}-${d}`]=typeof o[d]=="number"?`${o[d]}px`:o[d]}):u(s)}),a}var Or=M.forwardRef(function(t,e){let{invert:a,position:o="bottom-right",hotkey:r=["altKey","KeyT"],expand:i,closeButton:l,className:s,offset:u,mobileOffset:d,theme:f="light",richColors:h,duration:y,style:n,visibleToasts:w=Sr,toastOptions:m,dir:g=oa(),gap:S=qr,loadingIcon:A,icons:T,containerAriaLabel:L="Notifications",pauseWhenPageIsHidden:$}=t,[D,me]=p.useState([]),qe=p.useMemo(()=>Array.from(new Set([o].concat(D.filter(k=>k.position).map(k=>k.position)))),[D,o]),[fe,ke]=p.useState([]),[he,E]=p.useState(!1),[Te,Z]=p.useState(!1),[Me,W]=p.useState(f!=="system"?f:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),Y=p.useRef(null),ge=r.join("+").replace(/Key/g,"").replace(/Digit/g,""),C=p.useRef(null),B=p.useRef(!1),K=p.useCallback(k=>{me(R=>{var j;return(j=R.find(_=>_.id===k.id))!=null&&j.delete||V.dismiss(k.id),R.filter(({id:_})=>_!==k.id)})},[]);return p.useEffect(()=>V.subscribe(k=>{if(k.dismiss){me(R=>R.map(j=>j.id===k.id?{...j,delete:!0}:j));return}setTimeout(()=>{ro.flushSync(()=>{me(R=>{let j=R.findIndex(_=>_.id===k.id);return j!==-1?[...R.slice(0,j),{...R[j],...k},...R.slice(j+1)]:[k,...R]})})})}),[]),p.useEffect(()=>{if(f!=="system"){W(f);return}if(f==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?W("dark"):W("light")),typeof window>"u")return;let k=window.matchMedia("(prefers-color-scheme: dark)");try{k.addEventListener("change",({matches:R})=>{W(R?"dark":"light")})}catch{k.addListener(({matches:j})=>{try{W(j?"dark":"light")}catch(_){console.error(_)}})}},[f]),p.useEffect(()=>{D.length<=1&&E(!1)},[D]),p.useEffect(()=>{let k=R=>{var j,_;r.every(Ue=>R[Ue]||R.code===Ue)&&(E(!0),(j=Y.current)==null||j.focus()),R.code==="Escape"&&(document.activeElement===Y.current||(_=Y.current)!=null&&_.contains(document.activeElement))&&E(!1)};return document.addEventListener("keydown",k),()=>document.removeEventListener("keydown",k)},[r]),p.useEffect(()=>{if(Y.current)return()=>{C.current&&(C.current.focus({preventScroll:!0}),C.current=null,B.current=!1)}},[Y.current]),p.createElement("section",{ref:e,"aria-label":`${L} ${ge}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},qe.map((k,R)=>{var j;let[_,Ue]=k.split("-");return D.length?p.createElement("ol",{key:k,dir:g==="auto"?oa():g,tabIndex:-1,ref:Y,className:s,"data-sonner-toaster":!0,"data-theme":Me,"data-y-position":_,"data-lifted":he&&D.length>1&&!i,"data-x-position":Ue,style:{"--front-toast-height":`${((j=fe[0])==null?void 0:j.height)||0}px`,"--width":`${Ar}px`,"--gap":`${S}px`,...n,...Nr(u,d)},onBlur:I=>{B.current&&!I.currentTarget.contains(I.relatedTarget)&&(B.current=!1,C.current&&(C.current.focus({preventScroll:!0}),C.current=null))},onFocus:I=>{I.target instanceof HTMLElement&&I.target.dataset.dismissible==="false"||B.current||(B.current=!0,C.current=I.relatedTarget)},onMouseEnter:()=>E(!0),onMouseMove:()=>E(!0),onMouseLeave:()=>{Te||E(!1)},onDragEnd:()=>E(!1),onPointerDown:I=>{I.target instanceof HTMLElement&&I.target.dataset.dismissible==="false"||Z(!0)},onPointerUp:()=>Z(!1)},D.filter(I=>!I.position&&R===0||I.position===k).map((I,wt)=>{var tt,ut;return p.createElement(Rr,{key:I.id,icons:T,index:wt,toast:I,defaultRichColors:h,duration:(tt=m?.duration)!=null?tt:y,className:m?.className,descriptionClassName:m?.descriptionClassName,invert:a,visibleToasts:w,closeButton:(ut=m?.closeButton)!=null?ut:l,interacting:Te,position:k,style:m?.style,unstyled:m?.unstyled,classNames:m?.classNames,cancelButtonStyle:m?.cancelButtonStyle,actionButtonStyle:m?.actionButtonStyle,removeToast:K,toasts:D.filter(at=>at.position==I.position),heights:fe.filter(at=>at.position==I.position),setHeights:ke,expandByDefault:i,gap:S,loadingIcon:A,expanded:he,pauseWhenPageIsHidden:$,swipeDirections:t.swipeDirections})})):null}))});const jr=({...t})=>{const{theme:e="system"}=sr();return P.jsx(Or,{theme:e,className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...t})},Ir=uo,Fr=M.forwardRef(({className:t,sideOffset:e=4,...a},o)=>P.jsx(Sa,{ref:o,sideOffset:e,className:Be("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:sli
3de-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...a}));Fr.displayName=Sa.displayName;var yt=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},xt=typeof window>"u"||"Deno"in globalThis;function re(){}function Dr(t,e){return typeof t=="function"?t(e):t}function Lr(t){return typeof t=="number"&&t>=0&&t!==1/0}function Br(t,e){return Math.max(t+(e||0)-Date.now(),0)}function Ot(t,e){return typeof t=="function"?t(e):t}function Ur(t,e){return typeof t=="function"?t(e):t}function ra(t,e){const{type:a="all",exact:o,fetchStatus:r,predicate:i,queryKey:l,stale:s}=t;if(l){if(o){if(e.queryHash!==Dt(l,e.options))return!1}else if(!ct(e.queryKey,l))return!1}if(a!=="all"){const u=e.isActive();if(a==="active"&&!u||a==="inactive"&&u)return!1}return!(typeof s=="boolean"&&e.isStale()!==s||r&&r!==e.state.fetchStatus||i&&!i(e))}function ia(t,e){const{exact:a,status:o,predicate:r,mutationKey:i}=t;if(i){if(!e.options.mutationKey)return!1;if(a){if(st(e.options.mutationKey)!==st(i))return!1}else if(!ct(e.options.mutationKey,i))return!1}return!(o&&e.state.status!==o||r&&!r(e))}function Dt(t,e){return(e?.queryKeyHashFn||st)(t)}function st(t){return JSON.stringify(t,(e,a)=>jt(a)?Object.keys(a).sort().reduce((o,r)=>(o[r]=a[r],o),{}):a)}function ct(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(a=>ct(t[a],e[a])):!1}function Fa(t,e){if(t===e)return t;const a=na(t)&&na(e);if(a||jt(t)&&jt(e)){const o=a?t:Object.keys(t),r=o.length,i=a?e:Object.keys(e),l=i.length,s=a?[]:{},u=new Set(o);let d=0;for(let f=0;f<l;f++){const h=a?f:i[f];(!a&&u.has(h)||a)&&t[h]===void 0&&e[h]===void 0?(s[h]=void 0,d++):(s[h]=Fa(t[h],e[h]),s[h]===t[h]&&t[h]!==void 0&&d++)}return r===l&&d===r?t:s}return e}function na(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function jt(t){if(!sa(t))return!1;const e=t.constructor;if(e===void 0)return!0;const a=e.prototype;return!(!sa(a)||!a.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(t)!==Object.prototype)}function sa(t){return Object.prototype.toString.call(t)==="[object Object]"}function Gr(t){return new Promise(e=>{setTimeout(e,t)})}function $r(t,e,a){return typeof a.structuralSharing=="function"?a.structuralSharing(t,e):a.structuralSharing!==!1?Fa(t,e):e}function Qr(t,e,a=0){const o=[...t,e];return a&&o.length>a?o.slice(1):o}function Hr(t,e,a=0){const o=[e,...t];return a&&o.length>a?o.slice(0,-1):o}var Lt=Symbol();function Da(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:!t.queryFn||t.queryFn===Lt?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}var Oe,Pe,_e,da,_r=(da=class extends yt{constructor(){super();z(this,Oe);z(this,Pe);z(this,_e);v(this,_e,e=>{if(!xt&&window.addEventListener){const a=()=>e();return window.addEventListener("visibilitychange",a,!1),()=>{window.removeEventListener("visibilitychange",a)}}})}onSubscribe(){c(this,Pe)||this.setEventListener(c(this,_e))}onUnsubscribe(){var e;this.hasListeners()||((e=c(this,Pe))==null||e.call(this),v(this,Pe,void 0))}setEventListener(e){var a;v(this,_e,e),(a=c(this,Pe))==null||a.call(this),v(this,Pe,e(o=>{typeof o=="boolean"?this.setFocused(o):this.onFocus()}))}setFocused(e){c(this,Oe)!==e&&(v(this,Oe,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(a=>{a(e)})}isFocused(){return typeof c(this,Oe)=="boolean"?c(this,Oe):globalThis.document?.visibilityState!=="hidden"}},Oe=new WeakMap,Pe=new WeakMap,_e=new WeakMap,da),La=new _r,Ve,Se,Ke,ua,Vr=(ua=class extends yt{constructor(){super();z(this,Ve,!0);z(this,Se);z(this,Ke);v(this,Ke,e=>
3{if(!xt&&window.addEventListener){const a=()=>e(!0),o=()=>e(!1);return window.addEventListener("online",a,!1),window.addEventListener("offline",o,!1),()=>{window.removeEventListener("online",a),window.removeEventListener("offline",o)}}})}onSubscribe(){c(this,Se)||this.setEventListener(c(this,Ke))}onUnsubscribe(){var e;this.hasListeners()||((e=c(this,Se))==null||e.call(this),v(this,Se,void 0))}setEventListener(e){var a;v(this,Ke,e),(a=c(this,Se))==null||a.call(this),v(this,Se,e(this.setOnline.bind(this)))}setOnline(e){c(this,Ve)!==e&&(v(this,Ve,e),this.listeners.forEach(o=>{o(e)}))}isOnline(){return c(this,Ve)}},Ve=new WeakMap,Se=new WeakMap,Ke=new WeakMap,ua),vt=new Vr;function Kr(){let t,e;const a=new Promise((r,i)=>{t=r,e=i});a.status="pending",a.catch(()=>{});function o(r){Object.assign(a,r),delete a.resolve,delete a.reject}return a.resolve=r=>{o({status:"fulfilled",value:r}),t(r)},a.reject=r=>{o({status:"rejected",reason:r}),e(r)},a}function Wr(t){return Math.min(1e3*2**t,3e4)}function Ba(t){return(t??"online")==="online"?vt.isOnline():!0}var Ua=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};function Mt(t){return t instanceof Ua}function Ga(t){let e=!1,a=0,o=!1,r;const i=Kr(),l=m=>{o||(y(new Ua(m)),t.abort?.())},s=()=>{e=!0},u=()=>{e=!1},d=()=>La.isFocused()&&(t.networkMode==="always"||vt.isOnline())&&t.canRun(),f=()=>Ba(t.networkMode)&&t.canRun(),h=m=>{o||(o=!0,t.onSuccess?.(m),r?.(),i.resolve(m))},y=m=>{o||(o=!0,t.onError?.(m),r?.(),i.reject(m))},n=()=>new Promise(m=>{r=g=>{(o||d())&&m(g)},t.onPause?.()}).then(()=>{r=void 0,o||t.onContinue?.()}),w=()=>
3{if(o)return;let m;const g=a===0?t.initialPromise:void 0;try{m=g??t.fn()}catch(S){m=Promise.reject(S)}Promise.resolve(m).then(h).catch(S=>{if(o)return;const A=t.retry??(xt?0:3),T=t.retryDelay??Wr,L=typeof T=="function"?T(a,S):T,$=A===!0||typeof A=="number"&&a<A||typeof A=="function"&&A(a,S);if(e||!$){y(S);return}a++,t.onFail?.(a,S),Gr(L).then(()=>d()?void 0:n()).then(()=>{e?y(S):w()})})};return{promise:i,cancel:l,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:u,canStart:f,start:()=>(f()?w():n().then(w),i)}}var Yr=t=>setTimeout(t,0);function Jr(){let t=[],e=0,a=s=>{s()},o=s=>{s()},r=Yr;const i=s=>{e?t.push(s):r(()=>{a(s)})},l=()=>{const s=t;t=[],s.length&&r(()=>{o(()=>{s.forEach(u=>{a(u)})})})};return{batch:s=>{let u;e++;try{u=s()}finally{e--,e||l()}return u},batchCalls:s=>(...u)=>{i(()=>{s(...u)})},schedule:i,setNotifyFunction:s=>{a=s},setBatchNotifyFunction:s=>{o=s},setScheduler:s=>{r=s}}}var H=Jr(),je,pa,$a=(pa=class{constructor(){z(this,je)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Lr(this.gcTime)&&v(this,je,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(xt?1/0:5*60*1e3))}clearGcTimeout(){c(this,je)&&(clearTimeout(c(this,je)),v(this,je,void 0))}},je=new WeakMap,pa),We,Ie,X,Fe,G,lt,De,ie,ue,ma,Xr=(ma=class extends $a{constructor(e){super();z(this,ie);z(this,We);z(this,Ie);z(this,X);z(this,Fe);z(this,G);z(this,lt);z(this,De);v(this,De,!1),v(this,lt,e.defaultOptions),this.setOptions(e.options),this.observers=[],v(this,Fe,e.client),v(this,X,c(this,Fe).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,v(this,We,ei(this.options)),this.state=e.state??c(this,We),this.scheduleGc()}get meta(){return this.options.meta}get promise(){return c(this,G)?.promise}setOptions(e){this.options={...c(this,lt),...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&c(this,X).remove(this)}setData(e,a){const o=$r(this.state.data,e,this.options);return U(this,ie,ue).call(this,{data:o,type:"success",dataUpdatedAt:a?.updatedAt,manual:a?.manual}),o}setState(e,a){U(this,ie,ue).call(this,{type:"setState",state:e,setStateOptions:a})}cancel(e){const a=c(this,G)?.promise;return c(this,G)?.cancel(e),a?a.then(re).catch(re):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(c(this,We))}isActive(){return this.observers.some(e=>Ur(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Lt||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>Ot(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!Br(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(a=>a.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),c(this,G)?.continue()}onOnline(){this.observers.find(a=>a.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),c(this,G)?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),c(this,X).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(a=>a!==e),this.observers.length||(c(this,G)&&(c(this,De)?c(this,G).cancel({revert:!0}):c(this,G).cancelRetry()),this.scheduleGc()),c(this,X).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||U(this,ie,ue).call(this,{type:"invalidate"})}fetch(e,a){if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&a?.cancelRefetch)this.cancel({silent:!0});else if(c(this,G))return c(this,G).continueRetry(),c(this,G).promise}if(e&&this.setOptions(e),!this.options.queryFn){const d=this.observers.find(f=>f.options.queryFn);d&&this.setOptions(d.options)}const o=new AbortController,r=d=>{Object.defineProperty(d,"signal",{enumerable:!0,get:()=>(v(this,De,!0),o.signal)}
3)},i=()=>{const d=Da(this.options,a),h=(()=>{const y={client:c(this,Fe),queryKey:this.queryKey,meta:this.meta};return r(y),y})();return v(this,De,!1),this.options.persister?this.options.persister(d,h,this):d(h)},s=(()=>{const d={fetchOptions:a,options:this.options,queryKey:this.queryKey,client:c(this,Fe),state:this.state,fetchFn:i};return r(d),d})();this.options.behavior?.onFetch(s,this),v(this,Ie,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==s.fetchOptions?.meta)&&U(this,ie,ue).call(this,{type:"fetch",meta:s.fetchOptions?.meta});const u=d=>{Mt(d)&&d.silent||U(this,ie,ue).call(this,{type:"error",error:d}),Mt(d)||(c(this,X).config.onError?.(d,this),c(this,X).config.onSettled?.(this.state.data,d,this)),this.scheduleGc()};return v(this,G,Ga({initialPromise:a?.initialPromise,fn:s.fetchFn,abort:o.abort.bind(o),onSuccess:d=>{if(d===void 0){u(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(d)}catch(f){u(f);return}c(this,X).config.onSuccess?.(d,this),c(this,X).config.onSettled?.(d,this.state.error,this),this.scheduleGc()},onError:u,onFail:(d,f)=>{U(this,ie,ue).call(this,{type:"failed",failureCount:d,error:f})},onPause:()=>{U(this,ie,ue).call(this,{type:"pause"})},onContinue:()=>{U(this,ie,ue).call(this,{type:"continue"})},retry:s.options.retry,retryDelay:s.options.retryDelay,networkMode:s.options.networkMode,canRun:()=>!0})),c(this,G).start()}},We=new WeakMap,Ie=new WeakMap,X=new WeakMap,Fe=new WeakMap,G=new WeakMap,lt=new WeakMap,De=new WeakMap,ie=new WeakSet,ue=function(e){const a=o=>{switch(e.type){case"failed":return{...o,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...o,fetchStatus:"paused"};case"continue":return{...o,fetchStatus:"fetching"};case"fetch":return{...o,...Zr(o.data,this.options),fetchMeta:e.meta??null};case"success":return v(this,Ie,void 0),{...o,data:e.data,dataUpdateCount:o.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=e.error;return Mt(r)&&r.revert&&c(this,Ie)?{...c(this,Ie),fetchStatus:"idle"}:{...o,error:r,errorUpdateCount:o.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:o.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...o,isInvalidated:!0};case"setState":return{...o,...e.state}}};this.state=a(this.state),H.batch(()=>{this.observers.forEach(o=>{o.onQueryUpdate()}),c(this,X).notify({query:this,type:"updated",action:e})})},ma);function Zr(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Ba(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function ei(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,a=e!==void 0,o=a?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:a?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:a?"success":"pending",fetchStatus:"idle"}}var se,fa,ti=(fa=class extends yt{constructor(e={}){super();z(this,se);this.config=e,v(this,se,new Map)}build(e,a,o){const r=a.queryKey,i=a.queryHash??Dt(r,a);let l=this.get(i);return l||(l=new Xr({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(a),state:o,defaultOptions:e.getQueryDefaults(r)}),this.add(l)),l}add(e){c(this,se).has(e.queryHash)||(c(this,se).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const a=c(this,se).get(e.queryHash);a&&(e.destroy(),a===e&&c(this,se).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){H.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return c(this,se).get(e)}getAll(){return[...c(this,se).values()]}find(e){const a={exact:!0,...e};return this.getAll().find(o=>ra(a,o))}findAll(e={}){const a=this.getAll();return Object.keys(e).length>0?a.filter(o=>ra(e,o)):a}notify(e){H.batch(()=>
3{this.listeners.forEach(a=>{a(e)})})}onFocus(){H.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){H.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},se=new WeakMap,fa),ce,Q,Le,le,Ce,ha,ai=(ha=class extends $a{constructor(e){super();z(this,le);z(this,ce);z(this,Q);z(this,Le);this.mutationId=e.mutationId,v(this,Q,e.mutationCache),v(this,ce,[]),this.state=e.state||oi(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){c(this,ce).includes(e)||(c(this,ce).push(e),this.clearGcTimeout(),c(this,Q).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){v(this,ce,c(this,ce).filter(a=>a!==e)),this.scheduleGc(),c(this,Q).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){c(this,ce).length||(this.state.status==="pending"?this.scheduleGc():c(this,Q).remove(this))}continue(){return c(this,Le)?.continue()??this.execute(this.state.variables)}async execute(e){const a=()=>{U(this,le,Ce).call(this,{type:"continue"})};v(this,Le,Ga({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(i,l)=>{U(this,le,Ce).call(this,{type:"failed",failureCount:i,error:l})},onPause:()=>{U(this,le,Ce).call(this,{type:"pause"})},onContinue:a,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>c(this,Q).canRun(this)}));const o=this.state.status==="pending",r=!c(this,Le).canStart();try{if(o)a();else{U(this,le,Ce).call(this,{type:"pending",variables:e,isPaused:r}),await c(this,Q).config.onMutate?.(e,this);const l=await this.options.onMutate?.(e);l!==this.state.context&&U(this,le,Ce).call(this,{type:"pending",context:l,variables:e,isPaused:r})}const i=await c(this,Le).start();return await c(this,Q).config.onSuccess?.(i,e,this.state.context,this),await this.options.onSuccess?.(i,e,this.state.context),await c(this,Q).config.onSettled?.(i,null,this.state.variables,this.state.context,this),await this.options.onSettled?.(i,null,e,this.state.context),U(this,le,Ce).call(this,{type:"success",data:i}),i}catch(i){try{throw await c(this,Q).config.onError?.(i,e,this.state.context,this),await this.options.onError?.(i,e,this.state.context),await c(this,Q).config.onSettled?.(void 0,i,this.state.variables,this.state.context,this),await this.options.onSettled?.(void 0,i,e,this.state.context),i}finally{U(this,le,Ce).call(this,{type:"error",error:i})}}finally{c(this,Q).runNext(this)}}},ce=new WeakMap,Q=new WeakMap,Le=new WeakMap,le=new WeakSet,Ce=function(e){const a=o=>{switch(e.type){case"failed":return{...o,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...o,isPaused:!0};case"continue":return{...o,isPaused:!1};case"pending":return{...o,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...o,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...o,data:void 0,error:e.error,failureCount:o.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=a(this.state),H.batch(()=>{c(this,ce).forEach(o=>{o.onMutationUpdate(e)}),c(this,Q).notify({mutation:this,type:"updated",action:e})})},ha);function oi(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var pe,ne,dt,ga,ri=(ga=class extends yt{constructor(e={}){super();z(this,pe);z(this,ne);z(this,dt);this.config=e,v(this,pe,new Set),v(this,ne,new Map),v(this,dt,0)}build(e,a,o){const r=new ai({mutationCache:this,mutationId:++mt(this,dt)._,options:e.defaultMutationOptions(a),state:o});return this.add(r),r}add(e){c(this,pe).add(e);const a=ht(e);if(typeof a=="string"){const o=c(this,ne).get(a);o?o.push(e):c(this,ne).set(a,[e])}this.notify({type:"added",mutation:e})}remove(e){if(c(this,pe).delete(e)){const a=ht(e);if(typeof a=="string"){const o=c(this,ne).get(a);if(o)if(o.length>1){const r=o.indexOf(e);r!==-1&&o.splice(r,1)}else o[0]===e&&c(this,ne).delete(a)}}this.notify({type:"removed",mutation:e})}canRun(e){const a=ht(e);
3if(typeof a=="string"){const r=c(this,ne).get(a)?.find(i=>i.state.status==="pending");return!r||r===e}else return!0}runNext(e){const a=ht(e);return typeof a=="string"?c(this,ne).get(a)?.find(r=>r!==e&&r.state.isPaused)?.continue()??Promise.resolve():Promise.resolve()}clear(){H.batch(()=>{c(this,pe).forEach(e=>{this.notify({type:"removed",mutation:e})}),c(this,pe).clear(),c(this,ne).clear()})}getAll(){return Array.from(c(this,pe))}find(e){const a={exact:!0,...e};return this.getAll().find(o=>ia(a,o))}findAll(e={}){return this.getAll().filter(a=>ia(e,a))}notify(e){H.batch(()=>{this.listeners.forEach(a=>{a(e)})})}resumePausedMutations(){const e=this.getAll().filter(a=>a.state.isPaused);return H.batch(()=>Promise.all(e.map(a=>a.continue().catch(re))))}},pe=new WeakMap,ne=new WeakMap,dt=new WeakMap,ga);function ht(t){return t.options.scope?.id}function ca(t){return{onFetch:(e,a)=>{const o=e.options,r=e.fetchOptions?.meta?.fetchMore?.direction,i=e.state.data?.pages||[],l=e.state.data?.pageParams||[];let s={pages:[],pageParams:[]},u=0;const d=async()=>{let f=!1;const h=w=>{Object.defineProperty(w,"signal",{enumerable:!0,get:()=>(e.signal.aborted?f=!0:e.signal.addEventListener("abort",()=>{f=!0}),e.signal)})},y=Da(e.options,e.fetchOptions),n=async(w,m,g)=>{if(f)return Promise.reject();if(m==null&&w.pages.length)return Promise.resolve(w);const A=(()=>{const D={client:e.client,queryKey:e.queryKey,pageParam:m,direction:g?"backward":"forward",meta:e.options.meta};return h(D),D})(),T=await y(A),{maxPages:L}=e.options,$=g?Hr:Qr;return{pages:$(w.pages,T,L),pageParams:$(w.pageParams,m,L)}};if(r&&i.length){const w=r==="backward",m=w?ii:la,g={pages:i,pageParams:l},S=m(o,g);s=await n(g,S,w)}else{const w=t??i.length;do{const m=u===0?l[0]??o.initialPageParam:la(o,s);if(u>0&&m==null)break;s=await n(s,m),u++}while(u<w)}return s};e.options.persister?e.fetchFn=()=>e.options.persister?.(d,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},a):e.fetchFn=d}}}function la(t,{pages:e,pageParams:a}){const o=e.length-1;return e.length>0?t.getNextPageParam(e[o],e,a[o],a):void 0}function ii(t,{pages:e,pageParams:a}){return e.length>0?t.getPreviousPageParam?.(e[0],e,a[0],a):void 0}var F,Ee,ze,Ye,Je,Ae,Xe,Ze,ba,ni=(ba=class{constructor(t={}){z(this,F);z(this,Ee);z(this,ze);z(this,Ye);z(this,Je);z(this,Ae);z(this,Xe);z(this,Ze);v(this,F,t.queryCache||new ti),v(this,Ee,t.mutationCache||new ri),v(this,ze,t.defaultOptions||{}),v(this,Ye,new Map),v(this,Je,new Map),v(this,Ae,0)}mount(){mt(this,Ae)._++,c(this,Ae)===1&&(v(this,Xe,La.subscribe(async t=>{t&&(await this.resumePausedMutations(),c(this,F).onFocus())})),v(this,Ze,vt.subscribe(async t=>{t&&(await this.resumePausedMutations(),c(this,F).onOnline())})))}unmount(){var t,e;mt(this,Ae)._--,c(this,Ae)===0&&((t=c(this,Xe))==null||t.call(this),v(this,Xe,void 0),(e=c(this,Ze))==null||e.call(this),v(this,Ze,void 0))}isFetching(t){return c(this,F).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return c(this,Ee).findAll({...t,status:"pending"}).length}getQueryData(t){const e=this.defaultQueryOptions({queryKey:t});return c(this,F).get(e.queryHash)?.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),a=c(this,F).build(this,e),o=a.state.data;return o===void 0?this.fetchQuery(t):(t.revalidateIfStale&&a.isStaleByTime(Ot(e.staleTime,a))&&this.prefetchQuery(e),Promise.resolve(o))}getQueriesData(t){return c(this,F).findAll(t).map(({queryKey:e,state:a})=>{const o=a.data;return[e,o]})}setQueryData(t,e,a){const o=this.defaultQueryOptions({queryKey:t}),i=c(this,F).get(o.queryHash)?.state.data,l=Dr(e,i);if(l!==void 0)return c(this,F).build(this,o).setData(l,{...a,manual:!0})}setQueriesData(t,e,a){return H.batch(()=>c(this,F).findAll(t).map(({queryKey:o})=>[o,this.setQueryData(o,e,a)]))}getQueryState(t){const e=this.defaultQueryOptions({queryKey:t});return c(this,F).get(e.queryHash)?.state}removeQueries(t){const e=c(this,F);H.batch(()=>{e.findAll(t).forEach(a=>{e.remove(a)})})}resetQueries(t,e){const a=c(this,F);return H.batch(()=>(a.findAll(t).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const a={revert:!0,...e}
3,o=H.batch(()=>c(this,F).findAll(t).map(r=>r.cancel(a)));return Promise.all(o).then(re).catch(re)}invalidateQueries(t,e={}){return H.batch(()=>(c(this,F).findAll(t).forEach(a=>{a.invalidate()}),t?.refetchType==="none"?Promise.resolve():this.refetchQueries({...t,type:t?.refetchType??t?.type??"active"},e)))}refetchQueries(t,e={}){const a={...e,cancelRefetch:e.cancelRefetch??!0},o=H.batch(()=>c(this,F).findAll(t).filter(r=>!r.isDisabled()&&!r.isStatic()).map(r=>{let i=r.fetch(void 0,a);return a.throwOnError||(i=i.catch(re)),r.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(o).then(re)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const a=c(this,F).build(this,e);return a.isStaleByTime(Ot(e.staleTime,a))?a.fetch(e):Promise.resolve(a.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(re).catch(re)}fetchInfiniteQuery(t){return t.behavior=ca(t.pages),this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(re).catch(re)}ensureInfiniteQueryData(t){return t.behavior=ca(t.pages),this.ensureQueryData(t)}resumePausedMutations(){return vt.isOnline()?c(this,Ee).resumePausedMutations():Promise.resolve()}getQueryCache(){return c(this,F)}getMutationCache(){return c(this,Ee)}getDefaultOptions(){return c(this,ze)}setDefaultOptions(t){v(this,ze,t)}setQueryDefaults(t,e){c(this,Ye).set(st(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...c(this,Ye).values()],a={};return e.forEach(o=>{ct(t,o.queryKey)&&Object.assign(a,o.defaultOptions)}),a}setMutationDefaults(t,e){c(this,Je).set(st(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...c(this,Je).values()],a={};return e.forEach(o=>{ct(t,o.mutationKey)&&Object.assign(a,o.defaultOptions)}),a}defaultQueryOptions(t){if(t._defaulted)return t;const e={...c(this,ze).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=Dt(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===Lt&&(e.enabled=!1),e}defaultMutationOptions(t){return t?._defaulted?t:{...c(this,ze).mutations,...t?.mutationKey&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){c(this,F).clear(),c(this,Ee).clear()}},F=new WeakMap,Ee=new WeakMap,ze=new WeakMap,Ye=new WeakMap,Je=new WeakMap,Ae=new WeakMap,Xe=new WeakMap,Ze=new WeakMap,ba),si=M.createContext(void 0),ci=({client:t,children:e})=>(M.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),P.jsx(si.Provider,{value:t,children:e}));const li={pt:{"nav.about":"Sobre","nav.experiences":"Experiências","nav.nature":"Sustentabilidade","nav.accommodations":"Acomodações","nav.contact":"Contacto","nav.book":"Reservar","hero.badge":"Aberto todo o ano","hero.title":"Encontre a Paz No Coração da Natureza","hero.description":"Um refúgio exclusivo onde o corpo, a mente e o espírito se harmonizam — ideal para retiros, encontros corporativos ou momentos inesquecíveis em família e com amigos.","hero.discover":"Descobrir","hero.book":"Reservar","hero.scroll":"Descubra Mais","about.label":"A Nossa Essência","about.title":"Um Santuário de Paz","about.description":"Na Casa do Alto da Coutada, cada estadia é uma experiência autêntica. Rodeada de serra, bosque de árvores autóctones, silêncio e luz natural, este refúgio convida ao descanso, à conexão e à celebração da vida — seja para regenerar energias, inspirar equipas ou criar memórias com quem mais ama.","about.feature1.title":"Natureza Envolvente","about.feature1.description":"10 hectares de floresta preservada com biodiversidade única. A quinta oferece o ambiente ideal para quem procura bem-estar, silêncio, cura e inspiração.","about.feature2.title":"Privacidade Total","about.feature2.description":"Sem casas visíveis, um verdadeiro refúgio isolado. Atmosfera perfeita para liderança, equipas criativas, startups, empresas e indivíduos fortalecerem relações e estimular inovação.","about.feature3.title":"Bem-estar Holístico","about.feature3.description":"Programas personalizados para corpo, mente e espírito. Perfeitos para yoga, meditação, respiração consciente, detox digital, coaching, caminhadas ou retiros terapêuticos.","about.feature4.title":"Experiência Autêntica","about.feature4.description":"Conexão genuín
3a com a natureza, rica em fauna e flora diversificada. Aqui, cada programa é personalizado e cada grupo tem acesso exclusivo à propriedade — uma experiência rara, íntima e profundamente regeneradora.","about.wellness.title":"Retiros Wellness","about.wellness.description":"Um santuário de quietude e inspiração, ideal para quem guia ou participa em retiros de bem-estar, yoga, meditação e desenvolvimento pessoal. Aqui, a natureza amplifica cada prática e convida à verdadeira regeneração interior.","about.corporate.title":"Reuniões Corporativas","about.corporate.description":"Longe do ruído, perto do essencial. Equipas encontram na Coutada um lugar para alinhar visão, fortalecer laços e despertar criatividade, combinando momentos de trabalho focado com pausas na natureza que oxigenam ideias.","about.family.title":"Família e Amigos","about.family.description":"Casa exclusiva para o seu grupo, com quartos confortáveis, zonas comuns amplas, exterior para crianças e adultos, e acesso fácil a caminhadas e actividades na região. Perfeito para férias, celebrações ou fins de semana prolongados.","about.quote":'"Ao inspirar a floresta, expiro o cansaço"',"about.quoteAuthor":"— Autor desconhecido","experiences.label":"Experiências","experiences.title":"Reconecte-se com a Natureza","experiences.description":"Descubra práticas ancestrais e modernas que promovem o equilíbrio entre corpo, mente e espírito, sempre em harmonia com o ambiente natural envolvente.","experiences.yoga.title":"Yoga & Pilates & Chi Kung","experiences.yoga.description":"Práticas realizadas no interior ou no exterior, imersas na floresta, guiadas pelos sons naturais.","experiences.meditation.title":"Meditação Guiada","experiences.meditation.description":"Sessões de meditação em ambientes naturais, promovendo paz interior e clareza mental.","experiences.forest.title":"Banho de Floresta","experiences.forest.description":"Shinrin-yoku - prática japonesa de imersão na natureza com caminhadas contemplativas.","experiences.workshops.title":"Workshops de Bem-estar","experiences.workshops.description":"Alimentação consciente, expressão criativa, práticas de mindfulness e respiração funcional.","experiences.extra":"Os nossos retiros podem incluir workshops de alimentação consciente, expressão criativa e emocional, conexão relacional, educação para o autocuidado, práticas de mindfulness e respiração funcional/diafragmática, etc.","experiences.programs":"Programas Personalizados","experiences.natureSustainability":"Natureza & Sustentabilidade","experiences.retreat.title":'Próximo Retiro: "Respirar o Outono"',"experiences.retreat.description":"2-5 Outubro 2026 • Quatro dias para respirar fundo, escutar o corpo e alinhar o nosso tempo com o tempo da terra.","experiences.retreat.cta":"Saber Mais","testimonials.label":"Testemunhos","testimonials.title":"Experiências Partilhadas","testimonials.1.quote":"Uma experiência transformadora. A conexão com a natureza e a paz que encontrei neste retiro mudaram a minha perspetiva de vida.","testimonials.1.author":"Maria Santos","testimonials.1.location":"Lisboa, Portugal","testimonials.2.quote":"O ambiente é simplesmente mágico. Cada momento foi pensado para promover o bem-estar e a reconexão interior.","testimonials.2.author":"João Ferreira","testimonials.2.location":"Porto, Portugal","testimonials.3.quote":"As práticas de yoga na floresta e os banhos de floresta foram experiências que nunca vou esquecer. Altamente recomendado.","testimonials.3.author":"Ana Costa","testimonials.3.location":"Braga, Portugal","accommodations.label":"Infraestruturas","accommodations.title":"Acomodações","accommodations.description":"Descubra os nossos espaços únicos, pensados para proporcionar conforto, privacidade e uma ligação autêntica com a natureza envolvente. Aqui, cada detalhe convida à pausa, à presença e à conexão genuína com o que realmente importa. Este é o lugar onde tudo se alinha: o silêncio, o espaço e o propósito.","accommodations.photosSoon":"Fotos em breve","accommodations.casa-principal.title":"Casa Principal (T5)","accommodations.casa-principal.description":"O coração da Quinta, com espaços amplos e acolhedores para momentos de partilha e relaxamento. Dispõe de uma sala de jantar, duas salas de estar, uma divisão para escritório, casa de banho social e um terraço para práticas 
3wellness. Está rodeada de espaços e relvados, apropriados para diferentes práticas.","accommodations.casa-2.title":"Casa 2 (T2)","accommodations.casa-2.description":"Um espaço acolhedor dentro da propriedade da família, oferecendo conforto e privacidade. Totalmente renovada e equipada, situa-se junto a um espigueiro e dispõe de uma ampla eira, adequada para diferentes práticas. A Quinta tem cerca de 10 hectares.","accommodations.anexos.title":"Suites do Jardim (3)","accommodations.anexos.description":"Espaços complementares que oferecem privacidade e conforto adicional aos nossos hóspedes, com camas de casal ou camas de solteiro.","accommodations.cabanas.title":"Refúgios do Bosque (2)","accommodations.cabanas.description":"Refúgios íntimos integrados na natureza, perfeitos para uma experiência de reconexão profunda. Os refúgios do bosque de madeira têm electricidade, casa de banho, água quente, máquina de café, micro ondas e mini frigorifico. Capacidade familiar para 2 adultos e 2 crianças em cada. Em retiros 2 adultos em cada.","accommodations.glamping.title":"Decks para Glamping (três plataformas)","accommodations.glamping.description":"Plataformas elevadas preparadas para tendas, ou para práticas mindfulness, combinando aventura com conforto. Ideal para tendas pop-up.","accommodations.pool.title":"Piscina e Casa de Apoio","accommodations.pool.description":"Zona de lazer com piscina e casa de apoio com casa de banho.","accommodations.playground.title":"Parque Infantil e Casa na Árvore","accommodations.playground.description":"Espaços dedicados aos mais novos, com parque infantil e casa na árvore para aventuras ao ar livre.","accommodations.meeting.title":"Sala de Reuniões Interior","accommodations.meeting.description":"Espaço interior amplo e luminoso com grandes janelas voltadas para a natureza, ideal para reuniões, workshops e atividades em grupo.","contact.label":"Contacto","contact.title":"Entre em Contacto","contact.description":"Estamos aqui para ajudar a planear as suas férias, encontro empresarial ou retiro perfeito. Entre em contacto connosco para mais informações ou para fazer a sua reserva.","contact.email":"Email","contact.phone":"Telefone","contact.location":"Localização","contact.hours":"Horário","contact.hoursValue":"Seg - Dom: 9h - 18h","contact.form.name":"Nome","contact.form.email":"Email","contact.form.message":"Mensagem","contact.form.messagePlaceholder":"Como podemos ajudar?","contact.form.send":"Enviar Mensagem","footer.tagline":"Um santuário de paz no coração da natureza","footer.powered":"Powered by Greenfest","footer.rights":"Todos os direitos reservados","footer.privacy":"Política de Privacidade","footer.terms":"Termos e Condições"},en:{"nav.about":"About","nav.experiences":"Experiences","nav.nature":"Sustainability","nav.accommodations":"Accommodations","nav.contact":"Contact","nav.book":"Book Now","hero.badge":"Open all year","hero.title":"Find Peace In the Heart of Nature","hero.description":"An exclusive retreat where body, mind and spirit harmonize — ideal for retreats, corporate gatherings or unforgettable moments with family and friends.","hero.discover":"Discover","hero.book":"Book Retreat","hero.scroll":"Discover More","about.label":"Our Essence","about.title":"A Sanctuary of Peace","about.description":"At Casa do Alto da Coutada, every stay is an authentic experience. Surrounded by mountains, native woodland, silence and natural light, this retreat invites rest, connection and celebration of life — whether to regenerate energy, inspire teams or create memories with those you love most.","about.feature1.title":"Surrounding Nature","about.feature1.description":"10 hectares of preserved forest with unique biodiversity. The estate offers the ideal environment for those seeking wellness, silence, healing and inspiration.","about.feature2.title":"Total Privacy","about.feature2.description":"No visible houses, a true secluded refuge. The perfect atmosphere for leadership, creative teams, startups, companies and individuals to strengthen relationships and stimulate innovation.","about.feature3.title":"Holistic Wellness","about.feature3.description":"Personalized programs for body, mind and spirit. Perfect for yoga, meditation, conscious breathing, digital detox, coaching, hiking or therapeutic retreats.","about.feature4.title":"Authentic Experience","about.feature4.description":"Genuine connection with nature, rich in diverse fauna and flora. Here, every program is personalized and each group has exclusive access to the property — a rare, intimate and deeply regenerating experience.","about.wellness.title":"Wellness Retreats","about.wellness.description":"A sanctuary of stillness and inspiration, ideal for those who lead or participate in wellness retreats, yoga, meditation and personal development. Here, nature amplifies each practice and invites true inner regeneration.","about.corporate.title":"Corporate Gatherings","about.corporate.description":"Away from noise, close to what matters. Teams find in Coutada a place to align vision, strengthen bonds and awaken creativity, combining focused work moments with nature breaks that oxygenate ideas.","about.family.title":"Family and Friends","about.family.description":"Exclusive house for your group, with comfortable rooms, spacious common areas, outdoor space for children and adults, and easy access to hiking and activities in the region. Perfect for holidays, celebrations or extended weekends.","about.quote":'"When breathing in the forest, I exhale exhaustion"',"about.quoteAuthor":"— Unknown author","experiences.label":"Experiences","experiences.title":"Reconnect with Nature","experiences.description":"Discover ancient and modern practices that promote balance between body, mind and spirit, always in harmony with the surrounding natural environment.","experiences.yoga.title":"Yoga & Pilates & Chi Kung","experiences.yoga.description":"Practices held indoors or outdoors, immersed in the forest, guided by natural sounds.","experiences.meditation.title":"Guided Meditation","experiences.meditation.description":"Meditation sessions in natural settings, promoting inner peace and mental clarity.","experiences.forest.title":"Forest Bathing","experiences.forest.description":"Shinrin-yoku - Japanese nature immersion practice with contemplative walks.","experiences.workshops.title":"Wellness Workshops","experiences.workshops.description":"Conscious eating, creative expression, mindfulness practices and functional breathing.","experiences.extra":"Our retreats may include workshops on conscious eating, creative and emotional expression, relational connection, self-care education, mindfulness practices and functional/diaphragmatic breathing, etc.","experiences.programs":"Personalized Programs","experiences.natureSustainability":"Nature & Sustainability","experiences.retreat.title":'Next Retreat: "Breathe Autumn"',"experiences.retreat.description":"2-5 October 2026 • Four days to breathe deeply, listen to the body and align our time with the time of the earth.","experiences.retreat.cta":"Learn More","testimonials.label":"Testimonials","testimonials.title":"Shared Experiences","testimonials.1.quote":"A transformative experience. The connection with nature and the peace I found at this retreat changed my perspective on life.","testimonials.1.author":"Maria Santos","testimonials.1.location":"Lisbon, Portugal","testimonials.2.quote":"The environment is simply magical. Every moment was designed to promote well-being and inner reconnection.","testimonials.2.author":"João Ferreira","testimonials.2.location":"Porto, Portugal","testimonials.3.quote":"The yoga practices in the forest and forest bathing were experiences I will never forget. Highly recommended.","testimonials.3.author":"Ana Costa","testimonials.3.location":"Braga, Portugal","accommodations.label":"Infrastru
3cture","accommodations.title":"Accommodations","accommodations.description":"Discover our unique spaces, designed to provide comfort, privacy and an authentic connection with the surrounding nature. Here, every detail invites you to pause, be present and connect genuinely with what truly matters. This is the place where everything aligns: silence, space and purpose.","accommodations.photosSoon":"Photos coming soon","accommodations.casa-principal.title":"Main House (5 Bedroom)","accommodations.casa-principal.description":"The heart of the Estate, with spacious and welcoming areas for sharing moments and relaxation. It has a dining room, two living rooms, an office space, guest bathroom and a terrace for wellness practices. It is surrounded by spaces and lawns, suitable for different practices.","accommodations.casa-2.title":"House 2 (2 Bedroom)","accommodations.casa-2.description":"A cozy space within the family property, offering comfort and privacy. Fully renovated and equipped, located next to a granary with a large threshing floor, suitable for different practices. The estate has about 10 hectares.","accommodations.anexos.title":"Garden Suites (3)","accommodations.anexos.description":"Complementary spaces offering privacy and additional comfort to our guests, with double or single beds.","accommodations.cabanas.title":"Forest Refuges (2)","accommodations.cabanas.description":"Intimate refuges integrated into nature, perfect for a deep reconnection experience. The wooden forest refuges have electricity, bathroom, hot water, coffee machine, microwave and mini fridge. Family capacity for 2 adults and 2 children each. For retreats 2 adults each.","accommodations.glamping.title":"Glamping Decks (three platforms)","accommodations.glamping.description":"Elevated platforms prepared for tents, or for mindfulness practices, combining adventure with comfort. Ideal for pop-up tents.","accommodations.pool.title":"Pool and Support House","accommodations.pool.description":"Leisure area with pool and support house with bathroom.","accommodations.playground.title":"Playground and Treehouse","accommodations.playground.description":"Spaces dedicated to children, with playground and treehouse for outdoor adventures.","accommodations.meeting.title":"Indoor Meeting Room","accommodations.meeting.description":"Spacious and bright indoor space with large windows facing nature, ideal for meetings, workshops and group activities.","contact.label":"Contact","contact.title":"Get in Touch","contact.description":"We are here to help you plan your holiday, corporate meeting or perfect retreat. Contact us for more information or to make your reservation.","contact.email":"Email","contact.phone":"Phone","contact.location":"Location","contact.hours":"Hours","contact.hoursValue":"Mon - Sun: 9am - 6pm","contact.form.name":"Name","contact.form.email":"Email","contact.form.message":"Message","contact.form.messagePlaceholder":"How can we help you?","contact.form.send":"Send Message","footer.tagline":"A sanctuary of peace in the heart of nature","footer.powered":"Powered by Greenfest","footer.rights":"All rights reserved","footer.privacy":"Privacy Policy","footer.terms":"Terms & Conditions"},es:{"nav.about":"Sobre","nav.experiences":"Experiencias","nav.nature":"Sostenibilidad","nav.accommodations":"Alojamientos","nav.contact":"Contacto","nav.book":"Reservar","hero.badge":"Abierto todo el año","hero.title":"Encuentra la Paz En el Corazón de la Naturaleza","hero.description":"Un refugio exclusivo donde cuerpo, mente y espíritu se armonizan — ideal para retiros, encuentros corporativos o momentos inolvidables en familia y con amigos.","hero.discover":"Descubrir","hero.book":"Reservar","hero.scroll":"Descubre Más","about.label":"Nuestra Esencia","about.title":"Un Santuario de Paz","about.description":"En Casa do Alto da Coutada, cada estancia es una experiencia auténtica. Rodeada de sierra, bosque de árboles autóctonos, silencio y luz natural, este refugio invita al descanso, a la conexión y a la celebración de la vida — ya sea para regenerar energías, inspirar equipos o crear recuerdos con quienes más amas.","about.feature1.title":"Naturaleza Envolvente","about.feature1.description":"10 hectáreas de bosque preservado con biodiversidad única. La finca ofrece el ambiente ideal para quienes buscan bienestar, silencio, sanación e inspiración.","about.feature2.title":"Privacidad Total","about.feature2.description":"Sin casas visibles, un verdadero refugio aislado. Atmósfera perfecta para liderazgo, equipos creativos, startups, empresas e individuos para fortalecer relaciones y estimular la innovación.","about.feature3.title":"Bienestar Holístico","about.feature3.description":"Programas personalizados para cuerpo, mente y espíritu. Perfectos para yoga, meditación, respiración consciente, detox digital, coaching, senderismo o retiros terapéuticos.","about.feature4.title":"Experiencia Auténtica","about.feature4.description":"Conexión genuina con la naturaleza, rica en fauna y flora diversificada. Aquí, cada programa es personalizado y cada grupo tiene acceso exclusivo a la propiedad — una experiencia rara, íntima y profundamente regeneradora.","about.wellness.title":"Retiros Wellness","about.wellness.description":"Un santuario de quietud e inspiración, ideal para quienes guían o participan en retiros de bienestar, yoga, meditación y desarrollo personal. Aquí, la naturaleza amplifica cada práctica e invita a la verdadera regeneración interior.","about.corporate.title":"Reuniones Corporativas","about.corporate.description":"Lejos del ruido, cerca de lo esencial. Los equipos encuentran en Coutada un lugar para alinear visión, fortalecer lazos y despertar creatividad, combinando momentos de trabajo enfocado con pausas en la naturaleza que oxigenan ideas.","about.family.title":"Familia y Amigos","about.family.description":"Casa exclusiva para tu grupo, con habitaciones confortables, zonas comunes amplias, exterior para niños y adultos, y fácil acceso a senderismo y actividades en la región. Perfecto para vacaciones, celebraciones o fines de semana prolongados.","about.quote":'"Al inspirar el bosque, exhalo el cansancio"',"about.quoteAuthor":"— Autor desconocido","experiences.label":"Experiencias","experiences.title":"Reconéctate con la Naturaleza","experiences.description":"Descubre prácticas ancestrales y modernas que promueven el equilibrio entre cuerpo, mente y espíritu, siempre en armonía con el entorno natural envolvente.","experiences.yoga.title":"Yoga & Pilates & Chi Kung","experiences.yoga.description":"Prácticas realizadas en interior o exterior, inmersas en el bosque, guiadas por sonidos naturales.","experiences.meditation.title":"Meditación Guiada","experiences.meditation.description":"Sesiones de meditación en ambientes naturales, promoviendo paz interior y claridad mental.","experiences.forest.title":"Baño de Bosque","experiences.forest.description":"Shinrin-yoku - práctica japonesa de inmersión en la naturaleza con caminatas contemplativas.","experiences.workshops.title":"Talleres de Bienestar","experiences.workshops.description":"Alimentación consciente, expresión creativa, prácticas de mindfulness y respiración funcional.","experiences.extra":"Nuestros retiros pueden incluir talleres de alimentación consciente, expresión creativa y emocional, conexión relacional, educación para el autocuidado, prácticas de mindfulness y respiración funcional/diafragmática, etc.","experiences.programs":"Programas Personalizados","experiences.natureSustainability":"Naturaleza y Sostenibilidad","experiences.retreat.title":'Próximo Retiro: "Respirar el Otoño"',"experiences.retreat.description":"2-5 Octubre 2026 • Cuatro días para respirar profundamente, escuchar el cuerpo y alinear nuestro tiempo con el tiempo de la tierra.","experiences.retreat.cta":"Saber Más","testimonials.label":"Testimonios","testimonials.title":"Experiencias Compartidas","testimonials.1.quote":"Una experiencia transformadora. La conexión con la naturaleza y la paz que encontré en este retiro cambiaron mi perspectiva de vida.","testimonials.1.author":"María Santos","testimonials.1.location":"Lisboa, Portugal","testimonials.2.quote":"El ambiente es simplemente mágico. Cada momento fue pensado para promover el bienestar y la reconexión interior.","testimonials.2.author":"João Ferreira","testimonials.2.location":"Oporto, Portugal","testimonials.3.quote":"Las prácticas de yoga en el bosque y los baños de bosque fueron experiencias que nunca olvidaré. Altamente recomendado.","testimonials.3.author":"Ana Costa","testimonials.3.location":"Braga, Portugal","accommodations.label":"Infraestructuras","accommodations.title":"Alojamientos","accommodations.description":"Descubre nuestros espacios únicos, pensados para proporcionar confort, privacidad y una conexión auténtica con la naturaleza envolvente. Aquí, cada detalle invita a la pausa, a la presencia 
3y a la conexión genuina con lo que realmente importa. Este es el lugar donde todo se alinea: el silencio, el espacio y el propósito.","accommodations.photosSoon":"Fotos próximamente","accommodations.casa-principal.title":"Casa Principal (5 Habitaciones)","accommodations.casa-principal.description":"El corazón de la Finca, con espacios amplios y acogedores para momentos de convivencia y relajación. Dispone de comedor, dos salas de estar, despacho, aseo social y terraza para prácticas wellness. Está rodeada de espacios y céspedes, apropiados para diferentes prácticas.","accommodations.casa-2.title":"Casa 2 (2 Habitaciones)","accommodations.casa-2.description":"Un espacio acogedor dentro de la propiedad familiar, ofreciendo confort y privacidad. Totalmente renovada y equipada, situada junto a un hórreo y dispone de una amplia era, adecuada para diferentes prácticas. La Finca tiene cerca de 10 hectáreas.","accommodations.anexos.title":"Suites del Jardín (3)","accommodations.anexos.description":"Espacios complementarios que ofrecen privacidad y confort adicional a nuestros huéspedes, con camas dobles o individuales.","accommodations.cabanas.title":"Refugios del Bosque (2)","accommodations.cabanas.description":"Refugios íntimos integrados en la naturaleza, perfectos para una experiencia de reconexión profunda. Los refugios del bosque de madera tienen electricidad, baño, agua caliente, cafetera, microondas y mini nevera. Capacidad familiar para 2 adultos y 2 niños en cada uno. En retiros 2 adultos en cada uno.","accommodations.glamping.title":"Decks para Glamping (tres plataformas)","accommodations.glamping.description":"Plataformas elevadas preparadas para tiendas, o para prácticas mindfulness, combinando aventura con confort. Ideal para tiendas pop-up.","accommodations.pool.title":"Piscina y Casa de Apoyo","accommodations.pool.description":"Zona de ocio con piscina y casa de apoyo con baño.","accommodations.playground.title":"Parque Infantil y Casa del Árbol","accommodations.playground.description":"Espacios dedicados a los más pequeños, con parque infantil y casa del árbol para aventuras al aire libre.","accommodations.meeting.title":"Sala de Reuniones Interior","accommodations.meeting.description":"Espacio interior amplio y luminoso con grandes ventanas hacia la naturaleza, ideal para reuniones, talleres y actividades en grupo.","contact.label":"Contacto","contact.title":"Ponte en Contacto","contact.description":"Estamos aquí para ayudarte a planificar tus vacaciones, encuentro empresarial o retiro perfecto. Contáctanos para más información o para hacer tu reserva.","contact.email":"Email","contact.phone":"Teléfono","contact.location":"Ubicación","contact.hours":"Horario","contact.hoursValue":"Lun - Dom: 9h - 18h","contact.form.name":"Nombre","contact.form.email":"Email","contact.form.message":"Mensaje","contact.form.messagePlaceholder":"¿Cómo podemos ayudarte?","contact.form.send":"Enviar Mensaje","footer.tagline":"Un santuario de paz en el corazón de la naturaleza","footer.powered":"Powered by Greenfest","footer.rights":"Todos los derechos reservados","footer.privacy":"Política de Privacidad","footer.terms":"Términos y Condiciones"},fr:{"nav.about":"À propos","nav.experiences":"Expériences","nav.nature":"Durabilité","nav.accommodations":"Hébergements","nav.contact":"Contact","nav.book":"Réserver","hero.badge":"Ouvert toute l'année","hero.title":"Trouvez la Paix Au Cœur de la Nature","hero.description":"Un refuge exclusif où le corps, l'esprit et l'âme s'harmonisent — idéal pour les retraites, les rencontres d'entreprise ou des moments inoubliables en famille et entre amis.","hero.discover":"Découvrir","hero.book":"Réserver","hero.scroll":"Découvrez Plus","about.label":"Notre Essence","about.title":"Un Sanctuaire de Paix","about.description":"À Casa do Alto da Coutada, chaque séjour est une expérience authentique. Entourée de montagnes, de forêts d'arbres autochtones, de silence et de lumière naturelle, ce refuge invite au repos, à la connexion et à la célébration de la vie — que ce soit pour régénérer les énergies, inspirer les équipes ou créer des souvenirs avec ceux que vous aimez.","about.feature1.title":"Nature Enveloppante","about.feature1.description":"10 hectares de forêt préservée avec une biodiversité unique. Le domaine offre l'environnement idéal pour ceux qui recherchent le bien-être, le silence, la guérison et l'inspiration.","about.feature2.title":"Intimité Totale","about.feature2.description":"Sans maisons visibles, un véritable refuge isolé. L'atmosphère parfaite pour le leadership, les équipes créatives, les startups, les entreprises et les individus pour renforcer les relations et stimuler l'innovation.","about.feature3.title":"Bien-être Holistique","about.feature3.description":"Programmes personnalisés pour le corps, l'esprit et l'âme. Parfaits pour le yoga, la méditation, la respiration consciente, la détox numérique, le coaching, la randonnée ou les retraites thérapeutiques.","about.feature4.title":"Expérience Authentique","about.feature4.description":"Connexion authentique avec la nature, riche en faune et flore diversifiées. Ici, chaque programme est personnalisé et chaque groupe a un accès exclusif à la propriété — une expérience rare, intime et profondément régénératrice.","about.wellness.title":"Retraites Bien-être","about.wellness.description":"Un sanctuaire de quiétude et d'inspiration, idéal pour ceux qui guident ou participent à des retraites de bien-être, yoga, méditation et développement personnel. Ici, la nature amplifie chaque pratique et invite à une véritable régénération intérieure.","about.corporate.title":"Réunions d'Entreprise","about.corporate.description":"Loin du bruit, proche de l'essentiel. Les équipes trouvent à Coutada un lieu pour aligner la vision, renforcer les liens et éveiller la créativité, combinant des moments de travail concentré avec des pauses dans la nature qui oxygènent les idées.","about.family.title":"Famille et Amis","about.family.description":"Maison exclusive pour votre groupe, avec des chambres confortables, des espaces communs spacieux, un extérieur pour enfants et adultes, et un accès facile aux randonnées et activités de la région. Parfait pour les vacances, les célébrations ou les longs week-ends.","about.quote":`"En inspirant la forêt, j'expire la fatigue"`,"about.quoteAuthor":"— Auteur inconnu","experiences.label":"Expérience
3s","experiences.title":"Reconnectez-vous avec la Nature","experiences.description":"Découvrez des pratiques ancestrales et modernes qui favorisent l'équilibre entre le corps, l'esprit et l'âme, toujours en harmonie avec l'environnement naturel environnant.","experiences.yoga.title":"Yoga & Pilates & Chi Kung","experiences.yoga.description":"Pratiques réalisées à l'intérieur ou à l'extérieur, immergées dans la forêt, guidées par les sons naturels.","experiences.meditation.title":"Méditation Guidée","experiences.meditation.description":"Séances de méditation dans des environnements naturels, favorisant la paix intérieure et la clarté mentale.","experiences.forest.title":"Bain de Forêt","experiences.forest.description":"Shinrin-yoku - pratique japonaise d'immersion dans la nature avec des promenades contemplatives.","experiences.workshops.title":"Ateliers Bien-être","experiences.workshops.description":"Alimentation consciente, expression créative, pratiques de pleine conscience et respiration fonctionnelle.","experiences.extra":"Nos retraites peuvent inclure des ateliers d'alimentation consciente, d'expression créative et émotionnelle, de connexion relationnelle, d'éducation à l'autosoins, de pratiques de pleine conscience et de respiration fonctionnelle/diaphragmatique, etc.","experiences.programs":"Programmes Personnalisés","experiences.natureSustainability":"Nature & Durabilité","experiences.retreat.title":`Prochaine Retraite : "Respirer l'Automne"`,"experiences.retreat.description":"2-5 Octobre 2026 • Quatre jours pour respirer profondément, écouter le corps et aligner notre temps avec le temps de la terre.","experiences.retreat.cta":"En Savoir Plus","testimonials.label":"Témoignages","testimonials.title":"Expériences Partagées","testimonials.1.quote":"Une expérience transformatrice. La connexion avec la nature et la paix que j'ai trouvées lors de cette retraite ont changé ma perspective de vie.","testimonials.1.author":"Maria Santos","testimonials.1.location":"Lisbonne, Portugal","testimonials.2.quote":"L'environnement est tout simplement magique. Chaque moment a été pensé pour favoriser le bien-être et la reconnexion intérieure.","testimonials.2.author":"João Ferreira","testimonials.2.location":"Porto, Portugal","testimonials.3.quote":"Les pratiques de yoga en forêt et les bains de forêt ont été des expériences que je n'oublierai jamais. Hautement recommandé.","testimonials.3.author":"Ana Costa","testimonials.3.location":"Braga, Portugal","accommodations.label":"Infrastructures","accommodations.title":"Hébergements","accommodations.description":"Découvrez nos espaces uniques, conçus pour offrir confort, intimité et une connexion authentique avec la nature environnante. Ici, chaque détail invite à la pause, à la présence et à la connexion authentique avec ce qui compte vraiment. C'est le lieu où tout s'aligne : le silence, l'espace et le but.","accommodations.photosSoon":"Photos bientôt disponibles","accommodations.casa-principal.title":"Maison Principale (5 Chambres)","accommodations.casa-principal.description":"Le cœur du Domaine, avec des espaces spacieux et accueillants pour des moments de partage et de détente. Elle dispose d'une salle à manger, de deux salons, d'un bureau, d'une salle d'eau et d'une terrasse pour les pratiques bien-être. Elle est entourée d'espaces et de pelouses, adaptés à différentes pratiques.","accommodations.casa-2.title":"Maison 2 (2 Chambres)","accommodations.casa-2.description":"Un espace accueillant au sein de la propriété familiale, offrant confort et intimité. Entièrement rénovée et équipée, située à côté d'un grenier avec une grande aire de battage, adaptée à différentes pratiques. Le domaine compte environ 10 hectares.","accommodations.anexos.title":"Suites du Jardin (3)","accommodations.anexos.description":"Espaces complémentaires offrant intimité et confort supplémentaire à nos hôtes, avec des lits doubles ou simples.","accommodations.cabanas.title":"Refuges de la Forêt (2)","accommodations.cabanas.description":"Refuges intimes intégrés dans la nature, parfaits pour une expérience de reconnexion profonde. Les refuges de la forêt en bois disposent d'électricité, salle de bain, eau chaude, machine à café, micro-ondes et mini-réfrigérateur. Capacité familiale pour 2 adultes et 2 enfants chacun. Pour les retraites, 2 adultes chacun.","accommodations.glamping.t
3itle":"Decks de Glamping (trois plateformes)","accommodations.glamping.description":"Plateformes surélevées préparées pour les tentes, ou pour les pratiques de pleine conscience, combinant aventure et confort. Idéal pour les tentes pop-up.","accommodations.pool.title":"Piscine et Maison d'Appui","accommodations.pool.description":"Espace de loisirs avec piscine et maison d'appui avec salle de bain.","accommodations.playground.title":"Aire de Jeux et Cabane dans l'Arbre","accommodations.playground.description":"Espaces dédiés aux enfants, avec aire de jeux et cabane dans l'arbre pour des aventures en plein air.","accommodations.meeting.title":"Salle de Réunion Intérieure","accommodations.meeting.description":"Espace intérieur spacieux et lumineux avec de grandes fenêtres donnant sur la nature, idéal pour réunions, ateliers et activités de groupe.","contact.label":"Contact","contact.title":"Contactez-nous","contact.description":"Nous sommes là pour vous aider à planifier vos vacances, votre réunion d'entreprise ou votre retraite parfaite. Contactez-nous pour plus d'informations ou pour effectuer votre réservation.","contact.email":"Email","contact.phone":"Téléphone","contact.location":"Emplacement","contact.hours":"Horaires","contact.hoursValue":"Lun - Dim : 9h - 18h","contact.form.name":"Nom","contact.form.email":"Email","contact.form.message":"Message","contact.form.messagePlaceholder":"Comment pouvons-nous vous aider ?","contact.form.send":"Envoyer le Message","footer.tagline":"Un sanctuaire de paix au cœur de la nature","footer.powered":"Powered by Greenfest","footer.rights":"Tous droits réservés","footer.privacy":"Politique de Confidentialité","footer.terms":"Conditions Générales"},it:{"nav.about":"Chi Siamo","nav.experiences":"Esperienze","nav.nature":"Sostenibilità","nav.accommodations":"Alloggi","nav.contact":"Contatto","nav.book":"Prenota","hero.badge":"Aperto tutto l'anno","hero.title":"Trova la Pace Nel Cuore della Natura","hero.description":"Un rifugio esclusivo dove corpo, mente e spirito si armonizzano — ideale per ritiri, incontri aziendali o momenti indimenticabili in famiglia e con amici.","hero.discover":"Scopri","hero.book":"Prenota","hero.scroll":"Scopri di Più","about.label":"La Nostra Essenza","about.title":"Un Santuario di Pace","about.description":"A Casa do Alto da Coutada, ogni soggiorno è un'esperienza autentica. Circondata da montagne, boschi di alberi autoctoni, silenzio e luce naturale, questo rifugio invita al riposo, alla connessione e alla celebrazione della vita — sia per rigenerare le energie, ispirare i team o creare ricordi con chi ami di più.","about.feature1.title":"Natura Avvolgente","about.feature1.description":"10 ettari di foresta preservata con biodiversità unica. La tenuta offre l'ambiente ideale per chi cerca benessere, silenzio, guarigione e ispirazione.","about.feature2.title":"Privacy Totale","about.feature2.description":"Nessuna casa visibile, un vero rifugio isolato. L'atmosfera perfetta per leadership, team creativi, startup, aziende e individui per rafforzare le relazioni e stimolare l'innovazione.","about.feature3.title":"Benessere Olistico","about.feature3.description":"Programmi personalizzati per corpo, mente e spirito. Perfetti per yoga, meditazione, respirazione consapevole, detox digitale, coaching, escursioni o ritiri terapeutici.","about.feature4.title":"Esperienza Autentica","about.feature4.description":"Connessione genuina con la natura, ricca di fauna e flora diversificate. Qui, ogni programma è personalizzato e ogni gruppo ha accesso esclusivo alla proprietà — un'esperienza rara, intima e profondamente rigenerante.","about.wellness.title":"Ritiri Wellness","about.wellness.description":"Un santuario di quiete e ispirazione, ideale per chi guida o partecipa a ritiri di benessere, yoga, meditazione e sviluppo personale. Qui, la natura amplifica ogni pratica e invita alla vera rigenerazione interiore.","about.corporate.title":"Incontri Aziendali","about.corporate.description":"Lontano dal rumore, vicino all'essenziale. I team trovano a Coutada un luogo per allineare la visione, rafforzare i legami e risvegliare la creatività, combinando momenti di lavoro focalizzato con pause nella natura che ossigenano le idee.","about.family.title":"Famiglia e Amici","about.family.description":"Casa esclusiva per il vostro gruppo, con camere c
3onfortevoli, aree comuni spaziose, spazio esterno per bambini e adulti, e facile accesso a escursioni e attività nella regione. Perfetto per vacanze, celebrazioni o weekend prolungati.","about.quote":'"Inspirando la foresta, espiro la stanchezza"',"about.quoteAuthor":"— Autore sconosciuto","experiences.label":"Esperienze","experiences.title":"Riconnettiti con la Natura","experiences.description":"Scopri pratiche ancestrali e moderne che promuovono l'equilibrio tra corpo, mente e spirito, sempre in armonia con l'ambiente naturale circostante.","experiences.yoga.title":"Yoga & Pilates & Chi Kung","experiences.yoga.description":"Pratiche realizzate all'interno o all'esterno, immerse nella foresta, guidate dai suoni naturali.","experiences.meditation.title":"Meditazione Guidata","experiences.meditation.description":"Sessioni di meditazione in ambienti naturali, promuovendo pace interiore e chiarezza mentale.","experiences.forest.title":"Bagno di Foresta","experiences.forest.description":"Shinrin-yoku - pratica giapponese di immersione nella natura con passeggiate contemplative.","experiences.workshops.title":"Workshop di Benessere","experiences.workshops.description":"Alimentazione consapevole, espressione creativa, pratiche di mindfulness e respirazione funzionale.","experiences.extra":"I nostri ritiri possono includere workshop di alimentazione consapevole, espressione creativa ed emotiva, connessione relazionale, educazione all'autocura, pratiche di mindfulness e respirazione funzionale/diaframmatica, ecc.","experiences.programs":"Programmi Personalizzati","experiences.natureSustainability":"Natura e Sostenibilità","experiences.retreat.title":`Prossimo Ritiro: "Respirare l'Autunno"`,"experiences.retreat.description":"2-5 Ottobre 2026 • Quattro giorni per respirare profondamente, ascoltare il corpo e allineare il nostro tempo con il tempo della terra.","experiences.retreat.cta":"Scopri di Più","testimonials.label":"Testimonianze","testimonials.title":"Esperienze Condivise","testimonials.1.quote":"Un'esperienza trasformativa. La connessione con la natura e la pace che ho trovato in questo ritiro hanno cambiato la mia prospettiva di vita.","testimonials.1.author":"Maria Santos","testimonials.1.location":"Lisbona, Portogallo","testimonials.2.quote":"L'ambiente è semplicemente magico. Ogni momento è stato pensato per promuovere il benessere e la riconnessione interiore.","testimonials.2.author":"João Ferreira","testimonials.2.location":"Porto, Portogallo","testimonials.3.quote":"Le pratiche di yoga nella foresta e i bagni di foresta sono state esperienze che non dimenticherò mai. Altamente consigliato.","testimonials.3.author":"Ana Costa","testimonials.3.location":"Braga, Portogallo","accommodations.label":"Infrastrutture","accommodations.title":"Alloggi","accommodations.description":"Scopri i nostri spazi unici, pensati per offrire comfort, privacy e una connessione autentica con la natura circostante. Qui, ogni dettaglio invita alla pausa, alla presenza e alla connessione genuina con ciò che conta davvero. Questo è il luogo dove tutto si allinea: il silenzio, lo spazio e lo scopo.","accommodations.photosSoon":"Foto in arrivo","accommodations.casa-principal.title":"Casa Principale (5 Camere)","accommodations.casa-principal.description":"Il cuore della Tenuta, con spazi ampi e accoglienti per momenti di condivisione e relax. Dispone di sala da pranzo, due soggiorni, ufficio, bagno ospiti e terrazza per pratiche wellness. È circondata da spazi e prati, adatti a diverse pratiche.","accommodations.casa-2.title":"Casa 2 (2 Camere)","accommodations.casa-2.description":"Uno spazio accogliente all'interno della proprietà familiare, che offre comfort e privacy. Completamente ristrutturata e attrezzata, situata accanto a un granaio con un'ampia aia, adatta a diverse pratiche. La tenuta ha circa 10 ettari.","accommodations.anexos.title":"Suite del Giardino (3)","accommodations.anexos.description":"Spazi complementari che offrono privacy e comfort aggiuntivo ai nostri ospiti, con letti matrimoniali o singoli.","accommodations.cabanas.title":"Rifugi del Bosco (2)","accommodations.cabanas.description":"Rifugi intimi integrati nella natura, perfetti per un'esperienza di riconnessione profonda. I rifugi del bosco in legno hanno elettricità, bagno, acqua calda, macchina del caffè, microonde e mini frigo. Capacità familiare per 2 adulti e 2 bambini ciascuno. Per i ritiri 2 adulti ciascuno.","accommodations.glamping.t
3itle":"Deck per Glamping (tre piattaforme)","accommodations.glamping.description":"Piattaforme elevate preparate per tende, o per pratiche di mindfulness, combinando avventura e comfort. Ideale per tende pop-up.","accommodations.pool.title":"Piscina e Casa di Supporto","accommodations.pool.description":"Area leisure con piscina e casa di supporto con bagno.","accommodations.playground.title":"Parco Giochi e Casa sull'Albero","accommodations.playground.description":"Spazi dedicati ai più piccoli, con parco giochi e casa sull'albero per avventure all'aria aperta.","accommodations.meeting.title":"Sala Riunioni Interna","accommodations.meeting.description":"Spazio interno ampio e luminoso con grandi finestre affacciate sulla natura, ideale per riunioni, workshop e attività di gruppo.","contact.label":"Contatto","contact.title":"Contattaci","contact.description":"Siamo qui per aiutarti a pianificare le tue vacanze, il tuo incontro aziendale o il ritiro perfetto. Contattaci per maggiori informazioni o per effettuare la tua prenotazione.","contact.email":"Email","contact.phone":"Telefono","contact.location":"Posizione","contact.hours":"Orari","contact.hoursValue":"Lun - Dom: 9:00 - 18:00","contact.form.name":"Nome","contact.form.email":"Email","contact.form.message":"Messaggio","contact.form.messagePlaceholder":"Come possiamo aiutarti?","contact.form.send":"Invia Messaggio","footer.tagline":"Un santuario di pace nel cuore della natura","footer.powered":"Powered by Greenfest","footer.rights":"Tutti i diritti riservati","footer.privacy":"Privacy Policy","footer.terms":"Termini e Condizioni"}},Qa=M.createContext(void 0),di=({children:t})=>{const[e,a]=M.useState("pt"),o=r=>li[e][r]||r;return P.jsx(Qa.Provider,{value:{language:e,setLanguage:a,t:o},children:t})},Pi=()=>{const t=M.useContext(Qa);if(!t)throw new Error("useLanguage must be used within a LanguageProvider");return t},ui=M.lazy(()=>It(()=>import("./Index-BkcxZI7V.js"),__vite__mapDeps([0,1,2,3,4,5]))),pi=M.lazy(()=>It(()=>import("./NotFound-Vo6K8b2x.js"),__vite__mapDeps([6,1,2]))),mi=M.lazy(()=>It(()=>import("./RetiroRespiraPrimavera-iE0KW_iO.js"),__vite__mapDeps([7,1,2,3,4,5,8]))),fi=new ni,hi=()=>P.jsx("div",{className:"min-h-screen bg-primary flex items-center justify-center",children:P.jsx("div",{className:"w-8 h-8 border-2 border-primary-foreground/30 border-t-primary-foreground rounded-full animate-spin"})}),gi=()=>P.jsx(ci,{client:fi,children:P.jsx(di,{children:P.jsxs(Ir,{children:[P.jsx(or,{}),P.jsx(jr,{}),P.jsx(io,{children:P.jsx(M.Suspense,{fallback:P.jsx(hi,{}),children:P.jsxs(no,{children:[P.jsx(At,{path:"/",element:P.jsx(ui,{})}),P.jsx(At,{path:"/retiro-respirar-primavera",element:P.jsx(mi,{})}),P.jsx(At,{path:"*",element:P.jsx(pi,{})})]})})})]})})});so(document.getElementById("root")).render(P.jsx(co,{children:P.jsx(gi,{})}));export{It as _,wo as a,Ci as b,Be as c,Pi as u};

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.