1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,99775,e=>{"use strict";var t=e.i(10126),a=e.i(15638),r=e.i(25782),l=e.i(76543);e.s(["Modal",0,function({open:e,onClose:s,title:n,subtitle:i,glyph:o,children:d}){return(0,a.useEffect)(()=>{if(!e)return;let t=e=>{"Escape"===e.key&&s()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[e,s]),(0,t.jsx)(l.AnimatePresence,{children:e&&(0,t.jsxs)(r.motion.div,{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-slate-950/75 backdrop-blur-sm",onClick:s,"aria-hidden":!0}),(0,t.jsxs)(r.motion.div,{role:"dialog","aria-modal":"true",initial:{opacity:0,scale:.96,y:12},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.96,y:12},transition:{duration:.2,ease:"easeOut"},className:"custom-scroll relative z-10 max-h-[calc(var(--vh,1vh)*86)] w-full max-w-lg overflow-y-auto rounded-3xl border border-white/10 bg-slate-900/90 p-6 shadow-2xl backdrop-blur-xl",children:[(0,t.jsxs)("div",{className:"mb-5 flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[o,(0,t.jsxs)("div",{children:[n&&(0,t.jsx)("h2",{className:"text-lg font-semibold text-slate-100",children:n}),i&&(0,t.jsx)("p",{className:"text-sm text-slate-400",children:i})]})]}),(0,t.jsx)("button",{onClick:s,"aria-label":"Close",className:"rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-white/10 hover:text-slate-100 cursor-pointer",children:(0,t.jsx)("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),d]})]})})},"extractError",0,function(e,t){return e?.response?.data?.error||t}])},12632,82085,e=>{"use strict";var t=e.i(10126),a=e.i(15638),r=e.i(25782),l=e.i(69018),s=e.i(99775),n=e.i(17599);function i(e){if("string"!=typeof e||!e)return null;try{let t=new URL(e);if("https:"!==t.protocol)return null;let a=t.hostname.toLowerCase();return"stripe.com"===a||a.endsWith(".stripe.com")?t.toString():null}catch{return null}}function o(e){let t=i(e);return!!t&&(window.location.href=t,!0)}e.s(["goToStripe",0,o,"safeStripeUrl",0,i],82085);let d=e=>"TEAM"===e||"team"===e?"Team":"Plus",c=e=>"year"===e?"year":"month",u=e=>e?new Date(e).toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"}):"your renewal date";function p(e,t){let a=e?.response?.data;return a?.message||(a?.error&&!/^[a-z_]+$/.test(a.error)?a.error:"")||t}function m({label:e,value:a,strong:r,tone:l}){return(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-4 py-1.5",children:[(0,t.jsx)("span",{className:`min-w-0 text-sm ${"muted"===l?"text-slate-500":"text-slate-300"}`,children:e}),(0,t.jsx)("span",{className:`shrink-0 tabular-nums ${r?"text-lg font-bold text-white":"text-sm"} ${"credit"===l?"text-emerald-300":""}`,children:a})]})}function x({p:e,interval:a}){return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("p",{className:"text-sm text-slate-300",children:["Team starts ",(0,t.jsx)("span",{className:"font-semibold text-white",children:"right now"}),". You pay only the difference: your unused Plus time is credited at what you actually paid."]}),(0,t.jsxs)("div",{className:"rounded-2xl border border-white/10 bg-white/[0.03] px-4 py-2",children:[(0,t.jsx)(m,{label:"year"===a?"Team for the new year":"Team until your renewal date",value:(0,n.formatPence)(e.newPlanPence)}),(0,t.jsx)(m,{label:"Credit for unused Plus time",value:`- ${(0,n.formatPence)(e.unusedCreditPence)}`,tone:"credit"}),e.accountCreditUsedPence>0&&(0,t.jsx)(m,{label:"Account credit used",value:`- ${(0,n.formatPence)(e.accountCreditUsedPence)}`,tone:"credit"}),(0,t.jsx)("div",{className:"my-1 border-t border-white/10"}),(0,t.jsx)(m,{label:"You pay today",value:(0,n.formatPence)(e.chargeTodayPence),strong:!0})]}),e.accountCreditAfterPence>0&&(0,t.jsxs)("div",{className:"rounded-2xl border border-emerald-400/25 bg-emerald-500/10 p-3 text-xs text-emerald-100",children:[(0,t.jsxs)("span",{className:"font-semibold",children:[(0,n.formatPence)(e.accountCreditAfterPence)," becomes account credit."]})," It pays your next invoices automatically - it is never paid out, and it never expires while your plan is active."]}),(0,t.jsxs)("p",{className:"text-xs text-slate-400",children:["Then ",(0,n.formatPence)(e.renewalPence)," per ",c(a)," from ",u(e.renewsOn),", plus ",(0,n.formatPence)(e.seatUnitPence)," per ",c(a)," for each seat you add for your team. Charged to your saved card."]})]})}function h({p:e}){return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("p",{className:"text-sm text-slate-300",children:["You keep everything you have paid for until ",(0,t.jsx)("span",{className:"font-semibold text-white",children:u(e.effectiveAt)}),". The switch happens then - ",(0,t.jsx)("span",{className:"font-semibold text-white",children:"nothing is charged today"}),"."]}),(0,t.jsxs)("div",{className:"rounded-2xl border border-white/10 bg-white/[0.03] px-4 py-2",children:[(0,t.jsx)(m,{label:`${d(e.toTier)} plan`,value:`${(0,n.formatPence)(e.planPence)} / ${c(e.interval)}`}),"TEAM"===e.toTier&&e.seats>0&&(0,t.jsx)(m,{label:`${e.seats} seat${1===e.seats?"":"s"}`,value:`${(0,n.formatPence)(e.seats*e.seatUnitPence)} / ${c(e.interval)}`}),(0,t.jsx)("div",{className:"my-1 border-t border-white/10"}),(0,t.jsx)(m,{label:`From ${u(e.effectiveAt)}`,value:`${(0,n.formatPence)(e.renewalPence)} / ${c(e.interval)}`,strong:!0})]}),e.teamEnds&&(0,t.jsxs)("div",{className:"rounded-2xl border border-amber-400/30 bg-amber-400/10 p-3 text-xs text-amber-100",children:[(0,t.jsx)("span",{className:"font-semibold",children:"Your teams pause on that date."})," All team data is kept, but team management is switched off",e.seatsEnding>0?` and your ${e.seatsEnding} seat${1===e.seatsEnding?"":"s"} end`:"",". Upgrade again any time to bring everything back."]}),(0,t.jsx)("p",{className:"text-xs text-slate-500",children:"No refunds: the time you have already paid for is always yours to use."})]})}e.s(["readApiError",0,p,"usePlanChange",0,function(e){let[i,c]=(0,a.useState)(!1),[m,f]=(0,a.useState)("team"),[b,g]=(0,a.useState)("month"),[y,w]=(0,a.useState)(null),[v,j]=(0,a.useState)(!1),[N,k]=(0,a.useState)(null),[P,C]=(0,a.useState)(null),S=(0,a.useCallback)(()=>{v||(c(!1),w(null),k(null),C(null))},[v]),A=(0,a.useCallback)(async(e,t)=>(await l.default.post("/billing/change/preview",{plan:e,interval:t})).data,[]),T=(0,a.useCallback)(async(t,a,r={})=>{f(t),g(a),k(null),C(null),j(!0);try{let s=await A(t,a);if("checkout"===s.kind){let e=await l.default.post("/subscribe",{plan:t,interval:a,...r.promoCode?{promoCode:r.promoCode}:r.referralCode?{referralCode:r.referralCode}:{}});if(o(e.data?.url))return!0;return!1}if("current"===s.kind)return e({kind:"current",message:`You are already on ${d(t)}
1 (${"year"===a?"annual":"monthly"}).`}),!0;return w(s),c(!0),!0}catch(e){return w(null),k(p(e,"Could not price this change right now. Please try again.")),c(!0),!0}finally{j(!1)}},[A,e]),$=(0,a.useCallback)(async()=>{if(y){j(!0),k(null);try{let t,a={plan:m,interval:b};"upgrade_now"===y.kind&&(a.prorationDate=y.prorationDate);let r=(await l.default.post("/subscribe",a)).data||{};if(r.requiresAction){if(o(r.url))return;k("Your bank needs to confirm this payment. Please open Billing and try again.");return}if(r.upgraded){let e=Number(r.accountCreditPence??0);t={kind:"upgraded",message:e>0?`You're on Team now. ${(0,n.formatPence)(e)} account credit will pay your next invoices.`:"You're on Team now - invite your people and give them seats."}}else t=r.changed?{kind:"scheduled",message:`Done - your plan changes on ${u(r.effectiveAt)}. Nothing is charged today.`}:r.resumed?{kind:"resumed",message:"Your plan will continue - the cancellation is undone."}:{kind:"current",message:"Nothing to change."};C(t),e(t)}catch(t){let e=t?.response?.data?.error;if("preview_expired"===e||"confirmation_required"===e)try{w(await A(m,b)),k("The price was refreshed. Please check it and confirm again.")}catch{k("The price has expired. Please close this and try again.")}else{k(p(t,"Something went wrong. Nothing was charged - please try again."));try{w(await A(m,b))}catch{}}}finally{j(!1)}}},[y,m,b,A,e]);return{start:T,dialog:(0,t.jsx)(s.Modal,{open:i,onClose:S,title:P?"All set":y?.kind==="upgrade_now"?`Upgrade to ${d(m)} now`:y?.kind==="scheduled"?`Switch to ${d(m)} at renewal`:y?.kind==="resume"?"Keep your plan":"Change plan",subtitle:P?void 0:"year"===b?"Billed annually":"Billed monthly",glyph:(0,t.jsx)("span",{className:"flex h-10 w-10 items-center justify-center rounded-2xl bg-gradient-to-br from-blue-500 via-purple-500 to-pink-500 text-lg shadow-lg shadow-purple-900/40",children:P?"ð":"â¡"}),children:P?(0,t.jsxs)(r.motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},className:"space-y-4",children:[(0,t.jsx)("p",{className:"text-sm text-slate-200",children:P.message}),(0,t.jsx)("button",{onClick:S,className:"w-full cursor-pointer rounded-xl bg-gradient-to-r from-blue-600 to-purple-600 px-4 py-2.5 text-sm font-semibold text-white hover:from-blue-500 hover:to-purple-500",children:"Done"})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[y?.kind==="upgrade_now"&&(0,t.jsx)(x,{p:y,interval:b}),y?.kind==="scheduled"&&(0,t.jsx)(h,{p:y}),y?.kind==="resume"&&(0,t.jsxs)("p",{className:"text-sm text-slate-300",children:["Your plan was set to end on ",u(y.endsAt),". Keep it and it renews as usual - nothing is charged today."]}),N&&(0,t.jsx)("div",{role:"alert",className:"rounded-xl border border-amber-400/30 bg-amber-400/10 px-3 py-2 text-xs text-amber-100",children:N}),y&&(0,t.jsxs)("div",{className:"flex flex-col-reverse gap-2 pt-1 sm:flex-row sm:justify-end",children:[(0,t.jsx)("button",{onClick:S,disabled:v,className:"cursor-pointer rounded-xl border border-white/10 bg-white/5 px-4 py-2.5 text-sm text-slate-200 hover:bg-white/10 disabled:opacity-60",children:"Not now"}),(0,t.jsx)("button",{onClick:$,disabled:v,className:"cursor-pointer rounded-xl bg-gradient-to-r from-blue-600 via-purple-600 to-pink-600 px-4 py-2.5 text-sm font-semibold text-white shadow-lg shadow-purple-900/30 transition-all hover:brightness-110 disabled:opacity-60",children:v?"Working...":"upgrade_now"===y.kind?y.chargeTodayPence>0?`Pay ${(0,n.formatPence)(y.chargeTodayPence)} and upgrade`:"Upgrade now - nothing to pay today":"scheduled"===y.kind?`Switch on ${u(y.effectiveAt)}`:"Keep my plan"})]}),!y&&!N&&(0,t.jsx)("div",{className:"h-10 animate-pulse rounded-xl bg-white/5"})]})}),busy:v}}],12632)},98971,e=>{"use strict";var t=e.i(38938),a=e.i(10126),r=e.i(15638),l=e.i(86097),s=e.i(25782),n=e.i(69018),i=e.i(27828),o=e.i(12632),d=e.i(17599),c=e.i(30599),u=e.i(96868);let p="inline-flex items-center rounded-full border border-indigo-300/30 bg-indigo-400/15 px-2.5 py-0.5 text-[11px] font-semibold text-indigo-100",m="inline-flex items-center rounded-full border border-emerald-300/25 bg-emerald-400/10 px-2.5 py-0.5 text-[11px] font-semibold text-emerald-100",x={free:{ring:"ring-white/10",halo:"from-slate-500/20",chip:"border-slate-400/20 bg-slate-400/10 text-slate-200",btn:"border border-white/15 bg-white/5 text-slate-100 hover:bg-white/10"},plus:{ring:"ring-2 ring-purple-400/40",halo:"from-purple-500/30 via-blue-500/20",chip:"border-purple-300/30 bg-purple-400/15 text-purple-100",btn:"bg-gradient-to-r from-blue-600 to-purple-600 text-white hover:from-blue-500 hover:to-purple-500 shadow-lg shadow-purple-900/30"},team:{ring:"ring-white/10",halo:"from-emerald-500/20 via-teal-500/15",chip:"border-emerald-300/25 bg-emerald-400/10 text-emerald-100",btn:"border border-emerald-300/30 bg-emerald-400/10 text-emerald-50 hover:bg-emerald-400/20"},enterprise:{ring:"ring-white/10",halo:"from-amber-500/20 via-orange-500/15",chip:"border-amber-300/25 bg-amber-400/10 text-amber-100",btn:"border border-amber-300/30 bg-amber-400/10 text-amber-50 hover:bg-amber-400/20"}},h=[{q:"Why do paid plans include zero credits?",a:"You only ever pay for the AI you actually use. The low subscription keeps the lights on; AI runs on pay-as-you-go credits you top up whenever you need them - so heavy and light users both pay fairly."},{q:"How much does AI usage cost?",a:"Credits are roughly 1p each, with volume discounts on larger top-ups. A typical agent action (a post draft, a reply, a match run) costs only a few credits - usually a few pence."},{q:"What is included free, forever?",a:"The Free plan gives you the Matchmaking and Auto-posting agents, a monthly grant of AI credits to try them, 100 connection requests a week, unlimited DMs and small group meetings."},{q:"Can I switch or cancel anytime?",a:"Yes. Upgrading from Plus to Team starts straight away - you only pay the difference for the rest of your billing period. Downgrades, monthly and annual switches and cancellations take effect at your renewal date, so you always keep the time you paid for. Your data and connections stay yours, and unused credits never expire while your account is active."},{q:"How do Team seats work?",a:"The Team plan includes you as the owner. Every other member of your teams has a seat - £6.99 a month, or £59.88 a year on annual - and one seat covers them in all your teams. Inviting someone takes a seat straight away: a free one if you have it, otherwise a new seat charged only from that day to your renewal date, then renewing at the full price. If an invitation is declined or expires, its seat stays yours to reuse. Removed seats stay usable until the renewal date."},{q:"What happens to the time I already paid for when I upgrade?",a:"It is credited at what you actually paid. If that credit is more than the upgrade costs, the rest becomes account credit that pays your next invoices automatically - you never lose it, and it is never paid out."},{q:"Is my data secure and GDPR-compliant?",a:"Always. Everything is encrypted in transit and at rest, payments run through Stripe, and we are built to GDPR and ICO standards. HIPAA BAAs are available on Plus and Team."}];e.s(["default",0,function(){let e=(0,l.useRouter)(),{user:f,updateUser:b}=(0,i.useAuth)(),[g,y]=(0,r.useState)([]),[w,v]=(0,r.useState)(!0),[j,N]=(0,r.useState)(null),[k,P]=(0,r.useState)("year"),[C,S]=(0,r.useState)(null),[A,T]=(0,r.useState)(null),[$,I]=(0,r.useState)(""),[E,M]=(0,r.useState)(null),[R,U]=(0,r.useState)(!1),[B,D]=(0,r.useState)(null),[Y,L]=(0,r.useState)(""),[O,F]=(0,r.useState)(null),[X,_]=(0,r.useState)(!1),[q,G]=(0,r.useState)(null),[z,H]=(0,r.useState)(null),[W,K]=(0,r.useState)(null),[V,Q]=(0,r.useState)(0),J=(0,o.usePlanChange)(e=>{"current"!==e.kind&&Q(e=>e+1)});(0,r.useEffect)(()=>{(async()=>{try{let e=await n.default.get("/pricing");y(e.data.plans||[])}catch(e){console.error("Failed to fetch pricing:",e)}finally{v(!1)}})()},[]),(0,r.useEffect)(()=>
1{if(!f){H(null),K(null);return}let e=!0;return(async()=>{try{let t=await n.default.get("/subscription");if(!e)return;H(t.data?.subscription??null);let a=t.data?.planSelected;K("boolean"==typeof a?a:null),!0===a&&!0!==f.planSelected&&b({planSelected:!0})}catch{e&&(H(null),K(null))}})(),()=>{e=!1}},[f,V]);let Z=f?.planSelected===!0||!0===W,ee=z?.tier,et=f&&Z&&ee?"TEAM"===ee?"team":"ENTERPRISE"===ee?"enterprise":"PLUS"===ee||"PREMIUM"===ee?"plus":"free":null,ea=(z?.currentPeriodStart&&z?.currentPeriodEnd?(new Date(z.currentPeriodEnd).getTime()-new Date(z.currentPeriodStart).getTime())/864e5:0)>40?"year":"month";(0,r.useEffect)(()=>{if(!f||f.needsAgeConfirmation)return;let e=!0;return(async()=>{let t=await (0,c.attachStoredReferral)();if(e){try{let t=await n.default.get("/api/affiliate/referral/mine");if(!e)return;if(t.data?.referral){var a;let e;S((e=(a=t.data.discounts??t.data.referral?.discounts)&&"object"==typeof a?a:{},{plus:{discountBps:Number(e.plus?.discountBps)||0,eligible:e.plus?.eligible!==!1},team:{discountBps:Number(e.team?.discountBps)||0,eligible:e.team?.eligible!==!1}}));let r=t.data.referral.codeUsed;T("string"==typeof r?r:null);return}}catch{}if(e){try{let e=(0,d.readStoredReferral)();e&&I(t=>t||e)}catch{}"rejected"===t.state&&D((0,d.humaniseReferralReason)(t.reason))}}})(),()=>{e=!1}},[f]);let er=async e=>{let t=(0,u.normalisePromoCode)(e??Y);if(!t){F(null),G("Enter a promo code such as FOUNDING50.");return}_(!0),G(null);try{let e=(await n.default.post("/billing/promo/preview",{code:t})).data||{},a={code:t,valid:!0===e.valid,eligible:!0===e.eligible,reason:"string"==typeof e.reason?e.reason:void 0,percentOff:Number(e.percentOff)||0,plans:Array.isArray(e.plans)?e.plans.map(e=>String(e)):[],validUntilLabel:"string"==typeof e.validUntilLabel?e.validUntilLabel:void 0};F(a),a.valid&&a.eligible&&((0,u.storePromoCode)(t),P("year"))}catch(t){F(null);let e=t?.response?.data?.reason;G(t?.response?.status===429?"Too many attempts. Please wait a few minutes and try again.":"string"==typeof e?(0,u.humanisePromoReason)(e):"Could not check that code. Please try again.")}finally{_(!1)}};(0,r.useEffect)(()=>{if(!f||f.needsAgeConfirmation)return;let e=null;try{e=(0,u.readStoredPromo)()}catch{e=null}e&&(L(t=>t||e||""),er(e))},[f]);let el=!!(f&&O&&O.valid&&O.eligible),es=e=>el&&O&&"year"===k&&O.plans.includes(e)?Math.round(100*O.percentOff):0,en=async()=>{let e=(0,d.normaliseReferralCode)($);if(!e){M(null),D("Enter a referral code such as PM-XXXXXX.");return}U(!0),D(null);try{let t=(await n.default.post("/api/affiliate/referral/preview",{code:e})).data||{},a=!0===t.valid,r=!0===t.eligible;M({code:e,valid:a,eligible:r,reason:"string"==typeof t.reason?t.reason:void 0,plus:Number(t.plus?.discountBps)||0,team:Number(t.team?.discountBps)||0}),a&&r&&(0,d.storeReferralCode)(e)}catch(t){M(null);let e=t?.response?.data?.error;D("string"==typeof e?(0,d.humaniseReferralReason)(e):"Could not check that code. Please try again.")}finally{U(!1)}},ei="year"===k&&E?.valid&&E.eligible?E.code:null,eo=async a=>{if("contact"===a.cta){if(f)try{let t=await n.default.post("/api/sales/contact",{});if(t.data?.conversationId){sessionStorage.setItem("openConversationId",t.data.conversationId),e.push("/messages");return}}catch{}window.location.href=`mailto:${t.default.env.NEXT_PUBLIC_SUPPORT_EMAIL||"[email protected]"}?subject=${encodeURIComponent(`PartnerMe ${a.name} plan enquiry`)}`;return}if(!f)return void e.push("/login?redirect=/pricing");N(a.id);try{if("free"===a.cta){let t=await n.default.post("/select-plan",{plan:"free"});if(t.data?.scheduled){b({planSelected:!0}),e.push("/profile?tab=billing");return}t.data?.success&&(b({planSelected:!0}),e.push("/?success=free"))}else{let e=es(a.id)>0&&O?O.code:null;await J.start("team"===a.id?"team":"plus",k,{promoCode:e,referralCode:ei})}}catch(e){console.error("Plan action failed:",e),alert(e.response?.data?.error||"Something went wrong. Please try again.")}finally{N(null)}},ed={hidden:{opacity:0,y:24},visible:{opacity:1,y:0,transition:{duration:.45,ease:"easeOut"}}};return(0,a.jsxs)("div",{className:"relative mx-auto w-full max-w-7xl px-4 pb-24 pt-24 sm:px-6",children:[J.dialog,(0,a.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 -z-10 mx-auto h-[28rem] w-[90%] rounded-full bg-gradient-to-b from-purple-600/20 via-blue-600/10 to-transparent blur-3xl"}),(0,a.jsxs)(s.motion.div,{initial:{opacity:0,y:-16}
1,animate:{opacity:1,y:0},transition:{duration:.6},className:"mx-auto max-w-3xl text-center",children:[(0,a.jsx)("div",{className:"mb-3 text-[11px] font-semibold uppercase tracking-[0.22em] text-slate-400",children:"Pricing"}),(0,a.jsx)("h1",{className:"text-4xl font-extrabold tracking-tight sm:text-5xl",children:(0,a.jsx)("span",{className:"bg-gradient-to-r from-blue-400 via-purple-400 to-pink-400 bg-clip-text text-transparent",children:"Grow faster with your AI team"})}),(0,a.jsxs)("p",{className:"mx-auto mt-4 max-w-2xl text-base text-slate-400 sm:text-lg",children:["Start free. Upgrade for the full agent crew. You only ever pay for the AI you actually use -",(0,a.jsx)("span",{className:"text-slate-200",children:" no bundled credits, no waste."})]}),(0,a.jsx)("div",{className:"mt-8 inline-flex items-center gap-1 rounded-full border border-white/10 bg-white/5 p-1 backdrop-blur-xl",children:["month","year"].map(e=>(0,a.jsxs)("button",{onClick:()=>P(e),className:`cursor-pointer rounded-full px-4 py-1.5 text-sm font-medium transition-all ${k===e?"bg-gradient-to-r from-blue-600 to-purple-600 text-white shadow":"text-slate-300 hover:text-white"}`,children:["month"===e?"Monthly":"Annual","year"===e&&(0,a.jsx)("span",{className:"ml-1.5 text-[11px] font-bold text-emerald-300",children:"save ~30%"})]},e))}),f&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.3},className:"mx-auto mt-5 max-w-xl text-left",children:el&&O?(0,a.jsxs)("div",{role:"status",className:"rounded-2xl border border-indigo-400/30 bg-indigo-500/10 p-4",children:[(0,a.jsxs)("p",{className:"text-sm font-semibold text-indigo-100",children:["Code ",O.code," applied: ",O.percentOff,"% off your first year"]}),(0,a.jsxs)("p",{className:"mt-0.5 text-xs text-indigo-200/80",children:["Early supporter offer on annual Plus and Team, for new customers",O.validUntilLabel?`, until ${O.validUntilLabel}`:"",". It comes off at checkout."]}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[O.plans.includes("plus")&&(0,a.jsxs)("span",{className:p,children:["Plus: ",O.percentOff,"% off your first year"]}),O.plans.includes("team")&&(0,a.jsxs)("span",{className:p,children:["Team: ",O.percentOff,"% off your first year"]}),"year"!==k&&(0,a.jsx)("button",{type:"button",onClick:()=>P("year"),className:"cursor-pointer rounded-full border border-indigo-300/40 px-3 py-0.5 text-[11px] font-semibold text-indigo-100 hover:bg-indigo-400/15",children:"Switch to Annual to use it"})]})]}):(0,a.jsxs)("div",{className:"rounded-2xl border border-white/10 bg-white/[0.03] p-4 backdrop-blur-xl",children:[(0,a.jsx)("label",{htmlFor:"pricing-promo-code",className:"text-sm font-semibold text-white",children:"Have a promo code?"}),(0,a.jsxs)("form",{onSubmit:e=>{e.preventDefault(),er()},className:"mt-3 flex flex-col gap-2 sm:flex-row",children:[(0,a.jsx)("input",{id:"pricing-promo-code",type:"text",autoCapitalize:"characters",autoComplete:"off",autoCorrect:"off",spellCheck:!1,maxLength:24,value:Y,onChange:e=>{L(e.target.value.toUpperCase()),G(null)},placeholder:"FOUNDING50","aria-describedby":"pricing-promo-status",className:"min-h-[44px] min-w-0 flex-1 rounded-xl border border-white/10 bg-slate-900/80 px-4 py-2.5 font-mono text-base uppercase tracking-widest text-white placeholder-slate-600 outline-none transition-all focus:border-indigo-500/60 focus:ring-1 focus:ring-indigo-500/60"}),(0,a.jsx)("button",{type:"submit",disabled:X||!Y.trim(),className:"min-h-[44px] cursor-pointer rounded-xl bg-gradient-to-r from-blue-600 to-purple-600 px-5 py-2.5 text-sm font-semibold text-white transition-all hover:from-blue-500 hover:to-purple-500 disabled:cursor-not-allowed disabled:opacity-60",children:X?"Checking...":"Apply"})]}),(0,a.jsxs)("div",{id:"pricing-promo-status","aria-live":"polite",className:"mt-2 text-xs",children:[q&&(0,a.jsx)("p",{className:"text-rose-300",children:q}),O&&!(O.valid&&O.eligible)&&(0,a.jsx)("p",{className:"text-amber-200",children:(0,u.humanisePromoReason)(O.reason||"invalid_code")})]})]})}),f&&"year"===k&&!el&&(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:8}
1,animate:{opacity:1,y:0},transition:{duration:.3},className:"mx-auto mt-5 max-w-xl text-left",children:C?(0,a.jsxs)("div",{role:"status",className:"rounded-2xl border border-emerald-400/25 bg-emerald-500/10 p-4",children:[(0,a.jsx)("p",{className:"text-sm font-semibold text-emerald-100",children:A?(0,a.jsxs)(a.Fragment,{children:["Referral code ",(0,a.jsx)("span",{className:"font-mono tracking-wider",children:A})," applied"]}):"Referral discount applied"}),(0,a.jsx)("p",{className:"mt-0.5 text-xs text-emerald-200/80",children:"It comes off your first year automatically at checkout."}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[["plus","team"].map(e=>{let t=C[e];return t.eligible&&t.discountBps>0?(0,a.jsxs)("span",{className:m,children:["plus"===e?"Plus":"Team",": ",(0,d.formatBps)(t.discountBps)," off your first year"]},e):null}),!(C.plus.eligible&&C.plus.discountBps>0)&&!(C.team.eligible&&C.team.discountBps>0)&&(0,a.jsx)("span",{className:"text-xs text-slate-400",children:"No referral discount is available on this account right now."})]})]}):(0,a.jsxs)("div",{className:"rounded-2xl border border-white/10 bg-white/[0.03] p-4 backdrop-blur-xl",children:[(0,a.jsx)("label",{htmlFor:"pricing-referral-code",className:"text-sm font-semibold text-white",children:"Have a referral code?"}),(0,a.jsx)("p",{className:"mt-0.5 text-xs text-slate-400",children:"Annual Plus and Team plans only - the discount applies to your first year."}),(0,a.jsxs)("form",{onSubmit:e=>{e.preventDefault(),en()},className:"mt-3 flex flex-col gap-2 sm:flex-row",children:[(0,a.jsx)("input",{id:"pricing-referral-code",type:"text",autoCapitalize:"characters",autoComplete:"off",autoCorrect:"off",spellCheck:!1,maxLength:24,value:$,onChange:e=>{I(e.target.value.toUpperCase()),D(null)},placeholder:"PM-XXXXXX","aria-describedby":"pricing-referral-status",className:"min-h-[44px] min-w-0 flex-1 rounded-xl border border-white/10 bg-slate-900/80 px-4 py-2.5 font-mono text-base uppercase tracking-widest text-white placeholder-slate-600 outline-none transition-all focus:border-blue-500/60 focus:ring-1 focus:ring-blue-500/60"}),(0,a.jsx)("button",{type:"submit",disabled:R||!$.trim(),className:"min-h-[44px] cursor-pointer rounded-xl bg-gradient-to-r from-blue-600 to-purple-600 px-5 py-2.5 text-sm font-semibold text-white transition-all hover:from-blue-500 hover:to-purple-500 disabled:cursor-not-allowed disabled:opacity-60",children:R?"Checking...":"Apply"})]}),(0,a.jsxs)("div",{id:"pricing-referral-status","aria-live":"polite",className:"mt-2 text-xs",children:[B&&(0,a.jsx)("p",{className:"text-rose-300",children:B}),E&&E.valid&&E.eligible&&(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("span",{className:"font-semibold text-emerald-300",children:["Code ",E.code," applied"]}),E.plus>0&&(0,a.jsxs)("span",{className:m,children:["Plus: ",(0,d.formatBps)(E.plus)," off your first year"]}),E.team>0&&(0,a.jsxs)("span",{className:m,children:["Team: ",(0,d.formatBps)(E.team)," off your first year"]})]}),E&&!(E.valid&&E.eligible)&&(0,a.jsx)("p",{className:"text-amber-200",children:(0,d.humaniseReferralReason)(E.reason||(E.valid?"not_eligible":"invalid_code"))})]})]})})]}),w?(0,a.jsx)("div",{className:"mt-16 flex justify-center",children:(0,a.jsx)("div",{className:"h-10 w-10 animate-spin rounded-full border-4 border-purple-500/40 border-r-transparent"})}):(0,a.jsx)(s.motion.div,{variants:{hidden:{opacity:0},visible:{opacity:1,transition:{staggerChildren:.08}}},initial:"hidden",animate:"visible",className:"mt-12 grid grid-cols-1 gap-5 sm:grid-cols-2 xl:grid-cols-4",children:g.map(e=>{let t,r=x[e.id]??x.free,l=null===e.price?{big:"Custom",sub:"Talk to us"}:0===e.price?{big:"Free",sub:"forever"}:"year"===k&&null!=e.annualMonthly?{big:`\xa3${e.annualMonthly.toFixed(2)}`,sub:"/mo, billed annually"}:{big:`\xa3${e.price.toFixed(2)}`,sub:"/month"},n="year"===k&&e.price&&e.annualMonthly?Math.round((1-e.annualMonthly/e.price)*100):null,i=e.id===et,o=i&&(0===e.price||null===e.price||k===ea);return(0,a.jsxs)(s.motion.div,{variants:ed,whileHover:{y:-6},"aria-current":o?"true":void 0,className:`group relative flex flex-col overflow-hidden rounded-3xl border bg-white/[0.03] p-6 backdrop-blur-xl ${o?"border-purple-400/60 ring-2 ring-purple-400/50":`border-white/10 ring-1 ${r.ring}`} ${e.popular?"sm:scale-[1.015] xl:scale-105":""}`,children:[(0,a.jsx)("div",{className:`pointer-events-none absolute -top-24 left-1/2 h-56 w-[140%] -translate-x-1/2 roun
1ded-full bg-gradient-to-b ${r.halo} to-transparent opacity-60 blur-3xl`}),o?(0,a.jsx)("div",{className:"absolute right-4 top-4 rounded-full bg-gradient-to-r from-blue-500 to-purple-500 px-3 py-1 text-[11px] font-bold uppercase tracking-wide text-white shadow-lg",children:"Your plan"}):i?(0,a.jsxs)("div",{className:"absolute right-4 top-4 rounded-full border border-purple-300/40 bg-purple-500/15 px-3 py-1 text-[11px] font-bold uppercase tracking-wide text-purple-100",children:["Your plan: ","year"===ea?"annual":"monthly"]}):e.popular&&(0,a.jsx)("div",{className:"absolute right-4 top-4 rounded-full bg-gradient-to-r from-blue-500 to-purple-500 px-3 py-1 text-[11px] font-bold uppercase tracking-wide text-white shadow-lg",children:"Most popular"}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:`inline-flex items-center rounded-full border px-3 py-1 text-xs font-semibold ${r.chip}`,children:e.name}),(0,a.jsx)("p",{className:"mt-3 min-h-[2.5rem] text-sm text-slate-400",children:e.tagline}),(0,a.jsxs)("div",{className:"mt-5 flex items-end gap-1.5",children:[(0,a.jsx)("span",{className:"text-4xl font-extrabold tracking-tight text-white",children:l.big}),l.sub&&(0,a.jsx)("span",{className:"mb-1 text-sm text-slate-400",children:l.sub})]}),n?(0,a.jsxs)("div",{className:"mt-1 text-xs font-semibold text-emerald-300",children:["Save ",n,"% vs monthly"]}):(0,a.jsx)("div",{className:"mt-1 h-4"}),"team"===e.id&&null!=e.seatPrice&&(0,a.jsxs)("div",{className:"mt-2 inline-flex flex-wrap items-baseline gap-1 rounded-xl border border-emerald-300/25 bg-emerald-400/10 px-2.5 py-1.5 text-xs text-emerald-100",children:[(0,a.jsxs)("span",{className:"font-bold",children:["+ £",("year"===k&&null!=e.seatAnnualMonthly?e.seatAnnualMonthly:e.seatPrice).toFixed(2),"/mo"]}),(0,a.jsxs)("span",{className:"text-emerald-200/80",children:["per extra member","year"===k?", billed annually":""]})]}),(()=>{let t=es(e.id);if(!t||null==e.annualMonthly||!O)return null;let r=(0,d.discountedFirstYear)(e.annualMonthly,t);return(0,a.jsxs)("p",{className:"mt-2 rounded-xl border border-indigo-400/30 bg-indigo-500/10 px-3 py-2 text-xs text-indigo-100",children:[(0,a.jsxs)("span",{className:"font-bold text-indigo-200",children:[(0,d.formatPence)(r.firstYearPence)," first year"]}),", then ",(0,d.formatPence)(r.totalPence),"/yr",(0,a.jsxs)("span",{className:"block text-[11px] text-indigo-200/70",children:["Early supporter code ",O.code,": ",(0,d.formatBps)(t)," off, applied at checkout"]})]})})(),(()=>{let t=(e=>{if(!f||"year"!==k||"plus"!==e&&"team"!==e||es(e)>0)return 0;if(C){let t=C[e];return t.eligible?t.discountBps:0}return E&&E.valid&&E.eligible?"plus"===e?E.plus:E.team:0})(e.id);if(!t||null==e.annualMonthly)return null;let r=(0,d.discountedFirstYear)(e.annualMonthly,t);return(0,a.jsxs)("p",{className:"mt-2 rounded-xl border border-emerald-400/25 bg-emerald-500/10 px-3 py-2 text-xs text-emerald-100",children:[(0,a.jsxs)("span",{className:"font-bold text-emerald-300",children:[(0,d.formatPence)(r.firstYearPence)," first year"]}),", then ",(0,d.formatPence)(r.totalPence),"/yr",(0,a.jsxs)("span",{className:"block text-[11px] text-emerald-200/70",children:["Referral discount of ",(0,d.formatBps)(t)," applied at checkout"]})]})})(),o?(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)("div",{className:"rounded-xl border border-white/10 bg-white/5 px-4 py-2.5 text-center text-sm font-semibold text-slate-200",children:"Your current plan"}),(t=z?.currentPeriodEnd?new Date(z.currentPeriodEnd).toLocaleDateString():null,z?.cancelAtPeriodEnd&&t?(0,a.jsxs)("p",{className:"mt-2 text-center text-xs text-amber-200/90",children:["Cancels on ",t]}
1):z?.pendingTier&&z?.pendingStartsAt?(0,a.jsxs)("p",{className:"mt-2 text-center text-xs text-sky-200/90",children:["Switches to ","TEAM"===z.pendingTier?"Team":"Plus"," (","year"===z.pendingInterval?"annual":"monthly",") on ",new Date(z.pendingStartsAt).toLocaleDateString()]}):"free"!==e.id&&t?(0,a.jsxs)("p",{className:"mt-2 text-center text-xs text-slate-400",children:["Renews on ",t]}):null),(0,a.jsx)("a",{href:"/profile?tab=billing",className:"mt-2 block text-center text-xs font-medium text-purple-200 underline-offset-2 hover:underline",children:"Change billing or cancel on the Billing page"})]}):(0,a.jsx)("button",{onClick:()=>eo(e),disabled:j===e.id,className:`mt-5 w-full cursor-pointer rounded-xl px-4 py-2.5 text-sm font-semibold transition-all disabled:opacity-60 ${r.btn}`,children:j===e.id?"Working...":"free"===e.cta?et&&"free"!==et?"Switch to Free":"Get started free":"contact"===e.cta?"Talk to us":i?`Switch to ${"year"===k?"annual":"monthly"}`:"plus"===et&&"team"===e.id?"Upgrade to Team now":`Choose ${e.name}`})]}),(0,a.jsx)("ul",{className:"relative mt-6 space-y-3",children:e.features.map((e,t)=>(0,a.jsxs)("li",{className:"flex items-start gap-2.5 text-sm text-slate-300",children:[(0,a.jsx)("span",{className:"mt-0.5 flex h-4 w-4 flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-blue-500 to-purple-500 text-[10px] text-white",children:"â"}),(0,a.jsx)("span",{children:e})]},t))})]},e.id)})}),(0,a.jsx)(s.motion.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{duration:.5},className:"mt-10 overflow-hidden rounded-3xl border border-white/10 bg-white/[0.03] p-6 backdrop-blur-xl sm:p-8",children:(0,a.jsxs)("div",{className:"grid gap-6 sm:grid-cols-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-2xl",children:"â¡"}),(0,a.jsx)("h3",{className:"mt-2 font-semibold text-white",children:"Pay only for what you use"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"AI runs on credits (~1p each). Top up when you need to - never pay for credits you won't use."})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-2xl",children:"ð¤"}),(0,a.jsx)("h3",{className:"mt-2 font-semibold text-white",children:"A crew of AI agents"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Matchmaking, auto-posting, auto-replying and network-boosting - working for you around the clock."})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-2xl",children:"ð"}),(0,a.jsx)("h3",{className:"mt-2 font-semibold text-white",children:"Private & compliant"}),(0,a.jsx)("p",{className:"mt-1 text-sm text-slate-400",children:"Encrypted in transit and at rest, GDPR & ICO aligned, Stripe-secured payments, optional HIPAA BAA."})]})]})}),(0,a.jsxs)("div",{className:"mx-auto mt-16 max-w-3xl",children:[(0,a.jsx)("h2",{className:"text-center text-2xl font-bold tracking-tight",children:(0,a.jsx)("span",{className:"bg-gradient-to-r from-blue-400 to-purple-400 bg-clip-text text-transparent",children:"Questions, answered"})}),(0,a.jsx)("div",{className:"mt-6 space-y-3",children:h.map((e,t)=>(0,a.jsxs)(s.motion.div,{initial:{opacity:0,x:-16},whileInView:{opacity:1,x:0},viewport:{once:!0},transition:{duration:.35,delay:.05*t},className:"rounded-2xl border border-white/10 bg-white/[0.03] p-5 backdrop-blur-xl",children:[(0,a.jsx)("h3",{className:"font-semibold text-white",children:e.q}),(0,a.jsx)("p",{className:"mt-1.5 text-sm text-slate-400",children:e.a})]},t))})]}),(0,a.jsxs)("div",{className:"mx-auto mt-12 max-w-3xl rounded-2xl border border-white/10 bg-white/[0.03] p-5 text-center text-sm text-slate-400 backdrop-blur-xl",children:[(0,a.jsx)("span",{className:"font-semibold text-slate-200",children:"Secure payments by Stripe"}),"· Cancel anytime · No hidden fees · GDPR & ICO aligned"]})]})}])}]);
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.