:root {
  color-scheme: light;
  --ff-theme-bg: #f8f9fa;
  --ff-theme-bg-soft: #f3f6f4;
  --ff-theme-surface: #ffffff;
  --ff-theme-surface-soft: #f8fafc;
  --ff-theme-surface-muted: #f1f5f9;
  --ff-theme-border: #dfe6e1;
  --ff-theme-border-soft: #e2e8f0;
  --ff-theme-text: #102a1e;
  --ff-theme-text-strong: #0f172a;
  --ff-theme-muted: #526076;
  --ff-theme-muted-2: #66716b;
  --ff-theme-primary: #1b4332;
  --ff-theme-primary-strong: #012d1d;
  --ff-theme-primary-soft: #e5f5ed;
  --ff-chart-revenue: #1b4332;
  --ff-brand-color: #1b4332;
  --ff-action: #1b4332;
  --ff-action-strong: #012d1d;
  --ff-action-surface: #e5f5ed;
  --ff-action-surface-hover: #c1ecd4;
  --ff-on-action: #ffffff;
  --ff-on-action-surface: #012d1d;
  --ff-app-danger: #e11d48;
  --ff-app-danger-strong: #be123c;
  --ff-app-danger-surface: #ffe5e9;
  --ff-app-danger-border: #fb7185;
  --ff-on-dark: #ffffff;
  --ff-on-dark-muted: #e0e9e4;
  --ff-theme-shadow: 0 18px 44px rgba(27, 67, 50, 0.12);
  --ff-theme-focus: rgba(27, 67, 50, 0.42);
  --mkt-bg: #f8f9fa;
  --mkt-surface: #ffffff;
  --mkt-soft: #eef3f1;
  --mkt-line: #dfe6e1;
  --mkt-line-strong: #c1c8c2;
  --mkt-ink: #191c1d;
  --mkt-muted: #414844;
}

/* Shared responsive page-heading pattern for existing guided tours. It keeps
   the original DOM and event wiring while reserving stable header slots. */
.ff-mobile-tour-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  column-gap: .75rem;
  row-gap: .5rem;
  min-width: 0;
}

.ff-mobile-tour-header .ff-mobile-tour-copy,
.ff-mobile-tour-header .ff-mobile-tour-actions {
  display: contents !important;
}

.ff-mobile-tour-header > h2,
.ff-mobile-tour-header .ff-mobile-tour-copy > h2 {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.ff-mobile-tour-header > p,
.ff-mobile-tour-header .ff-mobile-tour-copy > p {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  margin-top: 0 !important;
}

.ff-mobile-tour-header .ff-mobile-tour-trigger {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  margin-top: 0 !important;
  white-space: nowrap;
}

.ff-mobile-tour-header #periodFilterControls,
.ff-mobile-tour-header #personalPeriodFilterForm {
  grid-column: 3;
  grid-row: 1;
  max-width: 100%;
}

/* Below the desktop content width, filters get their own row. This protects
   titles and controls when an iPad is split, rotated, or browser zoom changes. */
@media (max-width: 1279px) {
  .ff-mobile-tour-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ff-mobile-tour-header > p,
  .ff-mobile-tour-header .ff-mobile-tour-copy > p {
    grid-column: 1 / -1;
  }

  .ff-mobile-tour-header #periodFilterControls,
  .ff-mobile-tour-header #personalPeriodFilterForm {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}

@media (max-width: 639px) {
  .ff-mobile-tour-header .ff-mobile-tour-trigger {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    min-width: 44px !important;
    min-height: 44px !important;
    gap: 8px !important;
    margin-top: 0 !important;
    padding: 0 12px !important;
    font-size: 14px !important;
  }

  .ff-mobile-tour-header .ff-mobile-tour-trigger .material-symbols-rounded,
  .ff-mobile-tour-header .ff-mobile-tour-trigger .material-symbols-outlined {
    width: 26px !important;
    height: 26px !important;
    font-size: 18px !important;
  }
}

/* The FazendaFinance mark is one color in every shell, regardless of the
   header/footer variant or viewport. */
:is(.mkt-brand, .mkt-brand__icon, .ff-public-brand, .ff-public-brand-name,
  .ff-public-brand-icon, .ff-checkout-brand, .ff-footer-brand,
  .ff-auth-mini-brand, .ff-auth-mobile-brand, .ff-auth-brand-block > a,
  .ff-auth-brand-block > a .material-symbols-outlined,
  .mkt-brand .material-symbols-outlined,
  .ff-public-brand .material-symbols-outlined,
  .ff-checkout-brand .material-symbols-outlined,
  .ff-footer-brand .material-symbols-outlined,
  .ff-auth-mini-brand .material-symbols-outlined,
  .ff-auth-mobile-brand .material-symbols-outlined) {
  color: var(--ff-brand-color) !important;
}

/* One danger palette across authenticated app screens. */
body.ff-has-mobile-nav :is(.text-rose-600, .text-rose-700, .text-rose-800,
  .text-rose-900, .text-rose-950, .text-red-700, .text-red-800, .text-danger) {
  color: var(--ff-app-danger) !important;
}

body.ff-has-mobile-nav :is(.bg-rose-50, .bg-rose-100) {
  background-color: var(--ff-app-danger-surface) !important;
  color: var(--ff-app-danger) !important;
}

body.ff-has-mobile-nav :is(.border-rose-100, .border-rose-200, .border-rose-300) {
  border-color: var(--ff-app-danger-border) !important;
}

body.ff-has-mobile-nav :is(.bg-rose-500, .bg-rose-600, .bg-rose-700,
  .bg-rose-800, .bg-red-400, .bg-danger) {
  background-color: var(--ff-app-danger-strong) !important;
}

body.ff-has-mobile-nav :is(.ring-rose-500, .ring-rose-700) {
  --tw-ring-color: var(--ff-app-danger) !important;
}

body.ff-has-mobile-nav .hover\:bg-rose-50:hover,
body.ff-has-mobile-nav .hover\:bg-rose-100:hover {
  background-color: var(--ff-app-danger-surface) !important;
}

/* Shared registration controls: the same hierarchy in both themes. */
.ff-register-back,
.ff-register-next {
  min-height: 50px;
  border-radius: 8px;
  padding-inline: 20px;
  font-weight: 850;
}

.ff-register-back {
  background: #ffffff;
  border: 1px solid #1b4332;
  color: #012d1d;
}

.ff-register-back:hover,
.ff-register-back:focus-visible {
  background: #e5f5ed;
  border-color: #012d1d;
  color: #012d1d;
}

.ff-register-next {
  background: #1b4332;
  border: 1px solid #1b4332;
  color: #ffffff;
}

.ff-register-next:hover,
.ff-register-next:focus-visible {
  background: #012d1d;
  border-color: #012d1d;
  color: #ffffff;
}

.ff-register-plan-option:has(input[name="plan_id"]:checked),
.ff-register-plan-option.is-selected {
  border: 2px solid #1b4332;
  box-shadow: 0 0 0 3px rgba(27, 67, 50, .12), 0 14px 28px rgba(1, 45, 29, .14);
}

.ff-register-plan-option:has(input[name="plan_id"]:checked)::after,
.ff-register-plan-option.is-selected::after {
  content: "Selecionado";
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  color: #1b4332;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* The selected plan badge must remain readable on both plan-card surfaces. */
[data-manage-selected-badge] {
  background: var(--ff-action-surface) !important;
  border: 1px solid var(--ff-action) !important;
  color: var(--ff-on-action-surface) !important;
}

/* One visual trigger for every guided tour. The suffix is shared by the
   existing buttons, so this does not change their behavior or event wiring. */
:is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]) {
  min-height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #1b4332 !important;
  padding: 0 20px !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

:is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]) .material-symbols-rounded,
:is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]) .material-symbols-outlined {
  width: 32px !important;
  height: 32px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: #1b4332 !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-variation-settings: "FILL" 1, "wght" 650, "GRAD" 0, "opsz" 24 !important;
}

