/*fern-site-stylesheet*/@font-face {
    font-family: 'Poppins';
    src: url('/_fern-files/beta-docs.payabli.com/7d93459d86585bfcdbb7e0376056226adb25821ee54b96236fe2123e9560929f/assets/poppins-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Poppins';
    src: url('/_fern-files/beta-docs.payabli.com/50d0c1742d80ac71f4cde20e8c04d41a24806af342831f479938b527fbff0972/assets/poppins-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Poppins';
    src: url('/_fern-files/beta-docs.payabli.com/cd36de204aca2d5fa263a731f7c20009b5e3d754ba1f1e03c33e93a48f3e7446/assets/poppins-bold-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Poppins-Bold';
    src: url('/_fern-files/beta-docs.payabli.com/cd36de204aca2d5fa263a731f7c20009b5e3d754ba1f1e03c33e93a48f3e7446/assets/poppins-bold-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 800px;
  --sidebar-width: 288px;
  --page-width: 100vw;
  --logo-height: 40px;
  --font-body: 'Poppins', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'Poppins-Bold', 'Poppins', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

:root {
  --typography-body-font-family: var(--font-body);
  --typography-heading-font-family: var(--font-heading);
  --typography-code-font-family: var(--font-code);
}


.light, :root {
  --accent-1: #fcfdff;
  --accent-2: #f4f9ff;
  --accent-3: #e9f3ff;
  --accent-4: #d9ebff;
  --accent-5: #c9e0ff;
  --accent-6: #b4d3ff;
  --accent-7: #98c0ff;
  --accent-8: #72a5ff;
  --accent-9: #001c6e;
  --accent-10: #103487;
  --accent-11: #3464cb;
  --accent-12: #06287a;

  --accent-a1: #0055ff03;
  --accent-a2: #0074ff0b;
  --accent-a3: #0074ff16;
  --accent-a4: #0079ff26;
  --accent-a5: #006dff36;
  --accent-a6: #016aff4b;
  --accent-a7: #0064ff67;
  --accent-a8: #005dff8d;
  --accent-a9: #001c6e;
  --accent-a10: #00267fef;
  --accent-a11: #003cbecb;
  --accent-a12: #002377f9;

  --accent-contrast: #fff;
  --accent-surface: #f1f8ffcc;
  --accent-indicator: #001c6e;
  --accent-track: #001c6e;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.004 263.2);
      --accent-2: oklch(98.1% 0.0131 263.2);
      --accent-3: oklch(96.1% 0.0252 263.2);
      --accent-4: oklch(93.6% 0.0498 263.2);
      --accent-5: oklch(90.5% 0.0742 263.2);
      --accent-6: oklch(86.4% 0.0974 263.2);
      --accent-7: oklch(80.8% 0.1245 263.2);
      --accent-8: oklch(73.1% 0.1684 263.2);
      --accent-9: oklch(28% 0.1441 263.2);
      --accent-10: oklch(35.9% 0.1441 263.2);
      --accent-11: oklch(52.8% 0.1684 263.2);
      --accent-12: oklch(31.8% 0.1441 263.2);

      --accent-a1: color(display-p3 0.0235 0.349 1 / 0.012);
      --accent-a2: color(display-p3 0.0235 0.4157 0.9059 / 0.04);
      --accent-a3: color(display-p3 0.0078 0.4078 0.9529 / 0.079);
      --accent-a4: color(display-p3 0.0078 0.4039 0.9451 / 0.138);
      --accent-a5: color(display-p3 0.0078 0.3647 0.9412 / 0.197);
      --accent-a6: color(display-p3 0.0039 0.349 0.9451 / 0.271);
      --accent-a7: color(display-p3 0.0039 0.3294 0.949 / 0.373);
      --accent-a8: color(display-p3 0 0.302 0.949 / 0.51);
      --accent-a9: color(display-p3 0 0.0824 0.4 / 0.973);
      --accent-a10: color(display-p3 0 0.1098 0.4549 / 0.899);
      --accent-a11: color(display-p3 0 0.1843 0.6902 / 0.75);
      --accent-a12: color(display-p3 0 0.098 0.4235 / 0.938);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9529 0.9725 1 / 0.8);
      --accent-indicator: oklch(28% 0.1441 263.2);
      --accent-track: oklch(28% 0.1441 263.2);
    }
  }
}


.light, :root {
  --grayscale-1: #fdfcfd;
  --grayscale-2: #faf9fb;
  --grayscale-3: #f2eff3;
  --grayscale-4: #eae7ec;
  --grayscale-5: #e3dfe6;
  --grayscale-6: #dbd8e0;
  --grayscale-7: #d0cdd7;
  --grayscale-8: #bcbac7;
  --grayscale-9: #8e8c99;
  --grayscale-10: #84828e;
  --grayscale-11: #65636d;
  --grayscale-12: #211f26;

  --grayscale-a1: #55005503;
  --grayscale-a2: #2b005506;
  --grayscale-a3: #30004010;
  --grayscale-a4: #20003618;
  --grayscale-a5: #20003820;
  --grayscale-a6: #14003527;
  --grayscale-a7: #10003332;
  --grayscale-a8: #08003145;
  --grayscale-a9: #05001d73;
  --grayscale-a10: #0500197d;
  --grayscale-a11: #0400119c;
  --grayscale-a12: #020008e0;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8e8c99;
  --grayscale-track: #8e8c99;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.991 0.988 0.992);
      --grayscale-2: color(display-p3 0.98 0.976 0.984);
      --grayscale-3: color(display-p3 0.946 0.938 0.952);
      --grayscale-4: color(display-p3 0.915 0.906 0.925);
      --grayscale-5: color(display-p3 0.886 0.876 0.901);
      --grayscale-6: color(display-p3 0.856 0.846 0.875);
      --grayscale-7: color(display-p3 0.814 0.804 0.84);
      --grayscale-8: color(display-p3 0.735 0.728 0.777);
      --grayscale-9: color(display-p3 0.555 0.549 0.596);
      --grayscale-10: color(display-p3 0.514 0.508 0.552);
      --grayscale-11: color(display-p3 0.395 0.388 0.424);
      --grayscale-12: color(display-p3 0.128 0.122 0.147);

      --grayscale-a1: #55005503;
      --grayscale-a2: #2b005506;
      --grayscale-a3: #30004010;
      --grayscale-a4: #20003618;
      --grayscale-a5: #20003820;
      --grayscale-a6: #14003527;
      --grayscale-a7: #10003332;
      --grayscale-a8: #08003145;
      --grayscale-a9: #05001d73;
      --grayscale-a10: #0500197d;
      --grayscale-a11: #0400119c;
      --grayscale-a12: #020008e0;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.555 0.549 0.596);
      --grayscale-track: color(display-p3 0.555 0.549 0.596);
    }
  }
}


