PageSourceSearch

https://stone-profit-flow.base44.app/register

html stone-profit-flow.base44.app collected 2026-10-03 03:08:56 UTC 20,816 bytes, 396 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  
4<script>
5   (function () {
6  var proto = XMLHttpRequest.prototype;
7  var open = proto.open, setRequestHeader = proto.setRequestHeader, send = proto.send;
8  var TOKEN_KEY = 'base44_access_token';
9  var storedTokenHeader = function () {
10    try { return 'Bearer ' + localStorage.getItem(TOKEN_KEY); } catch (e) { return null; }
11  };
12  var forgetStoredToken = function () {
13    try { localStorage.removeItem(TOKEN_KEY); localStorage.removeItem('token'); } catch (e) {}
14  };
15
16  proto.open = function (method, url) {
17    this.__b44IsAuthCheck = /\/entities\/User\/me(\?|$)/.test(url);
18    return open.apply(this, arguments);
19  };
20
21  proto.setRequestHeader = function (name, value) {
22    if (this.__b44IsAuthCheck && name.toLowerCase() === 'authorization' && value === storedTokenHeader()) {
23      this.__b44SentToken = value;
24    }
25    return setRequestHeader.call(this, name, value);
26  };
27
28  proto.send = function () {
29    this.addEventListener('loadend', function () {
30      var rejectedTokenStillStored = this.status === 401 && this.__b44SentToken === storedTokenHeader();
31      if (rejectedTokenStillStored) forgetStoredToken();
32    });
33    return send.apply(this, arguments);
34  };
35})();
36  </script>
36
37  <meta charset="utf-8"/>
38  <link href="https://media.base44.com/images/public/6a1624fae2aaced6126d26de/34238c535_generated_image.png" rel="icon" type="image/png"/>
39  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
40  <meta content="#D4AF37" name="theme-color"/>
41  <meta content="Register on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen." name="description"/>
42  <link href="/manifest.json" rel="manifest"/>
43  <link href="https://media.base44.com/images/public/6a1624fae2aaced6126d26de/34238c535_generated_image.png" rel="apple-touch-icon"/>
44  <link href="https://fonts.googleapis.com" rel="preconnect"/>
45  <link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
46  <link href="https://media.base44.com" rel="preconnect"/>
47  <link href="https://base44.app" rel="preconnect"/>
48  <link href="https://base44.app" rel="dns-prefetch"/>
49  <link as="style" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&amp;family=Inter:wght@400;500;600;700&amp;display=swap" rel="preload"/>
50  <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&amp;
50family=Inter:wght@400;500;600;700&amp;display=swap" media="print" onload="this.media='all'" rel="stylesheet"/>
51  <noscript>
52   <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&amp;family=Inter:wght@400;500;600;700&amp;display=swap" rel="stylesheet"/>
53  </noscript>
54  <title>
55   Register | MarmoCore
56  </title>
57  
57<script crossorigin="" src="/assets/index-D8ww6b7J.js" type="module">
58  </script>
58
59  <link crossorigin="" href="/assets/vendor-query-B-_nDQQY.js" rel="modulepreload"/>
60  <link crossorigin="" href="/assets/vendor-react-BUIlT3ms.js" rel="modulepreload"/>
61  <link crossorigin="" href="/assets/vendor-charts-i-522T5A.js" rel="modulepreload"/>
62  <link crossorigin="" href="/assets/vendor-three-1K-S22da.js" rel="modulepreload"/>
63  <link crossorigin="" href="/assets/vendor-pdf-Bwkk3Ew0.js" rel="modulepreload"/>
64  <link crossorigin="" href="/assets/vendor-radix-X0WMATEu.js" rel="modulepreload"/>
65  <link crossorigin="" href="/assets/index-D6ks_Y4J.css" rel="stylesheet"/>
66  
66<script type="module">
67   if (window.self === window.top) {
68  let lastPath = "";
69  function getPageNameFromPath(path) {
70    const segments = path.split("/").filter(Boolean);
71    return segments[0] || null;
72  }
73  function trackPageView() {
74    const path = window.location.pathname;
75    if (path === lastPath) return;
76    lastPath = path;
77    const pageName = getPageNameFromPath(path) || "home";
78    const appId = "6a1624fae2aaced6126d26de";
79    if (!appId) return;
80    fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, {
81      method: "POST",
82    }).catch(() => {});
83  }
84  const originalPushState = history.pushState.bind(history);
85  history.pushState = function (...args) {
86    originalPushState(...args);
87    trackPageView();
88  };
89  const originalReplaceState = history.replaceState.bind(history);
90  history.replaceState = function (...args) {
91    originalReplaceState(...args);
92    trackPageView();
93  };
94  window.addEventListener("popstate", trackPageView);
95  trackPageView();
96}
97  </script>
97
98  <meta content="Register | MarmoCore" property="og:title"/>
99  <meta content="Register on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen." property="og:description"/>
100  <meta content="https://media.base44.com/images/public/6a1624fae2aaced6126d26de/04c9353f4_logo.png/v1/fill/w_1200,h_630/04c9353f4_logo.png" property="og:image"/>
101  <meta content="https://stone-profit-flow.base44.app/register" property="og:url"/>
102  <meta content="website" property="og:type"/>
103  <meta content="MarmoCore" property="og:site_name"/>
104  <meta content="Register | MarmoCore" name="twitter:title"/>
105  <meta content="Register on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen." name="twitter:description"/>
106  <meta content="https://media.base44.com/images/public/6a1624fae2aaced6126d26de/04c9353f4_logo.png/v1/fill/w_1200,h_630/04c9353f4_logo.png" name="twitter:image"/>
107  <meta content="summary_large_image" name="twitter:card"/>
108  <meta content="https://stone-profit-flow.base44.app/register" name="twitter:url"/>
109  
109<script>
110   (function () {
111  var titles = {"/login": "Login | MarmoCore", "/register": "Register | MarmoCore", "/forgot-password": "Forgot Password | MarmoCore", "/reset-password": "Reset Password | MarmoCore", "/customer": "Customer Portal | MarmoCore", "/inventory": "Inventory Center | MarmoCore", "/pieces": "Production Center | MarmoCore", "/holds": "Inventory Center | MarmoCore", "/production-kanban": "Production Center | MarmoCore", "/payroll": "Accounting Center | MarmoCore", "/vendors": "Inventory Center | MarmoCore", "/receiving": "Inventory Center | MarmoCore", "/purchasing": "Inventory Center | MarmoCore", "/to-be-allocated": "Inventory Center | MarmoCore", "/create-job": "Production Center | MarmoCore", "/photo-timeline": "Production Center | MarmoCore", "/equipment": "Production Center | MarmoCore", "/change-orders": "Production Center | MarmoCore", "/jobs": "Production Center | MarmoCore", "/ai-ops": "AI Team | MarmoCore", "/waste-analytics": "Analytics | MarmoCore", "/crew-app": "Crew Mobile App | MarmoCore", "/material-prices": "Inventory Center | MarmoCore", "/shop-assistant": "AI Financial Analyst | MarmoCore", "/shop-floor": "Production Center | MarmoCore", "/shop-floor-traveler": "Production Center | MarmoCore", "/purchase-orders": "Inventory Center | MarmoCore", "/yard-map": "Inventory Center | MarmoCore", "/dxf-middleware": "Production Center | MarmoCore", "/quickbooks-sync": "Accounting Center | MarmoCore", "/quickbooks-sync-page": "Accounting Center | MarmoCore", "/data-migration": "Moraware Migration | MarmoCore", "/migration": "Moraware Migration | MarmoCore", "/invoices": "Accounting Center | MarmoCore", "/multi-location": "Locations | MarmoCore", "/cnc": "Production Center | MarmoCore", "/ai-templating": "Production Center | MarmoCore", "/fabrication-ai": "Production Center | MarmoCore", "/portal2": "Customer Portal | MarmoCore", "/payment-history": "Accounting Center | MarmoCore", "/ceo-dashboard": "Analytics | MarmoCore", "/advanced-analytics": "Analytics | MarmoCore", "/bi-dashboard": "Analytics | MarmoCore", "/vs-slabos": "Competitive Analysis | MarmoCore", "/feature-gaps": "Competitive Analysis | MarmoCore", "/payments": "Accounting Center | MarmoCore", "/assign": "Assign | MarmoCore", "/design-studio": "Production Center | MarmoCore", "/designer": "Production Center | MarmoCore", "/drawing-studio": "Production Center | MarmoCore", "/slab-nesting": "Production Center | MarmoCore", "/batch-nesting": "Production Center | MarmoCore", "/builder-3d": "Production Center | MarmoCore", "/tooling-supplies": "Inventory Center | MarmoCore", "/rfid-scan": "Inventory Center | MarmoCore", "/issues": "Production Center | MarmoCore", "/shop-monitor": "Production Center | MarmoCore", "/sign-quote": "Sign Quote | MarmoCore", "/embed-widget": "Embeddable Quote Widget | MarmoCore", "/embed-sales-chat": "Embeddable Sales Chat | MarmoCore", "/wix-chat": "Wix Chat Bubble | MarmoCore", "/quarry-chat": "Quarry Chat Embed | MarmoCore", "/sms-opt-in": "Sms Opt In | MarmoCore", "/privacy-policy": "Privacy Policy | MarmoCore", "/email-preview": "Email Preview | MarmoCore", "/quick-estimate": "Quick Estimate | MarmoCore", "/book-appointment": "Customer Booking Portal | MarmoCore", "/microsite": "Customer Microsite | MarmoCore", "/onboarding": "Guided Onboarding | MarmoCore", "/import-data": "Data Import Hub | MarmoCore", "/payment-complete": "Payment Complete | MarmoCore", "/free-tools": "Free Tools | MarmoCore", "/edge-styles": "Production Center | MarmoCore", "/approvals": "Accounting Center | MarmoCore", "/accounts-payable": "Accounting Center | MarmoCore", "/chart-of-accounts": "Accounting Center | MarmoCore", "/general-ledger": "Accounting Center | MarmoCore", "/quarry": "The Quarry | MarmoCore", "/dashboard": "MarmoCore"};
112  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
113  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
114  var dashed = function (s) {
115    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
116  };
117  var decode = function (s) {
118    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
119    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
120    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
121  };
122  var segments = function (path) { return path.split("/").filter(
122Boolean).map(decode); };
123  var norm = function (path) {
124    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
125    return parts.length ? "/" + parts.join("/") : "/";
126  };
127  var lastPath = location.pathname, written = document.title, on = true;
128  var sync = function () {
129    // Path only: a hash/query change is the same page, and the SDK strips its own auth
130    // params with replaceState -- neither must clobber a server-rendered title in place.
131    if (!on || location.pathname === lastPath) return;
132    lastPath = location.pathname;
133    if (document.title !== written) { on = false; return; }
134    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
135    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
136    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
137    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
138    // a redirect landing on an unmapped path would bake the placeholder into the stored
139    // snapshot. Leaving the title alone degrades to today's behavior instead.
140    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
141    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
142    // dashes there, and the client cannot tell the two apart. The map emits every reachable
143    // shape per segment instead (_client_url_variants).
144    var title = titles[norm(location.pathname)];
145    if (title === undefined) return;
146    document.title = title;
147    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
148    // keeping the assigned string would make the next sync() read our own write as the app's.
149    written = document.title;
150  };
151  var wrap = function (fn) {
152    // The history entry is already pushed by the time sync() runs, so a throw here would
153    // surface inside the host app's router and break navigation. This is injected into apps
154    // we cannot test, so it swallows rather than trusting the trace.
155    return function () {
156      var r = fn.apply(this, arguments);
157      try { sync(); } catch (e) {}
158      return r;
159    };
160  };
161  history.pushState = wrap(history.pushState);
162  history.replaceState = wrap(history.replaceState);
163  window.addEventListener("popstate", sync);
164})();
165  </script>
165
166  <meta content="yes" name="mobile-web-app-capable"/>
167  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
168  <meta content="MarmoCore" name="apple-mobile-web-app-title"/>
169  <link href="https://stone-profit-flow.base44.app/register" rel="canonical"/>
170  
170<script data-seo-source="builder" type="application/ld+json">
171   {"name": "MarmoCore", "@context": "https://schema.org", "@type": "WebSite", "url": "https://marmocore.com"}
172  </script>
172
173  
173<script data-seo-source="builder" type="application/ld+json">
174   {"name": "MarmoCore", "logo": "https://media.base44.com/images/public/6a1624fae2aaced6126d26de/c3fa7bf39_logo.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://marmocore.com"}
175  </script>
175
176  
176<script data-seo-source="builder" type="application/ld+json">
177   {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://stone-profit-flow.base44.app/"}, {"@type": "ListItem", "position": 2, "name": "Register | MarmoCore", "item": "https://stone-profit-flow.base44.app/register"}]}
178  </script>
178
179  <meta content="noindex, follow" name="robots"/>
180 </head>
181 <body>
182  <div id="root">
183   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
184    <main>
185     <header>
186      <h1>
187       Register | MarmoCore
188      </h1>
189      <p>
190       Register on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
191      </p>
192     </header>
193     <nav aria-label="Pages">
194      <h2>
195       Pages
196      </h2>
197      <ul>
198       <li>
199        <a href="/login">
200         Login
201        </a>
202        — Login on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
203       </li>
204       <li>
205        <a href="/register">
206         Register
207        </a>
208        — Register on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
209       </li>
210       <li>
211        <a href="/forgot-password">
212         Forgot Password
213        </a>
214        — Forgot Password on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
215       </li>
216       <li>
217        <a href="/reset-password">
218         Reset Password
219        </a>
220        — Reset Password on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
221       </li>
222       <li>
223        <a href="/customer">
224         Customer Portal
225        </a>
226        — Customer Portal on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
227       </li>
228       <li>
229        <a href="/inventory">
230         Inventory Center
231        </a>
232        — Inventory Center on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
233       </li>
234       <li>
235        <a href="/pieces">
236         Production Center
237        </a>
238        — Production Center on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
239       </li>
240       <li>
241        <a href="/payroll">
242         Accounting Center
243        </a>
244        — Accounting Center on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
245       </li>
246       <li>
247        <a href="/ai-ops">
248         AI Team
249        </a>
250        — AI Team on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
251       </li>
252       <li>
253        <a href="/waste-analytics">
254         Analytics
255        </a>
256        — Analytics on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
257       </li>
258       <li>
259        <a href="/crew-app">
260         Crew Mobile App
261        </a>
262        — Crew Mobile App on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
263       </li>
264       <li>
265        <a href="/shop-assistant">
266         AI Financial Analyst
267        </a>
268        — AI Financial Analyst on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
269       </li>
270       <li>
271        <a href="/data-migration">
272         Moraware Migration
273        </a>
274        — Moraware Migration on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
275       </li>
276       <li>
277        <a href="/multi-location">
278         Locations
279        </a>
280        — Locations on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
281       </li>
282       <li>
283        <a href="/vs-slabos">
284         Competitive Analysis
285        </a>
286        — Competitive Analysis on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
287       </li>
288       <li>
289        <a href="/assign">
290         Assign
291        </a>
292        — Assign on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
293       </li>
294       <li>
295        <a href="/sign-quote">
296         Sign Quote
297        </a>
298        — Sign Quote on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
299       </li>
300       <li>
301        <a href="/embed-widget">
302         Embeddable Quote Widget
303        </a>
304        — Embeddable Quote Widget on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
305       </li>
306       <li>
307        <a href="/embed-sales-chat">
308         Embeddable Sales Chat
309        </a>
310        — Embeddable Sales Chat on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
311       </li>
312       <li>
313        <a href="/wix-chat">
314         Wix Chat Bubble
315        </a>
316        — Wix Chat Bubble on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
317       </li>
318       <li>
319        <a href="/quarry-chat">
320         Quarry Chat Embed
321        </a>
322        — Quarry Chat Embed on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
323       </li>
324       <li>
325        <a href="/sms-opt-in">
326         Sms Opt In
327        </a>
328        — Sms Opt In on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
329       </li>
330       <li>
331        <a href="/privacy-policy">
332         Privacy Policy
333        </a>
334        — Privacy Policy on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
335       </li>
336       <li>
337        <a href="/email-preview">
338         Email Preview
339        </a>
340        — Email Preview on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
341       </li>
342       <li>
343        <a href="/quick-estimate">
344         Quick Estimate
345        </a>
346        — Quick Estimate on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
347       </li>
348       <li>
349        <a href="/book-appointment">
350         Customer Booking Portal
351        </a>
352        — Customer Booking Portal on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
353       </li>
354       <li>
355        <a href="/microsite">
356         Customer Microsite
357        </a>
358        — Customer Microsite on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
359       </li>
360       <li>
361        <a href="/onboarding">
362         Guided Onboarding
363        </a>
364        — Guided Onboarding on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
365       </li>
366       <li>
367        <a href="/import-data">
368         Data Import Hub
369        </a>
370        — Data Import Hub on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
371       </li>
372       <li>
373        <a href="/payment-complete">
374         Payment Complete
375        </a>
376        — Payment Complete on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
377       </li>
378       <li>
379        <a href="/free-tools">
380         Free Tools
381        </a>
382        — Free Tools on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
383       </li>
384       <li>
385        <a href="/quarry">
386         The Quarry
387        </a>
388        — The Quarry on MarmoCore. An intuitive profitability dashboard designed specifically for kitchen.
389       </li>
390      </ul>
391     </nav>
392    </main>
393   </div>
394  </div>
395 </body>
396</html>

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.