/* stylelint-disable selector-class-pattern, custom-property-empty-line-before */
.TdIy9CcVkyL2d6SwjQdJ {
  transition: width 160ms ease;
  --navbar-icon-only-button-size: 40px;

  /* Keep icons closer to their original visual size */
  --navbar-icon-only-icon-size: 20px;
  --navbar-brand-toggle-size: 48px;
  --navbar-brand-toggle-inner-size: 40px;
  --navbar-brand-toggle-shield-size: 32px;

  --navbar-inline-padding: var(--mantine-spacing-md);
  --navbar-inline-padding-collapsed: calc(var(--mantine-spacing-xs) + 2px);
}

.a8OrQrutrrsKJlpBIttE {
  cursor: e-resize;
  --navbar-brand-toggle-size: 40px;
  --navbar-brand-toggle-inner-size: 36px;
  --navbar-brand-toggle-shield-size: 34px;
  --navbar-inline-padding: var(--navbar-inline-padding-collapsed);
}

.Qa6yjKjTLi9CeKs7kq6i {
  cursor: w-resize;
}

/*
 * Interactive elements within expanded navbar should not show collapse cursor.
 * Cards and containers get default cursor, buttons get pointer cursor.
 */
.Qa6yjKjTLi9CeKs7kq6i [data-navbar-interactive="true"]:not(button):not(a):not([role="button"]) {
  cursor: default;
}

/* Buttons always get pointer cursor - whether they have the attribute directly or are inside a card */
.Qa6yjKjTLi9CeKs7kq6i button[data-navbar-interactive="true"],
.Qa6yjKjTLi9CeKs7kq6i a[data-navbar-interactive="true"],
.Qa6yjKjTLi9CeKs7kq6i [role="button"][data-navbar-interactive="true"],
.Qa6yjKjTLi9CeKs7kq6i [data-navbar-interactive="true"] button,
.Qa6yjKjTLi9CeKs7kq6i [data-navbar-interactive="true"] a,
.Qa6yjKjTLi9CeKs7kq6i [data-navbar-interactive="true"] [role="button"] {
  cursor: pointer;
}

.J7rEG3O7rDUpaV2II02E {
  padding: var(--mantine-spacing-md);
  padding-left: var(--navbar-inline-padding);
  padding-right: var(--navbar-inline-padding);
}

.pdYSPfisb940v5cTnzNH {
  flex: 1;
  padding: var(--mantine-spacing-md);
  padding-left: var(--navbar-inline-padding);
  padding-right: var(--navbar-inline-padding);
  min-height: 0;
  overflow-y: auto;
}

.dO4VoLjm2Y7iipXHun5j {
  width: 100%;
  align-items: center;
  gap: var(--mantine-spacing-sm);
}

.vDOsV3HqytjGTv01_am8 {
  justify-content: center !important;
}

.mk6ufkXiideYlVAGh0pO {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.BCAhBfYPuUpTb9FUuyfU {
  width: var(--navbar-brand-toggle-size);
  height: var(--navbar-brand-toggle-size);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--mantine-radius-md);
  cursor: pointer; /* Changed from e-resize since this is now a dashboard link */
  color: var(--mantine-color-primary-text);
  transition: background-color 120ms ease;
}

.dpCqdocNp1XdaGu274XE {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--navbar-brand-toggle-inner-size);
  height: var(--navbar-brand-toggle-inner-size);
}

.Xy3001D_GDPOXh1guVqw,
._zfNcFxomlKCWHaRWSRT {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    opacity 120ms ease, transform 120ms ease;
}

.Xy3001D_GDPOXh1guVqw {
  opacity: 1;
}

.FmFJ7UXXrORkln4FfEcf {
  width: var(--navbar-brand-toggle-shield-size);
  height: auto;
}

._zfNcFxomlKCWHaRWSRT {
  opacity: 0;
}

.BCAhBfYPuUpTb9FUuyfU:hover .Xy3001D_GDPOXh1guVqw {
  opacity: 0;
  transform: translateX(-2px);
}

.BCAhBfYPuUpTb9FUuyfU:hover ._zfNcFxomlKCWHaRWSRT {
  opacity: 1;
  transform: translateX(2px);
}

.Ve9ISojxXJe1ZOBDVSTS {
  color: var(--mantine-color-primary-text);
  transition: background-color 120ms ease;
}

.BCAhBfYPuUpTb9FUuyfU:hover,
.Ve9ISojxXJe1ZOBDVSTS:hover {
  background-color: var(--mantine-color-gray-2);
}

html[data-mantine-color-scheme="dark"] .BCAhBfYPuUpTb9FUuyfU,
html[data-mantine-color-scheme="dark"] .Ve9ISojxXJe1ZOBDVSTS {
  color: var(--mantine-color-dark-0);
}

html[data-mantine-color-scheme="dark"] .BCAhBfYPuUpTb9FUuyfU:hover,
html[data-mantine-color-scheme="dark"] .Ve9ISojxXJe1ZOBDVSTS:hover {
  background-color: var(--mantine-color-dark-5);
}

/* NavbarButton.module.css */
.qyauMql1W1hotJvgPCah {
  width: 100%;
  border-radius: 4px;
  border: none;
  min-height: 32px;
  transition: background-color 0.2s;
  font-size: 0.9em;
  font-weight: 400;
  color: var(--mantine-color-primary-text);
  position: relative;
  overflow: visible;
}

/* Fill the mb="xs" (8px) gap between buttons so clicks between them
   don't fall through to the navbar root and trigger collapse/expand. */
.qyauMql1W1hotJvgPCah::after {
  content: "";
  position: absolute;
  top: -4px;
  right: 0;
  bottom: -4px;
  left: 0;
}

.OyYlJL81JRJqLF3y6tME {
  background-color: transparent;
  box-shadow: none;
  color: var(--mantine-color-black);
}

.OyYlJL81JRJqLF3y6tME:hover {
    color: var(--mantine-color-black);
    background-color: var(--mantine-color-gray-2);
  }

.JUpk4R1qh8b_rnppkG5t {
  box-shadow: none;

  /* Light mode active */

  /* background-color: var(--mantine-color-green-0); Re-evaluate if needed */
}

.JUpk4R1qh8b_rnppkG5t:hover {
    background-color: var(--mantine-color-green-0);
  }

/* === Light Mode Active State === */
html[data-mantine-color-scheme="light"] .JUpk4R1qh8b_rnppkG5t {
  background-color: var(--mantine-color-green-0);
}

/* More specific selectors for active text/icon color (Light) */
html[data-mantine-color-scheme="light"] .JUpk4R1qh8b_rnppkG5t span {
  color: var(--mantine-color-green-9);
}

html[data-mantine-color-scheme="light"] .JUpk4R1qh8b_rnppkG5t svg {
  color: var(--mantine-color-green-9);
}

/* === Dark Mode Active State === */
html[data-mantine-color-scheme="dark"] .JUpk4R1qh8b_rnppkG5t {
  /* Dark mode active */
  background-color: color-mix(
    in srgb,
    var(--mantine-color-green-6),
    transparent 85%
  );
}

/* More specific selectors for active text/icon color (Dark) */
html[data-mantine-color-scheme="dark"] .JUpk4R1qh8b_rnppkG5t span {
  color: var(--mantine-color-green-6);
}

html[data-mantine-color-scheme="dark"] .JUpk4R1qh8b_rnppkG5t svg {
  color: var(--mantine-color-green-6);
}

html[data-mantine-color-scheme="dark"] .OyYlJL81JRJqLF3y6tME {
  box-shadow: none;
  color: var(--mantine-color-dark-0);
}

html[data-mantine-color-scheme="dark"] .OyYlJL81JRJqLF3y6tME:hover {
    color: var(--mantine-color-dark-0);
    background-color: var(--mantine-color-dark-5);
  }

html[data-mantine-color-scheme="dark"] .OyYlJL81JRJqLF3y6tME:hover svg {
    color: var(--mantine-color-dark-0);
  }

.aYVdOXhy_N7gD6lVTqa9 {
  /* Tighter vertical spacing while keeping a larger hit area */
  margin-bottom: var(--mantine-spacing-xs);
  width: var(--navbar-icon-only-button-size);
  height: var(--navbar-icon-only-button-size);
  color: var(--mantine-color-gray-7);
  transition:
    background-color 120ms ease, color 120ms ease;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: visible;
}

/* Fill the margin-bottom: xs gap between collapsed buttons */
.aYVdOXhy_N7gD6lVTqa9::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
}

.aYVdOXhy_N7gD6lVTqa9 svg {
  width: var(--navbar-icon-only-icon-size);
  height: var(--navbar-icon-only-icon-size);
}

.aYVdOXhy_N7gD6lVTqa9:hover {
  background-color: var(--mantine-color-gray-1);
}

.aYVdOXhy_N7gD6lVTqa9[data-active="true"] {
  background-color: var(--mantine-color-green-0);
  color: var(--mantine-color-green-9);
  box-shadow: none;
}

