/*
 * VexusPay WHITE LABEL
 * Base: Radix Colors — Mauve (neutros) + Violet (ação).
 * A escala foi desenhada para os dois modos: contraste limpo no escuro,
 * superfícies quase brancas no claro e violeta apenas nos elementos de ação.
 */
:root {
  /* Aliases legados preservados para não quebrar componentes existentes. */
  --hpg-navy: #232225;
  --hpg-navy-deep: #121113;
  --hpg-navy-surface: #2B292D;
  --hpg-navy-soft: #323035;
  --hpg-gold: #6E56CF;
  --hpg-gold-light: #BAA7FF;
  --hpg-gold-deep: #564590;
  --hpg-violet: #6E56CF;
  --hpg-violet-light: #BAA7FF;
  --hpg-violet-deep: #564590;
  --hpg-ink: #211F26;
  --hpg-paper: #FDFCFE;
  --hpg-success: #30A46C;
  --hpg-danger: #E5484D;
  --hpg-warning: #F5D90A;
}

/* Aplicação autenticada — modo escuro. */
html.px-dark {
  color-scheme: dark;
  --px-accent: #6E56CF;
  --px-accent-dark: #564590;
  --px-page: #121113;
  --px-sidebar: #1A191B;
  --px-panel: #232225;
  --px-panel-soft: #2B292D;
  --px-text: #EEEEF0;
  --px-muted: #B5B2BC;
  --px-border: #49464D;
  --px-success: #30A46C;
  --px-danger: #E5484D;
  --px-warning: #F5D90A;
  --px-shadow: 0 18px 50px rgba(18,17,19,.42);
}
html.px-dark body { background: radial-gradient(circle at 82% -10%,rgba(110,86,207,.12),transparent 32%),var(--px-page); }
html.px-dark .px-invite-card { background: linear-gradient(110deg,#232225,#47377A 100%); }
html.px-dark .px-primary-button { border-color: #6956B3; background: #6E56CF; color: #FFFFFF; }
html.px-dark .px-primary-button:hover { background: #7D66D9; }
html.px-dark .px-nav-link,html.px-dark .px-nav-group-button { color: #EEEEF0; }
html.px-dark .px-nav-icon,html.px-dark .px-nav-fa { color: #B5B2BC; }

/* Aplicação autenticada — modo claro. */
html.px-light {
  color-scheme: light;
  --px-accent: #6E56CF;
  --px-accent-dark: #564590;
  --px-page: #FDFCFE;
  --px-sidebar: #FFFFFF;
  --px-panel: #FFFFFF;
  --px-panel-soft: #F2EFF3;
  --px-text: #211F26;
  --px-muted: #65636D;
  --px-border: #D0CDD7;
  --px-success: #18794E;
  --px-danger: #E5484D;
  --px-warning: #9E6C00;
  --px-shadow: 0 16px 42px rgba(47,38,95,.12);
}
html.px-light body { background: radial-gradient(circle at 76% -8%,rgba(110,86,207,.08),transparent 31%),var(--px-page); }
html.px-light .px-primary-button { border-color: #6E56CF; background: #6E56CF; color: #FFFFFF; }
html.px-light .px-primary-button:hover { background: #654DC4; }
html.px-light .px-invite-card { background: linear-gradient(110deg,#F5F2FF,#E4DEFC); color: #2F265F; }

/* Landing pública. */
html[data-theme="dark"] {
  color-scheme: dark;
  --lp-bg: #121113;
  --lp-surface: #1A191B;
  --lp-surface-2: #232225;
  --lp-card: #2B292D;
  --lp-text: #EEEEF0;
  --lp-muted: #B5B2BC;
  --lp-line: #49464D;
  --lp-shadow: rgba(18,17,19,.46);
  --lp-header: rgba(26,25,27,.9);
  --lp-accent: #6E56CF;
  --lp-accent-deep: #564590;
  --lp-accent-contrast: #FFFFFF;
}
html[data-theme="light"] {
  color-scheme: light;
  --lp-bg: #FDFCFE;
  --lp-surface: #FFFFFF;
  --lp-surface-2: #F2EFF3;
  --lp-card: #FFFFFF;
  --lp-text: #211F26;
  --lp-muted: #65636D;
  --lp-line: #D0CDD7;
  --lp-shadow: rgba(47,38,95,.12);
  --lp-header: rgba(255,255,255,.92);
  --lp-accent: #6E56CF;
  --lp-accent-deep: #564590;
  --lp-accent-contrast: #FFFFFF;
}
.lp-primary { color: var(--lp-accent-contrast); background: var(--lp-accent); box-shadow: 0 12px 26px rgba(110,86,207,.2); }
.lp-primary:hover { background: #7D66D9; }
html[data-theme="dark"] .lp-code-window { background: #1A191B; }

/* Documentação da API. */
html:not([data-doc-theme="light"]) { color-scheme: dark; --bg: #121113; --panel: #1A191B; --panel-2: #232225; --line: #49464D; --text: #EEEEF0; --muted: #B5B2BC; --accent: #BAA7FF; --accent-soft: rgba(110,86,207,.18); --code: #1A191B; --shadow: 0 24px 70px rgba(18,17,19,.38); }
html[data-doc-theme="light"] { color-scheme: light; --bg: #FDFCFE; --panel: #FFFFFF; --panel-2: #F2EFF3; --line: #D0CDD7; --text: #211F26; --muted: #65636D; --accent: #6550B9; --accent-soft: rgba(110,86,207,.12); --code: #F5F2FF; --shadow: 0 24px 60px rgba(47,38,95,.1); }
html:not([data-doc-theme="light"]) .skip-link,html[data-doc-theme="light"] .skip-link { color: #FFFFFF; }

/* Login e cadastro. */
html[data-theme-mode="dark"]:not(.auth-light) body,
html[data-theme-mode="dark"]:not(.auth-light) .vz-video-bg { background: #121113; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-fog { background: radial-gradient(ellipse 55% 75% at 50% 50%,rgba(110,86,207,.12) 0%,rgba(18,17,19,.82) 100%); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-card { background: rgba(26,25,27,.94); border-color: #49464D; box-shadow: 0 0 0 1px rgba(255,255,255,.025),0 30px 70px rgba(18,17,19,.58); }
html[data-theme-mode="dark"]:not(.auth-light) .btn-vz-primary { color: #FFFFFF; background: #6E56CF; box-shadow: 0 10px 28px rgba(110,86,207,.24); }
html.auth-light body { background: #FDFCFE; color: #211F26; }
html.auth-light .vz-fog { background: linear-gradient(rgba(253,252,254,.52),rgba(242,239,243,.86)); }
html.auth-light .vz-card { border-color: #D0CDD7; box-shadow: 0 25px 65px rgba(47,38,95,.12),0 0 0 1px rgba(255,255,255,.82) inset; }
html.auth-light .btn-vz-primary { background: #6E56CF; color: #FFFFFF; box-shadow: 0 10px 28px rgba(110,86,207,.2); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-static-bg { background: radial-gradient(circle at 20% 14%,rgba(110,86,207,.15),transparent 27%),linear-gradient(135deg,#121113 0%,#1A191B 58%,#232225 100%); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-card { background: rgba(26,25,27,.94); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-input { background: rgba(255,255,255,.045); }
html[data-theme-mode="dark"]:not(.auth-light) { --primary-rgb: 110,86,207; --secondary-rgb: 86,69,144; --green: #6E56CF; --green-glow: rgba(110,86,207,.28); --green-border: rgba(186,167,255,.48); }
html[data-theme-mode="dark"]:not(.auth-light) .vz-title { color: #EEEEF0; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-sub,html[data-theme-mode="dark"]:not(.auth-light) .vz-remember label,html[data-theme-mode="dark"]:not(.auth-light) .vz-footer-text { color: #B5B2BC; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-badge { color: #EEEEF0; background: rgba(255,255,255,.055); border-color: #49464D; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-badge i,html[data-theme-mode="dark"]:not(.auth-light) .vz-forgot a,html[data-theme-mode="dark"]:not(.auth-light) .vz-forgot span,html[data-theme-mode="dark"]:not(.auth-light) .vz-footer-text a { color: #BAA7FF; opacity: 1; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-input { color: #EEEEF0; border-color: #625F69; }
html[data-theme-mode="dark"]:not(.auth-light) .vz-input::placeholder,html[data-theme-mode="dark"]:not(.auth-light) .vz-field .field-icon,html[data-theme-mode="dark"]:not(.auth-light) .vz-eye { color: #B5B2BC; opacity: .8; }
html[data-theme-mode="dark"]:not(.auth-light) .btn-vz-outline { color: #EEEEF0; border-color: #625F69; }
html.auth-light { --primary-rgb: 110,86,207; --secondary-rgb: 86,69,144; --green: #6E56CF; --green-glow: rgba(110,86,207,.2); --green-border: rgba(110,86,207,.4); }
html.auth-light .vz-title { color: #211F26; } html.auth-light .vz-sub,html.auth-light .vz-remember label,html.auth-light .vz-footer-text { color: #65636D; }
html.auth-light .vz-badge i,html.auth-light .vz-forgot a,html.auth-light .vz-forgot span,html.auth-light .vz-footer-text a { color: #6550B9; opacity: 1; }
