@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@600;700;800&display=swap");

:root {
  --gf-blue: #0641c8;
  --gf-blue-hover: #0438ad;
  --gf-blue-soft: #eaf0ff;
  --gf-cyan: #00c2d9;
  --gf-cyan-soft: #defaff;
  --gf-orange: #fd6701;
  --gf-orange-hover: #df5700;
  --gf-orange-soft: #fff0e5;
  --gf-gold: #ffb000;
  --gf-gold-soft: #fff6d8;
  --gf-navy: #07122b;
  --gf-ink: #0b1020;
  --gf-surface: #f6faff;
  --gf-border: #c7d8f5;
  --gf-muted: #64748b;
  --gf-violet: #7a3cff;
  --gf-success: #18d071;
  --gf-gradient-tech: linear-gradient(135deg, var(--gf-blue) 0%, var(--gf-cyan) 100%);
  --gf-gradient-reward: linear-gradient(135deg, var(--gf-orange) 0%, var(--gf-gold) 100%);
  --gf-gradient-campaign: linear-gradient(135deg, var(--gf-blue) 0%, var(--gf-violet) 48%, var(--gf-orange) 100%);
  --gf-gradient-night: linear-gradient(180deg, #061b4e 0%, var(--gf-navy) 100%);
  --gf-shadow-sm: 0 8px 24px rgba(7, 18, 43, 0.08);
  --gf-shadow-md: 0 18px 48px rgba(7, 18, 43, 0.14);
  --gf-glow-cyan: 0 0 0 1px rgba(0, 194, 217, 0.32), 0 0 36px rgba(0, 194, 217, 0.24);
  --gf-duration-fast: 120ms;
  --gf-duration-base: 180ms;
  --gf-duration-slow: 280ms;
  --gf-duration-campaign: 520ms;
  --gf-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --gf-ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);

  --background: #f6faff;
  --foreground: #0b1020;
  --surface: #ffffff;
  --card: #ffffff;
  --card-foreground: #0b1020;
  --popover: #ffffff;
  --popover-foreground: #0b1020;
  --primary: #0641c8;
  --primary-foreground: #ffffff;
  --primary-soft: #eaf0ff;
  --secondary: #eaf0ff;
  --secondary-foreground: #07122b;
  --muted: #64748b;
  --muted-foreground: #64748b;
  --accent: #fd6701;
  --accent-foreground: #ffffff;
  --border: #c7d8f5;
  --input: #c7d8f5;
  --ring: #00c2d9;
  --success: #18d071;
  --radius: 1.1rem;
}

html.gf-design-system {
  background: var(--canvas);
}

html.gf-design-system body {
  background:
    radial-gradient(circle at 4% 0%, rgba(0, 194, 217, 0.08), transparent 24rem),
    var(--canvas);
  color: var(--foreground);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}

html.gf-design-system body::before {
  position: fixed;
  inset: 0 0 auto;
  z-index: 9999;
  height: 3px;
  background: var(--gf-gradient-campaign);
  content: "";
  pointer-events: none;
  transform: scaleX(max(var(--gf-scroll-progress, 0.035), 0.035));
  transform-origin: left center;
  transition: transform var(--gf-duration-fast) linear;
}

html.gf-design-system:has(.gf-public-experience) body::before,
html.gf-design-system[data-gf-path^="/p/"] body::before,
html.gf-design-system[data-gf-path*="/experiencia/rascunho"] body::before,
body:has(.gf-public-experience)::before {
  display: none !important;
  content: none !important;
  height: 0 !important;
  transform: none !important;
  background: none !important;
}

html.gf-design-system h1:not(.gf-public-experience *):not(.gf-public-experience),
html.gf-design-system h2:not(.gf-public-experience *):not(.gf-public-experience),
html.gf-design-system h3:not(.gf-public-experience *):not(.gf-public-experience),
html.gf-design-system [class*="font-heading"]:not(.gf-public-experience *) {
  color: var(--foreground);
  font-family: "Roboto Condensed", Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 850;
  letter-spacing: -0.025em;
}

