PluginProbe
Easy Invoice – Invoice Generator, PDF Quotes & Payments / 2.4.4
Easy Invoice – Invoice Generator, PDF Quotes & Payments v2.4.4
2.4.3 2.4.4 2.4.2 2.4.0 2.4.1 2.3.8 2.3.7 2.3.6 2.3.5 2.3.4 2.3.3 2.3.2 2.3.1 2.2.0 2.1.21 2.1.20 2.1.19 2.1.18 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 All 60 releases
← All changes | templates/admin/free-vs-pro-page.php +173 -591 2.1.10 → 2.4.4 View file →
@@ -1,632 +1,214 @@
1 1 <?php
2 2 /**
3 - * Free vs Pro Comparison Page
3 + * Free vs Pro Comparison Page.
4 4 *
5 + * Data-driven layout: every feature row lives in $ei_fvp_features and the
6 + * table renders by iterating. Adding / removing / regrouping a feature is
7 + * one array edit — not a hundred lines of duplicated HTML.
8 + *
9 + * Plan model (aligned with LicensePlanResolver):
10 + * FREE — Easy Invoice plugin only.
11 + * PERSONAL — Easy Invoice Pro plugin installed; no license required.
12 + * Every Personal-tier addon in AddonRegistry.
13 + * PROFESSIONAL — Personal + Professional-tier addons (requires license).
14 + * AGENCY — Personal + Professional + Agency-tier addons.
15 + *
5 16 * @package EasyInvoice
6 - * @since 2.0.0
17 + * @since 2.0.0
7 18 */
8 19
9 -// Prevent direct access
10 20 if (!defined('ABSPATH')) {
11 21 exit;
12 22 }
23 +
24 +/**
25 + * Feature rows. Each entry:
26 + * title — feature label
27 + * desc — one-line description
28 + * plans — array of plan slugs that include this feature
29 + * (free, personal, professional, agency)
30 + * highlight — true → renders with a subtle accent background
31 + */
32 +$ei_fvp_features = [
33 + // ── Section: Core features (free with the Free plugin) ──────────────
34 + ['title' => __('Unlimited Invoices & Quotes', 'easy-invoice'), 'desc' => __('Create as many invoices and quotes as you need — no row caps.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
35 + ['title' => __('PDF Generation', 'easy-invoice'), 'desc' => __('Generate clean, professional PDF invoices and quotes out of the box.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
36 + ['title' => __('Client Management', 'easy-invoice'), 'desc' => __('Store and manage every client with addresses, contact info, and history.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
37 + ['title' => __('Tax & Discount Options', 'easy-invoice'), 'desc' => __('Add basic taxes, discounts, and fees to any invoice or quote.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
38 + ['title' => __('Email Notifications', 'easy-invoice'), 'desc' => __('Automatically send invoices and quotes to clients via email.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
39 + ['title' => __('PayPal Gateway', 'easy-invoice'), 'desc' => __('Accept online payments via the built-in PayPal gateway.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
40 + ['title' => __('Email Support', 'easy-invoice'), 'desc' => __('Standard email support for product questions and bug reports.', 'easy-invoice'), 'plans' => ['free','personal','professional','agency']],
41 +
42 + // ── Section: Personal tier (free with Pro plugin, no license required) ──
43 + ['title' => __('Multiple Payment Gateways', 'easy-invoice'), 'desc' => __('Stripe, Square, Mollie, Authorize.net, Paystack, Moneris — plus PayPal.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
44 + ['title' => __('Recurring Invoices & Subscriptions', 'easy-invoice'), 'desc' => __('Auto-bill on autopilot: weekly, monthly, or any custom schedule.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
45 + ['title' => __('Partial Payments & Deposits', 'easy-invoice'), 'desc' => __('Require deposits and let clients pay the balance in installments.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
46 + ['title' => __('Client Portal', 'easy-invoice'), 'desc' => __('Branded self-service area where clients view invoices and download PDFs.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
47 + ['title' => __('PDF Toolkit', 'easy-invoice'), 'desc' => __('Custom headers, footers, watermarks (PAID / DRAFT / OVERDUE), and styling.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
48 + ['title' => __('Bulk Email & Export', 'easy-invoice'), 'desc' => __('Bulk-email invoices and export selected rows to CSV / Excel / PDF.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
49 + ['title' => __('Item Library', 'easy-invoice'), 'desc' => __('Reusable catalog of services and products with one-click insert.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
50 + ['title' => __('Custom Invoice & Quote Templates','easy-invoice'), 'desc' => __('Drag-and-drop builder for pixel-perfect branded layouts.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
51 + ['title' => __('Additional Tax Lines', 'easy-invoice'), 'desc' => __('Multiple named tax lines per invoice — VAT + duty, GST + PST, federal + state.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
52 + ['title' => __('Email Enhancements', 'easy-invoice'), 'desc' => __('Branded HTML emails with CC / BCC, attached PDFs, and Reply-To.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
53 + ['title' => __('Privacy & GDPR Tools', 'easy-invoice'), 'desc' => __('Personal-data export and erasure for GDPR / CCPA compliance.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
54 + ['title' => __('Reports & Analytics', 'easy-invoice'), 'desc' => __('Visual dashboard for revenue, outstanding balances, and client performance.', 'easy-invoice'), 'plans' => ['personal','professional','agency'], 'highlight' => true],
55 +
56 + // ── Section: Professional tier ─────────────────────────────────────
57 + ['title' => __('Time Tracking & Project Billing', 'easy-invoice'), 'desc' => __('Built-in start/stop timer, hourly rates, one-click conversion to invoice lines.', 'easy-invoice'), 'plans' => ['professional','agency']],
58 + ['title' => __('Smart Reminders & Late Fees', 'easy-invoice'), 'desc' => __('Multi-step automated payment chase with auto-applied late fees.', 'easy-invoice'), 'plans' => ['professional','agency']],
59 + ['title' => __('Priority Support', 'easy-invoice'), 'desc' => __('Faster response times and direct line to the product team.', 'easy-invoice'), 'plans' => ['professional','agency']],
60 +
61 + // ── Section: Agency tier ───────────────────────────────────────────
62 + ['title' => __('White-Label & Brand Override', 'easy-invoice'), 'desc' => __('Rebrand Easy Invoice end-to-end: plugin name, menu, PDFs, emails.', 'easy-invoice'), 'plans' => ['agency'], 'highlight' => true],
63 + ['title' => __('Team Members & Audit Log', 'easy-invoice'), 'desc' => __('Scoped roles for staff plus a searchable audit log of every action.', 'easy-invoice'), 'plans' => ['agency'], 'highlight' => true],
64 + ['title' => __('Webhooks & Zapier Bridge', 'easy-invoice'), 'desc' => __('Stream invoice events to any URL — Zapier, Make, n8n, your CRM, Slack.', 'easy-invoice'), 'plans' => ['agency'], 'highlight' => true],
65 +];
66 +
67 +/**
68 + * Plan column metadata. Keeps the table header / CTA rows / checkout
69 + * links in one place so they stay aligned with the data above.
70 + */
71 +$ei_fvp_plans = [
72 + 'free' => [
73 + 'label' => __('Free', 'easy-invoice'),
74 + 'tagline' => __('For getting started', 'easy-invoice'),
75 + 'cta_text' => __('Already installed', 'easy-invoice'),
76 + 'cta_url' => '',
77 + 'accent' => 'text-gray-900',
78 + ],
79 + 'personal' => [
80 + 'label' => __('Personal', 'easy-invoice'),
81 + 'tagline' => __('Free with Pro plugin', 'easy-invoice'),
82 + 'cta_text' => __('Get Personal', 'easy-invoice'),
83 + 'cta_url' => 'https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=1',
84 + 'accent' => 'text-teal-600',
85 + ],
86 + 'professional' => [
87 + 'label' => __('Professional', 'easy-invoice'),
88 + 'tagline' => __('For growing businesses', 'easy-invoice'),
89 + 'cta_text' => __('Get Professional', 'easy-invoice'),
90 + 'cta_url' => 'https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=2',
91 + 'accent' => 'text-indigo-600',
92 + ],
93 + 'agency' => [
94 + 'label' => __('Agency', 'easy-invoice'),
95 + 'tagline' => __('For agencies & resellers', 'easy-invoice'),
96 + 'cta_text' => __('Get Agency', 'easy-invoice'),
97 + 'cta_url' => 'https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=3',
98 + 'accent' => 'text-purple-600',
99 + ],
100 +];
101 +
102 +/** Inline-renders a check (✓) or cross (✗) cell for a feature/plan pair. */
103 +$ei_fvp_render_cell = function (array $feature, string $plan_key): void {
104 + $included = in_array($plan_key, $feature['plans'], true);
105 + if ($included): ?>
106 + <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
107 + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
108 + </svg>
109 + <?php else: ?>
110 + <svg class="w-6 h-6 text-gray-300 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
111 + <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
112 + </svg>
113 + <?php endif;
114 +};
13 115 ?>
14 116
15 117 <section id="free-vs-pro" class="py-20 bg-gradient-to-br from-indigo-50 via-white to-purple-50">
16 118 <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
119 +
17 120 <div class="text-center mb-16">
18 121 <h2 class="text-3xl md:text-4xl lg:text-5xl font-bold text-gray-900 mb-6">
19 - Free vs Pro: <span class="text-transparent bg-clip-text bg-gradient-to-r from-indigo-600 to-purple-600">Choose What's Right for You</span>
122 + <?php esc_html_e('Free vs Pro: ', 'easy-invoice'); ?>
123 + <span class="text-transparent bg-clip-text bg-gradient-to-r from-indigo-600 to-purple-600">
124 + <?php esc_html_e('Choose What Fits Your Business', 'easy-invoice'); ?>
125 + </span>
20 126 </h2>
21 127 <p class="text-xl text-gray-600 max-w-3xl mx-auto leading-relaxed">
22 - Choose the perfect plan for your business needs. All plans include annual billing with monthly pricing shown.
128 + <?php esc_html_e('Personal-tier addons unlock automatically when you install Easy Invoice Pro — no license key needed. A license adds the Professional and Agency tiers.', 'easy-invoice'); ?>
23 129 </p>
24 130 </div>
25 131
26 132 <div class="max-w-7xl mx-auto overflow-x-auto">
27 133 <table class="w-full bg-white rounded-lg shadow-lg">
134 +
28 135 <thead>
29 136 <tr class="border-b">
30 - <th class="text-left p-6 text-lg font-semibold text-gray-900">Feature</th>
31 - <th class="text-center p-6 text-lg font-semibold text-gray-900">
32 - <div class="flex flex-col items-center">
33 - <span class="text-lg font-bold">Free</span>
34 - <span class="text-sm text-gray-500">$0/month</span>
35 - </div>
137 + <th class="text-left p-6 text-lg font-semibold text-gray-900">
138 + <?php esc_html_e('Feature', 'easy-invoice'); ?>
36 139 </th>
37 - <th class="text-center p-6 text-lg font-semibold text-gray-900">
38 - <div class="flex flex-col items-center">
39 - <span class="text-lg font-bold text-indigo-600">Personal</span>
40 - <span class="text-sm text-gray-500">$4.92/month</span>
41 - </div>
42 - </th>
43 - <th class="text-center p-6 text-lg font-semibold text-indigo-600">
44 - <div class="flex flex-col items-center">
45 - <span class="text-lg font-bold">Professional</span>
46 - <span class="text-sm text-gray-500">$8.25/month</span>
47 - </div>
48 - </th>
49 - <th class="text-center p-6 text-lg font-semibold text-purple-600">
50 - <div class="flex flex-col items-center">
51 - <span class="text-lg font-bold">Agency</span>
52 - <span class="text-sm text-gray-500">$16.58/month</span>
53 - </div>
54 - </th>
140 + <?php foreach ($ei_fvp_plans as $plan_key => $plan): ?>
141 + <th class="text-center p-6 text-lg font-semibold <?php echo esc_attr($plan['accent']); ?>">
142 + <div class="flex flex-col items-center">
143 + <span class="text-lg font-bold"><?php echo esc_html($plan['label']); ?></span>
144 + <span class="text-xs font-normal text-gray-500 mt-1">
145 + <?php echo esc_html($plan['tagline']); ?>
146 + </span>
147 + </div>
148 + </th>
149 + <?php endforeach; ?>
55 150 </tr>
56 - <!-- Top Action Buttons Row -->
151 +
57 152 <tr class="border-b bg-gray-50">
58 153 <td class="p-6">
59 - <div class="font-bold text-lg text-gray-900">Quick Start</div>
60 - <div class="text-sm text-gray-600 mt-1">Choose your plan now</div>
154 + <div class="font-bold text-lg text-gray-900"><?php esc_html_e('Quick Start', 'easy-invoice'); ?></div>
155 + <div class="text-sm text-gray-600 mt-1"><?php esc_html_e('Choose your plan now', 'easy-invoice'); ?></div>
61 156 </td>
62 - <td class="p-6 text-center">
63 - <span class="text-gray-500 text-sm">Already installed</span>
64 - </td>
65 - <td class="p-6 text-center">
66 - <a href="https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=1" class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
67 - Get Personal
68 - </a>
69 - </td>
70 - <td class="p-6 text-center">
71 - <a href="https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=2" class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
72 - Get Professional
73 - </a>
74 - </td>
75 - <td class="p-6 text-center">
76 - <a href="https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=3" class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
77 - Get Agency
78 - </a>
79 - </td>
157 + <?php foreach ($ei_fvp_plans as $plan): ?>
158 + <td class="p-6 text-center">
159 + <?php if (empty($plan['cta_url'])): ?>
160 + <span class="text-gray-500 text-sm"><?php echo esc_html($plan['cta_text']); ?></span>
161 + <?php else: ?>
162 + <a href="<?php echo esc_url($plan['cta_url']); ?>"
163 + target="_blank" rel="noopener"
164 + class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
165 + <?php echo esc_html($plan['cta_text']); ?>
166 + </a>
167 + <?php endif; ?>
168 + </td>
169 + <?php endforeach; ?>
80 170 </tr>
81 171 </thead>
172 +
82 173 <tbody class="divide-y divide-gray-200">
83 - <tr>
84 - <td class="p-6">
85 - <div class="font-medium text-gray-900">Unlimited Invoices &amp; Quotes</div>
86 - <div class="text-sm text-gray-500 mt-1">Create as many invoices and quotes as you need</div>
87 - </td>
88 - <td class="p-6 text-center">
89 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
90 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
91 - </svg>
92 - </td>
93 - <td class="p-6 text-center">
94 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
95 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
96 - </svg>
97 - </td>
98 - <td class="p-6 text-center">
99 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
100 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
101 - </svg>
102 - </td>
103 - <td class="p-6 text-center">
104 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
105 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
106 - </svg>
107 - </td>
108 - </tr>
109 - <tr>
110 - <td class="p-6">
111 - <div class="font-medium text-gray-900">PDF Generation</div>
112 - <div class="text-sm text-gray-500 mt-1">Generate professional PDF invoices</div>
113 - </td>
114 - <td class="p-6 text-center">
115 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
116 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
117 - </svg>
118 - </td>
119 - <td class="p-6 text-center">
120 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
121 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
122 - </svg>
123 - </td>
124 - <td class="p-6 text-center">
125 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
126 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
127 - </svg>
128 - </td>
129 - <td class="p-6 text-center">
130 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
131 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
132 - </svg>
133 - </td>
134 - </tr>
135 - <tr>
136 - <td class="p-6">
137 - <div class="font-medium text-gray-900">PayPal Payment Gateway</div>
138 - <div class="text-sm text-gray-500 mt-1">Accept online payments via PayPal</div>
139 - </td>
140 - <td class="p-6 text-center">
141 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
142 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
143 - </svg>
144 - </td>
145 - <td class="p-6 text-center">
146 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
147 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
148 - </svg>
149 - </td>
150 - <td class="p-6 text-center">
151 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
152 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
153 - </svg>
154 - </td>
155 - <td class="p-6 text-center">
156 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
157 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
158 - </svg>
159 - </td>
160 - </tr>
161 - <tr>
162 - <td class="p-6">
163 - <div class="font-medium text-gray-900">Tax &amp; Discount Options</div>
164 - <div class="text-sm text-gray-500 mt-1">Add taxes, discounts, and fees to invoices</div>
165 - </td>
166 - <td class="p-6 text-center">
167 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
168 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
169 - </svg>
170 - </td>
171 - <td class="p-6 text-center">
172 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
173 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
174 - </svg>
175 - </td>
176 - <td class="p-6 text-center">
177 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
178 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
179 - </svg>
180 - </td>
181 - <td class="p-6 text-center">
182 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
183 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
184 - </svg>
185 - </td>
186 - </tr>
187 - <tr>
188 - <td class="p-6">
189 - <div class="font-medium text-gray-900">Email Notifications</div>
190 - <div class="text-sm text-gray-500 mt-1">Automatically send invoices to clients</div>
191 - </td>
192 - <td class="p-6 text-center">
193 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
194 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
195 - </svg>
196 - </td>
197 - <td class="p-6 text-center">
198 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
199 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
200 - </svg>
201 - </td>
202 - <td class="p-6 text-center">
203 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
204 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
205 - </svg>
206 - </td>
207 - <td class="p-6 text-center">
208 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
209 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
210 - </svg>
211 - </td>
212 - </tr>
213 - <tr>
214 - <td class="p-6">
215 - <div class="font-medium text-gray-900">Client Management</div>
216 - <div class="text-sm text-gray-500 mt-1">Store and manage client information</div>
217 - </td>
218 - <td class="p-6 text-center">
219 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
220 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
221 - </svg>
222 - </td>
223 - <td class="p-6 text-center">
224 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
225 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
226 - </svg>
227 - </td>
228 - <td class="p-6 text-center">
229 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
230 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
231 - </svg>
232 - </td>
233 - <td class="p-6 text-center">
234 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
235 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
236 - </svg>
237 - </td>
238 - </tr>
239 - <tr>
240 - <td class="p-6">
241 - <div class="font-medium text-gray-900">Professional Templates</div>
242 - <div class="text-sm text-gray-500 mt-1">Beautiful, customizable invoice designs</div>
243 - </td>
244 - <td class="p-6 text-center">
245 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
246 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
247 - </svg>
248 - </td>
249 - <td class="p-6 text-center">
250 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
251 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
252 - </svg>
253 - </td>
254 - <td class="p-6 text-center">
255 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
256 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
257 - </svg>
258 - </td>
259 - <td class="p-6 text-center">
260 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
261 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
262 - </svg>
263 - </td>
264 - </tr>
265 - <tr class="bg-primary-50">
266 - <td class="p-6">
267 - <div class="font-medium text-gray-900">Recurring Invoices</div>
268 - <div class="text-sm text-gray-500 mt-1">Set up automatic recurring billing</div>
269 - </td>
270 - <td class="p-6 text-center">
271 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
272 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
273 - </svg>
274 - </td>
275 - <td class="p-6 text-center">
276 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
277 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
278 - </svg>
279 - </td>
280 - <td class="p-6 text-center">
281 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
282 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
283 - </svg>
284 - </td>
285 - <td class="p-6 text-center">
286 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
287 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
288 - </svg>
289 - </td>
290 - </tr>
291 - <tr class="bg-primary-50">
292 - <td class="p-6">
293 - <div class="font-medium text-gray-900">Multiple Payment Gateways</div>
294 - <div class="text-sm text-gray-500 mt-1">Stripe, PayPal, and more payment options</div>
295 - </td>
296 - <td class="p-6 text-center">
297 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
298 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
299 - </svg>
300 - </td>
301 - <td class="p-6 text-center">
302 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
303 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
304 - </svg>
305 - </td>
306 - <td class="p-6 text-center">
307 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
308 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
309 - </svg>
310 - </td>
311 - <td class="p-6 text-center">
312 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
313 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
314 - </svg>
315 - </td>
316 - </tr>
317 - <tr>
318 - <td class="p-6">
319 - <div class="font-medium text-gray-900">PDF Customization &amp; Watermarks</div>
320 - <div class="text-sm text-gray-500 mt-1">Customize PDFs with your branding</div>
321 - </td>
322 - <td class="p-6 text-center">
323 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
324 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
325 - </svg>
326 - </td>
327 - <td class="p-6 text-center">
328 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
329 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
330 - </svg>
331 - </td>
332 - <td class="p-6 text-center">
333 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
334 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
335 - </svg>
336 - </td>
337 - <td class="p-6 text-center">
338 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
339 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
340 - </svg>
341 - </td>
342 - </tr>
343 - <tr>
344 - <td class="p-6">
345 - <div class="font-medium text-gray-900">Custom Invoice Permalinks</div>
346 - <div class="text-sm text-gray-500 mt-1">Create custom URLs for invoices</div>
347 - </td>
348 - <td class="p-6 text-center">
349 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
350 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
351 - </svg>
352 - </td>
353 - <td class="p-6 text-center">
354 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
355 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
356 - </svg>
357 - </td>
358 - <td class="p-6 text-center">
359 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
360 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
361 - </svg>
362 - </td>
363 - <td class="p-6 text-center">
364 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
365 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
366 - </svg>
367 - </td>
368 - </tr>
369 - <tr>
370 - <td class="p-6">
371 - <div class="font-medium text-gray-900">CSV Export &amp; Reports</div>
372 - <div class="text-sm text-gray-500 mt-1">Export data and generate reports</div>
373 - </td>
374 - <td class="p-6 text-center">
375 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
376 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
377 - </svg>
378 - </td>
379 - <td class="p-6 text-center">
380 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
381 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
382 - </svg>
383 - </td>
384 - <td class="p-6 text-center">
385 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
386 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
387 - </svg>
388 - </td>
389 - <td class="p-6 text-center">
390 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
391 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
392 - </svg>
393 - </td>
394 - </tr>
395 - <tr>
396 - <td class="p-6">
397 - <div class="font-medium text-gray-900">Client Portal &amp; Shortcodes</div>
398 - <div class="text-sm text-gray-500 mt-1">Client login area and shortcode support</div>
399 - </td>
400 - <td class="p-6 text-center">
401 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
402 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
403 - </svg>
404 - </td>
405 - <td class="p-6 text-center">
406 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
407 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
408 - </svg>
409 - </td>
410 - <td class="p-6 text-center">
411 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
412 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
413 - </svg>
414 - </td>
415 - <td class="p-6 text-center">
416 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
417 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
418 - </svg>
419 - </td>
420 - </tr>
421 - <tr>
422 - <td class="p-6">
423 - <div class="font-medium text-gray-900">Payment Reminder Emails</div>
424 - <div class="text-sm text-gray-500 mt-1">Automated payment reminders</div>
425 - </td>
426 - <td class="p-6 text-center">
427 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
428 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
429 - </svg>
430 - </td>
431 - <td class="p-6 text-center">
432 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
433 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
434 - </svg>
435 - </td>
436 - <td class="p-6 text-center">
437 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
438 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
439 - </svg>
440 - </td>
441 - <td class="p-6 text-center">
442 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
443 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
444 - </svg>
445 - </td>
446 - </tr>
447 - <tr>
448 - <td class="p-6">
449 - <div class="font-medium text-gray-900">Partial Payments</div>
450 - <div class="text-sm text-gray-500 mt-1">Accept partial payments from clients</div>
451 - </td>
452 - <td class="p-6 text-center">
453 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
454 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
455 - </svg>
456 - </td>
457 - <td class="p-6 text-center">
458 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
459 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
460 - </svg>
461 - </td>
462 - <td class="p-6 text-center">
463 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
464 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
465 - </svg>
466 - </td>
467 - <td class="p-6 text-center">
468 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
469 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
470 - </svg>
471 - </td>
472 - </tr>
473 - <tr>
474 - <td class="p-6">
475 - <div class="font-medium text-gray-900">Advanced Tax Options</div>
476 - <div class="text-sm text-gray-500 mt-1">Complex tax calculations and rules</div>
477 - </td>
478 - <td class="p-6 text-center">
479 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
480 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
481 - </svg>
482 - </td>
483 - <td class="p-6 text-center">
484 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
485 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
486 - </svg>
487 - </td>
488 - <td class="p-6 text-center">
489 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
490 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
491 - </svg>
492 - </td>
493 - <td class="p-6 text-center">
494 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
495 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
496 - </svg>
497 - </td>
498 - </tr>
499 - <tr>
500 - <td class="p-6">
501 - <div class="font-medium text-gray-900">Priority Support</div>
502 - <div class="text-sm text-gray-500 mt-1">Faster response times for support</div>
503 - </td>
504 - <td class="p-6 text-center">
505 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
506 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
507 - </svg>
508 - </td>
509 - <td class="p-6 text-center">
510 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
511 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
512 - </svg>
513 - </td>
514 - <td class="p-6 text-center">
515 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
516 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
517 - </svg>
518 - </td>
519 - <td class="p-6 text-center">
520 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
521 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
522 - </svg>
523 - </td>
524 - </tr>
525 - <tr class="bg-primary-50">
526 - <td class="p-6">
527 - <div class="font-medium text-gray-900">Client Portal</div>
528 - <div class="text-sm text-gray-500 mt-1">Client login area and shortcode support</div>
529 - </td>
530 - <td class="p-6 text-center">
531 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
532 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
533 - </svg>
534 - </td>
535 - <td class="p-6 text-center">
536 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
537 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
538 - </svg>
539 - </td>
540 - <td class="p-6 text-center">
541 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
542 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
543 - </svg>
544 - </td>
545 - <td class="p-6 text-center">
546 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
547 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
548 - </svg>
549 - </td>
550 - </tr>
551 - <tr>
552 - <td class="p-6">
553 - <div class="font-medium text-gray-900">Email Support</div>
554 - <div class="text-sm text-gray-500 mt-1">Get help when you need it</div>
555 - </td>
556 - <td class="p-6 text-center">
557 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
558 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
559 - </svg>
560 - </td>
561 - <td class="p-6 text-center">
562 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
563 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
564 - </svg>
565 - </td>
566 - <td class="p-6 text-center">
567 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
568 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
569 - </svg>
570 - </td>
571 - <td class="p-6 text-center">
572 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
573 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
574 - </svg>
575 - </td>
576 - </tr>
577 - <tr class="bg-primary-50">
578 - <td class="p-6">
579 - <div class="font-medium text-gray-900">White Label</div>
580 - <div class="text-sm text-gray-500 mt-1">Remove branding and customize appearance</div>
581 - </td>
582 - <td class="p-6 text-center">
583 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
584 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
585 - </svg>
586 - </td>
587 - <td class="p-6 text-center">
588 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
589 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
590 - </svg>
591 - </td>
592 - <td class="p-6 text-center">
593 - <svg class="w-6 h-6 text-red-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
594 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
595 - </svg>
596 - </td>
597 - <td class="p-6 text-center">
598 - <svg class="w-6 h-6 text-green-500 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24">
599 - <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
600 - </svg>
601 - </td>
602 - </tr>
603 - <!-- Action Buttons Row -->
174 + <?php foreach ($ei_fvp_features as $feature):
175 + $row_class = !empty($feature['highlight']) ? 'bg-indigo-50/40' : '';
176 + ?>
177 + <tr class="<?php echo esc_attr($row_class); ?>">
178 + <td class="p-6">
179 + <div class="font-medium text-gray-900"><?php echo esc_html($feature['title']); ?></div>
180 + <div class="text-sm text-gray-500 mt-1"><?php echo esc_html($feature['desc']); ?></div>
181 + </td>
182 + <?php foreach (array_keys($ei_fvp_plans) as $plan_key): ?>
183 + <td class="p-6 text-center">
184 + <?php $ei_fvp_render_cell($feature, $plan_key); ?>
185 + </td>
186 + <?php endforeach; ?>
187 + </tr>
188 + <?php endforeach; ?>
189 +
604 190 <tr class="border-t-2 border-gray-200 bg-gray-50">
605 191 <td class="p-6">
606 - <div class="font-bold text-lg text-gray-900">Ready to Get Started?</div>
607 - <div class="text-sm text-gray-600 mt-1">Choose your plan and start invoicing today</div>
192 + <div class="font-bold text-lg text-gray-900"><?php esc_html_e('Ready to Get Started?', 'easy-invoice'); ?></div>
193 + <div class="text-sm text-gray-600 mt-1"><?php esc_html_e('Pick a plan and start invoicing today.', 'easy-invoice'); ?></div>
608 194 </td>
609 - <td class="p-6 text-center">
610 - <span class="text-gray-500 text-sm">Already installed</span>
611 - </td>
612 - <td class="p-6 text-center">
613 - <a href="https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=1" class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
614 - Get Personal
615 - </a>
616 - </td>
617 - <td class="p-6 text-center">
618 - <a href="https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=2" class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
619 - Get Professional
620 - </a>
621 - </td>
622 - <td class="p-6 text-center">
623 - <a href="https://store.mantrabrain.com/checkout/?edd_action=add_to_cart&download_id=37777&edd_options[price_id]=3" class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
624 - Get Agency
625 - </a>
626 - </td>
195 + <?php foreach ($ei_fvp_plans as $plan): ?>
196 + <td class="p-6 text-center">
197 + <?php if (empty($plan['cta_url'])): ?>
198 + <span class="text-gray-500 text-sm"><?php echo esc_html($plan['cta_text']); ?></span>
199 + <?php else: ?>
200 + <a href="<?php echo esc_url($plan['cta_url']); ?>"
201 + target="_blank" rel="noopener"
202 + class="inline-block bg-gradient-to-r from-indigo-600 to-purple-600 hover:from-indigo-700 hover:to-purple-700 text-white hover:text-white font-bold py-3 px-6 rounded-xl transition-all duration-300 transform hover:scale-105 shadow-lg">
203 + <?php echo esc_html($plan['cta_text']); ?>
204 + </a>
205 + <?php endif; ?>
206 + </td>
207 + <?php endforeach; ?>
627 208 </tr>
628 209 </tbody>
629 210 </table>
630 211 </div>
212 +
631 213 </div>
632 214 </section>