.dark {
  --accent-1: #021015;
  --accent-2: #051c22;
  --accent-3: #002c39;
  --accent-4: #003b4d;
  --accent-5: #004a5f;
  --accent-6: #005a72;
  --accent-7: #006d89;
  --accent-8: #0082a3;
  --accent-9: #9fe8ff;
  --accent-10: #95def5;
  --accent-11: #62cbea;
  --accent-12: #c0f3ff;

  --accent-a1: #03e00006;
  --accent-a2: #2dfc0012;
  --accent-a3: #00fcab23;
  --accent-a4: #00fbe533;
  --accent-a5: #00fbfd43;
  --accent-a6: #00eefe59;
  --accent-a7: #00e3ff74;
  --accent-a8: #00d9fe93;
  --accent-a9: #9fe8ff;
  --accent-a10: #9ce8fef4;
  --accent-a11: #6cdffee7;
  --accent-a12: #c0f3ff;

  --accent-contrast: #06262f;
  --accent-surface: #082d1e80;
  --accent-indicator: #9fe8ff;
  --accent-track: #9fe8ff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(16.2% 0.0259 219.6);
      --accent-2: oklch(21.1% 0.0312 219.6);
      --accent-3: oklch(26.9% 0.0581 219.6);
      --accent-4: oklch(32.1% 0.075 219.6);
      --accent-5: oklch(37.2% 0.0853 219.6);
      --accent-6: oklch(42.7% 0.0942 219.6);
      --accent-7: oklch(48.8% 0.1058 219.6);
      --accent-8: oklch(55.7% 0.1182 219.6);
      --accent-9: oklch(89.1% 0.0788 219.6);
      --accent-10: oklch(86.1% 0.0788 219.6);
      --accent-11: oklch(79.3% 0.1064 219.6);
      --accent-12: oklch(93.4% 0.0567 219.6);

      --accent-a1: color(display-p3 0.2039 0.9804 0 / 0.021);
      --accent-a2: color(display-p3 0.4353 0.9961 0 / 0.066);
      --accent-a3: color(display-p3 0.3137 0.9922 0.7098 / 0.132);
      --accent-a4: color(display-p3 0.3843 1 0.9176 / 0.193);
      --accent-a5: color(display-p3 0.4 0.9922 1 / 0.257);
      --accent-a6: color(display-p3 0.3882 0.9333 1 / 0.345);
      --accent-a7: color(display-p3 0.3882 0.8902 1 / 0.445);
      --accent-a8: color(display-p3 0.3765 0.8549 1 / 0.565);
      --accent-a9: color(display-p3 0.6941 0.9137 1 / 0.987);
      --accent-a10: color(display-p3 0.6863 0.9137 1 / 0.941);
      --accent-a11: color(display-p3 0.5529 0.8863 1 / 0.886);
      --accent-a12: color(display-p3 0.8 0.9569 1 / 0.991);

      --accent-contrast: #06262f;
      --accent-surface: color(display-p3 0.0706 0.1647 0.1216 / 0.5);
      --accent-indicator: oklch(89.1% 0.0788 219.6);
      --accent-track: oklch(89.1% 0.0788 219.6);
    }
  }
}


