D
Digmarket. Preview
Navigation
Home Free

Freelance Payment Sync – Mustard Neumorphism

<div class="fp-freelance-gig-payment-processing-ui">
  <div class="fp-freelance-gig-payment-processing-ui-stage">
    <div class="fp-freelance-gig-payment-processing-ui-ambient"></div>
    
    <div class="fp-freelance-gig-payment-processing-ui-card">
      <div class="fp-freelance-gig-payment-processing-ui-header">Escrow Vault</div>
      <div class="fp-freelance-gig-payment-processing-ui-amount">$3,450.00</div>
      
      <div class="fp-freelance-gig-payment-processing-ui-status-pill">
        <div class="fp-freelance-gig-payment-processing-ui-canvas-container">
          <canvas class="fp-freelance-gig-payment-processing-ui-canvas"></canvas>
        </div>
        <div class="fp-freelance-gig-payment-processing-ui-spinner"></div>
        <div class="fp-freelance-gig-payment-processing-ui-status-text">Verifying Milestones...</div>
      </div>

      <div class="fp-freelance-gig-payment-processing-ui-accordion">
        <div class="fp-freelance-gig-payment-processing-ui-accordion-inner">
          <div class="fp-freelance-gig-payment-processing-ui-row">
            <span>Invoice ID</span>
            <span class="fp-freelance-gig-payment-processing-ui-row-val">#GIG-9942</span>
          </div>
          <div class="fp-freelance-gig-payment-processing-ui-row">
            <span>Platform Fee (5%)</span>
            <span class="fp-freelance-gig-payment-processing-ui-row-val">-$172.50</span>
          </div>
          <div class="fp-freelance-gig-payment-processing-ui-divider"></div>
          <div class="fp-freelance-gig-payment-processing-ui-row total">
            <span>Funds Cleared</span>
            <span class="fp-freelance-gig-payment-processing-ui-row-val">$3,277.50</span>
          </div>
        </div>
      </div>

    </div>
  </div>
</div>
.fp-freelance-gig-payment-processing-ui {
  --fp-container-width: 100%;
  --fp-max-width: 500px;
  --fp-aspect-ratio: 1 / 1;

  --fp-primary-color: #EBE6DF;
  --fp-secondary-color: #D1CAC0;
  --fp-soft-color: #FFFFFF;
  --fp-muted-color: #9C9388;
  --fp-background-color: transparent;

  --fp-info-color: #4A3B32;
  --fp-warning-color: #F1C40F;
  --fp-danger-color: #C29B0A;
  --fp-accent-color: #E2AC22;

  all: unset;
  display: block;
  width: var(--fp-container-width);
  max-width: var(--fp-max-width);
  margin: 0 auto;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  box-sizing: border-box;
  color: var(--fp-info-color);
}

.fp-freelance-gig-payment-processing-ui * {
  box-sizing: border-box;
}

.fp-freelance-gig-payment-processing-ui-stage {
  position: relative;
  width: 100%;
  aspect-ratio: var(--fp-aspect-ratio);
  background: var(--fp-primary-color);
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 40px rgba(0,0,0,0.02);
}

.fp-freelance-gig-payment-processing-ui-ambient {
  position: absolute;
  inset: -20%;
  background: radial-gradient(circle at 50% 50%, rgba(226, 172, 34, 0.05) 0%, transparent 60%);
  animation: fp-freelance-gig-payment-processing-ui-breathe 8s ease-in-out infinite alternate;
  pointer-events: none;
}

.fp-freelance-gig-payment-processing-ui-card {
  position: relative;
  z-index: 10;
  width: 85%;
  background: var(--fp-primary-color);
  border-radius: 20px;
  padding: 32px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 12px 12px 24px var(--fp-secondary-color), -12px -12px 24px var(--fp-soft-color);
}

.fp-freelance-gig-payment-processing-ui-header {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fp-muted-color);
  margin-bottom: 16px;
}

.fp-freelance-gig-payment-processing-ui-amount {
  font-size: 3rem;
  font-weight: 300;
  line-height: 1;
  color: var(--fp-info-color);
  margin-bottom: 24px;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.fp-freelance-gig-payment-processing-ui-status-pill {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  border-radius: 30px;
  background: var(--fp-primary-color);
  box-shadow: inset 4px 4px 8px var(--fp-secondary-color), inset -4px -4px 8px var(--fp-soft-color);
  margin-bottom: 24px;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
}

.fp-freelance-gig-payment-processing-ui-spinner {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid var(--fp-secondary-color);
  border-top-color: var(--fp-info-color);
  animation: fp-freelance-gig-payment-processing-ui-spin 1s linear infinite;
  transition: border-color 0.4s ease;
}

.fp-freelance-gig-payment-processing-ui-status-text {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--fp-info-color);
  transition: color 0.4s ease;
}

.fp-freelance-gig-payment-processing-ui-canvas-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.15;
}