html.gf-design-system button,
html.gf-design-system a,
html.gf-design-system input,
html.gf-design-system select,
html.gf-design-system textarea {
  transition:
    color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    transform 160ms ease;
}

html.gf-design-system input,
html.gf-design-system select,
html.gf-design-system textarea {
  border-color: var(--border);
  border-radius: 0.85rem;
  background: var(--surface);
  color: var(--foreground);
}

html.gf-design-system input:focus,
html.gf-design-system select:focus,
html.gf-design-system textarea:focus {
  border-color: var(--gf-blue);
  box-shadow: 0 0 0 4px rgba(0, 194, 217, 0.16);
}

html.gf-design-system button:focus-visible,
html.gf-design-system a:focus-visible,
html.gf-design-system input:focus-visible,
html.gf-design-system select:focus-visible,
html.gf-design-system textarea:focus-visible {
  outline: 3px solid var(--gf-cyan);
  outline-offset: 3px;
}

html.gf-design-system [class~="bg-primary"] {
  border-color: transparent;
  background: var(--gf-blue);
  color: white;
  box-shadow: 0 12px 30px rgba(6, 65, 200, 0.22);
}

html.gf-design-system [class~="bg-primary"]:hover {
  transform: translateY(-1px);
  background: var(--gf-blue-hover);
  filter: none;
}

html.gf-design-system [class*="bg-surface"],
html.gf-design-system [class*="bg-card"] {
  border-color: var(--border);
}

html.gf-design-system [class*="shadow"]:not(.gf-public-experience *),
html.gf-design-system [class*="rounded"][class*="border"]:not(.gf-public-experience *) {
  box-shadow: var(--gf-shadow-sm);
}

html.gf-design-system header[class*="sticky"],
html.gf-design-system header[class*="border"] {
  border-color: var(--border);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  backdrop-filter: blur(18px);
}

html.gf-design-system:not([data-gf-path^="/admin"]) a[href="/admin/login"] {
  display: none !important;
}

html.gf-design-system[data-gf-path="/entrar"] main,
html.gf-design-system[data-gf-path="/contacto"] main,
html.gf-design-system[data-gf-path^="/entrar/"] main {
  background:
    radial-gradient(circle at 12% 8%, rgba(0, 194, 217, 0.11), transparent 28rem),
    radial-gradient(circle at 92% 88%, rgba(253, 103, 1, 0.1), transparent 28rem),
    var(--canvas);
}


html.gf-design-system[data-gf-path^="/admin"] body {
  background: var(--canvas);
}

html.gf-design-system[data-gf-path^="/admin"] aside.fixed,
html.gf-design-system[data-gf-path^="/admin"] nav[class*="fixed"],
html.gf-design-system[data-gf-path^="/admin"] nav[class*="border-r"] {
  border-color: rgba(0, 194, 217, 0.16);
  background: var(--gf-gradient-night);
  color: white;
}

html.gf-design-system[data-gf-path^="/admin"] aside.fixed a,
html.gf-design-system[data-gf-path^="/admin"] nav[class*="fixed"] a,
html.gf-design-system[data-gf-path^="/admin"] nav[class*="border-r"] a {
  color: #d7e2f6;
}

html.gf-design-system[data-gf-path^="/admin"] aside.fixed a:hover,
html.gf-design-system[data-gf-path^="/admin"] aside.fixed a[aria-current="page"],
html.gf-design-system[data-gf-path^="/admin"] nav[class*="fixed"] a:hover,
html.gf-design-system[data-gf-path^="/admin"] nav[class*="border-r"] a:hover {
  background: rgba(0, 194, 217, 0.13);
  color: white;
}


html.gf-design-system[data-gf-path^="/admin"] table thead {
  background: var(--surface-muted);
  color: var(--foreground);
}