.dark {
  --grayscale-1: #121113;
  --grayscale-2: #1a191b;
  --grayscale-3: #232225;
  --grayscale-4: #2b292d;
  --grayscale-5: #323035;
  --grayscale-6: #3c393f;
  --grayscale-7: #49474e;
  --grayscale-8: #625f69;
  --grayscale-9: #6f6d78;
  --grayscale-10: #7c7a85;
  --grayscale-11: #b5b2bc;
  --grayscale-12: #eeeef0;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f5f4f609;
  --grayscale-a3: #ebeaf814;
  --grayscale-a4: #eee5f81d;
  --grayscale-a5: #efe6fe25;
  --grayscale-a6: #f1e6fd30;
  --grayscale-a7: #eee9ff40;
  --grayscale-a8: #eee7ff5d;
  --grayscale-a9: #eae6fd6e;
  --grayscale-a10: #ece9fd7c;
  --grayscale-a11: #f5f1ffb7;
  --grayscale-a12: #fdfdffef;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #6f6d78;
  --grayscale-track: #6f6d78;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.07 0.067 0.074);
      --grayscale-2: color(display-p3 0.101 0.098 0.105);
      --grayscale-3: color(display-p3 0.138 0.134 0.144);
      --grayscale-4: color(display-p3 0.167 0.161 0.175);
      --grayscale-5: color(display-p3 0.196 0.189 0.206);
      --grayscale-6: color(display-p3 0.232 0.225 0.245);
      --grayscale-7: color(display-p3 0.286 0.277 0.302);
      --grayscale-8: color(display-p3 0.383 0.373 0.408);
      --grayscale-9: color(display-p3 0.434 0.428 0.467);
      --grayscale-10: color(display-p3 0.487 0.48 0.519);
      --grayscale-11: color(display-p3 0.707 0.7 0.735);
      --grayscale-12: color(display-p3 0.933 0.933 0.94);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f5f4f609;
      --grayscale-a3: #ebeaf814;
      --grayscale-a4: #eee5f81d;
      --grayscale-a5: #efe6fe25;
      --grayscale-a6: #f1e6fd30;
      --grayscale-a7: #eee9ff40;
      --grayscale-a8: #eee7ff5d;
      --grayscale-a9: #eae6fd6e;
      --grayscale-a10: #ece9fd7c;
      --grayscale-a11: #f5f1ffb7;
      --grayscale-a12: #fdfdffef;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.434 0.428 0.467);
      --grayscale-track: color(display-p3 0.434 0.428 0.467);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(0, 28, 110, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(229, 231, 235, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: rgba(249, 249, 255, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(159, 232, 255, 1);
  --background: rgba(2, 11, 39, 1);
  --border: rgba(31, 41, 55, 1);
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: rgba(2, 11, 39, 1);
  --theme-color: #020b27;
}

/* Global Color Vars */
:root {

  /* Primary Colors */
  --p-primary: #04C3FF;
  --p-primary-light: #9FE8FF;
  --p-primary-lighter: #DDF7FF;
  --p-primary-dark: #001C6E;
  --p-deep-blue: #020B27;
  --p-black: #000000;
  --p-white: #FFFFFF;
  
  /* Secondary Colors - Pay In */
  --p-teal: #00F1F9;
  --p-teal-light: #A7FCFF;
  --p-teal-lighter: #E6FEFF;
  --p-teal-dark: #005558;
  
  /* Secondary Colors - Pay Out */
  --p-pink: #FF67D5;
  --p-pink-light: #FFAEE9;
  --p-pink-lighter: #FFE4F8;
  --p-pink-dark: #6F0050;
  
  /* Secondary Colors - Pay Ops */
  --p-purple: #9532FF;
  --p-purple-light: #CEA1FF;
  --p-purple-lighter: #ECDAFF;
  --p-purple-dark: #3A0078;
  
  /* Secondary Colors - Additional */
  --p-cinnamon: #F75146;
  --p-cinnamon-light: #FFAEB7;
  --p-cinnamon-lighter: #FFDDE1;
  --p-cinnamon-dark: #680A04;
  
  --p-lemon: #FFC85C;
  --p-lemon-light: #FFE99D;
  --p-lemon-lighter: #FFF2C8;
  --p-lemon-dark: #634200;
  
  /* Neutrals */
  --p-neutral-1: #131D3A;
  --p-neutral-2: #202E56;
  --p-neutral-3: #3C476B;
  --p-neutral-4: #576180;
  --p-neutral-5: #8992AC;
  --p-neutral-6: #C5CBDB;
  --p-neutral-7: #EFF0F7;
  --p-neutral-8: #F9F9FF;
  
  /* Background Colors */
  --background-light: #FFFFFF;
  --background-dark: #01091F;

  /* Gradient Fade Backgrounds - For sticky headers */
  --gradient-fade-light: linear-gradient(to bottom, var(--p-white) 0%, transparent 100%);
  --gradient-fade-dark: linear-gradient(to bottom, var(--p-deep-blue) 0%, transparent 100%);

  /* Gradient Definitions - Used for product-specific UI elements and buttons */
  --gradient-pay-in: linear-gradient(90deg, var(--p-teal) 0%, var(--p-primary) 100%);
  --gradient-pay-out: linear-gradient(90deg, var(--p-pink) 0%, var(--p-purple) 100%);
  --gradient-pay-ops: linear-gradient(90deg, var(--p-purple) 0%, var(--p-primary) 100%);
  --gradient-primary: linear-gradient(90deg, var(--p-primary) 0%, var(--p-purple) 100%);
  
  /* Dark mode gradient variations - Ensures gradients remain visible but muted in dark mode */
  --gradient-pay-in-dark: linear-gradient(90deg, var(--p-teal-dark) 0%, var(--p-primary-dark) 100%);
  --gradient-pay-out-dark: linear-gradient(90deg, var(--p-pink-dark) 0%, var(--p-purple-dark) 100%);
  --gradient-pay-ops-dark: linear-gradient(90deg, var(--p-purple-dark) 0%, var(--p-primary-dark) 100%);
  --gradient-primary-dark: linear-gradient(90deg, var(--p-primary-dark) 0%, var(--p-purple-dark) 100%);

  /* Background gradients - Multiple overlapping gradients */
  --gradient-bg-light: 
    radial-gradient(
      circle at 85% 85%,
      rgba(255, 200, 92, 0.15) 0%,    /* lemon */
      rgba(255, 200, 92, 0.08) 15%,
      transparent 25%
    ),
    radial-gradient(
      ellipse at 80% 80%,
      rgba(247, 81, 70, 0.12) 0%,    /* cinnamon */
      rgba(247, 81, 70, 0.06) 20%,
      transparent 30%
    ),
    radial-gradient(
      ellipse at 85% 75%,
      rgba(255, 103, 213, 0.15) 0%,   /* pink */
      rgba(255, 103, 213, 0.08) 20%,
      transparent 35%
    ),
    radial-gradient(
      ellipse at 80% 65%,
      rgba(0, 241, 249, 0.15) 0%,    /* teal */
      rgba(0, 241, 249, 0.08) 20%,
      transparent 45%
    ),
    radial-gradient(
      ellipse at 60% 55%,
      rgba(4, 195, 255, 0.15) 0%,    /* primary blue */
      rgba(4, 195, 255, 0.08) 35%,
      transparent 65%
    ),
    radial-gradient(
      ellipse at 70% 45%,
      rgba(149, 50, 255, 0.15) 0%,    /* purple */
      rgba(149, 50, 255, 0.08) 35%,
      transparent 70%
    );
  --gradient-bg-dark: 
    radial-gradient(
      circle at 85% 85%,
      rgba(255, 200, 92, 0.12) 0%,    /* lemon */
      rgba(255, 200, 92, 0.06) 15%,
      transparent 25%
    ),
    radial-gradient(
      ellipse at 80% 80%,
      rgba(247, 81, 70, 0.1) 0%,    /* cinnamon */
      rgba(247, 81, 70, 0.05) 20%,
      transparent 30%
    ),
    radial-gradient(
      ellipse at 85% 75%,
      rgba(255, 103, 213, 0.12) 0%,   /* pink */
      rgba(255, 103, 213, 0.06) 20%,
      transparent 35%
    ),
    radial-gradient(
      ellipse at 80% 65%,
      rgba(0, 241, 249, 0.12) 0%,    /* teal */
      rgba(0, 241, 249, 0.06) 20%,
      transparent 45%
    ),
    radial-gradient(
      ellipse at 60% 55%,
      rgba(4, 195, 255, 0.12) 0%,    /* primary blue */
      rgba(4, 195, 255, 0.06) 35%,
      transparent 65%
    ),
    radial-gradient(
      ellipse at 70% 45%,
      rgba(149, 50, 255, 0.12) 0%,    /* purple */
      rgba(149, 50, 255, 0.06) 35%,
      var(--p-deep-blue) 70%
    );

  /* Common Values - Standardized design tokens for consistent spacing and styling */
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);  /* Subtle elevation */
  --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.15); /* Medium elevation for interactive elements */
  --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.2); /* High elevation for modals and popovers */
  --shadow-glow: 0 0 35px 8px rgba(4, 195, 255, 0.08);
  --shadow-glow-light: 0 0 40px 12px rgba(167, 252, 255, 0.05);

  
  --spacing-xs: 0.5rem;  /* 8px - Tight spacing */
  --spacing-sm: 1rem;    /* 16px - Default spacing */
  --spacing-md: 1.5rem;  /* 24px - Medium spacing */
  --spacing-lg: 2rem;    /* 32px - Large spacing */
  
  --radius-sm: 4px;      /* Subtle rounding */
  --radius-md: 8px;      /* Standard rounding */
  --radius-lg: 12px;     /* Prominent rounding */
  --radius-full: 9999px; /* Perfect circle/pill shape */
  
  --transition-base: all 0.3s ease; /* Smooth transition for all properties */

/* Blue Accent Colors to override Fern defaults*/
--accent-a1: color(display-p3 0.0157 0.7647 1 / 0.08);    
--accent-a2: color(display-p3 0.0235 0.7725 1 / 0.1);    
--accent-a3: color(display-p3 0.0392 0.8 1 / 0.12);       
--accent-a4: color(display-p3 0.0157 0.8353 1 / 0.15);    
--accent-a5: color(display-p3 0.0235 0.8627 1 / 0.18);    
--accent-a6: color(display-p3 0.0392 0.8275 1 / 0.22);    
--accent-a7: color(display-p3 0.2157 0.8471 1 / 0.26);    
--accent-a8: color(display-p3 0.4 0.8549 1 / 0.34);       
}


