/* Contraste branco (estrutura da referência HunterPro; roxo trocado por branco a pedido do Theo em 2026-10-12).
   Carregado depois do theme-noturno.css: fundo preto com brilho suave, cards com borda clara e brilho leve,
   destaque branco com texto preto nos botões. Verde continua só em números de resultado. */
:root {
  --color-carbon: #0a0a0a; --color-absolute-black: #0f0f0f; --color-graphite: #1a1a1a;
  --color-steel: #b5b5b5; --color-divider: #5c5c5c; --color-control: #2c2c2c; --color-glyph: #d9d9d9;
  --color-accent: #ffffff; --color-accent-hover: #e6e6e6; --color-on-accent: #000000;
  --violet-line: rgba(255, 255, 255, .26);
  --violet-glow: 0 0 0 1px rgba(255, 255, 255, .08), 0 0 28px -10px rgba(255, 255, 255, .22);
  --violet-soft: rgba(255, 255, 255, .08);
  --hot-strong: rgba(255, 255, 255, .28);
  --radar-bg-1: #1a1a1a;
  --radar-ring: #2c2c2c;
}

/* fundo com brilho roxo (camada fixa: não repinta ao rolar) */
html { background: var(--color-carbon) !important; }
body { background: transparent !important; }
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(60% 50% at 0% 0%, rgba(255, 255, 255, .06), transparent 70%),
    radial-gradient(50% 45% at 100% 100%, rgba(255, 255, 255, .04), transparent 70%),
    var(--color-carbon);
}
.vhead, .band { background: transparent !important; }
.vsub, .band p { color: var(--color-steel) !important; }

/* menu lateral */
.side { background: linear-gradient(180deg, #141414, #0d0d0d) !important; border-right: 1px solid var(--violet-line) !important; }
.side-nav a { color: #ededed !important; }
.side-nav a:hover { background: var(--violet-soft) !important; }
.side-nav a.on {
  background: linear-gradient(90deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .08)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 0 18px -6px rgba(255, 255, 255, .25) !important;
  color: #fff !important;
}
.side-nav a.on .ico { color: #fff !important; }
.side-nav a.on .tbadge { background: #fff !important; color: #000000 !important; }
.topbar { background: #0f0f0f !important; border-bottom-color: var(--violet-line) !important; }

/* cards com borda roxa e brilho */
.dpanel, .hkpi, .qcbox, .howto, .dgoal, #v-radar .lead, #v-radar .searchbar .panel, .demo, .funnel button, #v-radar #map {
  background: linear-gradient(180deg, #131313, #0d0d0d) !important;
  border: 1px solid var(--violet-line) !important;
  box-shadow: var(--violet-glow) !important;
}
.kcol { background: #0f0f0f !important; border: 1px solid var(--color-control) !important; }
.kcol.over { background: #1d1d1d !important; border-color: var(--color-accent) !important; }
.kcard { background: #171717 !important; border-color: var(--color-control) !important; }
.kcard:hover { border-color: var(--violet-line) !important; }
.psum > div, .dnums > div { background: #0f0f0f !important; }
.demo.soon { background: transparent !important; box-shadow: none !important; border-style: dashed !important; }

/* chips e botões contornados com tom roxo */
.kchip, .chip, .pill, .sig li, .tauto, .kcount, .tbadge, .act.done, .icoact.done, .pay-pendente, .kchip.money, .pay-pago, .pill.st-fechado, .chip.star { background: rgba(255, 255, 255, .14) !important; }
.kchip, .chip, .pill, .sig li, .tauto, .kcount, .tbadge { color: #e5e5e5 !important; }
.act, .btn, .knext, .clegend button, .hq, .kcontact { border-color: var(--color-divider) !important; color: #f5f5f5 !important; }
.act:hover, .btn:hover, .knext:hover, .hq:hover { background: var(--violet-soft) !important; border-color: var(--color-accent) !important; }
.act.prim, .act.prop, #v-radar .act.prop, .go, .go.sm, .qc-send, .views .btn[aria-pressed="true"], .lggo {
  box-shadow: 0 6px 20px -8px rgba(255, 255, 255, .35) !important;
}
.seg { background: rgba(255, 255, 255, .1) !important; }
.seg-pill { background: rgba(255, 255, 255, .45) !important; }

/* campos */
input[type="text"], input[type="search"], input[type="password"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], select, textarea,
body .ff input, body .ff select, body .ff textarea, .cbar input, .cbar select, .vacts input[type="search"] {
  background: #0d0d0d !important; border-color: var(--color-divider) !important;
}
select option { background: #1a1a1a; }

/* números e gráficos */
.hk-v, .big { color: #fff; }
.funnel .bar i, .hbar .fill { background: var(--color-accent) !important; }
.cout .fill, .lg-out i, .ctip .t-out i { background: #6e6e73 !important; }
.ccol.cur, .ccol:hover { background: var(--violet-soft) !important; }
.ctip, .toastbox, #map .leaflet-popup-content-wrapper, #map .leaflet-popup-tip { background: #1a1a1a !important; border-color: var(--violet-line) !important; }
.htrack, .mini, .gbar, .funnel .bar { background: #262626 !important; }

/* ficha lateral, avisos e login */
.shbox { background: var(--color-carbon) !important; }
.shhead, .shleft { background: #0f0f0f !important; border-color: var(--violet-line) !important; }
.shtabs button[aria-selected="true"] { background: var(--color-carbon) !important; }
.gline, .wastate { background: rgba(255, 255, 255, .12) !important; }
.login { background: radial-gradient(70% 60% at 50% 0%, rgba(255, 255, 255, .08), transparent 70%), var(--color-carbon) !important; }
.mk { border-color: #0a0a0a !important; }
.radar { border-color: var(--violet-line) !important; }

/* estado da nuvem em Ajustes */
.syncstate { font-weight: 600; color: var(--color-polar-white) !important; }
.syncstate[data-s="wait"] { color: var(--color-steel) !important; }
.syncstate[data-s="bad"] { color: #ff8a80 !important; }