html.gf-design-system[data-gf-path^="/admin"] table tbody tr:hover {
  background: var(--surface-muted);
}

html.gf-design-system[data-gf-path^="/embaixador"] body,
html.gf-design-system[data-gf-path^="/cliente"] body,
html.gf-design-system[data-gf-path^="/empresa"] body {
  background:
    radial-gradient(circle at 4% 0%, rgba(0, 194, 217, 0.12), transparent 26rem),
    radial-gradient(circle at 96% 100%, rgba(253, 103, 1, 0.1), transparent 28rem),
    var(--canvas);
}

html.gf-design-system [role="alert"] {
  border-radius: 0.85rem;
}

@media (max-width: 767px) {
  html.gf-design-system button,
  html.gf-design-system a[role="button"] {
    min-height: 44px;
  }

  html.gf-design-system table {
    font-size: 0.78rem;
  }
}

html.gf-design-system.gf-motion-ready .gf-reveal {
  opacity: 0;
  translate: 0 22px;
  scale: 0.988;
  transition:
    opacity var(--gf-duration-slow) var(--gf-ease-standard),
    translate var(--gf-duration-slow) var(--gf-ease-emphasized),
    scale var(--gf-duration-slow) var(--gf-ease-emphasized);
  transition-delay: var(--gf-reveal-delay, 0ms);
}

html.gf-design-system.gf-motion-ready .gf-reveal.gf-reveal-campaign {
  translate: 0 30px;
  scale: 0.97;
  transition-duration: var(--gf-duration-campaign);
}