/* Site background */
html, body {
  background: var(--gradient-bg-light);
  background-color: var(--p-white);
  min-height: 100vh;
  background-attachment: fixed;
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
}

.dark html, .dark body {
  background: var(--gradient-bg-dark);
  background-color: var(--p-deep-blue);
  background-attachment: fixed;
  background-repeat: no-repeat;
}


/* Tables - Unified table styles for both .fern-table and .prose contexts */
/* Specifically exclude code blocks from styling */

.fern-table-root {
  background-color: transparent !important;
  background: none !important;
  background-image: none !important;
}

.fern-table table:not(.code-block-line-group),
.prose table:not(.code-block-line-group) {
  width: 100%;
  color: var(--p-neutral-2);
  font-size: 14px;
  text-align: left;
  border-radius: 0;
  overflow-x: auto;
  display: table;
}

.fern-table th:not(.code-block-line-group th),
.prose th:not(.code-block-line-group th) {
  background-color: var(--p-neutral-2);
  color: var(--p-white);
  font-weight: bold;
  font-size: 14px;
  padding: var(--spacing-sm);
  letter-spacing: 1px;
}

/* Dark mode table headers */
.dark .fern-table th:not(.code-block-line-group th),
.dark .prose th:not(.code-block-line-group th) {
  background-color: var(--p-neutral-1);
  color: var(--p-neutral-8);
}