.aYVdOXhy_N7gD6lVTqa9[data-active="true"] svg {
  color: var(--mantine-color-green-9);
  stroke: var(--mantine-color-green-9);
}

html[data-mantine-color-scheme="dark"] .aYVdOXhy_N7gD6lVTqa9 {
  color: var(--mantine-color-dark-0);
}

html[data-mantine-color-scheme="dark"] .aYVdOXhy_N7gD6lVTqa9:hover {
  background-color: var(--mantine-color-dark-5);
}

html[data-mantine-color-scheme="dark"] .aYVdOXhy_N7gD6lVTqa9[data-active="true"] {
  background-color: color-mix(
    in srgb,
    var(--mantine-color-green-6),
    transparent 75%
  );
  color: var(--mantine-color-green-4);
}

html[data-mantine-color-scheme="dark"] .aYVdOXhy_N7gD6lVTqa9[data-active="true"] svg {
  color: var(--mantine-color-green-4);
  stroke: var(--mantine-color-green-4);
}

/* Subtle green border + glow on the Support dropdown to hint that it
   matches the active trigger state. Background keeps the default surface. */

/* stylelint-disable selector-class-pattern */

/* Shared button styles for quota alert cards and banners */

.e8RjpSnkzo9VNQW9YZsj {
  transition:
    transform 0.15s ease, background-color 0.15s ease;
}

.e8RjpSnkzo9VNQW9YZsj:hover {
  background-color: var(--mantine-color-gray-2);
  transform: translateY(-1px);
}

.QhTJRc_Kgr3jMv4jcowQ {
  transition: background-color 0.15s ease;
}

.QhTJRc_Kgr3jMv4jcowQ:hover {
  background-color: rgba(255, 255, 255, 0.15);
}

.FyDfjTpDGumy4XqExhxR {
  border-radius: var(--mantine-radius-default) var(--mantine-radius-default) 0%
    0%;
}

._cQB6I3DiSLX1a1F4y5N {
  background-color: var(--dwellir-color-soft-green-alt);
}

._cQB6I3DiSLX1a1F4y5N:hover {
    background-color: var(--dwellir-color-soft-green-alt-hover);
    cursor: pointer;
  }

.GtJSeLnIaqmRI62PdbLc {
  border-radius: 0% 0% var(--mantine-radius-default)
    var(--mantine-radius-default);
}

.juyz9l8uNAsqhY00HCpK {
  border: calc(0.0625rem * var(--mantine-scale)) solid green;
}

.Qkgu8HFjBy2iz_ul9XOM {
  border: calc(0.0625rem * var(--mantine-scale)) solid
    var(--mantine-color-yellow-3);
}

[data-mantine-color-scheme='dark'] .MZZuDP8dr8vtnunXtqzP {
    border: calc(0.0625rem * var(--mantine-scale)) solid
      var(--mantine-color-gray-3);
}

[data-mantine-color-scheme='light'] .MZZuDP8dr8vtnunXtqzP {
    border: calc(0.0625rem * var(--mantine-scale)) solid
      var(--mantine-color-gray-6);
}

.uSHnUfY0uQt9QyaMU6aR {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.uSHnUfY0uQt9QyaMU6aR::after {
  content: "";
  position: absolute;
  top: -30%;
  right: -15%;
  bottom: -30%;
  left: -15%;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255, 255, 255, 0.06) 20%,
    rgba(255, 255, 255, 0.28) 40%,
    rgba(255, 255, 255, 0.45) 50%,
    rgba(255, 255, 255, 0.18) 64%,
    transparent 80%
  );
  opacity: 0;
  transform: translateX(-140%) skewX(-12deg);
  animation: OT456ZtAnotMqhsXd9Kw 6.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .uSHnUfY0uQt9QyaMU6aR::after {
    animation: none;
    opacity: 0;
  }
}

@keyframes OT456ZtAnotMqhsXd9Kw {
  0%,
  70% {
    opacity: 0;
    transform: translateX(-150%) skewX(-12deg);
  }

  78% {
    opacity: 0.25;
  }

  82% {
    opacity: 0.45;
    transform: translateX(120%) skewX(-12deg);
  }

  100% {
    opacity: 0;
    transform: translateX(160%) skewX(-12deg);
  }
}

/*
 * Redesigned chain card (API-617). The Paper design mock is dark; every
 * hard-coded hex there maps onto a scheme-adaptive Mantine token so the card
 * works in light and dark:
 *   card / logo bg  #2E2E2E -> --mantine-color-default (white in light)
 *   border          #3B3B3B -> --mantine-color-default-border
 *   muted label     #C9C9C9 -> --mantine-color-dimmed
 * The two inset shadows (logo circle, and a softer one on the body) are a
 * deliberate, required part of the design and use translucent black so they
 * read on either surface. The header background is the fluted-glass webp
 * (light/dark variant picked in the component).
 */

.YOTeAmIhW0pO0HhSKEq6 {
  position: relative; /* anchor for the stretched overlay link */
  display: flex;
  flex-direction: column;
  height: 100%;

  /* Size the title / button layout to the CARD's own width, not the viewport,
     so a narrow grid column on a wide screen still gets proportionate text. */
  container: chain-card / inline-size;
  border: 2px solid var(--mantine-color-default-border);
  border-radius: 1.5rem; /* 24px per spec */
  background-color: var(--mantine-color-default);
  overflow: hidden; /* clip the header image + rounded corners */
  cursor: pointer; /* whole card is clickable */
  transition:
    border-color 0.2s, box-shadow 0.2s;
}

.YOTeAmIhW0pO0HhSKEq6:hover {
  border-color: var(--mantine-color-green-4);
  box-shadow: var(--mantine-shadow-sm);
}

/*
 * Stretched link covering the whole card (Bootstrap "stretched-link" pattern).
 * z-index 1 lifts it above the non-positioned header/body content so a click
 * anywhere on the card navigates; the buttons (z-index 2) paint above it and
 * stay independently clickable. Focus outline follows the card shape.
 */
.oxKstllR3wY7wtRD8WsG {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  border-radius: inherit;
}

.bBMwbRost6v_Gx0XYnpW {
  position: relative;
  background-size: cover;

  /* The artwork is an art-directed 2000x500 banner close to the header's own
     aspect, so a plain center crop shows the intended composition. */
  background-position: center;
}

.FjsxwVSwdvkCZcNkgPNE {
  position: relative;
  padding: 16px 16px 24px;
}