:is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]):hover,
:is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]):focus-visible {
  background: #e5f5ed !important;
  border-color: #cbd5e1 !important;
  color: #012d1d !important;
  box-shadow: none !important;
}

:is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]):focus-visible {
  outline: 2px solid #1b4332 !important;
  outline-offset: 3px;
}

@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --ff-theme-bg: #000000;
    --ff-theme-bg-soft: #050505;
    --ff-theme-surface: #0b0b0b;
    --ff-theme-surface-soft: #141414;
    --ff-theme-surface-muted: #1f1f1f;
    --ff-theme-border: rgba(255, 255, 255, 0.24);
    --ff-theme-border-soft: rgba(255, 255, 255, 0.16);
    --ff-theme-text: #f5f5f5;
    --ff-theme-text-strong: #ffffff;
    --ff-theme-muted: #e7e7e7;
    --ff-theme-muted-2: #cccccc;
    --ff-theme-primary: #5ee69a;
    --ff-chart-revenue: #5ee69a;
    --ff-brand-color: #5ee69a;
    --ff-action: #5ee69a;
    --ff-action-strong: #1a5b3a;
    --ff-action-surface: #e2f7ea;
    --ff-action-surface-hover: #bdf5d3;
    --ff-on-action: #071f14;
    --ff-on-action-surface: #0b2e1e;
    --ff-app-danger: #ff5c6c;
    --ff-app-danger-strong: #ff3d52;
    --ff-app-danger-surface: rgba(255, 76, 94, 0.24);
    --ff-app-danger-border: #ff7b88;
    --ff-on-dark: #ffffff;
    --ff-on-dark-muted: #e0e9e4;
    --ff-theme-primary-strong: #9af5bd;
    --ff-theme-primary-soft: rgba(20, 166, 90, 0.32);
    --ff-theme-shadow: 0 18px 44px rgba(0, 0, 0, 0.34);
    --ff-theme-focus: rgba(94, 230, 154, 0.72);
    --mkt-bg: #000000;
    --mkt-surface: #0b0b0b;
    --mkt-soft: #141414;
    --mkt-line: rgba(255, 255, 255, 0.16);
    --mkt-line-strong: rgba(255, 255, 255, 0.22);
    --mkt-ink: #ffffff;
    --mkt-muted: #dedede;
    --mkt-primary: var(--ff-action);
    --mkt-primary-2: var(--ff-action);
    --ff-bg: #000000;
    --ff-border: rgba(255, 255, 255, 0.16);
    --ff-text: #f5f5f5;
    --ff-muted: #e7e7e7;
  }

  html,
  body {
    background: var(--ff-theme-bg);
    color: var(--ff-theme-text);
  }

  body {
    background:
      radial-gradient(circle at 90% -10%, rgba(94, 230, 154, 0.08), transparent 30%),
      radial-gradient(circle at -10% 100%, rgba(255, 255, 255, 0.05), transparent 28%),
      var(--ff-theme-bg) !important;
  }

  :where(a, button, input, select, textarea, summary, [role='button']):focus-visible {
    outline-color: var(--ff-theme-focus) !important;
  }

  :where(input, select, textarea) {
    background-color: var(--ff-theme-surface-soft);
    color: var(--ff-theme-text-strong);
    border-color: var(--ff-theme-border) !important;
    caret-color: var(--ff-theme-primary);
  }

  :where(input, select, textarea)::placeholder {
    color: #b8b8b8;
    opacity: 1;
  }

  input[type="checkbox"],
  input[type="radio"] {
    accent-color: #5ee69a;
  }

  :where(input, select, textarea):disabled,
  :where(input, select, textarea)[readonly] {
    background-color: #101010 !important;
    color: #c7c7c7 !important;
    opacity: 1;
  }

  input:-webkit-autofill,
  input:-webkit-autofill:hover,
  input:-webkit-autofill:focus,
  textarea:-webkit-autofill,
  select:-webkit-autofill {
    -webkit-text-fill-color: var(--ff-theme-text-strong) !important;
    box-shadow: 0 0 0 1000px #101010 inset !important;
    caret-color: var(--ff-theme-primary);
    transition: background-color 9999s ease-out 0s;
  }

  .bg-background,
  .bg-surface-container-lowest,
  .bg-white,
  .bg-white\/70,
  .bg-white\/80,
  .bg-white\/90,
  .bg-white\/95 {
    background-color: var(--ff-theme-surface) !important;
  }

  .bg-surface-container-low,
  .bg-slate-50,
  .bg-slate-50\/70,
  .bg-slate-100,
  .bg-slate-200,
  .bg-slate-300,
  .bg-\[\#f8f9fa\],
  .bg-\[\#F8F9FA\] {
    background-color: var(--ff-theme-surface-soft) !important;
  }

  .bg-slate-50\/50,
  .bg-slate-100\/50,
  .bg-white\/50,
  .bg-white\/60 {
    background-color: rgba(20, 20, 20, 0.84) !important;
  }

  .from-white {
    --tw-gradient-from: var(--ff-theme-surface) var(--tw-gradient-from-position) !important;
    --tw-gradient-to: rgba(11, 11, 11, 0) var(--tw-gradient-to-position) !important;
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
  }

  .to-slate-50,
  .to-slate-100 {
    --tw-gradient-to: var(--ff-theme-surface-soft) var(--tw-gradient-to-position) !important;
  }

  .border-slate-100,
  .border-slate-200,
  .border-slate-300,
  .border-outline-variant,
  .border-\[\#dfe6e1\] {
    border-color: var(--ff-theme-border) !important;
  }

  .text-on-surface,
  .text-slate-900,
  .text-slate-950,
  .text-slate-800,
  .text-\[\#102A1E\],
  .text-\[\#191c1d\],
  h1,
  h2,
  h3,
  h4 {
    color: var(--ff-theme-text-strong) !important;
  }

  .text-on-surface-variant,
  .text-slate-500,
  .text-slate-600,
  .text-slate-700,
  .text-slate-400,
  .text-\[\#53605a\],
  .text-\[\#414844\],
  .text-\[\#7a817d\],
  p {
    color: var(--ff-theme-muted) !important;
  }

  .placeholder\:text-slate-400::placeholder,
  .placeholder\:text-slate-500::placeholder {
    color: #b8b8b8 !important;
    opacity: 1;
  }

  .text-primary,
  .text-primary-container,
  .text-forest,
  .text-emerald-900,
  .hover\:text-forest:hover,
  .hover\:text-primary-container:hover,
  .hover\:text-emerald-900:hover {
    color: var(--ff-theme-primary) !important;
  }

  .text-emerald-700,
  .text-emerald-800,
  .text-emerald-950,
  .text-green-700,
  .text-green-800 {
    color: #72f1aa !important;
  }

  .text-rose-700,
  .text-rose-800,
  .text-red-700,
  .text-red-800 {
    color: #ff8b98 !important;
  }

  .text-amber-700,
  .text-amber-800,
  .text-amber-950,
  .text-yellow-700,
  .text-yellow-800 {
    color: #ffd166 !important;
  }

  .text-blue-700,
  .text-blue-800,
  .text-blue-900,
  .text-sky-700,
  .text-sky-800 {
    color: #79ccff !important;
  }

  .text-white,
  .text-white\/80,
  .text-white\/85 {
    color: #ffffff !important;
  }

  .bg-primary,
  .bg-primary-container,
  .bg-forest,
  .bg-\[\#1B4332\] {
    background-color: #1b4332 !important;
    color: #ffffff !important;
  }

  .hover\:bg-slate-50:hover,
  .hover\:bg-slate-100:hover,
  .hover\:bg-emerald-50:hover,
  .hover\:bg-emerald-100:hover {
    background-color: var(--ff-theme-surface-muted) !important;
  }

  .bg-emerald-50,
  .bg-emerald-50\/50,
  .bg-emerald-100 {
    background-color: rgba(16, 185, 129, 0.25) !important;
    color: #72f1aa !important;
  }

  .bg-rose-50,
  .bg-rose-100 {
    background-color: rgba(244, 63, 94, 0.24) !important;
    color: #ff8b98 !important;
  }

  .bg-amber-50,
  .bg-yellow-50 {
    background-color: rgba(245, 158, 11, 0.24) !important;
    color: #ffd166 !important;
  }

  .bg-sky-50,
  .bg-sky-100,
  .bg-blue-50 {
    background-color: rgba(14, 165, 233, 0.24) !important;
    color: #79ccff !important;
  }

  .shadow,
  .shadow-sm,
  .shadow-md,
  .shadow-lg,
  .shadow-soft {
    box-shadow: var(--ff-theme-shadow) !important;
  }

  .backdrop-blur-lg,
  .backdrop-blur-md {
    background-color: rgba(0, 0, 0, 0.88) !important;
  }

  .ff-auth-sidebar,
  .ff-mobile-nav,
  .ff-modal-card,
  .ff-confirm-modal-card,
  .ff-auth-user-card,
  .ff-auth-mobile-account-menu,
  .ff-machine-card,
  .panel,
  .metric-card,
  .mkt-card,
  .ff-plan-card,
  .news-card,
  .news-feature,
  .news-sidebar-card {
    background-color: var(--ff-theme-surface) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-text);
  }

  .ff-mobile-nav .ff-mobile-nav-item:not([aria-current='page']),
  .ff-auth-mobile-account-trigger,
  .machine-row-action,
  .btn,
  .mkt-btn--ghost {
    background-color: var(--ff-theme-surface-soft) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-text) !important;
  }

  :where(button, .btn, [type='button'], [type='submit']):disabled,
  :where(button, .btn, [type='button'], [type='submit'])[aria-disabled='true'] {
    background-color: #1a1a1a !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    color: #b8b8b8 !important;
    opacity: 1 !important;
  }

  .ff-auth-mobile-account-link:hover,
  .ff-auth-mobile-account-link:focus-visible,
  .ff-auth-mobile-account-link.is-active {
    background-color: transparent !important;
    color: var(--ff-theme-primary) !important;
  }

  .ff-auth-mobile-account-link {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--ff-theme-text) !important;
  }

  table,
  .table-wrap {
    background-color: var(--ff-theme-surface) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-text);
  }

  th,
  td {
    border-color: var(--ff-theme-border-soft) !important;
  }

  tr:hover,
  tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.06);
  }

  .ff-sim-info-trigger {
    color: #9eb0a7;
  }

  .ff-sim-info-trigger:hover,
  .ff-sim-info-trigger:focus-visible,
  .ff-sim-info-trigger.is-active {
    color: var(--ff-theme-primary);
    background: rgba(94, 230, 154, 0.22);
  }

  #chartTooltip,
  #personalInfoTooltip,
  [role='tooltip'] {
    background: #f5fbf8 !important;
    color: #0b0b0b !important;
    border: 1px solid rgba(94, 230, 154, 0.52);
  }

  svg [stroke="#E2E8F0"],
  svg [stroke="#e2e8f0"],
  svg [stroke="#CBD5E1"],
  svg [stroke="#cbd5e1"] {
    stroke: rgba(255, 255, 255, 0.28) !important;
  }

  svg [stroke="#FFFFFF"],
  svg [stroke="#ffffff"] {
    stroke: #0b0b0b !important;
  }

  svg text,
  .chart-label,
  .chart-axis-label {
    fill: var(--ff-theme-muted) !important;
    color: var(--ff-theme-muted) !important;
  }

  .mkt-header,
  .ff-public-header,
  .ff-checkout-header,
  .ff-auth-mini-header {
    background: rgba(0, 0, 0, 0.90) !important;
    border-color: var(--ff-theme-border) !important;
  }

  .mkt-nav a,
  .ff-public-main-nav a,
  .ff-checkout-nav a,
  .ff-auth-mini-back,
  .mkt-btn--ghost {
    color: var(--ff-theme-muted) !important;
  }

  .mkt-nav a:hover,
  .mkt-nav a.is-active,
  .ff-public-main-nav a:hover,
  .ff-public-main-nav a.is-active,
  .ff-checkout-nav a:hover,
  .ff-checkout-nav a.is-active {
    color: var(--ff-theme-primary) !important;
    background: rgba(94, 230, 154, 0.18) !important;
  }

  .mkt-brand,
  .mkt-brand__icon,
  .ff-public-brand,
  .ff-public-brand-name,
  .ff-public-brand-icon,
  .ff-checkout-brand,
  .ff-footer-brand,
  .ff-auth-mini-brand {
    color: var(--ff-theme-primary) !important;
  }

  .mkt-footer,
  .ff-footer,
  .ff-footer-app,
  .ff-auth-mini-footer,
  .ff-checkout-footer {
    background: #000000 !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-muted) !important;
  }

  .mkt-footer nav a,
  .mkt-footer p,
  .ff-footer .foot-links a,
  .ff-footer p,
  .ff-footer-app nav a,
  .ff-footer-app p,
  .ff-auth-mini-footer a,
  .ff-auth-mini-footer p {
    color: var(--ff-on-dark-muted) !important;
  }

  .mkt-footer nav a:hover,
  .ff-footer .foot-links a:hover,
  .ff-footer-app nav a:hover,
  .ff-auth-mini-footer a:hover {
    color: var(--ff-theme-primary) !important;
  }

  .ff-auth-mini-back {
    background: #171717 !important;
    border-color: rgba(94, 230, 154, 0.58) !important;
    color: #ffffff !important;
    box-shadow: none !important;
  }

  .ff-auth-mini-back .material-symbols-outlined {
    color: var(--ff-theme-primary) !important;
  }

  .ff-auth-mini-back:hover,
  .ff-auth-mini-back:focus-visible {
    background: #223a2d !important;
    border-color: var(--ff-theme-primary) !important;
    color: #ffffff !important;
  }

  :is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]) {
    background: #111111 !important;
    border: 1px solid rgba(255, 255, 255, .30) !important;
    color: #5ee69a !important;
    box-shadow: none !important;
  }

  :is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]) .material-symbols-rounded,
  :is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]) .material-symbols-outlined {
    background: #5ee69a !important;
    color: #07170f !important;
  }

  :is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]):hover,
  :is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]):focus-visible {
    background: #1a3326 !important;
    border-color: #5ee69a !important;
    color: #9af5bd !important;
    box-shadow: none !important;
  }

  :is(.ff-tour-trigger, [id$="TourStartBtn"], button[aria-controls$="TourDialog"]):focus-visible {
    outline-color: #5ee69a !important;
  }

  .home-hero,
  .home-section,
  .home-section--soft,
  .section,
  .section--soft,
  .public-pricing-main,
  .news-list-page,
  .news-detail-page,
  .feature-detail-page {
    background-color: var(--ff-theme-bg) !important;
  }

  .home-hero,
  .home-section--soft {
    background:
      radial-gradient(circle at 72% 18%, rgba(94, 230, 154, 0.08), transparent 28%),
      linear-gradient(180deg, #000000 0%, #050505 100%) !important;
  }

  .home-hero__trust {
    color: var(--ff-on-dark-muted) !important;
  }

  .home-hero__trust .material-symbols-outlined,
  .dimension-arrow,
  .dimension-labels span:last-child,
  .quote-card cite,
  .founder-quote__author cite,
  .founder-quote__author strong {
    color: var(--ff-theme-primary) !important;
  }

  .mkt-btn--soft {
    background: var(--ff-action-surface) !important;
    border-color: var(--ff-action-surface) !important;
    color: var(--ff-on-action-surface) !important;
  }

  .mkt-btn--soft:hover,
  .mkt-btn--soft:focus-visible {
    background: var(--ff-action-surface-hover) !important;
    border-color: var(--ff-action-surface-hover) !important;
    color: var(--ff-on-action) !important;
  }

  .eyebrow {
    background: var(--ff-action-strong) !important;
    border-color: var(--ff-action) !important;
    color: var(--ff-on-dark-muted) !important;
  }

  .eyebrow .material-symbols-outlined {
    color: var(--ff-action) !important;
  }

  .legacy-secure-card {
    background: var(--ff-action-strong) !important;
    border-color: var(--ff-action) !important;
  }

  .legacy-secure-card span:first-child,
  .legacy-secure-card strong,
  .legacy-secure-card > .material-symbols-outlined {
    color: var(--ff-on-dark) !important;
  }

  .ff-plan-badge.popular {
    background: var(--ff-action-strong) !important;
    border-color: var(--ff-action) !important;
    color: var(--ff-on-dark-muted) !important;
  }

  .plan-save-badge {
    background: var(--ff-action-surface) !important;
    border: 1px solid var(--ff-action) !important;
    color: var(--ff-on-action-surface) !important;
  }

  .quote-card cite span,
  .founder-quote__author span {
    color: var(--ff-on-dark-muted) !important;
  }

  .mkt-card,
  .strategy-card,
  .dimension-card,
  .legacy-mini-card,
  .legacy-visual,
  .messy-papers span,
  .quote-card,
  .founder-quote,
  .legal-sidebar,
  .legal-card,
  .support-tips,
  .plans-shell,
  .plan-card,
  .ff-plan-card,
  .plans-carousel__btn,
  .flow-step,
  .faq-list details,
  .newsletter-form--light,
  .product-preview,
  .news-card,
  .news-feature,
  .news-featured-card,
  .news-side-card,
  .news-related-item,
  .newsletter-card {
    background-color: var(--ff-theme-surface) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-text);
  }

  .ff-plan-card__price-panel {
    background: #161616 !important;
    border-color: rgba(255, 255, 255, .24) !important;
  }

  .ff-plan-card.is-highlighted .ff-plan-card__price-panel {
    background: #123b27 !important;
    border-color: #5ee69a !important;
  }

  .ff-plan-card__title,
  .ff-plan-card__cycle,
  .ff-plan-card__billing,
  .ff-plan-card__feature {
    color: var(--ff-theme-text-strong) !important;
  }

  .ff-plan-card__description {
    color: var(--ff-theme-muted) !important;
  }

  .ff-plan-card__price-line,
  .ff-plan-card__currency,
  .ff-plan-card__feature-icon,
  .ff-plan-card.is-highlighted .ff-plan-card__title {
    color: var(--ff-theme-primary) !important;
  }

  .ff-plan-card__cta--secondary {
    background: #171717 !important;
    border-color: rgba(94, 230, 154, .58) !important;
    color: var(--ff-theme-primary) !important;
  }

  .ff-plan-card__cta--secondary:hover,
  .ff-plan-card__cta--secondary:focus-visible {
    background: #223a2d !important;
    border-color: var(--ff-theme-primary) !important;
    color: #ffffff !important;
  }

  /* Registration has its own compact plan selector. Keep selection obvious without
     relying on color alone, and give both navigation buttons the same visual weight. */
  .ff-register-plan-option {
    background: #141414 !important;
    border-color: rgba(255, 255, 255, .26) !important;
    color: #ffffff !important;
  }

  .ff-register-plan-option:has(input[name="plan_id"]:checked),
  .ff-register-plan-option.is-selected {
    background: #123b27 !important;
    border: 2px solid #5ee69a !important;
    box-shadow: 0 0 0 3px rgba(94, 230, 154, .16), 0 14px 28px rgba(0, 0, 0, .28) !important;
  }

  .ff-register-plan-option:has(input[name="plan_id"]:checked)::after,
  .ff-register-plan-option.is-selected::after {
    content: "Selecionado";
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    color: #9af5bd;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .ff-register-plan-option:has(input[name="plan_id"]:checked) p,
  .ff-register-plan-option:has(input[name="plan_id"]:checked) span,
  .ff-register-plan-option.is-selected p,
  .ff-register-plan-option.is-selected span {
    color: #ffffff !important;
  }

  .ff-register-plan-option:has(input[name="plan_id"]:checked) [data-plan-price-cycle],
  .ff-register-plan-option.is-selected [data-plan-price-cycle] {
    color: #9af5bd !important;
  }

  .ff-register-summary {
    background: #101010 !important;
    border-color: #5ee69a !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .28) !important;
  }

  .ff-register-summary p,
  .ff-register-summary li,
  .ff-register-summary span {
    color: var(--ff-theme-muted) !important;
  }

  .ff-register-summary strong,
  .ff-register-summary h3,
  .ff-register-summary .material-symbols-outlined {
    color: var(--ff-theme-primary) !important;
  }

  .ff-register-summary #registerSummaryPlanName,
  .ff-register-summary #registerSummaryPlanPrice {
    color: #ffffff !important;
  }

  .ff-register-summary #registerSummaryPlanCycle {
    color: #9af5bd !important;
  }

  [data-manage-selected-badge] {
    background: var(--ff-action-surface) !important;
    border-color: var(--ff-action) !important;
    color: var(--ff-on-action-surface) !important;
  }

  [data-manage-selected-action] {
    background: #1a5b3a !important;
    border-color: #5ee69a !important;
    color: #ffffff !important;
    opacity: 1 !important;
  }

  .ff-register-back,
  .ff-register-next {
    min-height: 50px !important;
    border-radius: 8px !important;
    font-weight: 850 !important;
  }

  .ff-register-back {
    background: #171717 !important;
    border: 1px solid #5ee69a !important;
    color: #ffffff !important;
  }

  .ff-register-back:hover,
  .ff-register-back:focus-visible {
    background: #223a2d !important;
    color: #ffffff !important;
  }

  .ff-register-next {
    background: #1b6f45 !important;
    border-color: #5ee69a !important;
    color: #ffffff !important;
  }

  .ff-register-next:hover,
  .ff-register-next:focus-visible {
    background: #238655 !important;
    color: #ffffff !important;
  }

  .plans-carousel__btn {
    background: #171717 !important;
    border-color: rgba(255, 255, 255, .28) !important;
    color: #ffffff !important;
  }

  .plans-carousel__btn:hover,
  .plans-carousel__btn:focus-visible {
    background: #223a2d !important;
    border-color: var(--ff-theme-primary) !important;
    color: var(--ff-theme-primary) !important;
  }

  .support-form label {
    color: var(--ff-theme-text-strong) !important;
  }

  .support-form input,
  .support-form textarea,
  .support-form select {
    background-color: #141414 !important;
    border-color: rgba(255, 255, 255, .26) !important;
    color: #ffffff !important;
    caret-color: var(--ff-theme-primary) !important;
  }

  .support-form input::placeholder,
  .support-form textarea::placeholder {
    color: #cfcfcf !important;
    opacity: 1;
  }

  .support-form select {
    background-image:
      linear-gradient(45deg, transparent 50%, var(--ff-theme-primary) 50%),
      linear-gradient(135deg, var(--ff-theme-primary) 50%, transparent 50%) !important;
  }

  .support-form input:focus,
  .support-form textarea:focus,
  .support-form select:focus {
    outline-color: rgba(94, 230, 154, .58) !important;
    border-color: var(--ff-theme-primary) !important;
    box-shadow: 0 0 0 3px rgba(94, 230, 154, .20) !important;
  }

  .legacy-visual__photo {
    background-image:
      linear-gradient(135deg, rgba(0, 0, 0, .76), rgba(11, 11, 11, .22)),
      url("/assets/img/public/originals/ff-home-hero-banner-1024.jpg") !important;
    background-image:
      linear-gradient(135deg, rgba(0, 0, 0, .76), rgba(11, 11, 11, .22)),
      -webkit-image-set(
        url("/assets/img/public/originals/ff-home-hero-banner-1024.webp") 1x,
        url("/assets/img/public/originals/ff-home-hero-banner-1536.webp") 2x
      ) !important;
    background-image:
      linear-gradient(135deg, rgba(0, 0, 0, .76), rgba(11, 11, 11, .22)),
      image-set(
        url("/assets/img/public/originals/ff-home-hero-banner-1024.webp") type("image/webp") 1x,
        url("/assets/img/public/originals/ff-home-hero-banner-1536.webp") type("image/webp") 2x
      ) !important;
  }

  .security-strip,
  .legal-page,
  .news-hero,
  .news-list-section {
    background-color: var(--ff-theme-bg) !important;
  }

  .legacy-mini-card span:first-child,
  .legacy-secure-card span:first-child,
  .dimension-labels,
  .strategy-card__top span,
  .strategy-card p,
  .strategy-card small,
  .check-list li,
  .founder-quote p,
  .founder-quote__author span,
  .legal-card p,
  .legal-card li,
  .newsletter-note,
  .news-meta,
  .news-article__meta {
    color: var(--ff-theme-muted) !important;
  }

  .legacy-mini-card strong,
  .legacy-secure-card strong,
  .strategy-card strong,
  .flow-step strong,
  .legal-card a,
  .news-read-more {
    color: var(--ff-theme-primary) !important;
  }

  /* Strategy preview: labels and badges sit on their own surfaces, so they
     need explicit colors instead of inheriting the generic muted text rule. */
  .strategy-card:not(.strategy-card--dark) .strategy-card__label .material-symbols-outlined {
    background: rgba(94, 230, 154, .18) !important;
    color: #9af5bd !important;
  }

  .strategy-card:not(.strategy-card--dark) .strategy-card__top small {
    background: rgba(94, 230, 154, .22) !important;
    color: #9af5bd !important;
    border: 1px solid rgba(94, 230, 154, .48) !important;
  }

  .strategy-card--dark .strategy-card__top span,
  .strategy-card--dark .strategy-card__top small,
  .strategy-card--dark p,
  .strategy-card--dark small,
  .strategy-card--dark strong {
    color: #ffffff !important;
  }

  .strategy-card--dark .strategy-card__label .material-symbols-outlined {
    background: rgba(255, 255, 255, .16) !important;
    color: #d8ffe8 !important;
  }

  .strategy-card--dark .strategy-card__top small {
    background: rgba(255, 255, 255, .16) !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
  }

  .legacy-icon,
  .legacy-mini-card > .material-symbols-outlined:not(.legacy-icon),
  .card-icon,
  .newsletter-panel__icon,
  .news-image-placeholder,
  .news-pill {
    background: rgba(16, 185, 129, .24) !important;
    border-color: rgba(94, 230, 154, .46) !important;
    color: var(--ff-theme-primary) !important;
  }

  .news-pill--featured,
  .dimension-card--active,
  .plan-toggle button.is-active {
    background: #1B4332 !important;
    border-color: #1B4332 !important;
    color: #ffffff !important;
  }

  .news-filters a,
  .legal-sidebar a,
  .plan-toggle button:not(.is-active) {
    background: var(--ff-theme-surface-soft) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-muted) !important;
  }

  .news-filters a:hover,
  .news-filters a.is-active,
  .legal-sidebar a:hover,
  .legal-sidebar a.is-active {
    background: #1B4332 !important;
    border-color: #1B4332 !important;
    color: #ffffff !important;
  }

  .news-featured-card__media,
  .news-card__media {
    background-color: var(--ff-theme-surface-soft) !important;
  }

  .news-breadcrumb,
  .news-share,
  .news-related-item small {
    color: var(--ff-theme-muted) !important;
  }

  .news-breadcrumb a,
  .news-rich-content a,
  .news-related-item strong {
    color: var(--ff-theme-primary) !important;
  }

  .news-rich-content {
    color: var(--ff-theme-text) !important;
  }

  .news-rich-content blockquote {
    background: rgba(16, 185, 129, .12) !important;
    color: var(--ff-theme-primary) !important;
  }

  .news-article__footer,
  .news-side-card h2 {
    border-color: var(--ff-theme-border) !important;
  }

  .news-tags span,
  .news-share__button {
    background: var(--ff-theme-surface-soft) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-primary) !important;
  }

  .news-share__button:hover,
  .news-share__button:focus-visible {
    background: var(--ff-theme-surface-muted) !important;
  }

  .strategy-card--dark,
  .metric-card--dark {
    background: #012d1d !important;
    color: #ffffff !important;
  }

  .strategy-card--dark p,
  .metric-card--dark p,
  .cta-band p,
  .newsletter-panel p {
    color: rgba(255, 255, 255, 0.82) !important;
  }

  .cta-band,
  .newsletter-panel {
    background: #012d1d !important;
    border-color: rgba(158, 232, 190, 0.22) !important;
    color: #ffffff !important;
  }

  .newsletter-form--light input,
  .news-side-newsletter input {
    background: var(--ff-theme-surface-soft) !important;
    color: var(--ff-theme-text-strong) !important;
    border-color: var(--ff-theme-border) !important;
  }

  .ff-auth-shell,
  .ff-auth-page {
    background: var(--ff-theme-bg) !important;
    color: var(--ff-theme-text);
  }

  .ff-auth-hero-pane {
    background: #111111 !important;
    color: var(--ff-theme-text-strong);
  }

  .ff-auth-copy h2,
  .ff-auth-copy p {
    color: var(--ff-theme-text-strong) !important;
  }

  .ff-auth-page h1,
  .ff-auth-page h1 + p,
  .ff-auth-page label,
  .ff-register-step__head h2,
  .ff-register-step__head p,
  .ff-register-step__head span,
  .ff-auth-steps li,
  .ff-auth-steps span,
  .ff-auth-steps strong {
    color: var(--ff-theme-text-strong) !important;
  }

  .ff-auth-page h1 + p,
  .ff-register-step__head p,
  .ff-auth-steps li:not(.is-active):not(.is-complete) {
    color: var(--ff-theme-muted) !important;
  }

  .ff-auth-page input:not([type="checkbox"]):not([type="radio"]),
  .ff-auth-page select,
  .ff-auth-page textarea {
    background: #101010 !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
  }

  .ff-auth-page input:not([type="checkbox"]):not([type="radio"])::placeholder,
  .ff-auth-page textarea::placeholder {
    color: #b8b8b8 !important;
  }

  .ff-auth-page input:-webkit-autofill,
  .ff-auth-page input:-webkit-autofill:hover,
  .ff-auth-page input:-webkit-autofill:focus,
  .ff-auth-page textarea:-webkit-autofill,
  .ff-auth-page select:-webkit-autofill {
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 0 0 1000px #101010 inset !important;
    caret-color: var(--ff-theme-primary) !important;
  }

  .ff-auth-page .toggle-pass,
  .ff-auth-page #togglePasswordBtn {
    color: #dedede !important;
  }

  .ff-auth-page .toggle-pass:hover,
  .ff-auth-page #togglePasswordBtn:hover,
  .ff-auth-page .toggle-pass:focus-visible,
  .ff-auth-page #togglePasswordBtn:focus-visible {
    color: var(--ff-theme-primary) !important;
  }

  .ff-auth-visual__symbol {
    background: var(--ff-theme-surface) !important;
    color: var(--ff-theme-primary) !important;
    border-color: rgba(158, 232, 190, 0.18) !important;
  }

  .ff-register-plan-option:not(.is-selected) {
    background-color: var(--ff-theme-surface-soft) !important;
    color: var(--ff-theme-text) !important;
    border-color: var(--ff-theme-border) !important;
  }

  .ff-checkout-page,
  .glass-card {
    background: var(--ff-theme-bg) !important;
    color: var(--ff-theme-text);
  }

  .ff-checkout-menu-btn,
  .ff-checkout-mobile-action,
  .ff-checkout-actions a {
    background: var(--ff-theme-surface-soft) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-text) !important;
  }

  .admin-sidebar,
  .admin-topbar,
  .admin-user-chip,
  .admin-user-block,
  .admin-confirm-card,
  .admin-login-card,
  .inline-form,
  .ticket-message,
  .admin-status-box,
  .tab-link {
    background: var(--ff-theme-surface) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-text);
  }

  .admin-login-page {
    background:
      radial-gradient(circle at top left, rgba(158, 232, 190, .08) 0%, transparent 46%),
      var(--ff-theme-bg) !important;
  }

  .admin-user-name,
  .admin-confirm-title,
  .admin-topbar h1,
  .metric-card strong,
  .panel h3,
  .panel > header h3,
  .detail-grid p,
  .admin-login-card h1 {
    color: var(--ff-theme-text-strong) !important;
  }

  .admin-user-label,
  .brand-sub,
  .admin-confirm-message,
  .admin-topbar p,
  .admin-user-chip small,
  .metric-card h3,
  th,
  .empty,
  .detail-grid label,
  .admin-flags-title,
  .hint,
  .ticket-message header small,
  .admin-login-card p {
    color: var(--ff-theme-muted) !important;
  }

  .alert-success,
  .status-active,
  .status-paid,
  .status-success,
  .status-trial,
  .ticket-message.is-admin {
    background: rgba(16, 185, 129, .15) !important;
    border-color: rgba(187, 247, 208, .28) !important;
    color: #bbf7d0 !important;
  }

  .alert-error,
  .status-blocked,
  .status-failed,
  .status-canceled,
  .status-unsubscribed,
  .status-refunded,
  .admin-confirm-icon,
  .logout-btn {
    background: rgba(225, 29, 72, .16) !important;
    border-color: rgba(254, 205, 211, .28) !important;
    color: #fecdd3 !important;
  }

  .alert-info {
    background: rgba(14, 165, 233, .16) !important;
    border-color: rgba(186, 230, 253, .28) !important;
    color: #bae6fd !important;
  }

  .status-pending,
  .status-processing,
  .status-overdue,
  .status-expired,
  .status-inactive {
    background: rgba(245, 158, 11, .16) !important;
    border-color: rgba(253, 230, 138, .28) !important;
    color: #fde68a !important;
  }

  .admin-status-note.warn {
    color: #fde68a !important;
  }

  .admin-status-note.ok {
    color: #bbf7d0 !important;
  }

  .admin-divider {
    background: var(--ff-theme-border) !important;
  }

  .menu-item,
  .admin-menu-toggle,
  .logout-btn {
    background: transparent;
    color: var(--ff-theme-text) !important;
  }

  .menu-item:hover,
  .menu-item:focus-visible {
    background: var(--ff-theme-surface-soft) !important;
  }

  .menu-item.is-active {
    background: #1b4332 !important;
    color: #ffffff !important;
  }

  .ff-app-tour-dialog,
  .ff-machine-tour-dialog,
  .ff-personal-tour-dialog,
  .ff-account-tour-dialog,
  .ff-page-tour-dialog {
    background: var(--ff-theme-surface) !important;
    border-color: var(--ff-theme-border) !important;
    color: var(--ff-theme-text) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .42) !important;
  }

  .ff-app-tour-dialog h3,
  .ff-machine-tour-dialog h3,
  .ff-personal-tour-dialog h3,
  .ff-account-tour-dialog h3,
  .ff-page-tour-dialog h3 {
    color: var(--ff-theme-text-strong) !important;
  }

  .ff-app-tour-dialog p,
  .ff-machine-tour-dialog p,
  .ff-personal-tour-dialog p,
  .ff-account-tour-dialog p,
  .ff-page-tour-dialog p {
    color: var(--ff-theme-muted) !important;
  }

  .ff-app-tour-step,
  .ff-machine-tour-step,
  .ff-personal-tour-step,
  .ff-account-tour-step,
  .ff-page-tour-step {
    color: var(--ff-theme-primary) !important;
  }

  .ff-app-tour-active,
  .ff-machine-tour-active,
  .ff-personal-tour-active,
  .ff-account-tour-active,
  .ff-page-tour-active {
    outline-color: var(--ff-theme-primary) !important;
    box-shadow: 0 0 0 7px rgba(158, 232, 190, .18), 0 18px 48px rgba(0, 0, 0, .34) !important;
  }

  #personalYearSummarySection .personal-year-summary-table-wrap,
  #personalYearSummarySection .personal-year-summary-table thead th,
  #personalYearSummarySection .personal-year-summary-table tbody tr:hover td {
    background: var(--ff-theme-surface-soft) !important;
    border-color: var(--ff-theme-border) !important;
  }

  #personalYearSummarySection .personal-year-summary-table tbody td,
  #personalYearSummarySection .personal-year-summary-table thead th {
    border-color: var(--ff-theme-border-soft) !important;
  }

  #personalYearSummarySection .personal-year-summary-category-cell,
  #personalYearSummarySection .personal-year-summary-stat-cell {
    color: var(--ff-theme-text-strong) !important;
  }

  #personalYearSummarySection .personal-year-summary-type-cell {
    color: var(--ff-theme-muted) !important;
  }

  .ff-market-impact-favoravel {
    background: rgba(16, 185, 129, .15) !important;
    border-color: rgba(187, 247, 208, .28) !important;
    color: #bbf7d0 !important;
  }

  .ff-market-impact-pressao {
    background: rgba(225, 29, 72, .16) !important;
    border-color: rgba(254, 205, 211, .28) !important;
    color: #fecdd3 !important;
  }

  .ff-market-impact-atencao {
    background: rgba(245, 158, 11, .16) !important;
    border-color: rgba(253, 230, 138, .28) !important;
    color: #fde68a !important;
  }

  .ff-market-impact-neutro {
    background: rgba(148, 163, 184, .14) !important;
    border-color: rgba(148, 163, 184, .26) !important;
    color: #cbd5e1 !important;
  }
}