.fern-table td:not(.code-block-line-group td),
.prose td:not(.code-block-line-group td) {
  padding: var(--spacing-sm);
  border-bottom: 1px solid var(--p-neutral-7);
}

/* Table hover effects - Subtle highlight for better row tracking */
.fern-table tr:hover td:not(.code-block-line-group td),
.prose tr:hover td:not(.code-block-line-group td) {
  background-color: var(--p-neutral-7);
}
.fern-table tr:focus-within td:not(.code-block-line-group td),
.prose tr:focus-within td:not(.code-block-line-group td) {
  background-color: var(--p-neutral-7); outline: none;
}

/* Dark Mode Tables - Inverted colors while maintaining readability */
.dark .fern-table table:not(.code-block-line-group),
.dark .prose table:not(.code-block-line-group) {
  color: var(--p-neutral-7);
}

/* Dark mode table hover - Higher contrast for better visibility */
.dark .fern-table tr:hover td:not(.code-block-line-group td),
.dark .prose tr:hover td:not(.code-block-line-group td) {
  background-color: var(--p-neutral-2);
  color: var(--p-neutral-8);
}
.dark .fern-table tr:focus-within td:not(.code-block-line-group td),
.dark .prose tr:focus-within td:not(.code-block-line-group td) {
  background-color: var(--p-neutral-2);
  color: var(--p-neutral-8); outline: none;
}