.G04DVECqBgb96v5jv4YR {
  width: 96px;
  height: 96px;
  flex-shrink: 0;
  border-radius: 50%;
  padding: 16px;
  background-color: var(--mantine-color-default);

  /* REQUIRED inner shadow (spec) */
  box-shadow: inset 0 2px 3px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.WQYB4pqcYBA4Zn0lbHxy {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* Initial shown when a card has no logo image (catalog-only chains). */
._De3htOgZAuOGYTkH0Td {
  font-family: var(--mantine-font-family-headings);
  font-weight: 600;
  font-size: 2.5rem;
  line-height: 1;
  color: var(--mantine-color-dimmed);
}

.R4Dk0WPuJCxpu0tE9jeg {
  flex: 1;
  min-width: 0; /* let the name shrink to fit rather than widen the header */
}

.j662eEJP1U_zaDKMxK4I {
  margin: 0;
  font-family: var(--mantine-font-family-headings);
  font-weight: 600;
  line-height: 1.15; /* unitless, so header height tightens as the font shrinks */

  /* The name must ALWAYS stay on one row: useFitText scales font-size (inline)
     to the card width; nowrap forbids wrapping. 2.25rem (36px) is the design
     size and the initial value before the fit hook measures. overflow:hidden
     clips only in the unreachable case of an absurd name at the floor size. */
  font-size: 2.25rem;
  white-space: nowrap;
  overflow: hidden;
  color: var(--mantine-color-text);
}

.CWVMga33IGLlatARMHIN {
  position: relative;
  z-index: 2; /* above the stretched overlay link so buttons stay clickable */

  /* Pin the CTA row to the card's bottom edge: grid cards stretch to equal
     height, and short-content cards must not leave their buttons mid-card. */
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.CWVMga33IGLlatARMHIN > * {
  flex: 1 1 auto;
}

/* Secondary (Docs) button: same treatment as the Hyperliquid page's
   .secondary-control (variant="default" + this surface bg). */
.mNSJdjqhsnqh1w6c0eE1 {
  --button-bg: var(--mantine-color-background-filled);
}

/* In a narrow card the Docs + Endpoints row would clip its icon/label, so stack
   the buttons full-width once the card itself gets tight. */
@container chain-card (max-width: 320px) {
  .CWVMga33IGLlatARMHIN {
    flex-direction: column;
  }

  .CWVMga33IGLlatARMHIN > * {
    width: 100%;
  }
}

.GvSaGnRXVDrVkjr1jZ2M {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  flex: 1;

  /* REQUIRED inner shadow, tuned in the Paper mock (2026-07-23): softer than
     the logo circle's (10% black, wider blur). */
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1);
}

.eWWbiuqPqspt3HjqR_vP {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
}

.SNEmvrH6zLYOUdKqCOpN {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  animation: ThhcTjh8WytoohzNOU_g 0.3s ease-out;
}

@keyframes ThhcTjh8WytoohzNOU_g {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes pr2lNiHfmv7QqfDq5bMV {
  0%,
  100% {
    transform: translate(0, 0) rotate(0deg);
  }

  10% {
    transform: translate(-1px, 1px) rotate(-1deg);
  }

  30% {
    transform: translate(1px, -1px) rotate(1deg);
  }

  50% {
    transform: translate(-1px, 0) rotate(-0.5deg);
  }

  70% {
    transform: translate(1px, 1px) rotate(0.5deg);
  }

  90% {
    transform: translate(0, -1px) rotate(-1deg);
  }
}

._pAeOgpYATVD7g43GuMu {
  animation: none;
}

.Thd06IRqg0T19Z7hDR2H {
  transition:
    transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
}

.Thd06IRqg0T19Z7hDR2H:hover {
  transform: translateY(-4px);
  box-shadow:
    0 0 32px rgba(82, 177, 150, 0.31),
    0 8px 24px rgba(0, 0, 0, 0.15);
}

.Thd06IRqg0T19Z7hDR2H:hover ._pAeOgpYATVD7g43GuMu {
  animation: pr2lNiHfmv7QqfDq5bMV 0.3s linear infinite;
}

.QOdNjqTJI3TTw7TVtiJ7 {
  position: absolute;
  top: 24px;
  right: 24px;
}

@media (prefers-reduced-motion: reduce) {
  .SNEmvrH6zLYOUdKqCOpN {
    animation: none;
  }

  ._pAeOgpYATVD7g43GuMu {
    animation: none;
  }
}

/* Override global `svg { color: black/white }` in index.css so icons
   inside ThemeIcon inherit the green color via currentColor.
   Doubled class selector bumps specificity to (0,2,1), beating the
   [data-mantine-color-scheme="dark"] svg rule at (0,1,1). */
.TKpPsVbOfLCbm2Vu48Zh.TKpPsVbOfLCbm2Vu48Zh svg {
  color: inherit;
}

.lPGhg2nddx9N8IrsQqYk {
  transition:
    border-color 0.2s, box-shadow 0.2s;
}

.lPGhg2nddx9N8IrsQqYk:hover {
  /* keep border-color + box-shadow transitions, no translateY lift */
}

.k7xiO7IkuP8LZ8wXyxAU {
  transition:
    background-color 0.15s, transform 0.1s;
  border-radius: var(--mantine-radius-sm);
  cursor: pointer;
}

.k7xiO7IkuP8LZ8wXyxAU:hover {
  background-color: var(--mantine-color-default-hover);
}

.k7xiO7IkuP8LZ8wXyxAU:active {
  transform: scale(0.985);
}

@keyframes ukbODZdtZa_Fksu5AwAP {
  0% {
    transform: translateY(0) scale(1);
  }

  25% {
    transform: translateY(-5px) scale(1.2);
  }

  50% {
    transform: translateY(0) scale(1.05);
  }

  75% {
    transform: translateY(-1px) scale(1);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

.vKxDhco2kV4naEZNGwyu {
  animation: ukbODZdtZa_Fksu5AwAP 0.35s ease-out;
}

.uHQRtFCOY5uWDPKrN50c {
  background-color: var(--mantine-color-background-filled);
  border-radius: var(--mantine-radius-md);
  border: 1px solid transparent;
  transition: border-color 0.2s;
}

.uHQRtFCOY5uWDPKrN50c:hover {
  border-color: var(--mantine-color-green-4);
}

.uHQRtFCOY5uWDPKrN50c:hover svg {
  color: var(--mantine-color-green-6);
}

/* Table styling matching api-keys-card table */
.imOk_UPO9amqwa6tQkHX {
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--mantine-radius-lg);
  overflow: hidden;
}

.VvF6KJJ_5vnjgdoue1My {
  background-color: var(--mantine-color-green-6);
  color: white;
  font-weight: 700;
  padding: var(--mantine-spacing-xs) var(--mantine-spacing-sm);
  border-bottom: none;
}

.VvF6KJJ_5vnjgdoue1My:first-child {
  padding-left: var(--mantine-spacing-lg);
  border-radius: var(--mantine-spacing-lg) 0 0 0;
}

.VvF6KJJ_5vnjgdoue1My:not(:last-of-type) {
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.VvF6KJJ_5vnjgdoue1My:last-child {
  border-radius: 0 var(--mantine-spacing-lg) 0 0;
}

.TbZfjtPfjOdnDhcLbiM6 {
  padding: var(--mantine-spacing-xs) var(--mantine-spacing-sm);
  background-color: var(--mantine-color-second-background-filled);
}

.TbZfjtPfjOdnDhcLbiM6:first-child {
  padding-left: var(--mantine-spacing-lg);
}

[data-mantine-color-scheme="dark"] .TbZfjtPfjOdnDhcLbiM6 {
  border-top: 1px solid var(--mantine-color-dark-5);
}

[data-mantine-color-scheme="light"] .TbZfjtPfjOdnDhcLbiM6 {
  border-top: 1px solid var(--mantine-color-gray-3);
}

[data-mantine-color-scheme="dark"] .TbZfjtPfjOdnDhcLbiM6:not(:last-of-type) {
  border-right: 1px solid var(--mantine-color-dark-5);
}

[data-mantine-color-scheme="light"] .TbZfjtPfjOdnDhcLbiM6:not(:last-of-type) {
  border-right: 1px solid var(--mantine-color-gray-3);
}

[data-mantine-color-scheme="light"] .jYUWc9TEHurj058s2Hen:hover .TbZfjtPfjOdnDhcLbiM6 {
  background-color: var(--mantine-color-gray-2);
}

[data-mantine-color-scheme="dark"] .jYUWc9TEHurj058s2Hen:hover .TbZfjtPfjOdnDhcLbiM6 {
  background-color: var(--mantine-color-dark-5);
}

.jYUWc9TEHurj058s2Hen:last-child > .TbZfjtPfjOdnDhcLbiM6:first-child {
  border-bottom-left-radius: var(--mantine-radius-lg);
}

.jYUWc9TEHurj058s2Hen:last-child > .TbZfjtPfjOdnDhcLbiM6:last-child {
  border-bottom-right-radius: var(--mantine-radius-lg);
}

.jYUWc9TEHurj058s2Hen:hover:last-child .TbZfjtPfjOdnDhcLbiM6:first-child {
  border-bottom-left-radius: var(--mantine-radius-lg);
}

.jYUWc9TEHurj058s2Hen:hover:last-child .TbZfjtPfjOdnDhcLbiM6:last-child {
  border-bottom-right-radius: var(--mantine-radius-lg);
}

.kWOdMB851G69jBzF7VtS {
  word-break: break-all;
  font-size: var(--mantine-font-size-sm);
}

@keyframes Z9NX9e07FtVD9KAyY2uy {
  0% {
    transform: rotate(0deg);
  }

  15% {
    transform: rotate(15deg);
  }

  30% {
    transform: rotate(-12deg);
  }

  45% {
    transform: rotate(10deg);
  }

  60% {
    transform: rotate(-8deg);
  }

  75% {
    transform: rotate(5deg);
  }

  90% {
    transform: rotate(-3deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

.Z9NX9e07FtVD9KAyY2uy {
  display: inline-block;
  animation: Z9NX9e07FtVD9KAyY2uy 0.6s ease-in-out infinite;
}

.x0Fvjxu7pmTy9OkJldDn {
  container-type: inline-size;
}

.OhlUGlxaxpgHlMhD12_o {
  display: none;
}

.eMg_ebNWamvKaFdj5p1H {
  display: block;
}

@container (min-width: 48em) {
  .OhlUGlxaxpgHlMhD12_o {
    display: flex;
  }

  .eMg_ebNWamvKaFdj5p1H {
    display: none;
  }
}

.SDYTjBbyd8PEkRvXML60 {
  display: grid;
  width: 100%;
  grid-gap: var(--mantine-spacing-xl);
  gap: var(--mantine-spacing-xl);
  grid-template-columns: minmax(0, 400px);
  grid-template-areas:
    "embed"
    "free-plan"
    "selling-points"
    "dedicated-nodes";
  justify-content: center;
}

@media (min-width: 48em) {
  .SDYTjBbyd8PEkRvXML60 {
    grid-template-columns: 400px 400px;
    grid-template-areas:
      "free-plan       embed"
      "selling-points  embed"
      "dedicated-nodes embed";
    align-items: start;
  }
}

/* api-keys.module.css */
.rpdhLUgQeieCg_2K8Oku {
  border-radius: var(--mantine-radius-lg);
}

[data-mantine-color-scheme="dark"] .rpdhLUgQeieCg_2K8Oku {
  border-top: solid 1px var(--mantine-color-dark-5);
}

[data-mantine-color-scheme="light"] .rpdhLUgQeieCg_2K8Oku {
  border-top: solid 1px var(--mantine-color-gray-3);
}

.CMUqJVmQzj6fQpttFhpm {
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--mantine-radius-lg);
  overflow: hidden;
}

/* Green header to match logs table */
.C52BMLX50bhKazvf4OBG {
  background-color: var(--mantine-color-green-6);
  color: white;
  font-weight: 700;
  padding: var(--mantine-spacing-xs) var(--mantine-spacing-sm);
  border-bottom: none;
}

.C52BMLX50bhKazvf4OBG:first-child {
  padding-left: var(--mantine-spacing-lg);
  border-radius: var(--mantine-spacing-lg) 0 0 0;
}

.C52BMLX50bhKazvf4OBG:not(:last-of-type) {
  border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.C52BMLX50bhKazvf4OBG:last-child {
  border-radius: 0 var(--mantine-spacing-lg) 0 0;
}

.fqeeKvetvlkAnPmsIHOC {
  padding: var(--mantine-spacing-xs) var(--mantine-spacing-sm);
  background-color: var(--mantine-color-second-background-filled);
}

.fqeeKvetvlkAnPmsIHOC:first-child {
  padding-left: var(--mantine-spacing-lg);
}

[data-mantine-color-scheme="dark"] .fqeeKvetvlkAnPmsIHOC {
  border-top: 1px solid var(--mantine-color-dark-5);
}

[data-mantine-color-scheme="light"] .fqeeKvetvlkAnPmsIHOC {
  border-top: 1px solid var(--mantine-color-gray-3);
}

[data-mantine-color-scheme="dark"] .fqeeKvetvlkAnPmsIHOC:not(:last-of-type) {
  border-right: 1px solid var(--mantine-color-dark-5);
}

[data-mantine-color-scheme="light"] .fqeeKvetvlkAnPmsIHOC:not(:last-of-type) {
  border-right: 1px solid var(--mantine-color-gray-3);
}

.Jk7lCWnHei1cWSL0XyjE:hover .fqeeKvetvlkAnPmsIHOC {
  background-color: var(--mantine-color-gray-1);
}

[data-mantine-color-scheme="dark"] .Jk7lCWnHei1cWSL0XyjE:hover .fqeeKvetvlkAnPmsIHOC {
  background-color: var(--mantine-color-dark-5);
}

.Jk7lCWnHei1cWSL0XyjE:last-child > .fqeeKvetvlkAnPmsIHOC:first-child {
  border-bottom-left-radius: var(--mantine-radius-lg);
}

.Jk7lCWnHei1cWSL0XyjE:last-child > .fqeeKvetvlkAnPmsIHOC:last-child {
  border-bottom-right-radius: var(--mantine-radius-lg);
}

/* Ensure hover on last row also respects these radii */
.Jk7lCWnHei1cWSL0XyjE:hover:last-child .fqeeKvetvlkAnPmsIHOC:first-child {
  border-bottom-left-radius: var(--mantine-radius-lg);
}

.Jk7lCWnHei1cWSL0XyjE:hover:last-child .fqeeKvetvlkAnPmsIHOC:last-child {
  border-bottom-right-radius: var(--mantine-radius-lg);
}

/* Styling for the Grid view when table is not shown */
.XyXfqcV3u91pdnoMQk7x {
  padding: var(--mantine-spacing-md);
}

.YG9j4r2xpwSCdNxrHxLF {
  cursor: pointer;
}

.YG9j4r2xpwSCdNxrHxLF:hover {
  background-color: var(--mantine-color-green-7);
}

.ohLhZ_XewWOTJ5NBag9z {
  cursor: pointer;
}

.ohLhZ_XewWOTJ5NBag9z * {
  cursor: pointer;
}

.ohLhZ_XewWOTJ5NBag9z:focus-visible {
  outline: 2px solid var(--mantine-color-green-6);
  outline-offset: -2px;
}

.AqgAMuYT2UtZr0okfL3g {
  position: relative;
  overflow: hidden;
}

.nmSo0qV97CH4dEHRujFZ {
  display: block;
  width: 100%;
  color: inherit;
  text-align: left;
}

.nmSo0qV97CH4dEHRujFZ:hover {
  background-color: var(--mantine-color-default-hover);
}

.nmSo0qV97CH4dEHRujFZ:focus-visible {
  outline: 2px solid var(--mantine-color-green-6);
  outline-offset: -2px;
}

.uETtkUha5KIV3DKdU_yO {
  position: absolute;
  z-index: 1;
  top: var(--mantine-spacing-md);
  right: var(--mantine-spacing-md);
}

.dwYzUd5z9y7Y8fk58ph9 {
  transition: transform 120ms ease;
}

.dwYzUd5z9y7Y8fk58ph9:not([data-checked]) {
  background-color: var(--mantine-color-gray-0);
}

[data-mantine-color-scheme='dark'] .dwYzUd5z9y7Y8fk58ph9:not([data-checked]) {
  background-color: #242424;
}

.dwYzUd5z9y7Y8fk58ph9:not([data-checked]) {
  border-color: var(--mantine-color-gray-4);
}

[data-mantine-color-scheme='dark'] .dwYzUd5z9y7Y8fk58ph9:not([data-checked]) {
  border-color: var(--mantine-color-dark-4);
}

.dwYzUd5z9y7Y8fk58ph9:not([data-checked]) {
  color: var(--mantine-color-black);
}

[data-mantine-color-scheme='dark'] .dwYzUd5z9y7Y8fk58ph9:not([data-checked]) {
  color: #c9c9c9;
}

.dwYzUd5z9y7Y8fk58ph9:not([data-checked]):hover {
  background-color: var(--mantine-color-gray-0);
}

[data-mantine-color-scheme='dark'] .dwYzUd5z9y7Y8fk58ph9:not([data-checked]):hover {
  background-color: #242424;
}

.dwYzUd5z9y7Y8fk58ph9:not([data-checked]):hover {
  transform: scale(1.05);
}

.dwYzUd5z9y7Y8fk58ph9[data-checked]:hover {
  transform: scale(1.05);
}

.yU7KDlSGqeTX1tGssmZl {
  cursor: pointer;
  transition:
    transform 120ms ease, border-color 120ms ease;
}

.yU7KDlSGqeTX1tGssmZl:hover {
  transform: scale(1.15);
  border-color: var(--mantine-color-green-6);
}

.vtnSBOlZY0tfUSZiJm6S {
  display: flex;
}

.D4xgdBOve457SjxKuazm {
  padding: 12px;
  border-right: 1px solid
    var(--mantine-color-gray-3);
}

[data-mantine-color-scheme='dark'] .D4xgdBOve457SjxKuazm {
  border-right: 1px solid
    var(--mantine-color-dark-4);
}

.uflNuQ6rsSJmbDBe4sFG {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 16px;
  min-width: 200px;
  max-width: 220px;
  border-right: 1px solid
    var(--mantine-color-gray-3);
}

[data-mantine-color-scheme='dark'] .uflNuQ6rsSJmbDBe4sFG {
  border-right: 1px solid
    var(--mantine-color-dark-4);
}

.xxrxL_0KugPL1TusteYR {
  display: flex;
  flex-direction: column;
  min-width: 180px;
  max-height: 340px;
}

.Air86qgYEt8044fvKyk6 {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.LFm55AVHNQLi3B5eOIBW {
  display: block;
  width: 100%;
  padding: 6px 16px;
  text-align: left;
  font-size: var(--mantine-font-size-sm);
  color: var(--mantine-color-text);
}

.LFm55AVHNQLi3B5eOIBW:hover {
  background: var(--mantine-color-gray-1);
}

[data-mantine-color-scheme='dark'] .LFm55AVHNQLi3B5eOIBW:hover {
  background: var(--mantine-color-dark-5);
}

.uPcGsaRz20gVrdKQiTPP {
  background: var(--dwellir-color-soft-green-alt);
  color: var(--dwellir-color-soft-green-alt-color);
  font-weight: 600;
}

.uPcGsaRz20gVrdKQiTPP:hover {
  background: var(--dwellir-color-soft-green-alt-hover);
}

.nhReLzIlR84C7ayhBqRH {
  opacity: 0.5;
  cursor: not-allowed;
}

.RXdO6z2H3EWpKf2bh2ee {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 8px 12px;
  border-top: 1px solid
    var(--mantine-color-gray-3);
}

[data-mantine-color-scheme='dark'] .RXdO6z2H3EWpKf2bh2ee {
  border-top: 1px solid
    var(--mantine-color-dark-4);
}

.un9bq0AyrVPN4a77GXme {
  /* Ideally we want all corners to be rounded but the row hover effect is causing issues on the last row */
  border-radius: var(--mantine-spacing-lg);
  border-collapse: separate;
}

[data-mantine-color-scheme='dark'] .un9bq0AyrVPN4a77GXme {
    border-top: solid var(--mantine-color-dark-5) 1px;
}

[data-mantine-color-scheme='light'] .un9bq0AyrVPN4a77GXme {
    border-top: solid var(--mantine-color-gray-3) 1px;
}

.dDRcnddSpnY5MF6PTj99 {
  background: var(--mantine-color-background-0);
  position: relative;

  /* make room for the right-aligned grab handle */
  padding-right: calc(var(--mantine-spacing-md) + 8px);
}

.dDRcnddSpnY5MF6PTj99:first-child {
    border-radius: var(--mantine-spacing-lg) 0 0 0;
  }

.dDRcnddSpnY5MF6PTj99:last-child {
    border-radius: 0 var(--mantine-spacing-lg) 0 0;
  }

[data-mantine-color-scheme='dark'] .g3B7EPG5W3bdSZ9D5aEn {
    border-top: solid var(--mantine-color-dark-5) 1px;
}

[data-mantine-color-scheme='light'] .g3B7EPG5W3bdSZ9D5aEn {
    border-top: solid var(--mantine-color-gray-3) 1px;
}

[data-mantine-color-scheme='dark'] .NVjfmU0PWzf4omsxrnIA {
    background: var(--mantine-color-dark-4);
}

[data-mantine-color-scheme='light'] .NVjfmU0PWzf4omsxrnIA {
    background: var(--mantine-color-gray-2);
}

.JLUzvJ_CQeUdSVZ9DpZG:hover td {
    background: var(--table-hover-color);
  }

.JLUzvJ_CQeUdSVZ9DpZG:hover:last-child td:first-child {
    border-radius: 0 0 0 var(--mantine-spacing-lg);
  }

.JLUzvJ_CQeUdSVZ9DpZG:hover:last-child td:last-child {
    border-radius: 0 0 var(--mantine-spacing-lg) 0;
  }

.Ib3ppwKY_VVdtJgoc1Rm:last-child td {
  border-radius: 0 0 var(--mantine-spacing-lg) var(--mantine-spacing-lg);

  /* Disable hover effect on expanded rows, it messes with the rounded corners on the last row */
  pointer-events: none;
}

[data-mantine-color-scheme='dark'] .esNWOfTCk2rpohXd7j8l {
    border-bottom: solid var(--mantine-color-dark-5) 1px;
}

[data-mantine-color-scheme='light'] .esNWOfTCk2rpohXd7j8l {
    border-bottom: solid var(--mantine-color-gray-3) 1px;
}

/* Right-align the header drag/reorder handle while keeping title/sort on the left */

/* Try to right-align only the drag/reorder handle in header without changing layout */
.hD1HzxP1ZTNUyL9tFsr0
  :where(
    button[aria-label*="Reorder"],
    button[aria-label*="Move"],
    button[aria-label*="Drag"]
  ) {
  float: right;
  margin-left: var(--mantine-spacing-xs);
}

/* Network column nowrap handled inline in renderChain() */

.NhXv0cYVdEWAYN2aY_fa {
  border: 1px solid var(--mantine-color-default-border);
  transition:
    border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.NhXv0cYVdEWAYN2aY_fa:hover {
  border-color: var(--mantine-color-green-6);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* Heart beat animation - beat, pause, beat pattern */
@keyframes S9_s6kGc6CxqobgHNloC {
  0%,
  100% {
    transform: scale(1);
  }

  14% {
    transform: scale(1.2);
  }

  28% {
    transform: scale(1);
  }

  42% {
    transform: scale(1.15);
  }

  56% {
    transform: scale(1);
  }
}

.CLGVvDvYMdy88VnSzZTk {
  display: inline-flex;
}

.cvt51fe3Yyesl_tDtRtb {
  animation: S9_s6kGc6CxqobgHNloC 1.2s ease-in-out infinite;
}

/* Staggered letter animation */
@keyframes Hk66Cue6TclAYDfu6rIE {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(10px);
  }

  60% {
    transform: scale(1.1) translateY(-2px);
  }

  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.zMeXNsIN69W6WV5S0juo {
  display: inline-flex;
  overflow: visible;
}

.bHJvIOUEXIuboNfhcRdg {
  display: inline-block;
  opacity: 0;
  animation: Hk66Cue6TclAYDfu6rIE 0.3s ease-out forwards;
}

/* Preserve spaces */
.f7HKoF2BbVFUrwd1Qk_O {
  display: inline-block;
  width: 0.3em;
}

.uEMkHyvE0GRW1LBei32x {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--mantine-spacing-lg);
  gap: var(--mantine-spacing-lg);
  width: 100%;
}

/* Banner card - full width slim card */
.Y791SFcYSAPG1rr4kBUi {
  grid-column: span 3;
  grid-row: span 1;
}

/* Card size variants */
.xhZF0OGpIhPizIDH33jK {
  grid-column: span 2;
  grid-row: span 1;
  min-height: 180px;
}

.TrBo_YYYTWZw_rva23jW {
  grid-column: span 1;
  grid-row: span 1;
  min-height: 180px;
}

.crAi_TxzCM1JbACeyKr9 {
  grid-column: span 1;
  grid-row: span 2;
  min-height: 280px;
}

.rC3DokZ3bsh3K4ocEpTX {
  grid-column: span 3;
  grid-row: span 1;
  min-height: 200px;
}

.xDsB_tTKqdXeCNYB0flx {
  grid-column: span 1;
  grid-row: span 1;
  min-height: 160px;
}

.nulS016Cq6reg6ktO_Bj {
  grid-column: span 1;
  grid-row: span 1;
  min-height: 140px;
}

/* Two-column row wrapper - keeps two items together */
.OwwRy4WIqejvQaOkMtTR {
  grid-column: span 3;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--mantine-spacing-lg);
  gap: var(--mantine-spacing-lg);
}

/* Three-column row wrapper */
._3O1eiBZIbOylQRJSKr7R {
  grid-column: span 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--mantine-spacing-lg);
  gap: var(--mantine-spacing-lg);
}

/* Four-column row wrapper - for 4 cards in a row */
.kG8N2arcjWv1LtuyCIN6 {
  grid-column: span 3;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: var(--mantine-spacing-lg);
  gap: var(--mantine-spacing-lg);
}

/* Responsive adjustments */
@media (max-width: 62em) {
  .uEMkHyvE0GRW1LBei32x {
    grid-template-columns: repeat(2, 1fr);
  }

  .Y791SFcYSAPG1rr4kBUi {
    grid-column: span 2;
  }

  .xhZF0OGpIhPizIDH33jK {
    grid-column: span 2;
  }

  .rC3DokZ3bsh3K4ocEpTX {
    grid-column: span 2;
  }

  .OwwRy4WIqejvQaOkMtTR {
    grid-column: span 2;
  }

  ._3O1eiBZIbOylQRJSKr7R {
    grid-column: span 2;
    grid-template-columns: repeat(2, 1fr);
  }

  .kG8N2arcjWv1LtuyCIN6 {
    grid-column: span 2;
    grid-template-columns: repeat(2, 1fr);
  }

  .crAi_TxzCM1JbACeyKr9 {
    grid-column: span 1;
    grid-row: span 1;
    min-height: 180px;
  }
}

@media (max-width: 48em) {
  .uEMkHyvE0GRW1LBei32x {
    grid-template-columns: 1fr;
  }

  .Y791SFcYSAPG1rr4kBUi,
  .xhZF0OGpIhPizIDH33jK,
  .TrBo_YYYTWZw_rva23jW,
  .crAi_TxzCM1JbACeyKr9,
  .rC3DokZ3bsh3K4ocEpTX,
  .xDsB_tTKqdXeCNYB0flx,
  .nulS016Cq6reg6ktO_Bj {
    grid-column: span 1;
    grid-row: span 1;
    min-height: 160px;
  }

  .OwwRy4WIqejvQaOkMtTR {
    grid-column: span 1;
    grid-template-columns: 1fr;
  }

  ._3O1eiBZIbOylQRJSKr7R {
    grid-column: span 1;
    grid-template-columns: 1fr;
  }

  .kG8N2arcjWv1LtuyCIN6 {
    grid-column: span 1;
    grid-template-columns: 1fr;
  }
}

.sfLOnsDFfKLgOlbLcAzB {
  min-height: 540px;
}

.O6JbO99A9R_xtyEjpBYy {
  height: 100%;
}

.HFB3G27KE2Ar7B_U0z5R {
  background-color: var(--mantine-color-green-6);
  color: white;
  border: none;
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

.HFB3G27KE2Ar7B_U0z5R:hover {
  opacity: 1;
}

.HFB3G27KE2Ar7B_U0z5R[data-inactive] {
  opacity: 0.3;
  cursor: default;
}

.ZBznoGpB8TXc_Yb6jojZ {
  bottom: var(--mantine-spacing-md);
}

.nicdMytJhg2uYyZgXYmW {
  width: 10px;
  height: 10px;
  background-color: var(--mantine-color-gray-5);
  transition: all 0.2s ease;
}

.nicdMytJhg2uYyZgXYmW[data-active] {
  background-color: var(--mantine-color-green-6);
  width: 20px;
}

.xTVaEAd0F5DOLZSCg7RY {
  padding-top: var(--mantine-spacing-md);
}

/* The settings tab bar keeps an opaque full-width fill (so the Plan tab's
   edge-to-edge hero gradient can't peek through the side gutters while the
   sticky bar scrolls over it) while the divider line under the tabs stays
   inset, matching the Hyperliquid tab bar.

   The list sits at normal (inset) width, so Mantine's native bottom-border
   line (drawn on the list's own ::before) is already inset. We must NOT touch
   ::before here or it merges with Mantine's line pseudo-element. Instead a
   full-bleed ::after paints only the opaque fill behind the tabs, cancelling
   the scroll container's 2x md side padding. */
.rUgX2Dxy1ofGlapxENh0::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(var(--mantine-spacing-md) * -2);
  bottom: 0;
  left: calc(var(--mantine-spacing-md) * -2);
  z-index: -1;
  background-color: var(--mantine-color-body);
}

.FZRsSdQrqY11fF6u1EKl .mantine-Input-input {
  background-color: var(--mantine-color-body);
}

/* Override global `svg { color: black/white }` in index.css so icons
   inside ThemeIcon inherit the green color via currentColor.
   Doubled class selector bumps specificity to (0,2,1), beating the
   [data-mantine-color-scheme="dark"] svg rule at (0,1,1). */
.f9KKmWK1lx81mWCMafPs.f9KKmWK1lx81mWCMafPs svg {
  color: inherit;
}

/*
 * Components on the OHLCV tab sit on a `second-background` paper card, so
 * their default backgrounds use `background-filled` (main page bg) for
 * contrast. Hover falls back to Mantine's default-hover shade so the
 * interaction still feels alive.
 */

.J7_8fgNpehZX_V2vUtOw {
  background-color: var(--mantine-color-background-filled);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.J7_8fgNpehZX_V2vUtOw:hover {
  background-color: var(--mantine-color-default-hover);
}

/* Buttons and text input sit on the same card; match the chip palette so
 * the whole row reads as one control group. */

.xmcFlgdzSTxz8MPubyyS {
  --button-bg: var(--mantine-color-background-filled);
}

.qy0wUMGOjm8SiUj_EJnM {
  background-color: var(--mantine-color-background-filled);
  transition: background-color 0.15s ease;
}

.qy0wUMGOjm8SiUj_EJnM:hover {
  background-color: var(--mantine-color-default-hover);
}

/* Premium endpoint-card treatment and locked-endpoint overlay, restored from
 * the production endpoints-search cards (origin/main) and scoped to the network
 * detail page. Public/unlocked endpoints use the plain <Card>; restricted ones
 * the org hasn't unlocked get a hover glow + blur/unlock overlay. */

.HaM0ep1didoCC2S6B9rq {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.JyGmk3Wzc5puln_2DR3m {
  --premium-glow-color: var(--mantine-color-green-9);

  transition:
    border-color 200ms ease, box-shadow 200ms ease;
  border-color: var(--mantine-color-default-border);
  box-shadow: none;
}

.JyGmk3Wzc5puln_2DR3m:hover {
  box-shadow:
    0 12px 38px color-mix(in srgb, var(--premium-glow-color) 22%, transparent),
    inset 0 0 0 1px
      color-mix(in srgb, var(--premium-glow-color) 18%, transparent);
  border-color: color-mix(in srgb, var(--premium-glow-color) 34%, transparent);
}

[data-mantine-color-scheme="dark"] .JyGmk3Wzc5puln_2DR3m {
  --premium-glow-color: var(--mantine-color-green-6);
}

[data-mantine-color-scheme="light"] .JyGmk3Wzc5puln_2DR3m {
  --premium-glow-color: var(--mantine-color-green-9);
}

[data-mantine-color-scheme="light"] .JyGmk3Wzc5puln_2DR3m:hover {
  box-shadow:
    0 18px 48px color-mix(in srgb, var(--premium-glow-color) 34%, transparent),
    0 0 0 1px color-mix(in srgb, var(--premium-glow-color) 24%, transparent);
  border-color: color-mix(in srgb, var(--premium-glow-color) 42%, transparent);
}

.j_w664dcng1sc5gpWBpu {
  position: relative;
}

.IvI6byfm0dO6y4lazimK {
  filter: blur(3px);
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.gtqnRrD_kwr8tvA8CKxr {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  /* Matches the card it covers, which draws the house surface radius. */
  border-radius: var(--mantine-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mantine-spacing-xs);
  border: 1px solid var(--mantine-color-default-border);
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition:
    background-color 0.2s, border-color 0.2s;
  z-index: 3;
  padding: 0;
}

[data-mantine-color-scheme="dark"] .gtqnRrD_kwr8tvA8CKxr {
  background-color: rgba(0, 0, 0, 0.35);
  border-color: var(--mantine-color-dark-4);
}

.gtqnRrD_kwr8tvA8CKxr:focus-visible {
  outline: 2px solid var(--mantine-color-green-6);
  outline-offset: 2px;
}

.wY9Lm7aCPyOzwt9u8XtD:hover {
  border-color: var(--mantine-color-green-4);
  background-color: color-mix(
    in srgb,
    var(--mantine-color-green-4) 40%,
    transparent
  );
}

.DzymAg3qs03Gsxw5fid7 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vkAcrXyU6XDtisLFMMd3 {
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Row of 90-day uptime bars, ported from the status.dwellir.com status list.
   Bars share the width equally and shrink to thin ticks on a narrow card. */
.Vhg_zZSD7sFtsz3SST7C {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 30px;
}

/* A bar is green by default; downtime is painted over it as partial segments,
   never as a tint of the whole bar. The status page's springy hover lift is
   kept, so the bar under the pointer reads as the one the popup describes. */
.LVsYAXwDNcSTJcprNah2 {
  position: relative;
  overflow: hidden;
  flex: 1 1 0;
  min-width: 2px;
  height: 100%;
  border-radius: 2px;
  background-color: var(--mantine-color-green-6);
  transform-origin: bottom;
  transition: transform 150ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.LVsYAXwDNcSTJcprNah2:hover {
  transform: scaleY(1.15);
}

@media (prefers-reduced-motion: reduce) {
  .LVsYAXwDNcSTJcprNah2 {
    transition: none;
  }

  .LVsYAXwDNcSTJcprNah2:hover {
    transform: none;
  }
}

/* A week with no samples on any day: one neutral bar, in both schemes. */
.LVsYAXwDNcSTJcprNah2[data-tier="none"] {
  background-color: var(--mantine-color-gray-3);
}
[data-mantine-color-scheme='dark'] .LVsYAXwDNcSTJcprNah2[data-tier="none"] {
  background-color: var(--mantine-color-dark-4);
}

/* The week's downtime, drawn from the bar's BOTTOM edge up, exactly as the
   status page fills a bucket. Its height is the share of the week that was
   down. There is at most one per bar. */
.b4KJY_D2m1yd9CaEXRdg {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

/* Downtime colours mirror getUptimeClasses in the status repo: yellow >= 95
   (and for any downtime inside an otherwise green >= 99 week, so the segment
   stays visible), orange >= 80, red below. */
.LVsYAXwDNcSTJcprNah2[data-downtime-tier="warn"] .b4KJY_D2m1yd9CaEXRdg[data-kind="down"] {
  background-color: var(--mantine-color-yellow-6);
}

.LVsYAXwDNcSTJcprNah2[data-downtime-tier="low"] .b4KJY_D2m1yd9CaEXRdg[data-kind="down"] {
  background-color: var(--mantine-color-orange-6);
}

.LVsYAXwDNcSTJcprNah2[data-downtime-tier="down"] .b4KJY_D2m1yd9CaEXRdg[data-kind="down"] {
  background-color: var(--mantine-color-red-6);
}

/* The hosting-locations row is its own inline-size container, so each region
   collapses to a flag-only chip (name on hover) when the card is narrow, and
   shows the label beside the flag when there is room. */
.FAgodK8U1obgE25_fogC {
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}

.tPOb0YqXecN1tZfA4n6P {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: default;
}

/* One country flag. Emoji flags carry their own colour, so they read the same
   in both schemes; a fixed slot keeps labels aligned across rows. */
.v1kLnxt2j_D4887tSlpQ {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  font-size: 16px;
  line-height: 1;
}

/* Hide the label when the card is too narrow to fit flag + text pairs; the
   flag keeps its hover title, so the region name stays reachable. */
@container (max-width: 230px) {
  .WCJlPLDW9A4HW6bd1oLQ {
    display: none;
  }
}

/* The uptime bars live in uptime-bars.module.css, next to the component that
   draws them. */

/* Live status dot beside the uptime percentage. */
.e67JZAvGATbfw7lpassX {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex: none;
}

.fCAJiyYLYMTGSNIuGS_7 {
  background-color: var(--mantine-color-green-6);
}

.EpOVD562ndl8Rg5jmQeq {
  background-color: var(--mantine-color-yellow-6);
}

:root {
  background: var(--mantine-color-background-filled);

  /* stylelint-disable-next-line */
}

[data-mantine-color-scheme='dark']:root {
    background: var(--mantine-color-background-filled);
}

/* You can use Mantine PostCSS mixins inside data attributes */

[data-mantine-color-scheme='light'] .mantine-Button-root[data-disabled] {
      background: var(--mantine-color-gray-3);
}

[data-mantine-color-scheme='dark'] .mantine-Button-root[data-disabled] {
      background: var(--mantine-color-dark-4);
}

svg {
  color: black;

  /* stylelint-disable-next-line */
}

[data-mantine-color-scheme='dark'] svg {
    color: white;
}

body {
  height: 100vh;
  width: 100vw;
}

/* Mantine React Table tweaks */

/* Column resizer color */
.mrt-resizer {
  background-color: transparent !important;
  opacity: 1;
  width: 12px;
  right: -6px;
  cursor: col-resize;
}

.mrt-resizer:hover {
  background-color: var(--mantine-color-green-6) !important;
  opacity: 0.6;
}

/* Add bottom spacing below table paper */

.mrt-table-paper {
  margin-bottom: var(--mantine-spacing-lg);
}

/* Round bottom corners on last row cells */

.mrt-table tbody tr:last-child td:first-child {
  border-bottom-left-radius: var(--mantine-radius-lg);
  overflow: hidden;
}

.mrt-table tbody tr:last-child td:last-child {
  border-bottom-right-radius: var(--mantine-radius-lg);
  overflow: hidden;
}

/* Round top corners on header left/right */

.mrt-table thead tr th:first-child {
  border-top-left-radius: var(--mantine-radius-lg);
}

.mrt-table thead tr th:last-child {
  border-top-right-radius: var(--mantine-radius-lg);
}

/* MRT header content: push actions (grab handle) to far right without disturbing label/sort */
.mrt-table-head-cell-content {
  display: flex;
  align-items: center;
}

.mrt-table-head-cell-labels {
  flex: 1 1 auto;
  min-width: 0;
}

.mrt-table-head-cell-content-actions {
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/* Keep expanded data row and its detail panel exactly the same bg */
.mantine-Table-tr-detail-panel,
.mantine-Table-td-detail-panel {
  /* Layer a translucent green over the same base bg as rows */
  background:
    linear-gradient(
      0deg,
      rgba(82, 177, 150, 0.15) 0%,
      rgba(82, 177, 150, 0.15) 100%
    ),
    var(--mantine-color-second-background, var(--mantine-color-body)) !important;
}

/* Row hover overlay only (keep existing base bg) */

/* Green hover overlay (subtle, works in both themes) */
.mrt-table tbody tr:hover:not(.mantine-Table-tr-detail-panel) td {
  background-image: linear-gradient(
    0deg,
    rgba(82, 177, 150, 0.1),
    rgba(82, 177, 150, 0.1)
  );
}

/* Avoid double-thick vertical borders by removing left borders;
   rely on the previous cell's right border to draw the divider. */
.mrt-table thead th[data-with-column-border="true"],
.mrt-table tbody td[data-with-column-border="true"] {
  border-left-width: 0 !important;
}

/* Normalize row top divider thickness across all columns */
.mrt-table tbody td {
  border-top: 1px solid var(--mantine-color-gray-3);
}

[data-mantine-color-scheme="dark"] .mrt-table tbody td {
  border-top: 1px solid var(--mantine-color-dark-4);
}

/* Limit Mantine-themed Outseta overrides to auth embeds only.
   Payment/profile embeds should keep Outseta's native theming. */
/* stylelint-disable selector-class-pattern */
[data-mantine-color-scheme="light"]
  #login-embed
  .o--Widget--widget, [data-mantine-color-scheme="light"]
  #register-embed
  .o--Widget--widget {
  --outseta-surface: rgba(255, 255, 255, 0.4);
  --outseta-muted-surface: var(--mantine-color-gray-1);
  --outseta-text: var(--mantine-color-black);
  --outseta-dimmed: var(--mantine-color-dimmed);
  --outseta-border: var(--mantine-color-default-border);
  --outseta-link: var(--mantine-color-green-8);
}

[data-mantine-color-scheme="dark"]
  #login-embed
  .o--Widget--widget, [data-mantine-color-scheme="dark"]
  #register-embed
  .o--Widget--widget {
  --outseta-surface: rgba(46, 46, 46, 0.45);
  --outseta-muted-surface: color-mix(
    in srgb,
    var(--mantine-color-dark-6) 50%,
    var(--mantine-color-dark-7) 50%
  );
  --outseta-text: var(--mantine-color-text);
  --outseta-dimmed: var(--mantine-color-dimmed);
  --outseta-border: var(--mantine-color-default-border);
  --outseta-link: var(--mantine-color-green-6);
}

#login-embed .o--Widget--widget, #register-embed .o--Widget--widget {
  border: calc(0.0625rem * var(--mantine-scale)) solid var(--outseta-border) !important;
  border-radius: var(--mantine-radius-lg) !important;
  background-color: var(--outseta-surface) !important;
  color: var(--outseta-text) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  backdrop-filter: saturate(160%) blur(16px) !important;
}

#login-embed .o--Widget--widget .o--Widget--widgetBody, #register-embed .o--Widget--widget .o--Widget--widgetBody, #login-embed .o--Widget--widget .o--App--widgetContent, #register-embed .o--Widget--widget .o--App--widgetContent, #login-embed .o--Widget--widget .o--App--authWidget, #register-embed .o--Widget--widget .o--App--authWidget, #login-embed
  .o--Widget--widget
  .o--NavDesktop--navDesktop, #register-embed
  .o--Widget--widget
  .o--NavDesktop--navDesktop, #login-embed .o--Widget--widget .o--NavMobile--navMobile, #register-embed .o--Widget--widget .o--NavMobile--navMobile, #login-embed
  .o--Widget--widget
  .o--ChargeSummary--chargeSummary, #register-embed
  .o--Widget--widget
  .o--ChargeSummary--chargeSummary, #login-embed
  .o--Widget--widget
  .o--StickyActionRow--stickyActionRow, #register-embed
  .o--Widget--widget
  .o--StickyActionRow--stickyActionRow, #login-embed
  .o--Widget--widget
  .o--Billing--paymentInformation, #register-embed
  .o--Widget--widget
  .o--Billing--paymentInformation, #login-embed .o--Widget--widget .o--Billing--invoices, #register-embed .o--Widget--widget .o--Billing--invoices, #login-embed .o--Widget--widget .o--Billing--invoiceTable, #register-embed .o--Widget--widget .o--Billing--invoiceTable, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  thead, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  thead, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  tbody, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  tbody, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  tr, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  tr, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  th, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  th, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  td, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  td, #login-embed
  .o--Widget--widget
  .o--PlanDetails--planDetails, #register-embed
  .o--Widget--widget
  .o--PlanDetails--planDetails, #login-embed
  .o--Widget--widget
  .o--HorizontalToggle--horizontalToggle
  ul, #register-embed
  .o--Widget--widget
  .o--HorizontalToggle--horizontalToggle
  ul, #login-embed
  .o--Widget--widget
  .o--PlanOptionsSelector--planList
  li, #register-embed
  .o--Widget--widget
  .o--PlanOptionsSelector--planList
  li, #login-embed
  .o--Widget--widget
  .o--PlanOptionsSelector--addOnList
  li, #register-embed
  .o--Widget--widget
  .o--PlanOptionsSelector--addOnList
  li {
  background-color: var(--outseta-surface) !important;
}

#login-embed .o--Widget--widget h1, #register-embed .o--Widget--widget h1, #login-embed .o--Widget--widget h2, #register-embed .o--Widget--widget h2, #login-embed .o--Widget--widget h3, #register-embed .o--Widget--widget h3, #login-embed .o--Widget--widget h4, #register-embed .o--Widget--widget h4, #login-embed .o--Widget--widget h5, #register-embed .o--Widget--widget h5, #login-embed .o--Widget--widget h6, #register-embed .o--Widget--widget h6, #login-embed .o--Widget--widget .o--Label--label, #register-embed .o--Widget--widget .o--Label--label, #login-embed .o--Widget--widget .o--HrLabel--label, #register-embed .o--Widget--widget .o--HrLabel--label, #login-embed
  .o--Widget--widget
  .o--NavDesktop--navDesktop
  a, #register-embed
  .o--Widget--widget
  .o--NavDesktop--navDesktop
  a, #login-embed .o--Widget--widget .o--NavMobile--navMobile, #register-embed .o--Widget--widget .o--NavMobile--navMobile, #login-embed
  .o--Widget--widget
  .o--NavMobile--navMobile
  option, #register-embed
  .o--Widget--widget
  .o--NavMobile--navMobile
  option, #login-embed .o--Widget--widget .o--PlanDetails--planName, #register-embed .o--Widget--widget .o--PlanDetails--planName, #login-embed
  .o--Widget--widget
  .o--PlanDetails--planPrice, #register-embed
  .o--Widget--widget
  .o--PlanDetails--planPrice, #login-embed
  .o--Widget--widget
  .o--TermsAndConditionsCheckbox--markupText, #register-embed
  .o--Widget--widget
  .o--TermsAndConditionsCheckbox--markupText, #login-embed .o--Widget--widget .o--Checkbox--state label, #register-embed .o--Widget--widget .o--Checkbox--state label, #login-embed .o--Widget--widget .o--Checkbox--state span, #register-embed .o--Widget--widget .o--Checkbox--state span, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  th, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  th, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  td, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  td, #login-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  td
  a, #register-embed
  .o--Widget--widget
  .o--Billing--invoiceTable
  td
  a, #login-embed .o--Widget--widget .o--Button--children, #register-embed .o--Widget--widget .o--Button--children, #login-embed .o--Widget--widget .material-icons, #register-embed .o--Widget--widget .material-icons, #login-embed .o--Widget--widget .o--text-xs, #register-embed .o--Widget--widget .o--text-xs, #login-embed .o--Widget--widget .o--text-sm, #register-embed .o--Widget--widget .o--text-sm, #login-embed .o--Widget--widget .o--text-md, #register-embed .o--Widget--widget .o--text-md, #login-embed .o--Widget--widget .o--text-lg, #register-embed .o--Widget--widget .o--text-lg, #login-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup, #register-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup, #login-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup
  p, #register-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup
  p, #login-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup
  span, #register-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup
  span, #login-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup
  div:not(.o--Button--children), #register-embed
  .o--Widget--widget
  .o--SectionGroup--sectionGroup
  div:not(.o--Button--children) {
  color: var(--outseta-text) !important;
}

#login-embed .o--Widget--widget h1, #register-embed .o--Widget--widget h1 {
  font-family: Ubuntu,system-ui,-apple-system,Segoe UI,Roboto,Cantarell,Noto Sans, sans-serif !important;
}

#login-embed .o--Widget--widget a, #register-embed .o--Widget--widget a {
  color: var(--outseta-link) !important;
}

#login-embed .o--Widget--widget .o--Input--input, #register-embed .o--Widget--widget .o--Input--input, #login-embed .o--Widget--widget textarea, #register-embed .o--Widget--widget textarea, #login-embed .o--Widget--widget select, #register-embed .o--Widget--widget select {
  border: 1px solid var(--outseta-border) !important;
  background-color: var(--outseta-muted-surface) !important;
  color: var(--outseta-text) !important;
}

#login-embed .o--Widget--widget .o--Select--selectWrapper, #register-embed .o--Widget--widget .o--Select--selectWrapper, #login-embed
  .o--Widget--widget
  .o--PaymentInput--paymentInput, #register-embed
  .o--Widget--widget
  .o--PaymentInput--paymentInput, #login-embed
  .o--Widget--widget
  .o--PaymentInputStripe--stripe, #register-embed
  .o--Widget--widget
  .o--PaymentInputStripe--stripe, #login-embed .o--Widget--widget .StripeElement, #register-embed .o--Widget--widget .StripeElement, #login-embed .o--Widget--widget .__PrivateStripeElement, #register-embed .o--Widget--widget .__PrivateStripeElement {
  background-color: var(--outseta-muted-surface) !important;
  color: var(--outseta-text) !important;
}

#login-embed .o--Widget--widget .o--Select--selectWrapper, #register-embed .o--Widget--widget .o--Select--selectWrapper, #login-embed
  .o--Widget--widget
  .o--PaymentInputStripe--stripe, #register-embed
  .o--Widget--widget
  .o--PaymentInputStripe--stripe {
  border: 1px solid var(--outseta-border) !important;
  border-radius: var(--mantine-radius-md) !important;
}

#login-embed
  .o--Widget--widget
  .o--Input--input::-moz-placeholder {
  color: var(--outseta-dimmed) !important;
}

#login-embed
  .o--Widget--widget
  .o--Input--input::placeholder {
  color: var(--outseta-dimmed) !important;
}

#register-embed
  .o--Widget--widget
  .o--Input--input::-moz-placeholder {
  color: var(--outseta-dimmed) !important;
}

#register-embed
  .o--Widget--widget
  .o--Input--input::placeholder {
  color: var(--outseta-dimmed) !important;
}

#login-embed .o--Widget--widget textarea::-moz-placeholder {
  color: var(--outseta-dimmed) !important;
}

#login-embed .o--Widget--widget textarea::placeholder {
  color: var(--outseta-dimmed) !important;
}

#register-embed .o--Widget--widget textarea::-moz-placeholder {
  color: var(--outseta-dimmed) !important;
}

#register-embed .o--Widget--widget textarea::placeholder {
  color: var(--outseta-dimmed) !important;
}

#login-embed .o--Widget--widget .o--Separator--separator, #register-embed .o--Widget--widget .o--Separator--separator, #login-embed .o--Widget--widget .o--HrLabel--line, #register-embed .o--Widget--widget .o--HrLabel--line {
  background-color: var(--outseta-border) !important;
  border-color: var(--outseta-border) !important;
}

/* Outseta's custom checkbox hides the native <input type="checkbox"> and
   renders the visible box via .o--Checkbox--state > svg.o--Checkbox--svg
   (path has stroke="white"). On the white light-mode card the box has
   almost no contrast, so give the SVG an explicit white background + gray
   border in the unchecked state, and flip it to brand green with a visible
   white check when the native input is :checked. Dark mode is fine as-is. */
#login-embed .o--Widget--widget input[type="checkbox"], #register-embed .o--Widget--widget input[type="checkbox"] {
  accent-color: var(--mantine-color-green-6) !important;
}

[data-mantine-color-scheme="light"]
  #login-embed
  .o--Widget--widget
  .o--Checkbox--Checkbox
  .o--Checkbox--state
  svg.o--Checkbox--svg, [data-mantine-color-scheme="light"]
  #register-embed
  .o--Widget--widget
  .o--Checkbox--Checkbox
  .o--Checkbox--state
  svg.o--Checkbox--svg {
  /* Outseta keeps the checkmark SVG at opacity:0 and flips it on when
     checked. That leaves nothing visible as the "box" on our white
     light-mode card. Show the SVG always and style it as the box; the
     check path keeps stroke="white" so it's invisible on a white fill
     (empty state) and legible on a green fill (checked state). */
  opacity: 1 !important;
  background-color: #fff !important;
  border: 2px solid #495057 !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  padding: 2px !important;
}

[data-mantine-color-scheme="light"]
  #login-embed
  .o--Widget--widget
  .o--Checkbox--Checkbox:has(input:checked)
  .o--Checkbox--state
  svg.o--Checkbox--svg {
  background-color: #52b196 !important;
  border-color: #52b196 !important;
}

[data-mantine-color-scheme="light"]
  #register-embed
  .o--Widget--widget
  .o--Checkbox--Checkbox:has(input:checked)
  .o--Checkbox--state
  svg.o--Checkbox--svg {
  background-color: #52b196 !important;
  border-color: #52b196 !important;
}

[data-mantine-color-scheme="light"]
  #login-embed
  .o--Widget--widget
  .o--Checkbox--Checkbox:has(input:focus-visible)
  .o--Checkbox--state
  svg.o--Checkbox--svg {
  outline: 2px solid #76c0ab !important;
  outline-offset: 2px !important;
}

[data-mantine-color-scheme="light"]
  #register-embed
  .o--Widget--widget
  .o--Checkbox--Checkbox:has(input:focus-visible)
  .o--Checkbox--state
  svg.o--Checkbox--svg {
  outline: 2px solid #76c0ab !important;
  outline-offset: 2px !important;
}

/* Outseta's solid-style CTAs (sign-up, sign-in, etc.) inherit text colour
   from the broad `.o--Button--children` rule above, which pushes them to
   --outseta-text and reads as washed-out / disabled. Pin them to the
   brand-green fill (green-6) with true white text in both modes.

   Match by button style only. `.o--Login--login` and `.o--Register--register`
   are container class names on the widget body, not button classes — using
   them here paints the whole card green.

   The Google sign-in button is also a solid-style button but uses
   `.o--Button--buttonType-cancel` and should keep its own styling. */
#login-embed
  .o--Widget--widget
  button.o--Button--btn.o--Button--buttonStyle-solid:not(
    .o--Button--buttonType-cancel
  ), #register-embed
  .o--Widget--widget
  button.o--Button--btn.o--Button--buttonStyle-solid:not(
    .o--Button--buttonType-cancel
  ) {
  background-color: var(--mantine-color-green-6) !important;
  border-color: var(--mantine-color-green-6) !important;
  color: #fff !important;
}

#login-embed
  .o--Widget--widget
  button.o--Button--btn.o--Button--buttonStyle-solid:not(
    .o--Button--buttonType-cancel
  )
  .o--Button--children, #register-embed
  .o--Widget--widget
  button.o--Button--btn.o--Button--buttonStyle-solid:not(
    .o--Button--buttonType-cancel
  )
  .o--Button--children {
  color: #fff !important;
  opacity: 1 !important;
}
/* stylelint-enable selector-class-pattern */


/*# sourceMappingURL=app.1313f777b20804c787c8.css.map*/