SaaS Mode

✅ Easily Customize UI CSS
We would like to easily make platform-wide changes to the UI. Please give us a setting for editing a platform-wide CSS (this should be a $497 feature). For example, give us the ability to copy/edit base CSS like this: :root { --background: oklch(0.9807 0.0106 100.8193); --foreground: oklch(0.1500 0.0303 21.3295); --card: oklch(0.9600 0.0093 99.9853); --card-foreground: var(--foreground); --popover: var(--card); --popover-foreground: var(--foreground); --primary: oklch(0.2601 0.0499 259.4422); --primary-foreground: oklch(0.9807 0.0106 100.8193); --secondary: oklch(0.4794 0.0807 29.7197); --secondary-foreground: oklch(0.9807 0.0106 100.8193); --muted: oklch(0.9389 0.0094 99.9893); --muted-foreground: oklch(0.4506 0.0292 259.7731); --accent: oklch(0.3898 0.0595 150.4215); --accent-foreground: var(--primary-foreground); --border: oklch(0.8688 0.0096 100.0042); --input: var(--border); --ring: oklch(0.6505 0.0298 260.2930); --chart-1: oklch(0.8088 0.0991 251.7533); --chart-5: oklch(0.4210 0.1792 266.0094); --sidebar: var(--primary); --sidebar-foreground: var(--primary-foreground); --sidebar-primary: var(--secondary); --sidebar-accent-foreground: var(--accent-foreground); --sidebar-border: var(--border); --sidebar-ring: var(--ring); --font-sans: "Inter", sans-serif; --font-serif: "Cinzel", serif; --font-mono: "Menlo", monospace; --radius: 0.625rem; --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25); --tracking-normal: 0em; --spacing: 0.25rem; } .dark { --background: oklch(0.1801 0.0191 255.7673); --foreground: oklch(0.9807 0.0106 100.8193); --card: oklch(0.2204 0.0199 258.3470); --card-foreground: var(--foreground); --popover: var(--card); --popover-foreground: var(--foreground); --primary: oklch(0.9600 0.0093 99.9853); --primary-foreground: oklch(0.1995 0.0198 262.0232); --secondary: oklch(0.4288 0.0702 30.1163); --secondary-foreground: var(--primary); --muted: oklch(0.2713 0.0086 255.5780); --muted-foreground: oklch(0.6505 0.0298 260.2930); --accent: oklch(0.3898 0.0595 150.4215); --accent-foreground: var(--primary); --destructive: oklch(0.6494 0.1702 27.0540); --destructive-foreground: var(--background); --border: oklch(0.3504 0.0103 253.9690); --input: var(--border); --ring: oklch(0.6505 0.0298 260.2930); --chart-1: oklch(0.8100 0.1000 252); --chart-5: oklch(0.4200 0.1800 266); --sidebar: oklch(0.2204 0.0199 258.3470); --sidebar-foreground: var(--foreground); --sidebar-primary: var(--secondary); --sidebar-primary-foreground: var(--secondary-foreground); --sidebar-accent: var(--accent); --sidebar-ring: var(--ring); --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --radius: 0.625rem; --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10); --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10); --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25); } @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); --font-sans: var(--font-sans); --font-mono: var(--font-mono); --font-serif: var(--font-serif); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --shadow-2xs: var(--shadow-2xs); --shadow-xs: var(--shadow-xs); --shadow-lg: var(--shadow-lg); --shadow-xl: var(--shadow-xl); --shadow-2xl: var(--shadow-2xl); }
0
Allow Authorize.net (or other payment processors) at the Agency SaaS level — not just V2 SaaS
While Authorize.net and NMI support has been added for V2 SaaS mode, this doesn’t help agencies already running clients under the original Agency SaaS plan using Stripe. What’s still missing: We need the ability to use Authorize.net (or NMI, etc.) for SaaS re-billing at the Agency level, just like Stripe currently is. ---- ⚠️ Why this matters: There is no clean way to migrate existing clients from an Agency SaaS plan (re-billed via Stripe) to a V2 SaaS plan (billed via Authorize.net ). Here’s why: • Clients must go through a new checkout for the new V2 SaaS plan. • Agencies must then create custom automations or use Zapier to provision the new sub-account. • Even if we use snapshots to copy their old sub-account, not everything transfers over. • The client now has to abandon their old account and operate from a new one — which is disruptive and often a non-starter. For agencies, this means a logistical nightmare and a poor client experience, just to change the payment processor. ---- ✅ The Ideal Solution: Allow Authorize.net (or NMI) to be used directly at the Agency SaaS level, just like Stripe. This would enable us to: • Keep clients on their existing sub-accounts • Switch billing processors without rebuilding their setup • Ensure continuity and simplicity for both agency and client ---- This would save dozens of hours of work for each migration and help agency owners avoid the risk of Stripe’s shutdowns, rolling reserves, or geographic limitations — without needing to rework every client relationship from scratch. Please consider this a vital feature for long-term platform sustainability and flexibility. Happy to collaborate or provide more specifics.
0
Load More