/* Shared, contrast-safe surfaces from the active administrator palette. */
html[data-theme] body {
  --domvex-surface: var(--panel);
  --domvex-ink: var(--text);
  --domvex-muted: var(--muted);
  --domvex-line: var(--border);
}
/* Keep outlines quiet in every administrator palette, while preserving visible field edges. */
html[data-theme="light"] body.av-app {
  --border: color-mix(in srgb, var(--text) 16%, var(--panel));
}
html[data-theme="dark"] body.av-app {
  --border: color-mix(in srgb, var(--text) 22%, var(--panel));
}
html[data-theme] .av-app .wp-app-content,
html[data-theme] .av-app .wp-main { background: var(--bg); color: var(--text); }
html[data-theme] .av-app .wp-sidebar-brand img,
html[data-theme] .av-app .av-brand img,
html[data-theme] .av-app .wp-mobile-logo img {
  width: var(--brand-logo-width) !important;
  max-width: min(52vw, 170px);
  height: auto !important;
  max-height: none;
  filter: none !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html[data-theme] .av-app .avd-pro-art { background: radial-gradient(circle at 85% 80%, #167dec88, transparent 60%), linear-gradient(135deg, #09203b, #0b3762) !important; }
html[data-theme] .av-app .avd-pro::after { background: none !important; }
html[data-theme] .av-app .wp-topbar { background: var(--panel); border-color: var(--border); color: var(--text); }
html[data-theme] .av-app .wp-topbar-title,
html[data-theme] .av-app .wp-search input,
html[data-theme] .av-app .mx-account-summary { color: var(--text); }
html[data-theme] .av-app .wp-search input::placeholder { color: var(--muted); opacity: 1; }
html[data-theme=dark] .av-app .wp-search input::placeholder,
html[data-theme=dark] .av-app .wp-search > .wp-icon { color: #d7e4f8; opacity: 1; }
html[data-theme] .av-app .mx-account-menu,
html[data-theme] .av-app .wp-profile > .mx-account-menu {
  background: var(--panel); color: var(--text); border: 1px solid var(--border);
}
html[data-theme] .av-app .mx-account-menu > strong,
html[data-theme] .av-app .mx-account-menu > a.mx-account-menu-link { color: var(--text); }
html[data-theme] .av-app .mx-account-menu > small { color: var(--muted); }
html[data-theme] .av-app .mx-account-menu > a.mx-account-menu-link:hover {
  background: color-mix(in srgb, var(--brand) 11%, var(--panel)); color: var(--primary);
}

/* User dashboard. Keep the navy financial cards as intentional inverse surfaces. */
@media (min-width:1101px) {
  html[data-theme] .av-app {
    --avd-text: var(--text);
    --avd-muted: var(--muted);
    --avd-panel: var(--panel);
    --avd-soft: var(--panel-end);
    --avd-line: color-mix(in srgb, var(--text) 10%, var(--panel));
    --avd-empty-ring: var(--border);
    background: var(--bg); color: var(--text);
  }
  html[data-theme] .av-app .wp-app-content { background: var(--bg); }
  html[data-theme] .avd-panel,
  html[data-theme] .avd-metric { background: var(--panel); border-color: var(--avd-line); color: var(--text); }
  html[data-theme] .avd-filters > a,
  html[data-theme] .avd-quick-grid > a,
  html[data-theme] .avd-quick-grid > button,
  html[data-theme] .avd-progress-info { background: var(--panel-end); color: var(--text); border-color: var(--avd-line); }
  html[data-theme] .avd-quick-grid > :is(a,button):hover { background: color-mix(in srgb, var(--brand) 13%, var(--panel)); }
  html[data-theme] .avd-dates > summary,
  html[data-theme] .avd-dates > form,
  html[data-theme] .avd-flow select { background: var(--panel); color: var(--text); border-color: var(--avd-line); }
  html[data-theme] .avd-dates input { background: var(--panel-end); color: var(--text); border-color: var(--avd-line); }
  html[data-theme] .avd-recent thead,
  html[data-theme] .avd-recent th { background: var(--panel-end); color: var(--muted); }
  html[data-theme] .avd-recent td,
  html[data-theme] .avd-transaction small,
  html[data-theme] .avd-progress-info small,
  html[data-theme] .avd-notice small { color: var(--muted); }
  html[data-theme] .avd-metric strong,
  html[data-theme] .avd-progress-info strong,
  html[data-theme] .avd-notice strong { color: var(--text); }
  html[data-theme] .avd-section-heading > a,
  html[data-theme] .avd-report { color: var(--primary); }
  html[data-theme] .avd-medal { mix-blend-mode: normal; filter: none; isolation: isolate; }
  html[data-theme] .avd-navigation > a.is-active { border-color: var(--theme-primary-color); }
  html[data-theme=dark] .av-app { --avd-line: color-mix(in srgb, var(--text) 16%, var(--panel)); }
  html[data-theme] .avd-type .avd-small-tile:has(.wp-icon--pix) {
    background: color-mix(in srgb, #77b6a8 19%, var(--panel));
    border-color: color-mix(in srgb, #77b6a8 30%, var(--panel));
  }
}

/* Banco Central Pix brand green (RGB 119 182 168). */
html[data-theme] .wp-icon.wp-icon--pix { color: #77b6a8; }

/* All account pages inherit the same readable palette. */
html[data-theme] body.av-app:not(.wp-dashboard-page) {
  --av-card-surface: var(--panel);
  --av-card-soft: var(--panel-end);
  --av-card-ink: var(--text);
  --av-card-muted: var(--muted);
  --av-card-line: var(--border);
  --av-card-line-strong: var(--border);
}
html[data-theme] .av-app .wp-main :is(.mx-page-heading,.vc-product-heading,.vc-feature-heading) :is(h1,h2,h3) { color: var(--text); }
html[data-theme] .av-app .wp-main :is(.mx-page-heading,.vc-product-heading,.vc-feature-heading) p { color: var(--muted); }
html[data-theme] .av-app .wp-main :is(.mx-section-heading,.mx-statement-metrics,.mx-statement-table,.mx-quick-filters,.vc-availability-panel,.vc-product-features,.vc-product-note) { color: var(--text); }
html[data-theme] .av-app .wp-main :is(.mx-section-heading,.mx-statement-metrics,.mx-statement-table,.vc-availability-panel,.vc-product-features,.vc-product-note) :is(p,small,code) { color: var(--muted); }
html[data-theme] .av-app .wp-main .mx-statement-table :is(strong,.mx-entry-amount) { color: var(--text); }
html[data-theme] .av-app .wp-main .mx-statement-table :is(thead,th) { background: var(--panel-end); color: var(--text); }
html[data-theme] .av-app .wp-main .mx-statement-table td { border-color: var(--border); }
html[data-theme] .av-app .wp-main :is(.vc-availability-panel,.vc-product-note,.vc-panel,.vc-list-item,.vc-empty) {
  background: var(--panel); border-color: var(--border); color: var(--text);
}
html[data-theme] .av-app .wp-main .vc-feature + .vc-feature { border-color: var(--border); }
html[data-theme] .av-app .wp-main .vc-product-hero :is(h2,p,.vc-product-kicker) { color: #fff; }
html[data-theme] .av-app .wp-main .vc-product-hero p { color: #dcecff; }
html[data-theme] .av-app .wp-main :is(.mx-search-field input,.mx-field input,.mx-field select,.mx-field textarea) {
  color: var(--text); border-color: var(--border);
}
html[data-theme] .av-app .wp-main .mx-search-field input::placeholder { color: var(--muted); opacity: 1; }
html[data-theme] .av-app .wp-main .mx-quick-filters > a { color: var(--text); border-color: var(--border); }
html[data-theme] .av-app .wp-main .mx-quick-filters > a.active { color: var(--theme-button-text); background: var(--brand); }
html[data-theme] .av-app .wp-main .btn-outline-primary { color: var(--text); border-color: var(--brand); }
html[data-theme] .av-app .wp-main .btn-outline-primary:hover { color: var(--button-text); background: var(--brand); }

/* Boleto has a page-local light palette that otherwise overrides the shared theme. */
html[data-theme] .av-app .wp-main .mx-boleto-page { color: var(--text); }
html[data-theme] .av-app .wp-main .mx-boleto-tabs { background: var(--panel-end); border-color: var(--border); }
html[data-theme] .av-app .wp-main .mx-boleto-tab { color: var(--text); }
html[data-theme] .av-app .wp-main .mx-boleto-tab small { color: var(--muted); }
html[data-theme] .av-app .wp-main .mx-boleto-tab:hover,
html[data-theme] .av-app .wp-main .mx-boleto-tab[aria-current=page] {
  background: var(--panel); border-color: var(--brand); color: var(--text);
}
html[data-theme] .av-app .wp-main .mx-boleto-note,
html[data-theme] .av-app .wp-main .mx-boleto-success {
  background: var(--panel-end); border-color: var(--border); color: var(--text);
}
html[data-theme] .av-app .wp-main .mx-boleto-note strong,
html[data-theme] .av-app .wp-main .mx-boleto-fieldset legend { color: var(--text); }
html[data-theme] .av-app .wp-main .mx-boleto-form-heading p,
html[data-theme] .av-app .wp-main .mx-boleto-field-help,
html[data-theme] .av-app .wp-main .mx-boleto-submit p,
html[data-theme] .av-app .wp-main .mx-boleto-table td small { color: var(--muted); }
html[data-theme] .av-app .wp-main .mx-boleto-fieldset + .mx-boleto-fieldset,
html[data-theme] .av-app .wp-main .mx-boleto-submit { border-color: var(--border); }
html[data-theme] .av-app .wp-main .mx-boleto-grid .mx-field input[readonly] {
  background: var(--panel-end); color: var(--text); border-color: var(--border);
}

/* Registration had a permanent dark form and white copy in the light palette. */
.avr-theme-toggle { position:fixed; z-index:90; top:16px; right:18px; display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border:1px solid var(--border); border-radius:99px; background:var(--panel); color:var(--text); box-shadow:0 4px 20px #0002; font-size:12px; font-weight:600; line-height:1.2; font-family:inherit; cursor:pointer; }
.avr-theme-toggle .wp-icon { width:18px; height:18px; }
.avr-theme-toggle:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
html[data-theme] body.av-register-page,
html[data-theme] body.av-register-page .av-mobile-login-page { background: var(--bg); color: var(--text); }
html[data-theme] body.av-register-page .avr-card,
html[data-theme] body.av-register-page .avr-dialog { background: var(--panel); border: 1px solid var(--border); color: var(--text); }
html[data-theme] body.av-register-page .avr-card :is(h1,h2,.avr-section-title,.avr-person-types strong,.avr-field > label),
html[data-theme] body.av-register-page .avr-dialog :is(h2,strong) { color: var(--text); }
html[data-theme] body.av-register-page :is(.avr-subtitle,.avr-note,.avr-progress,.avr-terms,.avr-dialog p,.avr-person-types small) { color: var(--muted); }
html[data-theme] body.av-register-page .avr-person-types span,
html[data-theme] body.av-register-page .avr-field .wp-input,
html[data-theme] body.av-register-page .avr-field input[type=file] {
  background: var(--panel-end); color: var(--text); border-color: var(--border);
}
html[data-theme] body.av-register-page .avr-field .wp-input::placeholder { color: var(--muted); opacity: 1; }
html[data-theme] body.av-register-page .avr-person-types input:checked + span {
  background: color-mix(in srgb,var(--brand) 12%,var(--panel)); border-color: var(--brand);
}
html[data-theme] body.av-register-page .avr-progress .is-active,
html[data-theme] body.av-register-page :is(.avr-field-help,.avr-intro a,.avr-terms a) { color: var(--primary); }
html[data-theme] body.av-register-page .avr-progress .is-active i,
html[data-theme] body.av-register-page .avr-primary { background: var(--brand); color: var(--button-text); border-color: var(--brand); }
html[data-theme] body.av-register-page :is(.avr-lookup,.avr-camera-button,.avr-field input[type=file]::file-selector-button) {
  background: color-mix(in srgb,var(--brand) 12%,var(--panel)); border-color: var(--brand); color: var(--primary);
}
html[data-theme] body.av-register-page .avr-message:not(:empty) { background: color-mix(in srgb,var(--theme-error-color) 11%,var(--panel)); color: var(--error-ink); border-color: var(--error-ink); }
html[data-theme] body.av-register-page .avr-message.success:not(:empty) { background: color-mix(in srgb,var(--theme-success-color) 11%,var(--panel)); color: var(--success-ink); border-color: var(--success-ink); }
html[data-theme] body.av-register-page .avr-dialog-close { color: var(--text); border-color: var(--border); }
html[data-theme] body.av-register-page .avr-code-inputs input { color: var(--text); background: var(--panel-end); border-color: var(--border); }
html[data-theme] body.av-register-page .avm-footer {
  width: fit-content; max-width: calc(100% - 24px); margin: 14px auto 24px; padding: 8px 16px;
  border: 1px solid var(--border); border-radius: 999px; background: var(--panel);
  box-shadow: 0 5px 18px #0003; color: var(--text);
}
html[data-theme] body.av-register-page .avm-footer a { color: var(--text); opacity: 1; font-weight: 600; }
html[data-theme] body.av-register-page .avr-intro em { color: var(--primary); }

@media (prefers-reduced-motion:reduce) {
  html[data-theme] .avd-dashboard *, html[data-theme] .avr-card * { transition-duration: .01ms !important; }
}

/* The mobile dashboard header keeps a dark field so white greeting text remains readable in every palette. */
@media (max-width: 767px) {
  html[data-theme] .av-app.wp-dashboard-page .wp-main { background: transparent; }
  html[data-theme] .av-app.wp-dashboard-page .wp-app-content::before {
    z-index: 0;
    height: 390px;
    background: linear-gradient(155deg, #082b61 0%, #0755aa 58%, #1683cd 82%, var(--bg) 100%);
  }
  html[data-theme] .av-app.wp-dashboard-page :is(.av-header,.wp-main) { position: relative; z-index: 1; }
  html[data-theme] .av-app.wp-dashboard-page .av-greeting,
  html[data-theme] .av-app.wp-dashboard-page .av-greeting h1 { color: #fff; }
  html[data-theme] .av-app.wp-dashboard-page .av-greeting > div > span { color: #d6e9ff; }
  html[data-theme] .av-app.wp-dashboard-page .av-greeting a { border-color: #a0d1f477; color: #fff; }
  html[data-theme] .av-app :is(.av-shortcuts > a,.av-shortcuts > button,.av-invest,.av-bottom-nav,.av-profile-card,.av-menu-row) {
    border-color: color-mix(in srgb, var(--text) 9%, var(--panel));
  }
  html[data-theme] .av-app.wp-dashboard-page .mx-mobile-recent {
    border: 0;
    box-shadow: 0 8px 28px color-mix(in srgb, var(--text) 8%, transparent);
  }
}