.dark .fern-table td:not(.code-block-line-group td),
.dark .prose td:not(.code-block-line-group td) {
  border-bottom: 1px solid var(--p-neutral-1);
}

/* Column Sizes - Ensures consistent column widths across tables */
.lg-column { min-width: 180px; } /* For content-heavy columns */
.med-column { min-width: 140px; } /* For standard text columns */
.sm-column { min-width: 100px; } /* For status/short text columns */

/* Reset styles for code block tables */
table.code-block-line-group,
.code-block-line-group table,
.code-block-line-group th,
.code-block-line-group td {
  /* Reset all styling to defaults or set specific styling for code blocks */
  all: revert;
}

/* Chips - Labels and tags with consistent styling */

.chip {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 0;
  font-size: 0.65em;
  font-weight: normal;
  vertical-align: middle;
  color: var(--p-neutral-2);
  margin-left: var(--spacing-xs);
  background-color: transparent;
  border: 1px solid var(--p-neutral-5);
  box-shadow: var(--shadow-sm);
}

.dark .chip {
  color: var(--p-white);
  border-color: var(--p-neutral-4);
  box-shadow: var(--shadow-sm);
}

/* Product-specific chips - Visual differentiation for different product areas */
.chip.pay-in {
  background-color: var(--p-teal-lighter);
  color: var(--p-teal-dark);
  border-color: var(--p-teal-light);
}

.chip.pay-out {
  background-color: var(--p-pink-lighter);
  color: var(--p-pink-dark);
  border-color: var(--p-pink-light);
}

.chip.pay-ops {
  background-color: var(--p-purple-lighter);
  color: var(--p-purple-dark);
  border-color: var(--p-purple-light);
}

/* Dark mode chips - Inverted colors while maintaining product identity */
.dark .chip.pay-in {
  background-color: var(--p-teal-dark);
  color: var(--p-teal-lighter);
  border-color: var(--p-teal);
}

.dark .chip.pay-out {
  background-color: var(--p-pink-dark);
  color: var(--p-pink-lighter);
  border-color: var(--p-pink);
}

.dark .chip.pay-ops {
  background-color: var(--p-purple-dark);
  color: var(--p-purple-lighter);
  border-color: var(--p-purple);
}

/* Chip containers - Flexible layout for multiple chips */

.flex-row-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
}

/* Audience info - User targeting information */
.audience-info {
  display: flex;
  align-items: center;
  margin-bottom: var(--spacing-md);
}

.audience-label {
  font-size: 14px;
  color: var(--p-neutral-3);
  margin-right: var(--spacing-sm);
}

.dark .audience-label {
  color: var(--p-neutral-6);
}


/* Audience-specific chips - Visual differentiation for different user types */
.chip.audience-developers {
  background-color: var(--p-primary-lighter);
  color: var(--p-primary-dark);
  border-color: var(--p-primary-dark);
}

.chip.audience-partners {
  background-color: var(--p-lemon-lighter);
  color: var(--p-lemon-dark);
  border-color: var(--p-lemon-light);
}

.chip.audience-merchants {
  background-color: var(--p-cinnamon-lighter);
  color: var(--p-cinnamon-dark);
  border-color: var(--p-cinnamon-light);
}

/* Dark mode audience chips */
.dark .chip.audience-developers {
  background-color: var(--p-teal-dark);
  color: var(--p-teal-lighter);
  border-color: var(--p-teal);
}

.dark .chip.audience-partners {
  background-color: var(--p-lemon-dark);
  color: var(--p-lemon-lighter);
  border-color: var(--p-lemon);
}

.dark .chip.audience-merchants {
  background-color: var(--p-cinnamon-dark);
  color: var(--p-cinnamon-lighter);
  border-color: var(--p-cinnamon);
}

/* UI Status Chips - Visual indicators for UI versions */

.chip.ui-legacy {
  background-color: var(--p-cinnamon-lighter);
  color: var(--p-cinnamon-dark);
  border-color: var(--p-cinnamon-light);
}

.chip.ui-new {
  background-color: var(--p-teal-lighter);
  color: var(--p-teal-dark);
  border-color: var(--p-teal-light);
}

/* Dark mode UI chips */
.dark .chip.ui-legacy {
  background-color: var(--p-cinnamon-dark);
  color: var(--p-cinnamon-lighter);
  border-color: var(--p-cinnamon);
}

