1"use strict";(self.webpackChunkplg_crm=self.webpackChunkplg_crm||[]).push([[911],{56525(e,t,n){n.d(t,{J:()=>s});var a=n(49555),r=n(44914),o=n(96452),s=function(e){var t=e.className,n=void 0===t?"":t,s=(0,r.useState)(!1),i=(0,a.A)(s,2),l=i[0],c=i[1];return l?null:r.createElement("div",{role:"status",className:"flex items-center gap-3 rounded-xl border border-[#E4DEFB] bg-[#F4F1FF] px-4 py-3 ".concat(n)},r.createElement("span",{className:"flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-lg bg-purple-100 text-purple-600"},r.createElement(o.Sparkles,{className:"h-4 w-4","aria-hidden":!0})),r.createElement("p",{className:"min-w-0 flex-1 text-[13px] leading-snug text-gray-700"},r.createElement("span",{className:"font-semibold text-gray-900"},"Free while we're in beta.")," ","Full access, no charge. We'll notify you before anything changes."),r.createElement("button",{type:"button",onClick:function(){return c(!0)},"aria-label":"Dismiss beta notice",className:"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-md text-gray-400 transition-colors hover:bg-black/5 hover:text-gray-600"},r.createElement(o.X,{className:"h-3.5 w-3.5"})))}},70652(e,t,n){n.d(t,{By:()=>s,UJ:()=>i,Un:()=>o,s5:()=>l,si:()=>c});var a=n(44914),r=n(96452);function o(e){var t=e.text,n=e.label,o=void 0===n?"More info":n;return a.createElement("span",{className:"group relative inline-flex"},a.createElement(r.Info,{"aria-label":o,className:"h-3.5 w-3.5 cursor-help text-gray-400 transition-colors group-hover:text-gray-600 group-focus-within:text-gray-600",tabIndex:0}),a.createElement("span",{role:"tooltip",className:"pointer-events-none absolute left-0 top-full z-20 mt-2 w-64 whitespace-pre-line rounded-md bg-gray-900 px-3 py-2 text-xs leading-relaxed text-white opacity-0 shadow-md transition-opacity duration-150 group-hover:opacity-100 group-focus-within:opacity-100"},t))}var s="Shows how much of the AI conversation each brand owns versus you and your competitors. Shares always add up to 100%, so one brand rising can lower another even if its own mentions stay flat.\n\nFormula: Brand mentions ÷ Total mentions (you + competitors) à 100",i="Tracks how often each brand appears in AI answers over time for your tracked prompts.\n\nFormula: Answers mentioning the brand ÷ Total AI answers à 100",l="How often this brand shows up in AI answers for your tracked prompts.\n\nFormula: Answers mentioning the brand ÷ Total AI answers à 100",c="Where the brand usually sits in the list of brands named in an answer. Lower is better â 1 means it was mentioned first.\n\nFormula: Average mention position across answers that include the brand"},70911(e,t,n){n.r(t),n.d(t,{default:()=>Jr});var a=n(32816),r=n(67136),o=n(74652),s=n(49555),i=n(92207),l=n.n(i),c=n(44914),A=n(9514),p=n(96452),d=n(60749),u=n(69540),m=n(48440),x=n(95922),g=n(92098),f=g.S.AI_VISIBILITY,h="/revenue-attribution/summary",C="/revenue-attribution/trend",v="/revenue-attribution/pages";function b(){var e,t={},n=(null!==(e=x.default.get("system_token"))&&void 0!==e?e:"").trim();return n&&(t.Authorization="Bearer ".concat(n)),t}function y(e){var t=new URLSearchParams;Object.entries(e).forEach(function(e){var n=(0,s.A)(e,2),a=n[0],r=n[1];r&&t.set(a,r)});var n=t.toString();return n?"?".concat(n):""}function w(e,t){return k.apply(this,arguments)}function k(){return(k=(0,a.A)(l().mark(function e(t,n){var a,r,o,s;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=1,fetch("".concat(f).concat(t),{headers:b()});case 1:if((a=e.sent).ok){e.next=6;break}return r=n,e.prev=2,e.next=3,a.json();case 3:o=e.sent,r=(null==o?void 0:o.message)||(null==o?void 0:o.error)||n,e.next=5;break;case 4:e.prev=4,e.catch(2);case 5:return e.abrupt("return",{ok:!1,message:r,badRequest:400===a.status});case 6:return e.next=7,a.json();case 7:return s=e.sent,e.abrupt("return",{ok:!0,data:s});case 8:return e.prev=8,e.catch(0),e.abrupt("return",{ok:!1,message:"Network error. Please check your connection and try again.",badRequest:!1});case 9:case"end":return e.stop()}},e,null,[[0,8],[2,4]])}))).apply(this,arguments)}function E(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return w("".concat(h).concat(y({start_date:e.startDate,end_date:e.endDate,attribution_scope:e.attributionScope})),"Could not load the attribution summary.")}function B(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return w("".concat(C).concat(y({start_date:e.startDate,end_date:e.endDate,metric:e.metric,granularity:e.granularity,attribution_scope:e.attributionScope})),"Could not load the attribution trend.")}function N(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return w("".concat(v).concat(y({start_date:e.startDate,end_date:e.endDate,sort_by:e.sortBy,sort_dir:e.sortDir,page:e.page?String(e.page):void 0,page_size:e.pageSize?String(e.pageSize):void 0,page_type:e.pageType,vendor:e.vend
1or,attribution_scope:e.attributionScope})),"Could not load page performance.")}var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function I(e){return"".concat(e.getFullYear(),"-").concat(String(e.getMonth()+1).padStart(2,"0"),"-").concat(String(e.getDate()).padStart(2,"0"))}var O="â";function T(e){return null===e?O:Math.round(e).toLocaleString("en-US")}function D(e){return null===e?null:"".concat(e>=0?"â²":"â¼"," ").concat(Math.abs(e).toFixed(0),"%")}function z(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(null===e)return O;var a=e.toLocaleString("en-US",{minimumFractionDigits:n,maximumFractionDigits:n});if(!t)return a;try{return e.toLocaleString("en-US",{style:"currency",currency:t,minimumFractionDigits:n,maximumFractionDigits:n})}catch(e){return"".concat(a," ").concat(t)}}function J(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?J(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var W=g.S.REVENUE_ATTRIBUTION_SETUP;function R(){var e=x.default.get("system_token");return e?{Authorization:"Bearer ".concat(e)}:null}function L(){return F.apply(this,arguments)}function F(){return(F=(0,a.A)(l().mark(function e(){var t,n;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=R()){e.next=1;break}return e.abrupt("return",null);case 1:return e.next=2,fetch(W,{headers:t});case 2:if((n=e.sent).ok){e.next=3;break}throw new Error("getAttributionSetup failed: ".concat(n.status));case 3:return e.next=4,n.json();case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function G(e){return j.apply(this,arguments)}function j(){return j=(0,a.A)(l().mark(function e(t){var n,a,r,o=arguments;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=o.length>1&&void 0!==o[1]?o[1]:"configured",a=R()){e.next=1;break}throw new Error("saveAttributionSetup: no auth token");case 1:return e.next=2,fetch(W,{method:"PUT",headers:P({"Content-Type":"application/json"},a),body:JSON.stringify({setup:t,status:n})});case 2:if((r=e.sent).ok){e.next=3;break}throw new Error("saveAttributionSetup failed: ".concat(r.status));case 3:case"end":return e.stop()}},e)})),j.apply(this,arguments)}function _(){return(_=(0,a.A)(l().mark(function e(){var t,n;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t=R()){e.next=1;break}throw new Error("deleteAttributionSetup: no auth token");case 1:return e.next=2,fetch(W,{method:"DELETE",headers:t});case 2:if((n=e.sent).ok){e.next=3;break}throw new Error("deleteAttributionSetup failed: ".concat(n.status));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var M={page:{title:"Revenue Attribution",subtitle:"See what your AI visibility is actually worth."},howItWorks:{title:"How attribution works",modalSubtitle:"All four steps, and how a cited answer becomes measured revenue.",steps:[{label:"Someone asks an AI assistant",body:"A buyer asks ChatGPT or Perplexity for recommendations in your category"},{label:"Your page gets cited",body:"We already track which prompts cite which of your pages"},{label:"They visit and convert",body:"GA4 records the session, landing page, and conversion"},{label:"You see what it earned",body:"We join both sides: which cited pages actually drive revenue"}],citedByTag:"CitedBy",animation:{play:"Play animation",pause:"Pause animation",question:"best CDP for B2B SaaS",sources:["vendor-a.com","yourbrand.com","vendor-b.com"],brand:"yourbrand.com",landingPage:"/compare/cdp-vs-cdw",sessionLabel:"session",valueLabel:"$400 / session"},requirements:{items:[{label:"Read-only GA4 access",time:"~2 min"},{label:"One key event marked in GA4",time:"~1 min"},{label:"Your average deal value",time:"~30 sec"}],noCode:"No tracking code. No changes to your site."},honesty:{title:"What we can and can't see",paragraphs:["We can show you that a visitor arrived from ChatGPT, which page brought them in, and what that page earns. We can't see the exact question they asked â no AI platform passes that.","Most AI-influenced visits arrive with no referrer at all and are counted as Direct traffic. The numbers here are a floor, not a total."],panelLink:"Why is my AI number so small?"},smallNumberPanel:{title:"Why is my AI number so small?",sections:[{title:"Zero-click answers",body:"Most people read the AI answer and never click through. You were cited; there was no visit to measure."}
1,{title:"Stripped referrers",body:"Many AI platforms send visitors without a referrer header. Those sessions land in Direct and can't be distinguished from someone typing your URL."},{title:"Google AI Overviews",body:"Clicks from AI Overviews and AI Mode are reported by GA4 as Organic Search. There is no way to separate them."},{title:"Answers with no visit at all",body:"When an assistant answers from what it already knows, it never touches your site. The recommendation happened; nothing was recorded anywhere."}],closing:"This is why we also track your citations directly â visibility is measurable even when the click isn't."}},empty:{headline:"Connect revenue data",body:"See which AI-cited pages drive conversions, and how AI traffic compares to Direct and Organic. Takes about 5 minutes â no tracking code required.",previews:["Traffic and conversion trends by channel","Revenue per session by landing page","Your cited pages, ranked by what they actually earn"],primaryCta:"Set up attribution",secondaryLink:"What data do you need?"},requirementsPanel:{title:"What data do you need?",intro:"Three things at most, and none of them require a developer.",items:[{title:"Read-only Google Analytics access",body:"We request the read-only Analytics scope so we can pull sessions and conversions by landing page and channel. We never write to, modify, or delete anything in your Analytics property."},{title:"One key event",body:"At least one GA4 event marked as a key event â a demo request, a signup, a lead form. If you already report on conversions in GA4, you have this."},{title:"An average deal value â only if GA4 has none",body:"If your property already reports revenue, we use those actual amounts and skip this entirely. If it doesn't, we ask what a conversion is worth on average so counts can be turned into revenue. An estimate is fine, and you can change it any time."}],noCode:"No code changes. No tracking pixel. No CRM connection. Nothing to deploy."},pathChooser:{label:"Data source",heading:"Where is your revenue data?",subheading:"This decides how we connect. You can change it later.",detailLabel:"What you'll connect",detailLabelSoon:"In development",ga4:{title:"Google Analytics 4",tag:"Available now",sub:"Use the analytics you already have.",body:"You already track conversions in GA4. Connect read-only over Google OAuth and we take it from there â no code, no keys to paste, about 5 minutes.",bullets:["Read-only access via Google OAuth â no property ID or keys to paste","One connection per project â reconnect or disconnect anytime","We backfill recent history, then keep it in sync every day"]},revenueStack:{title:"ThriveStack",tag:"Coming soon",sub:"Read payments straight from Stripe.",body:"Revenue lives in Stripe, or you're not tracking conversions in GA4 yet. A lightweight ThriveStack script captures visits and their source, and we read payments straight from Stripe.",bullets:["Actual payment amounts from Stripe, not an estimated deal value","A lightweight script records each visit and where it came from","No GA4 configuration needed"]},pick:"Continue",requestFeature:"Request this",hideRequest:"Hide"},revenueStack:{comingSoon:{label:"Coming soon",heading:"Stripe + ThriveStack is in development",body:"This path reads payments directly from Stripe and attributes them with our own script, so you get real amounts instead of an estimated deal value. It isn't ready yet.",interestHeading:"Want this sooner?",interestBody:"Tell us how you'd use it. We build what gets asked for most, and we'll come back to you when it ships.",upvote:"Upvote this",upvoted:"Upvoted â thanks",useCasePlaceholder:"What would you want to measure? e.g. which AI-cited pages drive paid subscriptions.",submit:"Request feature",submitting:"Sendingâ¦",thanks:"Thanks â that's logged. We'll be in touch when this is ready.",needUseCase:"Add a sentence on your use case so this counts for more than a vote."},script:{label:"Install script",heading:"Add the ThriveStack script",subheading:"One tag in your site's <head>. This is what records the visit and its source.",copy:"Copy script",copied:"Copied",verify:"I've added it â verify",verifying:"Checking for trafficâ¦",verified:"Script detected. Visits are being recorded."},sessionId:{label:"Map sessions",heading:"Stamp the session on the customer",subheading:"Set session_id in Stripe customer metadata when you create the customer. That's the join between a visit we recorded and a payment Stripe recorded â without it a charge can't be traced back to the page that earned it.",keyLabel:"Metadata key",keyValue:"session_id",snippetLabel:"When creating or updating the customer",copy:"Copy",copied:"Copied",verify:"Check for session_id",verifying:"Reading recent customersâ¦",found:"Found session_id on recent customers. Payments can be attributed.",n
1ote:"Same idea as group_id in the Revenue Intelligence Stripe setup â a metadata key we read, never write."},stripe:{label:"Connect Stripe",heading:"Connect Stripe",subheading:"Read-only access to charges and subscriptions. We never move money.",connect:"Connect Stripe",connecting:"Opening Stripeâ¦",connected:function(e){return"Connected to ".concat(e)},scope:"Read-only: charges, subscriptions, customers"}},wizard:{title:"Set up revenue attribution",steps:["Connect GA4","AI channel check","Conversion revenue","What happens next"],back:"Back",next:"Continue",close:"Close",finish:"Finish setup",progress:function(e,t){return"Step ".concat(e," of ").concat(t)},percentComplete:function(e){return"".concat(e,"% complete")},step1:{heading:"Connect Google Analytics",summary:"Sign in with Google and choose the properties to read from.",connectCta:"Sign in with Google",reassurance:"We request read-only access. We never modify your Analytics data.",connecting:"Openingâ¦",wizardConnecting:"Connecting to Google Analyticsâ¦",pickerHeading:"Choose properties",pickerSubheading:"Revenue attribution reads from every property you select.",pickerSearchPlaceholder:"Search properties",uaTooltip:"Universal Analytics is not supported.",accountLabel:function(e){return"Account ".concat(e)},propertyLabel:function(e){return"Property ".concat(e)},sessionsLast30d:function(e){return"".concat(e.toLocaleString()," sessions last 30 days")},copyPropertyId:"Copy property ID",copiedPropertyId:"Copied",multiProperty:"Select every property you want attribution for. You can change this later in settings.",selectedCount:function(e){return"".concat(e," ").concat(1===e?"property":"properties"," selected")},selectAtLeastOne:"Select at least one property to continue.",connectedAs:function(e){return"Connected as ".concat(e)},connectedScope:"Read-only access to Google Analytics",authoriseSyncBody:"One more Google screen. The first connected Analytics so we could read your account; this one authorises the ongoing sync itself.",authoriseSync:"Authorise syncing",authorising:"Opening Googleâ¦",syncAuthorised:"Syncing authorised",reAuthorise:"Re-authorise syncing",disconnect:"Disconnect"},oauth:{demoPill:"DEMO â not a real sign-in",windowLabel:"Google sign-in",chooser:{title:"Choose an account",subtitle:"to continue to CitedBy",useAnother:"Use another account",useAnotherUnavailable:"Adding a new account isn't available in this demo."},consent:{title:"CitedBy wants access to your Google Account",allowIntro:"This will allow CitedBy to:",scopeTitle:"See and download your Google Analytics data",scopeBody:"View your GA4 properties, reports, and configuration. Read-only.",scopeToggle:"Show technical details",trustTitle:"Make sure you trust CitedBy",trustBody:"You may be sharing sensitive info with this site or app. Learn about how CitedBy will handle your data by reviewing its privacy policies. You can always see or remove access in your Google Account.",cancel:"Cancel",confirm:"Continue"},processing:"Redirectingâ¦",errors:{DENIED:{message:"Access was not granted. We need read-only Analytics access to continue.",action:"Try again"},POPUP_CLOSED:{message:"The Google sign-in window was closed before finishing.",action:"Try again"},NO_PROPERTIES:{message:"No GA4 properties found on this account. Try a different Google account, or check that you have at least Viewer access.",action:"Switch account"},INSUFFICIENT_PERMISSION:{message:"This account doesn't have permission to read the property you need. Ask an Administrator for Viewer access in GA4 â Admin â Property access management.",action:"Try again"}}},step2:{heading:"AI channel check",subheading:"We look at how this property classifies traffic from AI answer engines.",checking:"Checking your channel groupsâ¦",missingTitle:"No AI channel found in this property.",missingBody:"GA4 has no channel that captures AI answer engines, so every AI session is currently landing in Referral or Direct. Add one using the rule below.",brokenTitle:"Your AI channel is misconfigured.",brokenIntro:"Two problems detected:",brokenProblems:["Your channel matches on **Default channel group** instead of **Source**. This captures Paid Search and Email instead of AI traffic.","The channel sits below Referral in the ordering, so AI sessions are counted as Referral."],okTitle:"AI channel configured correctly.",okBody:"AI sessions are being classified into their own channel. Moving on.",fixHeading:"Fix instructions",regexLabel:"Source matches regex",copyRegex:"Copy regex",copiedRegex:"Copied",fixSteps:["GA4 â Admin â Data display â Channel groups","Open your custom group â Add new channel â name it `AI Search`","Condition: **Source** â *matches regex* â paste the above","Add a second rule (OR): **Default channel group** â *exactly matches* â `AI Assistant`","Reorder: place directly below Direct, above Paid Search / Organic / Referral"],orderingCallout:"Ordering matters. GA4 stops at the first match â below Referral, the channel reads zero regardless of the regex.",recheck:"I've fixed it â recheck",rechecking:"Recheckingâ¦",skip:"Skip for now"},step3:{heading:"Which events count as conversions?",subheading:"These are the key events we found in your property over the last 90 days.",emptyTitle:"No key events marked in GA4.",emptyBody:"Mark at least one event as a key event in GA4 â Admin â Events. Takes two clicks, no code.",recheck:"Recheck",rechecking:"Recheckingâ¦",atLeastOne:"Select at least one event to continue."},step4:{heading:"What's a conversion worth?",subheading:"We use this to convert counts into revenue. An estimate is fine â you can change it later.",currencyLabel:"Currency",helper:"Not sure? Divide annual new revenue by number of deals closed.",advanced:"Advanced",modelLabel:"Attribution model",modelValue:"First landing page (single-touch)",modelTooltip:"The page that acquired the visitor gets the credit. Pages like /pricing and /demo appear in most journeys and would dominate any other model.",lookbackLabel:"Lookback window",ga4RevenueTitle:"Revenue found in GA4.",ga4RevenueBody:"We'll use actual purchase values instead of an estimated deal value."},step5:{heading:"Group your pages.",subheading:"Individual pages rarely have enough conversions for a stable rate, so we group them by type.",typeHeader:"Type",patternsHeader:"URL patterns",addRow:"Add page type",matchSummary:function(e,t,n){return"Matches ".concat(e.toLocaleStr
1ing()," of ").concat(t.toLocaleString()," pages. ").concat(n.toLocaleString()," fall into Other.")}}},syncing:{eyebrow:"Setup complete",title:"We're building your report",lede:"Your Google Analytics is connected. We're importing your data and building your attribution model now â this is a one-time setup.",started:function(e){return"Started ".concat(e)},phases:{connected:"Connected to Google Analytics",importing:"Importing your Analytics data",ready:"Report ready"},timing:{label:"This takes a little while",body:"Most properties are ready in 10â30 minutes. Larger ones can take a few hours."},notify:{label:"We'll let you know",withEmail:function(e){return"We'll email ".concat(e," the moment your report is ready.")},withRecipients:"We'll email everyone below the moment your report is ready.",noEmail:"We'll email you the moment your report is ready â and this page updates on its own.",addPeople:"Add people",placeholder:"[email protected]",add:"Add",invalid:"Enter a valid email address."},leave:{label:"No need to wait here",body:"You can close this tab and come back anytime. Nothing will be lost."},slow:"This one's taking longer than usual â larger properties can take a few hours. You don't need to wait: we'll email you as soon as it's ready.",previewLabel:"A preview of what's coming"},whatsNext:{heading:"You're connected",summary:"When your data will appear, and what to expect.",steps:[{title:"First sync starts now",body:"We pull your last 30 days of GA4 data to start, then keep it current. The first sync usually takes 10â30 minutes depending on site size."},{title:"Then once every 24 hours",body:"New data appears the following day. This isn't real-time â attribution is a trend view, not a live dashboard."},{title:"Recent days will keep adjusting",body:"Google finalises data over 24â48 hours, so the last two days will shift slightly before settling."}],noteTitle:"We start from your last 30 days.",noteBody:"Attribution begins with the last 30 days of GA4 data and builds forward from there. Traffic older than that isn't included.",noteClosing:"The sooner this runs, the more history you'll have.",startSync:"Create connection",starting:"Creating connectionâ¦",secondConsent:"Syncing was authorised on step 1. This creates the connection and starts the first sync.",started:function(e){return"Sync started ".concat(e)},alreadyConnected:"This property was already connected â we've queued a fresh sync.",startFirst:"Start the sync to begin collecting.",cta:"Go to report"},secretExpired:{title:"Authorisation expired",body:"Google's authorisation for syncing is only valid for a short time and this one has lapsed. Re-authorise to carry on â you'll come straight back to this step and nothing you've entered is lost.",cta:"Re-authorise syncing"},beta:{pill:"Beta",title:"Revenue Attribution is free during beta",body:"Full access is included at no cost while we refine this experience. Paid plans may be introduced later â we'll give you advance notice before any pricing changes take effect.",dismiss:"Dismiss beta notice"},connection:{title:"Attribution connection",openLink:"Manage connection",account:{heading:"Google account",scope:"Read-only access to Google Analytics",disconnect:"Disconnect"},property:{heading:"Properties",name:"Name",id:"Property ID",account:"GA4 account",timeZone:"Reporting timezone",currency:"Currency",timeZoneNote:"Day boundaries follow the property's timezone, not yours.",change:"Change properties"},sync:{heading:"Syncing",cadence:"Every 24 hours"},attribution:{heading:"Attribution",model:"Model",lookback:"Lookback window",lookbackValue:function(e){return"".concat(e," days")}},conversions:{heading:"Conversion events",empty:"No events selected."},pageTypes:{heading:"Page types",other:"Other",otherPatterns:"everything else"},notConnected:"No Analytics property is connected yet."},sync:{indicator:function(e,t){return"Updated ".concat(e," · next sync ").concat(t)},popover:{lastSync:"Last successful sync",nextSync:"Next scheduled sync",dataThrough:"Data through",property:"Property",properties:"Properties",yourTime:"(your time)",note:"Data for the last 2 days may still change as Google finalises it."},failedPill:function(e){return"Sync failed ".concat(e)},failurePanelTitle:"Syncing has stopped",failures:{TOKEN_REVOKED:{message:"Google access was revoked. Reconnect to resume syncing.",action:"Reconnect"},PERMISSION_REMOVED:{message:function(e){return"This account no longer has access to property ".concat(e,". Ask an Administrator to restore Viewer access in GA4 â Admin â Property access management.")},action:null},QUOTA_EXCEEDED:{message:"Google's daily data limit was reached. Syncing resumes automatically tomorrow.",action:null},PROPERTY_DELETED:{message:"This property no longer exists in Google Analytics.",action:"Choose another property"}},staleBanner:function(e){return"These numbers are from ".concat(e,". Syncing has been interrupted â figures may be out of date.")}},report:{editSetup:"Edit setup",dateRangeLabel:"Date range",channelFilterLabel:"Channels",stats:{sessions:"AI Sessions",conversions:"AI Conversions",revenue:"AI Revenue",revPerSession:"Rev / Session",vsPrev:"vs prev period",vsOrganic:function(e){return"vs ".concat(e," Organic")}},trend:{title:"Channel trend",subtitle:"Weekly buckets across AI Search, Direct and Organic.",metrics:{sessions:"Sessions",conversions:"Conversions",revenue:"Revenue"},indexToggle:"Index to 100",indexHint:"Tip: index the view to compare growth rates.",sourceMixLabel:"AI sources",noChannels:"Select at least one channel to plot.",olderWeeks:"Show earlier weeks",newerWeeks:"Show later weeks"}
1,pageTable:{title:"Page performance",subtitle:"AI-sourced sessions by landing page, ranked by revenue.",columns:{page:"Page",type:"Type",sessions:"AI Sessions",conversions:"Conv",cvr:"CVR",valuePerSession:"$/Session",revenue:"Revenue",citedOn:"Cited on"},citedOn:function(e){return"".concat(e," ").concat(1===e?"prompt":"prompts")},notCited:"Not cited",expandPrompts:"Prompts citing this page",sessionsTooltip:"Sessions that arrived from an AI assistant and landed on this page. A floor, not a total â most AI-influenced visits arrive without a referrer and are counted as Direct.",conversionsTooltip:"Key events recorded on this page's AI sessions. AI is roughly 1% of site traffic, so these counts are small and often zero on a page that still earns.",cvrTooltip:"Conversion rate. Key events ÷ sessions for this page, across all traffic.",valuePerSessionTooltip:"Modeled from this page's conversion rate across all traffic, applied to your stated deal value. $/session = CVR à deal value.",revenueTooltip:"AI sessions à $/session for this page.",citedOnTooltip:"Tracked prompts whose AI answer cites this page. This is the join between your visibility data and your revenue data.",noObservedConversions:"No AI conversion recorded in this window.",empty:"No AI-sourced sessions for the selected filters."},pageTypes:{title:"Value by page type",subtitle:"Revenue per AI session, grouped by the page types you defined."}},reportStates:{noData:{title:"No data in this range",body:"The connection is working â there just aren't any AI-sourced sessions in the dates you've selected. Try a wider range."},stale:function(e){return"Data through ".concat(e,". Syncing is running behind, so recent days are missing.")},lowSample:function(e){return"Fewer than ".concat(e.toLocaleString()," conversions in this window. These figures are correct but thin â treat them as directional.")},brandedSearch:"The Organic baseline still includes branded search, so this multiple is understated â the real gap is wider.",excludedSessions:function(e){return"".concat(e.toLocaleString()," sessions fall outside these three channels and aren't plotted.")},badRequest:"Something is wrong with this request. This is a bug on our side, not your setup.",notFetched:"No data fetched.",notFetchedBody:"Nothing came back from the API for this range yet."},pageStates:{noAiTraffic:{title:"No AI traffic in this range",body:"The connection is working â no AI assistant sent anyone to your site in these dates. Try a wider range."},revenueNotConfigured:"Revenue isn't configured yet, so the money columns are empty and can't be sorted. Add a conversion value in setup.",otherBucket:'GA4 collapsed some landing pages into an "(other)" bucket, so this list is incomplete. Narrow the date range to see more of them.',citationsUnavailable:"Citation data is temporarily unavailable, so that column is hidden.",lowSample:function(e){return"Fewer than ".concat(e.toLocaleString()," conversions on this page, so $/session is modelled from its page-type rate rather than the page itself. The value is still shown.")},citationSortScoped:"Sorting by citations orders only the page you're looking at, not the whole list.",unattributed:function(e,t){return"".concat(e.toLocaleString()," conversions couldn't be tied to a landing page").concat(t>0?", and ".concat(t.toLocaleString()," pages are excluded"):""," â which is why this table won't add up to the cards above.")},totalsLabel:"Totals",rowsRange:function(e,t,n){return"".concat(e.toLocaleString(),"â").concat(t.toLocaleString()," of ").concat(n.toLocaleString())},prev:"Previous page",next:"Next page",allPageTypes:"All page types",allVendors:"All sources",viewAllPrompts:function(e){return"View all ".concat(e.toLocaleString()," prompts")},revenueSource:{ga4_native:"From GA4's own revenue.",modeled:"Modelled from this page's conversion rate and your stated deal value.",none:"No revenue could be derived for this page."}},honesty:{floorBanner:"Showing AI traffic that arrives with a referrer. Most AI-influenced visits arrive without one and are counted as Direct. This is a floor, not a total.",floorBannerLink:"Learn more",floorPanel:{title:"Why this is a floor, not a total",sections:[{title:"Referrer stripping",body:"Several AI clients â desktop apps, mobile apps, and some browser configurations â send visitors without a referrer at all. Those sessions arrive as Direct and are indistinguishable from someone typing your URL."},{title:"Google AI Overviews count as Organic",body:"When an AI Overview cites you and the visitor clicks through, GA4 sees a normal google.com organic session. There is no signal that separates it from a blue-link click."},{title:"No platform passes the prompt",body:"No AI answer engine passes the user's question in the referrer or query string. We can tell you a session came from ChatGPT; we cannot tell you what was asked. That join comes from your tracked prompts, not from Analytics."}],closing:"Everything in this report is measured, not modeled from unobserved traffic. When AI's real contribution is larger than what's shown here, we would rather under-report it than guess."},lowSampleTooltip:"Not enough conversions for a reliable rate. Using site average.",skippedFixBanner:"Your GA4 AI channel may be misconfigured â these numbers could include Paid
1Search and Email traffic.",skippedFixCta:"Fix now",attributionModelLabel:"Revenue attributed to first landing page of the visitor's journey."},upgrades:{history:"Showing 90 days. Connect ThriveStack for continuous history â",stripe:"Connect Stripe for actual per-page revenue â"},nonDemo:{title:"Revenue Attribution",body:"Connect Google Analytics to see what your AI visibility earns. Switch to Demo Mode to preview with sample data.",cta:"Preview with Demo Data"}},U="chatgpt\\.com|chat\\.openai\\.com|openai\\.com|perplexity\\.ai|gemini\\.google\\.com|copilot\\.microsoft\\.com|edgeservices\\.bing\\.com|claude\\.ai|you\\.com|deepseek\\.com|grok\\.com|meta\\.ai|mistral\\.ai",q=n(86672);function Y(e){var t=e.open,n=e.title,a=e.onClose,r=e.children,o=e.zClassName,s=void 0===o?"z-[1000]":o;return(0,c.useEffect)(function(){if(t&&"undefined"!=typeof document){var e=function(e){"Escape"===e.key&&a()};document.addEventListener("keydown",e);var n=document.body.style.overflow;return document.body.style.overflow="hidden",function(){document.removeEventListener("keydown",e),document.body.style.overflow=n}}},[t,a]),t&&"undefined"!=typeof document?(0,q.createPortal)(c.createElement("div",{className:"fixed inset-0 ".concat(s)},c.createElement("div",{className:"absolute inset-0 bg-slate-900/40 backdrop-blur-[2px]",onClick:a}),c.createElement("aside",{role:"dialog","aria-label":n,className:"absolute inset-y-0 right-0 flex w-full max-w-[440px] flex-col bg-white shadow-2xl"},c.createElement("header",{className:"flex items-start justify-between gap-4 border-b border-gray-200 px-6 py-4"},c.createElement("h2",{className:"text-[15px] font-semibold text-gray-900"},n),c.createElement("button",{type:"button",onClick:a,"aria-label":"Close",className:"-mr-1 rounded-md p-1 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600"},c.createElement(p.X,{className:"h-4 w-4",strokeWidth:2}))),c.createElement("div",{className:"flex-1 overflow-y-auto px-6 py-5"},r))),document.body):null}var K="".concat("accounts.google.example","/o/oauth2/auth"),H=450,V=600,Q=800,X=1200,$=[{id:"acct-work",name:"Priya Sharma",email:"[email protected]",initials:"PS",color:"#2F54EB"},{id:"acct-personal",name:"Priya Sharma",email:"[email protected]",initials:"PS",color:"#5B9A5E"}],Z=[{accountName:"ThriveStack Corporation",accountId:"105560568",properties:[{id:"properties/411273625",propertyId:"411273625",name:"Thrivestack Website",kind:"GA4",timeZone:"America/Los_Angeles",currencyCode:"USD",sessionsLast30d:284109,supported:!0},{id:"properties/411290117",propertyId:"411290117",name:"ThriveStack Docs",kind:"GA4",timeZone:"America/Los_Angeles",currencyCode:"USD",sessionsLast30d:41882,supported:!0},{id:"properties/UA-88213-1",propertyId:"UA-88213-1",name:"ThriveStack Blog (legacy)",kind:"UA",timeZone:"America/Los_Angeles",currencyCode:"USD",sessionsLast30d:null,supported:!1,unsupportedReason:"Universal Analytics is not supported"}]},{accountName:"ThriveStack EU",accountId:"112904471",properties:[{id:"properties/401229337",propertyId:"401229337",name:"ThriveStack DE",kind:"GA4",timeZone:"Europe/Berlin",currencyCode:"EUR",sessionsLast30d:9204,supported:!0}]}];function ee(e){var t=new Set(e);return Z.flatMap(function(e){return e.properties}).filter(function(e){return t.has(e.id)})}var te=["DENIED","POPUP_CLOSED","NO_PROPERTIES","INSUFFICIENT_PERMISSION"];function ne(e,t,n,a){var r=new Date(e);return r.setDate(r.getDate()+t),r.setHours(n,a,0,0),r}function ae(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=new Date;return"HEALTHY"===e?{health:e,lastSyncAt:ne(n,0,4,12),nextSyncAt:ne(n,1,4,12),dataThrough:ne(n,-1,23,59),failureCause:null}:{health:e,lastSyncAt:ne(n,-3,4,12),nextSyncAt:ne(n,1,4,12),dataThrough:ne(n,-4,23,59),failureCause:"FAILED"===e?null!=t?t:"TOKEN_REVOKED":null}}var re=[{value:"HEALTHY",label:"Healthy"},{value:"SYNCING",label:"Syncing"},{value:"SYNCING_SLOW",label:"Syncing (slow)"},{value:"STALE",label:"Stale"},{value:"FAILED_TOKEN",label:"Failed â token revoked"},{value:"FAILED_PERMISSION",label:"Failed â permission removed"},{value:"FAILED_QUOTA",label:"Failed â quota exceeded"}
1,{value:"FAILED_DELETED",label:"Failed â property deleted"}],oe={FAILED_TOKEN:"TOKEN_REVOKED",FAILED_PERMISSION:"PERMISSION_REMOVED",FAILED_QUOTA:"QUOTA_EXCEEDED",FAILED_DELETED:"PROPERTY_DELETED"};function se(e){return e.toLocaleString(void 0,{day:"numeric",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit"})}function ie(e){return e.toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}function le(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,n=Math.round((t.getTime()-e.getTime())/6e4);if(n<1)return"just now";if(n<60)return"".concat(n," minute").concat(1===n?"":"s"," ago");var a=Math.round(n/60);if(a<24)return"".concat(a," hour").concat(1===a?"":"s"," ago");var r=Math.round(a/24);return"".concat(r," day").concat(1===r?"":"s"," ago")}function ce(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function Ae(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ce(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ce(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var pe={comparison:"Comparison",pricing:"Pricing",integration:"Integration",content:"Content",other:"Other"},de={ai:"AI Search",direct:"Direct",organic:"Organic"},ue={ai:"#2F54EB",direct:"#8C8C8C",organic:"#5B9A5E"},me=90,xe=3284,ge=2329,fe=47,he=37,Ce=376e3,ve=287e3,be=185098,ye=183640,we=80607,ke=78920,Ee=29556,Be=38.2,Ne=46.8,Se={lead:8e3,signup:600},Ie=114.5,Oe=[{name:"ChatGPT",share:.62,color:"#2F54EB"},{name:"Gemini",share:.21,color:"#597EF7"},{name:"Perplexity",share:.11,color:"#85A5FF"},{name:"Claude",share:.04,color:"#ADC6FF"},{name:"Other",share:.02,color:"#D6E4FF"}];function Te(e,t){var n=e.reduce(function(e,t){return e+t},0);if(n<=0)return e.map(function(){return 0});for(var a=e.map(function(e){return e/n*t}),r=a.map(function(e){return Math.floor(e)}),o=t-r.reduce(function(e,t){return e+t},0),s=a.map(function(e,t){return{i:t,frac:e-Math.floor(e)}}).sort(function(e,t){return t.frac-e.frac||e.i-t.i}),i=0;o>0;i++,o--)r[s[i%s.length].i]+=1;return r}var De=[{path:"/compare/thrivestack-vs-amplitude",title:"ThriveStack vs Amplitude",type:"comparison",aiWeight:420,allSessions:8300,vps:208,conv:"lead"},{path:"/compare/thrivestack-vs-mixpanel",title:"ThriveStack vs Mixpanel",type:"comparison",aiWeight:310,allSessions:7100,vps:185,conv:"lead"},{path:"/compare/thrivestack-vs-heap",title:"ThriveStack vs Heap",type:"comparison",aiWeight:190,allSessions:6e3,vps:168,conv:"lead"},{path:"/compare/thrivestack-vs-june",title:"ThriveStack vs June",type:"comparison",aiWeight:96,allSessions:5500,vps:144,conv:"lead"},{path:"/vs/segment",title:"ThriveStack vs Segment",type:"comparison",aiWeight:168,allSessions:5400,vps:176,conv:"lead"},{path:"/vs/posthog",title:"ThriveStack vs PostHog",type:"comparison",aiWeight:142,allSessions:5300,vps:161,conv:"lead"},{path:"/alternatives/amplitude",title:"Amplitude alternatives",type:"comparison",aiWeight:205,allSessions:5900,vps:195,conv:"lead"},{path:"/alternatives/mixpanel",title:"Mixpanel alternatives",type:"comparison",aiWeight:134,allSessions:4700,vps:174,conv:"lead"},{path:"/alternatives/pendo",title:"Pendo alternatives",type:"comparison",aiWeight:88,allSessions:5e3,vps:148,conv:"lead"},{path:"/pricing",title:"Pricing",type:"pricing",aiWeight:395,allSessions:15900,vps:143,conv:"lead"},{path:"/pricing/enterprise",title:"Enterprise pricing",type:"pricing",aiWeight:112,allSessions:4200,vps:227,conv:"lead"},{path:"/pricing/startups",title:"Startup pricing",type:"pricing",aiWeight:74,allSessions:3e3,vps:64,conv:"lead"},{path:"/integrations/segment",title:"Segment integration",type:"integration",aiWeight:126,allSessions:7900,vps:103,conv:"lead"},{path:"/integrations/snowflake",title:"Snowflake integration",type:"integration",aiWeight:98,allSessions:6500,vps:115,conv:"lead"},{path:"/integrations/hubspot",title:"HubSpot integration",type:"integration",aiWeight:110,allSessions:8300,vps:95,conv:"lead"},{path:"/integrations/salesforce",title:"Salesforce integration",type:"integration",aiWeight:86,allSessions:6400,vps:119,conv:"lead"}
1,{path:"/integrations/stripe",title:"Stripe integration",type:"integration",aiWeight:64,allSessions:8600,vps:86,conv:"lead"},{path:"/integrations/webhooks",title:"Webhooks",type:"integration",aiWeight:41,allSessions:3100,vps:70,conv:"lead"},{path:"/blog/what-is-a-cdp",title:"What is a CDP?",type:"content",aiWeight:286,allSessions:17500,vps:7.2,conv:"signup"},{path:"/blog/product-led-growth-metrics",title:"PLG metrics that matter",type:"content",aiWeight:178,allSessions:4100,vps:24,conv:"signup"},{path:"/blog/plg-vs-sales-led",title:"PLG vs sales-led",type:"content",aiWeight:131,allSessions:2900,vps:38,conv:"signup"},{path:"/blog/activation-rate-benchmarks",title:"Activation rate benchmarks",type:"content",aiWeight:104,allSessions:2600,vps:31,conv:"signup"},{path:"/blog/self-serve-onboarding",title:"Self-serve onboarding",type:"content",aiWeight:77,allSessions:3600,vps:19,conv:"signup"},{path:"/blog/free-trial-vs-freemium",title:"Free trial vs freemium",type:"content",aiWeight:69,allSessions:2700,vps:27,conv:"signup"},{path:"/blog/north-star-metric",title:"Choosing a north star metric",type:"content",aiWeight:58,allSessions:4200,vps:14,conv:"signup"},{path:"/blog/saas-retention-curves",title:"Reading retention curves",type:"content",aiWeight:34,allSessions:1800,vps:20,conv:"signup"},{path:"/glossary/product-qualified-lead",title:"Product qualified lead",type:"content",aiWeight:92,allSessions:4e3,vps:16,conv:"signup"},{path:"/glossary/time-to-value",title:"Time to value",type:"content",aiWeight:61,allSessions:5200,vps:11,conv:"signup"},{path:"/glossary/activation",title:"Activation",type:"content",aiWeight:47,allSessions:6200,vps:9,conv:"signup"},{path:"/glossary/customer-data-platform",title:"Customer data platform",type:"content",aiWeight:55,allSessions:4900,vps:12,conv:"signup"},{path:"/glossary/reverse-etl",title:"Reverse ETL",type:"content",aiWeight:23,allSessions:1500,vps:11,conv:"signup"},{path:"/",title:"Home",type:"other",aiWeight:248,allSessions:34e3,vps:76,conv:"lead"},{path:"/product/analytics",title:"Product analytics",type:"other",aiWeight:143,allSessions:12300,vps:88,conv:"lead"},{path:"/product/attribution",title:"Attribution",type:"other",aiWeight:118,allSessions:9100,vps:100,conv:"lead"},{path:"/demo",title:"Book a demo",type:"other",aiWeight:96,allSessions:3600,vps:292,conv:"lead"},{path:"/customers/fivex",title:"FiveX case study",type:"other",aiWeight:63,allSessions:2600,vps:64,conv:"lead"},{path:"/customers/orderly",title:"Orderly case study",type:"other",aiWeight:27,allSessions:1200,vps:58,conv:"lead"},{path:"/docs/quickstart",title:"Quickstart",type:"other",aiWeight:71,allSessions:24e3,vps:31,conv:"lead"},{path:"/docs/sdk/javascript",title:"JavaScript SDK",type:"other",aiWeight:29,allSessions:4e3,vps:28,conv:"lead"},{path:"/security",title:"Security",type:"other",aiWeight:21,allSessions:900,vps:92,conv:"lead"},{path:"/about",title:"About",type:"other",aiWeight:38,allSessions:5e3,vps:19,conv:"lead"}],ze={"/compare/thrivestack-vs-amplitude":["best amplitude alternative for product led growth","thrivestack vs amplitude pricing","is amplitude worth it for a seed stage saas","amplitude competitors 2026","which product analytics tool has built in attribution","cheapest amplitude replacement","thrivestack or amplitude for b2b saas","amplitude alternatives with plg metrics"],"/compare/thrivestack-vs-mixpanel":["mixpanel vs thrivestack","mixpanel alternatives for b2b saas","product analytics tools compared 2026","is mixpanel good for account level analytics","mixpanel pricing too expensive alternatives","best mixpanel competitor"],"/compare/thrivestack-vs-heap":["heap analytics alternatives","heap vs thrivestack autocapture","does heap support account level reporting","heap competitors for plg"],"/compare/thrivestack-vs-june":["june.so alternatives","june vs thrivestack","best june alternative for b2b"],"/vs/segment":["do i need segment if i have product analytics","segment alternatives cheaper","thrivestack vs segment cdp","segment competitors 2026","cdp vs product analytics"],"/vs/posthog":["posthog vs thrivestack","posthog alternatives for b2b saas","is posthog good for account based analytics","posthog competitors"],"/alternatives/amplitude":["amplitude alternatives","top 5 amplitude alternatives 2026","amplitude replacement for startups","free amplitude alternative","amplitude alternatives with revenue attribution","who competes with amplitude"],"/alternatives/mixpanel":["mixpanel alternatives 2026","open source mixpanel alternative","mixpanel replacement b2b"],"/alternatives/pendo":["pendo alternatives","pen
1do vs product analytics tools"],"/pricing":["thrivestack pricing","how much does thrivestack cost","product analytics pricing comparison","thrivestack free tier limits","cheapest product analytics for startups","thrivestack enterprise pricing","does thrivestack charge per event"],"/pricing/enterprise":["thrivestack enterprise plan","product analytics enterprise pricing"],"/pricing/startups":["product analytics for startups free","thrivestack startup discount"],"/integrations/segment":["thrivestack segment integration","send segment data to thrivestack"],"/integrations/snowflake":["product analytics that reads from snowflake","thrivestack snowflake setup"],"/integrations/hubspot":["sync product usage to hubspot","thrivestack hubspot integration"],"/integrations/salesforce":["push plg signals to salesforce","thrivestack salesforce sync"],"/integrations/stripe":["connect stripe revenue to product analytics"],"/integrations/webhooks":["thrivestack webhooks docs"],"/blog/what-is-a-cdp":["what is a cdp","customer data platform explained","cdp vs dmp difference","do i need a customer data platform","what does a cdp actually do","cdp definition marketing","is segment a cdp","cdp vs data warehouse","customer data platform for small business","how does a cdp work","cdp benefits and drawbacks","difference between cdp and crm"],"/blog/product-led-growth-metrics":["plg metrics to track","product led growth kpis","what is a good activation rate","how to measure product led growth","plg north star metrics"],"/blog/plg-vs-sales-led":["product led vs sales led growth","when to switch from plg to sales led","plg vs sales led saas"],"/blog/activation-rate-benchmarks":["average saas activation rate","activation rate benchmark b2b"],"/blog/self-serve-onboarding":["saas self serve onboarding best practices"],"/blog/free-trial-vs-freemium":["free trial or freemium for b2b saas","freemium vs free trial conversion rates"],"/blog/north-star-metric":["how to pick a north star metric"],"/glossary/product-qualified-lead":["what is a pql","product qualified lead definition","pql vs mql"],"/glossary/time-to-value":["what is time to value","how to reduce time to value saas"],"/glossary/activation":["what is activation in saas"],"/glossary/customer-data-platform":["customer data platform meaning","cdp glossary"],"/":["what is thrivestack","thrivestack review"],"/product/analytics":["thrivestack product analytics features","account level product analytics"],"/product/attribution":["multi touch attribution for b2b saas","thrivestack attribution","attribution without a crm"],"/demo":["book a thrivestack demo"],"/customers/fivex":["thrivestack case study"],"/docs/quickstart":["thrivestack setup guide","how to install thrivestack"]},Je=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Pe(e){return"".concat(e.getFullYear(),"-").concat(String(e.getMonth()+1).padStart(2,"0"),"-").concat(String(e.getDate()).padStart(2,"0"))}function We(e,t,n,a,r){var o=function(e){var t=e>>>0;return function(){t=t+1831565813>>>0;var e=Math.imul(t^t>>>15,1|t);return(((e=e+Math.imul(e^e>>>7,61|e)^e)^e>>>14)>>>0)/4294967296}}(r);return t.slice(0,e).map(function(t,r){var s,i=n+(a-n)*(1===e?0:r/(e-1)),l=.9+.2*o();return i*(0===(s=t.getDay())?.58:6===s?.62:5===s?.94:1.13)*l})}function Re(e){for(var t=[],n=e.length%7;n<e.length;n+=7){var a=e.slice(n,n+7),r=a[0],o=r.date.split("-"),i=(0,s.A)(o,3),l=i[1],c=i[2];t.push({label:"".concat(Je[Number(l)-1]," ").concat(Number(c)),date:r.date,ai:a.reduce(function(e,t){return e+t.ai},0),direct:a.reduce(function(e,t){return e+t.direct},0),organic:a.reduce(function(e,t){return e+t.organic},0)})}return t}function Le(e){var t=function(e,t){for(var n=[],a=t-1;a>=0;a--){var r=new Date(e);r.setDate(r.getDate()-a),n.push(r)}return n}(e,me),n=Te(We(me,t,.83,1.17,6221057),xe),a=Te(We(me,t,1.01,.99,6221058),be),r=Te(We(me,t,.98,1.02,6221059),we),o=t.map(function(e,t){return{date:Pe(e),ai:n[t],direct:r[t],organic:a[t]}}),s=Math.round(be*Be/Se.lead),i=Math.round(we*Ne/Se.lead),l=Te(n.map(function(e,t){return e*(1+t/me*.05)}),fe),c=Te(a,s),A=Te(r,i),p=t.map(function(e,t){return{date:Pe(e),ai:l[t],direct:A[t],organic:c[t]}}),d=Te(n,Ce),u=Te(a,Math.round(be*Be)),m=Te(r,Math.round(we*Ne)),x=t.map(function(e,t){return{date:Pe(e),ai:d[t],direct:m[t],organic:u[t]}}),g=Te(De.map(function(e){return e.aiWeight}),xe),f=xe+be+we+Ee,h=De.map(function(e){var t=e.vps/3/Se[e.conv];return Math.round(e.allSessions*t)}),C=h.map(function(e){return e<30}),v=Te(De.map(function(e,t){var n=C[t]?Ie:e.vps;return g[t]*n}),Ce),b=Te(De.map(function(e,t){return v[t]/Se[e.conv]}),fe),y=De.map(function(e,t){var n,a=g[t],r=null!==(n=ze[e.path])&&void 0!==n?n:[];return{path:e.path,title:e.title,type:e.type,aiSessions:a,aiConversions:b[t],cvr:a>0?b[t]/a:0,valuePerSession:C[t]?null:v[t]/Math.max(a,1),revenue:v[t],totalConversions:h[t],lowConfidence:C[t],citedPromptCount:r.length,prompts:r}}).sort(function(e,t){return t.revenue-e.revenue}),w=Object.keys(pe).map(function(e){var t=y.filter(function(t){return t.type===e}),n=t.reduce(function(e,t){return e+t.aiSessions},0),a=t.reduce(function(e,t){return e+t.revenue},0),r=t.reduce(function(e,t){return e+t.totalConversions},0),o=r<30;return{type:e,label:pe[e],aiSessions:n,aiConversions:t.reduce(function(e,t){return e+t.aiConversions},0),totalConversions:r,revenue:a,valuePerSession:o||0===n?null:a/n,lowConfidence:o}}),k=function(e,t,n){return{sessions:e,conversions:t,revenue:n,valuePerSession:e>0?n/e:0}},E={ai:k(xe,fe,Ce),organic:k(be,s,Math.round(be*Be)),direct:k(we,i,Math.round(we*Ne))},B={ai:k(ge,he,ve),organic:k(ye,Math.round(ye*Be/Se.lead),Math.round(ye*Be)),direct:k(ke,Math.round(ke*Ne/Se.lead),Math.round(ke*Ne))},N=function(e,t){return 0===t?0:(e-t)/t};return{windowDays:me,daily:{sessions:o,conversions:p,revenue:x},weekly:{sessions:Re(o),conversions:Re(p),revenue:Re(x)},current:E,previous:B,delta:{sessions:N(E.ai.sessions,B.ai.sessions),conversions:N(E.ai.conversions,B.ai.conversions),revenue:N(E.ai.revenue,B.ai.revenue),revPerSession:E.ai.valuePerSession/E.organic.valuePerSession},pages:y,pageTypes:w,aiShareOfSessions:xe/f,sourceMix:Oe.map(function(e){return Ae(Ae({},e),{},{sessions:Math.round(xe*e.share)})})}}var Fe=null;var Ge=[{name:"generate_lead",count90d:1284,defaultSelected:!0,defaultValue:8e3,revenue9
10d:128400},{name:"sign_up",count90d:412,defaultSelected:!0,defaultValue:600,revenue90d:47600},{name:"newsletter_signup",count90d:3901,defaultSelected:!1,defaultValue:50,revenue90d:4100},{name:"file_download",count90d:2110,defaultSelected:!1,defaultValue:120,revenue90d:12800}],je=[{id:"comparison",type:"Comparison",patterns:["/compare/*","/vs/*","/alternatives/*"],matchedPages:186,removable:!0},{id:"pricing",type:"Pricing",patterns:["/pricing*"],matchedPages:9,removable:!0},{id:"integration",type:"Integration",patterns:["/integrations/*"],matchedPages:142,removable:!0},{id:"content",type:"Content",patterns:["/blog/*","/glossary/*"],matchedPages:1510,removable:!0}];function _e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function Me(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_e(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_e(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ue=[{code:"USD",symbol:"$"},{code:"EUR",symbol:"â¬"},{code:"GBP",symbol:"£"},{code:"INR",symbol:"â¹"}];function qe(e){var t,n;return null!==(t=null===(n=Ue.find(function(t){return t.code===e}))||void 0===n?void 0:n.symbol)&&void 0!==t?t:"$"}function Ye(){return{step:1,setupPath:null,connected:!1,propertyIds:[],googleAccountEmail:null,channelOutcome:null,channelFixed:!1,channelAutoAdvanced:!1,channelSkipped:!1,completedSteps:[],selectedEvents:Ge.filter(function(e){return e.defaultSelected}).map(function(e){return e.name}),currency:"USD",eventValues:Object.fromEntries(Ge.map(function(e){return[e.name,e.defaultValue]})),hasGa4Revenue:!1,lookbackDays:90,rules:je.map(function(e){return Me(Me({},e),{},{patterns:(0,o.A)(e.patterns)})}),devChannelOutcome:"BROKEN",devNoKeyEvents:!1,devGa4Revenue:!1,devOauthError:null,devSyncState:"HEALTHY"}}function Ke(e){return{setupPath:e.setupPath,connected:e.connected,propertyIds:e.propertyIds,googleAccountEmail:e.googleAccountEmail,channelOutcome:e.channelOutcome,channelFixed:e.channelFixed,channelSkipped:e.channelSkipped,completedSteps:e.completedSteps,selectedEvents:e.selectedEvents,currency:e.currency,eventValues:e.eventValues,hasGa4Revenue:e.hasGa4Revenue,lookbackDays:e.lookbackDays,rules:e.rules}}function He(e){var t=Ye();return e?Me(Me(Me({},t),e),{},{step:1,rules:Array.isArray(e.rules)?e.rules.map(function(e){return Me(Me({},e),{},{patterns:(0,o.A)(e.patterns)})}):t.rules}):t}var Ve="citedby.revenueAttribution.setup";function Qe(e){if("undefined"!=typeof window)try{window.localStorage.setItem(Ve,JSON.stringify(e))}catch(e){}}function Xe(e){return new Promise(function(t){return setTimeout(t,e)})}function $e(e){var t=e.heading,n=e.children;return c.createElement("section",{className:"border-b border-gray-100 pb-5 last:border-b-0 last:pb-0"},c.createElement("h3",{className:"text-[11px] font-semibold uppercase tracking-wide text-gray-400"},t),c.createElement("div",{className:"mt-2.5 space-y-1.5"},n))}function Ze(e){var t=e.label,n=e.value;return c.createElement("div",{className:"flex items-baseline justify-between gap-4"},c.createElement("span",{className:"flex-none text-[12px] text-gray-500"},t),c.createElement("span",{className:"min-w-0 break-words text-right text-[12.5px] text-gray-900"},n))}const et=function(e){var t,n=e.open,a=e.onClose,r=e.setup,o=e.syncStatus,s=e.onChangeProperties,i=e.onDisconnect,l=M.connection,A=ee(r.propertyIds),p=qe(r.currency);return c.createElement(Y,{open:n,title:l.title,onClose:a},r.connected&&0!==A.length?c.createElement("div",{className:"space-y-5"},c.createElement($e,{heading:l.account.heading},c.createElement(Ze,{label:"Email",value:null!==(t=r.googleAccountEmail)&&void 0!==t?t:"â"}),c.createElement(Ze,{label:"Access",value:l.account.scope}),c.createElement("button",{type:"button",onClick:i,className:"text-[12px] font-medium text-red-600 transition-colors hover:text-red-700"},l.account.disconnect)),c.createElement($e,{heading:l.property.heading},A.map(function(e){return c.createElement("div",{key:e.id,className:"rounded-lg border border-gray-200 p-3"},c.createElement("p",{className:"text-[13px] font-medium text-gray-900"},e.name),c.createElement("div",{className:"mt-1.5 space-y-1"},c.createElement(Ze,{label:l.property.id,value:c.createElement("span",{className:"font-mono"},e.propertyId)}),c.createElement(Ze,{label:l.property.account,value:(t=e.id,n=Z.find(function(e){return e.properties.some(function(e){return e.id===t})}),n?"".concat(n.accountName," · ").concat(n.accountId):"â")}),c.createElement(Ze,{label:l.property.timeZone,value:e.timeZone}),c.createElement(Ze,{label:l.property.currency,value:e.currencyCode})));var t,n}),c.createElement("p",{className:"pt-1 text-[11.5px] text-gray-500"},l.property.timeZoneNote),c.createElement("button",{type:"button",onClick:s,className:"text-[12px] font-medium text-geekblue-600 transition-colors hover:text-geekblue-700"},l.property.change)),c.createElement($e,{heading:l.sync.heading},c.createElement(Ze,{label:M.sync.popover.lastSync,value:se(o.lastSyncAt)}),c.createElement(Ze,{label:M.sync.popover.nextSync,value:se(o.nextSyncAt)}),c.createElement(Ze,{label:M.sync.popover.dataThrough,value:ie(o.dataThrough)}),c.createElement(Ze,{label:"Frequency",value:"".concat(l.sync.cadence," (").concat(24,"h)")})),c.createElement($e,{heading:l.attribution.heading},c.createElement(Ze,{label:l.attribution.model,value:M.wizard.step4.modelValue}),c.createElement(Ze,{label:l.attribution.lookback,value:l.attribution.lookbackValue(r.lookbackDays)})),c.createElement($e,{heading:l.conversions.heading},0===r.selectedEvents.length?c.createElement("p",{className:"text-[12.5px] text-gray-500"},l.conversions.empty):r.selectedEvents.map(function(e){var t,n=null!==(t=r.eventValues[e])&&void 0!==t?t:0;return c.createElement(Ze,{key:e,label:c.createElement("span",{className:"font-mono"},e),value:n>
10?"".concat(p).concat(n.toLocaleString()):""})})),c.createElement($e,{heading:l.pageTypes.heading},r.rules.map(function(e){return c.createElement(Ze,{key:e.id,label:e.type||"â",value:c.createElement("span",{className:"font-mono text-[11.5px]"},e.patterns.join(", "))})}),c.createElement(Ze,{label:l.pageTypes.other,value:c.createElement("span",{className:"italic text-gray-500"},l.pageTypes.otherPatterns)}))):c.createElement("p",{className:"text-[12.5px] text-gray-500"},l.notConnected))};var tt,nt,at,rt,ot,st=n(56525),it=n(30721),lt=n(97897),ct=n(74381);function At(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function pt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?At(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):At(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ut(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ut(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){i=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(i)throw o}}}}function ut(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function mt(e,t){var n,a=e;return(null==a||null===(n=a.graphQLErrors)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.message)||(null==a?void 0:a.message)||t}var xt=(0,lt.gql)(tt||(tt=(0,it.A)(["\n mutation ExchangeGoogleAnalyticsCode($input: ExchangeGoogleAnalyticsCodeInput!) {\n exchangeGoogleAnalyticsCode(input: $input) {\n refreshToken\n accessToken\n expiresIn\n grantedScopes\n hasAnalyticsScope\n }\n }\n"])));function gt(){return(gt=(0,a.A)(l().mark(function e(t,n){var a,r,o,s;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=1,ct.k3.mutate({mutation:xt,variables:{input:{code:t,redirectUri:n}},fetchPolicy:"no-cache"});case 1:if(r=e.sent,o=null===(a=r.data)||void 0===a?void 0:a.exch
1angeGoogleAnalyticsCode){e.next=2;break}return e.abrupt("return",{ok:!1,message:"The connection did not complete. Please try again."});case 2:return e.abrupt("return",{ok:!0,data:o});case 3:return e.prev=3,s=e.catch(0),e.abrupt("return",{ok:!1,message:mt(s,"Could not complete the Google Analytics connection.")});case 4:case"end":return e.stop()}},e,null,[[0,3]])}))).apply(this,arguments)}var ft=(0,lt.gql)(nt||(nt=(0,it.A)(["\n query GoogleAnalyticsSetupDetails($input: GoogleAnalyticsSetupDetailsInput!) {\n googleAnalyticsSetupDetails(input: $input) {\n canProceed\n remainingQuota\n accounts {\n accountId\n accountName\n properties {\n propertyId\n displayName\n propertyType\n }\n }\n propertyDetails {\n propertyId\n displayName\n timeZone\n currencyCode\n createTime\n industry\n serviceLevel\n accountId\n propertyType\n }\n channelConfig {\n status\n nativeChannelPresent\n nativeChannelCoverage\n totalAiSessions\n problems\n aiSources {\n source\n sessions\n landedIn\n }\n }\n keyEvents {\n hasAnyKeyEvents\n totalKeyEvents30d\n keyEvents {\n name\n count\n keyEventCount\n }\n otherEvents {\n name\n count\n keyEventCount\n }\n suggestedKeyEvents\n }\n revenue {\n propertyId\n currency\n period {\n start\n end\n }\n hasKeyEvents\n hasGa4Revenue\n conversionEvents {\n name\n eventCount\n keyEvents\n totalRevenue\n eventValue\n revenueSource\n needsStatedValue\n }\n otherEvents {\n name\n count\n keyEventCount\n }\n totalRevenue90d\n totalEventValue90d\n purchaseRevenue90d\n }\n volume {\n sessions30d\n keyEvents30d\n sufficientForPageLevel\n minKeyEventsForPageLevel\n }\n pageCardinality {\n uniquePages\n otherBucketPresent\n atRisk\n rowLimit\n reportedRowCount\n }\n aiSourceMix {\n totalAiSessions30d\n totalSessions30d\n aiShareOfTotal\n totalAiKeyEvents30d\n byVendor {\n vendor\n sessions\n keyEvents\n rawSources\n }\n }\n errors {\n probe\n code\n message\n actionRequired\n tenantActionable\n blocking\n }\n warnings {\n probe\n code\n message\n actionRequired\n tenantActionable\n blocking\n }\n }\n }\n"])));function ht(e){return Ct.apply(this,arguments)}function Ct(){return(Ct=(0,a.A)(l().mark(function e(t){var n,a,r,o,s;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=Ft()){e.next=1;break}return e.abrupt("return",{ok:!1,message:"No environment selected â can't read your Analytics setup."});case 1:return e.prev=1,e.next=2,ct.k3.query({query:ft,variables:{input:pt(pt({environmentId:n,refreshToken:t.refreshToken},t.propertyId?{propertyId:t.propertyId}:{}),t.forceRefresh?{forceRefresh:!0}:{})},fetchPolicy:"no-cache"});case 2:if(r=e.sent,o=null===(a=r.data)||void 0===a?void 0:a.googleAnalyticsSetupDetails){e.next=3;break}return e.abrupt("return",{ok:!1,message:"No setup details returned."});case 3:return e.abrupt("return",{ok:!0,data:o});case 4:return e.prev=4,s=e.catch(1),e.abrupt("return",{ok:!1,message:mt(s,"Could not read your Google Analytics setup.")});case 5:case"end":return e.stop()}},e,null,[[1,4]])}))).apply(this,arguments)}var vt=(0,lt.gql)(at||(at=(0,it.A)(["\n query GoogleAnalyticsChannelGroups($input: GoogleAnalyticsChannelGroupsInput!) {\n googleAnalyticsChannelGroups(input: $input) {\n channelGroups {\n channelGroupId\n propertyId\n displayName\n systemDefined\n primary\n rules {\n displayName\n conditionsTruncated\n conditions {\n fieldName\n matchType\n values\n negated\n isRegex\n }\n }\n }\n error {\n probe\n code\n message\n actionRequired\n tenantActionable\n blocking\n }\n }\n }\n"])));function bt(e){return yt.apply(this,arguments)}function yt(){return(yt=(0,a.A)(l().mark(function e(t){var n,a,r,o,s,i;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=Ft()){e.next=1;break}return e.abrupt("return",{ok:!1,message:"No environment selected â can't read your channel groups."});case 1:return e.prev=1,e.next=2,ct.k3.query({query:vt,variables:{input:pt({environmentId:n,refreshToken:t.refreshToken,propertyId:t.propertyId},t.forceRefresh?{forceRefresh:!0}:{})},fetchPolicy:"no-cache"});case 2:if(o=e.sent,s=null===(a=o.data)||void 0===a?void 0:a.googleAnalyticsChannelGroups){e.next=3;break}return e.abrupt("return",{ok:!1,message:"No channel groups returned."});case 3:if(!s.error){e.next=4;break}return e.abrupt("return",{ok:!1,message:s.error.message||"Could not read your channel groups."});case 4:return e.abrupt("return",{ok:!0,data:null!==(r=s.channelGroups)&&void 0!==r?r:[]});case 5:return e.prev=5,i=e.catch(1),e.abrupt("return",{ok:!1,message:mt(i,"Could not read your Google Analytics channel groups.")});case 6:case"end":return e.stop()}},e,null,[[1,5]])}))).apply(this,arguments)}function wt(e){return e.replace(/\\/g,"").trim().toLowerCase()}function kt(e){var t,n=Array.from(new Set(U.split("|").map(wt).filter(
1Boolean))),a=(new Set(n),null),r=function(e){return n.filter(function(t){return e.has(t)}).length},o=dt(e);try{for(o.s();!(t=o.n()).done;){var s,i=dt(t.value.rules);try{for(i.s();!(s=i.n()).done;){var l,c=s.value,A=new Set,p=dt(c.conditions);try{for(p.s();!(l=p.n()).done;){var d=l.value;if(!d.negated){var u,m=dt(d.values);try{for(m.s();!(u=m.n()).done;){var x,g=dt(u.value.split("|"));try{for(g.s();!(x=g.n()).done;){var f=wt(x.value);f&&A.add(f)}}catch(e){g.e(e)}finally{g.f()}}}catch(e){m.e(e)}finally{m.f()}}}}catch(e){p.e(e)}finally{p.f()}var h=r(A);h>0&&(!a||h>r(a.present))&&(a={name:c.displayName,present:A})}}catch(e){i.e(e)}finally{i.f()}}}catch(e){o.e(e)}finally{o.f()}if(!a)return{outcome:"MISSING",missing:n,matchedChannel:null};var C=a,v=n.filter(function(e){return!C.present.has(e)});return{outcome:0===v.length?"OK":"BROKEN",missing:v,matchedChannel:C.name}}var Et=(0,lt.gql)(rt||(rt=(0,it.A)(["\n mutation GoogleAnalyticsOAuthInit($input: GoogleAnalyticsOAuthInitInput!) {\n googleAnalyticsOAuthInit(input: $input) {\n consentUrl\n }\n }\n"])));function Bt(){return"undefined"==typeof window?"":"".concat(window.location.origin).concat(window.location.pathname)}function Nt(e){return St.apply(this,arguments)}function St(){return(St=(0,a.A)(l().mark(function e(t){var n,a,r,o,s;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=Ft()){e.next=1;break}return e.abrupt("return",{ok:!1,message:"No environment selected â can't start the sync."});case 1:return e.prev=1,e.next=2,ct.k3.mutate({mutation:Et,variables:{input:{environmentId:n,redirectUri:t}},fetchPolicy:"no-cache"});case 2:if(r=e.sent,null!=(o=null===(a=r.data)||void 0===a?void 0:a.googleAnalyticsOAuthInit)&&o.consentUrl){e.next=3;break}return e.abrupt("return",{ok:!1,message:"No consent URL returned."});case 3:return e.abrupt("return",{ok:!0,data:o});case 4:return e.prev=4,s=e.catch(1),e.abrupt("return",{ok:!1,message:mt(s,"Could not start the Google authorisation for syncing.")});case 5:case"end":return e.stop()}},e,null,[[1,4]])}))).apply(this,arguments)}var It="citedby.revenueAttribution.airbyteSecretId",Ot="citedby.revenueAttribution.airbyteSecretAt";function Tt(){try{return sessionStorage.getItem(It)}catch(e){return null}}function Dt(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now();if(!Tt())return!1;var t=function(){try{var e=sessionStorage.getItem(Ot);if(!e)return null;var t=Number(e);return Number.isFinite(t)?t+6e5:null}catch(e){return null}}();return null===t||e>=t}function zt(){try{sessionStorage.removeItem(It),sessionStorage.removeItem(Ot)}catch(e){}}var Jt=(0,lt.gql)(ot||(ot=(0,it.A)(["\n mutation CreateAirbyteIntegration($input: CreateAirbyteIntegrationInput!) {\n createAirbyteIntegration(input: $input) {\n sourceId\n connectionId\n syncStartedAt\n syncStatus\n jobId\n connectionExist\n }\n }\n"])));function Pt(e){return Wt.apply(this,arguments)}function Wt(){return(Wt=(0,a.A)(l().mark(function e(t){var n,a,r,o,s,i,c;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=Ft()){e.next=1;break}return e.abrupt("return",{ok:!1,message:"No environment selected â can't start the sync."});case 1:if(0!==t.propertyIds.length){e.next=2;break}return e.abrupt("return",{ok:!1,message:"Choose a property before starting the sync."});case 2:return r="".concat((null!==(n=t.syncStartTime)&&void 0!==n?n:new Date).toISOString().split(".")[0],"Z"),e.prev=3,e.next=4,ct.k3.mutate({mutation:Jt,variables:{input:{environmentId:a,integrationType:"GOOGLE_ANALYTICS",syncStartTime:r,googleAnalyticsConfig:{propertyIds:t.propertyIds,authMode:"OAUTH",secretId:t.secretId}}},fetchPolicy:"no-cache"});case 4:if(s=e.sent,i=null===(o=s.data)||void 0===o?void 0:o.createAirbyteIntegration){e.next=5;break}return e.abrupt("return",{ok:!1,message:"The sync did not start. Please try again."});case 5:return e.abrupt("return",{ok:!0,data:i});case 6:return e.prev=6,c=e.catch(3),e.abrupt("return",{ok:!1,message:mt(c,"Could not start the Analytics sync.")});case 7:case"end":return e.stop()}},e,null,[[3,6]])}))).apply(this,arguments)}var Rt="citedby.revenueAttribution.refreshToken";function Lt(){try{return sessionStorage.getItem(Rt)}catch(e){return null}}function Ft(){var e;return null!==(e=(0,d.nN)())&&void 0!==e?e:""}var Gt=function(){try{return"124605765290-7m4vrsshlt197ij5vfqcnn5tkr2jtg53.apps.googleusercontent.com"}catch(e){return}}(),jt="citedby.revenueAttribution.oauthNonce";function _t(){return"undefined"==typeof window?"":"".concat(window.location.origin).concat(window.location.pathname)}
1function Mt(){var e,t=(e=new Uint8Array(16),crypto.getRandomValues(e),Array.from(e,function(e){return e.toString(16).padStart(2,"0")}).join(""));try{sessionStorage.setItem(jt,t)}catch(e){}var n=new URLSearchParams({response_type:"code",client_id:null!=Gt?Gt:"",redirect_uri:_t(),scope:"https://www.googleapis.com/auth/analytics.readonly",access_type:"offline",prompt:"consent",include_granted_scopes:"true",state:JSON.stringify({source:"ga4_revenue_attribution",nonce:t})});return"".concat("https://accounts.google.com/o/oauth2/v2/auth","?").concat(n.toString())}var Ut=n(18486),qt=n(85072),Yt=n.n(qt),Kt=n(97825),Ht=n.n(Kt),Vt=n(77659),Qt=n.n(Vt),Xt=n(55056),$t=n.n(Xt),Zt=n(10540),en=n.n(Zt),tn=n(41113),nn=n.n(tn),an=n(45454),rn={};rn.styleTagTransform=nn(),rn.setAttributes=$t(),rn.insert=Qt().bind(null,"head"),rn.domAPI=Ht(),rn.insertStyleElement=en();Yt()(an.A,rn);an.A&&an.A.locals&&an.A.locals;var on="#262626",sn="#8C8C8C",ln="#E5E7EB",cn="#2F54EB",An="#F0F5FF",pn="#5B9A5E",dn=[p.MessageSquare,p.Quote,p.AppWindow,p.TrendingUp],un=[110,330,550,770],mn=186;function xn(e){var t=e.index,n=e.col-90;return c.createElement(c.Fragment,null,c.createElement("circle",{cx:n+9,cy:26,r:"9",fill:An}),c.createElement("text",{x:n+9,y:29.5,fontSize:"9.5",fontWeight:"700",fill:cn,textAnchor:"middle"},t+1),c.createElement("text",{x:n+24,y:30,fontSize:"10",fontWeight:"600",fill:on},M.howItWorks.steps[t].label))}function gn(e){var t=e.animated,n=e.clipId,a=M.howItWorks.animation,r=un[0];return c.createElement(c.Fragment,null,c.createElement("rect",{x:r-78,y:80,width:"156",height:"42",rx:"16",fill:An}),c.createElement("path",{d:"M".concat(r-62," 122 L").concat(r-70," 136 L").concat(r-46," 122 Z"),fill:An}),c.createElement("defs",null,c.createElement("clipPath",{id:n},c.createElement("rect",{className:t?"ra-type-clip":void 0,x:r-66,y:86,width:"132",height:"30"}))),c.createElement("g",{clipPath:"url(#".concat(n,")")},c.createElement("text",{x:r-66,y:106,fontSize:"10.5",fill:on,fontWeight:"500"},a.question)))}function fn(e){var t=e.animated,n=M.howItWorks.animation,a=un[1];return c.createElement(c.Fragment,null,n.sources.map(function(e,r){var o=e===n.brand,s=76+24*r;return c.createElement("g",{key:e,className:t&&o?"ra-chip-in":void 0},c.createElement("rect",{x:a-75,y:s,width:"150",height:"18",rx:"9",fill:o?An:"#F8FAFC",stroke:o?cn:"none",strokeWidth:o?1.4:0}),c.createElement("circle",{cx:a-63,cy:s+9,r:"2.6",fill:o?cn:ln}),c.createElement("text",{x:a-53,y:s+12.5,fontSize:"9",fill:o?cn:sn,fontWeight:o?600:400},e))}))}function hn(e){var t=e.animated,n=M.howItWorks.animation,a=un[2];return c.createElement(c.Fragment,null,c.createElement("rect",{x:a-72,y:74,width:"144",height:"72",rx:"12",fill:"#FFFFFF",stroke:ln}),c.createElement("path",{d:"M".concat(a-72," 96 H").concat(a+72),stroke:ln}),c.createElement("text",{x:a-60,y:90,fontSize:"8.5",fill:sn},n.landingPage),c.createElement("rect",{x:a-58,y:108,width:"86",height:"5",rx:"2.5",fill:ln}),c.createElement("circle",{className:t?"ra-dot":void 0,cx:a+50,cy:130,r:"3.6",fill:pn}),c.createElement("text",{x:a+42,y:133,fontSize:"8",fill:pn,textAnchor:"end"},n.sessionLabel))}function Cn(e){var t=e.animated,n=M.howItWorks.animation,a=un[3],r=[{x:a-63,h:24,fill:"#DDE3F5"},{x:a-37,h:36,fill:"#DDE3F5"},{x:a-11,h:30,fill:"#DDE3F5"},{x:a+15,h:58,fill:cn}];return c.createElement(c.Fragment,null,r.map(function(e,n){return c.createElement("rect",{key:e.x,className:t&&n===r.length-1?"ra-bar":void 0,x:e.x,y:146-e.h,width:"18",height:e.h,rx:"5",fill:e.fill})}),c.createElement("path",{d:"M".concat(a-70," ").concat(146," H").concat(a+42),stroke:ln,strokeLinecap:"round"}),c.createElement("g",{className:t?"ra-value":void 0},c.createElement("rect",{x:a-58,y:70,width:"116",height:"21",rx:"10.5",fill:"#FFFFFF",stroke:cn}),c.createElement("text",{x:a,y:84.5,fontSize:"10.5",fill:cn,fontWeight:"600",textAnchor:"middle"},n.valueLabel)))}function vn(e){var t=e.animated,n="ra-type-clip-".concat((0,c.useId)().replace(/:/g,"")),a=M.howItWorks.steps;return c.createElement("svg",{viewBox:"0 0 ".concat(880," ").concat(206),className:"block h-auto w-full",role:"img","aria-label":a.map(function(e,t){return"".concat(t+1,". ").concat(e.label)}).join(". ")},t&&un.map(function(e,t){return c.createElement("g",{key:"focus-".concat(e),className:"ra-focus ra-step-".concat(t+1)},c.createElement("rect",{x:e-90-8,y:10,width:196,height:152,rx:"18",fill:cn,opacity:"0.06"}))}),un.map(function(e,t){return c.createElement(xn,{key:e,index:t,col:e})}),c.createElement(gn,{animated:t,clipId:n}),c.createElement(fn,{animated:t}),c.createElement(hn,{animated:t}),c.createElement(Cn,{animated:t}),c.createElement("path",{d:"M".concat(un[0]," ").concat(mn," H").concat(un[3]),stroke:ln,strokeWidth:"2",strokeLinecap:"round"}),un.map(function(e){return c.createElement("circle",{key:"stop-".concat(e),cx:e,cy:mn,r:"3",fill:ln})}),t&&c.createElement("g",{className:"ra-token"},c.createElement("circle",{cx:un[0],cy:mn,r:"10",fill:cn,opacity:"0.16"}),c.createElement("circle",{cx:un[0],cy:mn,r:"5",fill:cn})))}function bn(){return c.createElement("ol",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-4"},M.howItWorks.steps.map(function(e,t){var n=dn[t],a=1===t;return c.createElement("li",{key:e.label,className:"relative rounded-xl border p-3.5 ".concat(a?"border-geekblue-300 bg-geekblue-100/50":"border-gray-200 bg-white")},c.createElement("div",{className:"flex items-center gap-2"},c.createElement("span",{className:"flex h-6 w-6 flex-none items-center justify-center rounded-md ".concat(a?"bg-geekblue-600 text-white":"bg-gray-100 text-gray-500")}
1,c.createElement(n,{className:"h-3.5 w-3.5",strokeWidth:2})),c.createElement("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-gray-400"},t+1),a&&c.createElement("span",{className:"ml-auto rounded-full bg-geekblue-600 px-2 py-0.5 text-[10px] font-semibold text-white"},M.howItWorks.citedByTag)),c.createElement("p",{className:"mt-2 text-[13px] font-semibold text-gray-900"},e.label),c.createElement("p",{className:"mt-1 text-[12px] leading-relaxed text-gray-500"},e.body))}))}function yn(e){var t,n,a,r,o=e.open,i=e.onClose,l=e.reportState,A=e.onSetup,d=(0,c.useState)(!1),u=(0,s.A)(d,2),m=u[0],x=u[1],g=(t=(0,c.useState)(!1),n=(0,s.A)(t,2),a=n[0],r=n[1],(0,c.useEffect)(function(){if("undefined"!=typeof window&&window.matchMedia){var e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=function(){return r(e.matches)};return t(),e.addEventListener("change",t),function(){return e.removeEventListener("change",t)}}},[]),a),f=(0,c.useState)(!1),h=(0,s.A)(f,2),C=h[0],v=h[1],b=(0,c.useState)(!0),y=(0,s.A)(b,2),w=y[0],k=y[1],E=(0,c.useState)(!0),B=(0,s.A)(E,2),N=B[0],S=B[1],I=(0,c.useRef)(null);if((0,c.useEffect)(function(){if("undefined"!=typeof document){var e=function(){return k(!document.hidden)};return e(),document.addEventListener("visibilitychange",e),function(){return document.removeEventListener("visibilitychange",e)}}},[]),(0,c.useEffect)(function(){var e=I.current;if(o&&e&&"undefined"!=typeof IntersectionObserver){var t=new IntersectionObserver(function(e){var t,n;return S(null===(t=null===(n=e[0])||void 0===n?void 0:n.isIntersecting)||void 0===t||t)},{threshold:.15});return t.observe(e),function(){return t.disconnect()}}},[o]),(0,c.useEffect)(function(){if(o){var e=function(e){"Escape"===e.key&&i()};return document.addEventListener("keydown",e),function(){return document.removeEventListener("keydown",e)}}},[o,i]),!o)return null;var O=!g,T=C||!w||!N;return c.createElement(Ut.K,{onBackdropClick:i,zClassName:"z-[1100]"},c.createElement("div",{className:"w-full max-w-[980px] overflow-hidden rounded-2xl bg-white shadow-2xl"},c.createElement("header",{className:"flex items-start justify-between gap-4 border-b border-gray-200 px-6 py-4"},c.createElement("div",null,c.createElement("h2",{className:"text-[17px] font-semibold text-gray-900"},M.howItWorks.title),c.createElement("p",{className:"mt-0.5 text-[12.5px] text-gray-500"},M.howItWorks.modalSubtitle)),c.createElement("button",{type:"button",onClick:i,"aria-label":"Close",className:"-mr-1 rounded-md p-1 text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-600"},c.createElement(p.X,{className:"h-4 w-4",strokeWidth:2}))),c.createElement("div",{className:"max-h-[70vh] overflow-y-auto px-6 py-5"},c.createElement("div",{ref:I,className:"ra-anim relative overflow-x-auto rounded-xl border border-gray-200 bg-white p-3".concat(T?" is-paused":"")},c.createElement("div",{className:"min-w-[620px]"},c.createElement(vn,{animated:O})),O&&c.createElement("button",{type:"button",onClick:function(){return v(function(e){return!e})},"aria-label":C?M.howItWorks.animation.play:M.howItWorks.animation.pause,className:"absolute bottom-2 right-2 rounded-md border border-gray-200 bg-white/90 p-1 text-gray-400 transition-colors hover:text-gray-600"},C?c.createElement(p.Play,{className:"h-3 w-3",strokeWidth:2}):c.createElement(p.Pause,{className:"h-3 w-3",strokeWidth:2}))),c.createElement("div",{className:"mt-4 space-y-4"},c.createElement(bn,null),"NOT_CONFIGURED"===l&&c.createElement(wn,{onSetup:function(){i(),A()}}),c.createElement(kn,{onOpenPanel:function(){return x(!0)}})))),c.createElement(En,{open:m,onClose:function(){return x(!1)},zClassName:"z-[1300]"}))}function wn(e){var t=e.onSetup,n=M.howItWorks.requirements;return c.createElement("div",{className:"rounded-xl border border-gray-200 bg-gray-50/70 p-4"},c.createElement("ol",{className:"space-y-2"},n.items.map(function(e,t){return c.createElement("li",{key:e.label,className:"flex items-center gap-2.5"},c.createElement("span",{className:"flex h-5 w-5 flex-none items-center justify-center rounded-full bg-white text-[10.5px] font-semibold text-gray-500 ring-1 ring-gray-200"},t+1),c.createElement("span",{className:"flex-1 text-[12.5px] text-gray-700"},e.label),c.createElement("span",{className:"text-[11.5px] tabular-nums text-gray-400"},e.time))})),c.createElement("p",{className:"mt-3 text-[12.5px] font-medium text-gray-900"},n.noCode),c.createElement("button",{type:"button",onClick:t,className:"mt-3.5 rounded-lg bg-geekblue-600 px-5 py-2.5 text-[13px] font-medium text-white transition-colors hover:bg-geekblue-700"},M.empty.primaryCta))}function kn(e){var t=e.onOpenPanel,n=M.howItWorks.honesty;return c.createElement("div",{className:"rounded-xl border border-geekblue-200 bg-geekblue-100/40 px-4 py-3.5"},c.createElement("p",{className:"text-[13px] font-semibold text-gray-900"},n.title),n.paragraphs.map(function(e){return c.createElement("p",{key:e,className:"mt-1.5 text-[12.5px] leading-relaxed text-gray-700"},e)}),c.createElement("button",{type:"button",onClick:t,className:"mt-2.5 text-[12.5px] font-medium text-geekblue-600 underline-offset-2 transition-colors hover:text-geekblue-700 hover:underline"},n.panelLink))}function En(e){var t=e.open,n=e.onClose,a=e.zClassName,r=M.howItWorks.smallNumberPanel;return c.createElement(Y,{open:t,title:r.title,onClose:n,zClassName:a},c.createElement("div",{className:"space-y-5"},r.sections.map(function(e){return c.createElement("div",{key:e.title},c.createElement("h3",{className:"text-[13px] font-semibold text-gray-900"},e.title),c.createElement("p",{className:"mt-1 text-[12.5px] leading-relaxed text-gray-600"},e.body))}),c.createElement("p",{className:"rounded-lg border-l-2 border-geekblue-400 bg-geekblue-100/50 px-3.5 py-2.5 text-[12.5px] leading-relaxed text-gray-700"},r.closing)))}const Bn=function(e){var t=e.reportState,n=e.onSetup,a=(0,c.useState)(!1),r=(0,s.A)(a,2),o=r[0],i=r[1];return c.createElement(c.Fragment,null,c.createElement("button",{type:"button",onClick:function(){return i(!0)},className:"inline-flex items-center gap-1.5 text-[12.5px] font-medium text-geekblue-600 underline-offset-2 transition-colors hover:text-geekblue-700 hover:underline"}
1,c.createElement(p.PlayCircle,{className:"h-3.5 w-3.5",strokeWidth:2}),M.howItWorks.title),c.createElement(yn,{open:o,onClose:function(){return i(!1)},reportState:t,onSetup:n}))};var Nn=n(70500),Sn=n(27125),In=n(70652);function On(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function Tn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?On(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):On(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Dn="".concat(Sn.f.HOME_URL,"/ai-visibility/prompts"),zn=[{days:30,label:"Last 30 days"},{days:60,label:"Last 60 days"},{days:90,label:"Last 90 days"},{days:180,label:"Last 6 months"},{days:365,label:"Last 12 months"}],Jn=["ai","direct","organic"],Pn=function(e){return Math.round(e).toLocaleString("en-US")};function Wn(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return"".concat(t).concat(e.toLocaleString("en-US",{minimumFractionDigits:n,maximumFractionDigits:n}))}function Rn(e){var t,n=e.label,a=e.value,r=e.delta,o=e.deltaLabel,s=e.footnote,i=e.hero,l=e.muted,A=(null!=r?r:0)>=0;return c.createElement("div",{className:"rounded-2xl border px-5 py-4 shadow-sm ".concat(i?"border-geekblue-200 bg-geekblue-100/60 ring-1 ring-geekblue-200":"border-gray-200/70 bg-white").concat(l?" opacity-60":"")},c.createElement("p",{className:"text-[11.5px] font-medium ".concat(i?"text-geekblue-700":"text-gray-500")},n),c.createElement("p",{className:"mt-1 font-semibold tracking-tight tabular-nums ".concat(i?"text-[26px] text-geekblue-900":"text-2xl text-gray-900")},a),c.createElement("div",{className:"mt-1 flex flex-wrap items-center gap-x-1.5 gap-y-0.5"},null!=r&&c.createElement("span",{className:"inline-flex items-center gap-0.5 text-[12px] font-semibold ".concat(A?"text-emerald-600":"text-[#A8321F]")},A?c.createElement(p.TrendingUp,{className:"h-3 w-3",strokeWidth:2.5}):c.createElement(p.TrendingDown,{className:"h-3 w-3",strokeWidth:2.5}),null!=o?o:"".concat((t=r)>=0?"â²":"â¼"," ").concat(Math.abs(100*t).toFixed(0),"%")),s&&c.createElement("span",{className:"text-[11.5px] text-gray-500"},s)))}function Ln(e){var t=e.onLearnMore;return c.createElement("div",{className:"flex items-start gap-2.5 rounded-xl border border-gray-200 bg-gray-50 px-4 py-3"},c.createElement(p.Info,{className:"mt-0.5 h-3.5 w-3.5 flex-none text-gray-400",strokeWidth:2}),c.createElement("p",{className:"text-[12.5px] leading-relaxed text-gray-600"},M.honesty.floorBanner," ",c.createElement("button",{type:"button",onClick:t,className:"font-medium text-geekblue-600 underline-offset-2 transition-colors hover:text-geekblue-700 hover:underline"},M.honesty.floorBannerLink)))}function Fn(e){var t=e.onFixNow,n=e.onDismiss;return c.createElement("div",{className:"flex items-start gap-2.5 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3"},c.createElement(p.Info,{className:"mt-0.5 h-3.5 w-3.5 flex-none text-amber-600",strokeWidth:2}),c.createElement("p",{className:"flex-1 text-[12.5px] leading-relaxed text-amber-900"},M.honesty.skippedFixBanner," ",c.createElement("button",{type:"button",onClick:t,className:"font-medium underline underline-offset-2 transition-colors hover:text-amber-950"},M.honesty.skippedFixCta)),c.createElement("button",{type:"button",onClick:n,"aria-label":"Dismiss",className:"-mr-1 rounded p-0.5 text-amber-500 transition-colors hover:bg-amber-100 hover:text-amber-700"},c.createElement(p.X,{className:"h-3.5 w-3.5",strokeWidth:2})))}
1function Gn(e){var t=e.selected,n=e.onChange,a=(0,c.useState)(!1),r=(0,s.A)(a,2),o=r[0],i=r[1],l=t.length===Jn.length?"All channels":0===t.length?"No channels":t.map(function(e){return de[e]}).join(", "),A=function(e){return n(Jn.filter(function(n){return n===e?!t.includes(e):t.includes(n)}))};return c.createElement("div",{className:"relative"},c.createElement("button",{type:"button",onClick:function(){return i(function(e){return!e})},className:"inline-flex h-8 max-w-[240px] items-center gap-1.5 rounded-lg border border-gray-200 bg-white px-3 text-[12.5px] font-medium text-gray-700 transition-colors hover:border-gray-300 hover:bg-gray-50"},c.createElement("span",{className:"truncate"},l),c.createElement(p.ChevronDown,{className:"h-3 w-3 flex-none text-gray-400",strokeWidth:2})),o&&c.createElement(c.Fragment,null,c.createElement("div",{className:"fixed inset-0 z-10",onClick:function(){return i(!1)}}),c.createElement("div",{className:"absolute right-0 z-20 mt-1 w-56 rounded-lg border border-gray-200 bg-white p-1.5 shadow-lg"},c.createElement("button",{type:"button",onClick:function(){return n(Jn)},className:"flex w-full items-center rounded-md px-2.5 py-1.5 text-left text-[12.5px] text-gray-700 hover:bg-gray-50"},"All"),Jn.map(function(e){return c.createElement("label",{key:e,className:"flex cursor-pointer items-center gap-2 rounded-md px-2.5 py-1.5 text-[12.5px] text-gray-700 hover:bg-gray-50"},c.createElement("input",{type:"checkbox",className:"h-3 w-3 rounded accent-geekblue-600",checked:t.includes(e),onChange:function(){return A(e)}}),c.createElement("span",{className:"h-2 w-2 flex-none rounded-full",style:{backgroundColor:ue[e]}}),de[e])}),c.createElement("p",{className:"border-t border-gray-100 px-2.5 pb-1 pt-1.5 text-[11px] text-gray-400"},"Applies to the trend chart."))))}function jn(e){var t=e.mix;return c.createElement("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2"},c.createElement("span",{className:"text-[11.5px] font-medium text-gray-500"},M.report.trend.sourceMixLabel),c.createElement("div",{className:"flex h-1.5 min-w-[160px] flex-1 overflow-hidden rounded-full bg-gray-100"},t.map(function(e){return c.createElement("span",{key:e.name,style:{width:"".concat(100*e.share,"%"),backgroundColor:e.color}})})),c.createElement("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1"},t.map(function(e){return c.createElement("span",{key:e.name,className:"inline-flex items-center gap-1.5 text-[11.5px] text-gray-600"},c.createElement("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:e.color}}),e.name,c.createElement("span",{className:"tabular-nums text-gray-400"},function(e){return"".concat((100*e).toFixed(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0),"%")}(e.share)))})))}var _n=["#2F54EB","#597EF7","#85A5FF","#ADC6FF","#D6E4FF"];function Mn(e){var t=e.data,n=e.days,a=e.clamped,r=e.channels,o=e.symbol,i=e.metric,l=e.onMetricChange,A=e.granularity,d=e.onGranularityChange,u=e.live,m=e.liveSources,x=e.allowFixtures,g=(0,c.useState)(!1),f=(0,s.A)(g,2),h=f[0],C=f[1],v=(0,c.useState)(!1),b=(0,s.A)(v,2),y=b[0],w=b[1],k=(0,c.useState)(0),E=(0,s.A)(k,2),B=E[0],N=E[1],I=Math.max(2,Math.round(n/7)),O=(0,c.useMemo)(function(){return u?(e=u,a=(n=function(t){var n,a;return null!==(n=null===(a=e.series.find(function(e){return e.channel===t}))||void 0===a?void 0:a.points)&&void 0!==n?n:[]})("ai_search"),r=n("direct"),o=n("organic"),a.map(function(e,t){var n,a,i,l,c,A,p,d,u,m;return{label:(c=e.date,A=c.split("-"),p=(0,s.A)(A,3),d=p[1],u=p[2],m=S[Number(d)-1],m?"".concat(m," ").concat(Number(u)):c),date:e.date,ai:e.value,direct:null!==(n=null===(a=r[t])||void 0===a?void 0:a.value)&&void 0!==n?n:0,organic:null!==(i=null===(l=o[t])||void 0===l?void 0:l.value)&&void 0!==i?i:0}})):x?t.weekly[i].slice(-I):[];var e,n,a,r,o},[u,t,i,I]),T=Math.max(1,Math.ceil(O.length/6)),D=Math.min(B,T-1);(0,c.useEffect)(function(){B!==D&&N(D)},[B,D]);var z,J=(0,c.useMemo)(function(){var e=O.length-6*D;return O.slice(Math.max(0,e-6),e)},[O,D]),P=(0,c.useMemo)(function(){if(!h)return J;var e=J[0];return e?J.map(function(t){return Tn(Tn({},t),{},{ai:e.ai?t.ai/e.ai*100:0,direct:e.direct?t.direct/e.direct*100:0,organic:e.organic?t.organic/e.organic*100:0})}):J},[J,h]),W=J.length>0?"".concat(J[0].label," â ").concat(J[J.length-1].label):"";return c.createElement("section",{className:"rounded-2xl border border-gray-200/70 bg-white p-5 shadow-sm"},c.createElement("div",{className:"flex flex-wrap items-start justify-between gap-3"}
1,c.createElement("div",null,c.createElement("h2",{className:"text-[15px] font-semibold text-gray-900"},M.report.trend.title),c.createElement("p",{className:"text-[12.5px] text-gray-500"},M.report.trend.subtitle)),c.createElement("div",{className:"flex flex-wrap items-center gap-2"},c.createElement("div",{className:"inline-flex rounded-lg bg-gray-100 p-0.5"},Object.keys(M.report.trend.metrics).map(function(e){return c.createElement("button",{key:e,type:"button",onClick:function(){return l(e)},className:"rounded-md px-3 py-1 text-[12px] font-medium transition-colors ".concat(i===e?"bg-white text-gray-900 shadow-sm":"text-gray-500 hover:text-gray-700")},M.report.trend.metrics[e])})),c.createElement("div",{className:"inline-flex rounded-lg bg-gray-100 p-0.5"},["day","week"].map(function(e){return c.createElement("button",{key:e,type:"button",onClick:function(){return d(e)},className:"rounded-md px-3 py-1 text-[12px] font-medium capitalize transition-colors ".concat(A===e?"bg-white text-gray-900 shadow-sm":"text-gray-500 hover:text-gray-700")},e)})),c.createElement("label",{className:"inline-flex cursor-pointer items-center gap-1.5 text-[12px] font-medium text-gray-600"},c.createElement("input",{type:"checkbox",className:"h-3 w-3 rounded accent-geekblue-600",checked:h,onChange:function(e){C(e.target.checked),w(!0)}}),M.report.trend.indexToggle))),!h&&!y&&c.createElement("p",{className:"mt-2.5 text-[11.5px] italic text-gray-400"},M.report.trend.indexHint),c.createElement("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-x-4 gap-y-2"},c.createElement("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1.5"},Jn.filter(function(e){return r.includes(e)}).map(function(e){return c.createElement("span",{key:e,className:"inline-flex items-center gap-1.5 text-[11.5px] text-gray-600"},c.createElement("span",{className:"h-0.5 w-3.5 rounded-full",style:{backgroundColor:ue[e]}}),de[e])})),T>1&&c.createElement("div",{className:"flex items-center gap-1.5"},c.createElement("span",{className:"text-[11.5px] tabular-nums text-gray-500"},W),c.createElement("button",{type:"button",onClick:function(){return N(function(e){return Math.min(e+1,T-1)})},disabled:D>=T-1,"aria-label":M.report.trend.olderWeeks,className:"rounded-md border border-gray-200 p-1 text-gray-500 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40"},c.createElement(p.ChevronLeft,{className:"h-3.5 w-3.5",strokeWidth:2})),c.createElement("button",{type:"button",onClick:function(){return N(function(e){return Math.max(e-1,0)})},disabled:0===D,"aria-label":M.report.trend.newerWeeks,className:"rounded-md border border-gray-200 p-1 text-gray-500 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40"},c.createElement(p.ChevronRight,{className:"h-3.5 w-3.5",strokeWidth:2})))),c.createElement("div",{className:"mt-3 h-[280px] w-full"},u||x?0===r.length?c.createElement("div",{className:"flex h-full items-center justify-center rounded-xl bg-gray-50 text-[12.5px] text-gray-400"},M.report.trend.noChannels):c.createElement(Nn.ResponsiveContainer,{width:"100%",height:"100%"},c.createElement(Nn.LineChart,{data:P,margin:{top:8,right:8,left:0,bottom:0}},c.createElement(Nn.CartesianGrid,{strokeDasharray:"3 3",stroke:"#F0F0F0",vertical:!1}),c.createElement(Nn.XAxis,{dataKey:"label",tick:{fontSize:11,fill:"#8C8C8C"},tickLine:!1,axisLine:{stroke:"#F0F0F0"}}),c.createElement(Nn.YAxis,{tick:{fontSize:11,fill:"#8C8C8C"},tickLine:!1,axisLine:!1,width:h?44:56,tickFormatter:function(e){return h?String(e):function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=Math.abs(e);return n>=1e6?"".concat(t).concat((e/1e6).toFixed(1).replace(/\.0$/,""),"M"):n>=1e3?"".concat(t).concat((e/1e3).toFixed(1).replace(/\.0$/,""),"k"):"".concat(t).concat(Math.round(e))}(e,"revenue"===i?o:"")}}),c.createElement(Nn.Tooltip,{contentStyle:{borderRadius:10,border:"1px solid #F0F0F0",fontSize:12,boxShadow:"0 4px 16px rgba(0,0,0,0.08)"},formatter:function(e,t){return[(n=e,h?n.toFixed(0):"revenue"===i?Wn(n,o):Pn(n)),t];var n}}),Jn.filter(function(e){return r.includes(e)}).map(function(e){return c.createElement(Nn.Line,{key:e,type:"monotone",dataKey:e,name:de[e],stroke:ue[e],strokeWidth:"ai"===e?2.25:1.5,dot:!1,activeDot:{r:3.5}})}))):c.createElement("div",{className:"flex h-full flex-col items-center justify-center gap-1 rounded-xl bg-gray-50 text-center"},c.createElement("p",{className:"text-[12.5px] font-medium text-gray-500"},M.reportStates.notFetched),c.createElement("p",{className:"text-[11.5px] text-gray-400"},M.reportStates.notFetchedBody))),0===(z=null!=m?m:x?t.sourceMix:[]).length?null:c.
1createElement("div",{className:"mt-4 border-t border-gray-100 pt-3.5"},c.createElement(jn,{mix:z})),a&&c.createElement("p",{className:"mt-3 text-[12px] text-gray-500"},c.createElement("a",{href:"#connect-thrivestack",onClick:function(e){return e.preventDefault()},className:"text-geekblue-600 underline-offset-2 transition-colors hover:text-geekblue-700 hover:underline"},M.upgrades.history)))}var Un={aiSessions:"sessions",conversions:"conversions",cvr:"cvr",valuePerSession:"value_per_session",revenue:"revenue"},qn=["revenue","value_per_session"];function Yn(e){var t,n=e.pages,a=e.symbol,r=e.ga4Revenue,o=e.live,i=e.liveLoading,l=e.allowFixtures,d=e.sortBy,u=e.sortDir,m=e.onSortChange,x=e.page,g=e.onPageChange,f=(0,A.useNavigate)(),h=(0,c.useState)(null),C=(0,s.A)(h,2),v=C[0],b=C[1],y=null!==(t=null==o?void 0:o.meta)&&void 0!==t?t:null,w=o?o.currency||(null==y?void 0:y.currency)||"":a,k=!y||y.citations_available,E=!y||y.revenue_configured,B=o?function(e,t){return e.map(function(e){return{page:e.page,pageType:e.page_type,aiSessions:e.ai_sessions,conversions:e.conversions,cvr:e.cvr,valuePerSession:e.value_per_session,revenue:e.revenue,revenueSource:e.revenue_source,lowSample:e.low_sample,citations:t&&e.citations?e.citations:null}})}(o.rows,k):l?function(e){return e.filter(function(e){return e.aiSessions>0}).map(function(e){return{page:e.path,pageType:pe[e.type],aiSessions:e.aiSessions,conversions:e.aiConversions,cvr:0===e.aiConversions?null:e.cvr,valuePerSession:e.valuePerSession,revenue:e.revenue,revenueSource:(e.valuePerSession,"modeled"),lowSample:e.lowConfidence,citations:{count:e.citedPromptCount,prompts:e.prompts.map(function(t,n){return{id:"".concat(e.path,"-").concat(n),text:t}}),truncated:!1}}})}(n):[],N=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return o?z(e,w,t):null===e?O:"".concat(a).concat(e.toLocaleString("en-US",{minimumFractionDigits:t,maximumFractionDigits:t}))},S=function(e,t,n){var a=Un[e],r=d===a,o=!E&&qn.includes(a);return c.createElement("th",{className:"px-4 py-2.5 text-right","aria-sort":r?"asc"===u?"ascending":"descending":"none"},c.createElement("span",{className:"inline-flex items-center gap-1"},c.createElement("button",{type:"button",disabled:o,onClick:function(){return m(a)},className:"inline-flex items-center gap-1 text-[11.5px] font-semibold text-gray-500 transition-colors hover:text-gray-700 disabled:cursor-not-allowed disabled:opacity-40"},t,c.createElement("span",{className:"text-[9px] ".concat(r?"text-geekblue-600":"text-gray-300")},r&&"asc"===u?"â²":"â¼")),n))},I=o?o.pagination.total_rows:B.length,D=o?(o.pagination.page-1)*o.pagination.page_size+1:1,J=o?Math.min(D+B.length-1,I):B.length,P=o?Math.max(1,Math.ceil(I/o.pagination.page_size)):1;return c.createElement("section",{className:"rounded-2xl border border-gray-200/70 bg-white shadow-sm"},c.createElement("header",{className:"px-5 pb-3 pt-5"},c.createElement("h2",{className:"text-[15px] font-semibold text-gray-900"},M.report.pageTable.title),c.createElement("p",{className:"text-[12.5px] text-gray-500"},M.report.pageTable.subtitle)),c.createElement("div",{className:"space-y-2 px-5 pb-3"},(null==y?void 0:y.no_ai_traffic)&&c.createElement($n,{tone:"info"},c.createElement("strong",{className:"font-semibold text-gray-900"},M.pageStates.noAiTraffic.title)," ",M.pageStates.noAiTraffic.body),y&&!y.revenue_configured&&c.createElement($n,{tone:"info"},M.pageStates.revenueNotConfigured),(null==y?void 0:y.other_bucket_present)&&c.createElement($n,{tone:"warn"},M.pageStates.otherBucket)),c.createElement("div",{className:"overflow-x-auto"},c.createElement("table",{className:"w-full min-w-[880px]"},c.createElement("thead",{className:"border-y border-gray-100 bg-gray-50/70"},c.createElement("tr",null,c.createElement("th",{className:"px-4 py-2.5 text-left text-[11.5px] font-semibold text-gray-500"},M.report.pageTable.columns.page),c.createElement("th",{className:"px-4 py-2.5 text-left text-[11.5px] font-semibold text-gray-500"},M.report.pageTable.columns.type),S("aiSessions",M.report.pageTable.columns.sessions,c.createElement(In.Un,{text:M.report.pageTable.sessionsTooltip})),S("conversions",M.report.pageTable.columns.conversions,c.createElement(In.Un,{text:M.report.pageTable.conversionsTooltip})),S("cvr",M.report.pageTable.columns.cvr,c.createElement(In.Un,{text:M.report.pageTable.cvrTooltip})),S("valuePerSession",M.report.pageTable.columns.valuePerSession,c.createElement(In.Un,{text:M.report.pageTable.valuePerSessionTooltip})),S("revenue",M.report.pageTable.columns.revenue,c.createElement(In.Un,{text:M.report.pageTable.revenueTooltip})))),c.createElement("tbody",{className:"divide-y divide-gray-50"},i&&0===B.length&&c.createElement("tr",null,c.createElement("td",{colSpan:7,className:"px-4 py-10 text-center text-[12.5px] text-gray-400"}
1,c.createElement(p.Loader2,{className:"mx-auto h-4 w-4 animate-spin text-gray-300"}))),!i&&0===B.length&&c.createElement("tr",null,c.createElement("td",{colSpan:7,className:"px-4 py-10 text-center text-[12.5px] text-gray-400"},o||l?M.report.pageTable.empty:M.reportStates.notFetched)),B.map(function(e){var t,n=v===e.page;return c.createElement(c.Fragment,{key:e.page},c.createElement("tr",{className:"transition-colors hover:bg-gray-50/60"},c.createElement("td",{className:"px-4 py-2.5"},c.createElement("button",{type:"button",onClick:function(){return b(n?null:e.page)},className:"flex max-w-[280px] items-center gap-1.5 text-left"},c.createElement(p.ChevronRight,{className:"h-3.5 w-3.5 flex-none text-gray-300 transition-transform ".concat(n?"rotate-90 text-gray-500":""),strokeWidth:2}),c.createElement("span",{className:"truncate font-mono text-[12px] text-gray-900"},e.page))),c.createElement("td",{className:"px-4 py-2.5"},c.createElement("span",{className:"rounded-md bg-gray-100 px-2 py-0.5 text-[11px] font-medium capitalize text-gray-600"},e.pageType)),c.createElement("td",{className:"px-4 py-2.5 text-right text-[12.5px] tabular-nums text-gray-900"},T(e.aiSessions)),c.createElement("td",{className:"px-4 py-2.5 text-right text-[12.5px] tabular-nums text-gray-900"},T(e.conversions)),c.createElement("td",{className:"px-4 py-2.5 text-right text-[12.5px] tabular-nums text-gray-600"},null===e.cvr?c.createElement("span",{tabIndex:0,title:M.report.pageTable.noObservedConversions,className:"cursor-help text-gray-400"},O):function(e){return null===e?O:"".concat((100*e).toFixed(arguments.length>1&&void 0!==arguments[1]?arguments[1]:2),"%")}(e.cvr)),c.createElement("td",{className:"px-4 py-2.5 text-right"},null===e.valuePerSession?c.createElement("span",{tabIndex:0,title:M.honesty.lowSampleTooltip,className:"cursor-help text-[12.5px] text-gray-400"},O):c.createElement("span",{tabIndex:e.lowSample?0:void 0,title:e.lowSample?M.pageStates.lowSample(null!==(t=null==y?void 0:y.low_sample_threshold)&&void 0!==t?t:0):void 0,className:"text-[12.5px] tabular-nums ".concat(e.lowSample?"cursor-help text-gray-500 underline decoration-dotted underline-offset-2":"text-gray-900")},N(e.valuePerSession,2))),c.createElement("td",{className:"px-4 py-2.5 text-right"},c.createElement("span",{tabIndex:0,title:M.pageStates.revenueSource[e.revenueSource],className:"cursor-help text-[12.5px] font-medium tabular-nums text-gray-900"},N(e.revenue)))),n&&c.createElement("tr",{className:"bg-gray-50/70"},c.createElement("td",{colSpan:7,className:"px-4 py-3.5 pl-11"},c.createElement("p",{className:"text-[11.5px] font-semibold text-gray-500"},M.report.pageTable.expandPrompts),e.citations&&0!==e.citations.prompts.length?c.createElement(c.Fragment,null,c.createElement("ul",{className:"mt-2 flex flex-wrap gap-1.5"},e.citations.prompts.map(function(e){return c.createElement("li",{key:e.id,className:"rounded-md border border-gray-200 bg-white px-2 py-1 text-[11.5px] text-gray-700"},e.text)})),e.citations.truncated&&c.createElement("button",{type:"button",onClick:function(){return f("".concat(Dn,"?page=").concat(encodeURIComponent(e.page)))},className:"mt-2 text-[11.5px] font-medium text-geekblue-600 hover:underline"},M.pageStates.viewAllPrompts(e.citations.count))):c.createElement("p",{className:"mt-1.5 text-[12px] text-gray-400"},M.report.pageTable.notCited))))})),o&&c.createElement("tfoot",{className:"border-t border-gray-200 bg-gray-50/70"},c.createElement("tr",null,c.createElement("td",{colSpan:2,className:"px-4 py-2.5 text-[11.5px] font-semibold text-gray-500"},M.pageStates.totalsLabel),c.createElement("td",{className:"px-4 py-2.5 text-right text-[12.5px] font-semibold tabular-nums text-gray-900"},T(o.totals.ai_sessions)),c.createElement("td",{className:"px-4 py-2.5 text-right text-[12.5px] font-semibold tabular-nums text-gray-900"},T(o.totals.conversions)),c.createElement("td",null),c.createElement("td",null),c.createElement("td",{className:"px-4 py-2.5 text-right text-[12.5px] font-semibold tabular-nums text-gray-900"},z(o.totals.revenue,w)))))),o&&I>o.pagination.page_size&&c.createElement("div",{className:"flex items-center justify-between gap-3 border-t border-gray-100 px-5 py-2.5"},c.createElement("span",{className:"text-[11.5px] tabular-nums text-gray-500"},M.pageStates.rowsRange(D,J,I)),c.createElement("div",{className:"flex items-center gap-1.5"},c.createElement("button",{type:"button","aria-label":M.pageStates.prev,disabled:x<=1||i,onClick:function(){return g(x-1)},className:"rounded-md border border-gray-200 p-1 text-gray-500 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40"}
1,c.createElement(p.ChevronLeft,{className:"h-3.5 w-3.5",strokeWidth:2})),c.createElement("button",{type:"button","aria-label":M.pageStates.next,disabled:x>=P||i,onClick:function(){return g(x+1)},className:"rounded-md border border-gray-200 p-1 text-gray-500 transition-colors hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-40"},c.createElement(p.ChevronRight,{className:"h-3.5 w-3.5",strokeWidth:2})))),c.createElement("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 border-t border-gray-100 px-5 py-3"},c.createElement("p",{className:"text-[11.5px] text-gray-400"},M.honesty.attributionModelLabel),!r&&B.some(function(e){return null===e.valuePerSession})&&c.createElement("a",{href:"#connect-stripe",onClick:function(e){return e.preventDefault()},className:"text-[11.5px] text-geekblue-600 underline-offset-2 transition-colors hover:text-geekblue-700 hover:underline"},M.upgrades.stripe)))}function Kn(e){var t=e.label,n=e.value;return c.createElement("div",{className:"flex items-baseline justify-between gap-4"},c.createElement("span",{className:"text-[11.5px] text-gray-500"},t),c.createElement("span",{className:"text-right text-[11.5px] tabular-nums text-gray-900"},n))}function Hn(e){var t=e.status,n=e.onOpen;return c.createElement("button",{type:"button",onClick:n,className:"inline-flex items-center gap-1.5 rounded-full border border-amber-300 bg-amber-50 px-2.5 py-1 text-[11.5px] font-medium text-amber-800 transition-colors hover:bg-amber-100"},c.createElement(p.AlertTriangle,{className:"h-3 w-3",strokeWidth:2}),M.sync.failedPill(le(t.lastSyncAt)))}function Vn(e){var t,n=e.open,a=e.onClose,r=e.status,o=e.propertyIds,s=e.onReconnect,i=r.failureCause;if(!i)return null;var l=M.sync.failures[i],A="function"==typeof l.message?l.message(null!==(t=o[0])&&void 0!==t?t:"â"):l.message;return c.createElement(Y,{open:n,title:M.sync.failurePanelTitle,onClose:a},c.createElement("p",{className:"text-[12.5px] leading-relaxed text-gray-700"},A),c.createElement("div",{className:"mt-4 space-y-1.5 rounded-lg bg-gray-50 p-3.5"},c.createElement(Kn,{label:M.sync.popover.lastSync,value:se(r.lastSyncAt)}),c.createElement(Kn,{label:M.sync.popover.dataThrough,value:ie(r.dataThrough)}),c.createElement(Kn,{label:1===o.length?M.sync.popover.property:M.sync.popover.properties,value:c.createElement("span",{className:"font-mono"},o.join(", ")||"â")})),l.action&&c.createElement("button",{type:"button",onClick:function(){a(),s()},className:"mt-4 rounded-lg bg-geekblue-600 px-4 py-2 text-[12.5px] font-medium text-white transition-colors hover:bg-geekblue-700"},l.action))}function Qn(e){var t=e.status,n=e.onDismiss;return c.createElement("div",{className:"flex items-start gap-2.5 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3"},c.createElement(p.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 flex-none text-amber-600",strokeWidth:2}),c.createElement("p",{className:"flex-1 text-[12.5px] leading-relaxed text-amber-900"},M.sync.staleBanner(ie(t.dataThrough))),c.createElement("button",{type:"button",onClick:n,"aria-label":"Dismiss",className:"-mr-1 rounded p-0.5 text-amber-500 transition-colors hover:bg-amber-100 hover:text-amber-700"},c.createElement(p.X,{className:"h-3.5 w-3.5",strokeWidth:2})))}function Xn(e){var t=e.open,n=e.onClose,a=M.honesty.floorPanel;return c.createElement(Y,{open:t,title:a.title,onClose:n},c.createElement("div",{className:"space-y-5"},a.sections.map(function(e){return c.createElement("div",{key:e.title},c.createElement("h3",{className:"text-[13px] font-semibold text-gray-900"},e.title),c.createElement("p",{className:"mt-1 text-[12.5px] leading-relaxed text-gray-600"},e.body))}),c.createElement("p",{className:"rounded-lg border-l-2 border-geekblue-400 bg-geekblue-100/50 px-3.5 py-2.5 text-[12.5px] leading-relaxed text-gray-700"},a.closing)))}function $n(e){var t=e.tone,n=e.children,a="warn"===t;return c.createElement("div",{className:"flex items-start gap-2.5 rounded-xl border px-4 py-3 ".concat(a?"border-amber-200 bg-amber-50":"border-gray-200 bg-gray-50")},a?c.createElement(p.AlertTriangle,{className:"mt-0.5 h-3.5 w-3.5 flex-none text-amber-600",
1strokeWidth:2}):c.createElement(p.Info,{className:"mt-0.5 h-3.5 w-3.5 flex-none text-gray-400",strokeWidth:2}),c.createElement("p",{className:"text-[12.5px] leading-relaxed ".concat(a?"text-amber-900":"text-gray-600")},n))}const Zn=function(e){var t,n,a,r,o,i,l,A=e.data,d=e.currency,m=e.ga4Revenue,x=e.channelSkipped,g=e.onFixChannel,f=e.syncStatus,h=e.propertyIds,C=e.onReconnect,v=e.onOpenConnection,b=e.onEditSetup,y=e.onConfiguredChange,w=(0,u._K)().isDemoMode,k=(0,c.useState)(90),S=(0,s.A)(k,2),J=S[0],P=S[1],W=(0,c.useState)("sessions"),R=(0,s.A)(W,2),L=R[0],F=R[1],G=(0,c.useState)("week"),j=(0,s.A)(G,2),_=j[0],U=j[1],q=(0,c.useState)("revenue"),Y=(0,s.A)(q,2),K=Y[0],H=Y[1],V=(0,c.useState)("desc"),Q=(0,s.A)(V,2),X=Q[0],$=Q[1],Z=(0,c.useState)(1),ee=(0,s.A)(Z,2),te=ee[0],ne=ee[1],ae=(0,c.useState)(Jn),re=(0,s.A)(ae,2),oe=re[0],se=re[1],ie=(0,c.useState)(!1),le=(0,s.A)(ie,2),ce=le[0],Ae=le[1],pe=(0,c.useState)(!1),de=(0,s.A)(pe,2),ue=de[0],me=de[1],xe=(0,c.useState)(!1),ge=(0,s.A)(xe,2),fe=ge[0],he=ge[1],Ce=(0,c.useState)(!1),ve=(0,s.A)(Ce,2),be=ve[0],ye=ve[1],we="HEALTHY"!==f.health&&(i=new Date,l=f.lastSyncAt,Math.abs(i.getTime()-l.getTime())/36e5>48),ke=qe(d),Ee=(0,c.useMemo)(function(){return function(e,t){var n=Math.min(t,90),a=t>90,r=n>=90,o=function(e,t,n){return e.slice(t,n).reduce(function(e,t){return{ai:e.ai+t.ai,direct:e.direct+t.direct,organic:e.organic+t.organic}},{ai:0,direct:0,organic:0})},s=e.daily.sessions.length,i=s-n,l=o(e.daily.sessions,i,s),c=o(e.daily.conversions,i,s),A=o(e.daily.revenue,i,s),p=n/90,d=i-n>=0?{sessions:o(e.daily.sessions,i-n,i),conversions:o(e.daily.conversions,i-n,i),revenue:o(e.daily.revenue,i-n,i)}:{sessions:{ai:e.previous.ai.sessions*p,direct:0,organic:0},conversions:{ai:e.previous.ai.conversions*p,direct:0,organic:0},revenue:{ai:e.previous.ai.revenue*p,direct:0,organic:0}},u=Jn.reduce(function(e,t){return e[t]={sessions:l[t],conversions:c[t],revenue:A[t],valuePerSession:l[t]>0?A[t]/l[t]:0},e},{}),m=function(e,t){return 0===t?0:(e-t)/t},x=e.current.ai.sessions>0?l.ai/e.current.ai.sessions:0,g=r?e.pages:e.pages.map(function(e){return Tn(Tn({},e),{},{aiSessions:Math.round(e.aiSessions*x),aiConversions:Math.round(e.aiConversions*x),revenue:Math.round(e.revenue*x)})});return{days:n,clamped:a,current:u,delta:{sessions:m(l.ai,d.sessions.ai),conversions:m(c.ai,d.conversions.ai),revenue:m(A.ai,d.revenue.ai)},revPerSessionMultiple:u.organic.valuePerSession>0?u.ai.valuePerSession/u.organic.valuePerSession:0,pages:g}}(A,J)},[A,J]),Be=(0,c.useMemo)(function(){var e=new Date,t=new Date;return t.setDate(t.getDate()-(J-1)),{startDate:I(t),endDate:I(e)}},[J]),Ne=Be.startDate,Se=Be.endDate,Ie=function(e,t){var n=e.startDate,a=e.endDate,r=e.attributionScope,o=e.metric,i=e.granularity,l=(0,c.useState)(null),A=(0,s.A)(l,2),p=A[0],d=A[1],u=(0,c.useState)(null),m=(0,s.A)(u,2),x=m[0],g=m[1],f=(0,c.useState)(!1),h=(0,s.A)(f,2),C=h[0],v=h[1],b=(0,c.useState)(!1),y=(0,s.A)(b,2),w=y[0],k=y[1],N=(0,c.useState)(null),S=(0,s.A)(N,2),I=S[0],O=S[1],T=(0,c.useState)(0),D=(0,s.A)(T,2),z=D[0],J=D[1],P=(0,c.useCallback)(function(){return J(function(e){return e+1})},[]);return(0,c.useEffect)(function(){if(t){var e=!1;return v(!0),E({startDate:n,endDate:a,attributionScope:r}).then(function(t){e||(v(!1),t.ok?d(t.data):t.badRequest&&O(t.message))}),function(){e=!0}}},[t,n,a,r,z]),(0,c.useEffect)(function(){if(t){var e=!1;return k(!0),B({startDate:n,endDate:a,attributionScope:r,metric:o,granularity:i}).then(function(t){e||(k(!1),t.ok?g(t.data):t.badRequest&&O(t.message))}),function(){e=!0}}},[t,n,a,r,o,i,z]),{summary:p,trend:x,summaryLoading:C,trendLoading:w,error:I,refetch:P}}({startDate:Ne,endDate:Se,attributionScope:"session",metric:L,granularity:_},!w),Oe=Ie.summary,Te=Ie.trend,De=null!==(t=null==Oe?void 0:Oe.meta)&&void 0!==t?t:null,ze=null!==(n=null!=De?De:null==Te?void 0:Te.meta)&&void 0!==n?n:null,Je=Boolean(null==De?void 0:De.low_sample),Pe=null!==(a=null!==(r=null==Oe?void 0:Oe.ai_revenue.currency)&&void 0!==r?r:null==ze?void 0:ze.currency)&&void 0!==a?a:"",We=Te?Te.ai_sources.map(function(e,t){return{name:e.label,share:e.share_pct/100,sessions:e.sessions,color:_n[t%_n.length]}}):null,Re=function(e,t){var n=e.startDate,a=e.endDate,r=e.attributionScope,o=e.sortBy,i=e.sortDir,l=e.page,A=e.pageSize,p=e.pageType,d=e.vendor,u=(0,
1c.useState)(null),m=(0,s.A)(u,2),x=m[0],g=m[1],f=(0,c.useState)(!1),h=(0,s.A)(f,2),C=h[0],v=h[1],b=(0,c.useState)(null),y=(0,s.A)(b,2),w=y[0],k=y[1],E=(0,c.useState)(0),B=(0,s.A)(E,2),S=B[0],I=B[1],O=(0,c.useCallback)(function(){return I(function(e){return e+1})},[]);return(0,c.useEffect)(function(){if(t){var e=!1;return v(!0),N({startDate:n,endDate:a,attributionScope:r,sortBy:o,sortDir:i,page:l,pageSize:A,pageType:p,vendor:d}).then(function(t){e||(v(!1),t.ok?g(t.data):t.badRequest&&k(t.message))}),function(){e=!0}}},[t,n,a,r,o,i,l,A,p,d,S]),{data:x,loading:C,error:w,refetch:O}}({startDate:Ne,endDate:Se,attributionScope:"session",sortBy:K,sortDir:X,page:te,pageSize:25},!w);return(0,c.useEffect)(function(){ne(1)},[Ne,Se]),(0,c.useEffect)(function(){De&&(null==y||y(De.configured))},[De,y]),c.createElement("div",{className:"space-y-5"},c.createElement("div",{className:"sticky top-0 z-20 flex flex-wrap items-center justify-between gap-3 border-b border-gray-200 bg-white py-3"},c.createElement("div",{className:"flex flex-wrap items-center gap-2"},c.createElement("select",{"aria-label":M.report.dateRangeLabel,value:J,onChange:function(e){return P(Number(e.target.value))},className:"h-8 rounded-lg border border-gray-200 bg-white px-2.5 text-[12.5px] font-medium text-gray-700 transition-colors hover:border-gray-300 focus:outline-none"},zn.map(function(e){return c.createElement("option",{key:e.days,value:e.days},e.label)})),c.createElement(Gn,{selected:oe,onChange:se})),c.createElement("div",{className:"flex min-w-0 items-center gap-3"},"FAILED"===f.health&&c.createElement(Hn,{status:f,onOpen:function(){return he(!0)}}),c.createElement("button",{type:"button",onClick:v,className:"inline-flex h-8 flex-none items-center gap-1.5 rounded-lg px-2 text-[12.5px] font-medium text-gray-500 transition-colors hover:text-gray-700"},M.connection.openLink),c.createElement("button",{type:"button",onClick:b,className:"inline-flex h-8 flex-none items-center gap-1.5 rounded-lg border border-gray-200 bg-white px-3 text-[12.5px] font-medium text-gray-700 transition-colors hover:border-gray-300 hover:bg-gray-50"},c.createElement(p.SlidersHorizontal,{className:"h-3.5 w-3.5 text-gray-400",strokeWidth:2}),M.report.editSetup))),we&&!be&&c.createElement(Qn,{status:f,onDismiss:function(){return ye(!0)}}),x&&!ue&&c.createElement(Fn,{onFixNow:g,onDismiss:function(){return me(!0)}}),(Ie.error||Re.error)&&c.createElement($n,{tone:"warn"},M.reportStates.badRequest),(null==De?void 0:De.no_data)&&c.createElement($n,{tone:"info"},c.createElement("strong",{className:"font-semibold text-gray-900"},M.reportStates.noData.title)," ",M.reportStates.noData.body),Je&&c.createElement($n,{tone:"info"},M.reportStates.lowSample(null!==(o=null==De?void 0:De.low_sample_threshold)&&void 0!==o?o:0)),null!=Te&&Te.meta.excluded_sessions?c.createElement($n,{tone:"info"},M.reportStates.excludedSessions(Te.meta.excluded_sessions)):null,c.createElement(Ln,{onLearnMore:function(){return Ae(!0)}}),Ie.summaryLoading&&!Oe?c.createElement("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4"},[0,1,2,3].map(function(e){return c.createElement("div",{key:e,className:"h-[92px] animate-pulse rounded-2xl bg-gray-100"})})):c.createElement("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4"},c.createElement(Rn,{label:M.report.stats.sessions,value:Oe?T(Oe.ai_sessions.value):w?Pn(Ee.current.ai.sessions):O,deltaLabel:Oe?D(Oe.ai_sessions.delta_pct):void 0,delta:Oe?Oe.ai_sessions.delta_pct:w?Ee.delta.sessions:null,footnote:M.report.stats.vsPrev}),c.createElement(Rn,{label:M.report.stats.conversions,value:Oe?T(Oe.ai_conversions.value):w?Pn(Ee.current.ai.conversions):O,deltaLabel:Oe?D(Oe.ai_conversions.delta_pct):void 0,delta:Oe?Oe.ai_conversions.delta_pct:w?Ee.delta.conversions:null}),c.createElement(Rn,{label:M.report.stats.revenue,value:Oe?z(Oe.ai_revenue.value,Pe):w?Wn(Ee.current.ai.revenue,ke):O,deltaLabel:Oe?D(Oe.ai_revenue.delta_pct):void 0,delta:Oe?Oe.ai_revenue.delta_pct:w?Ee.delta.revenue:null,muted:Je}),c.createElement(Rn,{hero:!0,muted:Je,label:M.report.stats.revPerSession,value:Oe?z(Oe.revenue_per_session.ai,Pe,2):w?Wn(Ee.current.ai.valuePerSession,ke,2):O,footnote:c.createElement("span",{className:"inline-flex items-center gap-1.5"},M.report.stats.vsOrganic(Oe?z(Oe.revenue_per_session.organic,Pe,2):w?Wn(Ee.current.organic.valuePerSession,ke,2):O),(null==Oe?void 0:Oe.meta.organic_includes_branded_search)&&c.createElement(In.Un,{text:M.reportStates.brandedSearch}),c.createElement("span",{className:"rounded-full bg-geekblue-600 px-1.5 py-0.5 text-[11px] font-semibold text-white"},Oe?null===Oe.revenue_per_session.multiple?O:"".concat(Oe.revenue_per_session.multiple.toFixed(1),"Ã"):w?"".concat(Ee.revPerSessionMultiple.toFixed(1),"Ã"):O))})),c.createElement(Mn,{data:A,days:Ee.days,clamped:!!w&&Ee.clamped,channels:oe,symbol
1:Oe?"":ke,metric:L,onMetricChange:F,granularity:_,onGranularityChange:U,live:Te,liveSources:We,allowFixtures:w}),c.createElement(Yn,{pages:Ee.pages,symbol:ke,ga4Revenue:m,live:Re.data,liveLoading:Re.loading,allowFixtures:w,sortBy:K,sortDir:X,onSortChange:function(e){$(function(t){return K===e&&"desc"===t?"asc":"desc"}),H(e),ne(1)},page:te,onPageChange:ne}),c.createElement(Xn,{open:ce,onClose:function(){return Ae(!1)}}),c.createElement(Vn,{open:fe,onClose:function(){return he(!1)},status:f,propertyIds:h,onReconnect:C}))};function ea(e){var t=e.className,n=void 0===t?"h-4 w-4":t;return c.createElement("svg",{viewBox:"0 0 24 24",className:n,"aria-hidden":"true",fill:"none"},c.createElement("path",{d:"M18.55 16.59 A 8 8 0 0 0 17.25 5.96",stroke:"#4285F4",strokeWidth:"3.1",strokeLinecap:"round"}),c.createElement("path",{d:"M17.25 5.96 A 8 8 0 0 0 6.54 6.15",stroke:"#EA4335",strokeWidth:"3.1",strokeLinecap:"round"}),c.createElement("path",{d:"M6.54 6.15 A 8 8 0 0 0 5.61 16.81",stroke:"#FBBC05",strokeWidth:"3.1",strokeLinecap:"round"}),c.createElement("path",{d:"M5.61 16.81 A 8 8 0 0 0 16.12 18.86",stroke:"#34A853",strokeWidth:"3.1",strokeLinecap:"round"}),c.createElement("path",{d:"M12.4 12 H 19.2",stroke:"#4285F4",strokeWidth:"3.1",strokeLinecap:"round"}))}const ta=function(e){var t=e.connected,n=void 0!==t&&t,a=e.onDisconnect,r=e.onBeforeRedirect,o=(0,c.useState)(!1),i=(0,s.A)(o,2),l=i[0],A=i[1],d=(0,c.useState)(null),u=(0,s.A)(d,2),m=u[0],x=u[1],g=function(){l||(Boolean(Gt)?(A(!0),x(null),null==r||r(),window.location.href=Mt()):x("Google sign-in isn't configured for this environment (missing client ID)."))};return n?c.createElement("div",null,c.createElement("div",{className:"flex flex-wrap items-center gap-3 rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-3"},c.createElement(p.CheckCircle2,{className:"h-4 w-4 flex-none text-emerald-600",strokeWidth:2}),c.createElement("div",{className:"min-w-0 flex-1"},c.createElement("p",{className:"text-[13px] font-semibold text-emerald-900"},"Connected to Google Analytics"),c.createElement("p",{className:"text-[12px] text-emerald-800"},M.wizard.step1.connectedScope)),c.createElement("button",{type:"button",onClick:function(){return null==a?void 0:a()},className:"rounded-md border border-emerald-300 bg-white px-3 py-1.5 text-[12px] font-medium text-emerald-800 transition-colors hover:bg-emerald-50"},M.wizard.step1.disconnect)),c.createElement("p",{className:"mt-3 text-[12.5px] text-gray-500"},"Choosing which properties to read from is not wired up yet.")):c.createElement("div",null,c.createElement("button",{type:"button",onClick:g,disabled:l,className:"inline-flex items-center gap-2.5 rounded-lg border border-gray-300 bg-white px-4 py-2.5 text-[13px] font-medium text-gray-700 shadow-sm transition-colors hover:bg-gray-50 disabled:opacity-60"},l?c.createElement(p.Loader2,{className:"h-4 w-4 animate-spin text-gray-400"}):c.createElement(ea,null),l?M.wizard.step1.connecting:M.wizard.step1.connectCta),c.createElement("p",{className:"mt-3 text-[12.5px] text-gray-500"},M.wizard.step1.reassurance),m&&c.createElement("div",{className:"mt-4 flex items-start gap-3 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3.5"},c.createElement(p.AlertTriangle,{className:"mt-0.5 h-4 w-4 flex-none text-amber-600",strokeWidth:2}),c.createElement("div",null,c.createElement("p",{className:"text-[12.5px] leading-relaxed text-amber-900"},m),c.createElement("button",{type:"button",onClick:g,className:"mt-2.5 rounded-md bg-amber-600 px-3 py-1.5 text-[12px] font-medium text-white transition-colors hover:bg-amber-700"},M.wizard.oauth.errors.DENIED.action))))};function na(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function aa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?na(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):na(Object(n)).forEac
1h(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ra(e){var t=e.propertyId,n=(0,c.useState)(!1),a=(0,s.A)(n,2),r=a[0],o=a[1];return c.createElement("button",{type:"button",onClick:function(e){var n;e.preventDefault(),e.stopPropagation(),null===(n=navigator.clipboard)||void 0===n||n.writeText(t).then(function(){o(!0),setTimeout(function(){return o(!1)},1600)}).catch(function(){})},title:M.wizard.step1.copyPropertyId,className:"inline-flex items-center gap-1 rounded font-mono text-[11px] text-gray-600 transition-colors hover:text-geekblue-600"},M.wizard.step1.propertyLabel(t),r?c.createElement(p.Check,{className:"h-3 w-3 text-emerald-600",strokeWidth:2.5}):c.createElement(p.Copy,{className:"h-2.5 w-2.5 opacity-50",strokeWidth:2}))}const oa=function(e){var t=e.accounts,n=e.selectedId,a=e.loading,r=e.onSelect,o=(0,c.useState)(""),i=(0,s.A)(o,2),l=i[0],A=i[1],d=(0,c.useMemo)(function(){return t.reduce(function(e,t){return e+t.properties.length},0)},[t])>5,u=(0,c.useMemo)(function(){var e=l.trim().toLowerCase();return e?t.map(function(t){return aa(aa({},t),{},{properties:t.properties.filter(function(t){return t.displayName.toLowerCase().includes(e)||t.propertyId.includes(e)})})}).filter(function(e){return e.properties.length>0}):t},[t,l]);return 0===t.length?null:c.createElement("div",{className:"mt-5"},c.createElement("p",{className:"text-[13px] font-medium text-gray-900"},M.wizard.step1.pickerHeading),c.createElement("p",{className:"mt-0.5 text-[12.5px] text-gray-500"},M.wizard.step1.pickerSubheading),d&&c.createElement("div",{className:"mt-3 flex items-center gap-2 rounded-lg border border-gray-200 px-2.5 py-1.5"},c.createElement(p.Search,{className:"h-3.5 w-3.5 flex-none text-gray-400",strokeWidth:2}),c.createElement("input",{value:l,onChange:function(e){return A(e.target.value)},placeholder:M.wizard.step1.pickerSearchPlaceholder,className:"w-full text-[12.5px] text-gray-900 focus:outline-none"})),c.createElement("div",{className:"mt-3 space-y-4"},u.map(function(e){return c.createElement("div",{key:e.accountId},c.createElement("div",{className:"flex items-baseline justify-between gap-3"},c.createElement("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-gray-400"},e.accountName),c.createElement("p",{className:"font-mono text-[10.5px] text-gray-400"},M.wizard.step1.accountLabel(e.accountId))),c.createElement("div",{className:"mt-1.5 space-y-2"},e.properties.map(function(e){var t=n===e.propertyId;return c.createElement("label",{key:e.propertyId,className:"flex cursor-pointer items-start gap-3 rounded-lg border px-4 py-3 transition-colors ".concat(t?"border-geekblue-400 bg-geekblue-100":"border-gray-200 bg-white hover:border-gray-300")},c.createElement("input",{type:"radio",name:"ga4-live-property",className:"mt-1 h-3.5 w-3.5 accent-geekblue-600",checked:t,disabled:a,onChange:function(){return r(e)}}),c.createElement("span",{className:"min-w-0 flex-1"},c.createElement("span",{className:"flex items-baseline justify-between gap-2"},c.createElement("span",{className:"truncate text-[13px] font-medium text-gray-900"},e.displayName),c.createElement("span",{className:"flex-none text-[10.5px] font-semibold uppercase tracking-wide text-gray-400"},e.propertyType.replace(/^PROPERTY_TYPE_/,""))),c.createElement("span",{className:"mt-0.5 block"},c.createElement(ra,{propertyId:e.propertyId}))),t&&a&&c.createElement(p.Loader2,{className:"mt-1 h-3.5 w-3.5 flex-none animate-spin text-geekblue-500"}))})))})))};function sa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function ia(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?sa(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sa(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var la={stage:"IDLE",account:null,error:null,finalising:!1};function ca(e,t){switch(t.type){case"LAUNCH":case"SWITCH_ACCOUNT":return ia(ia({},la),{},{stage:"LAUNCHING"});case"POPUP_READY":return ia(ia({},e),{},{stage:"ACCOUNT_CHOOSER"});case"PICK_ACCOUNT":return ia(ia({},e),{},{stage:"CONSENT",account:t.account});case"CONSENT_GRANTED":return ia(ia({},e),{},{stage:"PROCESSING"});case"FINALISE":return ia(ia({},e),{},{finalising:!0});case"SUCCEED":return ia(ia({},e),{},{stage:"SUCCESS",finalising:!1,error:null});case"FAIL":return ia(ia({},e),{},{stage:"ERROR",finalising:!1,error:t.error});case"RESET":return la;default:return e}}function Aa(e){var t,n,a,r,o=e.onScrimClose,i=e.children,l=(0,c.useRef)(null),A=(t=(0,c.useState)(!1),n=(0,s.A)(t,2),a=n[0],r=n[1],(0,c.useEffect)(function(){if("undefined"!=typeof window&&window.matchMedia){var e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=function(){return r(e.matches)};return t(),e.addEventListener("change",t),function(){return e.removeEventListener("change",t)}}},[]),a);return(0,c.useEffect)(function(){var e,t=l.current;if(t){var n=function(){return Array.from(t.querySelectorAll('button:not([disabled]), [href], input, select, textarea, [tabindex]:not
1([tabindex="-1"])')).filter(function(e){return null!==e.offsetParent})};null===(e=n()[0])||void 0===e||e.focus();var a=function(e){if("Escape"===e.key)return e.stopPropagation(),void o();if("Tab"===e.key){var t=n();if(0!==t.length){var a=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===a?(e.preventDefault(),r.focus()):e.shiftKey||document.activeElement!==r||(e.preventDefault(),a.focus())}}};return document.addEventListener("keydown",a,!0),function(){return document.removeEventListener("keydown",a,!0)}}},[o]),"undefined"==typeof document?null:(0,q.createPortal)(c.createElement("div",{className:"fixed inset-0 z-[1200] flex items-center justify-center p-4"},c.createElement("div",{className:"absolute inset-0 bg-slate-900/50",onClick:o,"aria-hidden":!0}),c.createElement("div",{ref:l,role:"dialog","aria-modal":"true","aria-label":M.wizard.oauth.windowLabel,style:{width:450,maxWidth:"100%",height:600,maxHeight:"92vh"},className:"relative flex flex-col overflow-hidden rounded-xl bg-white shadow-2xl ".concat(A?"":"ra-popup-enter")},c.createElement("div",{className:"flex items-center gap-2 border-b border-gray-200 bg-gray-50 px-3 py-2"},c.createElement(p.ChevronLeft,{className:"h-3.5 w-3.5 text-gray-300",strokeWidth:2,"aria-hidden":!0}),c.createElement(p.ChevronRight,{className:"h-3.5 w-3.5 text-gray-300",strokeWidth:2,"aria-hidden":!0}),c.createElement("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 rounded-md bg-white px-2 py-1 ring-1 ring-gray-200"},c.createElement(p.Lock,{className:"h-3 w-3 flex-none text-gray-400",strokeWidth:2,"aria-hidden":!0}),c.createElement("span",{className:"truncate text-[11px] text-gray-500"},K)),c.createElement("span",{className:"flex-none rounded-full bg-gray-200 px-2 py-0.5 text-[9.5px] font-semibold uppercase tracking-wide text-gray-600"},M.wizard.oauth.demoPill)),c.createElement("div",{className:"flex-1 overflow-y-auto px-7 py-7"},i))),document.body)}function pa(e){var t=e.onPick,n=e.onUseAnother,a=M.wizard.oauth.chooser;return c.createElement("div",null,c.createElement(ea,{className:"h-6 w-6"}),c.createElement("h2",{className:"mt-5 text-[19px] font-normal text-gray-900"},a.title),c.createElement("p",{className:"mt-1 text-[13px] text-gray-600"},a.subtitle),c.createElement("ul",{className:"mt-6 divide-y divide-gray-100 border-y border-gray-100"},$.map(function(e){return c.createElement("li",{key:e.id},c.createElement("button",{type:"button",onClick:function(){return t(e)},className:"flex w-full items-center gap-3 py-3 text-left transition-colors hover:bg-gray-50"},c.createElement("span",{className:"flex h-8 w-8 flex-none items-center justify-center rounded-full text-[11.5px] font-semibold text-white",style:{backgroundColor:e.color},"aria-hidden":!0},e.initials),c.createElement("span",{className:"min-w-0"},c.createElement("span",{className:"block truncate text-[13.5px] text-gray-900"},e.name),c.createElement("span",{className:"block truncate text-[12px] text-gray-500"},e.email))))}),c.createElement("li",null,c.createElement("button",{type:"button",onClick:n,className:"flex w-full items-center gap-3 py-3 text-left transition-colors hover:bg-gray-50"},c.createElement("span",{className:"flex h-8 w-8 flex-none items-center justify-center rounded-full ring-1 ring-gray-200"},c.createElement(p.Plus,{className:"h-3.5 w-3.5 text-gray-500",strokeWidth:2})),c.createElement("span",{className:"text-[13.5px] text-gray-900"}
1,a.useAnother)))))}function da(e){var t=e.account,n=e.scopes,a=e.onCancel,r=e.onConfirm,o=M.wizard.oauth.consent,i=(0,c.useState)(!1),l=(0,s.A)(i,2),A=l[0],d=l[1];return c.createElement("div",{className:"flex min-h-full flex-col"},c.createElement(ea,{className:"h-6 w-6"}),c.createElement("h2",{className:"mt-5 text-[19px] font-normal leading-snug text-gray-900"},o.title),c.createElement("div",{className:"mt-3 inline-flex w-fit items-center gap-2 rounded-full border border-gray-200 px-2.5 py-1"},c.createElement("span",{className:"flex h-5 w-5 items-center justify-center rounded-full text-[9px] font-semibold text-white",style:{backgroundColor:t.color},"aria-hidden":!0},t.initials),c.createElement("span",{className:"text-[12px] text-gray-700"},t.email)),c.createElement("p",{className:"mt-6 text-[13px] text-gray-700"},o.allowIntro),c.createElement("div",{className:"mt-3 rounded-lg border border-gray-200 p-3"},c.createElement("div",{className:"flex gap-3"},c.createElement("span",{className:"mt-0.5 flex h-6 w-6 flex-none items-center justify-center rounded-md bg-gray-100 text-[12px]"},"ð"),c.createElement("div",{className:"min-w-0 flex-1"},c.createElement("p",{className:"text-[13px] font-medium text-gray-900"},o.scopeTitle),c.createElement("p",{className:"mt-0.5 text-[12px] leading-relaxed text-gray-600"},o.scopeBody),c.createElement("button",{type:"button",onClick:function(){return d(function(e){return!e})},"aria-expanded":A,className:"mt-1.5 inline-flex items-center gap-1 text-[11.5px] font-medium text-geekblue-600 hover:text-geekblue-700"},o.scopeToggle,c.createElement(p.ChevronDown,{className:"h-3 w-3 transition-transform ".concat(A?"rotate-180":""),strokeWidth:2})),A&&c.createElement("ul",{className:"mt-2 space-y-1"},n.map(function(e){return c.createElement("li",{key:e,className:"break-all rounded bg-gray-50 px-2 py-1 font-mono text-[10.5px] text-gray-700"},e)}))))),c.createElement("p",{className:"mt-6 text-[13px] font-medium text-gray-900"},o.trustTitle),c.createElement("p",{className:"mt-1.5 text-[12px] leading-relaxed text-gray-600"},o.trustBody),c.createElement("div",{className:"mt-auto flex justify-end gap-2 pt-7"},c.createElement("button",{type:"button",onClick:a,className:"rounded-md px-4 py-2 text-[13px] font-medium text-geekblue-600 transition-colors hover:bg-geekblue-100"},o.cancel),c.createElement("button",{type:"button",onClick:r,className:"rounded-md bg-geekblue-600 px-5 py-2 text-[13px] font-medium text-white transition-colors hover:bg-geekblue-700"},o.confirm)))}function ua(e){var t=e.label;return c.createElement("div",{className:"flex h-full flex-col items-center justify-center gap-3"},c.createElement(p.Loader2,{className:"h-6 w-6 animate-spin text-gray-400"}),c.createElement("p",{className:"text-[13px] text-gray-600"},t))}function ma(e){var t=e.propertyId,n=(0,c.useState)(!1),a=(0,s.A)(n,2),r=a[0],o=a[1];return c.createElement("button",{type:"button",onClick:function(e){var n;e.preventDefault(),e.stopPropagation(),null===(n=navigator.clipboard)||void 0===n||n.writeText(t).then(function(){o(!0),setTimeout(function(){return o(!1)},1600)}).catch(function(){})},title:M.wizard.step1.copyPropertyId,"aria-label":"".concat(M.wizard.step1.copyPropertyId," ").concat(t),className:"inline-flex items-center gap-1 rounded font-mono text-[11px] text-gray-600 transition-colors hover:text-geekblue-600"},M.wizard.step1.propertyLabel(t),r?c.createElement(p.Check,{className:"h-3 w-3 text-emerald-600",strokeWidth:2.5}):c.createElement(p.Copy,{className:"h-2.5 w-2.5 opacity-50",strokeWidth:2}))}function xa(e){var t=e.accounts,n=e.selectedIds,a=e.onToggle,r=(0,c.useState)(""),o=(0,s.A)(r,2),i=o[0],l=o[1],A=(0,c.useMemo)(function(){return function(e){return e.reduce(function(e,t){return e+t.properties.length},0)}(t)},[t]),d=A>5,u=(0,c.useMemo)(function(){var e=i.trim().toLowerCase();return e?t.map(function(t){return ia(ia({},t),{},{properties:t.properties.filter(function(t){return t.name.toLowerCase().includes(e)||t.propertyId.toLowerCase().includes(e)})})}).filter(function(e){return e.properties.length>0}):t},[t,i]);return c.createElement("div",{className:"mt-5"},c.createElement("p",{className:"text-[13px] font-medium text-gray-900"},M.wizard.step1.pickerHeading),c.createElement("p",{className:"mt-0.5 text-[12.5px] text-gray-500"},M.wizard.step1.pickerSubheading),d&&c.createElement("div",{className:"mt-3 flex items-center gap-2 rounded-lg border border-gray-200 px-2.5 py-1.5"},c.createElement(p.Search,{className:"h-3.5 w-3.5 flex-none text-gray-400",strokeWidth:2}),c.createElement("input",{value:i,onChange:function(e){return l(e.target.value)},placeholder:M.wizard.step1.pickerSearchPlaceholder,className:"w-full text-[12.5px] text-gray-900 focus:outline-none"})),c.createElement("div",{className:"mt-3 space-y-4"},u.map(function(e){return c.createElement("div",{key:e.accountId},c.createElement("div",{className:"flex items-baseline justify-between gap-3"}
1,c.createElement("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-gray-400"},e.accountName),c.createElement("p",{className:"font-mono text-[10.5px] text-gray-400"},M.wizard.step1.accountLabel(e.accountId))),c.createElement("div",{className:"mt-1.5 space-y-2"},e.properties.map(function(e){var t,r,o=n.includes(e.id);return c.createElement("label",{key:e.id,className:"flex cursor-pointer items-start gap-3 rounded-lg border px-4 py-3 transition-colors ".concat(e.supported?o?"border-geekblue-400 bg-geekblue-100":"border-gray-200 bg-white hover:border-gray-300":"cursor-not-allowed border-gray-200 bg-gray-50 opacity-70")},c.createElement("input",{type:"checkbox",className:"mt-1 h-3.5 w-3.5 rounded accent-geekblue-600",disabled:!e.supported,checked:o,onChange:function(){return a(e)}}),c.createElement("span",{className:"min-w-0 flex-1"},c.createElement("span",{className:"flex items-baseline justify-between gap-2"},c.createElement("span",{className:"truncate text-[13px] font-medium text-gray-900"},e.name),c.createElement("span",{className:"flex-none text-[10.5px] font-semibold uppercase tracking-wide text-gray-400"},e.kind)),e.supported?c.createElement(c.Fragment,null,c.createElement("span",{className:"mt-0.5 flex flex-wrap items-center gap-x-1.5 text-[11px] text-gray-500"},c.createElement(ma,{propertyId:e.propertyId}),c.createElement("span",{"aria-hidden":!0},"·"),c.createElement("span",null,e.timeZone),c.createElement("span",{"aria-hidden":!0},"·"),c.createElement("span",null,e.currencyCode)),c.createElement("span",{className:"mt-0.5 block text-[11.5px] text-gray-500"},M.wizard.step1.sessionsLast30d(null!==(t=e.sessionsLast30d)&&void 0!==t?t:0))):c.createElement("span",{className:"mt-0.5 block text-[11.5px] text-gray-500"},null!==(r=e.unsupportedReason)&&void 0!==r?r:M.wizard.step1.uaTooltip)))})))})),c.createElement("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-2"},c.createElement("p",{className:"text-[11.5px] text-gray-500"},M.wizard.step1.multiProperty),c.createElement("p",{className:"text-[11.5px] font-medium text-gray-600"},M.wizard.step1.selectedCount(n.length))),0===n.length&&c.createElement("p",{className:"mt-1.5 text-[11.5px] text-amber-700"},M.wizard.step1.selectAtLeastOne))}var ga=["https://www.googleapis.com/auth/analytics.readonly"];const fa=function(e){var t=e.scopes,n=e.onSuccess,a=e.onError,r=e.onDisconnect,i=e.selectedPropertyIds,l=e.connectedEmail,A=void 0===l?null:l,d=e.forcedError,u=void 0===d?null:d,m=(0,c.useReducer)(ca,A,function(e){var t=e?$.find(function(t){return t.email===e}):void 0;return t?{stage:"SUCCESS",account:t,error:null,finalising:!1}:la}),x=(0,s.A)(m,2),g=x[0],f=x[1],h=(0,c.useState)(null),C=(0,s.A)(h,2),v=C[0],b=C[1],y=(0,c.useRef)(null),w=(0,c.useRef)([]),k=(0,c.useCallback)(function(e,t){var n=window.setTimeout(t,e);w.current.push(n)},[]);(0,c.useEffect)(function(){return function(){w.current.forEach(function(e){return window.clearTimeout(e)})}},[]);var E,B=(0,c.useCallback)(function(e){var t;f({type:"FAIL",error:e}),null==a||a(e),null===(t=y.current)||void 0===t||t.focus()},[a]),N=(0,c.useCallback)(function(){f({type:"LAUNCH"}),k(H,function(){return f({type:"POPUP_READY"})})},[k]),S=(0,c.useCallback)(function(e){f({type:"CONSENT_GRANTED"}),k(Q,function(){f({type:"FINALISE"}),k(X,function(){"NO_PROPERTIES"!==u&&"INSUFFICIENT_PERMISSION"!==u?(f({type:"SUCCEED"}),n(e,[])):B(u)})})},[k,B,u,n]),I="LAUNCHING"===(E=g.stage)||"ACCOUNT_CHOOSER"===E||"CONSENT"===E||"PROCESSING"===E,O=g.error?M.wizard.oauth.errors[g.error]:null;return c.createElement("div",null,"SUCCESS"===g.stage&&g.account?c.createElement(c.Fragment,null,c.createElement("div",{className:"flex flex-wrap items-center gap-3 rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-3"},c.createElement(p.CheckCircle2,{className:"h-4 w-4 flex-none text-emerald-600",strokeWidth:2}),c.createElement("div",{className:"min-w-0 flex-1"},c.createElement("p",{className:"truncate text-[13px] font-semibold text-emerald-900"},M.wizard.step1.connectedAs(g.account.email)),c.createElement("p",{className:"text-[12px] text-emerald-800"},M.wizard.step1.connectedScope)),c.createElement("button",{type:"button",onClick:function(){f({type:"RESET"}),null==r||r()},className:"rounded-md border border-emerald-300 bg-white px-3 py-1.5 text-[12px] font-medium text-emerald-800 transition-colors hover:bg-emerald-50"},M.wizard.step1.disconnect)),c.createElement(xa,{accounts:Z,selectedIds:i,onToggle:function(e){var t=i.includes(e.id)?i.filter(function(t){return t!==e.id}):[].concat((0,o.A)(i),[e.id]);n(g.account,t)}})):c.createElement(c.Fragment,null,c.createElement("button",{ref:y,type:"button",onClick:N,disabled:I||g.finalising,className:"inline-flex items-center gap-2.5 rounded-lg border border-gray-300 bg-white px-4 py-2.5 text-[13px] font-medium text-gray-700 shadow-sm transition-colors hover:bg-gray-50 disabled:opacity-60"}
1,I||g.finalising?c.createElement(p.Loader2,{className:"h-4 w-4 animate-spin text-gray-400"}):c.createElement(ea,null),I?M.wizard.step1.connecting:M.wizard.step1.connectCta),c.createElement("p",{className:"mt-3 text-[12.5px] text-gray-500"},M.wizard.step1.reassurance),g.finalising&&c.createElement("p",{className:"mt-3 inline-flex items-center gap-2 text-[12.5px] text-gray-600"},c.createElement(p.Loader2,{className:"h-3.5 w-3.5 animate-spin text-geekblue-500"}),M.wizard.step1.wizardConnecting),O&&!I&&!g.finalising&&c.createElement("div",{className:"mt-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3.5"},c.createElement("div",{className:"flex items-start gap-3"},c.createElement(p.AlertTriangle,{className:"mt-0.5 h-4 w-4 flex-none text-amber-600",strokeWidth:2}),c.createElement("div",null,c.createElement("p",{className:"text-[12.5px] leading-relaxed text-amber-900"},O.message),c.createElement("button",{type:"button",onClick:N,className:"mt-2.5 rounded-md bg-amber-600 px-3 py-1.5 text-[12px] font-medium text-white transition-colors hover:bg-amber-700"},O.action))))),I&&c.createElement(Aa,{onScrimClose:function(){return B("POPUP_CLOSED")}},"LAUNCHING"===g.stage&&c.createElement(ua,{label:M.wizard.oauth.processing}),"ACCOUNT_CHOOSER"===g.stage&&c.createElement(pa,{onPick:function(e){return k(V,function(){return f({type:"PICK_ACCOUNT",account:e})})},onUseAnother:function(){return e=M.wizard.oauth.chooser.useAnotherUnavailable,b(e),void k(2200,function(){return b(null)});var e}}),"CONSENT"===g.stage&&g.account&&c.createElement(da,{account:g.account,scopes:t,onCancel:function(){return B("DENIED")},onConfirm:function(){return S(g.account)}}),"PROCESSING"===g.stage&&c.createElement(ua,{label:M.wizard.oauth.processing})),v&&c.createElement("div",{className:"fixed bottom-6 left-1/2 z-[1300] -translate-x-1/2 rounded-lg bg-gray-900 px-4 py-2 text-[12.5px] text-white shadow-lg"},v))};var ha=n(25129);function Ca(){var e=M.revenueStack.comingSoon,t=(0,c.useState)(!1),n=(0,s.A)(t,2),r=n[0],o=n[1],i=(0,c.useState)(""),A=(0,s.A)(i,2),d=A[0],u=A[1],m=(0,c.useState)(!1),x=(0,s.A)(m,2),g=x[0],f=x[1],h=(0,c.useState)(!1),C=(0,s.A)(h,2),v=C[0],b=C[1],y=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!g&&d.trim()){e.next=1;break}return e.abrupt("return");case 1:return f(!0),(0,ha.r)("feature_requested",{feature:"revenue_attribution_stripe",surface:"setup_wizard",use_case:d.trim()}),e.next=2,Xe(600);case 2:f(!1),b(!0);case 3:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return c.createElement("div",null,c.createElement("div",{className:"flex items-start gap-3 rounded-lg border border-gray-200 bg-gray-50/70 px-4 py-3.5"},c.createElement(p.Clock,{className:"mt-0.5 h-4 w-4 flex-none text-gray-400",strokeWidth:2}),c.createElement("p",{className:"text-[12.5px] leading-relaxed text-gray-600"},e.body)),c.createElement("div",{className:"mt-5 rounded-lg border border-geekblue-200 bg-geekblue-100/40 px-4 py-3.5"},c.createElement("p",{className:"text-[13px] font-semibold text-gray-900"},e.interestHeading),c.createElement("p",{className:"mt-1 text-[12.5px] leading-relaxed text-gray-600"},e.interestBody),v?c.createElement("p",{className:"mt-3 inline-flex items-center gap-2 text-[12.5px] font-medium text-emerald-700"},c.createElement(p.CheckCircle2,{className:"h-4 w-4",strokeWidth:2}),e.thanks):c.createElement(c.Fragment,null,c.createElement("button",{type:"button",onClick:function(){r||(o(!0),(0,ha.r)("feature_upvoted",{feature:"revenue_attribution_stripe",surface:"setup_wizard"}))},disabled:r,className:"mt-3 inline-flex items-center gap-1.5 rounded-lg border px-3 py-1.5 text-[12px] font-medium transition-colors ".concat(r?"cursor-default border-emerald-200 bg-emerald-50 text-emerald-700":"border-gray-200 bg-white text-gray-700 hover:bg-gray-50")},r?c.createElement(p.Check,{className:"h-3.5 w-3.5",strokeWidth:2.5}):c.createElement(p.ThumbsUp,{className:"h-3.5 w-3.5",strokeWidth:2}),r?e.upvoted:e.upvote),c.createElement("textarea",{value:d,onChange:function(e){return u(e.target.value)},rows:3,placeholder:e.useCasePlaceholder,className:"mt-3 w-full resize-y rounded-lg border border-gray-200 px-3 py-2 text-[12.5px] text-gray-900 focus:border-geekblue-400 focus:outline-none"}),c.createElement("div",{className:"mt-2 flex flex-wrap items-center gap-3"}
1,c.createElement("button",{type:"button",onClick:y,disabled:g||!d.trim(),className:"inline-flex items-center gap-2 rounded-lg bg-geekblue-600 px-3.5 py-2 text-[12.5px] font-medium text-white transition-colors hover:bg-geekblue-700 disabled:cursor-not-allowed disabled:opacity-40"},g&&c.createElement(p.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),g?e.submitting:e.submit),!d.trim()&&c.createElement("span",{className:"text-[11.5px] text-gray-400"},e.needUseCase)))))}var va='<script async src="https://cdn.thrivestack.ai/ts.js"\n data-workspace="ws_8f21c4"><\/script>';function ba(){var e=M.revenueStack.script,t=(0,c.useState)(!1),n=(0,s.A)(t,2),r=n[0],o=n[1],i=(0,c.useState)(!1),A=(0,s.A)(i,2),d=A[0],u=A[1],m=(0,c.useState)(!1),x=(0,s.A)(m,2),g=x[0],f=x[1],h=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=1,navigator.clipboard.writeText(va);case 1:o(!0),setTimeout(function(){return o(!1)},1800),e.next=3;break;case 2:e.prev=2,e.catch(0);case 3:case"end":return e.stop()}},e,null,[[0,2]])}));return function(){return e.apply(this,arguments)}}(),C=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return u(!0),e.next=1,Xe(1400);case 1:u(!1),f(!0);case 2:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return c.createElement("div",null,c.createElement("div",{className:"flex items-center justify-between"},c.createElement("p",{className:"text-[12.5px] text-gray-500"},e.subheading),c.createElement("button",{type:"button",onClick:h,className:"inline-flex items-center gap-1.5 rounded-md border border-gray-200 bg-white px-2.5 py-1 text-[11.5px] font-medium text-gray-600 transition-colors hover:bg-gray-50"},r?c.createElement(p.Check,{className:"h-3 w-3 text-emerald-600",strokeWidth:2.5}):c.createElement(p.Copy,{className:"h-3 w-3",strokeWidth:2}),r?e.copied:e.copy)),c.createElement("pre",{className:"mt-2.5 overflow-x-auto rounded-lg bg-gray-900 px-3.5 py-3 font-mono text-[11px] leading-relaxed text-gray-100"},c.createElement("code",null,va)),g?c.createElement("p",{className:"mt-3.5 inline-flex items-center gap-2 text-[12.5px] font-medium text-emerald-700"},c.createElement(p.CheckCircle2,{className:"h-4 w-4",strokeWidth:2}),e.verified):c.createElement("button",{type:"button",onClick:C,disabled:d,className:"mt-3.5 inline-flex items-center gap-2 rounded-lg bg-geekblue-600 px-3.5 py-2 text-[12.5px] font-medium text-white transition-colors hover:bg-geekblue-700 disabled:opacity-60"},d&&c.createElement(p.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d?e.verifying:e.verify))}var ya='curl https://api.stripe.com/v1/customers \\\n -u "sk_live_...:" \\\n -d name="Jenny Rosen" \\\n -d "metadata[session_id]"=ts_9f2c41ab';function wa(){var e=M.revenueStack.sessionId,t=(0,c.useState)(!1),n=(0,s.A)(t,2),r=n[0],o=n[1],i=(0,c.useState)(!1),A=(0,s.A)(i,2),d=A[0],u=A[1],m=(0,c.useState)(!1),x=(0,s.A)(m,2),g=x[0],f=x[1],h=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=1,navigator.clipboard.writeText(ya);case 1:o(!0),setTimeout(function(){return o(!1)},1800),e.next=3;break;case 2:e.prev=2,e.catch(0);case 3:case"end":return e.stop()}},e,null,[[0,2]])}));return function(){return e.apply(this,arguments)}}(),C=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return u(!0),e.next=1,Xe(1400);case 1:u(!1),f(!0);case 2:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return c.createElement("div",null,c.createElement("div",{className:"flex flex-wrap items-center gap-2"},c.createElement("span",{className:"text-[12px] text-gray-500"},e.keyLabel),c.createElement("code",{className:"rounded-md bg-gray-100 px-2 py-0.5 font-mono text-[12px] text-gray-800"},e.keyValue)),c.createElement("div",{className:"mt-3 flex items-center justify-between gap-3"},c.createElement("p",{className:"text-[12px] text-gray-500"},e.snippetLabel),c.createElement("button",{type:"button",onClick:h,className:"inline-flex flex-none items-center gap-1.5 rounded-md border border-gray-200 bg-white px-2.5 py-1 text-[11.5px] font-medium text-gray-600 transition-colors hover:bg-gray-50"},r?c.createElement(p.Check,{className:"h-3 w-3 text-emerald-600",strokeWidth:2.5}):c.createElement(p.Copy,{className:"h-3 w-3",strokeWidth:2}),r?e.copied:e.copy)),c.createElement("pre",{className:"mt-2 overflow-x-auto rounded-lg bg-gray-900 px-3.5 py-3 font-mono text-[11px] leading-relaxed text-gray-100"},c.createElement("code",null,ya)),c.createElement("p",{className:"mt-2.5 text-[11.5px] italic text-gray-400"},e.note),g?c.createElement("p",{className:"mt-3.5 inline-flex items-center gap-2 text-[12.5px] font-medium text-emerald-700"},c.createElement(p.CheckCircle2,{className:"h-4 w-4",strokeWidth:2}),e.found):c.createElement("button",{type:"button",onClick:C,disabled:d,className:"mt-3.5 inline-flex items-center gap-2 rounded-lg bg-geekblue-600 px-3.5 py-2 text-[12.5px] font-medium text-white transition-colors hover:bg-geekblue-700 disabled:opacity-60"}
1,d&&c.createElement(p.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),d?e.verifying:e.verify))}function ka(){var e=M.revenueStack.stripe,t=(0,c.useState)(!1),n=(0,s.A)(t,2),r=n[0],o=n[1],i=(0,c.useState)(!1),A=(0,s.A)(i,2),d=A[0],u=A[1],m=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o(!0),e.next=1,Xe(1500);case 1:o(!1),u(!0);case 2:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}();return d?c.createElement("div",{className:"flex items-start gap-3 rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-3.5"},c.createElement(p.CheckCircle2,{className:"mt-0.5 h-4 w-4 flex-none text-emerald-600",strokeWidth:2}),c.createElement("div",null,c.createElement("p",{className:"text-[13px] font-semibold text-emerald-900"},e.connected("ThriveStack Inc.")),c.createElement("p",{className:"mt-0.5 text-[12px] text-emerald-800"},e.scope))):c.createElement("div",null,c.createElement("button",{type:"button",onClick:m,disabled:r,className:"inline-flex items-center gap-2.5 rounded-lg border border-gray-300 bg-white px-4 py-2.5 text-[13px] font-medium text-gray-700 shadow-sm transition-colors hover:bg-gray-50 disabled:opacity-60"},r?c.createElement(p.Loader2,{className:"h-4 w-4 animate-spin text-gray-400"}):c.createElement(p.CreditCard,{className:"h-4 w-4 text-[#635BFF]",strokeWidth:2}),r?e.connecting:e.connect),c.createElement("p",{className:"mt-3 text-[12.5px] text-gray-500"},e.scope))}var Ea={id:"path",label:M.pathChooser.label,title:M.pathChooser.heading,summary:M.pathChooser.subheading},Ba=[{id:"connect",label:M.wizard.steps[0],title:M.wizard.step1.heading,summary:M.wizard.step1.summary},{id:"channel",label:M.wizard.steps[1],title:M.wizard.step2.heading,summary:M.wizard.step2.subheading},{id:"events",label:M.wizard.steps[2],title:M.wizard.step3.heading,summary:M.wizard.step3.subheading},{id:"next",label:M.wizard.steps[3],title:M.whatsNext.heading,summary:M.whatsNext.summary}],Na=[{id:"script",label:M.revenueStack.script.label,title:M.revenueStack.script.heading,summary:M.revenueStack.script.subheading},{id:"sessionId",label:M.revenueStack.sessionId.label,title:M.revenueStack.sessionId.heading,summary:M.revenueStack.sessionId.subheading},{id:"stripe",label:M.revenueStack.stripe.label,title:M.revenueStack.stripe.heading,summary:M.revenueStack.stripe.subheading},{id:"next",label:M.wizard.steps[3],title:M.whatsNext.heading,summary:M.whatsNext.summary}],Sa=[{id:"comingSoon",label:M.revenueStack.comingSoon.label,title:M.revenueStack.comingSoon.heading,summary:M.revenueStack.comingSoon.body}];function Ia(e,t){return"ga4"===e?[Ea].concat(Ba):"revenue_stack"===e?[Ea].concat((0,o.A)(t?Na:Sa)):[Ea]}function Oa(e,t){var n=e.findIndex(function(e){return e.id===t});return-1===n?1:n+1}var Ta=n(51764),Da={};Da.styleTagTransform=nn(),Da.setAttributes=$t(),Da.insert=Qt().bind(null,"head"),Da.domAPI=Ht(),Da.insertStyleElement=en();Yt()(Ta.A,Da);Ta.A&&Ta.A.locals&&Ta.A.locals;function za(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function Ja(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?za(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):za(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Pa(e){var t=e.text.split(/(\*\*[^*]+\*\*|\*[^*]+\*|`[^`]+`)/g).filter(Boolean);return c.createElement(c.Fragment,null,t.map(function(e,t){return e.startsWith("**")&&e.endsWith("**")?c.createElement("strong",{key:t},e.slice(2,-2)):e.startsWith("`")&&e.endsWith("`")?c.createElement("code",{key:t},e.slice(1,-1)):e.startsWith("*")&&e.endsWith("*")?c.createElement("em",{key:t,className:"italic"},e.slice(1,-1)):c.createElement(c.Fragment,{key:t},e)}))}var Wa=function(){return c.createElement("svg",{className:"arw",width:"15",height:"15",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0},c.createElement("path",{d:"M3 8h9M9 4l4 4-4 4",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round"}))};function Ra(e){var t=e.eyebrow,n=e.title,a=e.lede;return c.createElement("div",{className:"rasx-intro"},c.createElement("div",{className:"rasx-intro-eyebrow"},t),c.createElement("h2",null,n),c.createElement("p",{className:"rasx-lede"},a))}function La(e){var t=e.tone,n=e.pill,a=e.loading,r=void 0!==a&&a,o=e.children,s=r?c.createElement(p.Lo
1ader2,{className:"rasx-spin",size:14,strokeWidth:2.5}):"ok"===t?c.createElement(p.Check,{size:14,strokeWidth:3}):"warn"===t?c.createElement(p.AlertTriangle,{size:13,strokeWidth:2.5}):c.createElement(p.Minus,{size:14,strokeWidth:3});return c.createElement("div",{className:"rasx-result ".concat(t)},c.createElement("span",{className:"rasx-result-ic"},s),c.createElement("span",{className:"rasx-result-text"},o),n&&c.createElement("span",{className:"rasx-result-pill"},n))}function Fa(e){var t=e.label;return c.createElement("a",{className:"rasx-link",href:"https://analytics.google.com/analytics/web/#/admin",target:"_blank",rel:"noreferrer noopener"},t,c.createElement(p.ExternalLink,null))}function Ga(e){var t=e.label,n=void 0===t?"Documentation":t;return c.createElement("a",{className:"rasx-link muted",href:"#",target:"_blank",rel:"noreferrer noopener"},c.createElement(p.BookOpen,null),n)}function ja(){return c.createElement("svg",{viewBox:"0 0 24 24",width:"21",height:"21","aria-hidden":"true",focusable:"false"},c.createElement("rect",{x:"14.5",y:"2.5",width:"6",height:"19",rx:"3",fill:"#F9AB00"}),c.createElement("rect",{x:"8.5",y:"8.5",width:"6",height:"13",rx:"3",fill:"#E8710A"}),c.createElement("circle",{cx:"5.5",cy:"18.5",r:"3",fill:"#E8710A"}))}function _a(){return c.createElement("svg",{viewBox:"0 0 24 24",width:"21",height:"21","aria-hidden":"true",focusable:"false"},c.createElement("rect",{width:"24",height:"24",rx:"6",fill:"#2F54EB"}),c.createElement("path",{d:"M7 15.5 10.4 9l2.3 3.7L15 8l2 3.9",fill:"none",stroke:"#fff",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round"}))}function Ma(e){var t=e.crumb,n=e.tab,a=e.tabs;return c.createElement(c.Fragment,null,c.createElement("div",{className:"aw-top"},c.createElement("span",{className:"aw-crumb"},t),c.createElement("span",{className:"aw-preview-badge",title:"Sample data â not your live report yet"},"Preview")),c.createElement("div",{className:"aw-filters"},c.createElement("span",{className:"aw-chip"},c.createElement(p.Calendar,{size:11,strokeWidth:2}),"Last 30 days",c.createElement(p.ChevronDown,{size:11,strokeWidth:2})),c.createElement("span",{className:"aw-chip"},"All AI assistants",c.createElement(p.ChevronDown,{size:11,strokeWidth:2})),c.createElement("span",{className:"aw-chip"},"All countries",c.createElement(p.ChevronDown,{size:11,strokeWidth:2}))),c.createElement("div",{className:"aw-tabs"},a.map(function(e){return c.createElement("span",{key:e,className:"aw-tab".concat(e===n?" on":"")},e)})))}function Ua(){return c.createElement("svg",{className:"aw-chart",viewBox:"0 0 340 110",preserveAspectRatio:"none","aria-hidden":"true"},[22,44,66,88].map(function(e){return c.createElement("line",{key:e,className:"aw-grid",x1:"0",x2:"340",y1:e,y2:e})}),[{d:"M0,74 C46,66 78,40 120,46 168,53 206,26 248,32 292,38 312,34 340,30",c:"#7c5cfc"},{d:"M0,60 C46,58 84,56 120,57 170,58 210,55 252,56 300,57 320,56 340,55",c:"#2f54eb"},{d:"M0,88 C50,86 88,82 128,78 176,73 214,80 256,76 300,72 322,70 340,68",c:"#10a472"},{d:"M0,50 C44,54 82,62 124,64 172,66 212,58 254,52 298,46 320,44 340,42",c:"#e8710a"}].map(function(e){return c.createElement("path",{key:e.c,className:"aw-ln",d:e.d,style:{stroke:e.c}})}))}function qa(){return c.createElement("div",{className:"rasx-appwin","aria-hidden":"true"},c.createElement(Ma,{crumb:c.createElement(c.Fragment,null,"Agent analytics ",c.createElement("span",{className:"aw-sep"},"âº")," ",c.createElement("b",null,"Google Analytics")),tab:"Overview",tabs:["Overview","Details","Settings"]}),c.createElement("div",{className:"aw-body"},c.createElement("div",{className:"aw-src"},"linear.app · GA4 · Last 30 days"),c.createElement("div",{className:"aw-headline"},"ChatGPT drove 45% of AI-referred sessions"),c.createElement("div",{className:"aw-sub"},"12,324 sessions arrived from AI Assistants in the last 30 days."),c.createElement("div",{className:"aw-kpis"},c.createElement("div",{className:"aw-kpi"},c.createElement("span",{className:"k"},"Sessions"),c.createElement("b",null,"12,438"),c.createElement("i",{className:"up"},"+26.1%")),c.createElement("div",{className:"aw-kpi"},c.createElement("span",{className:"k"},"Engaged"),c.createElement("b",null,"68.2%")),c.createElement("div",{className:"aw-kpi"},c.createElement("span",{className:"k"}
1,"Revenue"),c.createElement("b",null,"$29.5k"),c.createElement("i",{className:"up"},"+18.4%"))),c.createElement("div",{className:"aw-card"},c.createElement("div",{className:"aw-card-h"},"Sessions over time"),c.createElement(Ua,null))))}function Ya(){return c.createElement("div",{className:"rasx-appwin","aria-hidden":"true"},c.createElement(Ma,{crumb:c.createElement(c.Fragment,null,"Revenue ",c.createElement("span",{className:"aw-sep"},"âº")," ",c.createElement("b",null,"Attribution")),tab:"Overview",tabs:["Overview","Pages","Settings"]}),c.createElement("div",{className:"aw-body"},c.createElement("div",{className:"aw-src"},"Stripe · ThriveStack · Last 30 days"),c.createElement("div",{className:"aw-headline"},"$4,920 traced to AI-cited pages"),c.createElement("div",{className:"aw-sub"},"Real payments matched to the page and assistant that earned them."),c.createElement("div",{className:"aw-kpis"},c.createElement("div",{className:"aw-kpi"},c.createElement("span",{className:"k"},"Attributed"),c.createElement("b",null,"$4,920"),c.createElement("i",{className:"up"},"+22%")),c.createElement("div",{className:"aw-kpi"},c.createElement("span",{className:"k"},"Conversions"),c.createElement("b",null,"37")),c.createElement("div",{className:"aw-kpi"},c.createElement("span",{className:"k"},"Top channel"),c.createElement("b",null,"Perplexity"))),c.createElement("div",{className:"aw-card"},c.createElement("div",{className:"aw-card-h"},"Top earning pages"),c.createElement("table",{className:"aw-table"},c.createElement("tbody",null,[{pg:"/pricing",src:"Perplexity",amt:"$2,682"},{pg:"/demo",src:"ChatGPT",amt:"$1,240"},{pg:"/guides/aeo",src:"Gemini",amt:"$998"}].map(function(e){return c.createElement("tr",{key:e.pg},c.createElement("td",{className:"pg"},e.pg),c.createElement("td",{className:"src"},e.src),c.createElement("td",{className:"amt"},e.amt))}))))))}function Ka(e){var t,n,a=e.state,r=e.patch,o=e.requestOpen,s=e.onToggleRequest,i=M.pathChooser,l=[{id:"ga4",logo:c.createElement(ja,null),title:i.ga4.title,tag:i.ga4.tag,sub:i.ga4.sub,body:i.ga4.body,bullets:i.ga4.bullets,preview:"ga4",comingSoon:!1},{id:"revenue_stack",logo:c.createElement(_a,null),title:i.revenueStack.title,tag:i.revenueStack.tag,sub:i.revenueStack.sub,body:i.revenueStack.body,bullets:i.revenueStack.bullets,preview:"thrivestack",comingSoon:!0}],A=null!==(t=a.setupPath)&&void 0!==t?t:"ga4",d=null!==(n=l.find(function(e){return e.id===A}))&&void 0!==n?n:l[0];return c.createElement("div",{className:"rasx-step pathwide"},c.createElement("div",{className:"rasx-pathx"},c.createElement("div",{className:"rasx-pathx-left"},c.createElement(Ra,{eyebrow:i.label,title:i.heading,lede:i.subheading}),c.createElement("div",{className:"rasx-pathx-list",role:"radiogroup","aria-label":i.heading},l.map(function(e){var t=a.setupPath===e.id;return c.createElement("button",{key:e.id,type:"button",role:"radio","aria-checked":t,onClick:function(){return r({setupPath:e.id,step:1})},className:"rasx-pathx-opt".concat(t?" selected":"").concat(e.comingSoon?" soon":"")},c.createElement("span",{className:"rasx-pathx-logo"},e.logo),c.createElement("span",{className:"rasx-pathx-opt-main"},c.createElement("span",{className:"rasx-pathx-opt-name"},e.title),c.createElement("span",{className:"rasx-pathx-opt-sub"},e.sub)),e.comingSoon?c.createElement("span",{className:"rasx-tag soon"},e.tag):c.createElement("span",{className:"rasx-pathx-radio","aria-hidden":"true"},c.createElement(p.Check,{strokeWidth:3})))})),c.createElement("div",{className:"rasx-pathx-connect",key:A},c.createElement("span",{className:"rasx-pathx-connect-label"},d.comingSoon?i.detailLabelSoon:i.detailLabel),c.createElement("ul",{className:"rasx-pathx-checks"},d.bullets.map(function(e){return c.createElement("li",{key:e},c.createElement("span",{className:"ck"},c.createElement(p.Check,{strokeWidth:3})),e)})),d.comingSoon&&c.createElement("button",{type:"button",onClick:s,className:"rasx-link"},o?i.hideRequest:i.requestFeature))),c.createElement("div",{className:"rasx-pathx-right"},c.createElement("div",{className:"rasx-pathx-right-inner",key:A},"ga4"===d.preview?c.createElement(qa,null):c.createElement(Ya,null)))),o&&c.createElement("div",{style:{marginTop:16}},c.createElement(Ca,null)))}function Ha(e){var t,n,a=e.state,r=e.patch,o=e.oauthError,s=e.exchanging,i=e.setupDetails,l=e.detailsLoading,A=e.onSelectProperty,d=e.onAuthoriseSync,m=e.authorising,x=e.airbyteAuthorised,g=(0,u._K)().isDemoMode,f=M.wizard.step1;return c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.wizard.steps[0],title:f.heading,lede:f.summary}),s&&c.createElement("p",{className:"rasx-note accent",style:{marginBottom:16}}
1,c.createElement(p.Loader2,{className:"ic rasx-spin",size:15}),f.wizardConnecting),o&&!s&&c.createElement("div",{className:"rasx-status warn",style:{marginBottom:16}},c.createElement("div",{className:"rasx-status-head"},c.createElement(p.AlertTriangle,{className:"ic",size:16,strokeWidth:2}),c.createElement("span",{className:"rasx-status-title"},"Connection didnât complete")),c.createElement("p",{className:"rasx-status-body"},o)),g?c.createElement(fa,{scopes:ga,selectedPropertyIds:a.propertyIds,connectedEmail:a.connected?a.googleAccountEmail:null,forcedError:a.devOauthError,onSuccess:function(e,t){return r({connected:!0,googleAccountEmail:e.email,propertyIds:t})},onError:function(){return r({connected:!1,propertyIds:[],googleAccountEmail:null})},onDisconnect:function(){return r({connected:!1,propertyIds:[],googleAccountEmail:null})}}):c.createElement(c.Fragment,null,c.createElement(ta,{connected:a.connected,onDisconnect:function(){return r({connected:!1,propertyIds:[],googleAccountEmail:null})}}),a.connected&&a.propertyIds.length>0&&c.createElement("div",{className:"rasx-note",style:{marginTop:16}},x?c.createElement(c.Fragment,null,c.createElement(p.CheckCircle2,{className:"ic",size:16,style:{color:"var(--done)"}}),c.createElement("span",null,f.syncAuthorised)):c.createElement("div",null,c.createElement("p",{style:{margin:0}},f.authoriseSyncBody),c.createElement("button",{type:"button",onClick:function(){return null==d?void 0:d()},disabled:m,className:"rasx-btn accent",style:{marginTop:12}},m&&c.createElement(p.Loader2,{className:"spin",size:14}),m?f.authorising:f.authoriseSync))),a.connected&&c.createElement(oa,{accounts:null!==(t=null==i?void 0:i.accounts)&&void 0!==t?t:[],selectedId:null!==(n=a.propertyIds[0])&&void 0!==n?n:null,loading:Boolean(l),onSelect:function(e){r({propertyIds:[e.propertyId]}),null==A||A(e.propertyId)}})))}var Va={title:"Do you have an AI Assistant channel in GA4?",lede:"We check how this property files visits from ChatGPT, Perplexity, Gemini and other AI answer engines.",checking:"Checking your channel groupsâ¦",readError:"We couldn't read your channel groups from GA4 just now. Try again in a moment.",missingFound:"No AI Assistant channel found â these visits fall into **Referral** or **Direct**.",brokenFound:"AI channel found, but it matches **Default channel group** (not Source) and sits below Referral â so it reads zero.",okFound:"AI visits are filed into their own channel, above Referral.",fixToggleMissing:"How to add it in GA4",fixToggleBroken:"How to fix it in GA4",fixHint:"copy the regex, add one channel, order it above Referral",recheckMissing:"I've added it â re-check",recheckBroken:"I've fixed it â re-check",rechecking:"Re-checkingâ¦",skip:"Skip for now",openGa4:"Open GA4 channel groups",steps:["GA4 â **Admin** â Data display â **Channel groups** â open your group â **Add channel**, name it `AI Search`.","Set the condition to **Source** *matches regex* and paste the regex above. Add an OR rule: **Default channel group** *exactly matches* `AI Assistant`.","Move it **above Referral**. GA4 stops at the first match, so below Referral the channel reads zero."]};function Qa(e){var t,n=e.state,r=e.patch,o=e.setupDetails,i=(0,u._K)().isDemoMode,A=(0,c.useState)(!1),d=(0,s.A)(A,2),m=d[0],x=d[1],g=(0,c.useState)(!1),f=(0,s.A)(g,2),h=f[0],C=f[1],v=(0,c.useState)(!1),b=(0,s.A)(v,2),y=b[0],w=b[1],k=(0,c.useState)(!1),E=(0,s.A)(k,2),B=E[0],N=E[1],S=(0,c.useState)(!1),I=(0,s.A)(S,2),O=I[0],T=I[1],D=(0,c.useState)(null),z=(0,s.A)(D,2),J=z[0],P=z[1],W=(0,c.useState)(null),R=(0,s.A)(W,2),L=R[0],F=R[1],G=(null==o||null===(t=o.propertyDetails)||void 0===t?void 0:t.propertyId)||n.propertyIds[0]||"",j=(0,c.useCallback)(function(){var e=(0,a.A)(l().mark(function e(t){var n,a,o;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Lt())&&G){e.next=1;break}return e.abrupt("return");case 1:return T(!0),F(null),e.next=2,bt({refreshToken:n,propertyId:G,forceRefresh:t});case 2:if(a=e.sent,T(!1),a.ok){e.next=3;break}return F(a.message),e.abrupt("return");case 3:o=kt(a.data),P(o),r({channelOutcome:o.outcome});case 4:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),[G]);(0,c.useEffect)(function(){i||n.channelFixed||!G||j(!1)},[i,n.channelFixed,G,j]);var _=n.channelFixed?"OK":n.channelOutcome,q=i?m:O;(0,c.useEffect)(function(){if(!n.channelFixed&&i){var e=!1;return x(!0),Xe(1200).then(function(){e||(x(!1),r({channelOutcome:n.devChannelOutcome}))}),function(){e=!0}}},[n.devChannelOutcome,n.channelFixed]);var Y=(0,c.useMemo)(function(){return Array.from(new Set(U.split("|").map(function(e){return e.replace(/\\/g,"").trim().toLowerCase()}
1).filter(Boolean)))},[]),K=J?Y.filter(function(e){return!J.missing.includes(e)}):Y,H=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=1,navigator.clipboard.writeText(U);case 1:w(!0),setTimeout(function(){return w(!1)},1800),e.next=3;break;case 2:e.prev=2,e.catch(0);case 3:case"end":return e.stop()}},e,null,[[0,2]])}));return function(){return e.apply(this,arguments)}}(),V=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i){e.next=2;break}return C(!0),e.next=1,j(!0);case 1:return C(!1),e.abrupt("return");case 2:return C(!0),e.next=3,Xe(1600);case 3:C(!1),r({channelFixed:!0,channelOutcome:"OK",channelSkipped:!1});case 4:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),Q=q||null===_&&!L,X=!Q&&("MISSING"===_||"BROKEN"===_),$=Q?c.createElement(La,{tone:"none",loading:!0},c.createElement("span",{className:"rasx-muted"},Va.checking)):L?c.createElement(La,{tone:"warn",pill:"Try again"},Va.readError):"OK"===_?c.createElement(La,{tone:"ok",pill:"Found"},c.createElement(Pa,{text:Va.okFound})):"BROKEN"===_?c.createElement(La,{tone:"warn",pill:"Needs a fix"},c.createElement(Pa,{text:Va.brokenFound})):c.createElement(La,{tone:"none",pill:"Not found"},c.createElement(Pa,{text:Va.missingFound}));return c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.wizard.steps[1],title:Va.title,lede:Va.lede}),$,!Q&&!L&&("OK"===_||"BROKEN"===_&&J)&&c.createElement("div",{className:"rasx-found"},(null==J?void 0:J.matchedChannel)&&c.createElement("div",{className:"rasx-found-name"},c.createElement("span",{className:"rasx-pair-k"},"AI Assistant channel"),c.createElement("span",{className:"rasx-found-chip strong"},J.matchedChannel)),c.createElement("div",null,c.createElement("span",{className:"rasx-pair-k"},"OK"===_?"AI sources filed here":"AI sources covered"),c.createElement("div",{className:"rasx-found-chips"},K.map(function(e){return c.createElement("span",{key:e,className:"rasx-found-chip"},e)}))),"BROKEN"===_&&J&&J.missing.length>0&&c.createElement("div",null,c.createElement("span",{className:"rasx-pair-k warn"},"Not yet covered"),c.createElement("div",{className:"rasx-found-chips"},J.missing.map(function(e){return c.createElement("span",{key:e,className:"rasx-found-chip missing"},e)})))),X&&c.createElement(c.Fragment,null,c.createElement("div",{className:"rasx-disclosure".concat(B?" open":"")},c.createElement("button",{type:"button",className:"rasx-disclosure-head","aria-expanded":B,onClick:function(){return N(function(e){return!e})}},c.createElement("span",{className:"lead"},c.createElement("b",null,"MISSING"===_?Va.fixToggleMissing:Va.fixToggleBroken),c.createElement("span",{className:"rasx-muted"}," â ",Va.fixHint)),c.createElement(p.ChevronDown,{className:"chev",size:16,strokeWidth:2})),B&&c.createElement("div",{className:"rasx-disclosure-body"},c.createElement("div",{className:"rasx-code"},c.createElement("button",{type:"button",onClick:H,className:"rasx-code-copy","aria-label":"Copy regex"},y?c.createElement(p.Check,{size:12,strokeWidth:2.5,style:{color:"var(--done)"}}):c.createElement(p.Copy,{size:12,strokeWidth:2}),y?"Copied":"Copy"),c.createElement("pre",{className:"rasx-code-pre"},c.createElement("code",null,U))),c.createElement("ol",{className:"rasx-steps"},Va.steps.map(function(e){return c.createElement("li",{key:e},c.createElement(Pa,{text:e}))})))),c.createElement("div",{style:{marginTop:16,display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"}},c.createElement("button",{type:"button",onClick:V,disabled:h,className:"rasx-btn dark"},h&&c.createElement(p.Loader2,{className:"spin",size:14}),h?Va.rechecking:"MISSING"===_?Va.recheckMissing:Va.recheckBroken),c.createElement(Fa,{label:Va.openGa4}),c.createElement(Ga,null))),L&&!X&&c.createElement("div",{style:{marginTop:16,display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"}},c.createElement("button",{type:"button",onClick:V,disabled:h,className:"rasx-btn dark"}
1,h&&c.createElement(p.Loader2,{className:"spin",size:14}),h?Va.rechecking:"Try again"),c.createElement(Fa,{label:Va.openGa4})))}var Xa={lede:"GA4 does the work â we look for conversions that already report revenue, and only ask for what's missing.",title:"Which events count as a conversion?",foundRevenue:"GA4 already reports revenue on your conversions.",revenueBadge:"revenue tracked",reviewHint:"Select the events that count as a conversion. The revenue shown for each is the total GA4 revenue aggregated across the window, with its event count.",foundNoRevenue:"Key events found, but GA4 isn't reporting a revenue value on them yet.",routeIntro:"Two ways forward â pick whichever is easier:",recheck:"I've added it in GA4 â re-check",rechecking:"Re-checkingâ¦",estimateCta:"Estimate values here instead",estimateHelper:M.wizard.step4.helper,foundNoEvents:"No key events marked in GA4 yet.",fixNote:"Mark at least one event as a key event in GA4 â **Admin** â **Events**. Two clicks, no code.",rescan:"I've marked one â re-scan",rescanning:"Re-scanningâ¦",openGa4:"Open GA4 events",searchPlaceholder:"Search events",noMatch:"No events match your search.",revenueColLabel:"Aggregated GA4 revenue · 30d",atLeastOne:"Select at least one event to continue.",loadProperty:"Select a property to load its key events.",selectedSummary:function(e,t){return"".concat(e," of ").concat(t," selected")}};function $a(e){var t,n,i,A,d,m,x,g=e.state,f=e.patch,h=e.setupDetails,C=e.detailsLoading,v=void 0!==C&&C,b=e.onSelectProperty,y=(0,u._K)().isDemoMode,w=null!==(t=null==h?void 0:h.keyEvents)&&void 0!==t?t:null,k=null!==(n=null==h?void 0:h.revenue)&&void 0!==n?n:null,E=y?Ge.map(function(e){return{name:e.name,count:e.count90d,revenue:e.revenue90d}}):(null!==(i=null==k?void 0:k.conversionEvents)&&void 0!==i?i:[]).length>0?(null!==(A=null==k?void 0:k.conversionEvents)&&void 0!==A?A:[]).map(function(e){return{name:e.name,count:e.keyEvents||e.eventCount,revenue:"GA4_NATIVE"===e.revenueSource?e.totalRevenue:null,source:e.revenueSource,needsValue:e.needsStatedValue,eventValue:e.eventValue}}):(null!==(d=null==w?void 0:w.keyEvents)&&void 0!==d?d:[]).map(function(e){return{name:e.name,count:e.keyEventCount||e.count,revenue:null,needsValue:!0}}),B=y?g.devNoKeyEvents:null!=k?!k.hasKeyEvents:null!==w&&!w.hasAnyKeyEvents,N=E.some(function(e){return e.needsValue}
1),S=y?g.devGa4Revenue:!N,I=B?"noEvents":S?"found":"noRevenue";(0,c.useEffect)(function(){"noEvents"!==I&&g.hasGa4Revenue!==S&&f({hasGa4Revenue:S})},[I,S]);var O=(0,c.useState)(null),T=(0,s.A)(O,2),D=T[0],z=T[1],J=(0,c.useState)(!1),P=(0,s.A)(J,2),W=P[0],R=P[1],L=(0,c.useState)(""),F=(0,s.A)(L,2),G=F[0],j=F[1],_=qe(g.currency),U=y?"noRevenue"===I&&W:"noRevenue"===I,q=g.propertyIds[0]||"",Y=(0,c.useRef)(null);(0,c.useEffect)(function(){var e;if(!y&&q){var t=(null==k?void 0:k.propertyId)===q||(null==h||null===(e=h.propertyDetails)||void 0===e?void 0:e.propertyId)===q&&(null!=(null==h?void 0:h.revenue)||null!=(null==h?void 0:h.keyEvents));t||v?t&&(Y.current=q):Y.current!==q&&(Y.current=q,null==b||b(q,!1))}},[y,q,k,h,v,b]);var K=(null==k?void 0:k.currency)||(null==h||null===(m=h.propertyDetails)||void 0===m?void 0:m.currencyCode)||"";(0,c.useEffect)(function(){!y&&K&&K!==g.currency&&f({currency:K})},[y,K]);var H=(0,c.useMemo)(function(){var e=G.trim().toLowerCase();return e?E.filter(function(t){return t.name.toLowerCase().includes(e)}):E},[E,G]),V=function(e){var t=g.selectedEvents.includes(e)?g.selectedEvents.filter(function(t){return t!==e}):[].concat((0,o.A)(g.selectedEvents),[e]);f({selectedEvents:t})},Q=E.map(function(e){return e.name}).join("�");(0,c.useEffect)(function(){if(0!==E.length){var e=new Set(E.map(function(e){return e.name})),t=g.selectedEvents.filter(function(t){return e.has(t)});t.length!==g.selectedEvents.length&&f({selectedEvents:t})}},[Q]);var X=(null==h||null===(x=h.propertyDetails)||void 0===x?void 0:x.propertyId)||(null==k?void 0:k.propertyId)||g.propertyIds[0]||"",$=!y&&v,Z=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(y){e.next=1;break}return X&&(null==b||b(X,!0)),e.abrupt("return");case 1:return z("events"),e.next=2,Xe(1400);case 2:z(null),f({devNoKeyEvents:!1});case 3:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),ee=function(){var e=(0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(y){e.next=1;break}return X&&(null==b||b(X,!0)),e.abrupt("return");case 1:return z("revenue"),e.next=2,Xe(1400);case 2:z(null),f({devGa4Revenue:!0});case 3:case"end":return e.stop()}},e)}));return function(){return e.apply(this,arguments)}}(),te="found"===I?c.createElement(La,{tone:"ok",pill:"Found"},Xa.foundRevenue):"noEvents"===I?c.createElement(La,{tone:"none",pill:"Not found"},Xa.foundNoEvents):c.createElement(La,{tone:"warn",pill:"Add a value"},Xa.foundNoRevenue),ne=function(e,t){var n;return t?c.createElement("span",{className:"rasx-money"},c.createElement("span",{className:"sym"},_),c.createElement("input",{type:"number",min:0,value:null!==(n=g.eventValues[e.name])&&void 0!==n?n:0,onChange:function(t){return f({eventValues:Ja(Ja({},g.eventValues),{},(0,r.A)({},e.name,Number(t.target.value)))})},className:"rasx-input"})):c.createElement("span",{className:"rasx-evt-dash"},"â")},ae=function(e){return c.createElement("span",{className:"rasx-evt-rev",title:"Total GA4 revenue aggregated over the last ".concat("30"," days")},_,e.toLocaleString())},re=c.createElement("span",{className:"rasx-rev-badge"},c.createElement(p.CheckCircle2,{size:12,strokeWidth:2.5}),Xa.revenueBadge),oe=c.createElement("div",{className:"rasx-evt",style:{marginTop:16}},c.createElement("div",{className:"rasx-evt-head"},c.createElement("span",{className:"rasx-evt-search"},c.createElement(p.Search,{size:14,strokeWidth:2}),c.createElement("input",{type:"text",value:G,onChange:function(e){return j(e.target.value)},placeholder:Xa.searchPlaceholder})),U&&c.createElement("span",{className:"rasx-evt-cur"},c.createElement("span",null,"Currency"),c.createElement("select",{value:g.currency,onChange:function(e){return f({currency:e.target.value})},className:"rasx-select",style:{width:88}},Ue.map(function(e){return c.createElement("option",{key:e.code,value:e.code},e.code)})))),c.createElement("div",{className:"rasx-evt-scroll"},0===H.length?c.createElement("p",{className:"rasx-evt-empty"},0===E.length?Xa.loadProperty:Xa.noMatch):H.map(function(e){var t=g.selectedEvents.includes(e.name);return c.createElement("div",{key:e.name,className:"rasx-evt-row".concat(t?" on":"")},c.createElement("input",{type:"checkbox",checked:t,onChange:function(){return V(e.name)}}),c.createElement("span",{className:"rasx-evt-name",onClick:function(){return V(e.name)}},e.name),function(e,t){var n;return y?U?ne(e,t):"found"===I?null!=e.revenue?ae(e.revenue):re:null:e.needsValue?ne(e,t):"EVENT_VALUE"===e.source?ae(null!==(n=e.eventValue)&&void 0!==n?n:0):null!=e.revenue&&e.revenue>0?ae(e.revenue):re}(e,t),c.createElement("span",{className:"rasx-evt-count"}
1,e.count.toLocaleString()," · ","30","d"))})),c.createElement("div",{className:"rasx-evt-foot"},c.createElement("span",null,Xa.selectedSummary(g.selectedEvents.length,E.length)),"found"===I&&c.createElement("span",{className:"rasx-evt-foottag"},c.createElement(p.CheckCircle2,{size:12,strokeWidth:2.5}),Xa.revenueColLabel)));return c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.wizard.steps[2],title:Xa.title,lede:Xa.lede}),te,"noEvents"===I&&c.createElement(c.Fragment,null,c.createElement("p",{className:"rasx-note",style:{marginTop:16}},c.createElement(p.Info,{className:"ic",size:15}),c.createElement("span",null,c.createElement(Pa,{text:Xa.fixNote}))),c.createElement("div",{style:{marginTop:14,display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"}},c.createElement("button",{type:"button",onClick:Z,disabled:null!==D||$,className:"rasx-btn dark"},("events"===D||$)&&c.createElement(p.Loader2,{className:"spin",size:14}),"events"===D||$?Xa.rescanning:Xa.rescan),c.createElement(Fa,{label:Xa.openGa4}),c.createElement(Ga,null))),"found"===I&&c.createElement(c.Fragment,null,c.createElement("p",{className:"rasx-note",style:{marginTop:16}},c.createElement(p.Info,{className:"ic",size:15}),c.createElement("span",null,Xa.reviewHint)),oe,E.length>0&&0===g.selectedEvents.length&&c.createElement("p",{className:"rasx-inline-note"},Xa.atLeastOne)),"noRevenue"===I&&c.createElement(c.Fragment,null,oe,E.length>0&&0===g.selectedEvents.length&&c.createElement("p",{className:"rasx-inline-note"},Xa.atLeastOne),c.createElement("p",{className:"rasx-note",style:{marginTop:16}},c.createElement(p.Info,{className:"ic",size:15}),c.createElement("span",null,U?Xa.estimateHelper:Xa.routeIntro)),c.createElement("div",{style:{marginTop:14,display:"flex",alignItems:"center",gap:14,flexWrap:"wrap"}},c.createElement("button",{type:"button",onClick:ee,disabled:null!==D||$,className:"rasx-btn dark"},("revenue"===D||$)&&c.createElement(p.Loader2,{className:"spin",size:14}),"revenue"===D||$?Xa.rechecking:Xa.recheck),y&&c.createElement("button",{type:"button",onClick:function(){return R(function(e){return!e})},className:"rasx-btn".concat(W?" active":"")},Xa.estimateCta),c.createElement(Fa,{label:Xa.openGa4}),c.createElement(Ga,null))))}var Za="Creating the connectionâ¦",er="This usually takes 30 seconds to 2 minutes. You can wait here.",tr="Connection created",nr="First sync running â this can take a while.",ar="You can close this window. We'll email you when your first report is ready.",rr="Who we'll email when it's ready",or="Add email",sr="[email protected]",ir="Enter a valid email address.",lr="That email is already on the list.",cr="Create connection",Ar=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function pr(e){var t=e.state,n=e.defaultEmail,a=e.onStartSync,r=e.syncing,i=e.syncStartedAt,l=e.connectionExisted,A=M.whatsNext,d=Boolean(i),u=n||t.googleAccountEmail,m=(0,c.useState)(function(){return u?[u]:[]}),x=(0,s.A)(m,2),g=x[0],f=x[1],h=(0,c.useState)(""),C=(0,s.A)(h,2),v=C[0],b=C[1],y=(0,c.useState)(null),w=(0,s.A)(y,2),k=w[0],E=w[1],B=(0,c.useState)(!1),N=(0,s.A)(B,2),S=N[0],I=N[1],O=c.createElement("div",{style:{marginTop:18}},c.createElement("span",{className:"rasx-field-label",style:{display:"inline-flex",alignItems:"center",gap:6}},c.createElement(p.Mail,{size:13,style:{color:"var(--ink-3)"}}),rr),c.createElement("div",{className:"rasx-emails"},g.map(function(e){return c.createElement("span",{key:e,className:"rasx-email-chip"},e,c.createElement("button",{type:"button","aria-label":"Remove ".concat(e),onClick:function(){return f(function(t){return t.filter(function(t){return t!==e})})}},c.createElement(p.X,{size:12,strokeWidth:2})))}),S?c.createElement("input",{className:"rasx-email-input",type:"email",autoFocus:!0,placeholder:sr,value:v,onChange:function(e){b(e.target.value),E(null)},onKeyDown:function(e){var t;"Enter"===e.key?(e.preventDefault(),t=v.trim(),Ar.test(t)?g.includes(t)?E(lr):(f(function(e){return[].concat((0,o.A)(e),[t])}),b(""),E(null)):E(ir)):"Escape"===e.key&&(b(""),E(null),I(!1))},onBlur:function(){v.trim()||(E(null),I(!1))}}):c.createElement("button",{type:"button",className:"rasx-email-add-btn",onClick:function(){return I(!0)}},c.createElement(p.Plus,{strokeWidth:2})," ",or)),k&&c.createElement("p",{className:"rasx-inline-note"},k));return c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.wizard.steps[4],title:A.heading,lede:A.summary}),c.createElement("ul",{className:"rasx-timeline"},A.steps.map(function(e,t){return c.createElement("li",{key:e.title},c.createElement("span",{className:"n"},t+1),c.createElement("div",null,c.createElement("div",{className:"tt"},e.title),c.createElement("div",{className:"tb"},e.body)))})),d?c.createElement(c.Fragment,null,c.createElement("div",{className:"rasx-pair",style:{marginTop:22}},c.createElement("div",{className:"rasx-pair-row ok"},c.createElement(p.CheckCircle2,{className:"ic",size:16,strokeWidth:2}),c.createElement("div",{className:"rasx-pair-v",style:{marginTop:0,fontWeight:600}},tr)),c.createElement("div",{className:"rasx-pair-row"}
1,c.createElement(p.Loader2,{className:"ic rasx-spin",size:16}),c.createElement("div",{className:"rasx-pair-v",style:{marginTop:0}},nr))),c.createElement("p",{className:"rasx-note",style:{marginTop:14}},c.createElement(p.Mail,{className:"ic",size:15}),c.createElement("span",null,ar)),O,l&&c.createElement("p",{className:"rasx-muted",style:{marginTop:12,fontSize:11.5}},A.alreadyConnected)):r?c.createElement("div",{className:"rasx-status",style:{marginTop:22,background:"var(--field)"}},c.createElement("div",{className:"rasx-status-head"},c.createElement(p.Loader2,{className:"ic rasx-spin",size:16}),c.createElement("span",{className:"rasx-status-title"},Za)),c.createElement("p",{className:"rasx-status-body"},er)):c.createElement(c.Fragment,null,c.createElement("div",{className:"rasx-note",style:{marginTop:22,flexDirection:"column",gap:6}},c.createElement("span",{style:{fontWeight:600,color:"var(--ink)"}},A.noteTitle),c.createElement("span",null,A.noteBody),c.createElement("span",{style:{fontWeight:550,color:"var(--ink)"}},A.noteClosing)),O,c.createElement("div",{style:{marginTop:20}},c.createElement("button",{type:"button",onClick:function(){return null==a?void 0:a()},disabled:0===t.propertyIds.length,className:"rasx-btn accent"},cr),c.createElement("p",{className:"rasx-muted",style:{marginTop:8,fontSize:11.5,lineHeight:1.5}},A.secondConsent))))}function dr(e){var t=e.currentId,n=e.state,a=e.patch,r=null;return"connect"===t?r=c.createElement(c.Fragment,null,c.createElement("button",{type:"button",className:"rasx-demochip".concat(null===n.devOauthError?" active":""),onClick:function(){return a({devOauthError:null})}},"Happy path"),te.map(function(e){return c.createElement("button",{key:e,type:"button",className:"rasx-demochip".concat(n.devOauthError===e?" active":""),onClick:function(){return a({devOauthError:e})}},e)})):"channel"===t?r=["MISSING","BROKEN","OK"].map(function(e){return c.createElement("button",{key:e,type:"button",className:"rasx-demochip".concat(n.devChannelOutcome===e?" active":""),onClick:function(){return a({devChannelOutcome:e,channelFixed:!1,channelOutcome:null,channelAutoAdvanced:!1})}},e)}):"events"===t&&(r=c.createElement(c.Fragment,null,c.createElement("button",{type:"button",className:"rasx-demochip".concat(!n.devNoKeyEvents&&n.devGa4Revenue?" active":""),onClick:function(){return a({devNoKeyEvents:!1,devGa4Revenue:!0})}},"Revenue found"),c.createElement("button",{type:"button",className:"rasx-demochip".concat(n.devNoKeyEvents||n.devGa4Revenue?"":" active"),onClick:function(){return a({devNoKeyEvents:!1,devGa4Revenue:!1})}},"Key events, no revenue"),c.createElement("button",{type:"button",className:"rasx-demochip".concat(n.devNoKeyEvents?" active":""),onClick:function(){return a({devNoKeyEvents:!0})}},"No key events"))),r?c.createElement("div",{className:"rasx-demobar"},c.createElement("span",{className:"rasx-demobar-label"},"Demo"),r):null}const ur=function(e){var t,n=e.state,a=e.patch,r=e.onClose,i=e.onFinish,l=e.oauthError,A=void 0===l?null:l,d=e.exchanging,m=void 0!==d&&d,x=(e.onDismissOauthError,e.setupDetails),g=void 0===x?null:x,f=e.detailsLoading,h=void 0!==f&&f,C=e.onSelectProperty,v=e.onAuthoriseSync,b=e.authorising,y=void 0!==b&&b,w=e.airbyteAuthorised,k=void 0!==w&&w,E=e.secretExpired,B=void 0!==E&&E,N=e.onStartSync,S=e.syncing,I=void 0!==S&&S,O=e.syncStartedAt,T=void 0===O?null:O,D=e.connectionExisted,z=void 0!==D&&D,J=e.defaultNotifyEmail,P=void 0===J?null:J,W=(0,u._K)().isDemoMode,R=(0,c.useState)(!1),L=(0,s.A)(R,2),F=L[0],G=L[1],j=Ia(n.setupPath,W),_=Math.min(Math.max(n.step,1),j.length),U=null===(t=j[_-1])||void 0===t?void 0:t.id,q=_===j.length,Y=(0,c.useCallback)(function(e){return a({step:e})},[a]),K=(0,c.useCallback)(function(e){var t=U&&!n.completedSteps.includes(U)?[].concat((0,o.A)(n.completedSteps),[U]):n.completedSteps;a(Ja(Ja({},e),{},{completedSteps:t}))},[U,n.completedSteps,a]),H=(0,c.useCallback)(function(){return K({step:Math.min(_+1,j.length)})},[K,_,j.length]),V=(0,c.useCallback)(function(){K({}),i()},[K,i]),Q="path"!==U&&"comingSoon"!==U&&j.length>2,X=j.slice(1),$=_-2,Z=function(){if(B)return!1;switch(U){case"path":return"ga4"===n.setupPath;case"connect":return W?n.connected&&n.propertyIds.length>0:n.connected&&n.propertyIds.length>0&&k;case"channel":return n.channelFixed||n.channelSkipped||"OK"===n.channelOutcome;case"events":var e;return!(W?n.devNoKeyEvents:Boolean(null==g?void 0:g.keyEvents)&&!(null!=g&&null!==(e=g.keyEvents)&&void 0!==e&&e.hasAnyKeyEvents))&&0!==n.selectedEvents.length&&function(e,t,n){var a,r,s,i;if(n)return e.devNoKeyEvents||e.devGa4Revenue?[]:(0,o.A)(e.selectedEvents);var l=new Map((null!==(a=null==t||null===(r=t.revenue)||void 0===r?void 0:r.conversionEvents)&&void 0!==a?a:[]).map(function(e){return[e.name,e]})),c=new Set((null!==(s=null==t||null===(i=t.keyEvents)||void 0===i?void 0:i.keyEvents)&&void 0!==s?s:[]).map(function(e){return e.name}));return e.selectedEvents.filter(function(e){var t=l.get(e);return t?t.needsStatedValue:c.has(e)})}(n,g,W).every(function(e){var t;return(null!==(t=n.eventValues[e])&&void 0!==t?t:0)>0});case"next":return Boolean(T);default:return!0}}(),ee=function(){var e=(0,c.useState)(!1),t=(0,s.A)(e,2),n=t[0],a=t[1];return(0,c.useEffect)(function(){if("undefined"!=typeof window&&window.matchMedia){var e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=function(){return a(e.matches)};return t(),e.addEventListener("change",t),function(){return e.removeEventListener("change",t)}}},[]),n}
1(),te=(0,c.useRef)(null),ne=(0,c.useRef)(null),ae=(0,c.useRef)(null);(0,c.useEffect)(function(){if(!ee){var e=te.current;if(e){var t=.5,n=.4,a=.5,r=.4,o=0,s=function(a){var r=e.getBoundingClientRect();t=(a.clientX-r.left)/Math.max(r.width,1),n=(a.clientY-r.top)/Math.max(r.height,1)},i=function(){var e=(a+=.05*(t-a))-.5,s=(r+=.05*(n-r))-.4;ne.current&&(ne.current.style.transform="translate3d(".concat(40*e,"px, ").concat(34*s,"px, 0)")),ae.current&&(ae.current.style.transform="translate3d(".concat(-32*e,"px, ").concat(-24*s,"px, 0)")),o=window.requestAnimationFrame(i)};return window.addEventListener("mousemove",s,{passive:!0}),o=window.requestAnimationFrame(i),function(){window.removeEventListener("mousemove",s),window.cancelAnimationFrame(o)}}}},[ee]);var re=q&&"path"!==U,oe="comingSoon"===U?M.wizard.close:re?"Finish":M.wizard.next,se="comingSoon"===U?r:re?V:H;return c.createElement(Ut.K,{onBackdropClick:r},c.createElement("div",{ref:te,className:"rasx rasx-card"},c.createElement("div",{className:"rasx-bg","aria-hidden":!0},c.createElement("div",{className:"dots"}),c.createElement("div",{className:"glow g1",ref:ne}),c.createElement("div",{className:"glow g2",ref:ae})),c.createElement("header",{className:"rasx-head"},c.createElement("div",{className:"rasx-head-row"},c.createElement("span",{className:"rasx-eyebrow"},c.createElement("span",{className:"rasx-livedot"}),M.wizard.title),c.createElement("button",{type:"button",className:"rasx-close","aria-label":"Close",onClick:r},c.createElement(p.X,{size:16,strokeWidth:2}))),Q&&c.createElement("div",{className:"rasx-stepper"},X.map(function(e,t){var a=t<$,r=a&&"channel"===e.id&&n.channelSkipped,o=r?"skipped":a?"done":t===$?"active":"",s=t<=$;return c.createElement("button",{key:e.id,type:"button",disabled:!s,onClick:function(){return s&&Y(t+2)},className:"rasx-stepper-item ".concat(o).concat(s?" clickable":"")},c.createElement("span",{className:"rasx-stepper-bar"},c.createElement("span",null)),c.createElement("span",{className:"rasx-stepper-label"},c.createElement("span",{className:"rasx-stepper-num"},r?c.createElement(p.AlertTriangle,{strokeWidth:2.5}):a?c.createElement(p.Check,{strokeWidth:3}):t+1),c.createElement("span",{className:"txt"},e.label)))}))),c.createElement("div",{className:"rasx-scroll".concat("path"===U?" is-path":"")},B&&c.createElement("div",{className:"rasx-step",style:{marginBottom:4}},c.createElement("div",{className:"rasx-status warn"},c.createElement("div",{className:"rasx-status-head"},c.createElement(p.AlertTriangle,{className:"ic",size:16,strokeWidth:2}),c.createElement("span",{className:"rasx-status-title"},M.secretExpired.title)),c.createElement("p",{className:"rasx-status-body"},M.secretExpired.body),c.createElement("button",{type:"button",onClick:function(){return null==v?void 0:v()},disabled:y,className:"rasx-btn accent",style:{marginTop:12}},y&&c.createElement(p.Loader2,{className:"spin",size:14}),y?M.wizard.step1.authorising:M.secretExpired.cta))),c.createElement(c.Fragment,{key:U},"path"===U&&c.createElement(Ka,{state:n,patch:a,revenueStackAvailable:W,requestOpen:F,onToggleRequest:function(){return G(function(e){return!e})}}),"connect"===U&&c.createElement(Ha,{state:n,patch:a,oauthError:A,exchanging:m,setupDetails:g,detailsLoading:h,onSelectProperty:C,onAuthoriseSync:v,authorising:y,airbyteAuthorised:k}),"channel"===U&&c.createElement(Qa,{state:n,patch:a,setupDetails:g}),"events"===U&&c.createElement($a,{state:n,patch:a,setupDetails:g,detailsLoading:h,onSelectProperty:C}),"next"===U&&c.createElement(pr,{state:n,defaultEmail:P,onStartSync:N,syncing:I,syncStartedAt:T,connectionExisted:z}),"comingSoon"===U&&c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.revenueStack.comingSoon.label,title:M.revenueStack.comingSoon.heading,lede:M.revenueStack.comingSoon.body}),c.createElement(Ca,null)),"script"===U&&c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.revenueStack.script.label,title:M.revenueStack.script.heading,lede:M.revenueStack.script.subheading}),c.createElement(ba,null)),"sessionId"===U&&c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.revenueStack.sessionId.label,title:M.revenueStack.sessionId.heading,lede:M.revenueStack.sessionId.subheading}),c.createElement(wa,null)),"stripe"===U&&c.createElement("div",{className:"rasx-step"},c.createElement(Ra,{eyebrow:M.revenueStack.stripe.label,title:M.revenueStack.stripe.heading,lede:M.revenueStack.stripe.subheading}),c.createElement(ka,null)))),c.createElement("footer",{className:"rasx-foot"},_>1?c.createElement("button",{type:"button",onClick:function(){return Y(Math.max(_-1,1))},className:"rasx-ghost"},M.wizard.back):c.createElement("span",null),c.createElement("button",{type:"button",className:"rasx-cta",disabled:!Z,onClick:se},oe,"comingSoon"!==U&&c.createElement(Wa,null))),W&&c.createElement(dr,{currentId:U,state:n,patch:a})))};var mr=n(96388);function xr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function gr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
1t%2?xr(Object(n),!0).forEach(function(t){(0,r.A)(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var fr="demo_state",hr="citedby.revenueAttribution.airbytePending",Cr="citedby.revenueAttribution.airbyteReturnStep",vr={not_configured:"NOT_CONFIGURED",syncing:"SYNCING",configured:"CONFIGURED"},br={NOT_CONFIGURED:"not_configured",SYNCING:"syncing",CONFIGURED:"configured"},yr=[p.LineChart,p.BarChart3,p.FileText];function wr(e){var t=e.onSetup,n=e.onWhatData;return c.createElement("div",{className:"w-full max-w-[520px] rounded-2xl border border-gray-200/70 bg-white/95 px-8 py-9 text-center shadow-xl backdrop-blur-sm"},c.createElement("div",{className:"mx-auto flex h-11 w-11 items-center justify-center rounded-full bg-geekblue-100"},c.createElement(p.Coins,{className:"h-5 w-5 text-geekblue-600",strokeWidth:2})),c.createElement("h2",{className:"mt-4 text-[17px] font-semibold tracking-tight text-gray-900"},M.empty.headline),c.createElement("p",{className:"mx-auto mt-2 max-w-[420px] text-[13px] leading-relaxed text-gray-500"},M.empty.body),c.createElement("ul",{className:"mx-auto mt-6 max-w-[380px] space-y-2.5 text-left"},M.empty.previews.map(function(e,t){var n,a=null!==(n=yr[t])&&void 0!==n?n:p.LineChart;return c.createElement("li",{key:e,className:"flex items-center gap-2.5"},c.createElement("span",{className:"flex h-6 w-6 flex-none items-center justify-center rounded-md bg-gray-100"},c.createElement(a,{className:"h-3.5 w-3.5 text-gray-500",strokeWidth:2})),c.createElement("span",{className:"text-[12.5px] text-gray-700"},e))})),c.createElement("button",{type:"button",onClick:t,className:"mt-7 rounded-lg bg-geekblue-600 px-5 py-2.5 text-[13px] font-medium text-white transition-colors hover:bg-geekblue-700"},M.empty.primaryCta),c.createElement("div",{className:"mt-3"},c.createElement("button",{type:"button",onClick:n,className:"text-[12.5px] font-medium text-geekblue-600 underline-offset-2 transition-colors hover:text-geekblue-700 hover:underline"},M.empty.secondaryLink)))}function kr(e){var t=e.open,n=e.onClose,a=M.requirementsPanel;return c.createElement(Y,{open:t,title:a.title,onClose:n},c.createElement("p",{className:"text-[12.5px] text-gray-500"},a.intro),c.createElement("div",{className:"mt-5 space-y-5"},a.items.map(function(e,t){return c.createElement("div",{key:e.title,className:"flex gap-3"},c.createElement("span",{className:"flex h-6 w-6 flex-none items-center justify-center rounded-full bg-geekblue-100 text-[11.5px] font-semibold text-geekblue-700"},t+1),c.createElement("div",null,c.createElement("h3",{className:"text-[13px] font-semibold text-gray-900"},e.title),c.createElement("p",{className:"mt-1 text-[12.5px] leading-relaxed text-gray-600"},e.body)))})),c.createElement("p",{className:"mt-6 rounded-lg border-l-2 border-emerald-400 bg-emerald-50/60 px-3.5 py-2.5 text-[12.5px] font-medium leading-relaxed text-emerald-900"},a.noCode))}function Er(e){var t=e.className,n=void 0===t?"":t;return c.createElement("div",{className:"animate-pulse rounded-xl bg-gray-100 ".concat(n)})}function Br(e){var t=e.status,n=e.label;return c.createElement("li",{className:"flex items-center gap-2.5"},"done"===t?c.createElement(p.CheckCircle2,{className:"h-[15px] w-[15px] flex-none text-emerald-500",strokeWidth:2}):"active"===t?c.createElement(p.Loader2,{className:"h-[15px] w-[15px] flex-none animate-spin text-geekblue-600",strokeWidth:2}):c.createElement(p.Circle,{className:"h-[15px] w-[15px] flex-none text-gray-300",strokeWidth:2}),c.createElement("span",{className:"pending"===t?"text-[13px] text-gray-400":"active"===t?"text-[13px] font-medium text-gray-900":"text-[13px] text-gray-600"},n))}function Nr(e){var t=e.icon,n=e.label,a=e.body;return c.createElement("div",{className:"flex gap-2.5"},c.createElement(t,{className:"mt-0.5 h-4 w-4 flex-none text-gray-400",strokeWidth:2}),c.createElement("div",null,c.createElement("p",{className:"text-[12.5px] font-medium text-gray-800"},n),c.createElement("p",{className:"mt-0.5 text-[12.5px] leading-relaxed text-gray-500"},a)))}var Sr=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function Ir(e){var t=e.owner,n=M.syncing.notify,a=(0,c.useState)([]),r=(0,s.A)(a,2),i=r[0],l=r[1],A=(0,c.useState)(!1),d=(0,s.A)(A,2),u=d[0],m=d[1],x=(0,c.useState)(""),g=(0,s.A)(x,2),f=g[0],h=g[1],C=f.trim().toLowerCase(),v=[].concat((0,o.A)(t?[t]:[]),(0,o.A)(i)),b=Sr.test(C)&&!v.includes(C),y=function(){b&&(l(function(e){return[].concat((0,o.A)(e),[C])}),h(""),m(!1))};return c.createElement("div",{className:"flex gap-2.5"},c.createElement(p.Mail,{className:"mt-0.5 h-4 w-4 flex-none text-gray-400",strokeWidth:2}),c.createElement("div",{className:"min-w-0 flex-1"},c.createElement("p",{className:"text-[12.5px] font-medium text-gray-800"},n.label),c.createElement("p",{className:"mt-0.5 text-[12.5px] leading-relaxed text-gray-500"},v.length?n.withRecipients:n.noEmail),v.length>0&&c.createElement("div",{className:"mt-2 flex flex-wrap gap-1.5"},t&&c.createElement("span",{className:"inline-flex max-w-full items-center rounded-md bg-gray-100 px-2 py-0.5 text-[11.5px] text-gray-700"},c.createElement("span",{className:"truncate"},t)),i.map(function(e){return c.createElement("span",{key:e,className:"inline-flex max-w-full items-center gap-1 rounded-md bg-gray-100 px-2 py-0.5 text-[11.5px] text-gray-700"},c.createElement("span",{className:"truncate"}
1,e),c.createElement("button",{type:"button","aria-label":"Remove ".concat(e),onClick:function(){return l(function(t){return t.filter(function(t){return t!==e})})},className:"flex-none text-gray-400 transition-colors hover:text-gray-700"},c.createElement(p.X,{className:"h-3 w-3",strokeWidth:2.5})))})),u?c.createElement("div",{className:"mt-2 flex items-center gap-1.5"},c.createElement("input",{type:"email",value:f,autoFocus:!0,onChange:function(e){return h(e.target.value)},onKeyDown:function(e){"Enter"===e.key&&y(),"Escape"===e.key&&(m(!1),h(""))},placeholder:n.placeholder,className:"min-w-0 flex-1 rounded-md border border-gray-200 px-2 py-1 text-[12px] text-gray-800 placeholder:text-gray-400 focus:border-geekblue-400 focus:outline-none"}),c.createElement("button",{type:"button",onClick:y,disabled:!b,className:"flex-none rounded-md px-2.5 py-1 text-[11.5px] font-medium text-white transition-colors disabled:cursor-not-allowed disabled:opacity-40",style:{backgroundColor:"rgb(47,84,235)"}},n.add)):c.createElement("button",{type:"button",onClick:function(){return m(!0)},className:"mt-1.5 inline-flex items-center gap-1 text-[12px] font-medium text-geekblue-600 transition-colors hover:text-geekblue-700"},c.createElement(p.Plus,{className:"h-3.5 w-3.5",strokeWidth:2.5}),n.addPeople)))}function Or(e){var t=e.startedAt,n=e.slow,a=e.email,r=e.onOpenSetup,o=e.onDataLoaded,i=(0,c.useState)(0),l=(0,s.A)(i,2)[1];(0,c.useEffect)(function(){var e=window.setInterval(function(){return l(function(e){return e+1})},3e4);return function(){return window.clearInterval(e)}},[]);var A=(Date.now()-t.getTime())/6e4,d=n||A>45,u=M.syncing;return c.createElement("div",{className:"space-y-6"},c.createElement("div",{className:"mx-auto max-w-2xl rounded-2xl border border-gray-100 bg-white px-6 py-7 sm:px-9 sm:py-9"},c.createElement("div",{className:"flex items-start gap-4"},c.createElement("div",{className:"flex h-10 w-10 flex-none items-center justify-center rounded-full bg-geekblue-100"},c.createElement(p.Loader2,{className:"h-5 w-5 animate-spin text-geekblue-600",strokeWidth:2})),c.createElement("div",{className:"min-w-0"},c.createElement("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-emerald-600"},u.eyebrow),c.createElement("h2",{className:"mt-0.5 text-[17px] font-semibold tracking-tight text-gray-900"},u.title),c.createElement("p",{className:"mt-1 text-[13px] leading-relaxed text-gray-500"},u.lede),c.createElement("p",{className:"mt-1.5 text-[12px] text-gray-400"},u.started(le(t))))),c.createElement("ul",{className:"mt-6 space-y-2.5 border-t border-gray-100 pt-5"},c.createElement(Br,{status:"done",label:u.phases.connected}),c.createElement(Br,{status:"active",label:u.phases.importing}),c.createElement(Br,{status:"pending",label:u.phases.ready})),c.createElement("div",{className:"mt-6 grid items-start gap-4 border-t border-gray-100 pt-5 sm:grid-cols-3"},c.createElement(Nr,{icon:p.Clock,label:u.timing.label,body:u.timing.body}),c.createElement(Ir,{owner:a}),c.createElement(Nr,{icon:p.Coffee,label:u.leave.label,body:u.leave.body})),d&&c.createElement("p",{className:"mt-5 rounded-lg bg-amber-50 px-3.5 py-2.5 text-[12.5px] leading-relaxed text-amber-800"},u.slow),(r||o)&&c.createElement("div",{className:"mt-6 flex flex-wrap items-center gap-2 border-t border-dashed border-gray-200 pt-4"},c.createElement("span",{className:"text-[10.5px] font-semibold uppercase tracking-wide text-gray-400"},"Demo"),r&&c.createElement("button",{type:"button",onClick:r,className:"rounded-lg border border-gray-200 bg-gray-50 px-2.5 py-1 text-[11.5px] font-medium text-gray-600 transition-colors hover:bg-gray-100"},"Open setup modal"),o&&c.createElement("button",{type:"button",onClick:o,className:"rounded-lg border border-gray-200 bg-gray-50 px-2.5 py-1 text-[11.5px] font-medium text-gray-600 transition-colors hover:bg-gray-100"},"Jump to loaded report"))),c.createElement("div",null,c.createElement("p",{className:"mb-3 text-center text-[11px] font-medium uppercase tracking-wide text-gray-300"},u.previewLabel),c.createElement("div",{"aria-hidden":!0,className:"pointer-events-none select-none opacity-50 blur-[1px]"},c.createElement("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 xl:grid-cols-4"},[0,1,2,3].map(function(e){return c.createElement(Er,{key:e,className:"h-[92px]"})})),c.createElement(Er,{className:"mt-4 h-[300px]"}))))}
1function Tr(e){var t=e.value,n=e.onChange;return c.createElement("label",{className:"inline-flex items-center gap-1.5 rounded-lg border border-dashed border-gray-300 bg-gray-50 px-2 py-1"},c.createElement("span",{className:"text-[10.5px] font-semibold uppercase tracking-wide text-gray-400"},"State"),c.createElement("select",{"aria-label":"Demo state",value:t,onChange:function(e){return n(e.target.value)},className:"bg-transparent text-[11.5px] font-medium text-gray-700 focus:outline-none"},c.createElement("option",{value:"NOT_CONFIGURED"},"Not configured"),c.createElement("option",{value:"SYNCING"},"Syncing"),c.createElement("option",{value:"CONFIGURED"},"Configured")))}function Dr(e){var t=e.value,n=e.onChange;return c.createElement("label",{className:"inline-flex items-center gap-1.5 rounded-lg border border-dashed border-gray-300 bg-gray-50 px-2 py-1"},c.createElement("span",{className:"text-[10.5px] font-semibold uppercase tracking-wide text-gray-400"},"Sync"),c.createElement("select",{"aria-label":"Demo sync state",value:t,onChange:function(e){return n(e.target.value)},className:"bg-transparent text-[11.5px] font-medium text-gray-700 focus:outline-none"},re.map(function(e){return c.createElement("option",{key:e.value,value:e.value},e.label)})))}function zr(e){var t=e.report,n=e.onPreview;return c.createElement("div",{className:"relative"},c.createElement("div",{"aria-hidden":!0,className:"pointer-events-none select-none opacity-40 blur-[2px]"},t),c.createElement("div",{className:"absolute inset-0 z-30 flex items-start justify-center px-4 pt-12"},c.createElement("div",{className:"max-w-xs rounded-xl bg-white/95 p-6 text-center shadow-lg backdrop-blur-sm"},c.createElement("div",{className:"mx-auto mb-3 flex h-10 w-10 items-center justify-center rounded-full",style:{backgroundColor:"rgba(47,84,235,0.08)"}},c.createElement(p.Eye,{className:"h-5 w-5",style:{color:"rgb(47,84,235)"}})),c.createElement("h3",{className:"mb-1.5 text-sm font-semibold text-gray-900"},M.page.title),c.createElement("p",{className:"mb-4 text-xs text-gray-500"},"Revenue Attribution isn't enabled for your workspace yet. Switch to Demo Mode to preview it with sample data."),c.createElement("button",{type:"button",onClick:function(){return n()},className:"inline-flex items-center gap-1.5 rounded-lg px-4 py-2 text-xs font-medium text-white transition-colors",style:{backgroundColor:"rgb(47,84,235)"},onMouseEnter:function(e){return e.currentTarget.style.backgroundColor="rgb(25,40,190)"},onMouseLeave:function(e){return e.currentTarget.style.backgroundColor="rgb(47,84,235)"}},c.createElement(p.Eye,{className:"h-3.5 w-3.5"}),"Preview with Demo Data"))))}const Jr=function(){var e=(0,u._K)(),t=e.isDemoMode,n=e.toggleDemoMode,r=(0,m.h)(),o=r.getFlag,i=r.isLoading,x=o(mr.nQ),g=!t&&!x,f=(0,A.useSearchParams)(),h=(0,s.A)(f,2),C=h[0],v=h[1],b=t?vr[(C.get(fr)||"").toLowerCase()]:void 0,y=(0,c.useState)(null!=b?b:t?"CONFIGURED":"NOT_CONFIGURED"),w=(0,s.A)(y,2),k=w[0],B=w[1],N=(0,c.useState)(!1),S=(0,s.A)(N,2),I=S[0],O=S[1],T=(0,c.useState)(!1),D=(0,s.A)(T,2),z=D[0],J=D[1],P=(0,c.useState)(function(){return function(){if("undefined"==typeof window)return Ye();try{var e=window.localStorage.getItem(Ve);if(!e)return Ye();var t=JSON.parse(e);return Me(Me({},Ye()),t)}catch(e){return Ye()}}()}),W=(0,s.A)(P,2),R=W[0],F=W[1],j=(0,c.useState)(!t),U=(0,s.A)(j,2),q=U[0],Y=U[1],K=(0,c.useState)(!1),H=(0,s.A)(K,2),V=(H[0],H[1]),Q=(0,c.useRef)(function(){if("undefined"==typeof window)return!1;var e=new URLSearchParams(window.location.search);if(e.has("code")||e.has("secret_id")||e.has("error"))return!0;try{return"1"===sessionStorage.getItem(hr)}catch(e){return!1}}()),X=(0,c.useMemo)(function(){return Fe||(Fe=Le(new Date)),Fe},[]);(0,c.useEffect)(function(){if(t)Y(!1);else if(x){if(!Q.current){var e=!1;return Y(!0),L().then(function(t){if(!e&&t)if(t.setup){var n=He(t.setup);F(n),Qe(n),V(!0);var a=t.status&&vr[t.status]||"CONFIGURED";"SYNCING"===a&&t.updatedAt&&de(new Date(t.updatedAt)),B(a)}else V(!1),B("NOT_CONFIGURED")}).catch(function(){}).finally(function(){e||Y(!1)}),function(){e=!0}}Y(!1)}else Y(!1)},[t,x]),(0,c.useEffect)(function(){var e,n=(e=window.location.search,new URLSearchParams(e).get("secret_id")),a=!1;try{a="1"===sessionStorage.getItem(hr)}catch(e){}
1if(n||a){try{sessionStorage.removeItem(hr)}catch(e){}var r=new URLSearchParams(C);["secret_id","state"].forEach(function(e){return r.delete(e)}),v(r,{replace:!0});var o=Ia("ga4",t),s=Oa(o,"connect");try{var i=Number(sessionStorage.getItem(Cr));Number.isFinite(i)&&i>=1&&i<=o.length&&(s=i),sessionStorage.removeItem(Cr)}catch(e){}$({setupPath:"ga4",step:s}),O(!0),ct(!1),ut(!1),n?(!function(e){try{sessionStorage.setItem(It,e),sessionStorage.setItem(Ot,String(Date.now()))}catch(e){}}(n),rt(n)):ve("Google didn't return an authorisation for syncing. Please try authorising again.")}},[]),(0,c.useEffect)(function(){var e=C.get("code"),n=C.get("error");if(e||n){var a=function(){var e=new URLSearchParams(C);["code","error","state","scope","authuser","prompt"].forEach(function(t){return e.delete(t)}),v(e,{replace:!0})},r=Oa(Ia("ga4",t),"connect");if($({setupPath:"ga4",step:r}),O(!0),n)return ve("access_denied"===n?M.wizard.oauth.errors.DENIED.message:"Google returned an error: ".concat(n)),void a();if(!function(e){var t=null;try{t=sessionStorage.getItem(jt),sessionStorage.removeItem(jt)}catch(e){return!0}if(!t)return!0;if(!e)return!1;try{return JSON.parse(e).nonce===t}catch(e){return!1}}(C.get("state")))return ve("That sign-in didn't match the request we started. Please try again."),void a();var o=_t();a(),ke(!0),function(e,t){return gt.apply(this,arguments)}(e,o).then(function(e){ke(!1),e.ok?e.data.hasAnalyticsScope?(!function(e){try{sessionStorage.setItem(Rt,e)}catch(e){}}(e.data.refreshToken),$({connected:!0}),De(!0),ht({refreshToken:e.data.refreshToken}).then(function(e){De(!1),e.ok?Se(e.data):ve(e.message)})):ve(M.wizard.oauth.errors.DENIED.message):ve(e.message)})}},[]),(0,c.useEffect)(function(){b&&b!==k&&B(b)},[b]);var $=(0,c.useCallback)(function(e){F(function(t){var n=gr(gr({},t),e);return Qe(n),n})},[]),Z=(0,c.useCallback)(function(e){if(B(e),t){var n=new URLSearchParams(C);n.set(fr,br[e]),v(n,{replace:!0})}},[t,C,v]),te=(0,c.useCallback)((0,a.A)(l().mark(function e(){return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(O(!1),!t){e.next=2;break}return de(new Date),Z("SYNCING"),e.next=1,Xe(3e3);case 1:return Z("CONFIGURED"),e.abrupt("return");case 2:return e.prev=2,e.next=3,G(Ke(R),"syncing");case 3:V(!0),de(new Date),B("SYNCING"),e.next=5;break;case 4:e.prev=4,e.catch(2);case 5:case"end":return e.stop()}},e,null,[[2,4]])})),[t,Z,R]);(0,c.useEffect)(function(){if(!t&&"SYNCING"===k){var e=!1,n=function(){return E({attributionScope:"session"}).then(function(t){if(!e&&t.ok){var n=t.data.meta;n.configured&&!n.no_data&&(B("CONFIGURED"),G(Ke(R),"configured").catch(function(){}))}}).catch(function(){})};n();var a=window.setInterval(n,15e3);return function(){e=!0,window.clearInterval(a)}}},[t,k,R]);var ne=(0,c.useRef)(k);ne.current=k,(0,c.useEffect)(function(){if(!t&&x&&!I){var e=!1,n=window.setInterval(function(){return L().then(function(t){if(!e&&null!=t&&t.setup&&"configured"===t.status&&"CONFIGURED"!==ne.current){var n=He(t.setup);F(n),Qe(n),V(!0),B("CONFIGURED")}}).catch(function(){})},3e4);return function(){e=!0,window.clearInterval(n)}}},[t,x,I]);var re=(0,c.useRef)(null);(0,c.useEffect)(function(){if(!t&&x&&!q){var e=R.completedSteps.length;null!==re.current?e<=re.current?re.current=e:(re.current=e,I&&G(Ke(R),br[k]).catch(function(){})):re.current=e}},[t,x,R,k,q,I]);var se=R.devSyncState,ie=(0,c.useMemo)(function(){return function(e){if("STALE"===e)return ae("STALE");var t=oe[e];return t?ae("FAILED",t):ae("HEALTHY")}(se)},[se]),le=ee(R.propertyIds).map(function(e){return e.propertyId}),ce=(0,c.useState)(function(){return new Date}),Ae=(0,s.A)(ce,2),pe=Ae[0],de=Ae[1],ue=(0,c.useState)(!1),me=(0,s.A)(ue,2),xe=me[0],ge=me[1],fe=(0,c.useState)(null),he=(0,s.A)(fe,2),Ce=he[0],ve=he[1],be=(0,c.useState)(!1),ye=(0,s.A)(be,2),we=ye[0],ke=ye[1],Ee=(0,c.useState)(null),Be=(0,s.A)(Ee,2),Ne=Be[0],Se=Be[1],Ie=(0,c.useState)(!1),Oe=(0,s.A)(Ie,2),Te=Oe[0],De=Oe[1],ze=(0,c.useState)(!1),Je=(0,s.A)(ze,2),Pe=Je[0],We=Je[1],Re=(0,c.useState)(null),Ge=(0,s.A)(Re,2),je=Ge[0],_e=Ge[1],Ue=(0,c.useState)(!1),qe=(0,s.A)(Ue,2),$e=qe[0],Ze=qe[1],tt=(0,c.useState)(function(){return Tt()}),nt=(0,s.A)(tt,2),at=nt[0],rt=nt[1],ot=(0,c.useState)(!1),it=(0,s.A)(ot,2),lt=it[0],ct=it[1],At=(0,c.useState)(!1),pt=(0,s.A)(At,2),dt=pt[0],ut=pt[1];(0,c.useEffect)(function(){if(!t){var e=function(){var e=Dt();ut(e),e&&(zt(),rt(null))};e();var n=window.setInterval(e,15e3);return function(){return window.clearInterval(n)}}},[t,at]);var mt=(0,c.useCallback)((0,a.A)(l().mark(function e(){var n;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!lt){e.next=1;break}return e.abrupt("return");case 1:if(ct(!0),!t){e.next=3;break}return e.next=2,Xe(1200);case 2:return ct(!1),rt("demo-secret"),e.abrupt("return");case 3:return e.next=4,Nt(Bt());case 4:if((n=e.sent).ok){e.next=5;break}return ct(!1),ve(n.message),e.abrupt("return");case 5:try{sessionStorage.setItem(hr,"1"),sessionStorage.setItem(Cr,String(R.step))}catch(e){}window.location.href=n.data.consentUrl;case 6:case"end":return e.stop()}},e)})),[lt,t,R.step]),xt=(0,c.useCallback)((0,a.A)(l().mark(function e(){var n,a;return l().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!Pe){e.next=1;break}return e.abrupt("return");case 1:if(We(!0),!t){e.next=3;break}return e.next=2,Xe(1500);case 2:return We(!1),_e((new Date).toISOString()),e.abrupt("return");case 3:if(n=null!=at?at:Tt()){e.next=4;break}return We(!1),ve("Syncing isn't authorised yet. Go back to step 1 and authorise it."),e.abrupt("return");case 4:return e.next=5,Pt({propertyIds:R.propertyIds,secretId:n});case 5:if(a=e.sent,We(!1),a.ok){e.next=6;break}
1return ve(a.message),e.abrupt("return");case 6:zt(),rt(null),_e(a.data.syncStartedAt),Ze(a.data.connectionExist),G(Ke(R),"syncing").catch(function(){});case 7:case"end":return e.stop()}},e)})),[Pe,t,at,R]),ft=(0,c.useCallback)(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=Lt();n?(De(!0),ht({refreshToken:n,propertyId:e,forceRefresh:t}).then(function(e){De(!1),e.ok?Se(e.data):ve(e.message)})):ve("Your Google session expired. Reconnect to continue.")},[]),Ct=(0,c.useCallback)(function(){$({step:4}),O(!0)},[$]),vt=(0,c.useCallback)(function(){$({step:2,channelFixed:!1,channelOutcome:null,channelAutoAdvanced:!1}),O(!0)},[$]),bt=t?R.googleAccountEmail:(0,d.qo)(),yt=c.createElement(Zn,{data:X,currency:R.currency,ga4Revenue:R.devGa4Revenue,channelSkipped:R.channelSkipped,onFixChannel:vt,syncStatus:ie,propertyIds:le,onReconnect:function(){$({step:1}),O(!0)},onOpenConnection:function(){return ge(!0)},onEditSetup:Ct,onConfiguredChange:function(e){e||t||Z("NOT_CONFIGURED")}}),wt=!t&&i?c.createElement("div",{className:"flex items-center justify-center gap-2 py-24 text-[12.5px] text-gray-500"},c.createElement(p.Loader2,{className:"h-4 w-4 animate-spin text-geekblue-500"}),M.page.title,"â¦"):g?c.createElement(zr,{report:yt,onPreview:function(){return n()}}):q?c.createElement("div",{className:"flex items-center justify-center gap-2 py-24 text-[12.5px] text-gray-500"},c.createElement(p.Loader2,{className:"h-4 w-4 animate-spin text-geekblue-500"}),"Loading your attribution setupâ¦"):"SYNCING"===k?c.createElement(Or,{startedAt:pe,slow:"SYNCING_SLOW"===se,email:bt,onOpenSetup:t?function(){return O(!0)}:void 0,onDataLoaded:t?function(){return Z("CONFIGURED")}:void 0}):"CONFIGURED"===k?yt:c.createElement("div",{className:"relative"},c.createElement("div",{"aria-hidden":!0,className:"pointer-events-none select-none opacity-45 blur-[3px]"},yt),c.createElement("div",{className:"absolute inset-0 z-30 flex items-start justify-center px-4 pt-12"},c.createElement(wr,{onSetup:function(){return O(!0)},onWhatData:function(){return J(!0)}})));return c.createElement("div",{className:"relative flex-1 min-h-0 overflow-y-auto"},c.createElement("div",{className:"mx-auto w-full max-w-[1500px] px-6 py-8"},c.createElement("div",{className:"mb-5 flex flex-wrap items-start justify-between gap-3"},c.createElement("div",{className:"flex items-center gap-2"},c.createElement(p.DollarSign,{className:"h-5 w-5 text-geekblue-600",strokeWidth:2}),c.createElement("div",null,c.createElement("h1",{className:"text-[22px] font-semibold tracking-tight text-gray-900"},M.page.title),c.createElement("p",{className:"text-[12.5px] text-gray-500"},M.page.subtitle))),c.createElement("div",{className:"flex items-center gap-3"},c.createElement(Bn,{reportState:k,onSetup:function(){return O(!0)}}),t&&c.createElement(Tr,{value:k,onChange:Z}),t&&c.createElement(Dr,{value:se,onChange:function(e){$({devSyncState:e}),!function(e){return"SYNCING"===e||"SYNCING_SLOW"===e}(e)?Z("CONFIGURED"):(de("SYNCING_SLOW"===e?new Date(Date.now()-39e5):new Date),Z("SYNCING"))}}))),c.createElement(st.J,{className:"mb-5"}),wt),I&&c.createElement(ur,{state:R,patch:$,oauthError:Ce,exchanging:we,setupDetails:Ne,detailsLoading:Te,onSelectProperty:ft,onAuthoriseSync:mt,authorising:lt,airbyteAuthorised:Boolean(at)&&!dt,secretExpired:dt,onStart
1Sync:xt,syncing:Pe,syncStartedAt:je,connectionExisted:$e,onDismissOauthError:function(){return ve(null)},defaultNotifyEmail:bt,onClose:function(){return O(!1)},onFinish:te}),c.createElement(kr,{open:z,onClose:function(){return J(!1)}}),c.createElement(et,{open:xe,onClose:function(){return ge(!1)},setup:R,syncStatus:ie,onChangeProperties:function(){ge(!1),$({step:1}),O(!0)},onDisconnect:function(){ge(!1),$({connected:!1,propertyIds:[],googleAccountEmail:null,step:1}),t?Z("NOT_CONFIGURED"):(V(!1),B("NOT_CONFIGURED"),function(){return _.apply(this,arguments)}().catch(function(){}))}}))}},45454(e,t,n){n.d(t,{A:()=>i});var a=n(71354),r=n.n(a),o=n(76314),s=n.n(o)()(r());s.push([e.id,".ra-anim .ra-focus,.ra-anim .ra-token,.ra-anim .ra-type-clip,.ra-anim .ra-chip-in,.ra-anim .ra-bar,.ra-anim .ra-value,.ra-anim .ra-dot{animation-duration:8s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-fill-mode:backwards}.ra-anim .ra-focus{animation-name:ra-focus}.ra-anim .ra-step-1{animation-delay:0s}.ra-anim .ra-step-2{animation-delay:2s}.ra-anim .ra-step-3{animation-delay:4s}.ra-anim .ra-step-4{animation-delay:6s}.ra-anim .ra-token{animation-name:ra-token}.ra-anim .ra-type-clip{animation-name:ra-type;transform-origin:left center}.ra-anim .ra-chip-in{animation-name:ra-chip-in;animation-delay:2s}.ra-anim .ra-dot{animation-name:ra-dot;animation-delay:4s;transform-box:fill-box;transform-origin:center}.ra-anim .ra-bar{animation-name:ra-bar;animation-delay:6s;transform-box:fill-box;transform-origin:center bottom}.ra-anim .ra-value{animation-name:ra-value;animation-delay:6s}.ra-anim.is-paused *{animation-play-state:paused !important}@keyframes ra-focus{0%{opacity:0}3%{opacity:1}22%{opacity:1}26%{opacity:0}100%{opacity:0}}@keyframes ra-token{0%,18%{transform:translateX(0)}25%,43%{transform:translateX(220px)}50%,68%{transform:translateX(440px)}75%,100%{transform:translateX(660px)}}@keyframes ra-type{0%{transform:scaleX(0)}16%{transform:scaleX(1)}100%{transform:scaleX(1)}}@keyframes ra-chip-in{0%{opacity:.25}12%{opacity:1}100%{opacity:1}}@keyframes ra-dot{0%,8%{opacity:0;transform:scale(0)}16%{opacity:1;transform:scale(1.35)}22%{transform:scale(1)}100%{opacity:1;transform:scale(1)}}@keyframes ra-bar{0%{transform:scaleY(0.08)}14%{transform:scaleY(1)}100%{transform:scaleY(1)}}@keyframes ra-value{0%,10%{opacity:0;transform:translateY(4px)}18%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(0)}}.ra-popup-enter{animation:ra-popup-in 200ms ease-out}@keyframes ra-popup-in{from{opacity:0;transform:scale(0.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion: reduce){.ra-anim *,.ra-popup-enter{animation:none !important;transition:none !important}}","",{version:3,sources:["webpack://./src/components/AiVisibility/RevenueAttribution/HowAttributionWorks.scss"],names:[],mappings:"AAkBI,uIAOI,qBAAA,CACA,kCAAA,CACA,qCAAA,CACA,6BAAA,CAIJ,mBACI,uBAAA,CAEJ,oBACI,kBAAA,CAEJ,oBACI,kBAAA,CAEJ,oBACI,kBAAA,CAEJ,oBACI,kBAAA,CAIJ,mBACI,uBAAA,CAIJ,uBACI,sBAAA,CACA,4BAAA,CAIJ,qBACI,yBAAA,CACA,kBAAA,CAIJ,iBACI,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,uBAAA,CAIJ,iBACI,qBAAA,CACA,kBAAA,CACA,sBAAA,CACA,8BAAA,CAEJ,mBACI,uBAAA,CACA,kBAAA,CAGJ,qBACI,sCAAA,CAIR,oBACI,GACI,SAAA,CAEJ,GACI,SAAA,CAEJ,IACI,SAAA,CAEJ,IACI,SAAA,CAEJ,KACI,SAAA,CAAA,CAKR,oBACI,OAEI,uBAAA,CAEJ,QAEI,2BAAA,CAEJ,QAEI,2BAAA,CAEJ,SAEI,2BAAA,CAAA,CAIR,mBACI,GACI,mBAAA,CAEJ,IACI,mBAAA,CAEJ,KACI,mBAAA,CAAA,CAIR,sBACI,GACI,WAAA,CAEJ,IACI,SAAA,CAEJ,KACI,SAAA,CAAA,CAIR,kBACI,MAEI,SAAA,CACA,kBAAA,CAEJ,IACI,SAAA,CACA,qBAAA,CAEJ,IACI,kBAAA,CAEJ,KACI,SAAA,CACA,kBAAA,CAAA,CAIR,kBACI,GACI,sBAAA,CAEJ,IACI,mBAAA,CAEJ,KACI,mBAAA,CAAA,CAIR,oBACI,OAEI,SAAA,CACA,yBAAA,CAEJ,IACI,SAAA,CACA,uBAAA,CAEJ,KACI,SAAA,CACA,uBAAA,CAAA,CAKR,gBACI,oCAAA,CAGJ,uBACI,KACI,SAAA,CACA,qBAAA,CAEJ,GACI,SAAA,CACA,kBAAA,CAAA,CAQR,uCACI,2BAEI,yBAAA,CACA,0BAAA,CAAA",sourcesContent:['/**\n * "How attribution works" flow animation.\n *\n * All four panels stay on screen for the whole loop â only the *emphasis* moves.\n * An earlier version crossfaded between scenes, which meant you could never see\n * the relationship between the steps, only one step at a time.\n *\n * One 8s timeline shared by every animated element: the focus ring and each\n * panel\'s inner reveal run the same duration with a 2s-staggered delay, so the\n * hand-off needs no JS timers. Inner keyframe percentages therefore all sit\n * inside the first 25% of the cycle.\n *\n * Playback is driven by `animation-play-state` on the root, so the\n * IntersectionObserver / tab-blur / play-pause control freeze and resume the\n * loop rather than restarting it.\n */\n\n.ra-anim {\n .ra-focus,\n .ra-token,\n .ra-type-clip,\n .ra-chip-in,\n .ra-bar,\n .ra-value,\n .ra-dot {\n animation-duration: 8s;\n animation-iteration-count: infinite;\n animation-timing-function: ease-in-out;\n animation-fill-mode: backwards;\n }\n\n // Accent ring that marks the step currently being explained.\n .ra-focus {\n animation-name: ra-focus;\n }\n .ra-step-1 {\n animation-delay: 0s;\n }\n .ra-step-2 {\n animation-delay: 2s;\n }\n .ra-step-3 {\n animation-delay: 4s;\n }\n .ra-step-4 {\n animation-delay: 6s;\n }\n\n // The dot that carries the story along the connectors.\n .ra-token {\n animation-name: ra-token;\n }\n\n // Panel 1 â character reveal via a clip rect that widens from the left.\n .ra-type-clip {\n animation-name: ra-type;\n transform-origin: left center;\n }\n\n // Panel 2 â the cited chip settles in.\n .ra-chip-in {\n animation-name: ra-chip-in;\n animation-delay: 2s;\n }\n\n // Panel 3 â the recorded session lands.\n .ra-dot {\n animation-name: ra-dot;\n animation-delay: 4s;\n transform-box: fill-box;\n transform-origin: center;\n }\n\n // Panel 4 â the revenue bar grows, then the value label arrives.\n .ra-bar {\n animation-name: ra-bar;\n animation-delay: 6s;\n transform-box: fill-box;\n transform-origin: center bottom;\n }\n .ra-value {\n animation-name: ra-value;\n animation-delay: 6s;\n }\n\n &.is-paused * {\n animation-play-state: paused !important;\n }\n}\n\n@keyframes ra-focus {\n 0% {\n opacity: 0;\n }\n 3% {\n opacity: 1;\n }\n 22% {\n opacity: 1;\n }\n 26% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n }\n}\n\n/* Hops between panel centres, 220 user units apart, pausing on each. */\n@keyframes ra-token {\n 0%,\n 18% {\n transform: translateX(0);\n }\n 25%,\n 43% {\n transform: translateX(220px);\n }\n 50%,\n 68% {\n transform: translateX(440px);\n }\n 75%,\n 100% {\n transform: translateX(660px);\n }\n}\n\n@keyframes ra-type {\n 0% {\n transform: scaleX(0);\n }\n 16% {\n transform: scaleX(1);\n }\n 100% {\n transform: scaleX(1);\n }\n}\n\n@keyframes ra-chip-in {\n 0% {\n opacity: 0.25;\n }\n 12% {\n opacity: 1;\n }\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes ra-dot {\n 0%,\n 8% {\n opacity: 0;\n transform: scale(0);\n }\n 16% {\n opacity: 1;\n transform: scale(1.35);\n }\n 22% {\n transform: scale(1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes ra-bar {\n 0% {\n transform: scaleY(0.08);\n }
1\n 14% {\n transform: scaleY(1);\n }\n 100% {\n transform: scaleY(1);\n }\n}\n\n@keyframes ra-value {\n 0%,\n 10% {\n opacity: 0;\n transform: translateY(4px);\n }\n 18% {\n opacity: 1;\n transform: translateY(0);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* MOCK: simulated OAuth popup entrance. */\n.ra-popup-enter {\n animation: ra-popup-in 200ms ease-out;\n}\n\n@keyframes ra-popup-in {\n from {\n opacity: 0;\n transform: scale(0.96);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n/**\n * Hard requirement: no motion when the user has asked for none. The component\n * also drops the focus ring and token in JS; this is the belt-and-braces pass.\n */\n@media (prefers-reduced-motion: reduce) {\n .ra-anim *,\n .ra-popup-enter {\n animation: none !important;\n transition: none !important;\n }\n}\n'],sourceRoot:""}]);const i=s},51764(e,t,n){n.d(t,{A:()=>i});var a=n(71354),r=n.n(a),o=n(76314),s=n.n(o)()(r());s.push([e.id,'.rasx{--paper: #ffffff;--panel: #ffffff;--ink: #16181d;--ink-2: #5c6270;--ink-3: #98a0ac;
1--line: #eceef1;--line-2: #e2e5ea;--track: #eef0f3;--field: #f5f6f8;--accent: #2f54eb;--accent-strong: #1d3fcc;--accent-soft: #f0f5ff;--accent-2: #7c5cfc;--done: #10a472;--done-soft: #e9f8f1;--warn: #b8791b;--warn-strong: #8a5a10;--warn-soft: #fdf6ec;--fail: #dc2626;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, "Cascadia Mono", "Roboto Mono", Consolas, monospace;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.rasx *{box-sizing:border-box}.rasx.rasx-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:1040px;max-height:min(92vh,880px);background:var(--panel);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;box-shadow:0 32px 80px -28px rgba(16,18,24,.34)}.rasx .rasx-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.rasx .rasx-bg .dots{position:absolute;inset:0;background-image:radial-gradient(currentColor 1px, transparent 1px);background-size:24px 24px;color:var(--ink);opacity:.02}.rasx .rasx-bg .glow{position:absolute;width:460px;height:460px;border-radius:50%;filter:blur(90px);will-change:transform}.rasx .rasx-bg .g1{top:-180px;right:-120px;background:var(--accent);opacity:.09}.rasx .rasx-bg .g2{top:-80px;right:180px;background:var(--accent-2);opacity:.06}.rasx .rasx-mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.rasx .rasx-head{position:relative;z-index:1;flex:none;padding:20px clamp(22px,3vw,34px) 0}.rasx .rasx-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.rasx .rasx-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.rasx .rasx-livedot{position:relative;width:6px;height:6px;flex:none}.rasx .rasx-livedot::before,.rasx .rasx-livedot::after{content:"";position:absolute;inset:0;border-radius:999px;background:var(--accent)}.rasx .rasx-livedot::before{animation:rasx-ring 2s ease-out infinite;opacity:.5}.rasx .rasx-close{flex:none;width:30px;height:30px;display:grid;place-items:center;margin:-4px -6px 0 0;border-radius:8px;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--ink-3);cursor:pointer;transition:background .15s,color .15s}.rasx .rasx-close:hover{background:var(--field);color:var(--ink)}.rasx .rasx-stepper{display:flex;align-items:flex-start;gap:6px;margin-top:16px}.rasx .rasx-stepper-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:8px;background:none;border:0;padding:0;text-align:left;font:inherit;cursor:default}.rasx .rasx-stepper-item.clickable{cursor:pointer}.rasx .rasx-stepper-bar{height:4px;border-radius:999px;background:var(--line-2);overflow:hidden;position:relative}.rasx .rasx-stepper-bar>span{position:absolute;inset:0;border-radius:999px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(0.22, 1, 0.36, 1)}.rasx .rasx-stepper-item.done .rasx-stepper-bar>span{transform:scaleX(1)}.rasx .rasx-stepper-item.active .rasx-stepper-bar>span{transform:scaleX(0.5)}.rasx .rasx-stepper-label{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:550;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rasx .rasx-stepper-item.active .rasx-stepper-label{color:var(--ink);font-weight:600}.rasx .rasx-stepper-item.done .rasx-stepper-label{color:var(--ink-2)}.rasx .rasx-stepper-num{flex:none;width:15px;height:15px;display:grid;place-items:center;border-radius:999px;font-size:9.5px;font-weight:700;background:var(--line-2);color:var(--ink-3)}.rasx .rasx-stepper-item.active .rasx-stepper-num{background:var(--accent);color:#fff}.rasx .rasx-stepper-item.done .rasx-stepper-num{background:var(--accent-soft);color:var(--accent)}.rasx .rasx-stepper-item.skipped .rasx-stepper-bar>span{transform:scaleX(1);background:var(--warn)}.rasx .rasx-stepper-item.skipped .rasx-stepper-num{background:var(--warn-soft);color:var(--warn)}.rasx .rasx-stepper-item.skipped .rasx-stepper-label{color:var(--warn-strong)}.rasx .rasx-stepper-num svg{width:9px;height:9px}.rasx .rasx-scroll{position:relative;z-index:1;flex:1 1 auto;min-height:0;overflow-y:auto;padding:clamp(26px,3.4vw,40px) clamp(22px,3vw,34px) clamp(24px,3vw,34px)}.rasx .rasx-scroll.is-path{overflow:hidden}.rasx .rasx-step{max-width:600px;margin:0 auto;animation:rasx-stepIn .42s cubic-bezier(0.22, 1, 0.36, 1) both}.rasx .rasx-step.wide{max-width:680px}.rasx .rasx-intro{margin-bottom:26px}.rasx .rasx-intro-eyebrow{font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--accent)}.rasx .rasx-intro h2{margin:10px 0 0;font-size:clamp(22px,2.6vw,27px);font-weight:600;line-height:1.14;letter-spacing:-0.02em;color:var(--ink);text-wrap:balance}.rasx .rasx-intro .rasx-lede{margin:11px 0 0;font-size:14.5px;line-height:1.6;color:var(--ink-2);max-width:52ch}.rasx .rasx-foot{position:relative;z-index:1;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(22px,3vw,34px);border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel) 82%, transparent);backdrop-filter:blur(6px);box-shadow:0 -10px 20px -14px rgba(16,18,24,.28)}.rasx .rasx-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:-0.004em;color:#fff;background:var(--ink);border:1px solid var(--ink);border-radius:9px;padding:11px 22px;
1cursor:pointer;transition:opacity .16s,transform .12s,background .16s}.rasx .rasx-cta:hover{opacity:.9}.rasx .rasx-cta:active{transform:translateY(1px)}.rasx .rasx-cta:disabled{cursor:not-allowed;opacity:.34}.rasx .rasx-cta .arw{transition:transform .2s ease}.rasx .rasx-cta:hover:not(:disabled) .arw{transform:translateX(3px)}.rasx .rasx-ghost{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:13px;font-weight:550;color:var(--ink-2);background:none;border:0;border-radius:8px;padding:9px 10px;cursor:pointer;transition:color .15s}.rasx .rasx-ghost:hover{color:var(--ink)}.rasx .rasx-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:13px;font-weight:550;color:var(--ink);background:var(--panel);border:1px solid var(--line-2);border-radius:9px;padding:9px 16px;cursor:pointer;transition:background .15s,border-color .15s}.rasx .rasx-btn:hover{background:var(--field)}.rasx .rasx-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.rasx .rasx-btn:disabled{cursor:not-allowed;opacity:.55}.rasx .rasx-btn.accent{color:#fff;background:var(--accent);border-color:var(--accent)}.rasx .rasx-btn.accent:hover{background:var(--accent-strong)}.rasx .rasx-btn.dark{color:#fff;background:var(--ink);border-color:var(--ink)}.rasx .rasx-btn.dark:hover{background:var(--ink);opacity:.9}.rasx .rasx-btn .spin{animation:rasx-spin .8s linear infinite}.rasx .rasx-pair{border:1px solid var(--line);border-radius:12px;overflow:hidden}.rasx .rasx-pair-row{display:flex;gap:11px;padding:13px 15px}.rasx .rasx-pair-row+.rasx-pair-row{border-top:1px solid var(--line)}.rasx .rasx-pair-row .ic{flex:none;margin-top:1px;color:var(--ink-3)}.rasx .rasx-pair-k{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.rasx .rasx-pair-v{font-size:13px;line-height:1.5;color:var(--ink);margin-top:3px}.rasx .rasx-pair-v strong{font-weight:600}.rasx .rasx-pair-v code{font-family:var(--mono);font-size:11.5px;background:var(--field);border-radius:5px;padding:1px 5px}.rasx .rasx-pair-row.warn{background:var(--warn-soft)}.rasx .rasx-pair-row.warn .ic{color:var(--warn)}.rasx .rasx-pair-row.warn .rasx-pair-k{color:var(--warn-strong)}.rasx .rasx-pair-row.ok{background:var(--done-soft)}.rasx .rasx-pair-row.ok .ic{color:var(--done)}.rasx .rasx-pair-row.ok .rasx-pair-k{color:#0b6b4a}.rasx .rasx-result{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border-radius:12px;background:var(--field)}.rasx .rasx-result-ic{flex:none;margin-top:1px;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;color:#fff;background:var(--ink-3)}.rasx .rasx-result-text{flex:1;min-width:0;font-size:13.5px;line-height:1.5;color:var(--ink)}.rasx .rasx-result-text strong{font-weight:600}.rasx .rasx-result-text code{font-family:var(--mono);font-size:11.5px;background:#fff;border-radius:5px;padding:1px 5px}.rasx .rasx-result-pill{flex:none;margin-top:1px;font-size:10.5px;font-weight:600;letter-spacing:.02em;padding:3px 9px;border-radius:999px;white-space:nowrap;background:#fff;color:var(--ink-3);border:1px solid var(--line)}.rasx .rasx-result.ok{background:var(--done-soft)}.rasx .rasx-result.ok .rasx-result-ic{background:var(--done)}.rasx .rasx-result.ok .rasx-result-pill{color:var(--done);border-color:rgba(0,0,0,0)}.rasx .rasx-result.warn{background:var(--warn-soft)}.rasx .rasx-result.warn .rasx-result-ic{background:var(--warn)}.rasx .rasx-result.warn .rasx-result-pill{color:var(--warn-strong);border-color:rgba(0,0,0,0)}.rasx .rasx-result.none .rasx-result-ic{background:#fff;color:var(--ink-3);border:1px solid var(--line-2)}.rasx .rasx-found{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:13px 15px;display:flex;flex-direction:column;gap:11px}.rasx .rasx-found-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.rasx .rasx-found-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.rasx .rasx-found-chip{display:inline-flex;align-items:center;height:24px;font-size:12px;color:var(--ink);background:var(--field);border-radius:6px;padding:0 9px}.rasx .rasx-found-chip.strong{font-weight:600;background:var(--accent-soft);color:var(--accent)}.rasx .rasx-found-chip.missing{background:var(--warn-soft);color:var(--warn-strong)}.rasx .rasx-pair-k.warn{color:var(--warn-strong)}.rasx .rasx-emails{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px}.rasx .rasx-email-chip{display:inline-flex;align-items:center;gap:4px;
1height:28px;font-size:12.5px;color:var(--ink);background:var(--field);border:0;border-radius:7px;padding:0 5px 0 10px}.rasx .rasx-email-chip button{display:grid;place-items:center;width:17px;height:17px;border:0;background:none;color:var(--ink-3);cursor:pointer;border-radius:5px;transition:background .15s,color .15s}.rasx .rasx-email-chip button:hover{color:var(--fail);background:var(--panel)}.rasx .rasx-email-add-btn{display:inline-flex;align-items:center;gap:4px;height:28px;font-family:var(--sans);font-size:12px;font-weight:550;color:var(--ink-2);background:none;border:1px dashed var(--line-2);border-radius:7px;padding:0 10px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.rasx .rasx-email-add-btn:hover{color:var(--ink);border-color:var(--ink-3);background:var(--field)}.rasx .rasx-email-add-btn svg{width:12px;height:12px}.rasx .rasx-email-input{height:28px;width:190px;font-family:var(--sans);font-size:12.5px;color:var(--ink);background:var(--panel);border:1px solid var(--accent);border-radius:7px;padding:0 10px;outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.rasx .rasx-email-input::-moz-placeholder{color:var(--ink-3)}.rasx .rasx-email-input::placeholder{color:var(--ink-3)}.rasx .rasx-back{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:12.5px;font-weight:550;color:var(--ink-2);background:none;border:0;padding:4px 0;cursor:pointer;transition:color .15s}.rasx .rasx-back:hover{color:var(--ink)}.rasx .rasx-back svg{width:15px;height:15px}.rasx .rasx-estimate-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 12px}.rasx .rasx-estimate-head .lbl{font-size:13px;font-weight:600;color:var(--ink)}.rasx .rasx-estimate-head .cur{display:inline-flex;align-items:center;gap:8px}.rasx .rasx-estimate-head .cur>span{font-size:12px;color:var(--ink-2)}.rasx .rasx-value-list{border:1px solid var(--line-2);border-radius:13px;overflow:hidden}.rasx .rasx-value-row{display:flex;align-items:center;gap:14px;padding:9px 14px}.rasx .rasx-value-row+.rasx-value-row{border-top:1px solid var(--line)}.rasx .rasx-value-row .name{flex:1 1 auto;min-width:0;font-family:var(--mono);font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rasx .rasx-value-row .rasx-money .rasx-input{width:116px}.rasx .rasx-or{display:flex;align-items:center;gap:12px;margin:22px 0 2px}.rasx .rasx-or::before,.rasx .rasx-or::after{content:"";height:1px;flex:1;background:var(--line)}.rasx .rasx-or span{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.rasx .rasx-disclosure{margin-top:16px;border:1px solid var(--line-2);border-radius:11px;overflow:hidden}.rasx .rasx-disclosure-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;background:none;border:0;cursor:pointer;font:inherit;text-align:left;color:var(--ink);transition:background .15s}.rasx .rasx-disclosure-head:hover{background:var(--field)}.rasx .rasx-disclosure-head .lead{font-size:12.5px}.rasx .rasx-disclosure-head .lead b{font-weight:600}.rasx .rasx-disclosure-head .chev{flex:none;color:var(--ink-3);transition:transform .2s ease}.rasx .rasx-disclosure.open .rasx-disclosure-head .chev{transform:rotate(180deg)}.rasx .rasx-disclosure-body{padding:4px 15px 15px;border-top:1px solid var(--line)}.rasx .rasx-link{display:inline-flex;align-items:center;gap:4px;font-weight:550;color:var(--accent);text-decoration:none;cursor:pointer;border-bottom:1px solid rgba(0,0,0,0);transition:border-color .15s}.rasx .rasx-link:hover{border-bottom-color:currentColor}.rasx .rasx-link svg{width:12px;height:12px}.rasx .rasx-link.muted{color:var(--ink-2);font-weight:500}.rasx .rasx-link.muted:hover{color:var(--ink)}.rasx .rasx-note{display:flex;gap:11px;padding:13px 15px;border-radius:12px;background:var(--field);font-size:12.5px;line-height:1.55;color:var(--ink-2)}.rasx .rasx-note .ic{flex:none;margin-top:1px;color:var(--ink-3)}.rasx .rasx-note.accent{background:var(--accent-soft)}.rasx .rasx-note.accent .ic{color:var(--accent)}.rasx .rasx-status{border-radius:12px;padding:15px 17px;border:1px solid var(--line)}.rasx .rasx-status-head{display:flex;align-items:center;gap:9px}.rasx .rasx-status-title{font-size:13.5px;font-weight:600;color:var(--ink)}.rasx .rasx-status-body{margin-top:6px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}.rasx .rasx-status.ok{background:var(--done-soft);border-color:color-mix(in srgb, var(--done) 26%, transparent)}.rasx .rasx-status.ok .rasx-status-title{color:#0b6b4a}.rasx .rasx-status.ok .ic{color:var(--done)}.rasx .rasx-status.warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.rasx .rasx-status.warn .rasx-status-title{color:var(--warn-strong)}.rasx .rasx-status.warn .ic{color:var(--warn)}.rasx .rasx-status .ic{flex:none}.rasx .rasx-status ol{margin:8px 0 0;padding-left:18px}.rasx .rasx-status ol li{margin-top:4px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}.rasx .rasx-fix{margin-top:22px}.rasx .rasx-fix-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rasx .rasx-fix-title{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--ink)}.rasx .rasx-steps{list-style:none;counter-reset:rasx;margin:12px 0 0;padding:0}.rasx .rasx-steps li{counter-increment:rasx;position:relative;padding:7px 0 7px 30px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}.rasx .rasx-steps li::before{content:counter(rasx);position:absolute;
1left:0;top:6px;width:19px;height:19px;display:grid;place-items:center;border-radius:999px;background:var(--field);color:var(--ink-3);font-family:var(--mono);font-size:10.5px;font-weight:600}.rasx .rasx-steps li strong{color:var(--ink);font-weight:600}.rasx .rasx-steps li code{font-family:var(--mono);font-size:11.5px;background:var(--field);border-radius:5px;padding:1px 5px;color:var(--ink)}.rasx .rasx-code{position:relative;margin-top:10px;border-radius:11px;background:var(--field);border:1px solid var(--line-2);overflow:hidden}.rasx .rasx-code-pre{margin:0;padding:13px 66px 13px 15px;color:var(--ink);font-family:var(--mono);font-size:11.5px;line-height:1.6;overflow:auto;max-height:128px}.rasx .rasx-code-pre code{white-space:pre-wrap;word-break:break-word}.rasx .rasx-code-copy{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;font-family:var(--sans);font-size:11px;font-weight:500;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.rasx .rasx-code-copy:hover{background:var(--field);border-color:var(--ink-3);color:var(--ink)}.rasx .rasx-tag{flex:none;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--done-soft);color:#0b6b4a}.rasx .rasx-tag.soon{background:var(--field);color:var(--ink-3)}.rasx .rasx-step.pathwide{max-width:988px}.rasx .rasx-pathx{display:grid;gap:24px;grid-template-columns:1fr}@media(min-width: 780px){.rasx .rasx-step.pathwide{max-width:none;height:100%;display:flex;flex-direction:column;margin-right:calc(-1*clamp(22px,3vw,34px));margin-bottom:calc(-1*clamp(24px,3vw,34px))}.rasx .rasx-step.pathwide .rasx-pathx{flex:1 1 auto;min-height:460px;grid-template-columns:minmax(336px, 384px) 1fr;grid-template-rows:minmax(0, 1fr);align-items:start;-moz-column-gap:40px;column-gap:40px}}.rasx .rasx-pathx-left{display:flex;flex-direction:column;gap:26px;min-width:0}.rasx .rasx-pathx-left .rasx-intro{margin-bottom:0}.rasx .rasx-pathx-list{display:grid;gap:14px}.rasx .rasx-pathx-opt{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--line-2);border-radius:14px;padding:16px;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}.rasx .rasx-pathx-opt:hover{border-color:var(--ink-3);transform:translateY(-1px)}.rasx .rasx-pathx-opt.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.rasx .rasx-pathx-opt:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.rasx .rasx-pathx-logo{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);box-shadow:0 1px 2px rgba(16,24,40,.04)}.rasx .rasx-pathx-opt-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.rasx .rasx-pathx-opt-name{font-size:14px;font-weight:600;color:var(--ink)}.rasx .rasx-pathx-opt-sub{font-size:12px;line-height:1.4;color:var(--ink-3)}.rasx .rasx-pathx-radio{flex:none;width:19px;height:19px;border-radius:999px;border:1.5px solid var(--line-2);display:grid;place-items:center;color:#fff;transition:background .18s,border-color .18s}.rasx .rasx-pathx-radio svg{width:11px;height:11px;opacity:0;transition:opacity .18s}.rasx .rasx-pathx-opt.selected .rasx-pathx-radio{background:var(--accent);border-color:var(--accent)}.rasx .rasx-pathx-opt.selected .rasx-pathx-radio svg{opacity:1}.rasx .rasx-pathx-connect{padding-top:4px;animation:rasx-detailIn .34s cubic-bezier(0.22, 1, 0.36, 1) both}.rasx .rasx-pathx-connect-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.rasx .rasx-pathx-connect .rasx-link{margin-top:18px}.rasx .rasx-pathx-checks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:14px}.rasx .rasx-pathx-checks li{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--ink-2)}.rasx .rasx-pathx-checks .ck{flex:none;margin-top:1px;width:17px;height:17px;border-radius:999px;background:var(--done-soft);color:var(--done);display:grid;place-items:center}.rasx .rasx-pathx-checks .ck svg{width:10px;height:10px}.rasx .rasx-pathx-right{min-width:0;overflow:hidden;border-radius:14px}.rasx .rasx-pathx-right-inner{overflow:hidden;border-radius:14px;animation:rasx-detailIn .34s cubic-bezier(0.22, 1, 0.36, 1) both}.rasx .rasx-appwin{display:flex;flex-direction:column;width:100%;min-height:360px;border:1px solid var(--line-2);border-radius:14px;background:#fff;box-shadow:0 12px 30px -16px rgba(16,24,40,.22);overflow:hidden;font-size:12px}@media(min-width: 780px){.rasx .rasx-pathx-right{position:relative;overflow:visible;align-self:stretch}.rasx .rasx-pathx-right-inner{position:absolute;inset:0 calc(-1*clamp(22px,3vw,34px)) calc(-1*clamp(24px,3vw,34px)) 0;border-radius:14px 0 0 0}.rasx .rasx-appwin{width:100%;height:100%;min-height:0;border-right:none;border-bottom:none;border-radius:14px 0 0 0}}.rasx .rasx-appwin .aw-top{display:flex;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line)}.rasx .rasx-appwin .aw-crumb{font-size:12px;color:var(--ink-3);white-space:nowrap}.rasx .rasx-appwin .aw-preview-badge{margin-left:auto;flex:none;font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);background:var(--field);border:1px solid var(--line);padding:3px 8px;border-radius:999px}.rasx .rasx-appwin .aw-crumb b{color:var(--ink);font-weight:600}.rasx .rasx-appwin .aw-sep{margin:0 5px;opacity:.55}.rasx .rasx-appwin .aw-filters{display:flex;gap:8px;padding:14px 18px 0}.rasx .rasx-appwin .aw-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line-2);border-radius:8px;background:#fff;color:var(--ink-2);font-size:11px;font-weight:500;white-space:nowrap}.rasx .rasx-appwin .aw-chip svg{color:var(--ink-3)}.rasx .rasx-appwin .aw-tabs{display:flex;gap:22px;padding:0 18px;margin-top:14px;border-bottom:1px solid var(--line)}.rasx .rasx-appwin .aw-tab{padding:9px 0;font-size:12px;color:var(--ink-3);border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px}.rasx .rasx-appwin .aw-tab.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}.rasx .rasx-appwin .aw-body{flex:1 1 auto;padding:18px 18px 20px}.rasx .rasx-appwin .aw-src{font-size:11px;color:var(--ink-3)}.rasx .rasx-appwin .aw-headline{margin-top:6px;font-size:16px;font-weight:600;letter-spacing:-0.01em;color:var(--ink)}.rasx .rasx-appwin .aw-sub{margin-top:4px;font-size:12px;line-height:1.5;color:var(--ink-2)}.rasx .rasx-appwin .aw-kpis{display:flex;gap:12px;margin-top:16px}.rasx .rasx-appwin .aw-kpi{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding:12px 13px;border:1px solid var(--line);border-radius:10px}.rasx .rasx-appwin .aw-kpi .k{font-size:10.5px;color:var(--ink-3)}.rasx .rasx-appwin .aw-kpi b{font-size:15px;font-weight:600;color:var(--ink)}.rasx .rasx-appwin .aw-kpi i{font-style:normal;font-size:10px;font-weight:600;color:var(--done)}.rasx .rasx-appwin .aw-card{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:10px}.rasx .rasx-appwin .aw-card-h{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:10px}.rasx .rasx-appwin .aw-chart{display:block;width:100%;height:96px}.rasx .rasx-appwin .aw-grid{stroke:var(--line);stroke-width:1}.rasx .rasx-appwin .aw-ln{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.9;vector-effect:non-scaling-stroke}.rasx .rasx-appwin .aw-table{width:100%;border-collapse:collapse;font-size:12px}.rasx .rasx-appwin .aw-table td{padding:7px 0;border-top:1px solid var(--line);color:var(--ink-2)}.rasx .rasx-appwin .aw-table tr:first-child td{border-top:none}.rasx .rasx-appwin .aw-table .pg{font-family:var(--mono);font-size:11.5px;color:var(--ink)}.rasx .rasx-appwin .aw-table .src{color:var(--ink-3);font-size:11px;padding-left:10px}.rasx .rasx-appwin .aw-table .amt{text-align:right;font-weight:600;color:var(--ink)}.rasx .rasx-list{border:1px solid var(--line-2);border-radius:13px;overflow:hidden}.rasx .rasx-list-row{display:flex;align-items:center;gap:12px;padding:12px 15px;border-top:1px solid var(--line);cursor:pointer;transition:background .12s}.rasx .rasx-list-row:first-child{border-top:0}.rasx .rasx-list-row:hover{background:var(--field)}.rasx .rasx-list-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);flex:none}.rasx .rasx-list-name{flex:1 1 auto;min-width:0;font-family:var(--mono);font-size:12.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rasx .rasx-list-meta{flex:none;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.rasx .rasx-rev-badge{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.01em;color:var(--done);background:var(--done-soft)}.rasx .rasx-rev-badge svg{width:12px;height:12px}.rasx .rasx-evt{border:1px solid var(--line-2);border-radius:13px;overflow:hidden;background:var(--panel)}.rasx .rasx-evt-head{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.rasx .rasx-evt-search{flex:1 1 auto;display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--line-2);border-radius:9px;background:var(--field);transition:border-color .15s,box-shadow .15s,background .15s}.rasx .rasx-evt-search:focus-within{background:var(--panel);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.rasx .rasx-evt-search svg{flex:none;color:var(--ink-3)}.rasx .rasx-evt-search input{flex:1 1 auto;min-width:0;border:0;outline:none;background:rgba(0,0,0,0);font-family:var(--sans);font-size:13px;color:var(--ink)}.rasx .rasx-evt-search input::-moz-placeholder{color:var(--ink-3)}.rasx .rasx-evt-search input::placeholder{color:var(--ink-3)}.rasx .rasx-evt-cur{flex:none;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}.rasx .rasx-evt-scroll{max-height:156px;overflow-y:auto;overscroll-behavior:contain}.rasx .rasx-evt-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-top:1px solid var(--line)}.rasx .rasx-evt-row:first-child{border-top:0}.rasx .rasx-evt-row.on{background:var(--accent-soft)}.rasx .rasx-evt-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);flex:none}.rasx .rasx-evt-name{flex:1 1 auto;min-width:0;font-family:var(--mono);font-size:12.5px;color:var(--ink);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rasx .rasx-evt-rev{flex:none;font-size:12.5px;font-weight:600;color:var(--done);font-variant-numeric:tabular-nums}.rasx .rasx-evt-dash{flex:none;color:var(--ink-3);font-size:12.5px}.rasx .rasx-evt-count{flex:none;width:92px;text-align:right;font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.rasx .rasx-evt-row .rasx-money .rasx-input{width:108px}.rasx .rasx-evt-empty{padding:22px 14px;text-align:center;font-size:12.5px;color:var(--ink-3)}.rasx .rasx-evt-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-top:1px solid var(--line);background:var(--field);font-size:11.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}.rasx .rasx-evt-foottag{display:inline-flex;align-items:center;gap:5px;color:var(--done);font-weight:600}.rasx .rasx-field-label{display:block;font-size:12px;font-weight:550;color:var(--ink-2);margin-bottom:6px}.rasx .rasx-input,.rasx .rasx-select{font-family:var(--sans);font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--line-2);border-radius:9px;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.rasx .rasx-input:focus,.rasx .rasx-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.rasx .rasx-money{position:relative;display:inline-flex;align-items:center}.rasx .rasx-money .sym{position:absolute;
1left:11px;font-size:12.5px;color:var(--ink-3);pointer-events:none}.rasx .rasx-money .rasx-input{padding-left:25px;width:132px;font-variant-numeric:tabular-nums}.rasx .rasx-table-wrap{border:1px solid var(--line-2);border-radius:13px;overflow:hidden;max-height:320px;overflow-y:auto}.rasx .rasx-table{width:100%;border-collapse:collapse}.rasx .rasx-table thead th{text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);padding:9px 14px;background:var(--field);position:sticky;top:0;z-index:1}.rasx .rasx-table tbody td{padding:6px 10px;border-top:1px solid var(--line);vertical-align:middle}.rasx .rasx-table tbody tr.other td{background:color-mix(in srgb, var(--field) 55%, transparent);color:var(--ink-3);font-size:12px}.rasx .rasx-cell-input{width:100%;font-family:var(--sans);font-size:12.5px;color:var(--ink);background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:7px;padding:6px 8px;transition:border-color .15s,background .15s}.rasx .rasx-cell-input.mono{font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}.rasx .rasx-cell-input:hover{border-color:var(--line-2)}.rasx .rasx-cell-input:focus{outline:none;border-color:var(--accent);background:var(--panel)}.rasx .rasx-icon-btn{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;border:0;background:none;color:var(--ink-3);cursor:pointer;transition:background .15s,color .15s}.rasx .rasx-icon-btn:hover{background:var(--field);color:var(--fail)}.rasx .rasx-timeline{list-style:none;margin:0;padding:0;display:grid;gap:16px}.rasx .rasx-timeline li{display:flex;gap:13px}.rasx .rasx-timeline .n{flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:var(--mono);font-size:11px;font-weight:600}.rasx .rasx-timeline .tt{font-size:13px;font-weight:600;color:var(--ink)}.rasx .rasx-timeline .tb{margin-top:3px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}.rasx .rasx-demobar{position:relative;z-index:1;flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px clamp(22px,3vw,34px);border-top:1px dashed var(--line-2);background:repeating-linear-gradient(-45deg, var(--field), var(--field) 10px, color-mix(in srgb, var(--field) 60%, #fff) 10px, color-mix(in srgb, var(--field) 60%, #fff) 20px)}.rasx .rasx-demobar-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-right:4px}.rasx .rasx-demochip{font-family:var(--sans);font-size:11.5px;font-weight:550;color:var(--ink-3);background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:7px;padding:4px 9px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.rasx .rasx-demochip:hover{color:var(--ink-2)}.rasx .rasx-demochip.active{background:var(--panel);color:var(--ink);border-color:var(--line-2);box-shadow:0 1px 2px rgba(16,18,24,.06)}.rasx .rasx-inline-note{margin-top:10px;font-size:11.5px;color:var(--warn-strong)}.rasx .rasx-muted{color:var(--ink-3)}.rasx .rasx-spin{animation:rasx-spin .8s linear infinite}@media(max-width: 600px){.rasx .rasx-stepper-label span.txt{display:none}}@media(prefers-reduced-motion: reduce){.rasx .rasx-step,.rasx .rasx-livedot::before,.rasx .rasx-stepper-bar>span,.rasx .rasx-pathx-connect,.rasx .rasx-pathx-right-inner{animation:none;transition:none}}@keyframes rasx-detailIn{from{opacity:0;transform:translateY(6px) scale(0.995)}to{opacity:1;transform:none}}@keyframes rasx-ring{to{transform:scale(3.2);opacity:0}
1}@keyframes rasx-stepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rasx-spin{to{transform:rotate(360deg)}}',"",{version:3,sources:["webpack://./src/components/AiVisibility/RevenueAttribution/RevenueAttributionSetupWizardV2.scss"],names:[],mappings:"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",sourcesContent:['/* ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ\n Revenue Attribution â setup experience (v2).\n\n Editorial, card-based modal that borrows the language of the AI-visibility\n first-load wait screen: cool-biased neutrals, one restrained accent, a faint\n dot-grid + two soft drifting glows, big balanced titles, quiet segmented\n progress, and a dark-ink primary action. Everything is scoped under `.rasx`\n so nothing leaks into the app. Light-first by intent.\n ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ */\n\n.rasx {\n --paper: #ffffff;\n --panel: #ffffff;\n --ink: #16181d;\n --ink-2: #5c6270;\n --ink-3: #98a0ac;\n --line: #eceef1;\n --line-2: #e2e5ea;\n --track: #eef0f3;\n --field: #f5f6f8;\n --accent: #2f54eb;\n --accent-strong: #1d3fcc;\n --accent-soft: #f0f5ff;\n --accent-2: #7c5cfc;\n --done: #10a472;\n --done-soft: #e9f8f1;\n --warn: #b8791b;\n --warn-strong: #8a5a10;\n --warn-soft: #fdf6ec;\n --fail: #dc2626;\n --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", Roboto, Helvetica,\n Arial, sans-serif;\n --mono: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, "Cascadia Mono", "Roboto Mono", Consolas, monospace;\n\n font-family: var(--sans);\n color: var(--ink);\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n\n * {\n box-sizing: border-box;\n }\n\n /* ââ modal card ââ */\n &.rasx-card {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 1040px;\n max-height: min(92vh, 880px);\n background: var(--panel);\n border: 1px solid var(--line-2);\n border-radius: 18px;\n overflow: hidden;\n box-shadow: 0 32px 80px -28px rgba(16, 18, 24, 0.34);\n }\n\n /* ââ ambient background: faint dots + two soft glows ââ */\n .rasx-bg {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n overflow: hidden;\n }\n .rasx-bg .dots {\n position: absolute;\n inset: 0;\n background-image: radial-gradient(currentColor 1px, transparent 1px);\n background-size: 24px 24px;\n color: var(--ink);\n opacity: 0.02;\n }\n .rasx-bg .glow {\n position: absolute;\n width: 460px;\n height: 460px;\n border-radius: 50%;\n filter: blur(90px);\n will-change: transform;\n }\n .rasx-bg .g1 {\n top: -180px;\n right: -120px;\n background: var(--accent);\n opacity: 0.09;\n }\n .rasx-bg .g2 {\n top: -80px;\n right: 180px;\n background: var(--accent-2);\n opacity: 0.06;\n }\n\n .rasx-mono {\n font-family: var(--mono);\n font-variant-numeric: tabular-nums;\n }\n\n /* ââ header ââ */\n .rasx-head {\n position: relative;\n z-index: 1;\n flex: none;\n padding: 20px clamp(22px, 3vw, 34px) 0;\n }\n .rasx-head-row {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 16px;\n }\n .rasx-eyebrow {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.11em;\n text-transform: uppercase;\n color: var(--ink-3);\n }\n .rasx-livedot {\n position: relative;\n width: 6px;\n height: 6px;\n flex: none;\n }\n .rasx-livedot::before,\n .rasx-livedot::after {\n content: "";\n position: absolute;\n inset: 0;\n border-radius: 999px;\n background: var(--accent);\n }\n .rasx-livedot::before {\n animation: rasx-ring 2s ease-out infinite;\n opacity: 0.5;\n }\n .rasx-close {\n flex: none;\n width: 30px;\n height: 30px;\n display: grid;\n place-items: center;
1\n margin: -4px -6px 0 0;\n border-radius: 8px;\n border: 1px solid transparent;\n background: transparent;\n color: var(--ink-3);\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n }\n .rasx-close:hover {\n background: var(--field);\n color: var(--ink);\n }\n\n /* ââ horizontal stepper ââ */\n .rasx-stepper {\n display: flex;\n align-items: flex-start;\n gap: 6px;\n margin-top: 16px;\n }\n .rasx-stepper-item {\n flex: 1 1 0;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n background: none;\n border: 0;\n padding: 0;\n text-align: left;\n font: inherit;\n cursor: default;\n }\n .rasx-stepper-item.clickable {\n cursor: pointer;\n }\n .rasx-stepper-bar {\n height: 4px;\n border-radius: 999px;\n background: var(--line-2);\n overflow: hidden;\n position: relative;\n }\n .rasx-stepper-bar > span {\n position: absolute;\n inset: 0;\n border-radius: 999px;\n background: var(--accent);\n transform: scaleX(0);\n transform-origin: left;\n transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);\n }\n .rasx-stepper-item.done .rasx-stepper-bar > span {\n transform: scaleX(1);\n }\n .rasx-stepper-item.active .rasx-stepper-bar > span {\n transform: scaleX(0.5);\n }\n .rasx-stepper-label {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11.5px;\n font-weight: 550;\n color: var(--ink-3);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .rasx-stepper-item.active .rasx-stepper-label {\n color: var(--ink);\n font-weight: 600;\n }\n .rasx-stepper-item.done .rasx-stepper-label {\n color: var(--ink-2);\n }\n .rasx-stepper-num {\n flex: none;\n width: 15px;\n height: 15px;\n display: grid;\n place-items: center;\n border-radius: 999px;\n font-size: 9.5px;\n font-weight: 700;\n background: var(--line-2);\n color: var(--ink-3);\n }\n .rasx-stepper-item.active .rasx-stepper-num {\n background: var(--accent);\n color: #fff;\n }\n .rasx-stepper-item.done .rasx-stepper-num {\n background: var(--accent-soft);\n color: var(--accent);\n }\n /* Passed but not actually complete (e.g. channel check skipped) â amber, not a check. */\n .rasx-stepper-item.skipped .rasx-stepper-bar > span {\n transform: scaleX(1);\n background: var(--warn);\n }\n .rasx-stepper-item.skipped .rasx-stepper-num {\n background: var(--warn-soft);\n color: var(--warn);\n }\n .rasx-stepper-item.skipped .rasx-stepper-label {\n color: var(--warn-strong);\n }\n .rasx-stepper-num svg {\n width: 9px;\n height: 9px;\n }\n\n /* ââ scroll body ââ */\n .rasx-scroll {\n position: relative;\n z-index: 1;\n flex: 1 1 auto;\n min-height: 0;\n overflow-y: auto;\n padding: clamp(26px, 3.4vw, 40px) clamp(22px, 3vw, 34px) clamp(24px, 3vw, 34px);\n }\n /* The data-source step is a fixed, self-contained layout â the preview bleeds to the\n card edges by design, so clip it here instead of letting it raise scrollbars. */\n .rasx-scroll.is-path {\n overflow: hidden;\n }\n /* One page at a time; a soft entrance keeps step changes from feeling abrupt. */\n .rasx-step {\n max-width: 600px;\n margin: 0 auto;\n animation: rasx-stepIn 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;\n }\n .rasx-step.wide {\n max-width: 680px;\n }\n\n /* ââ editorial step intro ââ */\n .rasx-intro {\n margin-bottom: 26px;\n }\n .rasx-intro-eyebrow {\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.11em;\n text-transform: uppercase;\n color: var(--accent);\n }\n .rasx-intro h2 {\n margin: 10px 0 0;\n font-size: clamp(22px, 2.6vw, 27px);\n font-weight: 600;\n line-height: 1.14;\n letter-spacing: -0.02em;\n color: var(--ink);\n text-wrap: balance;\n }\n .rasx-intro .rasx-lede {\n margin: 11px 0 0;\n font-size: 14.5px;\n line-height: 1.6;\n color: var(--ink-2);\n max-width: 52ch;\n }\n\n /* ââ footer ââ */\n .rasx-foot {\n position: relative;\n z-index: 1;\n flex: none;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n padding: 16px clamp(22px, 3vw, 34px);\n border-top: 1px solid var(--line);\n background: color-mix(in srgb, var(--panel) 82%, transparent);\n backdrop-filter: blur(6px);\n /* Lifts the footer so scrollable content reads as passing beneath it. */\n box-shadow: 0 -10px 20px -14px rgba(16, 18, 24, 0.28);\n }\n\n /* ââ buttons ââ */\n .rasx-cta {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n font-family: var(--sans);\n font-size: 13.5px;\n font-weight: 600;\n letter-spacing: -0.004em;\n color: #fff;\n background: var(--ink);\n border: 1px solid var(--ink);\n border-radius: 9px;\n padding: 11px 22px;\n cursor: pointer;\n transition: opacity 0.16s, transform 0.12s, background 0.16s;\n }\n .rasx-cta:hover {\n opacity: 0.9;\n }\n .rasx-cta:active {\n transform: translateY(1px);\n }
1\n .rasx-cta:disabled {\n cursor: not-allowed;\n opacity: 0.34;\n }\n .rasx-cta .arw {\n transition: transform 0.2s ease;\n }\n .rasx-cta:hover:not(:disabled) .arw {\n transform: translateX(3px);\n }\n .rasx-ghost {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--sans);\n font-size: 13px;\n font-weight: 550;\n color: var(--ink-2);\n background: none;\n border: 0;\n border-radius: 8px;\n padding: 9px 10px;\n cursor: pointer;\n transition: color 0.15s;\n }\n .rasx-ghost:hover {\n color: var(--ink);\n }\n /* Secondary / outline action used inside step bodies. */\n .rasx-btn {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n font-family: var(--sans);\n font-size: 13px;\n font-weight: 550;\n color: var(--ink);\n background: var(--panel);\n border: 1px solid var(--line-2);\n border-radius: 9px;\n padding: 9px 16px;\n cursor: pointer;\n transition: background 0.15s, border-color 0.15s;\n }\n .rasx-btn:hover {\n background: var(--field);\n }\n /* Pressed state for a toggle button (e.g. "Estimate values here" while open). */\n .rasx-btn.active {\n color: var(--accent);\n border-color: var(--accent);\n background: var(--accent-soft);\n }\n .rasx-btn:disabled {\n cursor: not-allowed;\n opacity: 0.55;\n }\n .rasx-btn.accent {\n color: #fff;\n background: var(--accent);\n border-color: var(--accent);\n }\n .rasx-btn.accent:hover {\n background: var(--accent-strong);\n }\n /* Dark-ink action, for the in-body primary (e.g. re-check) so it reads as the\n one live action while the footer Continue stays disabled until resolved. */\n .rasx-btn.dark {\n color: #fff;\n background: var(--ink);\n border-color: var(--ink);\n }\n .rasx-btn.dark:hover {\n background: var(--ink);\n opacity: 0.9;\n }\n .rasx-btn .spin {\n animation: rasx-spin 0.8s linear infinite;\n }\n\n /* ââ expected/found pair â the heart of a diagnostic step ââ */\n .rasx-pair {\n border: 1px solid var(--line);\n border-radius: 12px;\n overflow: hidden;\n }\n .rasx-pair-row {\n display: flex;\n gap: 11px;\n padding: 13px 15px;\n }\n .rasx-pair-row + .rasx-pair-row {\n border-top: 1px solid var(--line);\n }\n .rasx-pair-row .ic {\n flex: none;
1\n margin-top: 1px;\n color: var(--ink-3);\n }\n .rasx-pair-k {\n font-size: 10.5px;\n font-weight: 600;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n color: var(--ink-3);\n }\n .rasx-pair-v {\n font-size: 13px;\n line-height: 1.5;\n color: var(--ink);\n margin-top: 3px;\n }\n .rasx-pair-v strong {\n font-weight: 600;\n }\n .rasx-pair-v code {\n font-family: var(--mono);\n font-size: 11.5px;\n background: var(--field);\n border-radius: 5px;\n padding: 1px 5px;\n }\n .rasx-pair-row.warn {\n background: var(--warn-soft);\n }\n .rasx-pair-row.warn .ic {\n color: var(--warn);\n }\n .rasx-pair-row.warn .rasx-pair-k {\n color: var(--warn-strong);\n }\n .rasx-pair-row.ok {\n background: var(--done-soft);\n }\n .rasx-pair-row.ok .ic {\n color: var(--done);\n }\n .rasx-pair-row.ok .rasx-pair-k {\n color: #0b6b4a;\n }\n\n /* ââ single "what GA4 has" result line (replaces the need/found pair) ââ */\n .rasx-result {\n display: flex;\n align-items: flex-start;\n gap: 11px;\n padding: 12px 13px;\n border-radius: 12px;\n background: var(--field);\n }\n .rasx-result-ic {\n flex: none;
1\n margin-top: 1px;\n width: 22px;\n height: 22px;\n border-radius: 999px;\n display: grid;\n place-items: center;\n color: #fff;\n background: var(--ink-3);\n }\n .rasx-result-text {\n flex: 1;\n min-width: 0;\n font-size: 13.5px;\n line-height: 1.5;\n color: var(--ink);\n }\n .rasx-result-text strong {\n font-weight: 600;\n }\n .rasx-result-text code {\n font-family: var(--mono);\n font-size: 11.5px;\n background: #fff;\n border-radius: 5px;\n padding: 1px 5px;\n }\n .rasx-result-pill {\n flex: none;\n margin-top: 1px;\n font-size: 10.5px;\n font-weight: 600;\n letter-spacing: 0.02em;\n padding: 3px 9px;\n border-radius: 999px;\n white-space: nowrap;\n background: #fff;\n color: var(--ink-3);\n border: 1px solid var(--line);\n }\n .rasx-result.ok {\n background: var(--done-soft);\n }\n .rasx-result.ok .rasx-result-ic {\n background: var(--done);\n }\n .rasx-result.ok .rasx-result-pill {\n color: var(--done);\n border-color: transparent;\n }\n .rasx-result.warn {\n background: var(--warn-soft);\n }\n .rasx-result.warn .rasx-result-ic {\n background: var(--warn);\n }\n .rasx-result.warn .rasx-result-pill {\n color: var(--warn-strong);\n border-color: transparent;\n }\n .rasx-result.none .rasx-result-ic {\n background: #fff;\n color: var(--ink-3);\n border: 1px solid var(--line-2);\n }\n\n /* ââ found AI channel(s) â the channel step waits and shows what we matched (§3) ââ */\n .rasx-found {\n margin-top: 12px;\n border: 1px solid var(--line);\n border-radius: 12px;\n padding: 13px 15px;\n display: flex;\n flex-direction: column;\n gap: 11px;\n }\n .rasx-found-name {\n display: flex;\n align-items: center;\n gap: 9px;\n flex-wrap: wrap;\n }\n .rasx-found-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n }\n .rasx-found-chip {\n display: inline-flex;\n align-items: center;\n height: 24px;\n font-size: 12px;\n color: var(--ink);\n background: var(--field);\n border-radius: 6px;\n padding: 0 9px;\n }\n .rasx-found-chip.strong {\n font-weight: 600;\n background: var(--accent-soft);\n color: var(--accent);\n }\n .rasx-found-chip.missing {\n background: var(--warn-soft);\n color: var(--warn-strong);\n }\n .rasx-pair-k.warn {\n color: var(--warn-strong);\n }\n\n /* ââ email recipients (what-happens-next) â compact tag input ââ */\n .rasx-emails {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 7px;\n margin-top: 9px;\n }\n .rasx-email-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n height: 28px;\n font-size: 12.5px;\n color: var(--ink);\n background: var(--field);\n border: 0;\n border-radius: 7px;\n padding: 0 5px 0 10px;\n }\n .rasx-email-chip button {\n display: grid;\n place-items: center;\n width: 17px;\n height: 17px;\n border: 0;\n background: none;\n color: var(--ink-3);\n cursor: pointer;\n border-radius: 5px;\n transition: background 0.15s, color 0.15s;\n }\n .rasx-email-chip button:hover {\n color: var(--fail);\n background: var(--panel);\n }\n .rasx-email-add-btn {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n height: 28px;\n font-family: var(--sans);\n font-size: 12px;\n font-weight: 550;\n color: var(--ink-2);\n background: none;\n border: 1px dashed var(--line-2);\n border-radius: 7px;\n padding: 0 10px;\n cursor: pointer;\n transition: color 0.15s, border-color 0.15s, background 0.15s;\n }\n .rasx-email-add-btn:hover {\n color: var(--ink);\n border-color: var(--ink-3);\n background: var(--field);\n }\n .rasx-email-add-btn svg {\n width: 12px;\n height: 12px;\n }\n .rasx-email-input {\n height: 28px;\n width: 190px;\n font-family: var(--sans);\n font-size: 12.5px;\n color: var(--ink);\n background: var(--panel);\n border: 1px solid var(--accent);\n border-radius: 7px;\n padding: 0 10px;\n outline: none;\n box-shadow: 0 0 0 3px var(--accent-soft);\n }\n .rasx-email-input::placeholder {\n color: var(--ink-3);\n }\n\n /* ââ estimate form (value step) ââ */\n .rasx-back {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n font-family: var(--sans);\n font-size: 12.5px;\n font-weight: 550;\n color: var(--ink-2);\n background: none;\n border: 0;\n padding: 4px 0;\n cursor: pointer;\n transition: color 0.15s;\n }\n .rasx-back:hover {\n color: var(--ink);\n }\n .rasx-back svg {\n width: 15px;\n height: 15px;\n }\n .rasx-estimate-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n margin: 16px 0 12px;\n }\n .rasx-estimate-head .lbl {\n font-size: 13px;\n font-weight: 600;\n color: var(--ink);\n }\n .rasx-estimate-head .cur {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n }\n .rasx-estimate-head .cur > span {\n font-size: 12px;\n color: var(--ink-2);\n }\n .rasx-value-list {\n border: 1px solid var(--line-2);\n border-radius: 13px;\n overflow: hidden;\n }\n .rasx-value-row {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 9px 14px;\n }\n .rasx-value-row + .rasx-value-row {\n border-top: 1px solid var(--line);\n }\n .rasx-value-row .name {\n flex: 1 1 auto;\n min-width: 0;\n font-family: var(--mono);\n font-size: 12.5px;\n color: var(--ink);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .rasx-value-row .rasx-money .rasx-input {\n width: 116px;\n }\n\n /* ââ "or" divider between two routes ââ */\n .rasx-or {\n display: flex;\n align-items: center;\n gap: 12px;\n margin: 22px 0 2px;\n }\n .rasx-or::before,\n .rasx-or::after {\n content: "";\n height: 1px;\n flex: 1;\n background: var(--line);\n }\n .rasx-or span {\n font-size: 10.5px;\n font-weight: 600;\n letter-spacing: 0.08em;\n text-transform: uppercase;\n color: var(--ink-3);\n }\n\n /* ââ collapsible disclosure (fix instructions) ââ */\n .rasx-disclosure {\n margin-top: 16px;\n border: 1px solid var(--line-2);\n border-radius: 11px;\n overflow: hidden;\n }\n .rasx-disclosure-head {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 12px 15px;\n background: none;\n border: 0;\n cursor: pointer;\n font: inherit;\n text-align: left;\n color: var(--ink);\n transition: background 0.15s;\n }\n .rasx-disclosure-head:hover {\n background: var(--field);\n }\n .rasx-disclosure-head .lead {\n font-size: 12.5px;\n }\n .rasx-disclosure-head .lead b {\n font-weight: 600;\n }\n .rasx-disclosure-head .chev {\n flex: none;\n color: var(--ink-3);\n transition: transform 0.2s ease;\n }\n .rasx-disclosure.open .rasx-disclosure-head .chev {\n transform: rotate(180deg);\n }\n .rasx-disclosure-body {\n padding: 4px 15px 15px;\n border-top: 1px solid var(--line);\n }
1\n\n /* ââ links (with a small external arrow) ââ */\n .rasx-link {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-weight: 550;\n color: var(--accent);\n text-decoration: none;\n cursor: pointer;\n border-bottom: 1px solid transparent;\n transition: border-color 0.15s;\n }\n .rasx-link:hover {\n border-bottom-color: currentColor;\n }\n .rasx-link svg {\n width: 12px;\n height: 12px;\n }\n /* Secondary link (e.g. docs) â quieter than the accent action links. */\n .rasx-link.muted {\n color: var(--ink-2);\n font-weight: 500;\n }\n .rasx-link.muted:hover {\n color: var(--ink);\n }\n\n /* ââ notes & callouts ââ */\n .rasx-note {\n display: flex;\n gap: 11px;\n padding: 13px 15px;\n border-radius: 12px;\n background: var(--field);\n font-size: 12.5px;\n line-height: 1.55;\n color: var(--ink-2);\n }\n .rasx-note .ic {\n flex: none;
1\n margin-top: 1px;\n color: var(--ink-3);\n }\n .rasx-note.accent {\n background: var(--accent-soft);\n }\n .rasx-note.accent .ic {\n color: var(--accent);\n }\n\n /* Status blocks â one semantic accent each, expressed with a left rule + tint,\n never a heavy filled box inside a box. */\n .rasx-status {\n border-radius: 12px;\n padding: 15px 17px;\n border: 1px solid var(--line);\n }\n .rasx-status-head {\n display: flex;\n align-items: center;\n gap: 9px;\n }\n .rasx-status-title {\n font-size: 13.5px;\n font-weight: 600;\n color: var(--ink);\n }\n .rasx-status-body {\n margin-top: 6px;\n font-size: 12.5px;\n line-height: 1.55;\n color: var(--ink-2);\n }\n .rasx-status.ok {\n background: var(--done-soft);\n border-color: color-mix(in srgb, var(--done) 26%, transparent);\n }\n .rasx-status.ok .rasx-status-title {\n color: #0b6b4a;\n }\n .rasx-status.ok .ic {\n color: var(--done);\n }\n .rasx-status.warn {\n background: var(--warn-soft);\n border-color: color-mix(in srgb, var(--warn) 30%, transparent);\n }\n .rasx-status.warn .rasx-status-title {\n color: var(--warn-strong);\n }\n .rasx-status.warn .ic {\n color: var(--warn);\n }\n .rasx-status .ic {\n flex: none;\n }\n .rasx-status ol {\n margin: 8px 0 0;\n padding-left: 18px;\n }\n .rasx-status ol li {\n margin-top: 4px;\n font-size: 12.5px;\n line-height: 1.55;\n color: var(--ink-2);\n }\n\n /* ââ the "how to fix" numbered guide ââ */\n .rasx-fix {\n margin-top: 22px;\n }\n .rasx-fix-head {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n }\n .rasx-fix-title {\n font-size: 12.5px;\n font-weight: 600;\n letter-spacing: 0.02em;\n color: var(--ink);\n }\n .rasx-steps {\n list-style: none;\n counter-reset: rasx;\n margin: 12px 0 0;\n padding: 0;\n }\n .rasx-steps li {\n counter-increment: rasx;\n position: relative;\n padding: 7px 0 7px 30px;\n font-size: 12.5px;\n line-height: 1.55;\n color: var(--ink-2);\n }\n .rasx-steps li::before {\n content: counter(rasx);\n position: absolute;\n left: 0;\n top: 6px;\n width: 19px;\n height: 19px;\n display: grid;\n place-items: center;\n border-radius: 999px;\n background: var(--field);\n color: var(--ink-3);\n font-family: var(--mono);\n font-size: 10.5px;\n font-weight: 600;\n }\n .rasx-steps li strong {\n color: var(--ink);\n font-weight: 600;\n }\n .rasx-steps li code {\n font-family: var(--mono);\n font-size: 11.5px;\n background: var(--field);\n border-radius: 5px;\n padding: 1px 5px;\n color: var(--ink);\n }\n\n /* ââ code block ââ */\n .rasx-code {\n position: relative;\n margin-top: 10px;\n border-radius: 11px;\n background: var(--field);\n border: 1px solid var(--line-2);\n overflow: hidden;\n }\n .rasx-code-pre {\n margin: 0;\n padding: 13px 66px 13px 15px;\n color: var(--ink);\n font-family: var(--mono);\n font-size: 11.5px;\n line-height: 1.6;\n overflow: auto;\n max-height: 128px;\n }\n .rasx-code-pre code {\n white-space: pre-wrap;\n word-break: break-word;\n }\n .rasx-code-copy {\n position: absolute;\n top: 8px;\n right: 8px;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 9px;\n font-family: var(--sans);\n font-size: 11px;\n font-weight: 500;\n color: var(--ink-2);\n background: #fff;\n border: 1px solid var(--line-2);\n border-radius: 8px;\n cursor: pointer;\n transition: background 0.15s, border-color 0.15s, color 0.15s;\n }\n .rasx-code-copy:hover {\n background: var(--field);\n border-color: var(--ink-3);\n color: var(--ink);\n }\n\n /* ââ selectable option cards (path chooser, etc.) ââ */\n .rasx-tag {\n flex: none;\n font-size: 9.5px;\n font-weight: 700;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n padding: 3px 8px;\n border-radius: 999px;\n background: var(--done-soft);\n color: #0b6b4a;\n }\n .rasx-tag.soon {\n background: var(--field);\n color: var(--ink-3);\n }\n\n /* ââ path chooser: options on the left, live detail on the right ââ */\n .rasx-step.pathwide {\n max-width: 988px;\n }
1\n .rasx-pathx {\n display: grid;\n gap: 24px;\n grid-template-columns: 1fr;\n }\n @media (min-width: 780px) {\n /* Fill the modal body and eat the scroll\'s right + bottom padding so the preview\n can run all the way to the card\'s right edge and down to the footer. */\n .rasx-step.pathwide {\n max-width: none;\n height: 100%;\n display: flex;\n flex-direction: column;\n margin-right: calc(-1 * clamp(22px, 3vw, 34px));\n margin-bottom: calc(-1 * clamp(24px, 3vw, 34px));\n }\n .rasx-step.pathwide .rasx-pathx {\n flex: 1 1 auto;\n min-height: 460px;\n grid-template-columns: minmax(336px, 384px) 1fr;\n grid-template-rows: minmax(0, 1fr);\n align-items: start;\n column-gap: 40px;\n }\n }\n /* left = heading + the choice + what it connects */\n .rasx-pathx-left {\n display: flex;\n flex-direction: column;\n gap: 26px;\n min-width: 0;\n }\n /* the intro sits in the flex column now â let the column gap own the spacing */\n .rasx-pathx-left .rasx-intro {\n margin-bottom: 0;\n }\n .rasx-pathx-list {\n display: grid;\n gap: 14px;\n }\n .rasx-pathx-opt {\n position: relative;\n display: flex;\n align-items: center;\n gap: 14px;\n width: 100%;\n text-align: left;\n background: var(--panel);\n border: 1px solid var(--line-2);\n border-radius: 14px;\n padding: 16px;\n cursor: pointer;\n transition: border-color 0.18s, box-shadow 0.18s, background 0.18s, transform 0.18s;\n }\n .rasx-pathx-opt:hover {\n border-color: var(--ink-3);\n transform: translateY(-1px);\n }\n .rasx-pathx-opt.selected {\n border-color: var(--accent);\n box-shadow: 0 0 0 1px var(--accent);\n background: var(--accent-soft);\n }\n .rasx-pathx-opt:focus-visible {\n outline: none;\n border-color: var(--accent);\n box-shadow: 0 0 0 3px var(--accent-soft);\n }\n .rasx-pathx-logo {\n flex: none;\n width: 40px;\n height: 40px;\n border-radius: 11px;\n display: grid;\n place-items: center;\n background: #fff;\n border: 1px solid var(--line);\n box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);\n }\n .rasx-pathx-opt-main {\n flex: 1 1 auto;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n .rasx-pathx-opt-name {\n font-size: 14px;\n font-weight: 600;\n color: var(--ink);\n }\n .rasx-pathx-opt-sub {\n font-size: 12px;\n line-height: 1.4;\n color: var(--ink-3);\n }\n .rasx-pathx-radio {\n flex: none;\n width: 19px;\n height: 19px;\n border-radius: 999px;\n border: 1.5px solid var(--line-2);\n display: grid;\n place-items: center;\n color: #fff;\n transition: background 0.18s, border-color 0.18s;\n }\n .rasx-pathx-radio svg {\n width: 11px;\n height: 11px;\n opacity: 0;\n transition: opacity 0.18s;\n }\n .rasx-pathx-opt.selected .rasx-pathx-radio {\n background: var(--accent);\n border-color: var(--accent);\n }\n .rasx-pathx-opt.selected .rasx-pathx-radio svg {\n opacity: 1;\n }\n\n /* left: what the chosen path connects (plain text, no card) */\n .rasx-pathx-connect {\n padding-top: 4px;\n animation: rasx-detailIn 0.34s cubic-bezier(0.22, 1, 0.36, 1) both;\n }\n .rasx-pathx-connect-label {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: var(--ink-3);\n }\n .rasx-pathx-connect .rasx-link {\n margin-top: 18px;\n }\n .rasx-pathx-checks {\n list-style: none;\n margin: 18px 0 0;\n padding: 0;\n display: grid;\n gap: 14px;\n }\n .rasx-pathx-checks li {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n font-size: 13px;\n line-height: 1.5;\n color: var(--ink-2);\n }\n .rasx-pathx-checks .ck {\n flex: none;
1\n margin-top: 1px;\n width: 17px;\n height: 17px;\n border-radius: 999px;\n background: var(--done-soft);\n color: var(--done);\n display: grid;\n place-items: center;\n }\n .rasx-pathx-checks .ck svg {\n width: 10px;\n height: 10px;\n }\n\n /* right: a peek at the actual product â clipped on the right so it reads as a\n real screen you\'re looking into, not a self-contained widget */\n .rasx-pathx-right {\n min-width: 0;\n overflow: hidden;\n border-radius: 14px;\n }\n .rasx-pathx-right-inner {\n overflow: hidden;\n border-radius: 14px;\n animation: rasx-detailIn 0.34s cubic-bezier(0.22, 1, 0.36, 1) both;\n }\n .rasx-appwin {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-height: 360px;\n border: 1px solid var(--line-2);\n border-radius: 14px;\n background: #fff;\n box-shadow: 0 12px 30px -16px rgba(16, 24, 40, 0.22);\n overflow: hidden;\n font-size: 12px;\n }\n /* Desktop: let the preview run off the modal\'s right and bottom edges, so it reads as\n a real screen you\'re looking into rather than a card that stops mid-panel. The inner\n is absolutely positioned and bleeds past the right column into the scroll padding on\n the right (to the card edge) and the bottom (to the footer); the scroll/card clip it. */\n @media (min-width: 780px) {\n .rasx-pathx-right {\n position: relative;\n overflow: visible;\n align-self: stretch;\n }\n .rasx-pathx-right-inner {\n position: absolute;\n inset: 0 calc(-1 * clamp(22px, 3vw, 34px)) calc(-1 * clamp(24px, 3vw, 34px)) 0;\n border-radius: 14px 0 0 0;\n }\n .rasx-appwin {\n width: 100%;\n height: 100%;\n min-height: 0;\n border-right: none;\n border-bottom: none;\n border-radius: 14px 0 0 0;\n }\n }\n .rasx-appwin .aw-top {\n display: flex;\n align-items: center;\n padding: 12px 18px;\n border-bottom: 1px solid var(--line);\n }\n .rasx-appwin .aw-crumb {\n font-size: 12px;\n color: var(--ink-3);\n white-space: nowrap;\n }\n .rasx-appwin .aw-preview-badge {\n margin-left: auto;\n flex: none;\n font-size: 9.5px;\n font-weight: 700;\n letter-spacing: 0.07em;\n text-transform: uppercase;\n color: var(--ink-3);\n background: var(--field);\n border: 1px solid var(--line);\n padding: 3px 8px;\n border-radius: 999px;\n }\n .rasx-appwin .aw-crumb b {\n color: var(--ink);\n font-weight: 600;\n }\n .rasx-appwin .aw-sep {\n margin: 0 5px;\n opacity: 0.55;\n }\n .rasx-appwin .aw-filters {\n display: flex;\n gap: 8px;\n padding: 14px 18px 0;\n }\n .rasx-appwin .aw-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 9px;\n border: 1px solid var(--line-2);\n border-radius: 8px;\n background: #fff;\n color: var(--ink-2);\n font-size: 11px;\n font-weight: 500;\n white-space: nowrap;\n }\n .rasx-appwin .aw-chip svg {\n color: var(--ink-3);\n }\n .rasx-appwin .aw-tabs {\n display: flex;\n gap: 22px;\n padding: 0 18px;\n margin-top: 14px;\n border-bottom: 1px solid var(--line);\n }\n .rasx-appwin .aw-tab {\n padding: 9px 0;\n font-size: 12px;\n color: var(--ink-3);\n border-bottom: 2px solid transparent;\n margin-bottom: -1px;\n }\n .rasx-appwin .aw-tab.on {\n color: var(--ink);\n font-weight: 600;\n border-bottom-color: var(--accent);\n }\n .rasx-appwin .aw-body {\n flex: 1 1 auto;\n padding: 18px 18px 20px;\n }\n .rasx-appwin .aw-src {\n font-size: 11px;\n color: var(--ink-3);\n }\n .rasx-appwin .aw-headline {\n margin-top: 6px;\n font-size: 16px;\n font-weight: 600;\n letter-spacing: -0.01em;\n color: var(--ink);\n }\n .rasx-appwin .aw-sub {\n margin-top: 4px;\n font-size: 12px;\n line-height: 1.5;\n color: var(--ink-2);\n }\n .rasx-appwin .aw-kpis {\n display: flex;\n gap: 12px;\n margin-top: 16px;\n }\n .rasx-appwin .aw-kpi {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 12px 13px;\n border: 1px solid var(--line);\n border-radius: 10px;\n }\n .rasx-appwin .aw-kpi .k {\n font-size: 10.5px;\n color: var(--ink-3);\n }\n .rasx-appwin .aw-kpi b {\n font-size: 15px;\n font-weight: 600;\n color: var(--ink);\n }\n .rasx-appwin .aw-kpi i {\n font-style: normal;\n font-size: 10px;\n font-weight: 600;\n color: var(--done);\n }\n .rasx-appwin .aw-card {\n margin-top: 16px;\n padding: 14px;\n border: 1px solid var(--line);\n border-radius: 10px;\n }\n .rasx-appwin .aw-card-h {\n font-size: 12px;\n font-weight: 600;\n color: var(--ink);\n margin-bottom: 10px;\n }\n .rasx-appwin .aw-chart {\n display: block;\n width: 100%;\n height: 96px;\n }\n .rasx-appwin .aw-grid {\n stroke: var(--line);\n stroke-width: 1;\n }\n .rasx-appwin .aw-ln {\n fill: none;\n stroke-width: 2;\n stroke-linecap: round;\n stroke-linejoin: round;\n opacity: 0.9;\n vector-effect: non-scaling-stroke;\n }\n .rasx-appwin .aw-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 12px;\n }\n .rasx-appwin .aw-table td {\n padding: 7px 0;\n border-top: 1px solid var(--line);\n color: var(--ink-2);\n }\n .rasx-appwin .aw-table tr:first-child td {\n border-top: none;\n }\n .rasx-appwin .aw-table .pg {\n font-family: var(--mono);\n font-size: 11.5px;\n color: var(--ink);\n }\n .rasx-appwin .aw-table .src {\n color: var(--ink-3);\n font-size: 11px;\n padding-left: 10px;\n }\n .rasx-appwin .aw-table .amt {\n text-align: right;\n font-weight: 600;\n color: var(--ink);\n }\n\n /* ââ event / value rows ââ */\n .rasx-list {\n border: 1px solid var(--line-2);\n border-radius: 13px;\n overflow: hidden;\n }\n .rasx-list-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 15px;\n border-top: 1px solid var(--line);\n cursor: pointer;\n transition: background 0.12s;\n }\n .rasx-list-row:first-child {\n border-top: 0;\n }\n .rasx-list-row:hover {\n background: var(--field);\n }\n .rasx-list-row input[type="checkbox"] {\n width: 15px;\n height: 15px;\n accent-color: var(--accent);\n flex: none;\n }\n .rasx-list-name {\n flex: 1 1 auto;\n min-width: 0;\n font-family: var(--mono);\n font-size: 12.5px;\n color: var(--ink);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .rasx-list-meta {\n flex: none;\n font-size: 11.5px;\n color: var(--ink-3);\n font-variant-numeric: tabular-nums;\n }\n /* "revenue tracked" pill â the only per-row signal in the revenue-found state. */\n .rasx-rev-badge {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: 999px;\n font-size: 10.5px;\n font-weight: 600;\n letter-spacing: 0.01em;\n color: var(--done);\n background: var(--done-soft);\n }\n .rasx-rev-badge svg {\n width: 12px;\n height: 12px;\n }\n\n /* ââ searchable event table (fixed height, scrolls) ââ */\n .rasx-evt {\n border: 1px solid var(--line-2);\n border-radius: 13px;\n overflow: hidden;\n background: var(--panel);\n }\n .rasx-evt-head {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 12px;\n border-bottom: 1px solid var(--line);\n }\n .rasx-evt-search {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 7px 11px;\n border: 1px solid var(--line-2);\n border-radius: 9px;\n background: var(--field);\n transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;\n }\n .rasx-evt-search:focus-within {\n background: var(--panel);\n border-color: var(--accent);\n box-shadow: 0 0 0 3px var(--accent-soft);\n }\n .rasx-evt-search svg {\n flex: none;\n color: var(--ink-3);\n }\n .rasx-evt-search input {\n flex: 1 1 auto;\n min-width: 0;\n border: 0;\n outline: none;\n background: transparent;\n font-family: var(--sans);\n font-size: 13px;\n color: var(--ink);\n }\n .rasx-evt-search input::placeholder {\n color: var(--ink-3);\n }\n .rasx-evt-cur {\n flex: none;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n color: var(--ink-2);\n }\n .rasx-evt-scroll {\n /* ~3.5 rows: a partial row peeks so the list reads as scrollable, and the\n step stays short enough that the actions below sit in view. */\n max-height: 156px;\n overflow-y: auto;\n overscroll-behavior: contain;\n }\n .rasx-evt-row {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 11px 14px;\n border-top: 1px solid var(--line);\n }\n .rasx-evt-row:first-child {\n border-top: 0;\n }\n .rasx-evt-row.on {\n background: var(--accent-soft);\n }\n .rasx-evt-row input[type="checkbox"] {\n width: 15px;\n height: 15px;\n accent-color: var(--accent);\n flex: none;\n }\n .rasx-evt-name {\n flex: 1 1 auto;\n min-width: 0;\n font-family: var(--mono);\n font-size: 12.5px;\n color: var(--ink);\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .rasx-evt-rev {\n flex: none;\n font-size: 12.5px;\n font-weight: 600;\n color: var(--done);\n font-variant-numeric: tabular-nums;\n }\n .rasx-evt-dash {\n flex: none;\n color: var(--ink-3);\n font-size: 12.5px;\n }\n .rasx-evt-count {\n flex: none;\n width: 92px;\n text-align: right;\n font-size: 11.5px;\n color: var(--ink-3);\n font-variant-numeric: tabular-nums;\n }\n .rasx-evt-row .rasx-money .rasx-input {\n width: 108px;\n }
1\n .rasx-evt-empty {\n padding: 22px 14px;\n text-align: center;\n font-size: 12.5px;\n color: var(--ink-3);\n }\n .rasx-evt-foot {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 9px 14px;\n border-top: 1px solid var(--line);\n background: var(--field);\n font-size: 11.5px;\n color: var(--ink-2);\n font-variant-numeric: tabular-nums;\n }\n .rasx-evt-foottag {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n color: var(--done);\n font-weight: 600;\n }\n\n /* ââ form fields ââ */\n .rasx-field-label {\n display: block;\n font-size: 12px;\n font-weight: 550;\n color: var(--ink-2);\n margin-bottom: 6px;\n }\n .rasx-input,\n .rasx-select {\n font-family: var(--sans);\n font-size: 13px;\n color: var(--ink);\n background: var(--panel);\n border: 1px solid var(--line-2);\n border-radius: 9px;\n padding: 9px 12px;\n transition: border-color 0.15s, box-shadow 0.15s;\n }\n .rasx-input:focus,\n .rasx-select:focus {\n outline: none;\n border-color: var(--accent);\n box-shadow: 0 0 0 3px var(--accent-soft);\n }\n .rasx-money {\n position: relative;\n display: inline-flex;\n align-items: center;\n }\n .rasx-money .sym {\n position: absolute;\n left: 11px;\n font-size: 12.5px;\n color: var(--ink-3);\n pointer-events: none;\n }\n .rasx-money .rasx-input {\n padding-left: 25px;\n width: 132px;\n font-variant-numeric: tabular-nums;\n }\n\n /* ââ page-type table ââ */\n .rasx-table-wrap {\n border: 1px solid var(--line-2);\n border-radius: 13px;\n overflow: hidden;\n /* Long tables scroll at a fixed height rather than pushing the footer away. */\n max-height: 320px;\n overflow-y: auto;\n }\n .rasx-table {\n width: 100%;\n border-collapse: collapse;\n }\n .rasx-table thead th {\n text-align: left;\n font-size: 10.5px;\n font-weight: 600;\n letter-spacing: 0.05em;\n text-transform: uppercase;\n color: var(--ink-3);\n padding: 9px 14px;\n background: var(--field);\n /* Keep the header in view while the body scrolls. */\n position: sticky;\n top: 0;\n z-index: 1;\n }\n .rasx-table tbody td {\n padding: 6px 10px;\n border-top: 1px solid var(--line);\n vertical-align: middle;\n }\n .rasx-table tbody tr.other td {\n background: color-mix(in srgb, var(--field) 55%, transparent);\n color: var(--ink-3);\n font-size: 12px;\n }\n .rasx-cell-input {\n width: 100%;\n font-family: var(--sans);\n font-size: 12.5px;\n color: var(--ink);\n background: transparent;\n border: 1px solid transparent;\n border-radius: 7px;\n padding: 6px 8px;\n transition: border-color 0.15s, background 0.15s;\n }\n .rasx-cell-input.mono {\n font-family: var(--mono);\n font-size: 11.5px;\n color: var(--ink-2);\n }\n .rasx-cell-input:hover {\n border-color: var(--line-2);\n }\n .rasx-cell-input:focus {\n outline: none;\n border-color: var(--accent);\n background: var(--panel);\n }\n .rasx-icon-btn {\n display: grid;\n place-items: center;\n width: 28px;\n height: 28px;\n border-radius: 7px;\n border: 0;\n background: none;\n color: var(--ink-3);\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n }\n .rasx-icon-btn:hover {\n background: var(--field);\n color: var(--fail);\n }\n\n /* ââ "what happens next" summary ââ */\n .rasx-timeline {\n list-style: none;\n margin: 0;\n padding: 0;\n display: grid;\n gap: 16px;\n }\n .rasx-timeline li {\n display: flex;\n gap: 13px;\n }\n .rasx-timeline .n {\n flex: none;\n width: 24px;\n height: 24px;\n display: grid;\n place-items: center;\n border-radius: 999px;\n background: var(--accent-soft);\n color: var(--accent);\n font-family: var(--mono);\n font-size: 11px;\n font-weight: 600;\n }\n .rasx-timeline .tt {\n font-size: 13px;\n font-weight: 600;\n color: var(--ink);\n }\n .rasx-timeline .tb {\n margin-top: 3px;\n font-size: 12.5px;\n line-height: 1.55;\n color: var(--ink-2);\n }\n\n /* ââ demo controls: deliberately set apart from the product UI ââ */\n .rasx-demobar {\n position: relative;\n z-index: 1;\n flex: none;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n padding: 9px clamp(22px, 3vw, 34px);\n border-top: 1px dashed var(--line-2);\n background: repeating-linear-gradient(\n -45deg,\n var(--field),\n var(--field) 10px,\n color-mix(in srgb, var(--field) 60%, #fff) 10px,\n color-mix(in srgb, var(--field) 60%, #fff) 20p
1x\n );\n }\n .rasx-demobar-label {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--mono);\n font-size: 10px;\n font-weight: 600;\n letter-spacing: 0.1em;\n text-transform: uppercase;\n color: var(--ink-3);\n margin-right: 4px;\n }\n .rasx-demochip {\n font-family: var(--sans);\n font-size: 11.5px;\n font-weight: 550;\n color: var(--ink-3);\n background: transparent;\n border: 1px solid transparent;\n border-radius: 7px;\n padding: 4px 9px;\n cursor: pointer;\n transition: background 0.15s, color 0.15s, border-color 0.15s;\n }\n .rasx-demochip:hover {\n color: var(--ink-2);\n }\n .rasx-demochip.active {\n background: var(--panel);\n color: var(--ink);\n border-color: var(--line-2);\n box-shadow: 0 1px 2px rgba(16, 18, 24, 0.06);\n }\n\n /* ââ misc ââ */\n .rasx-inline-note {\n margin-top: 10px;\n font-size: 11.5px;\n color: var(--warn-strong);\n }\n .rasx-muted {\n color: var(--ink-3);\n }\n .rasx-spin {\n animation: rasx-spin 0.8s linear infinite;\n }\n\n @media (max-width: 600px) {\n .rasx-stepper-label span.txt {\n display: none;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .rasx-step,\n .rasx-livedot::before,\n .rasx-stepper-bar > span,\n .rasx-pathx-connect,\n .rasx-pathx-right-inner {\n animation: none;\n transition: none;\n }\n }\n}\n\n@keyframes rasx-detailIn {\n from {\n opacity: 0;\n transform: translateY(6px) scale(0.995);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@keyframes rasx-ring {\n to {\n transform: scale(3.2);\n opacity: 0;\n }\n}\n@keyframes rasx-stepIn {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: none;\n }\n}\n@keyframes rasx-spin {\n to {\n transform: rotate(360deg);\n }\n}\n'],sourceRoot:""}]);const i=s}}]); 2//# sourceMappingURL=911.70dc365dcab914c791be.js.map
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.