.fp-freelance-gig-payment-processing-ui-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.fp-freelance-gig-payment-processing-ui-accordion {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
  opacity: 0;
}

.fp-freelance-gig-payment-processing-ui-accordion.is-open {
  max-height: 200px;
  opacity: 1;
}

.fp-freelance-gig-payment-processing-ui-accordion-inner {
  margin-top: 8px;
  padding: 20px;
  border-radius: 16px;
  background: var(--fp-primary-color);
  box-shadow: inset 5px 5px 10px var(--fp-secondary-color), inset -5px -5px 10px var(--fp-soft-color);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fp-freelance-gig-payment-processing-ui-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  color: var(--fp-muted-color);
}

.fp-freelance-gig-payment-processing-ui-row-val {
  font-weight: 500;
  color: var(--fp-info-color);
  font-variant-numeric: tabular-nums;
}

.fp-freelance-gig-payment-processing-ui-divider {
  height: 1px;
  width: 100%;
  background: var(--fp-secondary-color);
  box-shadow: 0 1px 0 var(--fp-soft-color);
}

.fp-freelance-gig-payment-processing-ui-row.total .fp-freelance-gig-payment-processing-ui-row-val {
  color: var(--fp-accent-color);
  font-weight: 700;
  font-size: 1.1rem;
  text-shadow: 0 0 10px rgba(226, 172, 34, 0.3);
}

.fp-freelance-gig-payment-processing-ui.is-released .fp-freelance-gig-payment-processing-ui-spinner {
  border-color: var(--fp-accent-color);
  border-top-color: var(--fp-accent-color);
  animation: none;
  transform: rotate(45deg);
}

.fp-freelance-gig-payment-processing-ui.is-released .fp-freelance-gig-payment-processing-ui-spinner::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 4px;
  width: 4px;
  height: 8px;
  border: solid var(--fp-primary-color);
  border-width: 0 2px 2px 0;
}

.fp-freelance-gig-payment-processing-ui.is-released .fp-freelance-gig-payment-processing-ui-status-text {
  color: var(--fp-accent-color);
  text-shadow: 0 0 8px rgba(226, 172, 34, 0.4);
}

@keyframes fp-freelance-gig-payment-processing-ui-breathe {
  0% { transform: scale(1); opacity: 0.4; }
  100% { transform: scale(1.1); opacity: 0.8; }
}

@keyframes fp-freelance-gig-payment-processing-ui-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 400px) {
  .fp-freelance-gig-payment-processing-ui-card {
    width: 92%;
    padding: 24px 16px;
  }
  .fp-freelance-gig-payment-processing-ui-amount {
    font-size: 2.4rem;
  }
  .fp-freelance-gig-payment-processing-ui-accordion-inner {
    padding: 16px;
  }
}
document.querySelectorAll('.fp-freelance-gig-payment-processing-ui').forEach(root => {
  const canvas = root.querySelector('.fp-freelance-gig-payment-processing-ui-canvas');
  const ctx = canvas.getContext('2d');
  const accordion = root.querySelector('.fp-freelance-gig-payment-processing-ui-accordion');
  const statusText = root.querySelector('.fp-freelance-gig-payment-processing-ui-status-text');
  
  let animationFrameId;
  let isVisible = true;
  let time = 0;
  let stateTimer = 0;
  let isReleased = false;

  const resizeCanvas = () => {
    const rect = canvas.parentElement.getBoundingClientRect();
    canvas.width = rect.width * window.devicePixelRatio;
    canvas.height = rect.height * window.devicePixelRatio;
    ctx.scale(window.devicePixelRatio, window.devicePixelRatio);
  };

  const animate = () => {
    if (!isVisible) return;
    
    time += 0.05;
    stateTimer++;

    if (stateTimer === 1) {
      isReleased = false;
      root.classList.remove('is-released');
      accordion.classList.remove('is-open');
      statusText.innerText = "Verifying Milestones...";
    } else if (stateTimer === 150) {
      isReleased = true;
      root.classList.add('is-released');
      accordion.classList.add('is-open');
      statusText.innerText = "Payment Released";
    } else if (stateTimer > 450) {
      stateTimer = 0;
    }

    const width = canvas.width / window.devicePixelRatio;
    const height = canvas.height / window.devicePixelRatio;
    
    ctx.clearRect(0, 0, width, height);

    ctx.beginPath();
    const baseColor = isReleased ? '#E2AC22' : '#4A3B32';
    ctx.strokeStyle = baseColor;
    ctx.lineWidth = 2;
    ctx.lineCap = 'round';
    ctx.lineJoin = 'round';

    const waveCenterY = height / 2;
    ctx.moveTo(0, waveCenterY);
    
    for (let x = 0; x <= width; x += 5) {
      const amplitude = isReleased ? Math.sin(time * 0.5) * 2 : Math.sin((x * 0.05) - (time * 2)) * 8;
      const edgeTaper = Math.sin((x / width) * Math.PI);
      const y = waveCenterY + (amplitude * edgeTaper);
      ctx.lineTo(x, y);
    }

    ctx.stroke();

    animationFrameId = requestAnimationFrame(animate);
  };

  const handleVisibilityChange = () => {
    isVisible = document.visibilityState === 'visible';
    if (isVisible) {
      animate();
    } else {
      cancelAnimationFrame(animationFrameId);
    }
  };

  const observer = new MutationObserver(() => {
    if (!document.body.contains(root)) {
      cancelAnimationFrame(animationFrameId);
      window.removeEventListener('resize', resizeCanvas);
      document.removeEventListener('visibilitychange', handleVisibilityChange);
      observer.disconnect();
    }
  });

  window.addEventListener('resize', resizeCanvas);
  document.addEventListener('visibilitychange', handleVisibilityChange);
  observer.observe(document.body, { childList: true, subtree: true });

  resizeCanvas();
  animate();
});
Created by Digital Market Created: Apr 29, 2026 • Updated: Apr 29, 2026