.dark .chip.ui-new {
  background-color: var(--p-teal-dark);
  color: var(--p-teal-lighter);
  border-color: var(--p-teal);
}

/* See Also Blocks - NOT IN USE */

.see-also {
  padding: 15px;
    border-radius: 0;
  margin-top: 15px;
}

.see-also-header {
border-top: 1px solid var(--p-teal-dark);
  padding-top: 1em; /* Space between border and text */
}

.see-also h3 {
margin-top: 0;
}

.see-also p {
margin-bottom: 5px;
margin-top: 3px;
font-weight: 400;
}

/* Arrow indicator for links */
.see-also p > *:last-child::after {
content: "→";
margin-left: 0.5em;
font-size: 0.8em;
color: var(--p-neutral-4);
}

.dark .see-also p > *:last-child::after {
color: var(--p-neutral-5);
}

/* Clean link styling without underlines */
.see-also a {
color: inherit;
text-decoration: none;
transition: color 0.2s ease;
border-bottom: none;
font-weight: 400;
}

.see-also a:hover {
color: var(--p-teal-dark);
}
.see-also a:focus-visible {
color: var(--p-teal-dark); outline: none;
}

.dark .see-also a:hover {
color: var(--p-teal-light);
}
.dark .see-also a:focus-visible {
color: var(--p-teal-light); outline: none;
}


/* Definition List Styles - Custom styling for term-definition pairs */
.definition-list {
  background-color: transparent;
  border-radius: 0;
  padding: var(--spacing-md);
}

.term-definition-pair {
  margin-bottom: var(--spacing-md); /* Space between pairs */
}

.term {
  font-weight: bold;
  margin-bottom: var(--spacing-xs);
}

.definition {
  margin-left: var(--spacing-md);
  margin-bottom: var(--spacing-sm);
  color: var(--p-neutral-2);
}

.dark .definition {
  color: var(--p-neutral-7);
}


/* FERN STUFF */


/* Root background fix for pull-to-refresh */
.dark {
  background-color: var(--p-deep-blue);
}

/* Root background fix for pull-to-refresh */
.dark {
  background-color: var(--p-deep-blue);
}


/* Fix the transition when scrolling */
.dark #fern-header {
  transition: none !important;
}

/* Header transparency */
#fern-header,
.fern-header-content,
header[role="banner"].fern-background-image {
  background-color: transparent !important;
}

.fern-card {
  border-radius: 0;
  box-shadow: var(--shadow-glow-light);

}

.dark .fern-card {
  background-color: var(--p-deep-blue);
  box-shadow: var(--shadow-glow);
}

.dark .api-explorer {
  background-color: transparent;
}

.dark .fern-dropdown {
  background-color: var(--p-deep-blue);
  border: 1px solid var(--p-neutral-1);
}

.dark .fern-api-property-meta code {
  color: white;
}

/* Target the span inside the unchecked button for better visibility */
.dark button[role="switch"][data-state="unchecked"] span {
  /* Make the toggle handle more visible */
  background-color: var(--p-pink-lighter);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.177);
}

/* Flowcharts - Interactive diagram components */
.flowchart-container-horizontal {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
}

/* Common styles for flowchart boxes */
.flowchart-box-horizontal,
.flowchart-box-start {
  border: 1px solid var(--p-white);
  padding: var(--spacing-sm);
  margin: var(--spacing-sm);
  text-align: center;
  border-radius: 0;
  transition: var(--transition-base);
  position: relative;
  display: inline-block;
  min-width: 100px;
  font-family: monospace; /* Better for technical content */
}

.flowchart-box-horizontal {
  background-color: hsla(0,0%,100%,.5); /* Semi-transparent for layering */
}

.flowchart-box-start {
  background-color: var(--p-deep-blue); /* Distinct styling for starting node */
  color: var(--p-neutral-7);
}

.flowchart-box-horizontal:hover {
  border-color: var(--p-primary-dark);
  color: var(--p-primary-dark);
  cursor: pointer;
}
.flowchart-box-horizontal:focus-visible {
  border-color: var(--p-primary-dark);
  color: var(--p-primary-dark);
  cursor: pointer; outline: none;
}

/* Flowchart arrows with custom content */
.flowchart-arrow-horizontal {
  margin: var(--spacing-xs) var(--spacing-sm);
  font-size: 24px;
  align-self: center;
display: inline-block;
position: relative;
width: 50px; 
text-align: center;
}

.flowchart-arrow-horizontal::before {
  content: attr(data-content); /* Allows dynamic arrow content */
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
font-size: 20px;
}

