PageSourceSearch

https://rentaltide.com/assets/WhatsNew-BZWyEEf4.js

js rentaltide.com collected 2026-10-02 07:00:11 UTC 64,267 bytes, 39 lines download raw bytes

1import{aG as ie,j as t,N as se}from"./index-BP495Wq2.js";import ae from"./Footer-BXft8DOF.js";import{r as x,j as le,c as ne,aQ as re,bo as ce,b as oe,bH as he,au as de,a_ as xe,w as fe,bI as ue,Y as ye,aX as me,C as pe,a8 as ge,bj as we,av as je,aI as be,bf as _e,z as ke,bJ as Se,t as ve,v as Ne,aa as Ae,m as Le,at as Ce,bK as Ue,O as Ee,M as We,bl as Re,k as $e,bL as Ie,I as Pe,y as Te,bM as Be,b6 as Me,ao as De,b0 as Fe,T as ze,U as Oe,bN as Ve,A as He}from"./vendor-icons-DySKCv4q.js";import{S as qe}from"./SEOHead-IgzOZ5qK.js";function Qe(e,i){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;const s=document.implementation.createHTMLDocument(),a=s.createElement("base"),n=s.createElement("a");return s.head.appendChild(a),s.body.appendChild(n),i&&(a.href=i),n.href=e,n.href}const Ge=(()=>{let e=0;const i=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${i()}${e}`)})();function w(e){const i=[];for(let s=0,a=e.length;s<a;s++)i.push(e[s]);return i}let _=null;function V(e={}){return _||(e.includeStyleProperties?(_=e.includeStyleProperties,_):(_=w(window.getComputedStyle(document.documentElement)),_))}function A(e,i){const a=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(i);return a?parseFloat(a.replace("px","")):0}function Ke(e){const i=A(e,"border-left-width"),s=A(e,"border-right-width");return e.clientWidth+i+s}function Ze(e){const i=A(e,"border-top-width"),s=A(e,"border-bottom-width");return e.clientHeight+i+s}function H(e,i={}){const s=i.width||Ke(e),a=i.height||Ze(e);return{width:s,height:a}}function Ye(){let e,i;try{i=process}catch{}const s=i&&i.env?i.env.devicePixelRatio:null;return s&&(e=parseInt(s,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}const u=16384;function Xe(e){(e.width>u||e.height>u)&&(e.width>u&&e.height>u?e.width>e.height?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u):e.width>u?(e.height*=u/e.width,e.width=u):(e.width*=u/e.height,e.height=u))}function L(e){return new Promise((i,s)=>{const a=new Image;a.onload=()=>{a.decode().then(()=>{requestAnimationFrame(()=>i(a))})},a.onerror=s,a.crossOrigin="anonymous",a.decoding="async",a.src=e})}async function Je(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(i=>`data:image/svg+xml;charset=utf-8,${i}`)}async function et(e,i,s){const a="http://www.w3.org/2000/svg",n=document.createElementNS(a,"svg"),l=document.createElementNS(a,"foreignObject");return n.setAttribute("width",`${i}`),n.setAttribute("height",`${s}`),n.setAttribute("viewBox",`0 0 ${i} ${s}`),l.setAttribute("width","100%"),l.setAttribute("height","100%"),l.setAttribute("x","0"),l.setAttribute("y","0"),l.setAttribute("externalResourcesRequired","true"),n.appendChild(l),l.appendChild(e),Je(n)}const f=(e,i)=>{if(e instanceof i)return!0;const s=Object.getPrototypeOf(e);return s===null?!1:s.constructor.name===i.name||f(s,i)};function tt(e){const i=e.getPropertyValue("content");return`${e.cssText} content: '${i.replace(/'|"/g,"")}';`}function it(e,i){return V(i).map(s=>{const a=e.getPropertyValue(s),n=e.getPropertyPriority(s);return`${s}: ${a}${n?" !important":""};`}).join(" ")}function st(e,i,s,a){const n=`.${e}:${i}`,l=s.cssText?tt(s):it(s,a);return document.createTextNode(`${n}{${l}}`)}function T(e,i,s,a){const n=window.getComputedStyle(e,s),l=n.getPropertyValue("content");if(l===""||l==="none")return;const r=Ge();try{i.className=`${i.className} ${r}`}catch{return}const c=document.createElement("style");c.appendChild(st(r,s,n,a)),i.appendChild(c)}function at(e,i,s){T(e,i,":before",s),T(e,i,":after",s)}const B="application/font-woff",M="image/jpeg",lt={woff:B,woff2:B,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:M,jpeg:M,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function nt(e){const i=/\.([^./]*?)$/g.exec(e);return i?i[1]:""}function $(e){const i=nt(e).toLowerCase();return lt[i]||""}function rt(e){return e.split(/,/)[1]}function R(e){return e.search(/^(data:)/)!==-1}function ct(e,i){return`data:${i};base64,${e}`}async function q(e,i,s){const a=await fetch(e,i);if(a.status===404)throw new Error(`Resource "${a.url}" not found`);const n=await a.blob();return new Promise((l,r)=>{const c=new FileReader;c.onerror=r,c.onloadend=()=>{try{l(s({res:a,result:c.result}))}catch(o){r(o)}},c.readAsDataURL(n)})}const W={};function ot(e,i,s){let a=e.replace(/\?.*/,"");return s&&(a=e),/ttf|otf|eot|woff2?/i.test(a)&&(a=a.replace(/.*\//,"")),i?`[${i}]${a}`:a}async function I(e,i,s){const a=ot(e,i,s.includeQueryParams);if(W[a]!=null)return W[a];s.cacheBust&&(e+=(/\?/.test(e)?"&":"?")+new Date().getTime());let n;try{const l=await q(e,s.fetchRequestInit,({res:r,result:c})=>(i||(i=r.headers.get("Content-Type")||""),rt(c)));n=ct(l,i)}catch(l){n=s.imagePlaceholder||"";let r=`Failed to fetch resource: ${e}`;l&&(r=typeof l=="string"?l:l.message),r&&console.warn(r)}return W[a]=n,n}async function ht(e){const i=e.toDataURL();return i==="data:,"?e.cloneNode(!1):L(i)}async function dt(e,i){if(e.currentSrc){const l=document.createElement("canvas"),r=l.getContext("2d");l.width=e.clientWidth,l.height=e.clientHeight,r==null||r.drawImage(e,0,0,l.width,l.height);const c=l.toDataURL();return L(c)}const s=e.poster,a=$(s),n=await I(s,a,i);return L(n)}async function xt(e,i){var s;try{if(!((s=e==null?void 0:e.contentDocument)===null||s===void 0)&&s.body)return await C(e.contentDocument.body,i,!0)}catch{}return e.cloneNode(!1)}
1async function ft(e,i){return f(e,HTMLCanvasElement)?ht(e):f(e,HTMLVideoElement)?dt(e,i):f(e,HTMLIFrameElement)?xt(e,i):e.cloneNode(Q(e))}const ut=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SLOT",Q=e=>e.tagName!=null&&e.tagName.toUpperCase()==="SVG";async function yt(e,i,s){var a,n;if(Q(i))return i;let l=[];return ut(e)&&e.assignedNodes?l=w(e.assignedNodes()):f(e,HTMLIFrameElement)&&(!((a=e.contentDocument)===null||a===void 0)&&a.body)?l=w(e.contentDocument.body.childNodes):l=w(((n=e.shadowRoot)!==null&&n!==void 0?n:e).childNodes),l.length===0||f(e,HTMLVideoElement)||await l.reduce((r,c)=>r.then(()=>C(c,s)).then(o=>{o&&i.appendChild(o)}),Promise.resolve()),i}function mt(e,i,s){const a=i.style;if(!a)return;const n=window.getComputedStyle(e);n.cssText?(a.cssText=n.cssText,a.transformOrigin=n.transformOrigin):V(s).forEach(l=>{let r=n.getPropertyValue(l);l==="font-size"&&r.endsWith("px")&&(r=`${Math.floor(parseFloat(r.substring(0,r.length-2)))-.1}px`),f(e,HTMLIFrameElement)&&l==="display"&&r==="inline"&&(r="block"),l==="d"&&i.getAttribute("d")&&(r=`path(${i.getAttribute("d")})`),a.setProperty(l,r,n.getPropertyPriority(l))})}function pt(e,i){f(e,HTMLTextAreaElement)&&(i.innerHTML=e.value),f(e,HTMLInputElement)&&i.setAttribute("value",e.value)}
1function gt(e,i){if(f(e,HTMLSelectElement)){const s=i,a=Array.from(s.children).find(n=>e.value===n.getAttribute("value"));a&&a.setAttribute("selected","")}}function wt(e,i,s){return f(i,Element)&&(mt(e,i,s),at(e,i,s),pt(e,i),gt(e,i)),i}async function jt(e,i){const s=e.querySelectorAll?e.querySelectorAll("use"):[];if(s.length===0)return e;const a={};for(let l=0;l<s.length;l++){const c=s[l].getAttribute("xlink:href");if(c){const o=e.querySelector(c),y=document.querySelector(c);!o&&y&&!a[c]&&(a[c]=await C(y,i,!0))}}const n=Object.values(a);if(n.length){const l="http://www.w3.org/1999/xhtml",r=document.createElementNS(l,"svg");r.setAttribute("xmlns",l),r.style.position="absolute",r.style.width="0",r.style.height="0",r.style.overflow="hidden",r.style.display="none";const c=document.createElementNS(l,"defs");r.appendChild(c);for(let o=0;o<n.length;o++)c.appendChild(n[o]);e.appendChild(r)}return e}async function C(e,i,s){return!s&&i.filter&&!i.filter(e)?null:Promise.resolve(e).then(a=>ft(a,i)).then(a=>yt(e,a,i)).then(a=>wt(e,a,i)).then(a=>jt(a,i))}const G=/url\((['"]?)([^'"]+?)\1\)/g,bt=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,_t=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function kt(e){const i=e.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${i})(['"]?\\))`,"g")}function St(e){const i=[];return e.replace(G,(s,a,n)=>(i.push(n),s)),i.filter(s=>!R(s))}async function vt(e,i,s,a,n){try{const l=s?Qe(i,s):i,r=$(i);let c;return n||(c=await I(l,r,a)),e.replace(kt(i),`$1${c}$3`)}catch{}return e}function Nt(e,{preferredFontFormat:i}){return i?e.replace(_t,s=>{for(;;){const[a,,n]=bt.exec(s)||[];if(!n)return"";if(n===i)return`src: ${a};`}}):e}function K(e){return e.search(G)!==-1}async function Z(e,i,s){if(!K(e))return e;const a=Nt(e,s);return St(a).reduce((l,r)=>l.then(c=>vt(c,r,i,s)),Promise.resolve(a))}async function k(e,i,s){var a;const n=(a=i.style)===null||a===void 0?void 0:a.getPropertyValue(e);if(n){const l=await Z(n,null,s);return i.style.setProperty(e,l,i.style.getPropertyPriority(e)),!0}return!1}async function At(e,i){await k("background",e,i)||await k("background-image",e,i),await k("mask",e,i)||await k("-webkit-mask",e,i)||await k("mask-image",e,i)||await k("-webkit-mask-image",e,i)}async function Lt(e,i){const s=f(e,HTMLImageElement);if(!(s&&!R(e.src))&&!(f(e,SVGImageElement)&&!R(e.href.baseVal)))return;const a=s?e.src:e.href.baseVal,n=await I(a,$(a),i);await new Promise((l,r)=>{e.onload=l,e.onerror=i.onImageErrorHandler?(...o)=>{try{l(i.onImageErrorHandler(...o))}catch(y){r(y)}}:r;const c=e;c.decode&&(c.decode=l),c.loading==="lazy"&&(c.loading="eager"),s?(e.srcset="",e.src=n):e.href.baseVal=n})}async function Ct(e,i){const a=w(e.childNodes).map(n=>Y(n,i));await Promise.all(a).then(()=>e)}async function Y(e,i){f(e,Element)&&(await At(e,i),await Lt(e,i),await Ct(e,i))}function Ut(e,i){const{style:s}=e;i.backgroundColor&&(s.backgroundColor=i.backgroundColor),i.width&&(s.width=`${i.width}px`),i.height&&(s.height=`${i.height}px`);const a=i.style;return a!=null&&Object.keys(a).forEach(n=>{s[n]=a[n]}),e}const D={};async function F(e){let i=D[e];if(i!=null)return i;const a=await(await fetch(e)).text();return i={url:e,cssText:a},D[e]=i,i}async function z(e,i){let s=e.cssText;const a=/url\(["']?([^"')]+)["']?\)/g,l=(s.match(/url\([^)]+\)/g)||[]).map(async r=>{let c=r.replace(a,"$1");return c.startsWith("https://")||(c=new URL(c,e.url).href),q(c,i.fetchRequestInit,({result:o})=>(s=s.replace(r,`url(${o})`),[r,o]))});return Promise.all(l).then(()=>s)}function O(e){if(e==null)return[];const i=[],s=/(\/\*[\s\S]*?\*\/)/gi;let a=e.replace(s,"");const n=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)}
1)","gi");for(;;){const o=n.exec(a);if(o===null)break;i.push(o[0])}a=a.replace(n,"");const l=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,r="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",c=new RegExp(r,"gi");for(;;){let o=l.exec(a);if(o===null){if(o=c.exec(a),o===null)break;l.lastIndex=c.lastIndex}else c.lastIndex=l.lastIndex;i.push(o[0])}return i}async function Et(e,i){const s=[],a=[];return e.forEach(n=>{if("cssRules"in n)try{w(n.cssRules||[]).forEach((l,r)=>{if(l.type===CSSRule.IMPORT_RULE){let c=r+1;const o=l.href,y=F(o).then(m=>z(m,i)).then(m=>O(m).forEach(S=>{try{n.insertRule(S,S.startsWith("@import")?c+=1:n.cssRules.length)}catch(v){console.error("Error inserting rule from remote css",{rule:S,error:v})}})).catch(m=>{console.error("Error loading remote css",m.toString())});a.push(y)}})}catch(l){const r=e.find(c=>c.href==null)||document.styleSheets[0];n.href!=null&&a.push(F(n.href).then(c=>z(c,i)).then(c=>O(c).forEach(o=>{r.insertRule(o,r.cssRules.length)})).catch(c=>{console.error("Error loading remote stylesheet",c)})),console.error("Error inlining remote css file",l)}}),Promise.all(a).then(()=>(e.forEach(n=>{if("cssRules"in n)try{w(n.cssRules||[]).forEach(l=>{s.push(l)})}catch(l){console.error(`Error while reading CSS rules from ${n.href}`,l)}}),s))}function Wt(e){return e.filter(i=>i.type===CSSRule.FONT_FACE_RULE).filter(i=>K(i.style.getPropertyValue("src")))}async function Rt(e,i){if(e.ownerDocument==null)throw new Error("Provided element is not within a Document");const s=w(e.ownerDocument.styleSheets),a=await Et(s,i);return Wt(a)}function X(e){return e.trim().replace(/["']/g,"")}function $t(e){const i=new Set;function s(a){(a.style.fontFamily||getComputedStyle(a).fontFamily).split(",").forEach(l=>{i.add(X(l))}),Array.from(a.children).forEach(l=>{l instanceof HTMLElement&&s(l)})}return s(e),i}async function It(e,i){const s=await Rt(e,i),a=$t(e);return(await Promise.all(s.filter(l=>a.has(X(l.style.fontFamily))).map(l=>{const r=l.parentStyleSheet?l.parentStyleSheet.href:null;return Z(l.cssText,r,i)}))).join(`
2`)}async function Pt(e,i){const s=i.fontEmbedCSS!=null?i.fontEmbedCSS:i.skipFonts?null:await It(e,i);if(s){const a=document.createElement("style"),n=document.createTextNode(s);a.appendChild(n),e.firstChild?e.insertBefore(a,e.firstChild):e.appendChild(a)}}async function Tt(e,i={}){const{width:s,height:a}=H(e,i),n=await C(e,i,!0);return await Pt(n,i),await Y(n,i),Ut(n,i),await et(n,s,a)}async function Bt(e,i={}){const{width:s,height:a}=H(e,i),n=await Tt(e,i),l=await L(n),r=document.createElement("canvas"),c=r.getContext("2d"),o=i.pixelRatio||Ye(),y=i.canvasWidth||s,m=i.canvasHeight||a;return r.width=y*o,r.height=m*o,i.skipAutoScale||Xe(r),r.style.width=`${y}`,r.style.height=`${m}`,i.backgroundColor&&(c.fillStyle=i.backgroundColor,c.fillRect(0,0,r.width,r.height)),c.drawImage(l,0,0,r.width,r.height),r}async function Mt(e,i={}){return(await Bt(e,i)).toDataURL()}const p=[{title:"Affiliate Portal",description:"Affiliates get their own portal at affiliates.rentaltide.com. Invite-only sign in with just an email, earnings tracked across every business they promote, and direct booking that shows exactly what they earn. Partners like hotel concierges can reserve now and let the guest pay on arrival.",color:"#10b981",icon:he,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"30",y:"20",width:"140",height:"120",rx:"8",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"48",cy:"38",r:"7",fill:e,opacity:"0.35"}),t.jsx("rect",{x:"60",y:"34",width:"55",height:"8",rx:"2",fill:e,opacity:"0.3"}),t.jsx("rect",{x:"128",y:"30",width:"34",height:"14",rx:"7",fill:e,opacity:"0.6",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"145",y:"40",textAnchor:"middle",fill:"white",fontSize:"8",fontWeight:"bold",children:"10%"}),t.jsx("rect",{x:"42",y:"56",width:"36",height:"26",rx:"4",fill:e,opacity:"0.15",className:"animate-[fadeSlideUp_0.7s_ease-out]"}),t.jsx("rect",{x:"82",y:"56",width:"36",height:"26",rx:"4",fill:e,opacity:"0.15",className:"animate-[fadeSlideUp_0.8s_ease-out]"}),t.jsx("rect",{x:"122",y:"56",width:"36",height:"26",rx:"4",fill:e,opacity:"0.15",className:"animate-[fadeSlideUp_0.9s_ease-out]"}),t.jsx("text",{x:"60",y:"72",textAnchor:"middle",fill:e,fontSize:"8",fontWeight:"bold",children:"$1.4k"}),t.jsx("text",{x:"100",y:"72",textAnchor:"middle",fill:e,fontSize:"8",fontWeight:"bold",children:"$510"}),t.jsx("text",{x:"140",y:"72",textAnchor:"middle",fill:e,fontSize:"8",fontWeight:"bold",children:"$971"}),t.jsx("rect",{x:"42",y:"92",width:"116",height:"10",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"42",y:"107",width:"116",height:"10",rx:"2",fill:e,opacity:"0.14"}),t.jsx("rect",{x:"42",y:"123",width:"60",height:"12",rx:"6",fill:e,opacity:"0.7",className:"animate-[pulse_2.4s_ease-in-out_infinite]"}),t.jsx("text",{x:"72",y:"132",textAnchor:"middle",fill:"white",fontSize:"7",fontWeight:"bold",children:"BOOK NOW"})]})}
2,{title:"POS Invoicing",description:"Send professional invoices and process payments directly from the point of sale. Track outstanding balances and send automatic reminders.",color:"#3b82f6",icon:de,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"40",y:"20",width:"120",height:"120",rx:"8",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"50",y:"35",width:"100",height:"12",rx:"2",fill:e,opacity:"0.3",className:"animate-[fadeSlideUp_0.7s_ease-out]"}),t.jsx("rect",{x:"50",y:"55",width:"80",height:"6",rx:"2",fill:e,opacity:"0.2",className:"animate-[fadeSlideUp_0.8s_ease-out]"}),t.jsx("rect",{x:"50",y:"67",width:"60",height:"6",rx:"2",fill:e,opacity:"0.2",className:"animate-[fadeSlideUp_0.85s_ease-out]"}),t.jsx("rect",{x:"50",y:"85",width:"100",height:"1",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"50",y:"95",width:"40",height:"8",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"105",y:"95",width:"45",height:"8",rx:"2",fill:e,opacity:"0.6",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"127",y:"102",textAnchor:"middle",fill:"white",fontSize:"5",fontWeight:"bold",children:"PAY"}),t.jsx("circle",{cx:"155",cy:"30",r:"12",fill:e,opacity:"0.15"}),t.jsx("text",{x:"155",y:"34",textAnchor:"middle",fill:e,fontSize:"10",fontWeight:"bold",children:"$"})]})},{title:"Kiosk Mode with Safety Videos",description:"Self-service check-in kiosks that guide customers through safety videos before their rental. Reduce staff workload while improving safety.",color:"#8b5cf6",icon:xe,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"35",y:"15",width:"130",height:"90",rx:"6",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"42",y:"22",width:"116",height:"70",rx:"3",fill:e,opacity:"0.08"}),t.jsx("polygon",{points:"90,42 90,72 115,57",fill:e,opacity:"0.5",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("rect",{x:"80",y:"105",width:"40",height:"5",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"90",y:"110",width:"20",height:"20",rx:"1",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"42",y:"97",width:"25",height:"4",rx:"2",fill:"#22c55e",opacity:"0.6"}),t.jsx("rect",{x:"70",y:"97",width:"25",height:"4",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"98",y:"97",width:"25",height:"4",rx:"2",fill:e,opacity:"0.2"})]})},{title:"Dynamic Pricing",description:"Automatically adjust prices based on demand, time of day, day of week, and seasonality. Maximize revenue during peak times.",color:"#10b981",icon:fe,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("line",{x1:"30",y1:"130",x2:"170",y2:"130",stroke:e,opacity:"0.2",strokeWidth:"1"}),t.jsx("line",{x1:"30",y1:"130",x2:"30",y2:"20",stroke:e,opacity:"0.2",strokeWidth:"1"}),t.jsx("polyline",{points:"40,110 65,95 85,100 105,70 125,50 145,60 165,30",fill:"none",stroke:e,strokeWidth:"2.5",opacity:"0.7",strokeLinecap:"round",strokeLinejoin:"round",className:"animate-[drawLine_1.5s_ease-out]",strokeDasharray:"300",strokeDashoffset:"0"}),t.jsx("circle",{cx:"105",cy:"70",r:"4",fill:e,opacity:"0.8",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("rect",{x:"93",y:"52",width:"24",height:"12",rx:"3",fill:e,opacity:"0.15"}),t.jsx("text",{x:"105",y:"61",textAnchor:"middle",fill:e,fontSize:"7",fontWeight:"bold",children:"$$$"}),[40,65,85,125,145,165].map((i,s)=>t.jsx("circle",{cx:i,cy:[110,95,100,50,60,30][s],r:"2.5",fill:e,opacity:"0.4"},s))]})},{title:"Analytics Dashboard",description:"Deep insights into your business performance with revenue trends, booking patterns, inventory utilization, and customer analytics.",color:"#f59e0b",icon:ue,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[[{x:40,h:60},{x:65,h:85},{x:90,h:45},{x:115,h:95},{x:140,h:70}].map((i,s)=>t.jsx("rect",{x:i.x,y:130-i.h,width:"18",height:i.h,rx:"3",fill:e,opacity:.2+s*.12,className:"animate-[growUp_0.8s_ease-out]",style:{transformOrigin:`${i.x+9}px 130px`}},s)),t.jsx("line",{x1:"30",y1:"130",x2:"170",y2:"130",stroke:e,opacity:"0.2",strokeWidth:"1"}),t.jsx("circle",{cx:"155",cy:"25",r:"20",fill:"none",stroke:e,strokeWidth:"4",opacity:"0.2",strokeDasharray:"31 95",strokeDashoffset:"0"}),t.jsx("circle",{cx:"155",cy:"25",r:"20",fill:"none",stroke:e,strokeWidth:"4",opacity:"0.5",strokeDasharray:"55 71",strokeDashoffset:"-31"}),t.jsx("text",{x:"155",y:"29",textAnchor:"middle",fill:e,fontSize:"8",fontWeight:"bold",children:"78%"})]})},{title:"Staff Forecasting",description:"AI-powered demand predictions help you schedule the right number of staff for each shift. Never be over- or under-staffed again.",color:"#6366f1",icon:ye,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("polyline",{points:"30,100 55,85 80,90 105,60 130,55 155,40 170,25",fill:"none",stroke:e,strokeWidth:"2",opacity:"0.5",strokeLinecap:"round",strokeDasharray:"4 4"}),t.jsx("polyline",{points:"30,100 55,85 80,90 105,60",fill:"none",stroke:e,strokeWidth:"2.5",opacity:"0.7",strokeLinecap:"round"}),[{cx:50,cy:125},{cx:80,cy:125},{cx:110,cy:125}].map((i,s)=>t.jsxs("g",{opacity:.3+s*.2,children:[t.jsx("circle",{cx:i.cx,cy:i.cy-10,r:"6",fill:e}),t.jsx("rect",{x:i.cx-8,y:i.cy,width:"16",height:"12",rx:"4",fill:e})]},s)),t.jsx("rect",{x:"130",y:"70",width:"45",height:"55",rx:"4",fill:e,opacity:"0.08"}),t.jsx("text",{x:"152",y:"88",textAnchor:"middle",fill:e,fontSize:"7",fontWeight:"bold",opacity:"0.5",children:"AI"}),t.jsx("rect",{x:"137",y:"95",width:"30",height:"3",rx:"1.5",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"137",y:"102",width:"22",height:"3",rx:"1.5",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"137",y:"109",width:"26",height:"3",rx:"1.5",fill:e,opacity:"0.15"}),t.jsx("circle",{cx:"105",cy:"60",r:"5",fill:e,opacity:"0.8",className:"animate-[pulse_2s_ease-in-out_infinite]"})]})},{title:"AI Calling",description:"Automated outbound calling handles booking confirmations, reminders, and follow-ups. AI voice agents that sound natural and handle edge cases.",color:"#ec4899",icon:me,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"60",y:"20",width:"80",height:"120",rx:"12",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"68",y:"35",width:"64",height:"80",rx:"4",fill:e,opacity:"0.06"}),[0,1,2].map(i=>t.jsx("g",{children:t.jsx("circle",{cx:40-i*5,cy:70+i*12,r:4+i*2,fill:"none",stroke:e,strokeWidth:"1.5",opacity:.4-i*.1,className:"animate-[pulse_2s_ease-in-out_infinite]",style:{animationDelay:`${i*.3}s`}})},i)),[0,1,2].map(i=>t.jsx("g",{children:t.jsx("circle",{cx:160+i*5,cy:70+i*12,r:4+i*2,fill:"none",stroke:e,strokeWidth:"1.5",opacity:.4-i*.1,className:"animate-[pulse_2s_ease-in-out_infinite]",style:{animationDelay:`${i*.3}s`}})},`r${i}`)),t.jsx("rect",{x:"80",y:"50",width:"40",height:"10",rx:"5",fill:e,opacity:"0.3"}),t.jsx("rect",{x:"75",y:"68",width:"50",height:"6",rx:"3",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"82",y:"80",width:"36",height:"6",rx:"3",fill:e,opacity:"0.15"}
2),t.jsx("circle",{cx:"100",cy:"105",r:"8",fill:e,opacity:"0.4",className:"animate-[pulse_1.5s_ease-in-out_infinite]"}),t.jsx("text",{x:"100",y:"109",textAnchor:"middle",fill:"white",fontSize:"8",fontWeight:"bold",children:"AI"})]})},{title:"Staff Scheduling",description:"Visual drag-and-drop schedule builder with shift templates, availability tracking, and automatic conflict detection.",color:"#14b8a6",icon:pe,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"30",y:"20",width:"140",height:"120",rx:"6",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"30",y:"20",width:"140",height:"24",rx:"6",fill:e,opacity:"0.15"}),[0,1,2,3,4,5,6].map(i=>t.jsx("text",{x:42+i*19,y:"36",textAnchor:"middle",fill:e,fontSize:"6",fontWeight:"bold",opacity:"0.6",children:["M","T","W","T","F","S","S"][i]},i)),[0,1,2,3].map(i=>[0,1,2,3,4,5,6].map(s=>t.jsx("rect",{x:35+s*19,y:50+i*22,width:"15",height:"16",rx:"2",fill:e,opacity:i===1&&s>=1&&s<=3||i===2&&s>=0&&s<=2?.3:.06},`${i}-${s}`))),t.jsx("rect",{x:"54",y:"72",width:"53",height:"16",rx:"2",fill:e,opacity:"0.2",className:"animate-[pulse_2s_ease-in-out_infinite]"})]})},{title:"Staff Certificates",description:"Track certification requirements, expiration dates, and renewal reminders for every staff member. Stay compliant automatically.",color:"#f97316",icon:ge,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"45",y:"15",width:"110",height:"100",rx:"6",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"55",y:"30",width:"90",height:"8",rx:"2",fill:e,opacity:"0.3"}),t.jsx("rect",{x:"55",y:"45",width:"70",height:"5",rx:"2",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"55",y:"56",width:"50",height:"5",rx:"2",fill:e,opacity:"0.15"}),t.jsx("circle",{cx:"100",cy:"120",r:"22",fill:e,opacity:"0.15",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("circle",{cx:"100",cy:"120",r:"14",fill:e,opacity:"0.3"}),t.jsx("polyline",{points:"92,120 98,126 110,114",fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("rect",{x:"55",y:"75",width:"30",height:"10",rx:"5",fill:"#22c55e",opacity:"0.4"}),t.jsx("text",{x:"70",y:"83",textAnchor:"middle",fill:"white",fontSize:"6",fontWeight:"bold",children:"VALID"})]})},{title:"Tours",description:"Group tours with minimum headcount requirements, shared staff assignments, and automatic status management as participants join.",color:"#0ea5e9",icon:we,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("path",{d:"M30,120 Q60,60 100,80 T170,40",fill:"none",stroke:e,strokeWidth:"2",opacity:"0.3",strokeDasharray:"4 3"}),t.jsx("circle",{cx:"30",cy:"120",r:"6",fill:e,opacity:"0.5",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("circle",{cx:"170",cy:"40",r:"6",fill:e,opacity:"0.5"}),t.jsx("polygon",{points:"170,30 175,42 165,42",fill:e,opacity:"0.5",className:"animate-[float_3s_ease-in-out_infinite]"}),[{cx:70,cy:90},{cx:85,cy:85},{cx:78,cy:95},{cx:120,cy:60},{cx:135,cy:55},{cx:128,cy:65}].map((i,s)=>t.jsxs("g",{opacity:.3+s%3*.1,children:[t.jsx("circle",{cx:i.cx,cy:i.cy-5,r:"4",fill:e}),t.jsx("rect",{x:i.cx-5,y:i.cy,width:"10",height:"8",rx:"3",fill:e})]},s)),t.jsx("rect",{x:"55",y:"25",width:"50",height:"18",rx:"4",fill:e,opacity:"0.1"}),t.jsx("text",{x:"80",y:"37",textAnchor:"middle",fill:e,fontSize:"7",fontWeight:"bold",opacity:"0.5",children:"6/8 joined"})]})},{title:"Built-in Slack-Like Support",description:"Real-time messaging between staff and management with channels, threads, and notifications. No need for a separate communication tool.",color:"#8b5cf6",icon:je,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"25",y:"20",width:"40",height:"120",rx:"4",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.5s_ease-out]"}),[0,1,2,3,4].map(i=>t.jsx("rect",{x:"30",y:30+i*20,width:"30",height:"12",rx:"3",fill:e,opacity:i===1?.3:.1},i)),t.jsx("rect",{x:"72",y:"20",width:"108",height:"120",rx:"4",fill:e,opacity:"0.06",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsxs("g",{className:"animate-[fadeSlideUp_0.7s_ease-out]",children:[t.jsx("circle",{cx:"85",cy:"42",r:"8",f
2ill:e,opacity:"0.2"}),t.jsx("rect",{x:"98",y:"35",width:"55",height:"6",rx:"3",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"98",y:"44",width:"40",height:"4",rx:"2",fill:e,opacity:"0.1"})]}),t.jsxs("g",{className:"animate-[fadeSlideUp_0.8s_ease-out]",children:[t.jsx("circle",{cx:"85",cy:"72",r:"8",fill:e,opacity:"0.3"}),t.jsx("rect",{x:"98",y:"65",width:"65",height:"6",rx:"3",fill:e,opacity:"0.3"}),t.jsx("rect",{x:"98",y:"74",width:"45",height:"4",rx:"2",fill:e,opacity:"0.15"})]}),t.jsxs("g",{className:"animate-[fadeSlideUp_0.9s_ease-out]",children:[t.jsx("circle",{cx:"85",cy:"102",r:"8",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"98",y:"95",width:"50",height:"6",rx:"3",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"98",y:"104",width:"35",height:"4",rx:"2",fill:e,opacity:"0.1"})]}),t.jsx("circle",{cx:"168",cy:"30",r:"8",fill:e,opacity:"0.6",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"168",y:"34",textAnchor:"middle",fill:"white",fontSize:"8",fontWeight:"bold",children:"3"})]})},{title:"Dependents on Customers & Waivers",description:"Link family members and dependents to a primary customer. Manage waivers for minors and groups from a single customer profile.",color:"#3b82f6",icon:be,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsxs("g",{className:"animate-[fadeSlideUp_0.6s_ease-out]",children:[t.jsx("circle",{cx:"100",cy:"45",r:"16",fill:e,opacity:"0.3"}),t.jsx("rect",{x:"82",y:"65",width:"36",height:"22",rx:"10",fill:e,opacity:"0.3"})]}),t.jsx("line",{x1:"75",y1:"75",x2:"55",y2:"100",stroke:e,strokeWidth:"1.5",opacity:"0.2"}),t.jsx("line",{x1:"125",y1:"75",x2:"145",y2:"100",stroke:e,strokeWidth:"1.5",opacity:"0.2"}),t.jsxs("g",{opacity:"0.4",className:"animate-[fadeSlideUp_0.8s_ease-out]",children:[t.jsx("circle",{cx:"50",cy:"110",r:"10",fill:e}),t.jsx("rect",{x:"40",y:"122",width:"20",height:"14",rx:"6",fill:e})]}),t.jsxs("g",{opacity:"0.4",className:"animate-[fadeSlideUp_0.9s_ease-out]",children:[t.jsx("circle",{cx:"150",cy:"110",r:"10",fill:e}),t.jsx("rect",{x:"140",y:"122",width:"20",height:"14",rx:"6",fill:e})]}),t.jsx("rect",{x:"70",y:"100",width:"60",height:"40",rx:"4",fill:e,opacity:"0.08"}),t.jsx("rect",{x:"77",y:"108",width:"46",height:"5",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"77",y:"117",width:"30",height:"4",rx:"2",fill:e,opacity:"0.12"}),t.jsx("polyline",{points:"77,128 82,133 92,123",fill:"none",stroke:e,strokeWidth:"2",strokeLinecap:"round",opacity:"0.5"})]})},{title:"Private Booking Links",description:"Generate unique booking URLs for VIP customers, corporate clients, or special events with custom pricing and availability.",color:"#6366f1",icon:_e,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"30",y:"55",width:"140",height:"30",rx:"15",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"52",cy:"70",r:"10",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"68",y:"66",width:"90",height:"8",rx:"4",fill:e,opacity:"0.15"}),t.jsxs("g",{transform:"translate(80, 20)",children:[t.jsx("rect",{width:"60",height:"24",rx:"6",fill:e,opacity:"0.15",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"30",y:"16",textAnchor:"middle",fill:e,fontSize:"8",fontWeight:"bold",opacity:"0.6",children:"VIP"})]}),t.jsx("line",{x1:"100",y1:"44",x2:"100",y2:"55",stroke:e,strokeWidth:"1.5",opacity:"0.2",strokeDasharray:"3 2"}),t.jsx("rect",{x:"35",y:"100",width:"55",height:"35",rx:"4",fill:e,opacity:"0.08"}),t.jsx("rect",{x:"42",y:"108",width:"40",height:"5",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"42",y:"118",width:"28",height:"4",rx:"2",fill:e,opacity:"0.12"}),t.jsx("rect",{x:"110",y:"100",width:"55",height:"35",rx:"4",fill:e,opacity:"0.08"}),t.jsx("rect",{x:"117",y:"108",width:"40",height:"5",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"117",y:"118",width:"28",height:"4",rx:"2",fill:e,opacity:"0.12"})]})},{title:"Email Builder with Custom Scheduling",description:"Drag-and-drop email designer with templates for confirmations, reminders, and marketing. Schedule sends for optimal engagement.",color:"#ec4899",icon:ke,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"35",y:"25",width:"130",height:"100",rx:"6",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"35",y:"25",width:"130",height:"20",rx:"6",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"45",y:"55",width:"110",height:"30",rx:"3",fill:e,opacity:"0.06"}),t.jsx("rect",{x:"55",y:"62",width:"90",height:"6",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"65",y:"72",width:"70",height:"4",rx:"2",fill:e,opacity:"0.12"}),t.jsx("rect",{x:"45",y:"95",width:"50",height:"20",rx:"3",fill:e,opacity:"0.06"}),t.jsx("rect",{x:"100",y:"95",width:"55",height:"20",rx:"3",fill:e,opacity:"0.06"}),t.jsx("rect",{x:"75",y:"130",width:"50",height:"14",rx:"7",fill:e,opacity:"0.4",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"100",y:"140",textAnchor:"middle",fill:"white",fontSize:"7",fontWeight:"bold",children:"Schedule"})]})},{title:"Next Steps Theming",description:"Customize the post-booking experience with your brand colors, logos, and messaging. Make every customer touchpoint match your brand.",color:"#14b8a6",icon:Se,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"35",y:"15",width:"130",height:"130",rx:"8",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"35",y:"15",width:"130",height:"25",rx:"8",fill:e,opacity:"0.2"}),t.jsx("circle",{cx:"50",cy:"28",r:"6",fill:"white",opacity:"0.5"}),t.jsx("rect",{x:"62",y:"24",width:"40",height:"6",rx:"3",fill:"white",opacity:"0.3"}),[0,1,2].map(i=>t.jsxs("g",{className:"animate-[fadeSlideUp_0.7s_ease-out]",style:{animationDelay:`${i*.1}s`},children:[t.jsx("rect",{x:"45",y:52+i*32,width:"110",height:"26",rx:"4",fill:e,opacity:i===0?.15:.06}),t.jsx("circle",{cx:"60",cy:65+i*32,r:"7",fill:e,opacity:.3-i*.08}),t.jsx("text",{x:"60",y:68+i*32,textAnchor:"middle",fill:"white",fontSize:"8",fontWeight:"bold",children:i+1}),t.jsx("rect",{x:"74",y:60+i*32,width:"70",height:"5",rx:"2",fill:e,opacity:.2-i*.05}),t.jsx("rect",{x:"74",y:68+i*32,width:"45",height:"4",rx:"2",fill:e,opacity:.12-i*.03})]},i))]})},{title:"Safety Videos & Quizzes",description:"Embed safety videos in the booking flow with knowledge-check quizzes. Ensure customers understand safety procedures before arriving.",color:"#f59e0b",icon:ve,
2illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"30",y:"15",width:"100",height:"70",rx:"6",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("polygon",{points:"70,35 70,65 95,50",fill:e,opacity:"0.4",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("rect",{x:"30",y:"90",width:"100",height:"8",rx:"4",fill:e,opacity:"0.1"}),t.jsx("rect",{x:"30",y:"90",width:"65",height:"8",rx:"4",fill:e,opacity:"0.25"}),t.jsxs("g",{transform:"translate(145, 20)",children:[t.jsx("rect",{x:"-5",y:"0",width:"50",height:"120",rx:"4",fill:e,opacity:"0.06"}),[0,1,2].map(i=>t.jsxs("g",{children:[t.jsx("rect",{x:"0",y:10+i*38,width:"40",height:"30",rx:"3",fill:e,opacity:.1}),t.jsxs("text",{x:"6",y:23+i*38,fill:e,fontSize:"7",opacity:"0.4",children:["Q",i+1]}),t.jsx("circle",{cx:"34",cy:25+i*38,r:"5",fill:i<2?"#22c55e":e,opacity:i<2?.5:.15}),i<2&&t.jsx("polyline",{points:`31,${25+i*38} 33,${27+i*38} 37,${23+i*38}`,fill:"none",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round"})]},i))]})]})},{title:"Carts & Orders",description:"Multi-item carts let customers book multiple rentals, add-ons, and merchandise in a single checkout. Streamlined order management for staff.",color:"#10b981",icon:Ne,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("path",{d:"M30,30 L50,30 L70,100 L150,100",fill:"none",stroke:e,strokeWidth:"2.5",opacity:"0.3",strokeLinecap:"round",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"85",cy:"120",r:"8",fill:e,opacity:"0.3"}),t.jsx("circle",{cx:"135",cy:"120",r:"8",fill:e,opacity:"0.3"}),t.jsx("rect",{x:"55",y:"40",width:"100",height:"50",rx:"4",fill:e,opacity:"0.06"}),[0,1,2].map(i=>t.jsxs("g",{className:"animate-[fadeSlideUp_0.7s_ease-out]",children:[t.jsx("rect",{x:"62",y:47+i*16,width:"12",height:"12",rx:"2",fill:e,opacity:.2+i*.05}),t.jsx("rect",{x:"80",y:49+i*16,width:"40",height:"4",rx:"2",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"80",y:55+i*16,width:"25",height:"3",rx:"1.5",fill:e,opacity:"0.1"}),t.jsxs("text",{x:"140",y:55+i*16,textAnchor:"end",fill:e,fontSize:"7",opacity:"0.4",children:["$",[29,15,49][i]]})]},i)),t.jsx("rect",{x:"160",y:"30",width:"25",height:"25",rx:"12",fill:e,opacity:"0.5",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"172",y:"47",textAnchor:"middle",fill:"white",fontSize:"12",fontWeight:"bold",children:"3"})]})},{title:"Add-on Cut-Off Times & Custom Taxes",description:"Set availability windows for add-ons and configure location-specific tax rates, surcharges, and fees that auto-calculate at checkout.",color:"#f97316",icon:Ae,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("circle",{cx:"75",cy:"70",r:"40",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"75",cy:"70",r:"35",fill:"none",stroke:e,strokeWidth:"2",opacity:"0.2"}),t.jsx("line",{x1:"75",y1:"70",x2:"75",y2:"42",stroke:e,strokeWidth:"2",opacity:"0.5",strokeLinecap:"round"}),t.jsx("line",{x1:"75",y1:"70",x2:"95",y2:"78",stroke:e,strokeWidth:"2",opacity:"0.4",strokeLinecap:"round"}),t.jsx("circle",{cx:"75",cy:"70",r:"3",fill:e,opacity:"0.6"}),t.jsx("rect",{x:"125",y:"25",width:"60",height:"110",rx:"4",fill:e,opacity:"0.06"}),t.jsx("rect",{x:"130",y:"32",width:"50",height:"6",rx:"2",fill:e,opacity:"0.2"}),[0,1,2,3].map(i=>t.jsxs("g",{children:[t.jsx("rect",{x:"130",y:48+i*20,width:"50",height:"14",rx:"2",fill:e,opacity:"0.06"}),t.jsx("rect",{x:"133",y:51+i*20,width:"30",height:"4",rx:"1",fill:e,opacity:"0.15"}),t.jsx("text",{x:"175",y:58+i*20,textAnchor:"end",fill:e,fontSize:"6",opacity:"0.4",children:["8.5%","2.0%","$5","12%"][i]})]},i))]})},{title:"Waiver Photos vs. ID Verification",description:"Capture waiver selfies and compare against uploaded IDs with side-by-side verification. Add an extra layer of security to every rental.",color:"#0ea5e9",icon:Le,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"20",y:"30",width:"70",height:"90",rx:"6",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"55",cy:"65",r:"18",fill:e,opacity:"0.15"}
2),t.jsx("circle",{cx:"55",cy:"58",r:"8",fill:e,opacity:"0.25"}),t.jsx("rect",{x:"45",y:"68",width:"20",height:"12",rx:"5",fill:e,opacity:"0.25"}),t.jsx("rect",{x:"30",y:"100",width:"50",height:"6",rx:"3",fill:e,opacity:"0.15"}),t.jsx("text",{x:"55",y:"30",textAnchor:"middle",fill:e,fontSize:"7",fontWeight:"bold",opacity:"0.5",children:"SELFIE"}),t.jsx("rect",{x:"110",y:"30",width:"70",height:"90",rx:"6",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.7s_ease-out]"}),t.jsx("rect",{x:"118",y:"42",width:"20",height:"24",rx:"2",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"143",y:"45",width:"30",height:"4",rx:"2",fill:e,opacity:"0.15"}),t.jsx("rect",{x:"143",y:"53",width:"22",height:"3",rx:"1.5",fill:e,opacity:"0.1"}),t.jsx("rect",{x:"118",y:"75",width:"55",height:"4",rx:"2",fill:e,opacity:"0.1"}),t.jsx("rect",{x:"118",y:"83",width:"40",height:"4",rx:"2",fill:e,opacity:"0.1"}),t.jsx("text",{x:"145",y:"30",textAnchor:"middle",fill:e,fontSize:"7",fontWeight:"bold",opacity:"0.5",children:"ID"}),t.jsx("circle",{cx:"100",cy:"140",r:"12",fill:"#22c55e",opacity:"0.4",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("polyline",{points:"94,140 98,144 106,136",fill:"none",stroke:"white",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})},{title:"Internal Kiosk with PIN & Clock In/Out",description:"Staff-facing kiosk mode with PIN authentication, manager override, and built-in time clock. Secure access without sharing login credentials.",color:"#8b5cf6",icon:Ce,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"45",y:"10",width:"110",height:"140",rx:"8",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"55",y:"25",width:"90",height:"24",rx:"4",fill:e,opacity:"0.1"}),[0,1,2,3].map(i=>t.jsx("circle",{cx:70+i*20,cy:"37",r:"5",fill:e,opacity:i<3?.5:.15,className:i<3?"":"animate-[pulse_1s_ease-in-out_infinite]"},i)),[0,1,2].map(i=>[0,1,2].map(s=>t.jsx("rect",{x:62+s*28,y:58+i*24,width:"22",height:"18",rx:"4",fill:e,opacity:"0.12"},`${i}-${s}`))),[0,1,2].map(i=>[0,1,2].map(s=>t.jsx("text",{x:73+s*28,y:71+i*24,textAnchor:"middle",fill:e,fontSize:"9",fontWeight:"bold",opacity:"0.4",children:i*3+s+1},`t${i}-${s}`))),t.jsx("rect",{x:"62",y:"130",width:"76",height:"12",rx:"6",fill:e,opacity:"0.3",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"100",y:"139",textAnchor:"middle",fill:"white",fontSize:"7",fontWeight:"bold",children:"CLOCK IN"})]})},{title:"Unified Inbox & CRM",description:"One inbox for conversations, opportunities, web forms, and AI knowledge gaps. Recover abandoned carts, capture website leads, and reply across chat, SMS, and email from a single place.",color:"#14b8a6",icon:Ue,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"35",y:"25",width:"130",height:"110",rx:"8",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("path",{d:"M45 95 L70 95 L78 110 L122 110 L130 95 L155 95 L155 122 Q155 126 151 126 L49 126 Q45 126 45 122 Z",fill:e,opacity:"0.18",className:"animate-[fadeSlideUp_0.8s_ease-out]"}),[0,1,2].map(i=>t.jsxs("g",{children:[t.jsx("rect",{x:"55",y:40+i*14,width:"6",height:"6",rx:"3",fill:e,opacity:i===0?.6:.25}),t.jsx("rect",{x:"68",y:41+i*14,width:70-i*12,height:"4",rx:"2",fill:e,opacity:"0.2"})]},i)),t.jsx("circle",{cx:"150",cy:"35",r:"9",fill:"#ef4444",opacity:"0.7",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"150",y:"38",textAnchor:"middle",fill:"white",fontSize:"8",fontWeight:"bold",children:"3"})]})},{title:"AI Knowledge Base",description:"Give every AI agent a brain. Your phone agent, chat widget, and concierge answer from a curated, per-location knowledge base built automatically from your website.",color:"#8b5cf6",icon:Ee,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("circle",{cx:"100",cy:"80",r:"34",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"100",cy:"80",r:"10",fill:e,opacity:"0.5",className:"animate-[pulse_2s_ease-in-out_infinite]"}),[[40,40],[160,45],[35,120],[165,118],[100,25],[100,138]].map(([i,s],a)=>t.jsxs("g",{children:[t.jsx("line",{x1:"100",y1:"80",x2:i,y2:s,stroke:e,strokeWidth:"1.5",opacity:"0.2"}),t.jsx("circle",{cx:i,cy:s,r:"8",fill:e,opacity:"0.25",className:"animate-[fadeSlideUp_0.9s_ease-out]"})]},a))]})},{title:"AI Chat Widget",description:"Drop a themeable AI text agent on your site that answers questions and books rentals around the clock, then hands off to SMS 
2when a human is needed.",color:"#06b6d4",icon:We,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"40",y:"35",width:"90",height:"34",rx:"14",fill:e,opacity:"0.14",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("path",{d:"M55 67 L65 67 L58 78 Z",fill:e,opacity:"0.14"}),[0,1].map(i=>t.jsx("rect",{x:"55",y:46+i*9,width:60-i*18,height:"4",rx:"2",fill:e,opacity:"0.25"},i)),t.jsx("rect",{x:"80",y:"90",width:"80",height:"34",rx:"14",fill:e,opacity:"0.3",className:"animate-[fadeSlideUp_0.85s_ease-out]"}),t.jsx("path",{d:"M145 122 L135 122 L142 133 Z",fill:e,opacity:"0.3"}),[0,1,2].map(i=>t.jsx("circle",{cx:100+i*12,cy:"107",r:"3.5",fill:"white",opacity:"0.85",className:"animate-[pulse_1.4s_ease-in-out_infinite]"},i))]})},{title:"AI Agents",description:"Put schedulable AI task agents to work with ready-made templates (daily briefing, balance chaser, returns sweeper) or build your own in plain English, then publish and install agents from the marketplace. Combined, AI agents already save RentalTide merchants 2,700+ hours every month.",color:"#6366f1",icon:Re,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"68",y:"28",width:"64",height:"50",rx:"10",fill:e,opacity:"0.14",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"86",cy:"52",r:"6",fill:e,opacity:"0.5"}),t.jsx("circle",{cx:"114",cy:"52",r:"6",fill:e,opacity:"0.5"}),t.jsx("line",{x1:"100",y1:"28",x2:"100",y2:"18",stroke:e,strokeWidth:"2",opacity:"0.4"}),t.jsx("circle",{cx:"100",cy:"15",r:"4",fill:e,opacity:"0.6",className:"animate-[pulse_2s_ease-in-out_infinite]"}),[0,1,2].map(i=>t.jsx("rect",{x:48+i*38,y:"100",width:"32",height:"32",rx:"6",fill:e,opacity:.12+i*.06,className:"animate-[fadeSlideUp_0.9s_ease-out]"},i)),[0,1,2].map(i=>t.jsx("line",{x1:"100",y1:"78",x2:64+i*38,y2:"100",stroke:e,strokeWidth:"1.5",opacity:"0.2"},`c${i}`))]})},{title:"Walk-Up Hub",description:"A live board for in-store rentals with a per-asset stopwatch, waiver-first intake, split payments, and one-tap membership pricing. Drag a rental from intake to on-water to returned.",color:"#f59e0b",icon:$e,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[[0,1,2].map(i=>t.jsx("rect",{x:28+i*50,y:"25",width:"42",height:"110",rx:"6",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"},i)),[[0,38],[0,66],[1,38],[2,38],[2,66]].map(([i,s],a)=>t.jsx("rect",{x:34+i*50,y:s,width:"30",height:"20",rx:"4",fill:e,opacity:"0.28",className:"animate-[fadeSlideUp_0.85s_ease-out]"},a)),t.jsx("circle",{cx:"49",cy:"118",r:"11",fill:"none",stroke:e,strokeWidth:"2.5",opacity:"0.5"}),t.jsx("line",{x1:"49",y1:"118",x2:"49",y2:"111",stroke:e,strokeWidth:"2.5",opacity:"0.7",className:"animate-[pulse_1.5s_ease-in-out_infinite]"})]})},{title:"Immutable Pricing Engine",description:"Every booking carries an append-only price history. Each change is a permanent, versioned record reconciled with the ledger in the same transaction, so a total can never silently drift again.",color:"#10b981",icon:Ie,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[[2,1,0].map(i=>t.jsx("rect",{x:55+i*10,y:30+i*8,width:"80",height:"100",rx:"6",fill:e,opacity:.08+(2-i)*.05,className:"animate-[fadeSlideUp_0.6s_ease-out]"},i)),[0,1,2].map(i=>t.jsxs("g",{children:[t.jsx("rect",{x:"65",y:48+i*16,width:"40",height:"5",rx:"2",fill:e,opacity:"0.2"}),t.jsx("rect",{x:"115",y:48+i*16,width:"15",height:"5",rx:"2",fill:e,opacity:"0.35"})]},i)),t.jsx("circle",{cx:"115",cy:"112",r:"13",fill:"#22c55e",opacity:"0.35",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("polyline",{points:"109,112 113,116 121,107",fill:"none",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round"})]})},{title:"Financials Center",description:"A full accounting suite built straight from your ledger: profit and loss, sales summary, trial balance, deferred revenue, sales tax liability, and A/R aging, all with CSV export.",color:"#3b82f6",icon:Pe,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("circle",{cx:"68",cy:"80",r:"34",fill:e,opacity:"0.12",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("path",{d:"M68 80 L68 46 A34 34 0 0 1 99 65 Z",fill:e,opacity:"0.45",className:"animate-[fadeSlideUp_0.85s_ease-out]"}),t.jsx("path",{d:"M68 80 L99 65 A34 34 0 0 1 90 108 Z",fill:e,opacity:"0.28"}),[0,1,2,3].map(i=>t.jsx("rect",{x:120+i*16,y:110-(i+1)*16,width:"11",height:(i+1)*16,rx:"2",fill:e,opacity:.25+i*.08,className:"animate-[fadeSlideUp_0.9s_ease-out]"},i)),t.jsx("line",{x1:"118",y1:"112",x2:"186",y2:"112",stroke:e,strokeWidth:"1.5",opacity:"0.25"})]})}
2,{title:"GPS Launch Zones",description:"Draw a launch area on the map and boats are marked on the water when they leave and returned when they come back, no manual tapping required.",color:"#ef4444",icon:Te,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"30",y:"25",width:"140",height:"110",rx:"8",fill:e,opacity:"0.06",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"100",cy:"82",r:"42",fill:e,opacity:"0.1",strokeDasharray:"6 5",stroke:e,strokeWidth:"1.5",className:"animate-[pulse_3s_ease-in-out_infinite]"}),t.jsx("path",{d:"M100 55 Q112 55 112 68 Q112 80 100 95 Q88 80 88 68 Q88 55 100 55 Z",fill:e,opacity:"0.5",className:"animate-[fadeSlideUp_0.85s_ease-out]"}),t.jsx("circle",{cx:"100",cy:"68",r:"5",fill:"white",opacity:"0.85"}),t.jsx("circle",{cx:"150",cy:"115",r:"6",fill:"#22c55e",opacity:"0.6",className:"animate-[pulse_1.8s_ease-in-out_infinite]"}),t.jsx("text",{x:"150",y:"100",textAnchor:"middle",fill:e,fontSize:"6",fontWeight:"bold",opacity:"0.5",children:"ON WATER"})]})},{title:"RentalTide Capital",description:"Request a working-capital advance against your Str
2ipe processing volume, receive funds directly to your account, and repay over 12 weekly installments with no monthly fees and no prepayment penalty.",color:"#22c55e",icon:Be,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"45",y:"55",width:"110",height:"70",rx:"10",fill:e,opacity:"0.12",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("rect",{x:"118",y:"80",width:"37",height:"22",rx:"5",fill:e,opacity:"0.3"}),t.jsx("circle",{cx:"136",cy:"91",r:"5",fill:e,opacity:"0.6"}),[0,1,2].map(i=>t.jsx("rect",{x:60+i*6,y:36-i*4,width:"60",height:"20",rx:"4",fill:e,opacity:.15+i*.08,className:"animate-[fadeSlideUp_0.85s_ease-out]"},i)),t.jsx("text",{x:"92",y:"50",textAnchor:"middle",fill:e,fontSize:"11",fontWeight:"bold",opacity:"0.6",children:"$"}),t.jsx("polyline",{points:"155,120 168,107 168,118 168,107 157,107",fill:"none",stroke:e,strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",opacity:"0.6",className:"animate-[pulse_2s_ease-in-out_infinite]"})]})},{title:"App Marketplace & Developer API",description:"Browse and install integrations in a few clicks, or build your own on a headless API with real-time webhooks and an app SDK.",color:"#a855f7",icon:Me,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[[0,1,2].map(i=>[0,1,2].map(s=>t.jsx("rect",{x:52+s*34,y:32+i*34,width:"28",height:"28",rx:"6",fill:e,opacity:.1+(i+s)%3*.08,className:"animate-[fadeSlideUp_0.7s_ease-out]"},`${i}-${s}`))),t.jsx("rect",{x:"86",y:"66",width:"28",height:"28",rx:"6",fill:e,opacity:"0.45",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("line",{x1:"100",y1:"74",x2:"100",y2:"86",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round"}),t.jsx("line",{x1:"94",y1:"80",x2:"106",y2:"80",stroke:"white",strokeWidth:"2.5",strokeLinecap:"round"})]})},{title:"Memberships",description:"Sell membership tiers with member rates, included time, guest pricing, daily caps, and per-inventory discount rules, applied automatically online and at the point of sale.",color:"#eab308",icon:De,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("path",{d:"M60 65 L75 88 L100 50 L125 88 L140 65 L133 108 L67 108 Z",fill:e,opacity:"0.3",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),[[60,65],[100,50],[140,65]].map(([i,s],a)=>t.jsx("circle",{cx:i,cy:s,r:"5",fill:e,opacity:"0.6",className:"animate-[pulse_2s_ease-in-out_infinite]"},a)),[0,1,2].map(i=>t.jsx("rect",{x:52+i*34,y:"120",width:"28",height:"22",rx:"4",fill:e,opacity:.15+i*.1,className:"animate-[fadeSlideUp_0.9s_ease-out]"},`r${i}`))]})},{title:"Weather Rules",description:"Set per-season rules that automatically adjust your schedule or pricing based on real-time weather, and rebook a whole day with one click when conditions turn.",color:"#0ea5e9",icon:Fe,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("ellipse",{cx:"100",cy:"62",rx:"48",ry:"26",fill:e,opacity:"0.14",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("circle",{cx:"78",cy:"58",r:"18",fill:e,opacity:"0.1"}),t.jsx("circle",{cx:"120",cy:"56",r:"22",fill:e,opacity:"0.1"}),[0,1,2,3].map(i=>t.jsx("line",{x1:72+i*18,y1:"92",x2:66+i*18,y2:"116",stroke:e,strokeWidth:"3",strokeLinecap:"round",opacity:"0.4",className:"animate-[pulse_1.5s_ease-in-out_infinite]"},i)),t.jsx("rect",{x:"120",y:"118",width:"40",height:"18",rx:"9",fill:e,opacity:"0.3",className:"animate-[fadeSlideUp_0.9s_ease-out]"}),t.jsx("circle",{cx:"151",cy:"127",r:"6",fill:"white",opacity:"0.85"})]})},{title:"POS Transfers & AI Bill Import",description:"Purchase orders, stock transfers, and landed-cost allocation in one flow. Upload a supplier invoice and AI extracts the line items, then sync to Xero or QuickBooks.",color:"#f97316",icon:ze,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"32",y:"62",width:"70",height:"44",rx:"6",fill:e,opacity:"0.18",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("path",{d:"M102 76 L132 76 L150 92 L150 106 L102 106 Z",fill:e,opacity:"0.28",className:"animate-[fadeSlideUp_0.8s_ease-out]"}),t.jsx("circle",{cx:"58",cy:"112",r:"9",fill:e,opacity:"0.5"}),t.jsx("circle",{cx:"132",cy:"112",r:"9",fill:e,opacity:"0.5"}),t.jsx("circle",{cx:"58",cy:"112",r:"3.5",fill:"white",opacity:"0.8"}),t.jsx("circle",{cx:"132",cy:"112",r:"3.5",fill:"white",opacity:"0.8"}),t.jsx("rect",{x:"118",y:"26",width:"44",height:"40",rx:"4",fill:e,opacity:"0.12",className:"animate-[fadeSlideUp_0.9s_ease-out]"}),[0,1,2].map(i=>t.jsx("rect",{x:"125",y:36+i*8,width:30-i*6,height:"4",rx:"2",fill:e,opacity:"0.3"},i)),t.jsx("text",{x:"140",y:"62",textAnchor:"middle",fill:e,fontSize:"7",fontWeight:"bold",opacity:"0.55",className:"animate-[pulse_2s_ease-in-out_infinite]",children:"AI"})]})},{title:"Ship Shape AI",description:"Upload a walkaround photo or video and AI flags damage at check-in, then optionally places a pre-authorization hold on the customer card automatically.",color:"#14b8a6",icon:Oe,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"35",y:"35",width:"130",height:"90",rx:"8",fill:e,opacity:"0.08",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("path",{d:"M55 95 Q60 108 100 108 Q140 108 145 95 L138 78 L62 78 Z",fill:e,opacity:"0.28",className:"animate-[fadeSlideUp_0.85s_ease-out]"}),t.jsx("line",{x1:"100",y1:"78",x2:"100",y2:"62",stroke:e,strokeWidth:"2.5",opacity:"0.4"}),t.jsx("line",{x1:"35",y1:"80",x2:"165",y2:"80",stroke:e,strokeWidth:"2",opacity:"0.6",className:"animate-[pulse_1.6s_ease-in-out_infinite]"}),t.jsx("circle",{cx:"122",cy:"92",r:"9",fill:"#ef4444",opacity:"0.4",className:"animate-[pulse_2s_ease-in-out_infinite]"}),t.jsx("text",{x:"122",y:"95",textAnchor:"middle",fill:"white",fontSize:"9",fontWeight:"bold",children:"!"})]})},{title:"Multi-Language Platform",description:"Booking page, checkout, kiosk, waivers, and customer portals translate across 11 languages, with automatic browser-language detection for your guests.",color:"#6366f1",icon:Ve,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("circle",{cx:"100",cy:"80",r:"42",fill:e,opacity:"0.1",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),t.jsx("ellipse",{cx:"100",cy:"80",rx:"18",ry:"42",fill:"none",stroke:e,strokeWidth:"1.5",opacity:"0.25"}),t.jsx("line",{x1:"58",y1:"80",x2:"142",y2:"80",stroke:e,strokeWidth:"1.5",opacity:"0.25"}),t.jsx("line",{x1:"64",y1:"60",x2:"136",y2:"60",stroke:e,strokeWidth:"1.5",opacity:"0.2"}),t.jsx("line",{x1:"64",y1:"100",x2:"136",y2:"100",stroke:e,strokeWidth:"1.5",opacity:"0.2"}),["A","あ","文"].map((i,s)=>t.jsx("text",{x:70+s*30,y:86,textAnchor:"middle",fill:e,fontSize:"13",fontWeight:"bold",opacity:.4+s*.15,className:"animate-[pulse_2.4s_ease-in-out_infinite]",children:i},s))]})},{title:"Slips & Marina",description:"Manage slip inventory, reservations, waitlists, guest access, haul services, contracts, and meter readings, with marina maps and proper A/R at check-in.",color:"#0284c7",icon:He,illustration:e=>t.jsxs("svg",{viewBox:"0 0 200 160",className:"w-full h-full",children:[t.jsx("rect",{x:"30",y:"60",width:"14",height:"70",rx:"3",fill:e,opacity:"0.2",className:"animate-[fadeSlideUp_0.6s_ease-out]"}),[0,1,2,3].map(i=>t.jsx("rect",{x:"44",y:66+i*16,width:"40",height:"10",rx:"3",fill:e,opacity:"0.15"},i)),[0,2].map(i=>t.jsx("ellipse",{cx:"74",cy:71+i*16,rx:"16",ry:"5",fill:e,opacity:"0.4",className:"animate-[fadeSlideUp_0.85s_ease-out]"},`b${i}`)),t.jsxs("g",{stroke:e,strokeWidth:"3",fill:"none",strokeLinecap:"round",opacity:"0.55",className:"animate-[pulse_2.4s_ease-in-out_infinite]",children:[t.jsx("line",{x1:"138",y1:"48",x2:"138",y2:"108"}),t.jsx("circle",{cx:"138",cy:"44",r:"5"}
2),t.jsx("line",{x1:"124",y1:"64",x2:"152",y2:"64"}),t.jsx("path",{d:"M118 96 Q138 120 158 96"})]})]})}],Vt=()=>{const[e,i]=x.useState(0),[s,a]=x.useState(!0),[n,l]=x.useState(!1),[r,c]=x.useState("right"),[o,y]=x.useState(!1),m=x.useRef(null),S=x.useRef(null),v=x.useRef(null);x.useEffect(()=>{window.scrollTo(0,0)},[]),x.useEffect(()=>{const d=window.location.hash;if(d){const h=d.match(/^#feature-(\d+)$/);if(h){const j=parseInt(h[1],10)-1;j>=0&&j<p.length&&i(j)}}},[]);const b=x.useCallback((d,h)=>{o||(y(!0),c(h||(d>e?"right":"left")),i(d),window.history.replaceState(null,"",`#feature-${d+1}`),setTimeout(()=>y(!1),400))},[e,o]),N=x.useCallback(()=>{b((e+1)%p.length,"right")},[e,b]),U=x.useCallback(()=>{b((e-1+p.length)%p.length,"left")},[e,b]);x.useEffect(()=>(s&&!ie&&(m.current=setInterval(N,6e3)),()=>{m.current&&clearInterval(m.current)}),[s,N]),x.useEffect(()=>{const d=h=>{h.key==="ArrowRight"?(N(),a(!1)):h.key==="ArrowLeft"&&(U(),a(!1))};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[N,U]);const J=async()=>{const d=`${window.location.origin}/new#feature-${e+1}`,h=p[e].title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,"");if(v.current)try{const te=await Mt(v.current,{pixelRatio:2,filter:P=>!(P instanceof HTMLElement&&P.dataset.hideFromSnapshot)}),E=document.createElement("a");E.download=`rentaltide-feature-${e+1}-${h}.png`,E.href=te,E.click()}catch{}const j=`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(d)}`;window.open(j,"facebook-share","width=580,height=400,menubar=no,toolbar=no"),l(!0),setTimeout(()=>l(!1),2e3)},g=p[e],ee=g.icon;return t.jsxs("div",{className:"min-h-screen bg-background",children:[t.jsx(qe,{title:"What's New at RentalTide | Product Updates & Releases",description:"Stay up to date with the latest RentalTide features, product updates, and new releases for rental management software.",path:"/new",keywords:"RentalTide updates, rental software updates, new features, product releases"}),t.jsx(se,{}),t.jsxs("div",{className:"pt-20",children:[t.jsx("div",{className:"container mx-auto px-4 sm:px-6 pt-8 pb-4",children:t.jsxs("div",{className:"text-center",children:[t.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-primary/20 bg-primary/5 px-4 py-1.5 mb-4",children:[t.jsx(le,{className:"w-4 h-4 text-primary"}),t.jsxs("span",{className:"text-sm font-medium text-primary",children:[p.length," Features"]})]}),t.jsxs("h1",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-3",children:["What's New at"," ",t.jsx("span",{className:"bg-gradient-to-r from-primary to-[hsl(271,81%,56%)] bg-clip-text text-transparent",children:"RentalTide"})]}),t.jsx("p",{className:"text-muted-foreground text-lg max-w-2xl mx-auto",children:"Explore the latest features powering the most complete rental management platform."})]})}),t.jsxs("div",{ref:S,className:"container mx-auto px-4 sm:px-6 py-6",onMouseEnter:()=>a(!1),onMouseLeave:()=>a(!0),children:[t.jsxs("div",{className:"relative max-w-4xl mx-auto",children:[t.jsx("div",{ref:v,className:"relative overflow-hidden rounded-2xl border border-border/50 bg-card shadow-lg",style:{borderTopColor:g.color,borderTopWidth:"3px"},children:t.jsxs("div",{className:"grid md:grid-cols-2 gap-0",children:[t.jsxs("div",{className:"p-6 sm:p-8 lg:p-10 flex flex-col justify-center",children:[t.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[t.jsx("div",{className:"flex items-center justify-center w-10 h-10 rounded-xl",style:{backgroundColor:`${g.color}15`},children:t.jsx(ee,{className:"w-5 h-5",style:{color:g.color}})}),t.jsxs("span",{className:"text-xs font-bold tracking-wider uppercase",style:{color:g.color},children:["Feature ",e+1," of"," ",p.length]})]}),t.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-4 animate-[slideIn_0.4s_ease-out]",children:g.title},`title-${e}-${r}`),t.jsx("p",{className:"text-muted-foreground text-base sm:text-lg leading-relaxed animate-[slideIn_0.4s_ease-out_0.05s_both]",children:g.description},`desc-${e}-${r}`),t.jsx("div",{className:"mt-6","data-hide-from-snapshot":!0,children:t.jsx("button",{onClick:J,className:"inline-flex items-center gap-2 rounded-full px-4 py-2 text-sm font-medium transition-all border border-border/50 hover:border-border bg-background hover:bg-muted/50",children:n?t.jsxs(t.Fragment,{children:[t.jsx(ne,{className:"w-4 h-4 text-green-500"}),t.jsx("span",{className:"text-green-500",children:"Shared!"})]}):t.jsxs(t.Fragment,{children:[t.jsx(re,{className:"w-4 h-4 text-[#1877F2]"}),t.jsx("span",{className:"text-muted-foreground",children:"Share on Facebook"})]})})})]}),t.jsx("div",{className:"relative flex items-center justify-center p-6 sm:p-8 lg:p-10 min-h-[280px] sm:min-h-[320px]",style:{background:`radial-gradient(ellipse at center, ${g.color}08 0%, transparent 70%)`},children:t.jsx("div",{className:"w-full max-w-[280px] aspect-[5/4] animate-[slideIn_0.4s_ease-out_0.1s_both]",children:g.illustration(g.color)},`illus-${e}`)})]})}),t.jsx("button",{onClick:()=>{U(),a(!1)},className:"absolute left-0 top-1/2 -translate-y-1/2 -translate-x-3 sm:-translate-x-5 w-10 h-10 sm:w-12 sm:h-12 rounded-full bg-background border border-border/50 shadow-md flex items-center justify-center hover:bg-muted/50 transition-colors focus:outline-none focus:ring-2 focus:ring-primary/50","aria-label":"Previous feature",children:t.jsx(ce,{className:"w-5 h-5 text-muted-foreground"})}),t.jsx("button",{onClick:()=>{N(),a(!1)},className:"absolute right-0 top-1/2 -translate-y-1/2 translate-x-3 sm:translate-x-5 w-10 h-10 sm:w-12 sm:h-12 rounded-full bg-background border border-border/50 shadow-md flex items-center justify-center hover:bg-muted/50 transition-colors focus:outline-none focus:ring-2 focus:ring-primary/50","aria-label":"Next feature",children:t.jsx(oe,{className:"w-5 h-5 text-muted-foreground"})})]}),t.jsx("div",{className:"flex items-center justify-center gap-1.5 mt-6",children:p.map((d,h)=>t.jsx("button",{onClick:()=>{b(h),a(!1)},className:"group p-1 focus:outline-none","aria-label":`Go to feature ${h+1}`,children:t.jsx("div",{className:"rounded-full transition-all duration-300",style:{width:h===e?"24px":"8px",height:"8px",backgroundColor:h===e?p[h].color:void 0},children:h!==e&&t.jsx("div",{className:"w-2 h-2 rounded-full bg-muted-foreground
2/25 group-hover:bg-muted-foreground/50 transition-colors"})})},h))}),t.jsx("div",{className:"max-w-4xl mx-auto mt-8 mb-4",children:t.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-2",children:p.map((d,h)=>{const j=d.icon;return t.jsxs("button",{onClick:()=>{b(h),a(!1)},className:`flex items-center gap-2 px-3 py-2 rounded-lg text-left text-xs font-medium transition-all border ${h===e?"border-current shadow-sm":"border-transparent hover:bg-muted/50"}`,style:h===e?{color:d.color,borderColor:d.color,backgroundColor:`${d.color}08`}:void 0,children:[t.jsx(j,{className:"w-3.5 h-3.5 flex-shrink-0",style:{color:h===e?d.color:void 0}}),t.jsx("span",{className:h===e?"":"text-muted-foreground",children:d.title})]},h)})})})]})]}),t.jsx(ae,{}),t.jsx("style",{children:`
3        @keyframes slideIn {
4          from {
5            opacity: 0;
6            transform: translateY(8px);
7          }
8          to {
9            opacity: 1;
10            transform: translateY(0);
11          }
12        }
13        @keyframes fadeSlideUp {
14          from {
15            opacity: 0;
16            transform: translateY(6px);
17          }
18          to {
19            opacity: 1;
20            transform: translateY(0);
21          }
22        }
23        @keyframes growUp {
24          from {
25            transform: scaleY(0);
26          }
27          to {
28            transform: scaleY(1);
29          }
30        }
31        @keyframes drawLine {
32          from {
33            stroke-dashoffset: 300;
34          }
35          to {
36            stroke-dashoffset: 0;
37          }
38        }
39      `})]})};export{Vt as default};

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