Description

Let us look at the Freelance Payment Sync Mustard Neumorphism component. This free UI asset offers a modular card system specifically engineered for the high volume freelance and gig economy platform sector. We built this entirely from scratch to handle real time payout statuses and invoice synchronization without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing contractor dashboard or financial tracking architecture.

Gig platforms process massive amounts of financial data and require absolute reliability during active payment cycles. Heavy client side payloads completely ruin the user experience when freelancers expect immediate visual feedback on their cleared invoices. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for developers who need to present active transaction states to users on varied mobile devices or home networks.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your gig software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction utilizes energetic Mustard Creative tones paired with a tactile neumorphic layout to establish a modern and approachable environment for the end user. This clean and highly readable aesthetic ensures visual clarity for independent workers analyzing complex payment schedules and dense tax logs. For the interaction layer, we implemented a custom expand and collapse accordion animation. This responsive physical transition provides clear feedback for active invoice details and transaction histories without requiring heavy javascript animation scripts. The final result is a clean user interface that looks premium and functions perfectly for strict enterprise gig platforms.

Enterprise Use Cases

  • Independent contractor dashboards: Display active invoice statuses and payment clearing timelines using the card grid so freelancers can monitor their income quickly.

  • Gig economy payout portals: Build a fast rendering financial page where platform administrators can organize and review massive datasets of pending transfers within a lightweight interface.

  • Agency vendor management panels: Create a responsive control layout for enterprise finance teams to track active contract billing and tax document synchronization across multiple remote talent networks.

Technical Details

  • ElementCards
  • IndustryFreelance, Gig Economy Platforms
  • StyleNeumorphism
  • AnimationExpand, Collapse Accordion
  • ColorBrown
Report Issue

Highlights & Benefits

Copy-Paste Ready

Drop the code straight into your project without configuration.

Zero Dependencies

Built strictly with pure CSS & Vanilla JS for maximum speed.

ADA & WCAG Ready

Constructed with strict adherence to WCAG accessibility standards for perfect contrast and screen-reader support.

Sterile DOM Structure

Utilizes a highly optimized, clean DOM architecture ensuring lightning-fast render and maximum PageSpeed scores.

You need an active subscription or purchase to leave a review for this premium component.

Freelance Payment Sync – Mustard Neumorphism

Category:

Description

Let us look at the Freelance Payment Sync Mustard Neumorphism component. This free UI asset offers a modular card system specifically engineered for the high volume freelance and gig economy platform sector. We built this entirely from scratch to handle real time payout statuses and invoice synchronization without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing contractor dashboard or financial tracking architecture.

Gig platforms process massive amounts of financial data and require absolute reliability during active payment cycles. Heavy client side payloads completely ruin the user experience when freelancers expect immediate visual feedback on their cleared invoices. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for developers who need to present active transaction states to users on varied mobile devices or home networks.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your gig software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction utilizes energetic Mustard Creative tones paired with a tactile neumorphic layout to establish a modern and approachable environment for the end user. This clean and highly readable aesthetic ensures visual clarity for independent workers analyzing complex payment schedules and dense tax logs. For the interaction layer, we implemented a custom expand and collapse accordion animation. This responsive physical transition provides clear feedback for active invoice details and transaction histories without requiring heavy javascript animation scripts. The final result is a clean user interface that looks premium and functions perfectly for strict enterprise gig platforms.

Enterprise Use Cases

  • Independent contractor dashboards: Display active invoice statuses and payment clearing timelines using the card grid so freelancers can monitor their income quickly.

  • Gig economy payout portals: Build a fast rendering financial page where platform administrators can organize and review massive datasets of pending transfers within a lightweight interface.

  • Agency vendor management panels: Create a responsive control layout for enterprise finance teams to track active contract billing and tax document synchronization across multiple remote talent networks.