/* Chip Numbers - Floating indicators for sequential steps */
.chip-number {
position: absolute;
top: -10px; 
right: -10px; 
  background-color: var(--p-neutral-6);
  color: var(--p-neutral-2);
  padding: var(--spacing-xs);
  border-radius: var(--radius-full);
  width: 25px;
  height: 25px;
display: flex;
align-items: center;
justify-content: center;
  font-size: 0.75rem;
  box-shadow: var(--shadow-sm);
  z-index: 1; /* Ensures visibility above other elements */
}

/* Tooltips - Interactive help text for flowchart elements */
.flowchart-tooltip .flowchart-tooltiptext {
  visibility: hidden;
  background-color: var(--p-white);
  color: var(--p-neutral-2);
  text-align: center;
  border-radius: 0;
  padding: var(--spacing-xs) var(--spacing-sm);
  position: absolute;
  z-index: 1;
  bottom: 100%;
  margin-bottom: var(--spacing-sm);
  opacity: 0;
  transition: var(--transition-base);
  max-width: 100%;
  width: auto;
  left: 0;
  right: 0;
  border: 1px solid var(--p-neutral-1);
}

/* Show tooltip on hover */
.flowchart-box-horizontal:hover .flowchart-tooltiptext,
.flowchart-box-start:hover .flowchart-tooltiptext {
  visibility: visible;
  opacity: 1;
}
.flowchart-box-horizontal:focus-within .flowchart-tooltiptext,
.flowchart-box-start:focus-within .flowchart-tooltiptext {
  visibility: visible;
  opacity: 1; outline: none;
}

/* Tooltip arrow */
.flowchart-tooltip .flowchart-tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: var(--p-neutral-1) transparent transparent transparent;
}

/* Dark mode flowcharts - Adjusted colors and contrast for dark theme */
.dark .flowchart-box-start {
color: var(--p-white);
border-color: var(--p-primary-dark);
}

.dark .flowchart-box-horizontal {
  border-color: var(--p-deep-blue);
  background-color: rgba(2, 11, 39, 0.3); /* Semi-transparent dark background */
  color: var(--p-white);
}

.dark .flowchart-box-horizontal:hover {
  border-color: var(--p-white);
}
.dark .flowchart-box-horizontal:focus-visible {
  border-color: var(--p-white); outline: none;
}

.dark .flowchart-tooltip .flowchart-tooltiptext {
  background-color: var(--p-deep-blue);
  color: var(--p-white);
  border-color: var(--p-white);
}

.dark .flowchart-tooltip .flowchart-tooltiptext::after {
  border-color: var(--p-white) transparent transparent transparent;
}

body:has(.playground-endpoint) .nav-footer {
  display: none !important;
}

/* Home page - Landing page specific styles */
.home-header-container {
  height: 16rem;
  position: relative;
  overflow: hidden;
}

.home-background-image {
  flex: none;
}

.home-background-img {
  height: 68rem;
  width: 100rem;
}

.home-header-content {
  position: absolute;
  text-align: center;
  background-color: transparent;
  color: var(--p-deep-blue);
}

.home-heading {
  font-size: 48px;
  margin: 0;
  font-weight: 800;
  letter-spacing: -0.75px; /* Tighter spacing for large headlines */
}

.home-subheading {
  font-size: 20px;
  opacity: 0.8; /* Subtle distinction from main heading */
  color: inherit;
  margin-top: 0.5rem;
}

.home-body-intro {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 1rem;
  color: var(--p-deep-blue);
  margin-top: 3rem; /* Add significant space between sections */
}

.home-search-button {
  max-width: 24rem;
  margin-top: 3rem;
  padding: 0.75rem;
  background-color: white;
}

.home-content-container {
  max-width: 70rem;
  margin: 0 auto;
  padding: var(--spacing-lg);
}

.home-card-section {
  margin-top: var(--spacing-lg);
}

/* Mobile-specific styles for the header container */
@media (max-width: 768px) {

  .home-header-container {
    padding-top: 8rem; /* Top padding that worked */
    height: 26rem; /* Adjusted height to match */
  }

  .home-header-content {
    top: 8rem; /* Match the top padding */
    padding-left: 1.5rem; /* Add horizontal padding */
    padding-right: 1.5rem; /* Add horizontal padding */
    width: 100%; /* Ensure it spans the full width */
    box-sizing: border-box; /* Make sure padding is included in width */
  }
  
  /* Add a bit more breathing room for the subheading */
  .home-subheading {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

}

/* First section heading doesn't need as much top margin */
.home-content-container > .home-body-intro:first-of-type {
  margin-top: 0;
}

/* Dark mode home - Adjusted colors for dark theme */
.dark .home-header-content {
  color: var(--p-white);
}

.dark .home-body-intro {
  color: var(--p-neutral-8);
}