html.gf-design-system.gf-motion-ready .gf-reveal.gf-is-visible {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

html.gf-design-system .gf-interactive-surface {
  transition:
    border-color var(--gf-duration-fast) var(--gf-ease-standard),
    box-shadow var(--gf-duration-slow) var(--gf-ease-standard),
    translate var(--gf-duration-slow) var(--gf-ease-emphasized),
    scale var(--gf-duration-slow) var(--gf-ease-emphasized);
}

html.gf-design-system button:not([aria-label="Falar com o Hóu"]),
html.gf-design-system a[role="button"],
html.gf-design-system a[class*="bg-primary"] {
  transition:
    color var(--gf-duration-fast) var(--gf-ease-standard),
    background-color var(--gf-duration-fast) var(--gf-ease-standard),
    border-color var(--gf-duration-fast) var(--gf-ease-standard),
    box-shadow var(--gf-duration-base) var(--gf-ease-standard),
    translate var(--gf-duration-base) var(--gf-ease-emphasized),
    scale var(--gf-duration-base) var(--gf-ease-emphasized),
    filter var(--gf-duration-base) var(--gf-ease-standard);
}



@media (hover: hover) and (pointer: fine) {
  html.gf-design-system button:not([aria-label="Falar com o Hóu"]):hover,
  html.gf-design-system a[role="button"]:hover,
  html.gf-design-system a[class*="bg-primary"]:hover {
    translate: 0 -2px;
    scale: 1.015;
    filter: saturate(1.06);
  }

  html.gf-design-system .gf-interactive-surface:hover {
    border-color: rgba(0, 194, 217, 0.58);
    box-shadow: var(--gf-shadow-md), var(--gf-glow-cyan);
  }

  html.gf-design-system[data-gf-path^="/admin"] aside.fixed a:hover,
  html.gf-design-system[data-gf-path^="/admin"] nav[class*="fixed"] a:hover,
  html.gf-design-system[data-gf-path^="/admin"] nav[class*="border-r"] a:hover {
    translate: 4px 0;
  }
}


@media (prefers-reduced-motion: reduce) {
  html.gf-design-system *,
  html.gf-design-system *::before,
  html.gf-design-system *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html.gf-design-system.gf-motion-ready .gf-reveal {
    opacity: 1 !important;
    translate: none !important;
    scale: 1 !important;
  }

}


/* CRM compatibility: the production landing injects this stylesheet after the app styles. */
:root {
  --gf-blue: #0641c8;
  --gf-blue-hover: #0438ad;
  --gf-blue-soft: #eaf0ff;
  --gf-cyan: #00c2d9;
  --gf-cyan-soft: #defaff;
  --gf-orange: #fd6701;
  --gf-orange-hover: #df5700;
  --gf-orange-soft: #fff0e5;
  --gf-gold: #ffb000;
  --gf-gold-soft: #fff6d8;
  --gf-navy: #07122b;
  --gf-ink: #0b1020;
  --gf-surface: #f6faff;
  --gf-surface-strong: #eef4ff;
  --gf-white: #ffffff;
  --gf-border: #c7d8f5;
  --gf-muted: #64748b;
  --gf-success: #18d071;
  --gf-danger: #ef4444;
  --canvas: var(--gf-surface);
  --foreground: var(--gf-ink);
  --secondary: var(--gf-navy);
  --secondary-hover: #0e2045;
  --secondary-soft: #e8eefb;
  --primary: var(--gf-blue);
  --primary-hover: var(--gf-blue-hover);
  --primary-soft: var(--gf-blue-soft);
  --nfc: var(--gf-cyan);
  --nfc-soft: var(--gf-cyan-soft);
  --accent: var(--gf-orange);
  --accent-hover: var(--gf-orange-hover);
  --accent-soft: var(--gf-orange-soft);
  --accent-foreground: #8f3500;
  --success: var(--gf-success);
  --success-soft: #e6fbf0;
  --destructive: var(--gf-danger);
  --destructive-soft: #fff0f0;
  --border: var(--gf-border);
  --muted: var(--gf-muted);
  --surface: var(--gf-white);
  --surface-muted: var(--gf-surface-strong);
}

:root[data-theme="dark"] {
  --canvas: #050c1d;
  --surface: #0c1933;
  --surface-muted: #132548;
  --foreground: #f4f8ff;
  --muted: #9fb0cb;
  --border: #28446f;
  --primary: #0641c8;
  --primary-hover: #0b56e8;
  --primary-soft: #102b62;
  --secondary: #07122b;
  --secondary-hover: #102852;
  --secondary-soft: #172b4e;
  --nfc: #19d7e8;
  --nfc-soft: #0b3443;
  --accent: #ff7a1a;
  --accent-hover: #ff9347;
  --accent-soft: #432510;
  --accent-foreground: #ffb67f;
  --success: #29dc83;
  --success-soft: #103a2a;
  --destructive: #ff5b61;
  --destructive-soft: #441a25;
}

.text-foreground { color: var(--foreground) !important; }

.gf-scroll-progress,
#gf-scroll-progress,
[data-gf-scroll-progress],
.scroll-progress,
.scroll-progress-bar {
  display: none !important;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .bg-canvas {
  background-color: var(--canvas) !important;
  color: var(--foreground) !important;
}

html[data-theme="dark"] .bg-surface,
html[data-theme="dark"] .gf-interactive-surface.bg-surface { background-color: var(--surface) !important; }
html[data-theme="dark"] .bg-surface-muted { background-color: var(--surface-muted) !important; }
html[data-theme="dark"] .bg-primary-soft { background-color: var(--primary-soft) !important; }
html[data-theme="dark"] .bg-nfc-soft { background-color: var(--nfc-soft) !important; }
html[data-theme="dark"] .bg-accent-soft { background-color: var(--accent-soft) !important; }
html[data-theme="dark"] .bg-success-soft { background-color: var(--success-soft) !important; }
html[data-theme="dark"] .bg-destructive-soft { background-color: var(--destructive-soft) !important; }
html[data-theme="dark"] .text-foreground { color: var(--foreground) !important; }
html[data-theme="dark"] .text-muted { color: var(--muted) !important; }
html[data-theme="dark"] .border-border { border-color: var(--border) !important; }

body:has(.gf-app-shell)::before,
html.gf-design-system body:has(nav[aria-label="Navegação principal"])::before {
  display: none !important;
  content: none !important;
}

html[data-theme="dark"] .gf-topbar,
html[data-theme="dark"] header.sticky.top-0 {
  background-color: color-mix(in srgb, #0c1933 92%, transparent) !important;
  color: #f4f8ff !important;
}

html[data-theme="dark"] main h1:not(.gf-public-experience *),
html[data-theme="dark"] main h2:not(.gf-public-experience *),
html[data-theme="dark"] main h3:not(.gf-public-experience *),
html[data-theme="dark"] main h4:not(.gf-public-experience *) { color: var(--foreground) !important; }

html[data-theme="dark"] main a.gf-interactive-surface:not(.bg-primary):not(.bg-nfc):not(.bg-success):not(.bg-destructive) {
  background-color: #132548 !important;
  color: var(--foreground) !important;
}

html.gf-design-system[data-theme="light"] body .gf-badge-accent.gf-interactive-surface {
  border-color: rgb(253 103 1 / 0.35) !important;
  background-color: #fff0e5 !important;
  color: #8f3500 !important;
}
html.gf-design-system[data-theme="dark"] body .gf-badge-accent.gf-interactive-surface {
  border-color: rgb(255 122 26 / 0.45) !important;
  background-color: #432510 !important;
  color: #ffb67f !important;
}
html.gf-design-system[data-theme="light"] body .gf-badge-nfc.gf-interactive-surface {
  background-color: #defaff !important;
  color: #006b78 !important;
}
html.gf-design-system[data-theme="dark"] body .gf-badge-nfc.gf-interactive-surface {
  background-color: #0b3443 !important;
  color: #64f0ff !important;
}
html.gf-design-system[data-theme="light"] body .gf-badge-success.gf-interactive-surface {
  background-color: #e6fbf0 !important;
  color: #087a3d !important;
}
html.gf-design-system[data-theme="dark"] body .gf-badge-success.gf-interactive-surface {
  background-color: #103a2a !important;
  color: #7af2ae !important;
}
html.gf-design-system[data-theme="light"] body .gf-badge-danger.gf-interactive-surface {
  background-color: #fff0f0 !important;
  color: #b4232d !important;
}
html.gf-design-system[data-theme="dark"] body .gf-badge-danger.gf-interactive-surface {
  background-color: #441a25 !important;
  color: #ff9b9f !important;
}

/* Admin shell and dark-mode integrity. Keep the outer frame navy so the
   sidebar, topbar and rounded viewport read as one continuous product shell. */
html.gf-design-system[data-gf-path^="/admin"] {
  background-color: #07122b !important;
}

html.gf-design-system[data-gf-path^="/admin"] body {
  background-color: #07122b !important;
}

html.gf-design-system[data-gf-path^="/admin"] body > div[class*="min-h-screen"][class*="bg-secondary"] {
  min-height: 100svh;
  background-color: #07122b !important;
}

html.gf-design-system[data-gf-path^="/admin"] aside.fixed {
  border-right-color: transparent !important;
  box-shadow: none !important;
}

@media (min-width: 1024px) {
  html.gf-design-system[data-gf-path^="/admin"] header.sticky.top-0 {
    width: calc(100% + 1px);
    margin-left: -1px;
    box-shadow: none !important;
  }
}

/* The legacy injected stylesheet painted every rounded admin surface white.
   Re-map those surfaces and fractional Tailwind classes to the active theme. */

html.gf-design-system[data-theme="dark"][data-gf-path^="/admin"] main [class*="bg-surface-muted"] {
  background-color: var(--surface-muted) !important;
}

html.gf-design-system[data-theme="dark"][data-gf-path^="/admin"] main table thead {
  background-color: var(--surface-muted) !important;
  color: var(--foreground) !important;
}

html.gf-design-system[data-theme="dark"][data-gf-path^="/admin"] main :is(span, div)[class*="inline-flex"][class*="rounded-full"][class*="border"] {
  background-color: var(--surface-muted) !important;
  color: var(--foreground) !important;
}

html.gf-design-system[data-theme="dark"][data-gf-path^="/admin"] main [class*="text-success"][class*="rounded-full"] {
  border-color: rgb(41 220 131 / 0.4) !important;
  background-color: var(--success-soft) !important;
  color: #7af2ae !important;
}

html.gf-design-system[data-theme="dark"][data-gf-path^="/admin"] main [class*="text-destructive"][class*="rounded-full"] {
  border-color: rgb(255 91 97 / 0.42) !important;
  background-color: var(--destructive-soft) !important;
  color: #ff9b9f !important;
}

html.gf-design-system[data-theme="dark"][data-gf-path^="/admin"] main [class*="text-accent"][class*="rounded-full"] {
  border-color: rgb(255 122 26 / 0.45) !important;
  background-color: var(--accent-soft) !important;
  color: #ffb67f !important;
}

html.gf-design-system[data-theme="dark"][data-gf-path^="/admin"] main [class*="text-nfc"][class*="rounded-full"] {
  border-color: rgb(0 194 217 / 0.45) !important;
  background-color: var(--nfc-soft) !important;
  color: #64f0ff !important;
}

/* Public bio chrome: match bio-gui.audaces-scale.com even if the CRM bundle is stale. */
.gf-public-experience:has(.gf-public-campaign-card) > .relative.z-10,
.gf-public-bio-shell {
  width: min(100% - 32px, 680px) !important;
  max-width: 680px !important;
  margin-inline: auto !important;
  padding: 46px 0 34px !important;
}

@media (min-width: 640px) {
  .gf-public-experience:has(.gf-public-campaign-card) > .relative.z-10,
  .gf-public-bio-shell {
    padding-top: 62px !important;
  }
}

html:has(.gf-public-bio-page),
html:has(.gf-public-bio-page) body {
  background: #060807 !important;
}

html.gf-design-system .gf-public-experience h1,
html.gf-design-system .gf-public-experience h2,
html.gf-design-system .gf-public-experience h3 {
  color: inherit !important;
  font-family: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

.gf-public-experience:has(.gf-public-campaign-card) {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
}

.gf-public-profile-name {
  font-family: var(--font-gui-manrope, Manrope), Manrope, ui-sans-serif, sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  text-transform: none !important;
}

.gf-public-campaign-card {
  aspect-ratio: auto !important;
  overflow: clip !important;
  border-radius: 22px !important;
  background-color: #000 !important;
  color: #fff !important;
  box-shadow: 0 16px 46px rgb(0 0 0 / 0.34) !important;
  transform: none !important;
}

.gf-public-campaign-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
}

.gf-public-campaign-hit {
  position: absolute;
  inset: 0;
  z-index: 20;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: pointer;
}

@media (min-width: 640px) {
  .gf-public-campaign-card {
    border-radius: 28px !important;
  }
}

.gf-public-campaign-body {
  height: auto !important;
  min-height: calc(100cqi * 941 / 1672) !important;
}

.gf-public-campaign-title {
  color: #fff !important;
  font-family: var(--font-gui-bebas, "Bebas Neue"), "Bebas Neue", "Arial Narrow", sans-serif !important;
  font-size: calc(clamp(2.55rem, 11.8cqi, 5.05rem) * var(--campaign-title-scale, 1)) !important;
  font-stretch: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: calc(0.9 * var(--campaign-title-leading, 1)) !important;
  max-width: 90% !important;
  text-transform: uppercase !important;
  overflow-wrap: anywhere !important;
  text-shadow: 0 2px 22px rgb(0 0 0 / 0.42);
}

.gf-public-campaign-accent {
  color: var(--campaign-cta-bg, var(--campaign-accent, var(--experience-primary))) !important;
}

.gf-public-campaign-description {
  display: none !important;
}

.gf-public-campaign-cta {
  width: fit-content !important;
  max-width: 100% !important;
  appearance: none;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: var(--campaign-cta-bg, var(--campaign-accent, var(--experience-primary))) !important;
  color: var(--campaign-cta-fg, #fff) !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: calc(clamp(0.66rem, 1.45cqi, 0.78rem) * var(--campaign-cta-scale, 1)) !important;
  font-weight: 800 !important;
  cursor: pointer;
  pointer-events: none;
}

.gf-public-lead-modal-overlay {
  position: fixed !important;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: rgb(4 6 8 / 0.72);
  overflow: auto;
}

.gf-public-lead-modal {
  position: relative;
  width: min(100%, 34rem);
  max-height: min(92dvh, 52rem);
  overflow: auto;
  border-radius: 28px !important;
  background: #f3f0e6 !important;
  color: #171717 !important;
  font-family: Inter, ui-sans-serif, sans-serif !important;
  padding: 1.55rem 1.45rem 1.25rem;
  box-shadow: 0 28px 80px rgb(0 0 0 / 0.38) !important;
}

html.gf-design-system .gf-public-experience .gf-public-lead-modal h2,
.gf-public-lead-modal-title {
  color: #141414 !important;
  font-family: Inter, ui-sans-serif, sans-serif !important;
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

.gf-public-lead-modal-eyebrow {
  color: var(--lead-modal-accent, var(--experience-primary, #171717)) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

.gf-public-lead-modal-copy {
  color: #5c5c5c !important;
}

html[data-theme="dark"] .gf-public-lead-modal .gf-public-lead-modal-input,
html.gf-design-system .gf-public-lead-modal input:not([type="checkbox"]):not([type="radio"]),
html.gf-design-system .gf-public-lead-modal select,
html.gf-design-system .gf-public-lead-modal textarea,
.gf-public-lead-modal-input {
  min-height: 2.7rem !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #171717 !important;
  box-shadow: none !important;
}

.gf-public-lead-modal-pill input:checked + span {
  background: var(--lead-modal-accent, #171717) !important;
  color: var(--lead-modal-accent-fg, #fff) !important;
  box-shadow: 0 3px 0 color-mix(in srgb, var(--lead-modal-accent, #171717) 55%, #000);
}

.gf-public-lead-modal-submit {
  background: var(--lead-modal-accent, #171717) !important;
  color: var(--lead-modal-accent-fg, #fff) !important;
}

.gf-studio-hero,
.gf-studio-preview,
html.gf-design-system[data-gf-path^="/admin"] main .gf-studio-hero,
html.gf-design-system[data-gf-path^="/admin"] main .gf-studio-preview {
  background: #07122b !important;
  color: #fff !important;
}

html.gf-design-system[data-gf-path^="/admin"] main .gf-studio-hero h2,
html.gf-design-system[data-gf-path^="/admin"] main .gf-studio-preview h3 {
  color: #fff !important;
}

html.gf-design-system[data-gf-path^="/admin"] main .gf-studio-hero p {
  color: rgb(255 255 255 / 0.78) !important;
}

html.gf-design-system[data-gf-path^="/admin"] main .gf-studio-hero .gf-studio-step {
  background: rgb(255 255 255 / 0.08) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.gf-readable-link {
  color: var(--primary, #0641c8) !important;
}

/* Theme integrity: action states and editorial panels own their foreground. */
:root { --link-foreground: #0641c8; }
:root[data-theme="dark"] { --link-foreground: #91b7ff; }
html[data-theme] [role="tab"][data-state="active"] {
  background: var(--primary) !important;
  color: #fff !important;
}
html[data-theme] :is(.gf-readable-link, .gf-button-brand.text-primary),
html[data-theme] a.text-primary:not(.bg-primary) {
  color: var(--link-foreground) !important;
}
/* The Studio's right-hand aside is content, not navigation. */
html.gf-design-system[data-gf-path^="/admin"] main aside:not(.fixed) {
  background: transparent;
  color: var(--foreground);
  box-shadow: none;
}
html[data-theme] .gf-studio-hero,
html[data-theme] .gf-studio-preview {
  --foreground: #f4f8ff;
  --muted: #bcc9df;
  --border: #324665;
  --link-foreground: #aac8ff;
  background: #07122b !important;
  color: var(--foreground) !important;
}
html[data-theme] :is(.gf-studio-hero, .gf-studio-preview) :is(h2, h3, .text-foreground) {
  color: var(--foreground) !important;
}
html[data-theme] :is(.gf-studio-hero, .gf-studio-preview) .text-muted {
  color: var(--muted) !important;
}
html[data-theme] .gf-studio-preview > div { border-color: #324665; }

/* Semantic status text stays readable without changing brand fills or bios. */
html[data-theme] .text-primary:not(.bg-white):not(.gf-public-experience *):not(.bg-primary) {
  color: var(--link-foreground) !important;
}
html[data-theme="light"] .text-success:not(.gf-public-experience *) { color: #087a3d; }
html[data-theme="light"] .text-nfc:not(.gf-public-experience *) { color: #006b78; }
html[data-theme="light"] .text-accent:not(.gf-public-experience *) { color: #8f3500; }
html[data-theme="light"] .text-destructive:not(.gf-public-experience *) { color: #b4232d; }
html[data-theme="dark"] .text-success:not(.gf-public-experience *) { color: #7af2ae; }
html[data-theme="dark"] .text-nfc:not(.gf-public-experience *) { color: #64f0ff; }
html[data-theme="dark"] .text-accent:not(.gf-public-experience *) { color: #ffb67f; }
html[data-theme="dark"] .text-destructive:not(.gf-public-experience *) { color: #ff9b9f; }

/* Navigation is a dark surface in both themes, independent of page links. */
html[data-theme] nav[aria-label="Navegação móvel"] {
  --link-foreground: #64f0ff;
  --muted: #c3d1e8;
  background: #07122b !important;
  color: #c3d1e8;
}
html[data-theme] nav[aria-label="Navegação móvel"] a[data-active="true"],
html[data-theme] nav[aria-label="Navegação móvel"] a:hover {
  color: #64f0ff !important;
}
html[data-theme] nav[aria-label="Navegação móvel"] a[data-active="false"] {
  color: #c3d1e8 !important;
}

/* Filled danger actions need white-on-dark-red, not white-on-coral. */
html[data-theme] .bg-destructive.text-white:not(.gf-public-experience *) {
  background-color: #b4232d !important;
  color: #fff !important;
}
html[data-theme] .bg-destructive.text-white:not(.gf-public-experience *):hover {
  background-color: #961b24 !important;
}

/* Keep field labels above full-width controls, including native selects. */
.gf-public-lead-modal-field {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
}

.gf-public-lead-modal-field > * {
  margin-block: 0;
  min-width: 0;
}

.gf-public-lead-modal-field > .gf-public-lead-modal-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

.gf-public-lead-modal-field > select.gf-public-lead-modal-input {
  padding: 0.75rem 2.5rem 0.75rem 0.875rem;
}

.gf-public-lead-modal-pills:has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Keep public bio scrolling bounded by its painted page, including WebKit. */
html:has(.gf-public-bio-page),
html:has(.gf-public-bio-page) body {
  overscroll-behavior-y: none;
}

[data-experience-motion]:has(> .gf-public-bio-page) {
  display: flow-root;
}

.gf-public-bio-page {
  overflow: hidden;
}

.gf-public-bio-page > [aria-hidden="true"][class~="-bottom-28"] {
  bottom: 0;
  right: 0;
}
