/* ===== Paleta FicMoney (herdada do Fic Investi · base amarelo #FCD004) ===== */
:root {
  --amarelo:        #FCD004;  /* fundo principal (logo) */
  --amarelo-claro:  #FFE45C;  /* realces */
  --amarelo-escuro: #E3B900;  /* bordas, hover */
  --preto:          #161616;  /* texto e marca (logo) */
  --grafite:        #2B2B2B;
  --creme:          #FFF8D6;  /* superfícies / cartões */
  --branco:         #FFFFFF;
  --alta:           #0E7A3A;  /* verde legível sobre amarelo/creme */
  --baixa:          #B3261E;  /* vermelho legível sobre amarelo/creme */
  --raio: 14px;
  --sombra: 6px 6px 0 var(--preto);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--amarelo);
  color: var(--preto);
  font-family: "Space Grotesk", system-ui, sans-serif;
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
.container { width: min(1120px, 100% - 32px); margin-inline: auto; }
.mono { font-family: "JetBrains Mono", monospace; }

/* Botões */
.btn {
  display: inline-block; padding: 10px 18px; border-radius: 10px;
  font-weight: 700; border: 2px solid var(--preto); transition: transform .15s, box-shadow .15s;
}
.btn--escuro { background: var(--preto); color: var(--amarelo); }
.btn--contorno { background: transparent; }
.btn--grande { padding: 14px 24px; font-size: 1.05rem; }
.btn:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--preto); }
.btn--escuro:hover { box-shadow: 4px 4px 0 var(--amarelo-escuro); }

/* Topo */
.topo { border-bottom: 2px solid var(--preto); }
.topo__linha { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; gap: 16px; }
.topo__marca img { height: 56px; display: block; }
.topo__menu { display: flex; align-items: center; gap: 24px; font-weight: 500; }
.topo__menu a:not(.btn):hover { text-decoration: underline; text-underline-offset: 4px; }

/* Ticker */
.ticker { background: var(--preto); color: var(--amarelo); overflow: hidden; white-space: nowrap; }
.ticker__trilho { display: inline-flex; animation: rolar 40s linear infinite; }
.ticker__item { padding: 10px 24px; font-family: "JetBrains Mono", monospace; font-size: .9rem; }
.ticker__item b { color: var(--branco); margin-right: 6px; }
.ticker__item em { font-style: normal; margin-left: 6px; }
.ticker .alta { color: #4ADE80; }
.ticker .baixa { color: #FF6B6B; }
@keyframes rolar { to { transform: translateX(-50%); } }

/* Hero */
.hero { padding: 72px 0 56px; }
.hero__grade { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; }
.selo {
  display: inline-block; background: var(--preto); color: var(--amarelo);
  padding: 4px 12px; border-radius: 999px; font-size: .85rem; font-weight: 700; margin-bottom: 18px;
}
.hero h1 { font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.08; letter-spacing: -.02em; }
.destaque { background: var(--preto); color: var(--amarelo); padding: 0 .2em; border-radius: 6px; }
.hero__texto { margin: 20px 0 28px; font-size: 1.1rem; max-width: 34em; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; }

/* Cartão da moeda */
.cartao-moeda {
  background: var(--preto); color: var(--amarelo); border-radius: var(--raio);
  padding: 32px; box-shadow: 10px 10px 0 var(--amarelo-escuro);
}
.cartao-moeda__simbolo {
  width: 72px; height: 72px; border-radius: 50%; background: var(--amarelo); color: var(--preto);
  display: grid; place-items: center; font-weight: 700; font-size: 1.6rem; font-family: "JetBrains Mono", monospace;
}
.cartao-moeda__nome { margin-top: 14px; font-weight: 700; font-size: 1.2rem; color: var(--branco); }
.cartao-moeda__rotulo { margin-top: 20px; font-size: .85rem; opacity: .75; }
.cartao-moeda__valor { font-family: "JetBrains Mono", monospace; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; }
.cartao-moeda__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 24px; padding-top: 20px; border-top: 1px solid #333; }
.cartao-moeda__stats b { display: block; font-size: 1.3rem; color: var(--branco); }
.cartao-moeda__stats span { font-size: .8rem; opacity: .75; }

/* Seções */
.secao { padding: 48px 0; }
.secao__cabeca { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; }
.secao__cabeca h2 { font-size: 1.9rem; letter-spacing: -.01em; }

/* Tabela de mercado */
.painel { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); overflow-x: auto; }
.tabela { width: 100%; border-collapse: collapse; min-width: 520px; }
.tabela th { text-align: left; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; padding: 14px 20px; border-bottom: 2px solid var(--preto); }
.tabela td { padding: 14px 20px; border-bottom: 1px solid #E8DFA8; }
.tabela tbody tr:last-child td { border-bottom: 0; }
.tabela tbody tr:hover { background: var(--amarelo-claro); }
.tabela .num { text-align: right; }
.tabela__ticker { font-weight: 700; display: block; }
.tabela__nome { font-size: .85rem; color: var(--grafite); }
.tag { background: var(--preto); color: var(--amarelo); font-size: .75rem; padding: 3px 10px; border-radius: 999px; font-weight: 500; }
.alta { color: var(--alta); font-weight: 700; }
.baixa { color: var(--baixa); font-weight: 700; }

/* Passos */
.passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.passo { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); padding: 24px; box-shadow: var(--sombra); }
.passo__n { font-family: "JetBrains Mono", monospace; font-weight: 700; background: var(--amarelo); border: 2px solid var(--preto); padding: 2px 8px; border-radius: 6px; }
.passo h3 { margin: 16px 0 6px; }

/* Avisos */
.avisos { margin-top: 16px; }
.aviso { border: 2px solid var(--preto); border-radius: 10px; padding: 10px 16px; font-weight: 500; background: var(--creme); }
.aviso--erro { background: #FDE2DF; color: var(--baixa); border-color: var(--baixa); }

/* Formulário de login */
.form-cartao {
  max-width: 420px; margin: 24px auto; background: var(--creme); border: 2px solid var(--preto);
  border-radius: var(--raio); box-shadow: var(--sombra); padding: 32px; display: flex; flex-direction: column;
}
.form-cartao .cartao-moeda__simbolo { background: var(--preto); color: var(--amarelo); width: 56px; height: 56px; font-size: 1.2rem; }
.form-cartao h1 { margin-top: 16px; font-size: 1.8rem; }
.form-cartao__sub { margin-bottom: 20px; color: var(--grafite); }
.form-cartao label { font-weight: 700; font-size: .9rem; margin: 12px 0 6px; }
.form-cartao input, .form-cartao select {
  font: inherit; padding: 12px 14px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco);
}
.form-cartao input:focus, .form-cartao select:focus { outline: 3px solid var(--amarelo-escuro); outline-offset: 1px; }
.cadastro__titulo { margin: 22px 0 2px; padding-top: 14px; border-top: 1px dashed #D8CE9F; }
.cadastro__local { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 10px; }
.cadastro__local > div { min-width: 0; display: flex; flex-direction: column; }
.cadastro__privacidade { margin: 10px 0 0; font-size: .8rem; }
.profissao-popup { z-index: 140; }
.profissao-popup__caixa { max-width: 520px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.profissao-popup__caixa .cartao-moeda__simbolo { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--preto); color: var(--amarelo); font-weight: 700; }
.profissao-popup__dados { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 4px 0; text-align: left; }
.profissao-popup__dados > div { padding: 10px 12px; border: 1px solid #D8CE9F; border-radius: 10px; background: #FFFDF4; }
.profissao-popup__dados > div:last-child { grid-column: 1 / -1; background: var(--amarelo-claro); }
.profissao-popup__dados dt { font-size: .75rem; opacity: .75; }
.profissao-popup__dados dd { margin: 3px 0 0; font-weight: 700; }
.profissao-sorteio { z-index: 139; }
.profissao-sorteio__caixa { max-width: 460px; min-height: 340px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.profissao-sorteio__anel { width: 86px; height: 86px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(from 0deg, var(--amarelo), #F59E0B, var(--preto), var(--amarelo)); animation: profissao-giro 1.25s linear infinite; box-shadow: 0 0 0 5px #FCD00433; }
.profissao-sorteio__anel span { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%; background: var(--preto); color: var(--amarelo); font-weight: 700; font-size: 1.2rem; }
.profissao-sorteio__etapa { min-height: 1.5em; font-weight: 700; }
.profissao-sorteio__progresso { width: min(100%, 290px); height: 9px; overflow: hidden; border-radius: 999px; background: #E7DDAF; }
.profissao-sorteio__progresso i { display: block; width: 40%; height: 100%; border-radius: inherit; background: var(--amarelo-escuro); animation: profissao-carga 1.4s ease-in-out infinite alternate; }
@keyframes profissao-giro { to { transform: rotate(360deg); } }
@keyframes profissao-carga { from { transform: translateX(-10%); } to { transform: translateX(165%); } }
@media (prefers-reduced-motion: reduce) { .profissao-sorteio__anel, .profissao-sorteio__progresso i { animation-duration: 4s; } }
@media (max-width: 520px) { .cadastro__local { grid-template-columns: 82px minmax(0, 1fr); } .form-cartao { padding: 22px 18px; } }
.btn--bloco { width: 100%; margin-top: 24px; cursor: pointer; font-family: inherit; }

/* Painel admin */
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 32px; }
.kpi { background: var(--preto); color: var(--amarelo); border-radius: var(--raio); padding: 20px; }
.kpi span { display: block; font-size: .85rem; opacity: .8; }
.kpi b { display: block; font-size: 1.6rem; color: var(--branco); margin-top: 4px; }
.kpi b.mono { font-size: 1.2rem; }
.subtitulo { font-size: 1.3rem; margin: 32px 0 12px; }
.cartao-moeda--estreito { max-width: 420px; }

/* ===== Tela Investimentos ===== */
.topo__menu a.ativo { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.inv-cabeca { max-width: 640px; margin-bottom: 32px; }
.inv-cabeca h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); letter-spacing: -.02em; line-height: 1.05; }
.inv-cabeca p { margin-top: 10px; font-size: 1.1rem; }

.ofertas { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; }
.oferta {
  position: relative; display: flex; flex-direction: column; grid-column: span 2;
  background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio);
  box-shadow: var(--sombra); overflow: hidden; transition: transform .2s, box-shadow .2s;
}
.oferta:hover { transform: translate(-3px, -3px); box-shadow: 10px 10px 0 var(--preto); }
.oferta__imagem { position: relative; border-bottom: 2px solid var(--preto); overflow: hidden; }
.oferta__imagem img { display: block; width: 100%; aspect-ratio: 400 / 220; object-fit: cover; transition: transform .4s; }
.oferta:hover .oferta__imagem img { transform: scale(1.04); }
.oferta__numero {
  position: absolute; top: 12px; left: 12px; font-family: "JetBrains Mono", monospace; font-weight: 700;
  background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto); border-radius: 6px; padding: 2px 8px; font-size: .85rem;
}
.oferta__corpo { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.oferta__chamada { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--grafite); }
.oferta__titulo { font-size: 1.7rem; letter-spacing: -.01em; margin: 2px 0 8px; }
.oferta__descricao { font-size: .95rem; }
.oferta__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 18px 0 14px; padding: 14px 0; border-block: 1.5px dashed var(--preto); }
.oferta__meta dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.oferta__meta dd { font-weight: 700; font-size: .92rem; }
.risco { display: flex; gap: 3px; padding-top: 4px; }
.risco i { width: 16px; height: 8px; border: 1.5px solid currentColor; border-radius: 2px; }
.risco i.on { background: currentColor; }
.oferta__exemplos { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.oferta__exemplos li { font-family: "JetBrains Mono", monospace; font-size: .75rem; padding: 3px 8px; border: 1.5px solid currentColor; border-radius: 999px; }
.oferta__btn { margin-top: auto; text-align: center; background: var(--preto); color: var(--amarelo); }

/* 01 · Ações: card de destaque escuro e horizontal */
.oferta--destaque { grid-column: span 4; flex-direction: row; background: var(--preto); color: var(--amarelo); }
.oferta--destaque .oferta__imagem { flex: 1.15; border-bottom: 0; border-right: 2px solid #2E2E2E; background: #161616; }
.oferta--destaque .oferta__imagem img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.oferta--destaque .oferta__corpo { flex: 1; }
.oferta--destaque .oferta__chamada, .oferta--destaque .oferta__descricao { color: #F5E9A8; }
.oferta--destaque .oferta__titulo { font-size: 2.4rem; color: var(--branco); }
.oferta--destaque .oferta__meta { border-color: var(--amarelo); }
.oferta--destaque .oferta__btn { background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); }
.oferta--destaque:hover { box-shadow: 10px 10px 0 var(--amarelo-escuro); }

/* 02 · ETFs: cesta, com faixa listrada de diversificação */
.oferta--cesta .oferta__corpo {
  background: repeating-linear-gradient(135deg, transparent 0 14px, rgba(22,22,22,.035) 14px 28px);
}
.oferta--cesta .oferta__titulo::after { content: " ●●●●●"; font-size: .7rem; letter-spacing: 2px; vertical-align: middle; color: var(--amarelo-escuro); }

/* 03 · REITs: amarelo, com selo de renda mensal */
.oferta--imovel { background: var(--amarelo-claro); }
.oferta--imovel::before {
  content: "RENDA MENSAL"; position: absolute; top: 18px; right: -38px; z-index: 2; transform: rotate(35deg);
  background: var(--preto); color: var(--amarelo); font-weight: 700; font-size: .7rem; letter-spacing: .1em; padding: 4px 44px;
}

/* 04 e 05 · Bonds: estilo título/certificado com canhoto destacável */
.oferta--titulo { padding-right: 44px; }
.oferta--titulo .oferta__corpo { border-top: 0; }
.oferta__canhoto {
  position: absolute; top: 0; right: 0; bottom: 0; width: 44px; border-left: 2px dashed var(--preto);
  display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 16px 0;
  background: var(--amarelo); font-family: "JetBrains Mono", monospace;
}
.oferta__canhoto span { writing-mode: vertical-rl; font-size: .7rem; font-weight: 700; letter-spacing: .15em; }
.oferta__canhoto b { font-size: .95rem; }
/* recortes semicirculares do picote */
.oferta--titulo::before, .oferta--titulo::after {
  content: ""; position: absolute; right: 31px; width: 26px; height: 26px; border-radius: 50%;
  background: var(--amarelo); border: 2px solid var(--preto); z-index: 2;
}
.oferta--titulo::before { top: -15px; }
.oferta--titulo::after { bottom: -15px; }
.oferta--titulo.oferta--escuro { background: var(--preto); color: var(--amarelo); }
.oferta--escuro .oferta__titulo { color: var(--branco); }
.oferta--escuro .oferta__chamada, .oferta--escuro .oferta__descricao { color: #F5E9A8; }
.oferta--escuro .oferta__meta { border-color: var(--amarelo); }
.oferta--escuro .oferta__btn { background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); }
.oferta--escuro:hover { box-shadow: 10px 10px 0 var(--amarelo-escuro); }
.oferta--escuro .oferta__canhoto { background: var(--amarelo-escuro); color: var(--preto); border-left-color: var(--amarelo); }

@media (max-width: 1000px) {
  .ofertas { grid-template-columns: repeat(2, 1fr); }
  .oferta, .oferta--destaque { grid-column: span 1; }
  .oferta--destaque { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .ofertas { grid-template-columns: 1fr; }
  .oferta--destaque { flex-direction: column; }
  .oferta--destaque .oferta__imagem { border-right: 0; border-bottom: 2px solid #2E2E2E; height: 260px; flex: none; }
}

/* ===== Tela Ações · Arena das Ações ===== */
.aviso--ok { background: #DDF5E5; color: var(--alta); border-color: var(--alta); }
.txt-alta { color: #4ADE80; }
.txt-baixa { color: #FF6B6B; }

.arena { background: var(--preto); color: var(--amarelo); padding: 28px 0 48px; border-bottom: 2px solid var(--preto);
  background-image: radial-gradient(circle at 85% 20%, rgba(252,208,4,.12), transparent 45%),
                    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 64px); }
.arena__voltar { font-size: .9rem; opacity: .8; }
.arena__voltar:hover { opacity: 1; text-decoration: underline; }
.arena__grade { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end; margin-top: 18px; }
.arena__kicker { font-family: "JetBrains Mono", monospace; font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; }
.arena__titulo { font-size: clamp(3rem, 9vw, 6.4rem); line-height: .9; letter-spacing: -.04em; color: var(--branco); margin: 8px 0 18px; }
.arena__titulo span { color: var(--amarelo); font-style: italic; }
.arena__sub { font-size: 1.1rem; max-width: 30em; color: #F5E9A8; }

.arena__placar { background: #1F1F1F; border: 2px solid var(--amarelo); border-radius: var(--raio); padding: 22px; box-shadow: 8px 8px 0 var(--amarelo); }
.placar__status { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--branco); }
.pulso { width: 10px; height: 10px; border-radius: 50%; background: #4ADE80; box-shadow: 0 0 0 0 rgba(74,222,128,.6); animation: pulsar 1.6s infinite; }
.pulso--off { background: #9A9A9A; animation: none; }
@keyframes pulsar { 70% { box-shadow: 0 0 0 10px rgba(74,222,128,0); } 100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); } }
.placar__hora { font-size: .85rem; opacity: .75; margin-top: 2px; }
.placar__numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 18px 0; padding: 14px 0; border-block: 1px solid #333; }
.placar__numeros b { display: block; font-size: 1.8rem; color: var(--branco); line-height: 1.1; }
.placar__numeros b.txt-alta { color: #4ADE80; } .placar__numeros b.txt-baixa { color: #FF6B6B; }
.placar__numeros span { font-size: .8rem; opacity: .75; }
.placar__destaques p { display: flex; gap: 8px; align-items: baseline; font-size: .95rem; margin-bottom: 4px; }
.placar__destaques b { color: var(--branco); font-family: "JetBrains Mono", monospace; }
.placar__destaques em { font-style: normal; font-weight: 700; font-family: "JetBrains Mono", monospace; margin-left: auto; }
.placar__btn { width: 100%; margin-top: 14px; background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); cursor: pointer; font-family: inherit; font-size: 1rem; }

.filtros { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.filtros__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { font: inherit; font-weight: 700; cursor: pointer; background: transparent; border: 2px solid var(--preto); border-radius: 999px; padding: 7px 16px; color: var(--preto); }
.chip small { font-family: "JetBrains Mono", monospace; opacity: .7; margin-left: 4px; }
.chip.ativo { background: var(--preto); color: var(--amarelo); }
.filtros__busca { font: inherit; padding: 10px 16px; border: 2px solid var(--preto); border-radius: 999px; background: var(--creme); min-width: min(320px, 100%); }
.filtros__busca:focus { outline: 3px solid var(--amarelo-escuro); }

.acoes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.acao { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); padding: 16px; display: flex; flex-direction: column; gap: 12px; box-shadow: 4px 4px 0 var(--preto); transition: transform .15s, box-shadow .15s; }
.acao:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--preto); }
.acao[hidden] { display: none; }
.acao__topo { display: flex; align-items: center; gap: 10px; }
.acao__avatar { flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--preto); color: var(--amarelo); display: grid; place-items: center; font-family: "JetBrains Mono", monospace; font-weight: 700; }
.acao__id { min-width: 0; }
.acao__id b { display: block; font-family: "JetBrains Mono", monospace; }
.acao__id span { display: block; font-size: .82rem; color: var(--grafite); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acao__pais { margin-left: auto; font-size: .62rem; font-weight: 700; letter-spacing: .05em; border: 1.5px solid var(--preto); border-radius: 6px; padding: 2px 6px; white-space: nowrap; }
.acao__preco p { font-size: 1.35rem; font-weight: 700; line-height: 1.1; }
.acao__preco small { font-size: .78rem; color: var(--grafite); }
.acao__grafico { width: 100%; height: 44px; }
.acao__grafico polyline { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.acao__grafico.sobe polyline { stroke: var(--alta); }
.acao__grafico.desce polyline { stroke: var(--baixa); }
.acao__rodape { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pill, .acao__mes { white-space: nowrap; }
.pill { font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: .82rem; padding: 3px 9px; border-radius: 999px; }
.pill small, .acao__mes small { font-family: "Space Grotesk", sans-serif; font-weight: 500; opacity: .8; }
.pill--alta { background: var(--alta); color: var(--branco); }
.pill--baixa { background: var(--baixa); color: var(--branco); }
.acao__mes { font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: .82rem; }
.acao__mes.txt-alta { color: var(--alta); } .acao__mes.txt-baixa { color: var(--baixa); }
.acao__acoes { display: flex; justify-content: space-between; align-items: center; padding-top: 10px; border-top: 1.5px dashed var(--preto); }
.acao__comprar { font-weight: 700; font-size: .9rem; }
.acao__comprar:hover { text-decoration: underline; }
.acoes__vazio { text-align: center; padding: 32px; font-weight: 700; }
.acoes__nota { margin-top: 24px; font-size: .85rem; color: var(--grafite); }

/* ETFs · Cestas do Mundo */
.arena--etf { background-image: radial-gradient(circle at 80% 30%, rgba(252,208,4,.14), transparent 45%),
  radial-gradient(rgba(252,208,4,.08) 1.5px, transparent 1.5px); background-size: auto, 22px 22px; }
.arena__cesta { display: grid; grid-template-columns: repeat(10, 18px); gap: 6px; margin-top: 22px; }
.arena__cesta span { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--amarelo); }
.arena__cesta span.sobe { background: var(--amarelo); }
.acao--etf .acao__avatar { border-radius: 50%; background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto); }
.acao__taxa { font-size: .8rem; color: var(--grafite); margin-top: -4px; }
.acao__taxa b { color: var(--preto); }

/* REITs · Renda de Concreto */
.arena--reit { background-image: radial-gradient(circle at 82% 25%, rgba(252,208,4,.14), transparent 45%),
  repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 40px); }
.arena__skyline { display: flex; align-items: flex-end; gap: 5px; height: 74px; margin-top: 22px; padding-bottom: 6px; border-bottom: 3px solid var(--amarelo); max-width: 420px; }
.arena__skyline span { flex: 1; background: var(--amarelo); border-radius: 3px 3px 0 0; position: relative; }
.arena__skyline span.desce { background: transparent; border: 2px solid var(--amarelo); border-bottom: 0; }
.arena__skyline span::after { content: ""; position: absolute; left: 30%; right: 30%; top: 6px; height: 3px; background: var(--preto); opacity: .5; }
.arena__skyline span.desce::after { background: var(--amarelo); }
.arena__dy { margin-top: 10px; font-size: .9rem; color: #F5E9A8; }
.arena__dy b { font-family: "JetBrains Mono", monospace; color: var(--branco); font-size: 1.05rem; }
.acao--reit .acao__avatar { clip-path: polygon(50% 0, 100% 38%, 100% 100%, 0 100%, 0 38%); padding-top: 10px; border-radius: 0; }
.acao__dy { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.dy-barra { flex-basis: 100%; height: 6px; border-radius: 999px; background: #E8DFA8; overflow: hidden; }
.dy-barra i { display: block; height: 100%; background: var(--preto); border-radius: 999px; }

@media (max-width: 1000px) { .acoes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .arena__grade { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .acoes { grid-template-columns: minmax(0, 1fr); } }

/* Rodapé */
.rodape { background: var(--preto); color: var(--amarelo); padding: 24px 0; margin-top: 48px; font-size: .9rem; }

/* Responsivo */
@media (max-width: 820px) {
  .hero__grade, .passos { grid-template-columns: 1fr; }
  .kpis { grid-template-columns: 1fr 1fr; }
  .topo__marca img { height: 44px; }
  .hero { padding-top: 40px; }
}

/* ===== Acréscimos FicMoney (telas ligadas à API) ===== */
[hidden] { display: none !important; }
.topo__marca { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.3rem; }
.aviso + .aviso { margin-top: 8px; }
.aviso--info { background: var(--creme); }
.carregando { padding: 40px 0; text-align: center; font-weight: 700; opacity: .7; }
.form-cartao .link { margin-top: 16px; font-size: .9rem; text-align: center; }
.form-cartao .link a { font-weight: 700; text-decoration: underline; cursor: pointer; }
.form-cartao .erro { color: var(--baixa); font-weight: 700; min-height: 1.4em; margin-top: 12px; }
.placar__btn[disabled] { opacity: .55; cursor: default; transform: none; box-shadow: none; }
.placar__proxima { margin-top: 14px; font-size: .85rem; opacity: .75; text-align: center; }
.acao { cursor: pointer; }
.selo--demo { background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto); margin-left: 8px; }

/* Detalhe do ativo (modal) */
.modal { position: fixed; inset: 0; background: rgba(22,22,22,.6); display: grid; place-items: center; padding: 16px; z-index: 50; }
.modal__caixa { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: 10px 10px 0 var(--preto);
  width: min(760px, 100%); max-height: 90vh; overflow-y: auto; padding: 24px; }
.modal__topo { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.modal__topo h2 { font-size: 1.6rem; line-height: 1.1; }
.modal__fechar { font: inherit; font-size: 1.4rem; background: none; border: 2px solid var(--preto); border-radius: 8px; width: 38px; height: 38px; cursor: pointer; }
.modal__preco { display: flex; gap: 16px; align-items: baseline; margin: 10px 0 14px; flex-wrap: wrap; }
.modal__preco b { font-size: 1.8rem; }
.modal__dias { display: flex; gap: 6px; margin-bottom: 8px; }
.modal__dias .chip { padding: 4px 12px; font-size: .85rem; }
.grafico { width: 100%; height: 220px; display: block; background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; }
.noticias { margin-top: 18px; }
.noticia { padding: 12px 0; border-bottom: 1.5px dashed var(--preto); }
.noticia:last-child { border-bottom: 0; }
.noticia b { display: block; }
.noticia small { font-size: .78rem; opacity: .7; }
.noticia p { font-size: .92rem; margin-top: 4px; }

/* Admin */
.job { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding: 18px 20px; }
.job p { font-size: .95rem; }
.param-input { font: inherit; width: 120px; padding: 6px 10px; border: 2px solid var(--preto); border-radius: 8px; text-align: right; }
.btn--mini { padding: 6px 12px; font-size: .85rem; cursor: pointer; font-family: inherit; }
.ref { font-family: "JetBrains Mono", monospace; font-size: .8rem; opacity: .7; }

/* Perfis */
.perfil { font-size: .75rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; border: 2px solid var(--preto); white-space: nowrap; }
.perfil--basico { background: var(--creme); }
.perfil--assinante { background: var(--amarelo-claro); }
.perfil--admin { background: var(--preto); color: var(--amarelo); }
.chip[disabled] { opacity: .5; cursor: not-allowed; }

/* Acesso rápido (desenvolvimento) */
.rapido { margin-top: 22px; padding-top: 18px; border-top: 2px dashed var(--preto); }
.rapido__titulo { font-weight: 700; font-size: .9rem; }
.rapido__sub { font-size: .8rem; color: var(--grafite); margin-bottom: 10px; }
.rapido__botoes { display: grid; gap: 8px; }
.rapido__botoes .btn { cursor: pointer; font-family: inherit; text-align: left; display: flex; justify-content: space-between; align-items: center; background: var(--branco); }
.rapido__botoes .btn small { font-weight: 500; font-size: .78rem; opacity: .75; }
.rapido__botoes .btn--escuro { background: var(--preto); }

/* Cadastro de usuários */
.form-linha { display: grid; grid-template-columns: 1.2fr 1.4fr 1fr 1fr auto; gap: 12px; align-items: end; padding: 20px; }
.form-linha label { display: block; font-weight: 700; font-size: .8rem; margin-bottom: 4px; }
.form-linha input, .form-linha select, .sel-perfil {
  font: inherit; width: 100%; padding: 9px 12px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco); }
.form-linha .check { display: flex; gap: 6px; align-items: center; font-size: .85rem; grid-column: 1 / -1; }
.form-linha .check input { width: auto; }
.form-linha .btn { cursor: pointer; font-family: inherit; }
.sel-perfil { padding: 5px 8px; width: auto; }
.inativo td { opacity: .5; }
.acoes-linha { display: flex; gap: 6px; flex-wrap: wrap; }
@media (max-width: 900px) { .form-linha { grid-template-columns: 1fr 1fr; } }

/* Modo sem login (desenvolvimento) */
.seletor-perfil { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: .85rem;
  background: var(--preto); color: var(--amarelo); padding: 6px 6px 6px 14px; border-radius: 10px; }
.seletor-perfil select { font: inherit; font-weight: 700; border: 0; border-radius: 6px; padding: 4px 8px; background: var(--amarelo); color: var(--preto); cursor: pointer; }

/* Bonds do Tesouro · Cofre do Tesouro */
.arena--tesouro { background-image: radial-gradient(circle at 82% 25%, rgba(252,208,4,.14), transparent 45%),
  repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 2px, transparent 2px 22px); }
.acao--bond .acao__avatar { border-radius: 4px; background: var(--amarelo); color: var(--preto); border: 2px dashed var(--preto); }

/* Bonds corporativos · Crédito das Empresas */
.arena--corporativo { background-image: radial-gradient(circle at 82% 25%, rgba(252,208,4,.14), transparent 45%),
  repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 28px),
  repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 1px, transparent 1px 28px); }
.acao--corporativo .acao__avatar, .acao--cdb .acao__avatar, .acao--lci_lca .acao__avatar {
  border-radius: 4px; background: var(--preto); color: var(--amarelo); border: 2px dashed var(--amarelo); }

/* 06 · CDBs e 07 · LCI e LCA: dupla lado a lado, com faixa de destaque */
.oferta--cdb, .oferta--lci { grid-column: span 3; }
.oferta--cdb { background: var(--amarelo-claro); }
.oferta--lci { background: var(--creme); }
.oferta--lci .oferta__corpo { background: repeating-linear-gradient(0deg, transparent 0 18px, rgba(22,22,22,.035) 18px 19px); }
.oferta--cdb::before, .oferta--lci::before {
  position: absolute; top: 18px; right: -44px; z-index: 2; transform: rotate(35deg);
  background: var(--preto); color: var(--amarelo); font-weight: 700; font-size: .7rem; letter-spacing: .1em; padding: 4px 48px;
}
.oferta--cdb::before { content: "GARANTIA FGC FIC"; }
.oferta--lci::before { content: "ISENTO DE IR"; }
@media (max-width: 1000px) { .oferta--cdb, .oferta--lci { grid-column: span 1; } }
.arena--cdb { background-image: radial-gradient(circle at 82% 25%, rgba(252,208,4,.16), transparent 45%),
  radial-gradient(rgba(252,208,4,.07) 3px, transparent 3px); background-size: auto, 26px 26px; }
.acao--cdb .acao__avatar { border-radius: 50%; background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto); }

/* LCI e LCA · Casa & Campo */
.arena--lci { background-image: radial-gradient(circle at 82% 25%, rgba(252,208,4,.16), transparent 45%),
  repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 30px),
  repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 30px); }
.acao--lci_lca .acao__avatar { clip-path: polygon(50% 0, 100% 38%, 100% 100%, 0 100%, 0 38%); padding-top: 10px; border-radius: 0;
  background: var(--amarelo); color: var(--preto); }

/* 08 · Criptomoedas: card escuro largo; arena Cofre Digital */
.oferta--cripto { grid-column: 1 / -1; flex-direction: row; background: var(--preto); color: var(--amarelo); }
.oferta--cripto .oferta__imagem { flex: 1.15; border-bottom: 0; border-right: 2px solid #2E2E2E; background: #161616; }
.oferta--cripto .oferta__imagem img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.oferta--cripto .oferta__corpo { flex: 1; }
.oferta--cripto .oferta__chamada, .oferta--cripto .oferta__descricao { color: #F5E9A8; }
.oferta--cripto .oferta__titulo { color: var(--branco); font-size: 2.2rem; }
.oferta--cripto .oferta__meta { border-color: var(--amarelo); }
.oferta--cripto .oferta__btn { background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); }
.oferta--cripto:hover { box-shadow: 10px 10px 0 var(--amarelo-escuro); }
@media (max-width: 680px) {
  .oferta--cripto { flex-direction: column; }
  .oferta--cripto .oferta__imagem { border-right: 0; border-bottom: 2px solid #2E2E2E; height: 240px; flex: none; }
}
.arena--cripto { background-image: radial-gradient(circle at 80% 30%, rgba(252,208,4,.18), transparent 45%),
  radial-gradient(rgba(74,222,128,.08) 1.5px, transparent 1.5px); background-size: auto, 18px 18px; }
.acao--crypto .acao__avatar { border-radius: 50%; background: var(--amarelo); color: var(--preto); border: 2px dashed var(--preto); }
.arena--cripto .arena__cesta { grid-template-columns: repeat(10, 18px); }

/* Avisos fixos no canto: sempre visíveis, mesmo com a página rolada */
.avisos { position: fixed; right: 16px; bottom: 16px; z-index: 80; width: min(380px, calc(100% - 32px)); margin: 0;
  display: flex; flex-direction: column; gap: 8px; pointer-events: none; }
.avisos .aviso { box-shadow: 4px 4px 0 var(--preto); pointer-events: auto; animation: entrar-aviso .25s ease-out; }
.aviso + .aviso { margin-top: 0; }
@keyframes entrar-aviso { from { transform: translateY(12px); opacity: 0; } to { transform: none; opacity: 1; } }

/* Botões com confirmação */
.btn--ok { background: var(--alta) !important; color: var(--branco) !important; border-color: var(--alta) !important; }
.btn--falha { background: var(--baixa) !important; color: var(--branco) !important; border-color: var(--baixa) !important; }

/* Abas do Painel admin */
.abas { display: flex; gap: 6px; flex-wrap: wrap; border-bottom: 2px solid var(--preto); }
.abas--admin-secoes { margin: 4px 0 24px; }
.admin-tab-panel[hidden] { display: none !important; }
.aba { font: inherit; font-weight: 700; cursor: pointer; background: var(--creme); color: var(--preto);
  border: 2px solid var(--preto); border-bottom: 0; border-radius: 10px 10px 0 0; padding: 8px 14px; margin-bottom: -2px; }
.aba small { font-family: "JetBrains Mono", monospace; opacity: .7; margin-left: 4px; }
.aba.ativa { background: var(--preto); color: var(--amarelo); }
.aba:hover:not(.ativa) { background: var(--amarelo-claro); }
.edit-input { font: inherit; width: 100%; min-width: 120px; padding: 6px 10px; border: 2px solid var(--preto); border-radius: 8px; background: var(--branco); }
.edit-input--ticker { width: 120px; min-width: 0; text-transform: uppercase; font-weight: 700; }
.edit-input:focus { outline: 3px solid var(--amarelo-escuro); }
.tabela--edicao td { vertical-align: middle; }

.ref-real { font-family: "JetBrains Mono", monospace; font-size: .85rem; }

@media (max-width: 760px) {
  .abas--admin-secoes { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; }
  .abas--admin-secoes .aba { flex: 0 0 auto; }
}

/* Faixa do topo: data da última atualização (canto superior direito) */
.barra-status { background: var(--preto); color: var(--amarelo); font-size: .8rem; }
.barra-status__linha { display: flex; justify-content: flex-end; align-items: center; padding: 5px 0; gap: 8px; }
.barra-status b { color: var(--branco); font-family: "JetBrains Mono", monospace; font-weight: 700; }
.barra-status__demo { background: var(--amarelo); color: var(--preto); font-weight: 700; font-size: .7rem;
  padding: 1px 8px; border-radius: 999px; margin-left: 6px; text-transform: uppercase; letter-spacing: .04em; }

/* Cobertura por segmento (Painel admin) */
.tabela--cobertura { min-width: 860px; }
.tabela--cobertura th, .tabela--cobertura td { padding: 10px 12px; }
.cobertura__celula { display: inline-block; min-width: 34px; padding: 2px 8px; border-radius: 999px; background: var(--preto);
  color: var(--amarelo); font-weight: 700; text-align: center; }
.cobertura__celula:hover { background: var(--amarelo-escuro); color: var(--preto); }
.cobertura__vazia { background: transparent; color: var(--grafite); font-weight: 500; }

/* Filtro por segmento nas telas de oferta */
.filtros--segmento { justify-content: flex-start; margin-top: -10px; }
.filtros__rotulo { font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
.chip--mini { padding: 4px 12px; font-size: .85rem; }
.chip[disabled] small { opacity: .5; }

/* 09 · Moedas estrangeiras: card largo claro; arena Câmbio do Mundo */
.oferta--moedas { grid-column: 1 / -1; flex-direction: row; background: var(--creme); }
.oferta--moedas .oferta__imagem { flex: 1; border-bottom: 0; border-right: 2px solid var(--preto); }
.oferta--moedas .oferta__imagem img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.oferta--moedas .oferta__corpo { flex: 1.2; }
.oferta--moedas::before {
  content: "CÂMBIO"; position: absolute; top: 18px; right: -44px; z-index: 2; transform: rotate(35deg);
  background: var(--preto); color: var(--amarelo); font-weight: 700; font-size: .7rem; letter-spacing: .1em; padding: 4px 56px;
}
.oferta--commodities { grid-column: 1 / -1; flex-direction: row; background: #f4efdf; }
.oferta--commodities .oferta__imagem { flex: 1; border-bottom: 0; border-right: 2px solid var(--preto); }
.oferta--commodities .oferta__imagem img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.oferta--commodities .oferta__corpo { flex: 1.2; }
.oferta--commodities::before { content: "NOVA CATEGORIA"; position: absolute; top: 18px; right: -44px; z-index: 2; transform: rotate(35deg); background: var(--preto); color: var(--amarelo); font-weight: 700; font-size: .7rem; letter-spacing: .1em; padding: 4px 48px; }
.oferta__acoes button:disabled { opacity: .58; cursor: not-allowed; }
.oferta--private { grid-column: 1 / -1; flex-direction: row; color: #f4efdf; background: #16221e; }
.oferta--private .oferta__imagem { flex: 1; border-bottom: 0; border-right: 2px solid #31443b; background: #14211d; }
.oferta--private .oferta__imagem img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
.oferta--private .oferta__corpo { flex: 1.2; }
.oferta--private .oferta__titulo { color: #fff; }
.oferta--private .oferta__chamada, .oferta--private .oferta__descricao { color: #d4e1d7; }
.oferta--private .oferta__meta { border-color: #718a78; }
.oferta--private .oferta__meta dt { color: #c4d2c7; }
.oferta--private .oferta__btn { color: #13211a; background: #d6b85d; border-color: #d6b85d; }
@media (max-width: 680px) {
  .oferta--moedas { flex-direction: column; }
  .oferta--moedas .oferta__imagem { border-right: 0; border-bottom: 2px solid var(--preto); height: 220px; flex: none; }
  .oferta--commodities { flex-direction: column; }
  .oferta--commodities .oferta__imagem { border-right: 0; border-bottom: 2px solid var(--preto); height: 220px; flex: none; }
  .oferta--private { flex-direction: column; }
  .oferta--private .oferta__imagem { border-right: 0; border-bottom: 2px solid #31443b; height: 220px; flex: none; }
}
.arena--moedas { background-image: radial-gradient(circle at 80% 30%, rgba(252,208,4,.16), transparent 45%),
  repeating-radial-gradient(circle at 85% 35%, rgba(255,255,255,.035) 0 1px, transparent 1px 34px); }
.arena--private { background-image: radial-gradient(circle at 82% 25%, rgba(86,154,112,.25), transparent 42%),
  repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 38px); }
.arena__moedas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.arena__moedas span { border: 2px solid var(--amarelo); border-radius: 999px; padding: 4px 12px; font-family: "JetBrains Mono", monospace; font-weight: 700; }
.arena__moedas span.sobe { background: var(--amarelo); color: var(--preto); }
.arena__moedas b { margin-left: 4px; }
.acao--moeda .acao__avatar { border-radius: 50%; background: var(--creme); font-size: 1.3rem; border: 2px solid var(--preto); }

/* ===== Jornal FicMoney ===== */
.jornal__cabeca { text-align: center; border-top: 4px solid var(--preto); border-bottom: 4px double var(--preto); padding: 14px 0 18px; margin-bottom: 24px; }
.jornal__edicao { font-family: "JetBrains Mono", monospace; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; }
.jornal__nome { font-family: "Playfair Display", Georgia, serif; font-weight: 900; font-size: clamp(2.6rem, 8vw, 5.2rem); line-height: 1; letter-spacing: -.02em; margin: 6px 0; }
.jornal__lema { font-size: .95rem; color: var(--grafite); }
.jornal__plano { margin-top: 10px; font-size: .85rem; display: flex; gap: 8px; justify-content: center; align-items: center; flex-wrap: wrap; }
.jornal__topo { display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px; margin-bottom: 28px; }
.manchete { background: var(--preto); color: var(--amarelo); border-radius: var(--raio); padding: 28px; box-shadow: 10px 10px 0 var(--amarelo-escuro);
  display: flex; flex-direction: column; gap: 14px; }
.manchete__chapeu { font-family: "JetBrains Mono", monospace; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; opacity: .85; }
.manchete h2 { font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.7rem, 3.4vw, 2.6rem); line-height: 1.1; color: var(--branco); }
.manchete__texto { color: #F5E9A8; font-size: 1.05rem; }
.manchete .btn { align-self: flex-start; background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); }
.manchete .tag { background: var(--amarelo); color: var(--preto); }
.jornal__lado { display: flex; flex-direction: column; gap: 16px; }
.jornal__ranking { padding: 16px 18px; }
.jornal__ranking h3 { font-size: 1rem; margin-bottom: 8px; }
.jornal__ranking ol { list-style: none; }
.jornal__ranking li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px dashed #E8DFA8; font-size: .9rem; }
.jornal__ranking li:last-child { border-bottom: 0; }
.jornal__ranking a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jornal__ranking a:hover { text-decoration: underline; }
.jornal__filtros { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; }
.jornal__filtros .sel-perfil { padding: 9px 12px; }
.jornal__corpo { display: grid; grid-template-columns: 1.3fr 1fr; gap: 28px; margin-top: 18px; align-items: start; }
.jornal__secao { font-family: "Playfair Display", Georgia, serif; font-size: 1.6rem; border-bottom: 3px solid var(--preto); padding-bottom: 6px; margin-bottom: 12px; }
.noticia-jornal { padding: 16px 0; border-bottom: 1.5px solid var(--preto); }
.noticia-jornal h3 { font-family: "Playfair Display", Georgia, serif; font-size: 1.25rem; line-height: 1.2; margin: 6px 0; }
.noticia-jornal p { font-size: .95rem; }
.noticia-jornal__meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.noticia-jornal__meta small { font-family: "JetBrains Mono", monospace; font-size: .75rem; opacity: .75; margin-left: auto; }
.noticia-jornal__acoes { display: flex; gap: 16px; margin-top: 8px; font-weight: 700; font-size: .85rem; flex-wrap: wrap; }
.noticia-jornal__acoes a:hover { text-decoration: underline; }
.tag--clara { background: var(--creme); color: var(--preto); border: 1.5px solid var(--preto); }
.tag--assinante { background: var(--amarelo-escuro); color: var(--preto); }
.empresas { display: grid; grid-template-columns: 1fr; gap: 14px; }
.empresa { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); padding: 16px; box-shadow: 4px 4px 0 var(--preto); }
.empresa header { display: flex; justify-content: space-between; align-items: center; }
.empresa h3 { font-size: 1.15rem; margin: 4px 0; }
.empresa__perfil { font-size: .88rem; color: var(--grafite); }
.empresa__dados { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px 12px; margin: 10px 0; }
.empresa__dados dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.empresa__dados dd { font-weight: 700; font-size: .9rem; }
.empresa__acoes { display: flex; gap: 16px; font-weight: 700; font-size: .88rem; border-top: 1.5px dashed var(--preto); padding-top: 8px; margin-top: 6px; }
.empresa__acoes a:hover { text-decoration: underline; }
#mais, #mais-empresas { margin-top: 14px; }
@media (max-width: 900px) { .jornal__topo, .jornal__corpo { grid-template-columns: 1fr; } }

/* ===== Ferramentas ===== */
.ferr-cabeca { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.ferr-cabeca h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); letter-spacing: -.02em; line-height: 1.05; }
.ferr-cabeca p { max-width: 36em; margin-top: 8px; font-size: 1.05rem; }
.ferr-saldo { padding: 20px 28px; min-width: 260px; }
.ferr-saldo .cartao-moeda__rotulo { margin-top: 0; }
.ferramentas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.ferramenta { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra);
  padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.ferramenta h2 { font-size: 1.4rem; line-height: 1.1; }
.ferramenta--ativa { background: var(--amarelo-claro); }
.ferramenta__icone { font-size: 2rem; width: 56px; height: 56px; display: grid; place-items: center; background: var(--preto);
  border-radius: 14px; }
.ferramenta__lista { list-style: none; font-size: .9rem; margin: 4px 0; }
.ferramenta__lista li::before { content: "✓ "; font-weight: 700; color: var(--alta); }
.ferramenta__preco { margin-top: auto; padding-top: 12px; border-top: 1.5px dashed var(--preto); display: flex; align-items: baseline; gap: 8px; }
.ferramenta__preco b { font-size: 1.5rem; }
.ferramenta__preco span { font-size: .85rem; opacity: .75; }
.ferramenta__status { font-weight: 700; color: var(--alta); font-size: .9rem; }
.ferramenta .btn--bloco { margin-top: 6px; text-align: center; cursor: pointer; font-family: inherit; }
.ferr-area { margin-top: 32px; padding: 22px; }
.ferr-area__topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.ferr-form { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; margin-bottom: 16px; }
.ferr-form label { display: flex; flex-direction: column; gap: 4px; font-weight: 700; font-size: .8rem; }
.ferr-form .edit-input { width: 140px; }
.ferr-form .btn { cursor: pointer; font-family: inherit; }
.ferr-confirma { max-width: 440px; text-align: left; display: flex; flex-direction: column; gap: 10px; }
.ferr-confirma__botoes { display: flex; gap: 10px; justify-content: flex-end; }
.ferr-confirma__botoes .btn { cursor: pointer; font-family: inherit; }
.legenda { display: flex; gap: 14px; flex-wrap: wrap; margin: 8px 0 14px; font-size: .85rem; }
.legenda i, .ponto { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: middle; }
.termometro { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.termo { border: 2px solid var(--preto); border-radius: 12px; padding: 14px; }
.termo h3 { font-size: 1rem; }
.termo__mes { font-size: 1.5rem; font-weight: 700; }
.termo--quente { background: rgba(14, 122, 58, var(--i)); }
.termo--frio { background: rgba(179, 38, 30, var(--i)); }
.vol-barra { display: inline-block; width: 90px; height: 8px; background: #E8DFA8; border-radius: 999px; overflow: hidden; vertical-align: middle; }
.vol-barra i { display: block; height: 100%; background: var(--preto); }
.kpis--tec { margin-bottom: 14px; }
.rsi { display: block; position: relative; height: 8px; margin-top: 8px; border-radius: 999px;
  background: linear-gradient(90deg, #4ADE80 0 30%, #9A9A9A 30% 70%, #FF6B6B 70%); }
.rsi i { position: absolute; top: -4px; width: 4px; height: 16px; background: var(--branco); transform: translateX(-2px); }
.tec-sinal { font-size: 1.2rem; margin-bottom: 6px; }
.tec-notas { margin: 10px 0 0 18px; display: grid; gap: 4px; }

/* ===== Topo: logotipo no canto superior esquerdo, menu no canto superior direito ===== */
.topo__largura { width: 100%; padding-inline: clamp(16px, 3vw, 40px); }
.topo__linha { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 10px; position: relative; }
.topo__marca { flex: none; margin-right: auto; }
.topo__marca img { height: 52px; }
.topo__menu { flex-wrap: nowrap; justify-content: flex-end; gap: 22px; white-space: nowrap; margin-left: auto; }
.topo__menu a:not(.btn) { padding: 6px 0; }
.topo__admin { position: relative; }
.topo__admin > summary { display: flex; align-items: center; gap: 8px; list-style: none; cursor: pointer; padding: 6px 0; }
.topo__admin > summary::-webkit-details-marker { display: none; }
.topo__admin > summary.ativo { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; }
.topo__admin-links { display: none; position: absolute; top: calc(100% + 8px); right: 0; z-index: 90; min-width: 220px;
  flex-direction: column; gap: 0; padding: 8px; background: var(--creme); border: 2px solid var(--preto);
  border-radius: var(--raio); box-shadow: var(--sombra); }
.topo__admin[open] .topo__admin-links { display: flex; }
.topo__admin-links a:not(.btn) { display: block; padding: 10px 12px; border-radius: 8px; }
.topo__admin-links a:not(.btn):hover, .topo__admin-links a.ativo { background: var(--amarelo-claro); text-decoration: none; }
.topo__botao { display: none; font: inherit; font-weight: 700; cursor: pointer; background: var(--preto); color: var(--amarelo);
  border: 2px solid var(--preto); border-radius: 10px; padding: 8px 14px; margin-left: auto; }
.barra-status__linha { padding-block: 5px; }

/* Telas estreitas: menu recolhido num botão, que abre um painel alinhado à direita */
@media (max-width: 1440px) {
  .topo__botao { display: inline-block; }
  .topo__menu { display: none; position: absolute; top: calc(100% + 2px); right: clamp(16px, 3vw, 40px); z-index: 70;
    flex-direction: column; align-items: stretch; gap: 0; min-width: 240px; background: var(--creme);
    border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); padding: 8px; white-space: normal; }
  .topo__menu.aberto { display: flex; }
  .topo__menu a:not(.btn) { display: block; padding: 10px 12px; border-radius: 8px; }
  .topo__menu a:not(.btn):hover, .topo__menu a.ativo { background: var(--amarelo-claro); text-decoration: none; }
  .topo__admin { width: 100%; }
  .topo__admin > summary { justify-content: space-between; padding: 10px 12px; border-radius: 8px; }
  .topo__admin > summary:hover, .topo__admin > summary.ativo { background: var(--amarelo-claro); text-decoration: none; }
  .topo__admin-links { position: static; min-width: 0; display: none; padding: 0 0 4px 12px;
    border: 0; border-left: 2px solid var(--amarelo-escuro); border-radius: 0; box-shadow: none; background: transparent; }
  .topo__admin[open] .topo__admin-links { display: flex; }
  .topo__menu .seletor-perfil { margin-top: 6px; justify-content: space-between; }
  .topo__menu .btn { text-align: center; margin-top: 6px; }
  .topo__menu .perfil { align-self: flex-start; margin: 6px 12px; }
}

/* Painel admin · alternador "Nome fictício / Nome verdadeiro" */
.nomes-barra { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.alternador { display: inline-flex; align-items: center; border: 2px solid var(--preto); border-radius: 999px; overflow: hidden; background: var(--creme); }
.alternador__rotulo { font-weight: 700; padding: 0 10px 0 14px; }
.alternador__op { font: inherit; font-weight: 700; cursor: pointer; border: 0; border-left: 2px solid var(--preto);
  background: transparent; color: var(--preto); padding: 8px 16px; }
.alternador__op.ativa { background: var(--preto); color: var(--amarelo); }
.alternador__op:hover:not(.ativa) { background: var(--amarelo-claro); }
.alternador__op:focus-visible { outline: 3px solid var(--amarelo-escuro); outline-offset: -3px; }
.btn--claro { background: var(--branco); color: var(--preto); border: 2px solid var(--preto); }
.btn--claro:hover { background: var(--amarelo-claro); }
.acoes-linha { white-space: nowrap; }
.acoes-linha .btn + .btn { margin-left: 6px; }
.painel--usuarios { overflow-x: hidden; }
.tabela--usuarios { min-width: 0; table-layout: fixed; }
.tabela--usuarios th, .tabela--usuarios td { padding: 10px 9px; vertical-align: middle; }
.tabela--usuarios th:nth-child(1) { width: 20%; }
.tabela--usuarios th:nth-child(2) { width: 16%; }
.tabela--usuarios th:nth-child(3) { width: 15%; }
.tabela--usuarios th:nth-child(4) { width: 11%; }
.tabela--usuarios th:nth-child(5) { width: 15%; }
.tabela--usuarios th:nth-child(6) { width: 23%; }
.tabela--usuarios .u-role .sel-perfil { width: 100%; min-width: 0; padding: 5px 6px; font-size: .82rem; }
.tabela--usuarios .u-state { line-height: 1.35; overflow-wrap: anywhere; }
.tabela--usuarios .u-ident { overflow-wrap: anywhere; }
.tabela--usuarios .u-ident small { display: block; color: var(--grafite); font-size: .78rem; overflow-wrap: anywhere; }
.tabela--usuarios .u-access { font-size: .8rem; }
.tabela--usuarios .u-actions .acoes-linha { white-space: normal; gap: 5px; }
.tabela--usuarios .u-actions .btn + .btn { margin-left: 0; }
.tabela--usuarios .u-actions .btn { padding: 6px 8px; font-size: .76rem; }

@media (max-width: 760px) {
  .painel--usuarios { overflow: visible; }
  .tabela--usuarios, .tabela--usuarios tbody { display: block; width: 100%; }
  .tabela--usuarios thead { display: none; }
  .tabela--usuarios tbody { display: grid; gap: 12px; }
  .tabela--usuarios tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border: 2px solid var(--preto); border-radius: 12px; background: var(--creme); box-shadow: 3px 3px 0 var(--preto); overflow: hidden; }
  .tabela--usuarios tbody tr:hover { background: var(--creme); }
  .tabela--usuarios tbody td { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px 12px; border-bottom: 1px solid #E8DFA8; text-align: left; overflow-wrap: anywhere; }
  .tabela--usuarios tbody td::before { content: attr(data-label); color: var(--grafite); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
  .tabela--usuarios tbody td.u-ident, .tabela--usuarios tbody td.u-actions, .tabela--usuarios tbody td[colspan] { grid-column: 1 / -1; }
  .tabela--usuarios tbody td.u-ident { display: block; font-size: 1rem; }
  .tabela--usuarios tbody td.u-ident::before { display: block; margin-bottom: 4px; }
  .tabela--usuarios tbody td.u-ident small { margin-top: 3px; }
  .tabela--usuarios tbody td.u-actions { border-bottom: 0; }
  .tabela--usuarios .u-actions .acoes-linha { display: flex; flex-wrap: wrap; }
  .tabela--usuarios .u-actions .btn { min-height: 36px; }
}
.linha-sem-real td { background: rgba(0, 0, 0, .025); }
.barra-status__homolog { display: inline-block; margin-left: 8px; padding: 1px 10px; border-radius: 999px; font-weight: 700;
  background: #c62828; color: #fff; }

/* ===== Gráfico de preço com a faixa do período (máx/mín) e último fechamento ===== */
.grafico--precos { height: auto; aspect-ratio: 760 / 320; touch-action: pan-y; }
.grafico--precos text { font-family: "JetBrains Mono", monospace; }
.g-grade { stroke: rgba(0, 0, 0, .09); stroke-width: 1; }
.g-eixo { font-size: 11px; fill: #6b6b6b; }
.g-banda { fill: var(--amarelo); opacity: .14; }
.g-faixa { stroke-width: 1.4; stroke-dasharray: 6 5; }
.g-faixa.g-max { stroke: var(--alta); } .g-faixa.g-min { stroke: var(--baixa); }
.g-ponto { stroke: var(--branco); stroke-width: 2; }
.g-ponto.g-max { fill: var(--alta); } .g-ponto.g-min { fill: var(--baixa); }
.g-rotulo { font-size: 11.5px; font-weight: 700; paint-order: stroke; stroke: var(--branco); stroke-width: 4px; }
.g-rotulo.g-max { fill: var(--alta); } .g-rotulo.g-min { fill: var(--baixa); }
.g-ultimo { stroke: var(--preto); stroke-width: 1; stroke-dasharray: 2 3; }
.g-tag text { font-size: 11px; font-weight: 700; fill: #fff; }
.g-tag--max rect { fill: var(--alta); } .g-tag--min rect { fill: var(--baixa); } .g-tag--ultimo rect { fill: var(--preto); }
.g-tag--ultimo text { fill: var(--amarelo); }
.g-cursor__linha { stroke: var(--preto); stroke-width: 1; stroke-dasharray: 3 3; }
.g-cursor__ponto { fill: var(--amarelo); stroke: var(--preto); stroke-width: 2; }
.g-cursor__caixa { fill: var(--preto); opacity: .92; }
.g-cursor__data { font-size: 11px; fill: #ddd; } .g-cursor__valor { font-size: 12.5px; font-weight: 700; fill: var(--amarelo); }
.g-area { cursor: crosshair; }

.faixa-periodo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 6px 0 10px; }
.faixa-periodo > div { background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; padding: 6px 10px; display: flex; flex-direction: column; }
.faixa-periodo small { font-size: .72rem; opacity: .7; text-transform: uppercase; letter-spacing: .03em; }
.faixa-periodo b { font-size: 1.05rem; }
.faixa-periodo span { font-size: .78rem; opacity: .75; }
@media (max-width: 640px) { .faixa-periodo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.modal__preco .fechamento { display: flex; flex-direction: column; }
.modal__preco .fechamento small { font-size: .78rem; opacity: .75; }
.modal__dias { flex-wrap: wrap; align-items: center; }
.acao__fech { display: block; font-size: .72rem; opacity: .7; }
.faixa-periodo .txt-alta { color: var(--alta); } .faixa-periodo .txt-baixa { color: var(--baixa); }

/* Detalhe do ativo · últimos 5 fechamentos */
.ultimos-pregoes { background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; padding: 8px 12px; margin: 0 0 10px; }
.ultimos-pregoes h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; margin: 0 0 4px; opacity: .75; }
.ultimos-pregoes ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.ultimos-pregoes li { display: flex; flex-direction: column; padding: 4px 8px; border-radius: 8px; font-size: .82rem; }
.ultimos-pregoes li b { font-size: .98rem; }
.ultimos-pregoes li.atual { background: var(--amarelo-claro); }
.ultimos-pregoes .alta { color: var(--alta); } .ultimos-pregoes .baixa { color: var(--baixa); }
@media (max-width: 640px) {
  .ultimos-pregoes ol { grid-template-columns: 1fr; gap: 0; }
  .ultimos-pregoes li { flex-direction: row; justify-content: space-between; gap: 8px; border-bottom: 1px solid rgba(0,0,0,.08); }
}

/* ===== Carteira e boleta de ordens ===== */
.btn--compra { background: var(--alta); color: #fff; border: 2px solid var(--preto); cursor: pointer; font-family: inherit; }
.btn--venda { background: var(--baixa); color: #fff; border: 2px solid var(--preto); cursor: pointer; font-family: inherit; }
.btn--compra:hover, .btn--venda:hover { filter: brightness(1.12); }
.btn:disabled { opacity: .55; cursor: not-allowed; filter: none; }
.pill--compra { background: #DCF2E3; color: var(--alta); } .pill--venda { background: #F9DEDC; color: var(--baixa); }
.modal__ordem { margin-left: auto; display: inline-flex; gap: 6px; }

.modal__caixa--ordem { max-width: 520px; }
.boleta__lados { display: grid; grid-template-columns: 1fr 1fr; border: 2px solid var(--preto); border-radius: 12px; overflow: hidden; margin: 10px 0 12px; }
.boleta__lado { font: inherit; font-weight: 700; padding: 10px; border: 0; background: var(--branco); cursor: pointer; }
.boleta__lado + .boleta__lado { border-left: 2px solid var(--preto); }
.boleta__lado:disabled { opacity: .45; cursor: not-allowed; }
[data-lado="compra"] .boleta__lado.ativo { background: var(--alta); color: #fff; }
[data-lado="venda"] .boleta__lado.ativo { background: var(--baixa); color: #fff; }
.boleta__info { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.boleta__info > div { background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; padding: 6px 10px; display: flex; flex-direction: column; }
.boleta__info small { font-size: .72rem; opacity: .7; }
.boleta__form { display: grid; gap: 10px; }
.boleta__form label { display: flex; flex-direction: column; gap: 4px; font-weight: 700; }
.boleta__form input { font: inherit; font-family: "JetBrains Mono", monospace; padding: 10px 12px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco); }
.boleta__form input:focus { outline: 3px solid var(--amarelo-escuro); }
.boleta__atalhos { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.boleta__resumo { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; margin: 0; padding: 10px 12px; background: var(--branco); border: 2px dashed var(--preto); border-radius: 10px; }
.boleta__resumo dt { opacity: .75; } .boleta__resumo dd { margin: 0; text-align: right; }
.boleta__resumo .txt-alta { color: var(--alta); } .boleta__resumo .txt-baixa { color: var(--baixa); }
.boleta__erro { color: var(--baixa); font-weight: 700; min-height: 1.2em; margin: 0; }
.boleta__enviar { width: 100%; padding: 12px; font-size: 1rem; cursor: pointer; }
[data-lado="compra"] .boleta__enviar:not(:disabled) { background: var(--alta); color: #fff; }
[data-lado="venda"] .boleta__enviar:not(:disabled) { background: var(--baixa); color: #fff; }
.boleta__nota { margin: 0; text-align: center; }
@media (max-width: 520px) { .boleta__info { grid-template-columns: 1fr; } }

.nova-ordem { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.nova-ordem .filtros__busca { min-width: 260px; }
.nova-ordem .btn { padding: 10px 18px; }
.kpis--carteira { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kpi small { display: block; font-size: .78rem; opacity: .7; margin-top: 2px; }
.kpi--destaque { background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto); }
.kpi--destaque b { color: var(--preto); }
.kpi .txt-alta { color: #4ADE80; } .kpi .txt-baixa { color: #FF6B6B; }
@media (max-width: 820px) { .kpis--carteira { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.alocacao { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); padding: 16px; }
.alocacao__barra { display: flex; height: 22px; border: 2px solid var(--preto); border-radius: 999px; overflow: hidden; background: var(--branco); }
.alocacao__barra i { display: block; height: 100%; }
.alocacao__barra i + i { border-left: 2px solid var(--branco); }
.alocacao__legenda { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
.alocacao__legenda li { display: flex; align-items: center; gap: 6px; }
.alocacao__legenda li span { width: 12px; height: 12px; border-radius: 3px; border: 1px solid var(--preto); }
.alocacao__legenda small { opacity: .7; }
.tabela--posicoes .txt-alta, .tabela--ordens .txt-alta { color: var(--alta); font-weight: 700; }
.tabela--posicoes .txt-baixa, .tabela--ordens .txt-baixa { color: var(--baixa); font-weight: 700; }
.tabela--posicoes a.abrir-ativo { color: inherit; text-decoration: none; }
.tabela--posicoes a.abrir-ativo:hover .tabela__ticker { text-decoration: underline; }
.tabela td.vazio { text-align: center; padding: 28px 20px; }
.passo--link { color: inherit; text-decoration: none; display: block; }
.passo--link:hover { transform: translateY(-2px); }
.passo__ir { display: inline-block; margin-top: 8px; font-weight: 700; text-decoration: underline; }
.tabela--posicoes th, .tabela--posicoes td, .tabela--ordens th, .tabela--ordens td { padding: 12px 12px; }
.tabela--posicoes td.num, .tabela--ordens td.num, .tabela--ordens td.mono { white-space: nowrap; }
.boleta__form label small.ref { font-weight: 500; }
.teste-login { margin-top: 18px; padding: 12px 14px; border: 2px dashed var(--preto); border-radius: 12px; background: var(--branco); }
.teste-login p { margin: 0 0 8px; }

/* ===== Ranking ===== */
.ranking-topo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 16px; margin-bottom: 24px; align-items: stretch; }
.kpis--ranking { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 0; }
.minha-posicao { background: var(--amarelo); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); padding: 16px 20px; }
.minha-posicao__rotulo { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.minha-posicao > b { display: block; font-size: 2.2rem; line-height: 1.1; margin: 4px 0; }
.minha-posicao > b small { font-size: 1rem; font-weight: 500; }
.minha-posicao p { margin: 4px 0 0; }
.minha-posicao .txt-alta { color: var(--alta); font-weight: 700; } .minha-posicao .txt-baixa { color: var(--baixa); font-weight: 700; }
.podio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: end; margin: 0 auto 24px; max-width: 760px; }
.podio__lugar { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; }
.podio__medalha { font-size: 2rem; }
.podio__lugar .txt-alta { color: var(--alta); font-weight: 700; } .podio__lugar .txt-baixa { color: var(--baixa); font-weight: 700; }
.podio__degrau { width: 100%; margin-top: 8px; background: var(--preto); color: var(--amarelo); font-weight: 700; font-size: 1.4rem;
  border-radius: 12px 12px 0 0; display: flex; align-items: center; justify-content: center; border: 2px solid var(--preto); }
.podio__lugar--1 .podio__degrau { height: 110px; background: var(--amarelo); color: var(--preto); }
.podio__lugar--2 .podio__degrau { height: 80px; }
.podio__lugar--3 .podio__degrau { height: 56px; }
.podio__lugar.eu b { text-decoration: underline; text-decoration-thickness: 3px; }
.tabela--ranking .linha-eu td { background: var(--amarelo-claro); font-weight: 700; }
.tabela--ranking .txt-alta { color: var(--alta); font-weight: 700; } .tabela--ranking .txt-baixa { color: var(--baixa); font-weight: 700; }
.tabela--ranking td.num, .tabela--ranking td.mono { white-space: nowrap; }
@media (max-width: 820px) { .ranking-topo { grid-template-columns: 1fr; } .kpis--ranking { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Extrato da conta $F */
.extrato-resumo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.extrato-resumo > div { background: var(--creme); border: 2px solid var(--preto); border-radius: 10px; padding: 8px 12px; display: flex; flex-direction: column; }
.extrato-resumo small { font-size: .75rem; opacity: .75; }
.extrato-resumo .txt-alta, .tabela--extrato .txt-alta { color: var(--alta); font-weight: 700; }
.extrato-resumo .txt-baixa, .tabela--extrato .txt-baixa { color: var(--baixa); font-weight: 700; }
.tabela--extrato td.num, .tabela--extrato td.mono { white-space: nowrap; }
.tabela--extrato .linha-deposito td { background: rgba(255, 228, 92, .35); }
.subtitulo small.ref { font-size: .9rem; font-weight: 500; }
.kpi--destaque small b { color: var(--preto); }
.saldo-topo { font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: .85rem; background: var(--preto); color: var(--amarelo);
  padding: 6px 12px; border-radius: 999px; white-space: nowrap; }
@media (max-width: 640px) { .extrato-resumo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kpi small b { display: inline; font-size: inherit; margin: 0; }
.seletor-perfil select { max-width: 190px; text-overflow: ellipsis; }
.topo__menu .saldo-topo { text-decoration: none; }
.topo__menu .saldo-topo:hover { color: var(--branco); }
.kpi small b.mono { font-size: inherit; color: inherit; }
.topo__menu .saldo-topo { flex-shrink: 0; }
.cartao-moeda__stats b.mono { font-size: .95rem; white-space: nowrap; }
.cartao-moeda__stats .txt-alta { color: #4ADE80; } .cartao-moeda__stats .txt-baixa { color: #FF6B6B; }
.cartao-moeda__link { display: inline-block; margin-top: 16px; color: var(--amarelo); font-weight: 700; }
.job__botoes { display: flex; gap: 8px; flex-wrap: wrap; }

/* ===== Encerramento do pregão (admin) ===== */
.fech-filtros { margin: 12px 0 6px; gap: 10px; }
.fech-check { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.fech-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; margin-top: 10px; }
.fech-card { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); padding: 14px 16px; }
.fech-card header { font-size: .95rem; padding-bottom: 8px; margin-bottom: 6px; border-bottom: 2px solid var(--preto); }
.fech-card ul { list-style: none; margin: 0; padding: 0; }
.fech-card li { display: grid; grid-template-columns: 96px 1fr auto; align-items: center; gap: 8px; padding: 5px 4px; border-bottom: 1px dashed #E8DFA8; }
.fech-card li:last-child { border-bottom: 0; }
.fech-card li.ultimo { background: var(--amarelo-claro); border-radius: 8px; }
.fech-data { font-size: .85rem; }
.fech-preco { display: flex; align-items: center; gap: 6px; font-size: .8rem; }
.fech-var { text-align: right; font-size: .85rem; white-space: nowrap; }
.fech-input { width: 110px; font: inherit; font-family: "JetBrains Mono", monospace; padding: 4px 8px; border: 2px solid var(--preto); border-radius: 8px; background: var(--branco); text-align: right; }
.fech-input:focus { outline: 3px solid var(--amarelo-escuro); }
.fech-input.editado { border-style: dashed; }
.fech-input.alterado { background: #FFF3B0; border-color: var(--baixa); }
.fech-tag { font-weight: 700; cursor: help; }
.tabela--fech th, .tabela--fech td { padding: 10px 10px; white-space: nowrap; }
.tabela--fech .alta, .fech-card .alta { color: var(--alta); font-weight: 700; } .tabela--fech .baixa, .fech-card .baixa { color: var(--baixa); font-weight: 700; }
.barra-salvar { position: sticky; bottom: 0; z-index: 60; background: var(--preto); color: var(--amarelo); border-top: 3px solid var(--amarelo); }
.barra-salvar__linha { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; flex-wrap: wrap; }
.barra-salvar .btn--escuro { background: var(--amarelo); color: var(--preto); }
.fech-card li.fech-cab { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; opacity: .7; border-bottom: 0; padding-bottom: 0; }
.fech-card li.fech-cab span:last-child { text-align: right; }

/* Dia do jogo (homologação) */
.barra-status__jogo { display: inline-block; margin-left: 8px; padding: 1px 10px; border-radius: 999px; font-weight: 700; background: #1D4ED8; color: #fff; }
.jogo { padding: 18px 20px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 16px 20px; align-items: start; }
.jogo__dia small { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.jogo__dia > b { display: block; font-size: 1.5rem; text-transform: capitalize; }
.jogo__dia .ref { display: block; margin-top: 4px; }
.jogo__controles { display: grid; gap: 12px; }
.jogo__grupo { min-width: 0; padding: 10px 12px; border: 1px solid #E8DFA8; border-radius: 10px; background: #FFFDF4; }
.jogo__grupo > small { display: block; margin-bottom: 8px; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.jogo__botoes, .jogo__ir { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.jogo__botoes .btn { flex: 1 1 auto; }
.jogo__periodos .btn { min-width: 110px; }
.jogo__ir label { display: inline-flex; gap: 6px; align-items: center; font-weight: 700; }
.jogo__ir .fech-input { width: auto; text-align: left; }
.jogo__nota { grid-column: 1 / -1; margin: 0; }
.jogo__ir { grid-column: 1 / -1; justify-content: flex-start; padding-top: 12px; border-top: 1px dashed #E8DFA8; }
.jogo__ir .btn--venda { margin-left: auto; }
@media (max-width: 820px) { .jogo { grid-template-columns: 1fr; } .jogo__botoes, .jogo__ir { justify-content: flex-start; } }
@media (max-width: 520px) { .jogo { padding: 14px; } .jogo__botoes .btn { flex: 1 1 100%; } .jogo__ir > * { max-width: 100%; } .jogo__ir .btn--escuro { white-space: normal; } }
.boleta__carteira { display: flex; align-items: center; gap: 10px; margin: 6px 0 4px; }
.boleta__carteira label { display: flex; align-items: center; gap: 8px; font-weight: 700; flex: 1; }
.boleta__carteira select { flex: 1; font: inherit; padding: 8px 10px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco); }
.boleta__cor { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--preto); flex: none; }
.boleta__carteira p { margin: 0; }

/* ===== Carteiras múltiplas ===== */
.conta-barra { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; background: var(--preto); color: var(--amarelo);
  border-radius: var(--raio); padding: 12px 18px; margin-bottom: 14px; }
.conta-barra > div { display: flex; flex-direction: column; }
.conta-barra small { font-size: .78rem; opacity: .85; } .conta-barra small .ref { color: inherit; opacity: .7; }
.conta-barra b { color: var(--branco); font-size: 1.2rem; }
.conta-barra__acoes { margin-left: auto; flex-direction: row !important; gap: 8px; }
.conta-barra .btn--mini:not(.btn--escuro) { background: var(--branco); color: var(--preto); }
.conta-barra .btn--escuro { background: var(--amarelo); color: var(--preto); }
.carteiras { display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 10px; margin-bottom: 8px; }
.carteira-tab { --cor: var(--preto); flex: 0 0 auto; min-width: 190px; text-align: left; font: inherit; cursor: pointer;
  background: var(--creme); border: 2px solid var(--preto); border-left: 8px solid var(--cor); border-radius: 12px; padding: 10px 14px;
  display: flex; flex-direction: column; gap: 2px; }
.carteira-tab b { font-size: 1.05rem; }
.carteira-tab small { font-size: .78rem; opacity: .8; font-family: "JetBrains Mono", monospace; }
.carteira-tab__nome { font-weight: 700; }
.carteira-tab.ativa { background: var(--preto); color: var(--amarelo); box-shadow: 4px 4px 0 var(--cor); }
.carteira-tab.ativa b { color: var(--branco); }
.carteira-tab .txt-alta { color: var(--alta); } .carteira-tab .txt-baixa { color: var(--baixa); }
.carteira-tab.ativa .txt-alta { color: #4ADE80; } .carteira-tab.ativa .txt-baixa { color: #FF6B6B; }
.carteira-tab--nova { min-width: 130px; align-items: center; justify-content: center; border-style: dashed; border-left-width: 2px; font-size: 1.4rem; }
.escopo-cabeca { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 10px 0 14px; }
.escopo-cabeca__titulo { --cor: var(--preto); display: flex; align-items: center; gap: 12px; }
.escopo-cabeca__titulo h3 { margin: 0; font-size: 1.5rem; }
.escopo-cabeca__titulo .tag { margin-right: 8px; }
.escopo-cabeca__cor { width: 14px; height: 48px; border-radius: 6px; background: var(--cor); border: 2px solid var(--preto); }
.escopo-cabeca__acoes { display: flex; gap: 6px; flex-wrap: wrap; }
.ponto { display: inline-block; width: 10px; height: 10px; border-radius: 50%; border: 1px solid var(--preto); vertical-align: middle; }
.tabela--comparativo td.num { white-space: nowrap; }
.tabela--comparativo .txt-alta { color: var(--alta); font-weight: 700; } .tabela--comparativo .txt-baixa { color: var(--baixa); font-weight: 700; }
.onboarding { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); padding: 20px; margin: 6px 0 20px; }
.onboarding h3 { margin: 0 0 4px; font-size: 1.4rem; }
.onboarding__opcoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin-top: 12px; }
.onboarding__op { font: inherit; text-align: left; cursor: pointer; background: var(--branco); border: 2px solid var(--preto); border-radius: 12px;
  padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.onboarding__op:hover { background: var(--amarelo-claro); transform: translateY(-1px); }
.onboarding__op span { font-size: .85rem; opacity: .8; }
.perfis { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.perfil-op { display: flex !important; flex-direction: row !important; gap: 8px !important; align-items: flex-start; font-weight: 500 !important;
  border: 2px solid var(--preto); border-radius: 10px; padding: 8px 10px; background: var(--branco); cursor: pointer; }
.perfil-op input { margin-top: 4px; }
.perfil-op span { display: flex; flex-direction: column; }
.perfil-op small { font-size: .75rem; opacity: .75; }
.perfil-op:has(input:checked) { background: var(--amarelo-claro); }
.boleta__form select { font: inherit; padding: 10px 12px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco); }
.modal[hidden] { display: none; }
@media (max-width: 640px) { .perfis { grid-template-columns: 1fr; } .conta-barra__acoes { margin-left: 0; } }
.tabela--comparativo td:first-child, .tabela--comparativo td:nth-child(2) { white-space: nowrap; }
.tabela--comparativo th, .tabela--comparativo td { padding: 12px 12px; }
.tag--produto { white-space: nowrap; text-decoration: none; display: inline-block; }
.nowrap { white-space: nowrap; }

/* Gráficos de pizza (alocação) */
.pizzas { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 18px; }
.pizza { margin: 0; }
.pizza figcaption { font-weight: 700; margin-bottom: 8px; }
.pizza__corpo { display: flex; align-items: center; gap: 18px; }
.pizza__svg { width: 170px; height: 170px; flex: none; }
.pizza__fatia { transition: stroke-width .15s; cursor: default; }
.pizza__fatia:hover { stroke-width: 26; }
.pizza__centro-rot { font-size: 8px; fill: #6b6b6b; font-family: "Space Grotesk", sans-serif; }
.pizza__centro-val { font-size: 10px; font-weight: 700; font-family: "JetBrains Mono", monospace; }
.pizza__legenda { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; flex: 1; min-width: 0; }
.pizza__legenda li { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 2px 8px; align-items: center; }
.pizza__legenda li > span:first-child { width: 12px; height: 12px; border-radius: 3px; border: 1px solid var(--preto); }
.pizza__nome { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pizza__legenda small { grid-column: 2 / -1; opacity: .7; font-size: .78rem; margin-top: -4px; }
@media (max-width: 520px) { .pizza__corpo { flex-direction: column; align-items: flex-start; } .pizzas { grid-template-columns: 1fr; } }

/* Sugestão de carteira */
.btn--sugerir { background: linear-gradient(90deg, #FFE45C, #FFB703) !important; color: var(--preto) !important; border: 2px solid var(--preto); }
.onboarding__op--sugerir { background: var(--amarelo-claro); }
.modal__caixa--larga { max-width: 980px !important; width: 100%; max-height: 92vh; overflow-y: auto; }
.sug__sobre { margin: 6px 0 12px; }
.sug__grade { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
.sug__grade .pizza__corpo { flex-direction: column; align-items: flex-start; }
.sug__tabela { max-height: 420px; overflow-y: auto; }
.sug__tabela .tabela { min-width: 0; }
.sug__tabela th, .sug__tabela td { padding: 8px 10px; }
.sug__acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
@media (max-width: 820px) { .sug__grade { grid-template-columns: 1fr; } }
.sug__grade { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
.sug__tabela td.num { white-space: nowrap; }
.sug__tabela td:nth-child(2) { min-width: 220px; }
.sug__tabela .tag--produto { font-size: .7rem; }
.ferr-fonte { display: flex; flex-direction: column; gap: 4px; font-size: .85rem; font-weight: 500; }
.ferr-fonte select { font: inherit; padding: 8px 10px; border-radius: 8px; border: 1px solid var(--linha, #ccc); background: inherit; color: inherit; }

/* ---------- Gerenciamento (caixa da FicMoney) ---------- */
.gest-acoes { display: flex; gap: 10px; flex-wrap: wrap; }
.gest-acoes .btn { cursor: pointer; font-family: inherit; }
.gest-topo { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 16px; align-items: stretch; margin-bottom: 20px; }
.gest-caixa { margin: 0; max-width: none; }
.gest-kpis { margin-bottom: 0; }
.gest-filtros { margin-bottom: 16px; }
.gest-data { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .9rem; }
.gest-data input { font: inherit; padding: 5px 8px; border: 2px solid var(--preto); border-radius: 10px; background: var(--creme); }
.gest-graficos { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.gest-bloco { padding: 16px 18px; }
.gest-bloco h3 { font-size: 1.05rem; margin-bottom: 10px; }
.gest-desp { margin-top: 10px; font-size: .85rem; }
.gest-barras { width: 100%; height: auto; display: block; color: var(--preto); }
.gest-barras__rot { font-size: 9px; fill: currentColor; opacity: .6; font-family: "JetBrains Mono", monospace; }
.gest-legenda { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .85rem; margin-top: 6px; }
.gest-legenda small { margin-left: auto; }
.gest-ponto { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.gest-mini { min-width: 0; }
.gest-tarifas { margin-bottom: 28px; }
.gest-tarifas__cabeca { display: flex; justify-content: space-between; gap: 12px; align-items: start; flex-wrap: wrap; margin-bottom: 12px; }
.gest-tarifas__cabeca .btn { cursor: pointer; font-family: inherit; }
.gest-tarifas__cabeca .btn:disabled { opacity: .45; cursor: not-allowed; }
.gest-tarifas__grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.gest-tarifa { display: flex; flex-direction: column; gap: 4px; font-weight: 700; font-size: .85rem; background: var(--branco);
  border: 2px solid var(--preto); border-radius: 10px; padding: 8px 10px; }
.gest-tarifa__campo { display: flex; align-items: center; gap: 6px; }
.gest-tarifa__campo input { font: inherit; font-family: "JetBrains Mono", monospace; width: 100%; padding: 6px 8px; border: 2px solid var(--preto); border-radius: 8px; background: var(--creme); }
.gest-tarifa__campo small { font-weight: 500; opacity: .7; white-space: nowrap; }
.gest-trans-cabeca { margin-bottom: 12px; }
.gest-trans-cabeca h3 { font-size: 1.3rem; }
.gest-tabela { min-width: 860px; }
.gest-tabela td { vertical-align: top; }
.gest-origem { display: inline-flex; gap: 4px; align-items: center; white-space: nowrap; font-weight: 700; font-size: .85rem;
  border-left: 4px solid var(--cor); padding-left: 8px; }
.gest-status { font-size: .75rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; border: 2px solid var(--preto); text-transform: capitalize; white-space: nowrap; }
.gest-status--ativa, .gest-status--efetivada { background: #DDF5E5; }
.gest-status--estornada, .gest-status--cancelada { background: #FDE2DF; }
.gest-status--encerrada { background: var(--branco); opacity: .75; }
.gest-cancelada td:not(:last-child) { opacity: .55; }
.gest-cancelada td.num { text-decoration: line-through; }
.gest-botoes { white-space: nowrap; text-align: right; }
.gest-botoes .chip + .chip { margin-left: 4px; }
@media (max-width: 1100px) { .gest-topo, .gest-graficos { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .gest-kpis { grid-template-columns: 1fr 1fr; } }

/* ---------- Minha carteira: alocação detalhada ---------- */
.aloc-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.aloc-card { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; }
.aloc-card small { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.aloc-card b { font-size: 1.35rem; font-family: "JetBrains Mono", monospace; }
.aloc-card b small { font-size: .8rem; text-transform: none; letter-spacing: 0; }
.aloc-card > span { font-size: .8rem; opacity: .8; }
.aloc-card .txt-alta { color: var(--alta); } .aloc-card .txt-baixa { color: var(--baixa); }
.aloc-medidor { order: 9; display: block; height: 8px; border: 1.5px solid var(--preto); border-radius: 999px; background: var(--branco); overflow: hidden; margin-top: 4px; }
.aloc-medidor i { display: block; height: 100%; background: linear-gradient(90deg, var(--baixa), #D97706 50%, var(--alta)); }
.aloc-barra { order: 9; display: flex; height: 12px; border: 1.5px solid var(--preto); border-radius: 999px; overflow: hidden; margin-top: 4px; background: var(--branco); }
.aloc-barra span { display: block; height: 100%; }
.pizzas--tres { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); margin-bottom: 18px; }
.tabela--aloc { min-width: 760px; }
.aloc-peso { position: relative; height: 10px; background: var(--branco); border: 1.5px solid var(--preto); border-radius: 999px; overflow: visible; min-width: 90px; }
.aloc-peso i { display: block; height: 100%; border-radius: 999px; }
.aloc-peso em { position: absolute; top: -4px; bottom: -4px; width: 3px; margin-left: -1.5px; background: var(--preto); border-radius: 2px; }
.aloc-fora { color: var(--baixa); font-weight: 700; }
.aloc-caixa td { background: rgba(232, 223, 168, .35); }
.tabela--aloc .txt-alta, .tabela--posicoes tfoot .txt-alta { color: var(--alta); }
.tabela--aloc .txt-baixa, .tabela--posicoes tfoot .txt-baixa { color: var(--baixa); }
.aloc-dicas { list-style: none; display: grid; gap: 6px; margin: 14px 0 0; padding: 0; }
.aloc-dicas li { display: flex; gap: 10px; align-items: baseline; background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; padding: 8px 12px; font-size: .92rem; }

/* abas por oferta + ordenação */
.abas--ofertas { border-bottom: 0; margin-bottom: 10px; gap: 8px; }
.aba-oferta { --cor: var(--preto); font: inherit; cursor: pointer; text-align: left; background: var(--creme); border: 2px solid var(--preto);
  border-left: 6px solid var(--cor); border-radius: 10px; padding: 6px 12px; display: flex; flex-direction: column; gap: 1px; }
.aba-oferta span { font-weight: 700; }
.aba-oferta em { font-style: normal; font-size: .75rem; background: var(--preto); color: var(--amarelo); border-radius: 999px; padding: 0 7px; margin-left: 4px; }
.aba-oferta small { font-size: .74rem; opacity: .85; }
.aba-oferta .txt-alta { color: var(--alta); } .aba-oferta .txt-baixa { color: var(--baixa); }
.aba-oferta.ativa { background: var(--preto); color: var(--amarelo); box-shadow: 3px 3px 0 var(--cor); }
.aba-oferta.ativa em { background: var(--amarelo); color: var(--preto); }
.aba-oferta.ativa .txt-alta { color: #4ADE80; } .aba-oferta.ativa .txt-baixa { color: #FF6B6B; }
.th-ordena button { font: inherit; font-weight: 700; background: none; border: 0; padding: 0; cursor: pointer; color: inherit; text-align: inherit; white-space: nowrap; }
.th-ordena button:hover { text-decoration: underline; }
.th-ordena.ordenado button { text-decoration: underline; text-underline-offset: 3px; }
.tabela--posicoes tfoot td { border-top: 2px solid var(--preto); background: rgba(232, 223, 168, .35); }
.btn--ver { background: var(--preto); color: var(--amarelo); }

/* Entenda o resultado */
.entenda { margin-top: 8px; }
.entenda__resumo { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); padding: 12px 16px; margin-bottom: 12px; }
.entenda__resumo .txt-alta, .entenda__item .txt-alta { color: var(--alta); }
.entenda__resumo .txt-baixa, .entenda__item .txt-baixa { color: var(--baixa); }
.entenda__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.entenda__item { background: var(--branco); border: 2px solid var(--preto); border-radius: var(--raio); padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.entenda__item--alta { border-left: 6px solid var(--alta); } .entenda__item--baixa { border-left: 6px solid var(--baixa); }
.entenda__item p { font-size: .9rem; line-height: 1.45; margin: 0; flex: 1; }
.entenda__item .btn { align-self: flex-start; cursor: pointer; font-family: inherit; }
.entenda__topo { display: flex; gap: 8px; align-items: center; }
.entenda__topo > div { flex: 1; min-width: 0; }
.entenda__seta { font-size: .9rem; }
.entenda__item--alta .entenda__seta { color: var(--alta); } .entenda__item--baixa .entenda__seta { color: var(--baixa); }
.entenda__valor { font-weight: 700; white-space: nowrap; }
.entenda__barra { height: 6px; background: #F1EBC6; border-radius: 999px; overflow: hidden; }
.entenda__barra i { display: block; height: 100%; } .entenda__barra i.alta { background: var(--alta); } .entenda__barra i.baixa { background: var(--baixa); }
.entenda__nota { margin-top: 10px; }

/* modal Ver posição */
.pos-linha { display: flex; gap: 10px; align-items: center; margin-top: 4px; }
.pos-linha b { font-size: 1.4rem; }
.pos-abas { display: flex; gap: 6px; flex-wrap: wrap; margin: 14px 0; }
.pos-abas .chip { padding: 5px 14px; }
.pos-dados { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.pos-dados > div { background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; padding: 7px 10px; }
.pos-dados dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.pos-dados dd { margin: 0; font-weight: 700; display: flex; flex-direction: column; }
.pos-dados dd small { font-family: "Space Grotesk", sans-serif; font-weight: 500; font-size: .74rem; opacity: .75; }
.pos-dados .txt-alta { color: var(--alta); } .pos-dados .txt-baixa { color: var(--baixa); }
.pos-sub { font-size: 1rem; margin: 16px 0 8px; }
.pos-desc { margin-top: 12px; font-size: .92rem; opacity: .85; }
.pos-manchete { font-size: 1.1rem; font-weight: 700; padding: 10px 14px; border-radius: 10px; border: 2px solid var(--preto); background: var(--branco); }
.pos-manchete--alta { border-left: 8px solid var(--alta); } .pos-manchete--baixa { border-left: 8px solid var(--baixa); }
.pos-passos { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 10px; counter-reset: passo; }
.pos-passos li { display: flex; gap: 12px; align-items: flex-start; background: var(--creme); border: 2px solid var(--preto); border-radius: 10px; padding: 10px 12px; }
.pos-passos__ic { font-size: 1.3rem; line-height: 1; }
.pos-passos p { margin: 4px 0 0; font-size: .92rem; line-height: 1.5; }
.pos-noticias { list-style: none; padding: 0; display: grid; gap: 10px; }
.pos-noticias li { background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 3px; }
.pos-noticias p { margin: 0; font-size: .9rem; }
.pos-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; padding-top: 12px; border-top: 2px dashed rgba(22,22,22,.25); }
.pos-acoes .btn { cursor: pointer; font-family: inherit; }
.grafico--posicao { width: 100%; height: auto; display: block; background: var(--branco); border: 2px solid var(--preto); border-radius: 10px; }
.pg-periodo { fill: rgba(252, 208, 4, .12); }
.pg-medio { stroke: var(--preto); stroke-width: 1.5; stroke-dasharray: 6 5; }
.pg-inicio { stroke: var(--preto); stroke-opacity: .35; stroke-dasharray: 2 3; }
.pg-compra { fill: var(--alta); stroke: var(--branco); stroke-width: 1; }
.pg-venda { fill: var(--baixa); stroke: var(--branco); stroke-width: 1; }
.pg-rot-medio rect { fill: var(--preto); } .pg-rot-medio text { fill: var(--amarelo); font-size: 11px; font-weight: 700; }
.pg-rot-alta rect { fill: var(--alta); } .pg-rot-baixa rect { fill: var(--baixa); }
.pg-rot-alta text, .pg-rot-baixa text { fill: var(--branco); font-size: 11px; font-weight: 700; }
@media (max-width: 1000px) { .aloc-cards, .pos-dados { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .aloc-cards, .pos-dados { grid-template-columns: 1fr; } .entenda__lista { grid-template-columns: 1fr; } }
.modal__caixa .tabela .txt-alta { color: var(--alta); font-weight: 700; } .modal__caixa .tabela .txt-baixa { color: var(--baixa); font-weight: 700; }
.tabela--posicoes th, .tabela--posicoes td { padding: 10px 7px; }
.tabela--aloc td.num { white-space: nowrap; }
.tabela--aloc td small.ref { display: block; }
.pos-ativo { display: flex; gap: 8px; align-items: center; } .pos-ativo .btn--ver { flex: none; cursor: pointer; font-family: inherit; }

/* ---------- Conquistas ---------- */
.selo--escuro { background: var(--amarelo); color: var(--preto); }
.cq-hero { background: var(--preto); color: var(--creme); padding: 44px 0 36px; border-bottom: 4px solid var(--amarelo); }
.cq-hero__grade { display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: center; }
.cq-hero h1 { font-size: clamp(1.8rem, 3.4vw, 2.7rem); line-height: 1.05; margin: 12px 0; color: var(--amarelo); }
.cq-hero p { max-width: 56ch; opacity: .9; }
.cq-placar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cq-placar__linha { border: 2px solid rgba(252, 208, 4, .45); border-radius: var(--raio); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.cq-placar__linha small { font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; opacity: .75; }
.cq-placar__linha b { font-size: 1.35rem; color: var(--branco); }
.cq-placar__linha b small { font-size: .8rem; text-transform: none; }
.cq-placar__linha span { font-size: .78rem; opacity: .7; }
.cq-placar__linha.cq-ok { border-color: #4ADE80; } .cq-placar__linha.cq-ok b { color: #4ADE80; }
.cq-placar__linha.cq-tranca { border-color: #FF6B6B; } .cq-placar__linha.cq-tranca b { color: #FF9C9C; }

.cq-cofre { display: grid; grid-template-columns: 220px 1fr; gap: 28px; align-items: center; background: var(--creme);
  border: 3px solid var(--preto); border-radius: var(--raio); box-shadow: 8px 8px 0 var(--preto); padding: 28px; margin-bottom: 30px; }
.cq-cofre__porta { position: relative; width: 200px; height: 200px; border-radius: 22px; background: linear-gradient(145deg, #3a3a3a, #121212);
  border: 4px solid var(--preto); display: grid; place-items: center; box-shadow: inset 0 0 0 10px #2a2a2a, inset 0 0 0 12px var(--amarelo); }
.cq-cofre__porta span { font-size: 4.2rem; filter: drop-shadow(0 4px 0 rgba(0,0,0,.4)); animation: cq-balanca 3s ease-in-out infinite; }
.cq-cofre__porta i { position: absolute; width: 14px; height: 30px; background: var(--amarelo); border-radius: 4px; right: -9px; }
.cq-cofre__porta i:nth-of-type(1) { top: 30px; } .cq-cofre__porta i:nth-of-type(2) { top: 85px; } .cq-cofre__porta i:nth-of-type(3) { top: 140px; }
@keyframes cq-balanca { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
.cq-cofre__texto h2 { font-size: 1.9rem; margin: 8px 0; }
.cq-cofre__frase { font-size: 1.1rem; font-style: italic; border-left: 4px solid var(--amarelo-escuro); padding-left: 12px; margin: 10px 0 14px; }
.cq-cofre__texto p { margin-bottom: 10px; }
.cq-medidor { position: relative; height: 18px; border: 2px solid var(--preto); border-radius: 999px; background: var(--branco); overflow: hidden; margin: 6px 0 12px; }
.cq-medidor i { display: block; height: 100%; background: repeating-linear-gradient(45deg, var(--amarelo), var(--amarelo) 10px, var(--amarelo-escuro) 10px, var(--amarelo-escuro) 20px); }
.cq-medidor em { position: absolute; right: 8px; top: 0; font-size: .7rem; font-style: normal; font-weight: 700; line-height: 14px; }
.cq-passos { margin: 12px 0 16px 18px; display: grid; gap: 4px; font-size: .95rem; }
.cq-aberto { display: flex; gap: 14px; align-items: center; background: #DDF5E5; border: 2px solid var(--alta); border-radius: var(--raio); padding: 14px 18px; margin-bottom: 24px; }
.cq-aberto__ic { font-size: 2rem; } .cq-aberto small { display: block; margin-top: 4px; }

.cq-admin { display: flex; gap: 16px; align-items: end; flex-wrap: wrap; padding: 16px 18px; margin-bottom: 24px; }
.cq-admin > div { flex: 1 1 280px; } .cq-admin h3 { font-size: 1.05rem; }
.cq-admin label { display: flex; flex-direction: column; gap: 4px; font-weight: 700; font-size: .85rem; }
.cq-admin input { font: inherit; font-family: "JetBrains Mono", monospace; padding: 7px 10px; border: 2px solid var(--preto); border-radius: 8px; width: 140px; }
.cq-admin .btn { cursor: pointer; font-family: inherit; }

.cq-filtros { display: flex; justify-content: space-between; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 8px; }
.cq-categoria { margin-bottom: 26px; }
.cq-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.cq-card { --tier: #999; position: relative; background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio);
  box-shadow: 5px 5px 0 var(--tier); padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; transition: transform .15s; }
.cq-card:hover { transform: translateY(-3px); }
.cq-card__topo { display: flex; justify-content: space-between; align-items: center; }
.cq-card__tier { font-size: .74rem; font-weight: 700; padding: 2px 10px; border-radius: 999px; background: var(--tier); color: var(--branco); }
.cq-card__icone { font-size: 3.2rem; text-align: center; line-height: 1.2; padding: 6px 0; }
.cq-card h3 { font-size: 1.08rem; line-height: 1.2; }
.cq-card__desc { font-size: .86rem; opacity: .8; flex: 1; }
.cq-card__preco b { font-size: 1.2rem; }
.cq-card__preco small { display: block; font-size: .76rem; opacity: .85; }
.cq-card__preco small b { font-size: .82rem; }
.cq-card__desc { min-height: 2.6em; }
.cq-card__prog { height: 8px; background: var(--branco); border: 1.5px solid var(--preto); border-radius: 999px; overflow: hidden; }
.cq-card__prog i { display: block; height: 100%; background: var(--tier); }
.cq-card__comprar { cursor: pointer; font-family: inherit; width: 100%; }
.cq-card__motivo { font-size: .82rem; font-weight: 700; color: var(--grafite); background: rgba(22,22,22,.06); border-radius: 8px; padding: 6px 10px; }
.cq-card__tenho { font-size: .86rem; font-weight: 700; color: var(--alta); background: #DDF5E5; border-radius: 8px; padding: 6px 10px; }
.cq-card--trancada .cq-card__icone { filter: grayscale(.85); opacity: .55; }
.cq-card--minha { background: linear-gradient(160deg, #FFF8D6, #FFE9A3); }
.cq-card--minha::after { content: "✓"; position: absolute; top: -10px; right: -10px; width: 28px; height: 28px; border-radius: 50%;
  background: var(--alta); color: var(--branco); display: grid; place-items: center; font-weight: 700; border: 2px solid var(--preto); }
.cq-card--inativa { opacity: .6; }
.cq-card__admin { display: flex; gap: 8px; align-items: end; flex-wrap: wrap; border-top: 2px dashed rgba(22,22,22,.25); padding-top: 8px; }
.cq-card__admin label { display: flex; flex-direction: column; font-size: .75rem; font-weight: 700; gap: 2px; }
.cq-card__admin input[type=number] { font: inherit; font-family: "JetBrains Mono", monospace; width: 120px; padding: 5px 8px; border: 2px solid var(--preto); border-radius: 8px; }
.cq-card__admin .fech-check { flex-direction: row; align-items: center; gap: 4px; }
.cq-card__admin .btn { cursor: pointer; font-family: inherit; }

.cq-baixo { display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px; margin-top: 12px; }
.cq-estante { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.cq-estante li { --tier: #999; background: var(--creme); border: 2px solid var(--preto); border-bottom: 6px solid var(--tier); border-radius: 12px;
  padding: 10px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; }
.cq-estante span { font-size: 2rem; } .cq-estante b { font-size: .85rem; line-height: 1.2; } .cq-estante small { font-size: .72rem; opacity: .75; }
.cq-selos { margin-bottom: 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.cq-vazia { display: flex; gap: 12px; align-items: center; background: var(--creme); border: 2px dashed var(--preto); border-radius: var(--raio); padding: 16px; }
.cq-vazia span { font-size: 2rem; }
.cq-comunidade { list-style: none; padding: 0; display: grid; gap: 8px; }
.cq-comunidade li { display: flex; gap: 10px; align-items: center; background: var(--creme); border: 2px solid var(--preto); border-radius: 10px; padding: 8px 12px; font-size: .9rem; }
.cq-comunidade li > span { font-size: 1.6rem; } .cq-comunidade small { display: block; }
.cq-conta { grid-template-columns: repeat(3, 1fr); margin: 12px 0; }

.cq-festa { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; background: rgba(22,22,22,.55); overflow: hidden; cursor: pointer; }
.cq-festa__caixa { background: var(--amarelo); border: 3px solid var(--preto); border-radius: 20px; box-shadow: 10px 10px 0 var(--preto);
  padding: 26px 36px; text-align: center; display: flex; flex-direction: column; gap: 4px; animation: cq-pulo .5s cubic-bezier(.2, 1.6, .5, 1); }
.cq-festa__icone { font-size: 4.5rem; } .cq-festa__caixa b { font-size: 1.5rem; }
.cq-festa > i { position: absolute; top: -20px; width: 10px; height: 16px; border-radius: 2px; animation: cq-chuva 2.6s linear forwards; }
@keyframes cq-pulo { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes cq-chuva { to { transform: translateY(110vh) rotate(720deg); } }
@media (prefers-reduced-motion: reduce) { .cq-cofre__porta span, .cq-festa > i, .cq-festa__caixa { animation: none; } }
@media (max-width: 900px) { .cq-hero__grade, .cq-baixo, .cq-cofre { grid-template-columns: 1fr; } .cq-cofre__porta { margin: 0 auto; } }
@media (max-width: 520px) { .cq-placar { grid-template-columns: 1fr; } .cq-conta { grid-template-columns: 1fr 1fr; } }

/* ---------- Aporte mensal ---------- */
.aporte-mensal { display: flex; flex-direction: column; gap: 1px; border-left: 2px dashed rgba(252, 208, 4, .5); padding-left: 16px; }
.aporte-mensal small { font-size: .78rem; opacity: .8; }
.aporte-mensal b { font-size: 1.05rem; }
.aporte-mensal span { font-size: .74rem; opacity: .75; }
.aporte-mensal .btn { margin-top: 4px; align-self: flex-start; cursor: pointer; font-family: inherit; }
.aporte-mensal--on b { color: #4ADE80; }
.aporte-info ul { margin: 10px 0 10px 18px; display: grid; gap: 6px; font-size: .92rem; }
.aporte-info p { margin: 8px 0; }
.aporte-popup { z-index: 90; }
.aporte-popup__caixa { max-width: 480px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px;
  background: var(--amarelo); animation: cq-pulo .45s cubic-bezier(.2, 1.6, .5, 1); }
.aporte-popup__moedas { font-size: 4rem; animation: ap-moeda 1.6s ease-in-out infinite; }
.aporte-popup__caixa h2 { font-size: 1.6rem; line-height: 1.15; }
.aporte-popup__botoes { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 6px; }
.aporte-popup__botoes .btn { cursor: pointer; font-family: inherit; }
@keyframes ap-moeda { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-8px) rotate(6deg); } }
@media (prefers-reduced-motion: reduce) { .aporte-popup__moedas, .aporte-popup__caixa { animation: none; } }
.aporte-mensal__botoes { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.aporte-mensal__botoes .btn { margin-top: 0; cursor: pointer; font-family: inherit; }
.aporte-mensal--disponivel b { color: #4ADE80; }
.aporte-mensal--pausado b { color: #FF9C9C; }
.aporte-mensal--aguardando b { color: var(--branco); }
.aporte-info__destaque { background: #DDF5E5; border: 2px solid var(--alta); border-radius: 10px; padding: 8px 12px; }
.aporte-popup__caixa--urgente { background: #FFE0B2; }

/* ---------- resumo do fechamento de mercado ---------- */
.fechamento-resumo { z-index: 95; }
.fechamento-resumo__caixa { width: min(680px, 100%); max-height: min(90vh, 820px); overflow-y: auto;
  display: flex; flex-direction: column; gap: 10px; background: #F4F1E8; }
.fechamento-resumo__caixa h2 { font-size: clamp(1.35rem, 4vw, 1.8rem); line-height: 1.15; }
.fechamento-resumo__caixa h3 { margin: 6px 0 0; }
.fechamento-resumo__icone { font-size: 2.2rem; }
.fechamento-resumo__periodos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 6px 0; }
.fechamento-resumo__periodo { display: grid; gap: 4px; padding: 12px; border: 1px solid #D1CBB9; border-radius: 12px; background: #fff; }
.fechamento-resumo__periodo span { font-size: .85rem; color: #555; }
.fechamento-resumo__periodo b { font-size: 1.05rem; }
.fechamento-resumo__periodo small { color: #666; }
.fechamento-resumo__explica { margin-top: -5px; font-size: .9rem; }
.fechamento-resumo__posicoes { display: grid; gap: 6px; }
.fechamento-resumo__pos { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px;
  border-radius: 9px; background: #fff; }
.fechamento-resumo__pos span { min-width: 0; display: grid; }
.fechamento-resumo__pos span b { color: var(--preto); }
.fechamento-resumo__pos small { overflow: hidden; color: #666; text-overflow: ellipsis; white-space: nowrap; }
.fechamento-resumo__pos > b { flex: none; }
.fechamento-resumo__abas { margin: 6px 0 2px; }
.fechamento-resumo__painel[hidden] { display: none !important; }
.fechamento-resumo__painel h3 { margin-top: 4px; }
.fechamento-resumo__rendas { display: grid; gap: 7px; }
.fechamento-resumo__renda { display: grid; grid-template-columns: minmax(130px, .8fr) minmax(0, 1.2fr); align-items: center; gap: 10px; padding: 10px; background: #fff; border: 1px solid #D1CBB9; border-radius: 10px; }
.fechamento-resumo__renda-valores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.fechamento-resumo__renda-valores span { min-width: 0; display: grid; gap: 2px; }
.fechamento-resumo__renda-valores small { color: #666; font-size: .72rem; }
.fechamento-resumo__renda-valores strong { font: 700 .84rem "JetBrains Mono", monospace; white-space: nowrap; }
@media (max-width: 560px) {
  .fechamento-resumo__caixa { padding: 18px; gap: 8px; }
  .fechamento-resumo__periodos { gap: 5px; }
  .fechamento-resumo__periodo { padding: 8px 6px; }
  .fechamento-resumo__periodo b { font-size: .88rem; }
  .fechamento-resumo__periodo span, .fechamento-resumo__periodo small { font-size: .76rem; }
  .fechamento-resumo__renda { grid-template-columns: 1fr; gap: 7px; }
  .fechamento-resumo__renda-valores strong { font-size: .74rem; }
  .fechamento-resumo__pos > b { font-size: .82rem; }
}

/* ---------- Proventos ---------- */
.proventos { margin-top: 8px; }
.subtitulo-mini { font-weight: 700; margin: 14px 0 8px; }
.tabela--proventos { min-width: 820px; }
.tabela--proventos .txt-alta, .extrato-resumo .txt-alta, .tabela--posicoes small.txt-alta { color: var(--alta); }
.pill--provisao { background: #FFF1C2; color: #8A5A00; }
.tabela--proventos td.num, .tabela--proventos td:last-child { white-space: nowrap; }

/* ---------- Conquistas v2: vitrine de desejo ---------- */
.container.container--larga { width: 100%; max-width: 1920px; padding-left: clamp(16px, 3vw, 48px); padding-right: clamp(16px, 3vw, 48px); box-sizing: border-box; }
.cq-visoes { display: flex; gap: 0; border: 3px solid var(--preto); border-radius: 14px; overflow: hidden; width: fit-content; margin: 4px 0 18px; box-shadow: 4px 4px 0 var(--preto); }
.cq-visao { font: inherit; font-weight: 700; font-size: 1.05rem; padding: 12px 22px; border: 0; background: var(--creme); cursor: pointer; }
.cq-visao + .cq-visao { border-left: 3px solid var(--preto); }
.cq-visao em { font-style: normal; font-size: .8rem; background: var(--preto); color: var(--amarelo); border-radius: 999px; padding: 1px 8px; margin-left: 4px; }
.cq-visao.ativa { background: var(--preto); color: var(--amarelo); }
.cq-visao.ativa em { background: var(--amarelo); color: var(--preto); }

.cq-barra { display: flex; justify-content: space-between; gap: 14px; align-items: center; flex-wrap: wrap; margin: 18px 0 14px; }
.cq-barra__dir { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.cq-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.cq-chip { --c1: #161616; --c2: #161616; font: inherit; font-weight: 700; cursor: pointer; border: 2px solid var(--preto); border-radius: 999px;
  padding: 8px 16px; background: var(--creme); color: var(--preto); transition: transform .12s; }
.cq-chip:hover { transform: translateY(-2px); }
.cq-chip em { font-style: normal; font-size: .75rem; opacity: .7; margin-left: 2px; }
.cq-chip.ativo { background: linear-gradient(135deg, var(--c1), var(--c2)); color: #fff; box-shadow: 3px 3px 0 var(--preto); }
.cq-chip.ativo em { opacity: .9; }
.cq-ordem { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.cq-ordem select { font: inherit; font-weight: 700; padding: 8px 12px; border: 2px solid var(--preto); border-radius: 10px; background: var(--creme); cursor: pointer; }

/* destaque: a próxima conquista */
.cq-destaque { display: grid; grid-template-columns: auto 1fr; gap: clamp(16px, 3vw, 40px); align-items: center; color: #fff;
  background: radial-gradient(circle at 15% 40%, color-mix(in srgb, var(--c2) 70%, transparent), transparent 55%), linear-gradient(120deg, var(--c1), #0b0b0b 70%);
  border: 3px solid var(--preto); border-radius: 22px; box-shadow: 8px 8px 0 var(--tier); padding: clamp(18px, 3vw, 34px); position: relative; overflow: hidden; }
.cq-destaque::after { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.12) 50%, transparent 60%);
  transform: translateX(-100%); animation: cq-reflexo 5s ease-in-out infinite; pointer-events: none; }
.cq-destaque__icone { font-size: clamp(5rem, 10vw, 9rem); line-height: 1; filter: drop-shadow(0 10px 22px rgba(0,0,0,.55)); animation: cq-flutua 4s ease-in-out infinite; }
.cq-destaque__texto small { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; opacity: .85; }
.cq-destaque__texto h2 { font-size: clamp(1.7rem, 3.2vw, 2.8rem); line-height: 1.05; margin: 6px 0 8px; color: #fff; }
.cq-destaque__texto p { max-width: 70ch; opacity: .9; }
.cq-destaque__texto i { color: var(--amarelo); font-style: normal; }
.cq-destaque__prog { position: relative; height: 22px; max-width: 520px; border-radius: 999px; background: rgba(255,255,255,.15); border: 2px solid rgba(255,255,255,.4); margin: 14px 0 6px; overflow: hidden; }
.cq-destaque__prog i { display: block; height: 100%; background: linear-gradient(90deg, var(--amarelo), #ffe9a3); }
.cq-destaque__prog span { position: absolute; right: 10px; top: 1px; font-weight: 700; font-size: .8rem; color: #fff; mix-blend-mode: difference; }
.cq-destaque__falta b { color: var(--amarelo); }
.cq-destaque__btn { max-width: 380px; margin-top: 14px; }
@keyframes cq-flutua { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-10px) rotate(3deg); } }
@keyframes cq-reflexo { 0%, 60% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

/* categorias */
.cq-cat { margin-bottom: 34px; }
.cq-cat__cabeca { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; padding: 10px 16px; border-radius: 14px; color: #fff;
  background: linear-gradient(90deg, var(--c1), var(--c2)); border: 2px solid var(--preto); box-shadow: 4px 4px 0 var(--preto); }
.cq-cat__cabeca > span { font-size: 2rem; }
.cq-cat__cabeca h3 { font-size: 1.3rem; color: #fff; }
.cq-cat__cabeca small { opacity: .85; }
.cq-cat__cabeca em { margin-left: auto; font-style: normal; font-weight: 700; font-size: .85rem; background: rgba(0,0,0,.3); padding: 4px 12px; border-radius: 999px; white-space: nowrap; }

/* cards */
.cq-cards2 { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 22px; }
.cq-card2 { --c1: #222; --c2: #888; --tier: #999; position: relative; display: flex; flex-direction: column; background: var(--creme);
  border: 3px solid var(--preto); border-radius: 20px; overflow: hidden; box-shadow: 6px 6px 0 var(--preto); transition: transform .18s, box-shadow .18s; }
.cq-card2:hover { transform: translateY(-6px) rotate(-.4deg); box-shadow: 10px 12px 0 var(--tier); }
.cq-card2__vitrine { position: relative; height: 190px; display: grid; place-items: center; overflow: hidden;
  background: radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--c2) 85%, #fff 15%), var(--c1) 70%); }
.cq-card2__vitrine::before { content: ""; position: absolute; width: 170px; height: 170px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.35), transparent 65%); }
.cq-card2__icone { position: relative; font-size: 5.6rem; line-height: 1; filter: drop-shadow(0 12px 18px rgba(0,0,0,.5)); transition: transform .25s; }
.cq-card2:hover .cq-card2__icone { transform: scale(1.12) rotate(-4deg); }
.cq-card2__brilho { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.35) 48%, transparent 60%);
  transform: translateX(-120%); transition: transform .7s; pointer-events: none; z-index: 1; }
.cq-card2:hover .cq-card2__brilho { transform: translateX(120%); }
.cq-card2__tier { position: absolute; top: 12px; left: 12px; z-index: 2; font-size: .75rem; font-weight: 700; color: #fff; background: var(--tier);
  border: 2px solid rgba(255,255,255,.7); border-radius: 999px; padding: 3px 10px; box-shadow: 0 2px 8px rgba(0,0,0,.3); }
.cq-card2__cat { position: absolute; top: 12px; right: 12px; z-index: 2; font-size: .72rem; font-weight: 700; color: #fff; background: rgba(0,0,0,.35);
  border-radius: 999px; padding: 3px 10px; backdrop-filter: blur(4px); }
.cq-card2__selo { position: absolute; bottom: 14px; right: -34px; z-index: 2; transform: rotate(-35deg); background: var(--alta); color: #fff;
  font-weight: 700; letter-spacing: .2em; padding: 4px 44px; border: 2px solid #fff; }
.cq-card2__quase { position: absolute; bottom: 12px; left: 12px; z-index: 2; background: var(--amarelo); color: var(--preto); font-weight: 700;
  font-size: .75rem; border-radius: 999px; padding: 3px 10px; border: 2px solid var(--preto); animation: cq-pulsa 1.6s ease-in-out infinite; }
@keyframes cq-pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
.cq-card2__corpo { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.cq-card2__apelo { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--c2); }
.cq-card2 h3 { font-size: 1.15rem; line-height: 1.2; }
.cq-card2__desc { font-size: .88rem; opacity: .8; flex: 1; }
.cq-card2__preco { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.cq-card2__preco b { font-size: 1.45rem; letter-spacing: -.02em; }
.cq-card2__preco small { font-size: .75rem; opacity: .7; }
.cq-card__comprar { font: inherit; cursor: pointer; width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px;
  padding: 11px 14px; border: 2px solid var(--preto); border-radius: 12px; color: var(--preto); font-weight: 700;
  background: linear-gradient(135deg, #FFE45C, #FCD004 45%, #E8B400); box-shadow: 3px 3px 0 var(--preto); transition: transform .1s, box-shadow .1s; }
.cq-card__comprar:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--preto); }
.cq-card__comprar:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--preto); }
.cq-card__falta { display: flex; flex-direction: column; gap: 4px; }
.cq-card__falta small { font-size: .78rem; font-weight: 600; opacity: .85; }
.cq-card__falta .cq-card__prog { height: 10px; }
.cq-card__falta .cq-card__prog i { background: linear-gradient(90deg, var(--c2), var(--tier)); }
.cq-card2--trancada .cq-card2__icone { filter: grayscale(.7) drop-shadow(0 12px 18px rgba(0,0,0,.5)); opacity: .75; }
.cq-card2--trancada:hover .cq-card2__icone { filter: grayscale(0) drop-shadow(0 12px 18px rgba(0,0,0,.5)); opacity: 1; }
.cq-card2--pode { box-shadow: 6px 6px 0 var(--tier); }
.cq-card2--minha { background: linear-gradient(170deg, #FFF8D6, #FFE9A3); }
.cq-card2--inativa { opacity: .55; }
.cq-card2 .cq-card__admin { border-top: 2px dashed rgba(22,22,22,.25); padding-top: 8px; margin-top: 4px; }

/* desbloqueadas */
.cq-trofeus__topo { display: grid; grid-template-columns: auto auto 1fr; gap: 16px; align-items: center; background: var(--preto); color: var(--amarelo);
  border-radius: 18px; padding: 16px 22px; margin-bottom: 18px; }
.cq-trofeus__topo > div > small { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; opacity: .8; }
.cq-trofeus__topo > div > b { font-size: 1.6rem; color: #fff; }
.cq-trofeus__topo > div > b small { font-size: .85rem; opacity: .7; }
.cq-trofeus__cats { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
.cq-trofeus__cats span { display: flex; align-items: center; gap: 6px; font-size: 1.3rem; }
.cq-trofeus__cats span > i { display: block; width: 70px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }
.cq-trofeus__cats span > i > i { display: block; height: 100%; background: var(--c2); }
.cq-trofeus__cats em { font-style: normal; font-size: .75rem; color: #fff; }
.cq-vazia--grande { padding: 28px; gap: 18px; } .cq-vazia--grande > span { font-size: 3rem; } .cq-vazia--grande .btn { margin-top: 10px; cursor: pointer; font-family: inherit; }

@media (max-width: 760px) { .cq-destaque { grid-template-columns: 1fr; text-align: center; } .cq-destaque__prog, .cq-destaque__btn { margin-left: auto; margin-right: auto; }
  .cq-trofeus__topo { grid-template-columns: 1fr; } .cq-trofeus__cats { justify-content: flex-start; } .cq-visao { padding: 10px 14px; font-size: .95rem; } }
@media (prefers-reduced-motion: reduce) { .cq-destaque__icone, .cq-destaque::after, .cq-card2__quase { animation: none; } .cq-card2, .cq-card2__icone, .cq-card2__brilho { transition: none; } }

/* ---------- Jornal: prévia e assinatura ---------- */
.jornal__voltar { margin-bottom: 8px; font-weight: 700; }
.jornal__plano .btn { margin-left: 8px; cursor: pointer; font-family: inherit; }
.paywall { position: relative; margin-top: -40px; padding: 70px 24px 26px; text-align: center; border-radius: var(--raio);
  background: linear-gradient(180deg, rgba(255,248,214,0) 0, var(--creme) 60px); border: 2px solid var(--preto); border-top: 0; }
.paywall__icone { font-size: 2.6rem; }
.paywall h3 { font-size: 1.4rem; margin: 6px 0 8px; }
.paywall p { max-width: 60ch; margin: 0 auto 10px; }
.paywall__preco b { font-size: 1.6rem; } .paywall__preco span { opacity: .75; font-size: .9rem; }
.paywall .btn { margin: 6px 4px 0; cursor: pointer; font-family: inherit; }

/* ---------- Ferramentas: cards criativos ---------- */
.ferramentas { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.fc { --c1: #222; --c2: #666; display: flex; flex-direction: column; background: var(--creme); border: 3px solid var(--preto); border-radius: 22px;
  overflow: hidden; box-shadow: 6px 6px 0 var(--preto); transition: transform .18s, box-shadow .18s; }
.fc:hover { transform: translateY(-6px); box-shadow: 10px 12px 0 var(--c2); }
.fc__capa { position: relative; padding: 18px 18px 14px; color: #fff; min-height: 200px; display: flex; flex-direction: column;
  background: radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--c2) 75%, transparent), transparent 55%), linear-gradient(150deg, var(--c1), #0b0b0b 85%); }
.fc__capa::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.18) 48%, transparent 60%); transform: translateX(-120%); transition: transform .8s; }
.fc:hover .fc__capa::after { transform: translateX(120%); }
.fc__icone { font-size: 2.2rem; width: 62px; height: 62px; display: grid; place-items: center; border-radius: 16px;
  background: rgba(255,255,255,.12); border: 2px solid rgba(255,255,255,.35); backdrop-filter: blur(4px); }
.fc__arte { width: 100%; height: auto; margin: 10px 0 6px; overflow: visible; }
.fc__pergunta { font-weight: 700; font-size: 1.05rem; margin-top: auto; color: #fff; }
.fc__preco-tag { position: absolute; top: 16px; right: 16px; background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto);
  border-radius: 12px; padding: 4px 12px; text-align: right; box-shadow: 3px 3px 0 var(--preto); transform: rotate(3deg); }
.fc__preco-tag b { display: block; font-size: 1.15rem; } .fc__preco-tag small { font-size: .7rem; font-weight: 700; }
.fc__fita { position: absolute; top: 22px; right: -36px; transform: rotate(35deg); background: var(--alta); color: #fff; font-weight: 700;
  letter-spacing: .2em; padding: 4px 44px; border: 2px solid #fff; font-size: .8rem; }
.fc__corpo { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.fc__verbo { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--c2); filter: brightness(.8); }
.fc h2 { font-size: 1.45rem; line-height: 1.1; }
.fc__desc { font-size: .92rem; opacity: .85; }
.fc__lista { list-style: none; padding: 0; margin: 2px 0 6px; display: grid; gap: 5px; font-size: .88rem; }
.fc__lista li { display: flex; gap: 8px; align-items: flex-start; }
.fc__lista li::before { content: "✓"; flex: none; width: 18px; height: 18px; border-radius: 50%; display: grid; place-items: center;
  font-size: .7rem; font-weight: 700; color: #fff; background: var(--c2); margin-top: 1px; }
.fc__acoes { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.fc__status { font-weight: 700; color: var(--alta); font-size: .9rem; }
.fc__status small { font-weight: 500; opacity: .75; color: var(--preto); }
.fc__tempo { height: 8px; border-radius: 999px; background: rgba(22,22,22,.12); overflow: hidden; margin: 6px 0 2px; }
.fc__tempo i { display: block; height: 100%; background: var(--alta); }
.fc__btn { font: inherit; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 10px;
  width: 100%; padding: 11px 14px; border: 2px solid var(--preto); border-radius: 12px; text-decoration: none; color: var(--preto);
  background: linear-gradient(135deg, #FFE45C, #FCD004 45%, #E8B400); box-shadow: 3px 3px 0 var(--preto); transition: transform .1s, box-shadow .1s; }
.fc__btn:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--preto); }
.fc__btn--abrir { justify-content: center; background: var(--preto); color: var(--amarelo); }
.fc__btn--leve { justify-content: center; background: transparent; box-shadow: none; font-size: .88rem; padding: 8px 12px; }
.fc--ativa .fc__corpo { background: linear-gradient(180deg, var(--creme), #FFF1B8); }
/* traços das ilustrações */
.fc__arte polyline, .fc__arte path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.fa-l1 { stroke: #FCD004; stroke-width: 4; } .fa-l2 { stroke: #6FCF97; stroke-width: 3.5; } .fa-l3 { stroke: #EB5757; stroke-width: 3; }
.fa-base, .fa-tracejado { stroke: rgba(255,255,255,.4); stroke-width: 1.5; stroke-dasharray: 5 5; }
.fa-txt { fill: rgba(255,255,255,.7); font-size: 10px; font-family: "JetBrains Mono", monospace; }
.fa-tubo { fill: rgba(255,255,255,.15); stroke: #fff; stroke-width: 2; } .fa-bulbo { fill: #E74C3C; stroke: #fff; stroke-width: 2; } .fa-merc { fill: #E74C3C; }
.fa-zig { stroke: #E0B3FF; stroke-width: 4; filter: drop-shadow(0 0 6px #9B51E0); }
.fa-barra { fill: rgba(111, 207, 151, .55); stroke: #6FCF97; stroke-width: 1.5; } .fa-curva { stroke: #FCD004; stroke-width: 3.5; stroke-dasharray: 6 4; }
.fa-moeda { fill: #FCD004; stroke: #fff; stroke-width: 2; } .fa-cifrao { fill: #161616; font-weight: 700; font-size: 12px; }
.fa-pavio { stroke: rgba(255,255,255,.6); stroke-width: 1.5; } .fa-alta { fill: #27AE60; } .fa-baixa { fill: #EB5757; } .fa-media { stroke: #FCD004; stroke-width: 3; }
.fa-papel { fill: #F4ECD8; stroke: #fff; stroke-width: 2; } .fa-manchete { fill: #2B2620; } .fa-foto { fill: #C2A36B; } .fa-linha { fill: rgba(43,38,32,.35); }
.fc:hover .fa-zig, .fc:hover .fa-l1 { animation: fa-desenha 1.2s ease-out; stroke-dasharray: 400; }
@keyframes fa-desenha { from { stroke-dashoffset: 400; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .fc, .fc__capa::after { transition: none; } .fc:hover .fa-zig, .fc:hover .fa-l1 { animation: none; } }
@media (min-width: 1000px) { .ferramentas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 2200px) { .ferramentas { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* ---------- Ranking v2 ---------- */
.rk-hero { background: var(--preto); color: var(--creme); padding: 36px 0 32px; border-bottom: 4px solid var(--amarelo); }
.rk-hero__grade--simples { grid-template-columns: 1fr; }
.rk-hero__grade { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: center; }
.rk-hero h1 { font-size: clamp(1.8rem, 3.4vw, 2.7rem); line-height: 1.05; margin: 12px 0; color: var(--amarelo); }
.rk-hero p { opacity: .9; max-width: 62ch; }
.rk-eu__card { display: flex; gap: 20px; align-items: center; background: linear-gradient(135deg, #2b2b2b, #111); border: 2px solid var(--amarelo);
  border-radius: 20px; padding: 18px 22px; box-shadow: 6px 6px 0 var(--amarelo); }
.rk-eu__card--fora { flex-direction: column; align-items: flex-start; gap: 4px; }
.rk-eu__card--fora b { font-size: 1.5rem; color: #fff; }
.rk-eu__pos { display: flex; flex-direction: column; align-items: center; min-width: 110px; }
.rk-eu__pos small { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; opacity: .8; }
.rk-eu__pos b { font-size: 3.6rem; line-height: 1; color: var(--amarelo); font-family: "JetBrains Mono", monospace; }
.rk-eu__pos span { font-size: .85rem; opacity: .8; }
.rk-eu__info { display: flex; flex-direction: column; gap: 4px; }
.rk-eu__info p { margin: 0; } .rk-eu__info .mono b { font-size: 1.4rem; }
.rk-eu__meta { font-size: .88rem; opacity: .9; } .rk-eu__meta a { color: var(--amarelo); }
.rk-eu .txt-alta { color: #4ADE80; } .rk-eu .txt-baixa { color: #FF6B6B; }
.rk-liga { display: inline-flex; align-items: center; gap: 4px; width: fit-content; font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 999px;
  background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto); }
.rk-liga--mini { font-size: .72rem; padding: 2px 8px; }

.rk-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 28px; }
.rk-kpi { background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 12px 14px; box-shadow: 3px 3px 0 var(--preto); display: flex; flex-direction: column; gap: 2px; }
.rk-kpi small { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; opacity: .7; }
.rk-kpi b { font-size: 1.3rem; } .rk-kpi span { font-size: .78rem; opacity: .75; }
.rk-kpi .txt-alta, .rk-destaque .txt-alta { color: var(--alta); } .rk-kpi .txt-baixa { color: var(--baixa); }

.rk-podio { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 20px; align-items: end; margin: 10px 0 30px; }
.rk-trofeu { --c1: #FFD700; --c2: #B8860B; position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 26px 18px 0; border: 3px solid var(--preto); border-radius: 22px; overflow: hidden; box-shadow: 6px 6px 0 var(--preto);
  background: radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--c1) 55%, #fff 45%), var(--creme) 70%); transition: transform .18s; }
.rk-trofeu:hover { transform: translateY(-6px); }
.rk-trofeu.eu { outline: 4px solid var(--alta); outline-offset: 3px; }
.rk-trofeu__coroa { position: absolute; top: 6px; font-size: 1.8rem; animation: cq-flutua 3s ease-in-out infinite; }
.rk-trofeu__medalha { font-size: 3.6rem; line-height: 1; margin-top: 14px; filter: drop-shadow(0 6px 10px rgba(0,0,0,.25)); }
.rk-trofeu--1 .rk-trofeu__medalha { font-size: 4.6rem; }
.rk-trofeu__titulo { text-transform: uppercase; letter-spacing: .12em; font-weight: 700; font-size: .72rem; color: var(--c2); }
.rk-trofeu h3 { font-size: 1.5rem; }
.rk-trofeu__ret { font-size: 2rem; }
.rk-trofeu .txt-alta { color: var(--alta); } .rk-trofeu .txt-baixa { color: var(--baixa); }
.rk-trofeu__aloc { display: flex; width: 80%; height: 10px; border-radius: 999px; overflow: hidden; border: 1.5px solid var(--preto); }
.rk-trofeu__aloc i { display: block; height: 100%; }
.rk-trofeu dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; width: 100%; margin: 4px 0; }
.rk-trofeu dt { font-size: .66rem; text-transform: uppercase; opacity: .7; } .rk-trofeu dd { margin: 0; font-weight: 700; font-size: .85rem; }
.rk-trofeu__degrau { width: calc(100% + 36px); margin-top: 12px; padding: 14px 0; font-size: 2rem; font-weight: 700; color: #fff;
  background: linear-gradient(180deg, var(--c1), var(--c2)); border-top: 3px solid var(--preto); font-family: "JetBrains Mono", monospace; }
.rk-trofeu--1 .rk-trofeu__degrau { padding: 34px 0; } .rk-trofeu--2 .rk-trofeu__degrau { padding: 22px 0; }

.rk-destaques { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin-bottom: 28px; }
.rk-destaque { display: flex; gap: 12px; align-items: center; background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 12px 14px; box-shadow: 3px 3px 0 var(--preto); }
.rk-destaque.eu { background: #DDF5E5; }
.rk-destaque > span { font-size: 2rem; }
.rk-destaque div { display: flex; flex-direction: column; } .rk-destaque small { font-size: .72rem; text-transform: uppercase; font-weight: 700; opacity: .7; }
.rk-destaque em { font-style: normal; font-size: .85rem; }

.rk-analise { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 24px; }
.rk-bloco { padding: 16px 18px; } .rk-bloco h3 { font-size: 1.05rem; margin-bottom: 10px; }
.rk-hist { display: flex; gap: 8px; align-items: flex-end; height: 200px; padding-top: 18px; }
.rk-hist__col { position: relative; flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 4px; }
.rk-hist__col i { display: block; width: 100%; min-height: 3px; border-radius: 6px 6px 0 0; border: 2px solid var(--preto); }
.rk-hist__col em { font-style: normal; font-weight: 700; font-size: .8rem; }
.rk-hist__col small { font-size: .68rem; text-align: center; opacity: .75; min-height: 2.2em; }
.rk-hist__col.eu i { outline: 3px solid var(--amarelo-escuro); outline-offset: 2px; }
.rk-hist__col span { position: absolute; top: -4px; background: var(--preto); color: var(--amarelo); font-size: .68rem; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
.rk-comparar__escolha { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; }
.rk-comparar__escolha select { flex: 1; font: inherit; padding: 6px 10px; border: 2px solid var(--preto); border-radius: 10px; background: var(--creme); }
.rk-cmp { min-width: 0; } .rk-cmp td, .rk-cmp th { padding: 6px 8px; }
.rk-ganha { color: var(--alta); font-weight: 700; } .rk-ganha::after { content: " ●"; font-size: .6rem; }

.rk-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 12px 14px; margin-bottom: 8px; }
.rk-filtros select { font: inherit; font-weight: 600; padding: 8px 10px; border: 2px solid var(--preto); border-radius: 10px; background: var(--creme); }
.rk-filtros .filtros__busca { min-width: 220px; }
.rk-filtros .btn { cursor: pointer; font-family: inherit; }
.rk-filtros { display: block; padding: 8px 10px; }
.rk-filtros__barra { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rk-filtros__toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 10px; border: 1.5px solid var(--preto); border-radius: 9px; background: var(--creme); color: var(--preto); font: inherit; font-size: .88rem; font-weight: 700; cursor: pointer; }
.rk-filtros__toggle:hover { background: var(--amarelo-claro); }
.rk-filtros__campos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding-top: 10px; }
.rk-filtros__campos[hidden] { display: none !important; }
.rk-filtros__campos .filtros__busca { flex: 1 1 220px; }
@media (max-width: 560px) {
  .rk-filtros { padding: 7px 8px; }
  .rk-filtros__campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .rk-filtros__campos .filtros__busca { grid-column: 1 / -1; width: 100%; min-width: 0; }
  .rk-filtros__campos select { min-width: 0; width: 100%; padding: 7px 8px; font-size: .8rem; }
}
.tabela--ranking2 { width: 100%; }
.tabela--ranking2 th, .tabela--ranking2 td { padding: 9px 8px; }
.tabela--ranking2 td.num { white-space: nowrap; }
.tabela--ranking2 .txt-alta { color: var(--alta); font-weight: 700; } .tabela--ranking2 .txt-baixa { color: var(--baixa); font-weight: 700; }
.rk-linha { cursor: pointer; } .rk-linha:hover td { background: rgba(252, 208, 4, .12); }
.rk-linha.aberta td { background: rgba(252, 208, 4, .2); }
.rk-barra { height: 8px; width: 70px; margin-left: auto; border-radius: 999px; background: rgba(22,22,22,.12); overflow: hidden; }
.rk-barra i { display: block; height: 100%; background: var(--preto); }
.rk-detalhe td { background: var(--branco); }
.rk-detalhe__grade { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; padding: 6px 4px; }
.rk-detalhe__grade small { font-size: .72rem; text-transform: uppercase; font-weight: 700; opacity: .7; }
.rk-detalhe__grade p { margin: 4px 0; font-size: .88rem; }
.rk-detalhe__grade p > span { margin-right: 10px; white-space: nowrap; }
.rk-detalhe__aloc { display: flex; height: 14px; border-radius: 999px; overflow: hidden; border: 1.5px solid var(--preto); margin-top: 4px; }
.rk-detalhe__aloc i { display: block; height: 100%; }
@media (max-width: 1200px) { .rk-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) { .rk-hero__grade, .rk-analise, .rk-detalhe__grade { grid-template-columns: 1fr; } .rk-podio { grid-template-columns: 1fr; }
  .rk-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tabela--ranking2 td:nth-child(3) b { white-space: nowrap; } .rk-cmp .txt-baixa { color: var(--baixa); }

/* ---------- Minha carteira v3: abas, cards e tabelas sem rolagem ---------- */
.cart-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 6px 0 22px; }
.cart-kpi { --tom: #161616; position: relative; display: flex; gap: 12px; align-items: center; padding: 14px 16px; border-radius: 18px;
  background: var(--creme); border: 2px solid var(--preto); box-shadow: 4px 4px 0 var(--tom); overflow: hidden; transition: transform .15s; }
.cart-kpi:hover { transform: translateY(-3px); }
.cart-kpi::after { content: ""; position: absolute; right: -30px; top: -30px; width: 90px; height: 90px; border-radius: 50%; background: var(--tom); opacity: .08; }
.cart-kpi--alta { --tom: var(--alta); } .cart-kpi--baixa { --tom: var(--baixa); }
.cart-kpi--destaque { background: linear-gradient(135deg, #161616, #2c2c2c); color: var(--amarelo); --tom: var(--amarelo); }
.cart-kpi--destaque b { color: #fff !important; }
.cart-kpi__ic { flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 1.5rem;
  background: color-mix(in srgb, var(--tom) 14%, #fff); border: 2px solid var(--preto); }
.cart-kpi--destaque .cart-kpi__ic { background: var(--amarelo); }
.cart-kpi > div { display: flex; flex-direction: column; min-width: 0; }
.cart-kpi small { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; opacity: .75; }
.cart-kpi b { font-size: 1.3rem; } .cart-kpi span:last-child { font-size: .76rem; opacity: .75; }
.cart-kpi .txt-alta { color: var(--alta); } .cart-kpi .txt-baixa { color: var(--baixa); }

.cart-abas { display: flex; gap: 0; flex-wrap: wrap; border: 3px solid var(--preto); border-radius: 16px; overflow: hidden; width: fit-content;
  margin-bottom: 18px; box-shadow: 4px 4px 0 var(--preto); background: var(--creme); }
.cart-aba { font: inherit; font-weight: 700; padding: 11px 20px; border: 0; background: transparent; cursor: pointer; }
.cart-aba + .cart-aba { border-left: 2px solid var(--preto); }
.cart-aba em { font-style: normal; font-size: .75rem; background: var(--preto); color: var(--amarelo); border-radius: 999px; padding: 1px 8px; margin-left: 4px; }
.cart-aba em:empty { display: none; }
.cart-aba.ativa { background: var(--preto); color: var(--amarelo); }
.cart-aba.ativa em { background: var(--amarelo); color: var(--preto); }
.cart-aba:hover:not(.ativa) { background: var(--amarelo-claro); }

.cart-entenda { display: flex; gap: 12px; align-items: center; background: var(--creme); border: 2px dashed var(--preto); border-radius: 14px; padding: 10px 14px; margin-bottom: 12px; }
.cart-entenda > span { font-size: 1.6rem; } .cart-entenda p { margin: 0; font-size: .92rem; }
.cart-entenda .txt-alta { color: var(--alta); } .cart-entenda .txt-baixa { color: var(--baixa); }

.painel--sem-rolagem { overflow-x: visible; }
.painel--sem-rolagem .tabela, .tabela--compacta, .tabela--aloc, .tabela--proventos { min-width: 0 !important; width: 100%; }
.tabela--compacta th, .tabela--compacta td { padding: 9px 8px; }
.tabela--compacta td small { font-size: .74rem; }
.tabela--posicoes.tabela--compacta td.num { white-space: nowrap; }
.th-ordena .th-par { font-weight: 500; opacity: .75; font-size: .82em; }
.pos-ativo__cor { flex: none; width: 6px; align-self: stretch; border-radius: 4px; min-height: 34px; }
.pos-acoes { width: 1%; }
.pos-acoes { display: table-cell; }
.pos-acoes > .pos-bt { margin: 2px 0; }
.pos-bt { font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; padding: 5px 9px; border-radius: 8px; border: 2px solid var(--preto);
  background: var(--creme); white-space: nowrap; display: inline-block; }
.pos-bt:hover { transform: translateY(-1px); }
.pos-bt--entenda { background: var(--amarelo); }
.pos-bt--calculo { background: #DBEAFE; }
.pos-bt--ver { background: var(--preto); color: var(--amarelo); }
.pos-bt--compra { background: var(--alta); color: #fff; } .pos-bt--venda { background: var(--baixa); color: #fff; }
.pos-acoes { text-align: right; } .pos-acoes .pos-bt + .pos-bt { margin-left: 4px; }
@media (max-width: 1350px) { .pos-acoes { white-space: normal; } .pos-acoes .pos-bt { display: block; width: 100%; margin: 3px 0 !important; } }
@media (min-width: 1351px) { .pos-acoes { white-space: nowrap; } }

.calc-aplicado { display: grid; gap: 10px; line-height: 1.55; }
.calc-aplicado__intro { padding: 12px 14px; margin: 0; background: var(--creme); border: 2px solid var(--preto); border-radius: 12px; }
.calc-aplicado h3 { margin: 8px 0 0; font-size: 1rem; }
.calc-aplicado > p { margin: 0; }
.calc-aplicado__formula { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 12px; background: var(--branco); border: 1.5px solid rgba(22,22,22,.25); border-radius: 12px; text-align: center; }
.calc-aplicado__formula > b { opacity: .65; }
.calc-aplicado__formula strong { color: var(--preto); font-size: 1.05rem; }
.calc-aplicado__formula .txt-alta { color: var(--alta); }
.calc-aplicado__formula .txt-baixa { color: var(--baixa); }
.calc-aplicado__itens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; }
.calc-aplicado__itens > div { min-width: 0; display: grid; gap: 3px; padding: 11px 12px; background: var(--creme); border: 1.5px solid rgba(22,22,22,.2); border-radius: 10px; }
.calc-aplicado__itens dt { font-size: .8rem; opacity: .8; }
.calc-aplicado__itens dd { margin: 0; font: 700 1rem "JetBrains Mono", monospace; }
.calc-aplicado__itens small { font-size: .76rem; line-height: 1.4; }
@media (max-width: 560px) { .calc-aplicado__itens { grid-template-columns: 1fr; } .calc-aplicado__formula { gap: 6px; font-size: .88rem; } }

.cart-comparativo { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-bottom: 22px; }
.cart-wcard { --cor: #161616; display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 18px; background: var(--creme);
  border: 2px solid var(--preto); border-top: 8px solid var(--cor); box-shadow: 5px 5px 0 var(--cor); }
.cart-wcard header { display: flex; gap: 10px; align-items: center; }
.cart-wcard header > span { font-size: 1.6rem; } .cart-wcard header div { flex: 1; display: flex; flex-direction: column; }
.cart-wcard header small { font-size: .75rem; opacity: .7; } .cart-wcard header em { font-style: normal; font-weight: 700; }
.cart-wcard .txt-alta { color: var(--alta); } .cart-wcard .txt-baixa { color: var(--baixa); }
.cart-wcard__valor { font-size: 1.5rem; }
.cart-wcard__barra { height: 8px; border-radius: 999px; background: rgba(22,22,22,.12); overflow: hidden; } .cart-wcard__barra i { display: block; height: 100%; background: var(--cor); }
.cart-wcard dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 0; }
.cart-wcard dt { font-size: .68rem; text-transform: uppercase; opacity: .7; } .cart-wcard dd { margin: 0; font-weight: 700; font-size: .9rem; }
.cart-wcard .btn { cursor: pointer; font-family: inherit; align-self: flex-start; }
@media (max-width: 800px) { .cart-aba { padding: 9px 12px; font-size: .9rem; } }
.cart-kpis { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
@media (min-width: 1400px) { .cart-kpis { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
.cart-kpi { padding: 12px; gap: 10px; align-items: flex-start; }
.cart-kpi__ic { width: 38px; height: 38px; font-size: 1.2rem; border-radius: 12px; }
.cart-kpi b { font-size: 1.12rem; white-space: nowrap; }
.cart-kpi small { font-size: .68rem; }
.cart-secao > .ref { margin-top: 14px; } .tabela--posicoes.tabela--compacta td.pos-acoes { border-bottom-style: solid; }

/* Filtros das posições: métricas legíveis e alinhadas no celular. */
.aba-oferta__dados { display: flex; gap: 12px; }
.aba-oferta__dados > span { display: flex; flex-direction: column; min-width: 0; }
.aba-oferta__dados i { font-style: normal; font: 600 .58rem/1.2 system-ui, sans-serif; opacity: .72; }
.aba-oferta__dados b { font-weight: 700; }
@media (max-width: 760px) {
  .abas--ofertas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 8px; width: 100%; }
  .abas--ofertas .aba-oferta { width: 100%; min-width: 0; min-height: 74px; box-sizing: border-box; padding: 8px 9px; gap: 6px; }
  .aba-oferta__titulo { display: flex; align-items: center; justify-content: space-between; gap: 5px; min-width: 0; overflow-wrap: anywhere; line-height: 1.2; }
  .aba-oferta__titulo em { flex: none; margin-left: auto; }
  .aba-oferta__dados { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 5px; width: 100%; }
  .aba-oferta__dados > span { min-width: 0; }
  .aba-oferta__dados b { font-size: .68rem; line-height: 1.2; overflow-wrap: anywhere; }
}
/* Posições da carteira: resumo expansível no celular, seguindo o padrão do Ranking. */
.pos-maximizar, .pos-resumo--pnl { display: none; }
@media (max-width: 760px) {
  .tabela--posicoes { display: block; width: 100%; min-width: 0; border-collapse: separate; }
  .tabela--posicoes thead { display: none; }
  .tabela--posicoes tbody { display: grid; gap: 6px; width: 100%; }
  .tabela--posicoes tbody tr.posicao-linha {
    display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(64px, .6fr);
    border: 1.5px solid var(--preto); border-radius: 10px; background: var(--creme);
    box-shadow: 2px 2px 0 var(--preto); overflow: hidden;
  }
  .tabela--posicoes tbody tr.posicao-linha td {
    display: flex !important; flex-direction: column; align-items: flex-start; justify-content: center;
    min-width: 0; max-width: 100%; box-sizing: border-box; padding: 6px 7px; border-bottom: 1px solid #E8DFA8; text-align: left;
    white-space: normal; overflow-wrap: anywhere; font-size: .74rem; line-height: 1.25;
  }
  .tabela--posicoes tbody tr.posicao-linha td > *,
  .tabela--posicoes tbody tr.posicao-linha td small,
  .tabela--posicoes tbody tr.posicao-linha td b { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .tabela--posicoes tbody tr.posicao-linha td::before {
    content: attr(data-label); display: block; margin-bottom: 2px; color: var(--grafite);
    font-size: .57rem; line-height: 1.15; font-weight: 700; text-transform: uppercase; letter-spacing: .025em;
  }
  .tabela--posicoes tbody tr.posicao-linha td.pos-col--ativo { grid-column: 1; order: 1; padding: 7px 8px; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-col--ativo .pos-ativo { min-width: 0; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-col--ativo .abrir-ativo { min-width: 0; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-col--ativo .tabela__nome { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-col--valor { grid-column: 2; order: 2; white-space: normal; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-col--valor b { font-size: .72rem; line-height: 1.2; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-col--valor small { display: block; line-height: 1.25; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-acoes { grid-column: 3; order: 3; width: auto; padding: 5px; text-align: center; }
  .tabela--posicoes tbody tr.posicao-linha--compacta td.pos-col--carteira,
  .tabela--posicoes tbody tr.posicao-linha--compacta td.pos-col--tipo,
  .tabela--posicoes tbody tr.posicao-linha--compacta td.pos-col--qtd,
  .tabela--posicoes tbody tr.posicao-linha--compacta td.pos-col--fech,
  .tabela--posicoes tbody tr.posicao-linha--compacta td.pos-col--resultado { display: none !important; }
  .tabela--posicoes tbody tr.posicao-linha--compacta td.pos-col--valor::before { content: "Valor · resultado"; }
  .tabela--posicoes tbody tr.posicao-linha--compacta td.pos-col--valor .pos-resumo--pnl { display: block; margin-top: 2px; }
  .tabela--posicoes tbody tr.posicao-linha td.pos-acoes > .pos-bt:not(.pos-maximizar) { display: none; }
  .tabela--posicoes tbody tr.posicao-linha .pos-maximizar {
    display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 36px;
    padding: 5px 4px; font-size: .68rem; line-height: 1.15; white-space: normal; overflow-wrap: normal;
  }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-col--carteira { order: 4; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-col--tipo { order: 5; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-col--qtd { order: 6; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-col--fech { order: 7; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-col--resultado { order: 8; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes {
    grid-column: 1 / -1; order: 9; align-items: stretch; display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; padding: 7px;
  }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-bt:not(.pos-maximizar) {
    display: inline-flex; width: 100%; max-width: 100%; min-width: 0; min-height: 36px; align-self: stretch;
    align-items: center; justify-content: center; margin: 0 !important; padding: 5px 3px;
    font-size: .62rem; text-align: center; white-space: normal; overflow-wrap: anywhere; line-height: 1.15;
  }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-maximizar { min-height: 36px; }  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-maximizar { grid-column: 1; grid-row: 1; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-bt--calculo { grid-column: 2; grid-row: 1; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-bt--entenda { grid-column: 3; grid-row: 1; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-bt--ver { grid-column: 1; grid-row: 2; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-bt--compra { grid-column: 2; grid-row: 2; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-bt--venda { grid-column: 3; grid-row: 2; }
  .tabela--posicoes tbody tr:not(.posicao-linha) td[colspan] { display: block !important; }
  .tabela--posicoes tfoot { display: block; }
  .tabela--posicoes tfoot tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tabela--posicoes tfoot td { display: block; min-width: 0; padding: 7px; font-size: .72rem; }
  .tabela--posicoes tfoot td:first-child { grid-column: 1 / -1; }
  .tabela--posicoes tfoot td:last-child:empty { display: none; }
}
@media (max-width: 380px) {
  .tabela--posicoes tbody tr.posicao-linha { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) minmax(56px, .55fr); }
  .tabela--posicoes tbody tr.posicao-linha td { padding: 5px 5px; font-size: .7rem; }
  .tabela--posicoes tbody tr.posicao-linha td::before { font-size: .53rem; }
  .tabela--posicoes tbody tr.posicao-linha--expandida td.pos-acoes > .pos-bt:not(.pos-maximizar) { font-size: .57rem; }
}

/* ===== Tela Investimentos v2 · pulso, destaques do mês, altas e baixas por oferta ===== */
.inv2 .txt-alta { color: var(--alta); } .inv2 .txt-baixa { color: var(--baixa); } .inv2 .txt-neutro { color: var(--grafite); }
.inv2 .oferta--destaque .txt-alta, .inv2 .oferta--escuro .txt-alta, .inv2 .oferta--cripto .txt-alta, .inv2-pulso .txt-alta { color: #4ADE80; }
.inv2 .oferta--destaque .txt-baixa, .inv2 .oferta--escuro .txt-baixa, .inv2 .oferta--cripto .txt-baixa, .inv2-pulso .txt-baixa { color: #FF8A80; }
.inv2 .oferta--destaque .txt-neutro, .inv2 .oferta--escuro .txt-neutro, .inv2 .oferta--cripto .txt-neutro, .inv2-pulso .txt-neutro { color: #F5E9A8; }
.inv2-topo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 32px; align-items: stretch; margin-bottom: 40px; }
.inv2-topo .inv-cabeca { margin-bottom: 0; align-self: center; max-width: 720px; }
.inv2 { padding: 0 0 48px; }
.inv2-hero { padding: 28px 0 36px; border-bottom-color: var(--amarelo); }
.inv2-hero .inv2-topo { grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: end; margin: 18px 0 0; }
.inv2-hero__eyebrow { display: inline-block; margin-bottom: 12px; color: var(--amarelo); font: 700 .82rem "JetBrains Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.inv2-hero .inv-cabeca h1 { margin: 8px 0 16px; color: var(--branco); font-size: clamp(3rem, 8vw, 6rem); line-height: .95; letter-spacing: -.045em; }
.inv2-hero .inv-cabeca p { max-width: 32em; color: #F5E9A8; font-size: 1.08rem; }
.inv2-conteudo { padding-top: 36px; }
.inv2-filtros { display: flex; flex-wrap: wrap; gap: 8px; }
.inv2-filtros button { padding: 8px 13px; border: 1.5px solid var(--preto); border-radius: 999px; color: var(--preto); background: transparent; font: 700 .82rem "Space Grotesk", sans-serif; cursor: pointer; }
.inv2-filtros button:hover, .inv2-filtros button[aria-pressed="true"] { color: var(--amarelo); background: var(--preto); }
.inv2-filtros button:focus-visible { outline: 3px solid var(--amarelo-escuro); outline-offset: 2px; }
.inv2-classificacao { margin: 18px 0 24px; padding: 20px 24px; border: 1.5px solid var(--amarelo-escuro); border-radius: var(--raio); background: linear-gradient(135deg, #fff9dc, #fff); box-shadow: 4px 4px 0 var(--amarelo-escuro); }
.inv2-classificacao[hidden] { display: none; }
.inv2-classificacao h3 { margin: 0 0 7px; font: 700 1.2rem "Space Grotesk", sans-serif; }
.inv2-classificacao p { margin: 0 0 12px; color: #454545; line-height: 1.5; }
.inv2-classificacao ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 0; padding-left: 20px; }
.inv2-classificacao li { line-height: 1.45; }
.inv2-pulso { background: var(--preto); color: var(--amarelo); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: 6px 6px 0 var(--amarelo-escuro); padding: 20px 22px; }
.inv2-pulso__estado { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; color: var(--branco); font-size: .88rem; }
.inv2-pulso__ponto { width: 9px; height: 9px; flex: none; border-radius: 50%; background: #9A9A9A; }
.inv2-pulso__ponto--real { background: #4ADE80; box-shadow: 0 0 0 3px rgba(74,222,128,.14); }
.inv2-pulso .carregando { color: #F5E9A8; }.inv2-mobile-ofertas { display: none; }
.inv2-mobile-ofertas__botao { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; color: var(--preto); background: var(--creme); border: 1.5px solid var(--preto); border-radius: 999px; font-size: .82rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.inv2-mobile-ofertas__botao span { color: var(--grafite); }
.inv2-mobile-barra { display: none; }
.inv2-pulso__cab { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.inv2-pulso__cab span { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.inv2-pulso__cab b { color: var(--branco); }
.inv2-amplitude { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: #333; border: 1.5px solid #444; }
.inv2-amplitude i.alta { background: #4ADE80; } .inv2-amplitude i.baixa { background: #FF6B6B; margin-left: auto; }
.inv2-amplitude__leg { display: flex; justify-content: space-between; font-size: .8rem; font-weight: 700; margin: 6px 0 14px; }
.inv2-num { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 18px; padding: 14px 0; border-block: 1.5px dashed #555; }
.inv2-num dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #F5E9A8; opacity: .8; }
.inv2-num dd { font-weight: 700; font-size: 1.08rem; color: var(--branco); overflow-wrap: anywhere; }
.inv2-num dd small { font-size: .7rem; color: #F5E9A8; font-weight: 500; }
.inv2-taxas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 18px; padding-top: 12px; font-size: .82rem; }
.inv2-taxas > span { display: flex; flex-direction: column; gap: 2px; }
.inv2-taxas b { color: var(--branco); } .inv2-taxas small { grid-column: 1 / -1; color: #F5E9A8; opacity: .75; }

@media (max-width: 760px) { .inv2-taxas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; } }
@media (max-width: 760px) {
  .inv2-mobile-barra { display: block; padding-top: 12px; }
  .inv2-mobile-ofertas { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; overflow-x: auto; margin-top: 0; padding: 2px 2px 10px; scrollbar-width: thin; }
  .inv2-sec__cab .inv2-filtros { display: none; }
  .inv2-mobile-ofertas__filtro { flex: 0 0 auto; padding: 8px 11px; border: 1.5px solid var(--preto); border-radius: 999px; color: var(--preto); background: transparent; font: 700 .78rem "Space Grotesk", sans-serif; cursor: pointer; white-space: nowrap; }
  .inv2-mobile-ofertas__filtro[aria-pressed="true"] { color: var(--amarelo); background: var(--preto); }
  .inv2-mobile-ofertas__botao { flex: 0 0 auto; padding: 8px 11px; font-size: .78rem; }
  .inv2-ofertas article[id] { scroll-margin-top: 18px; }
}

.inv2-sec { margin-bottom: 48px; }
.inv2-sec__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.inv2-sec__cab h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); letter-spacing: -.01em; line-height: 1.1; }
.inv2-sec__eyebrow { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--grafite); }
.inv2-sec__nota { max-width: 460px; font-size: .95rem; color: var(--grafite); }

/* Destaques do mês */
.inv2-destaques { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 1100px) { .inv2-destaques { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .inv2-destaques { grid-template-columns: 1fr; } }
.inv2-dcard {
  --fundo: var(--creme); --fita: var(--preto); --fita-txt: var(--amarelo);
  position: relative; display: flex; flex-direction: column; background: var(--fundo); border: 2px solid var(--preto);
  border-radius: var(--raio); box-shadow: var(--sombra); overflow: hidden; transition: transform .2s, box-shadow .2s;
  animation: inv2-sobe .45s both; animation-delay: calc(var(--i) * 60ms);
}
.inv2-dcard:hover { transform: translate(-3px, -3px) rotate(-.4deg); box-shadow: 10px 10px 0 var(--preto); }
@keyframes inv2-sobe { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.inv2-dcard__fita { display: flex; align-items: center; gap: 8px; background: var(--fita); color: var(--fita-txt); font-weight: 700;
  font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; padding: 9px 14px; border-bottom: 2px solid var(--preto); }
.inv2-dcard__fita span { font-size: 1.15rem; }
.inv2-dcard__corpo { padding: 16px 16px 10px; flex: 1; }
.inv2-dcard__id b { font-size: 1.35rem; display: block; line-height: 1.1; }
.inv2-dcard__id span { font-size: .85rem; color: var(--grafite); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv2-dcard__valor { font-size: 2rem; font-weight: 700; letter-spacing: -.02em; margin-top: 10px; line-height: 1.05; overflow-wrap: anywhere; }
.inv2-dcard__sub { font-size: .82rem; color: var(--grafite); margin-top: 2px; min-height: 1.3em; }
.inv2-spark { display: block; width: 100%; height: 46px; margin: 10px 0 6px; }
.inv2-spark .linha { fill: none; stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.inv2-spark.sobe .linha { stroke: var(--alta); } .inv2-spark.desce .linha { stroke: var(--baixa); }
.inv2-spark .area { stroke: none; } .inv2-spark.sobe .area { fill: rgba(14,122,58,.12); } .inv2-spark.desce .area { fill: rgba(179,38,30,.1); }
.inv2-dcard__mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding-top: 8px; border-top: 1.5px dashed var(--preto); }
.inv2-dcard__mini dt { font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.inv2-dcard__mini dd { font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; }
.inv2-dcard__pe { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 16px 14px; }
.inv2-tag { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; border: 1.5px solid var(--preto); border-radius: 999px; padding: 2px 9px; background: var(--branco); }
.inv2-link { margin-left: auto; font: inherit; font-weight: 700; font-size: .85rem; background: none; border: 0; border-bottom: 2px solid currentColor; cursor: pointer; padding: 0; color: inherit; }
.inv2-link + .inv2-link { margin-left: 0; }
.inv2-dcard--estrela { --fundo: #E8F8EE; --fita: var(--alta); --fita-txt: var(--branco); }
.inv2-dcard--estrela::after { content: "★"; position: absolute; right: 12px; top: 40px; font-size: 4.5rem; color: rgba(14,122,58,.12); line-height: 1; pointer-events: none; }
.inv2-dcard--negociado { --fundo: #FFF0E0; --fita: #D9480F; --fita-txt: var(--branco); }
.inv2-dcard--popular { --fundo: var(--amarelo-claro); --fita: var(--preto); --fita-txt: var(--amarelo); }
.inv2-dcard--dia { --fundo: var(--branco); --fita: var(--amarelo); --fita-txt: var(--preto); }
.inv2-dcard--renda { --fundo: #EEF2FF; --fita: #3B4BA8; --fita-txt: var(--branco); }
.inv2-dcard--taxa { --fundo: var(--creme); --fita: #0B5563; --fita-txt: var(--branco); }
.inv2-dcard--volatil { --fundo: #F6EAFE; --fita: #7B2CBF; --fita-txt: var(--branco); }
.inv2-dcard--tombo { --fundo: #FDECEA; --fita: var(--baixa); --fita-txt: var(--branco); }

/* Ofertas: largura total + faixa de números do fechamento */
.oferta__pulso { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 14px; padding: 10px 12px;
  border: 1.5px solid currentColor; border-radius: 10px; background: rgba(255,255,255,.35); }
.oferta--destaque .oferta__pulso, .oferta--escuro .oferta__pulso, .oferta--cripto .oferta__pulso { background: rgba(255,255,255,.06); }
.oferta__pulso small { display: block; font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; opacity: .75; }
.oferta__pulso b { font-size: .88rem; overflow-wrap: anywhere; }
.oferta__pulso em { font-style: normal; font-size: .72rem; }
.oferta__acoes { margin-top: auto; display: flex; gap: 10px; flex-wrap: wrap; }
.oferta__acoes .oferta__btn { flex: 1; margin-top: 0; }
.oferta__btn2 { cursor: pointer; font-family: inherit; font-size: .9rem; color: inherit; border-color: currentColor; }
@media (min-width: 1500px) {
  .inv2-ofertas { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .inv2-ofertas .oferta { grid-column: span 3; }
  .inv2-ofertas .oferta--destaque, .inv2-ofertas .oferta--cripto, .inv2-ofertas .oferta--moedas, .inv2-ofertas .oferta--commodities, .inv2-ofertas .oferta--private { grid-column: span 6; flex-direction: row; }
  .inv2-ofertas .oferta--moedas .oferta__imagem { flex: 1; border-bottom: 0; border-right: 2px solid var(--preto); }
  .inv2-ofertas .oferta--moedas .oferta__imagem img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
  .inv2-ofertas .oferta--moedas .oferta__corpo, .inv2-ofertas .oferta--cripto .oferta__corpo { flex: 1.1; }
}
/* Altas e baixas por oferta */
.inv2-dia { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: .9rem; }
.inv2-dia select { font: inherit; padding: 8px 12px; border: 2px solid var(--preto); border-radius: 10px; background: var(--creme); cursor: pointer; }
.inv2-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.inv2-chip { font: inherit; font-size: .85rem; font-weight: 700; padding: 6px 14px; border: 2px solid var(--preto); border-radius: 999px; background: var(--creme); cursor: pointer; }
.inv2-chip.ativo { background: var(--preto); color: var(--amarelo); }
.inv2-rank { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.inv2-rcard { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); overflow: hidden; min-width: 0; }
.inv2-rcard header { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 2px solid var(--preto); background: var(--branco); }
.inv2-rcard header img { width: 64px; height: 40px; object-fit: cover; border: 1.5px solid var(--preto); border-radius: 8px; flex: none; }
.inv2-rcard header h3 { font-size: 1.1rem; line-height: 1.15; } .inv2-rcard header small { font-size: .78rem; color: var(--grafite); }
.inv2-rcard__cols { display: grid; grid-template-columns: 1fr; }
.inv2-rcard__cols > div { padding: 10px 14px 12px; min-width: 0; }
.inv2-rcard__cols > div + div { border-top: 1.5px dashed var(--preto); }
.inv2-rcard h4 { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.inv2-rcard ol { list-style: none; }
.inv2-lin { display: grid; grid-template-columns: 20px minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.1fr) 26px; align-items: center; gap: 8px; padding: 5px 0; border-bottom: 1px solid rgba(22,22,22,.08); font-size: .85rem; }
.inv2-lin:last-child { border-bottom: 0; }
.inv2-lin__n { font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: .75rem; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--preto); color: var(--amarelo); }
.inv2-lin__id { min-width: 0; } .inv2-lin__id b { display: block; line-height: 1.1; }
.inv2-lin__id small { display: block; font-size: .7rem; color: var(--grafite); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv2-lin__preco { text-align: right; font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv2-lin__var { position: relative; display: flex; justify-content: flex-end; align-items: center; height: 22px; }
.inv2-lin__var i { position: absolute; right: 0; top: 3px; bottom: 3px; border-radius: 4px; opacity: .16; }
.inv2-lin__var i.alta { background: var(--alta); } .inv2-lin__var i.baixa { background: var(--baixa); } .inv2-lin__var i.neutro { background: var(--grafite); }
.inv2-lin__var b { position: relative; font-size: .8rem; padding-right: 4px; }
.inv2-lin__ver { width: 24px; height: 24px; border: 1.5px solid var(--preto); border-radius: 6px; background: var(--branco); cursor: pointer; font-weight: 700; }
.inv2-lin__ver:hover { background: var(--amarelo); }
.inv2-vazio { font-size: .82rem; color: var(--grafite); padding: 6px 0; }
.inv2-rank--uma { grid-template-columns: 1fr; }
.inv2-rank--uma .inv2-rcard__cols { grid-template-columns: 1fr 1fr; }
.inv2-rank--uma .inv2-rcard__cols > div + div { border-top: 0; border-left: 1.5px dashed var(--preto); }
@media (min-width: 1700px) { .inv2-rank:not(.inv2-rank--uma) .inv2-rcard__cols { grid-template-columns: 1fr 1fr; }
  .inv2-rank:not(.inv2-rank--uma) .inv2-rcard__cols > div + div { border-top: 0; border-left: 1.5px dashed var(--preto); }
  .inv2-rank:not(.inv2-rank--uma) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1300px) { .inv2-rank { grid-template-columns: repeat(2, minmax(0, 1fr)); } .inv2-num { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .inv2-topo { grid-template-columns: 1fr; } .inv2-num { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

@media (max-width: 760px) {
  .inv2-rank { grid-template-columns: 1fr; } .inv2-rank--uma .inv2-rcard__cols { grid-template-columns: 1fr; }
  .inv2-rank--uma .inv2-rcard__cols > div + div { border-left: 0; border-top: 1.5px dashed var(--preto); }
  .inv2-num { grid-template-columns: repeat(2, minmax(0, 1fr)); } .oferta__pulso { grid-template-columns: repeat(2, 1fr); }
}

/* Investimentos: cards compactos e informações detalhadas em popups por oferta */
.inv2-ofertas { gap: 18px; }
.inv2 .oferta__imagem img { aspect-ratio: 400 / 176; }
.inv2 .oferta__corpo { padding: 16px 17px 18px; }
.inv2 .oferta__chamada { font-size: .72rem; }
.inv2 .oferta__titulo { font-size: 1.45rem; margin-bottom: 6px; }
.inv2 .oferta--destaque .oferta__titulo { font-size: 1.95rem; }
.inv2 .oferta__descricao { font-size: .86rem; line-height: 1.4; }
.inv2 .oferta__pulso { gap: 6px; margin-top: 10px; padding: 8px 9px; }
.inv2 .oferta__pulso b { font-size: .8rem; }
.inv2 .oferta__meta { gap: 7px 12px; margin: 12px 0 10px; padding: 10px 0; }
.inv2 .oferta__meta dd { font-size: .84rem; }
.inv2 .oferta__exemplos { gap: 5px; margin-bottom: 12px; }
.inv2 .oferta__exemplos li { font-size: .68rem; padding: 2px 7px; }
.inv2 .oferta__acoes { gap: 7px; }
.inv2 .oferta__acoes > .btn { flex: 1 1 auto; min-width: 0; padding: 8px 9px; font-size: .78rem; text-align: center; }
.inv2-popup { width: min(1040px, 100%); }
.inv2-popup .inv2-dia { margin: 14px 0; }
.inv2-popup .inv2-rank { grid-template-columns: 1fr; }
.inv2-info-meta { margin-top: 16px; }
.inv2-formula { padding: 14px; margin: 14px 0; background: var(--branco); border: 1.5px solid var(--preto); border-radius: 10px; line-height: 1.8; }
@media (max-width: 680px) {
  .inv2-ofertas { gap: 14px; }
  .inv2 .oferta__imagem img { aspect-ratio: 400 / 190; }
  .inv2 .oferta--destaque .oferta__titulo { font-size: 1.7rem; }
  .inv2-popup .inv2-rank--uma .inv2-rcard__cols { grid-template-columns: 1fr; }
  .inv2-popup .inv2-rank--uma .inv2-rcard__cols > div + div { border-left: 0; border-top: 1.5px dashed var(--preto); }
}

/* Pulso compacto: prioriza as ofertas e pode ser expandido sob demanda */
.inv2-topo { grid-template-columns: minmax(0, 1fr) minmax(300px, .38fr); gap: 24px; margin-bottom: 24px; }
.inv2-pulso { width: 100%; max-width: 580px; justify-self: end; padding: 14px 16px; }
.inv2-pulso__cab { align-items: center; margin-bottom: 10px; }
.inv2-pulso__ident { display: grid; gap: 3px; }
.inv2-pulso__ident > span { font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.inv2-pulso__ident > b { font-size: .8rem; }
.inv2-pulso__toggle { flex: none; font: inherit; font-size: .76rem; font-weight: 700; cursor: pointer; color: var(--amarelo); background: #242424;
  border: 1px solid #69604A; border-radius: 8px; padding: 6px 9px; }
.inv2-pulso__toggle:hover { color: var(--preto); background: var(--amarelo); }
.inv2-pulso--minimizado { align-self: start; padding-block: 11px; box-shadow: 4px 4px 0 var(--amarelo-escuro); }
.inv2-pulso--minimizado .inv2-pulso__cab { margin-bottom: 0; }
.inv2-pulso #pulso-conteudo[hidden] { display: none !important; }
.inv2-pulso #pulso-conteudo .inv2-num { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.inv2-pulso #pulso-conteudo .inv2-taxas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 12px; }
@media (max-width: 1200px) {
  .inv2-topo, .inv2-hero .inv2-topo { grid-template-columns: minmax(0, 1fr); }
  .inv2-topo > *, .inv2-pulso { min-width: 0; }
  .inv2-pulso { justify-self: start; width: min(100%, 560px); }
}

@media (max-width: 760px) {
  .inv2-hero .inv2-topo { gap: 16px; margin-top: 12px; }
  .inv2-pulso { justify-self: stretch; width: 100%; max-width: none; padding: 12px; }
  .inv2-pulso__cab { align-items: flex-start; gap: 8px; }
  .inv2-pulso__ident { min-width: 0; }
  .inv2-pulso__toggle { padding: 6px 8px; white-space: nowrap; }
  .inv2-pulso #pulso-conteudo .inv2-num { gap: 8px; }
  .inv2-pulso #pulso-conteudo .inv2-taxas { gap: 8px; }
}

/* ===== Login: apresentação ao lado do formulário ===== */
.entrar-grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 460px); gap: clamp(24px, 5vw, 80px); align-items: center; max-width: 1280px; }
.entrar-hero h2 { font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.08; letter-spacing: -.02em; margin: 14px 0 18px; }
.entrar-hero p { font-size: 1.1rem; max-width: 34em; }
.entrar-hero__lista { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.entrar-hero__lista li { background: var(--creme); border: 2px solid var(--preto); border-radius: 999px; padding: 6px 14px; font-weight: 700; font-size: .9rem; }
.entrar-forms .form-cartao { margin: 0 auto; }
.entrar-acesso { max-width: 420px; margin: 14px auto 0; padding: 18px; display: grid; grid-template-columns: minmax(0, 1fr) 142px; gap: 16px; align-items: center; border: 2px solid var(--preto); border-radius: var(--raio); background: linear-gradient(135deg, var(--creme), #fff9d8); box-shadow: 4px 4px 0 var(--preto); }
.entrar-acesso[hidden] { display: none; }
.entrar-acesso__texto { min-width: 0; }
.entrar-acesso__texto h2 { margin: 9px 0 6px; font-size: 1.12rem; line-height: 1.15; }
.entrar-acesso__texto p { margin: 0 0 12px; font-size: .88rem; color: var(--grafite); }
.entrar-acesso__texto .btn { width: 100%; min-height: 44px; cursor: pointer; font: inherit; font-weight: 700; }
.entrar-acesso__texto .entrar-acesso__dica { margin: 10px 0 0; font-size: .76rem; }
.entrar-acesso__qr { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 7px; text-align: center; }
.entrar-acesso__qr svg { display: block; width: min(100%, 132px); height: auto; border: 7px solid white; border-radius: 10px; }
.entrar-acesso__qr b { font-size: .8rem; }
.entrar-acesso__qr a { font-size: .68rem; overflow-wrap: anywhere; color: inherit; }
@media (max-width: 760px) {
  .entrar-acesso { grid-template-columns: 1fr; text-align: center; }
  .entrar-acesso__texto { grid-row: 1; }
  .entrar-acesso__qr { grid-row: 2; }
  .entrar-acesso__qr svg { width: min(100%, 144px); }
}

@media (max-width: 900px) { .entrar-grade { grid-template-columns: 1fr; } }

/* ===== Painel geral v2 ===== */
.pg .txt-alta { color: var(--alta); } .pg .txt-baixa { color: var(--baixa); } .pg .txt-neutro { color: var(--grafite); }
.pg-hero { padding: 44px 0 36px; }
.pg-hero__grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(24px, 3vw, 48px); align-items: stretch; }
.pg-boas { display: flex; flex-direction: column; justify-content: center; }
.pg-boas h1 { font-size: clamp(2.2rem, 4.4vw, 3.8rem); line-height: 1.04; letter-spacing: -.02em; margin-top: 12px; }
.pg-boas__texto { font-size: 1.12rem; margin: 12px 0 22px; max-width: 36em; }
.pg-atalhos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pg-atalho { display: flex; flex-direction: column; gap: 2px; background: var(--creme); border: 2px solid var(--preto); border-radius: 12px; padding: 12px 14px;
  box-shadow: 4px 4px 0 var(--preto); transition: transform .15s, box-shadow .15s; }
.pg-atalho:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--preto); }
.pg-atalho span { font-size: 1.5rem; } .pg-atalho b { font-size: 1rem; } .pg-atalho small { font-size: .78rem; color: var(--grafite); }
.pg-mercado { margin-top: 20px; background: var(--creme); border: 2px solid var(--preto); border-radius: 12px; padding: 12px 16px; }
.pg-mercado:empty { display: none; }
.pg-mercado__cab { display: flex; justify-content: space-between; font-weight: 700; font-size: .85rem; margin-bottom: 8px; }
.pg-mercado__cab a { text-decoration: underline; }
.pg-mercado__barra { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: #ddd; border: 1.5px solid var(--preto); }
.pg-mercado__barra .alta { background: var(--alta); } .pg-mercado__barra .baixa { background: var(--baixa); margin-left: auto; }
.pg-mercado__nums { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 8px; font-size: .88rem; }

/* Cofre: o quadro preto com o saldo, ampliado */
.cofre { position: relative; overflow: hidden; background: var(--preto); color: var(--amarelo); border: 2px solid var(--preto); border-radius: 22px;
  padding: clamp(22px, 2.4vw, 34px); box-shadow: 10px 10px 0 var(--amarelo-escuro), 10px 10px 0 2px var(--preto); display: flex; flex-direction: column; gap: 16px; }
.cofre__brilho { position: absolute; inset: -40% -20% auto auto; width: 70%; aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(252,208,4,.22), transparent 62%); pointer-events: none; }
.cofre::after { content: "$F"; position: absolute; right: -10px; bottom: -40px; font: 700 11rem/1 "JetBrains Mono", monospace; color: rgba(252,208,4,.05); pointer-events: none; }
.cofre > *:not(.cofre__brilho) { position: relative; z-index: 1; }
.pg-boas .selo { align-self: flex-start; }
.cofre__topo { display: flex; align-items: center; gap: 14px; }
.cofre__topo .cartao-moeda__simbolo { flex: none; }
.cofre__nome { font-weight: 700; font-size: 1.3rem; color: var(--branco); line-height: 1.1; }
.cofre__sub { font-size: .88rem; color: #F5E9A8; }
.cofre__chip { margin-left: auto; padding: 6px 12px; border: 1.5px solid #444; border-radius: 999px; font-size: .85rem; font-weight: 700; background: #222; white-space: nowrap; }
.cofre .txt-alta { color: #4ADE80; } .cofre .txt-baixa { color: #FF8A80; } .cofre .txt-neutro { color: #F5E9A8; }
.cofre__principal { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; flex-wrap: wrap; }
.cofre__rotulo { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: #F5E9A8; }
.cofre__valor { font-family: "JetBrains Mono", monospace; font-weight: 700; font-size: clamp(2.4rem, 4.6vw, 4.2rem); line-height: 1.05; letter-spacing: -.03em;
  color: var(--amarelo); text-shadow: 0 0 28px rgba(252,208,4,.25); }
.cofre__detalhe { font-size: .9rem; color: #F5E9A8; margin-top: 4px; } .cofre__detalhe b { color: var(--branco); }
.cofre__resultado { display: flex; flex-direction: column; align-items: flex-end; padding: 10px 16px; border-radius: 14px; border: 2px solid; min-width: 170px; }
.cofre__resultado small { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; opacity: .85; }
.cofre__resultado b { font-size: 1.35rem; } .cofre__resultado span { font-weight: 700; }
.cofre__resultado.pos { color: #4ADE80; border-color: #2F6B45; background: rgba(74,222,128,.08); }
.cofre__resultado.neg { color: #FF8A80; border-color: #6B2F2F; background: rgba(255,107,107,.08); }
.cofre__barra { display: flex; height: 14px; border-radius: 999px; overflow: hidden; background: #2b2b2b; border: 1.5px solid #444; }
.cofre__barra i { display: block; height: 100%; }
.cofre__legenda { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .82rem; color: #F5E9A8; margin-top: -6px; }
.cofre__legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: middle; }
.cofre__legenda b { color: var(--branco); }
.cofre__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #333; border: 1.5px solid #333; border-radius: 14px; overflow: hidden; }
.cofre__stats > div { background: #1d1d1d; padding: 12px 14px; min-width: 0; }
.cofre__stats span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: #F5E9A8; opacity: .85; }
.cofre__stats b { display: block; font-size: 1.12rem; color: var(--branco); margin-top: 2px; overflow-wrap: anywhere; }
.cofre:not(.cofre--conta) .cofre__stats b { font-size: 1.8rem; }
.cofre__aporte { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; font: inherit; cursor: pointer; color: var(--preto);
  background: var(--amarelo); border: 2px solid var(--amarelo); border-radius: 14px; padding: 10px 14px; animation: cofre-pulsa 2.2s ease-in-out infinite; }
.cofre__aporte span { font-size: 1.6rem; } .cofre__aporte small { display: block; font-size: .8rem; } .cofre__aporte em { margin-left: auto; font-style: normal; font-weight: 700; white-space: nowrap; }
@keyframes cofre-pulsa { 0%, 100% { box-shadow: 0 0 0 0 rgba(252,208,4,.5); } 50% { box-shadow: 0 0 0 8px rgba(252,208,4,0); } }
.cofre__acoes { display: flex; gap: 12px; flex-wrap: wrap; }
.cofre__cta { background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); text-align: center; flex: 1; }
.cofre__cta:hover { box-shadow: 4px 4px 0 var(--amarelo-escuro); }
.cofre__cta--linha { background: transparent; color: var(--amarelo); }
.cofre:not(.cofre--conta) .cofre__cta { flex: none; align-self: flex-start; }

/* Seções */
.pg-sec { padding-top: 24px; }
.pg-sec__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.pg-sec__cab h2 { font-size: clamp(1.6rem, 2.8vw, 2.3rem); letter-spacing: -.01em; line-height: 1.1; }
.pg-sec__cab p { color: var(--grafite); max-width: 460px; }
.cb-sec .pg-sec__cab { display: block; }
.cb-sec .pg-sec__cab p { max-width: 760px; margin-top: 8px; }
.pg-eyebrow { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--grafite); }
.pg-duas { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.passos--coluna { grid-template-columns: 1fr; gap: 14px; }
.passos--coluna .passo { padding: 16px 20px; } .passos--coluna .passo h3 { margin: 8px 0 2px; }

/* Cards das ofertas: cartas temáticas */
.pg-ofertas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pgo { --c1: var(--creme); --c2: var(--amarelo); --tx: var(--preto); --ac: var(--preto);
  position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); background: var(--c1); color: var(--tx);
  border: 2px solid var(--preto); border-radius: 18px; box-shadow: var(--sombra); overflow: hidden; transition: transform .2s, box-shadow .2s;
  animation: inv2-sobe .45s both; animation-delay: calc(var(--i) * 50ms); }
.pgo:hover { transform: translate(-4px, -4px); box-shadow: 10px 10px 0 var(--preto); }
.pgo__arte { position: relative; background: var(--c2); border-right: 2px solid var(--preto); overflow: hidden; min-height: 100%; }
.pgo__arte img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.pgo:hover .pgo__arte img { transform: scale(1.07) rotate(-1deg); }
.pgo__n { position: absolute; top: 10px; left: 10px; background: var(--amarelo); color: var(--preto); border: 2px solid var(--preto); border-radius: 6px; padding: 1px 7px; font-size: .8rem; font-weight: 700; }
.pgo__selo { position: absolute; left: 10px; bottom: 10px; right: 10px; background: var(--preto); color: var(--amarelo); border-radius: 999px; padding: 4px 10px;
  font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; text-align: center; }
.pgo__corpo { padding: 16px 16px 14px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pgo__frase { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; opacity: .75; }
.pgo__titulo { font-size: 1.5rem; line-height: 1.05; letter-spacing: -.01em; margin-top: -6px; }
.pgo__risco { display: flex; align-items: center; gap: 3px; } .pgo__risco small { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; margin-right: 6px; opacity: .75; }
.pgo__risco i { width: 16px; height: 8px; border: 1.5px solid currentColor; border-radius: 2px; } .pgo__risco i.on { background: currentColor; }
.pgo__num { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 8px 10px; border: 1.5px solid currentColor; border-radius: 10px; background: rgba(255,255,255,.35); }
.pgo__num small { display: block; font-size: .62rem; text-transform: uppercase; letter-spacing: .05em; opacity: .75; }
.pgo__num b { font-size: .9rem; overflow-wrap: anywhere; }
.pgo__top { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; font-size: .74rem; }
.pgo__top-tit { width: 100%; font-size: .64rem; text-transform: uppercase; letter-spacing: .06em; opacity: .75; font-weight: 700; }
.pgo__top li:not(.pgo__top-tit) { display: flex; gap: 6px; border: 1.5px solid currentColor; border-radius: 999px; padding: 2px 8px; background: rgba(255,255,255,.4); }
.pgo__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding-top: 8px; border-top: 1.5px dashed currentColor; }
.pgo__meta dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .05em; opacity: .7; } .pgo__meta dd { font-size: .8rem; font-weight: 700; }
.pgo__cta { margin-top: auto; align-self: flex-start; background: var(--ac); color: var(--c1); border-radius: 10px; padding: 8px 14px; font-weight: 700; font-size: .9rem; }
/* temas */
.pgo--acoes, .pgo--cripto { --c1: var(--preto); --c2: #161616; --tx: var(--amarelo); --ac: var(--amarelo); }
.pgo--acoes .pgo__titulo, .pgo--cripto .pgo__titulo { color: var(--branco); }
.pgo--acoes .pgo__num, .pgo--cripto .pgo__num, .pgo--acoes .pgo__top li, .pgo--cripto .pgo__top li { background: rgba(255,255,255,.06) !important; }
.pgo--acoes .pgo__cta, .pgo--cripto .pgo__cta { color: var(--preto); }
.pgo--acoes .txt-alta, .pgo--cripto .txt-alta { color: #4ADE80; } .pgo--acoes .txt-baixa, .pgo--cripto .txt-baixa { color: #FF8A80; }
.pgo--acoes .txt-neutro, .pgo--cripto .txt-neutro { color: #F5E9A8; }
.pgo--acoes .pgo__arte, .pgo--cripto .pgo__arte { border-right-color: #333; }
.pgo--etfs { --c1: var(--creme); --c2: var(--branco); }
.pgo--etfs .pgo__corpo { background: repeating-linear-gradient(135deg, transparent 0 14px, rgba(22,22,22,.035) 14px 28px); }
.pgo--reits { --c1: var(--amarelo-claro); --c2: var(--amarelo); }
.pgo--tesouro { --c1: #FFFDF2; --c2: var(--amarelo); }
.pgo--tesouro::after, .pgo--corporativos::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 10px; border-left: 2px dashed var(--preto); background: var(--amarelo); }
.pgo--corporativos { --c1: #23201A; --c2: #161616; --tx: var(--amarelo); --ac: var(--amarelo); }
.pgo--corporativos .pgo__titulo { color: var(--branco); } .pgo--corporativos .pgo__cta { color: var(--preto); }
.pgo--corporativos .pgo__num, .pgo--corporativos .pgo__top li { background: rgba(255,255,255,.06) !important; }
.pgo--corporativos .txt-alta { color: #4ADE80; } .pgo--corporativos .txt-baixa { color: #FF8A80; } .pgo--corporativos .txt-neutro { color: #F5E9A8; }
.pgo--cdbs { --c1: #EEF7EF; --c2: var(--amarelo-claro); }
.pgo--lci_lca { --c1: #F3F8E6; --c2: var(--creme); }
.pgo--lci_lca .pgo__corpo { background: repeating-linear-gradient(0deg, transparent 0 18px, rgba(22,22,22,.035) 18px 19px); }
.pgo--moedas { --c1: #EAF2FF; --c2: var(--amarelo); }
@media (min-width: 1800px) { .pg-ofertas { gap: 28px; } .pgo__titulo { font-size: 1.7rem; } }
@media (max-width: 1500px) { .pg-ofertas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .pg-hero__grade, .pg-duas { grid-template-columns: 1fr; } }

@media (max-width: 760px) {
  .pg-ofertas { grid-template-columns: 1fr; } .pgo { grid-template-columns: 1fr; } .pgo__arte { min-height: 170px; border-right: 0; border-bottom: 2px solid var(--preto); }
  .pg-atalhos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cofre__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cofre__chip { display: none; } .cofre__resultado { align-items: flex-start; }
}
.pg-duas > div { min-width: 0; } .pg .painel { overflow-x: auto; }

/* ===== Ranking v3: pódio compacto, tabela sem rolagem, detalhamento por categoria ===== */
.rk-podio { max-width: 560px; margin: 0 auto 22px; gap: 10px; grid-template-columns: 1fr 1.1fr 1fr; }
.rk-trofeu { padding: 10px 8px 0; gap: 2px; border-width: 2px; border-radius: 14px; box-shadow: 3px 3px 0 var(--preto); }
.rk-trofeu.eu { outline-width: 3px; outline-offset: 2px; }
.rk-trofeu__coroa { top: 2px; font-size: 1rem; }
.rk-trofeu__medalha, .rk-trofeu--1 .rk-trofeu__medalha { font-size: 1.6rem; margin-top: 6px; }
.rk-trofeu--1 .rk-trofeu__medalha { font-size: 1.9rem; }
.rk-trofeu__titulo { font-size: .58rem; }
.rk-trofeu h3 { font-size: .95rem; line-height: 1.1; }
.rk-trofeu .rk-liga { font-size: .64rem; padding: 1px 6px; }
.rk-trofeu__ret { font-size: 1.05rem; }
.rk-trofeu > .mono { font-size: .72rem; }
.rk-trofeu__aloc { height: 6px; }
.rk-trofeu dl, .rk-trofeu > small { display: none; }
.rk-trofeu__degrau { width: calc(100% + 16px); margin-top: 6px; padding: 4px 0; font-size: .95rem; border-top-width: 2px; }
.rk-trofeu--1 .rk-trofeu__degrau { padding: 12px 0; } .rk-trofeu--2 .rk-trofeu__degrau { padding: 8px 0; }

.tabela--ranking2 { table-layout: auto; font-size: .88rem; }
.tabela--ranking2 th, .tabela--ranking2 td { padding: 8px 6px; vertical-align: middle; }
.tabela--ranking2 td small { display: block; font-size: .74rem; margin-top: 2px; white-space: nowrap; }
.tabela--ranking2 th button { white-space: nowrap; }
.rk-th-sep { opacity: .4; margin: 0 2px; } .rk-th-rot { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.rk-quem b { white-space: nowrap; } .rk-quem small { white-space: normal !important; display: flex !important; flex-wrap: wrap; gap: 4px; align-items: center; }
.rk-pos { font-size: 1rem; }
.rk-ver { font: inherit; font-size: .8rem; font-weight: 700; white-space: nowrap; cursor: pointer; padding: 5px 9px; border: 2px solid var(--preto); border-radius: 8px;
  background: var(--amarelo); box-shadow: 2px 2px 0 var(--preto); transition: transform .12s, box-shadow .12s; }
.rk-ver:hover { transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--preto); }
.tabela--ranking2 .rk-barra { min-width: 60px; }
@media (max-width: 1280px) { .tabela--ranking2 { font-size: .82rem; } .tabela--ranking2 th, .tabela--ranking2 td { padding: 7px 4px; } }
@media (max-width: 1100px) { .tabela--ranking2 th:nth-child(9), .tabela--ranking2 td:nth-child(9), .tabela--ranking2 th:nth-child(10), .tabela--ranking2 td:nth-child(10), .tabela--ranking2 th:nth-child(11), .tabela--ranking2 td:nth-child(11) { display: none; } }
@media (max-width: 820px) { .tabela--ranking2 th:nth-child(5), .tabela--ranking2 td:nth-child(5), .tabela--ranking2 th:nth-child(6), .tabela--ranking2 td:nth-child(6), .tabela--ranking2 th:nth-child(8), .tabela--ranking2 td:nth-child(8) { display: none; } }
@media (max-width: 560px) { .tabela--ranking2 th:nth-child(3), .tabela--ranking2 td:nth-child(3), .tabela--ranking2 th:nth-child(7), .tabela--ranking2 td:nth-child(7) { display: none; } }

.rk-dm { width: min(1100px, 100%); max-width: 1100px !important; max-height: 92vh; overflow-y: auto; position: relative; }
.rk-dm .modal__fechar { position: absolute; top: 14px; right: 14px; }
.rk-dm__cab { display: flex; align-items: center; gap: 14px; padding-right: 50px; margin-bottom: 14px; }
.rk-dm__pos { font-size: 2.4rem; font-family: "JetBrains Mono", monospace; font-weight: 700; }
.rk-dm__cab h2 { font-size: 1.5rem; line-height: 1.1; } .rk-dm__cab p { font-size: .9rem; margin-top: 4px; }
.rk-dm .txt-alta { color: var(--alta); font-weight: 700; } .rk-dm .txt-baixa { color: var(--baixa); font-weight: 700; }
.rk-dm__kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.rk-dm__kpis div { background: var(--preto); color: var(--amarelo); border-radius: 12px; padding: 10px 12px; min-width: 0; }
.rk-dm__kpis small { display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; opacity: .8; }
.rk-dm__kpis b { color: var(--branco); font-size: 1rem; overflow-wrap: anywhere; }
.rk-dm__kpis .txt-alta { color: #4ADE80; } .rk-dm__kpis .txt-baixa { color: #FF8A80; }
.rk-dm__barra { display: flex; height: 14px; border-radius: 999px; overflow: hidden; border: 1.5px solid var(--preto); margin-bottom: 12px; }
.rk-dm__barra i { display: block; height: 100%; }
.rk-dm__tab { width: 100%; font-size: .86rem; }
.rk-dm__tab th, .rk-dm__tab td { padding: 8px 6px; }
.rk-dm__tab td small { display: block; font-size: .74rem; }
.rk-dm__tab tfoot td { border-top: 2px solid var(--preto); }
.rk-dm__tks { display: flex; flex-wrap: wrap; gap: 4px; }
.rk-dm__tks span { font-size: .72rem; border: 1.5px solid var(--preto); border-radius: 999px; padding: 1px 7px; background: var(--branco); white-space: nowrap; }
.rk-dm__tks em { font-style: normal; }
@media (max-width: 860px) { .rk-dm__kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rk-dm { overflow-x: auto; } }
.rk-quem { min-width: 170px; } .rk-quem .rk-liga--mini, .rk-quem .perfil { white-space: nowrap; }
.rk-dm__tab td.num { white-space: nowrap; }
@media (max-width: 560px) { .rk-quem { min-width: 0; } .rk-ver__t { display: none; }
  .tabela--ranking2 th:nth-child(4), .tabela--ranking2 td:nth-child(4) { display: none; } }
@media (max-width: 560px) { .rk-quem small .perfil, .rk-quem small .ref { display: none; } .tabela--ranking2 th button { white-space: normal; } .rk-quem b { white-space: normal; } }
.tabela.tabela--ranking2 { min-width: 0; }

/* Controle de expansão usado pelo resumo compacto no mobile. */
.rk-acoes { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.rk-maximizar { min-height: 34px; padding: 5px 9px; border: 1.5px solid var(--preto); border-radius: 8px; background: var(--branco); font: inherit; font-size: .76rem; font-weight: 700; cursor: pointer; }
.rk-maximizar:hover { background: var(--amarelo); }
.rk-maximizar, .rk-mobile-pos { display: none; }
.tabela--ranking2 tbody tr.rk-linha--expandida td { padding: 5px 5px; line-height: 1.2; font-size: .78rem; }
.tabela--ranking2 tbody tr.rk-linha--expandida td small { margin-top: 1px; font-size: .68rem; }

/* Ranking mobile: cada investidor vira um cartão para manter todas as colunas legíveis. */
@media (max-width: 760px) {
  .tabela--ranking2 { display: block; width: 100%; min-width: 0; border-collapse: separate; }
  .tabela--ranking2 thead { display: none; }
  .tabela--ranking2 tbody { display: grid; gap: 6px; width: 100%; }
  .tabela--ranking2 tbody tr.rk-linha { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(88px, .8fr) minmax(82px, .8fr); border: 1.5px solid var(--preto); border-radius: 10px; background: var(--creme); box-shadow: 2px 2px 0 var(--preto); overflow: hidden; }
  .tabela--ranking2 tbody tr.rk-linha:hover { background: var(--creme); }
  .tabela--ranking2 tbody tr.rk-linha td { display: flex !important; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 5px 7px; border-bottom: 1px solid #E8DFA8; text-align: left; white-space: normal; overflow-wrap: anywhere; font-size: .75rem; line-height: 1.18; }
  .tabela--ranking2 tbody tr.rk-linha td::before { content: attr(data-label); display: block; margin-bottom: 2px; color: var(--grafite); font-size: .57rem; line-height: 1.15; font-weight: 700; text-transform: uppercase; letter-spacing: .025em; }
  .tabela--ranking2 tbody tr.rk-linha td.rk-quem { display: flex !important; padding: 6px 8px; font-size: .88rem; }
  .tabela--ranking2 tbody tr.rk-linha td.rk-quem::before { display: block; }
  .tabela--ranking2 tbody tr.rk-linha td.rk-quem b { white-space: normal; overflow-wrap: anywhere; }
  .tabela--ranking2 tbody tr.rk-linha td.rk-quem small { display: flex !important; flex-wrap: wrap; margin-top: 3px; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td { padding: 5px 7px; font-size: .74rem; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td small { margin-top: 1px; font-size: .65rem; }
  .tabela--ranking2 tbody tr.rk-linha td .rk-barra { width: 100%; min-width: 0; }
  .tabela--ranking2 tbody tr.rk-linha td:nth-child(1) { display: none !important; }
  .tabela--ranking2 tbody tr.rk-linha--compacta td:nth-child(3),
  .tabela--ranking2 tbody tr.rk-linha--compacta td:nth-child(n+5):not(:last-child) { display: none !important; }
  .tabela--ranking2 tbody tr.rk-linha--compacta td.rk-quem { grid-column: 1; order: 1; }
  .tabela--ranking2 tbody tr.rk-linha--compacta td:nth-child(4) { grid-column: 2; order: 2; }
  .tabela--ranking2 tbody tr.rk-linha--compacta td:last-child { grid-column: 3; order: 3; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td { display: flex !important; grid-column: span 1; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td.rk-quem { grid-column: 1; order: 1; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(4) { grid-column: 2; order: 2; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:last-child { grid-column: 3; order: 3; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(3) { order: 4; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(5) { order: 5; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(6) { order: 6; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(7) { order: 7; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(8) { order: 8; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(9) { order: 9; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(10) { order: 10; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(11) { order: 11; }
  .tabela--ranking2 tbody tr.rk-linha--compacta td.rk-quem,
  .tabela--ranking2 tbody tr.rk-linha--expandida td.rk-quem { display: flex !important; flex-direction: column; grid-column: 1; }
  .rk-mobile-ident { display: flex; gap: 5px; align-items: center; min-width: 0; }
  .rk-mobile-ident b { overflow: hidden; text-overflow: ellipsis; }
  .rk-mobile-pos { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 22px; min-height: 22px; border-radius: 999px; background: var(--amarelo); font-size: .68rem; font-weight: 700; }
  .tabela--ranking2 tbody tr.rk-linha td.rk-quem::before { content: "Investidor"; }
  .tabela--ranking2 tbody tr.rk-linha td:nth-child(4)::before { content: "Resultado"; }
  .tabela--ranking2 tbody tr.rk-linha td:last-child::before { content: "Ações"; }
  .tabela--ranking2 tbody tr.rk-linha .rk-maximizar { display: inline-flex; align-items: center; justify-content: center; }
  .tabela--ranking2 tbody tr.rk-linha--compacta td.rk-quem,
  .tabela--ranking2 tbody tr.rk-linha--expandida td.rk-quem { grid-column: 1; }
  .tabela--ranking2 tbody tr.rk-linha--expandida td:nth-child(n+3):not(:nth-child(4)):not(:last-child)::before { content: attr(data-label); }
  .tabela--ranking2 tbody tr.rk-linha td:last-child .rk-ver,
  .tabela--ranking2 tbody tr.rk-linha td:last-child .rk-maximizar { min-height: 38px; }
  .tabela--ranking2 tbody tr.rk-linha td:last-child .rk-acoes { width: 100%; }
  .tabela--ranking2 tbody tr.rk-detalhe { display: block; }
  .tabela--ranking2 tbody tr.rk-detalhe td { display: block !important; width: 100%; }
  .tabela--ranking2 tbody td[colspan] { display: block !important; }
  .tabela--ranking2 tbody tr:not(.rk-linha):not(.rk-detalhe) td.vazio { display: block !important; }
}

/* ===== Minha carteira: evolução do patrimônio + índices ===== */
.evo { padding: 18px 20px 14px; position: relative; }
.evo__cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.evo__tit { font-size: 1.35rem; }
.evo__ctrl { display: flex; gap: 10px; flex-wrap: wrap; }
.evo__seg { display: inline-flex; border: 2px solid var(--preto); border-radius: 10px; overflow: hidden; background: var(--branco); }
.evo__seg button { font: inherit; font-size: .82rem; font-weight: 700; padding: 6px 11px; border: 0; background: none; cursor: pointer; }
.evo__seg button + button { border-left: 1.5px solid var(--preto); }
.evo__seg button.ativo { background: var(--preto); color: var(--amarelo); }
.evo__resumo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 14px 0 6px; }
.evo__resumo > div { border: 1.5px solid var(--preto); border-radius: 12px; padding: 10px 12px; background: var(--branco); min-width: 0; }
.evo__resumo small { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; opacity: .7; font-weight: 700; }
.evo__resumo b { display: block; font-size: 1.2rem; overflow-wrap: anywhere; }
.evo__resumo span { font-size: .78rem; color: var(--grafite); }
.evo .txt-alta, .idx .txt-alta { color: var(--alta); font-weight: 700; } .evo .txt-baixa, .idx .txt-baixa { color: var(--baixa); font-weight: 700; }
.evo__grafico { position: relative; width: 100%; overflow: hidden; }
.evo-svg { display: block; width: 100%; height: auto; }
.evo-grade { stroke: rgba(22,22,22,.1); stroke-width: 1; }
.evo-zero { stroke: rgba(22,22,22,.45); stroke-width: 1; }
.evo-eixo { font: 500 11px "JetBrains Mono", monospace; fill: #5b5b5b; }
.evo-rot { font: 700 11px "JetBrains Mono", monospace; fill: var(--preto); }
.evo-mira { stroke: var(--preto); stroke-width: 1; stroke-dasharray: 3 3; }
.evo-ponto { stroke: var(--creme); stroke-width: 2; }
.evo-dica { position: absolute; top: 8px; z-index: 3; min-width: 210px; background: var(--preto); color: var(--branco); border-radius: 10px; padding: 9px 11px;
  font-size: .8rem; pointer-events: none; box-shadow: 4px 4px 0 rgba(0,0,0,.25); }
.evo-dica > b { color: var(--amarelo); display: block; margin-bottom: 4px; }
.evo-dica div { display: flex; align-items: center; gap: 6px; } .evo-dica div b { margin-left: auto; }
.evo-dica i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.evo-dica .ref { color: #ddd; font-size: .74rem; }
.evo__legenda { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; font-size: .82rem; font-weight: 700; margin-top: 6px; }
.evo__legenda .ref { font-weight: 400; }
.evo-leg { display: inline-block; width: 22px; height: 0; border-top: 3px solid var(--c); margin-right: 6px; vertical-align: middle; }
.evo-leg--tracejada { border-top-style: dashed; }
.idx { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.idx__grupo { background: var(--creme); border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); padding: 14px 16px; min-width: 0; }
.idx__grupo header { margin-bottom: 10px; } .idx__grupo h3 { font-size: 1.05rem; } .idx__grupo header p { font-size: .82rem; color: var(--grafite); }
.idx__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.idx__card { position: relative; background: var(--branco); border: 1.5px solid var(--preto); border-radius: 12px; padding: 10px 12px 10px 46px; min-width: 0; cursor: help; }
.idx__ic { position: absolute; left: 10px; top: 12px; font-size: 1.35rem; }
.idx__card small { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; opacity: .75; padding-right: 16px; }
.idx__card b { display: block; font-size: 1.15rem; margin: 2px 0; overflow-wrap: anywhere; }
.idx__card em { display: block; font-style: normal; font-size: .76rem; color: var(--grafite); overflow-wrap: anywhere; }
.idx__q { position: absolute; top: 8px; right: 8px; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid var(--preto); font-size: .65rem; font-style: normal;
  display: grid; place-items: center; font-weight: 700; opacity: .55; }
@media (min-width: 1700px) { .idx { grid-template-columns: repeat(4, minmax(0, 1fr)); } .idx__grade { grid-template-columns: 1fr; } }
@media (max-width: 1100px) { .idx { grid-template-columns: 1fr; } .evo__resumo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .idx__grade { grid-template-columns: 1fr; } }

/* ===== Conquistas: bens que valorizam ===== */
.cq-hero p a { color: var(--amarelo); text-decoration: underline; }
.bem-intro { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 18px; align-items: center; background: var(--creme);
  border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); padding: 16px 18px; margin-bottom: 20px; }
.bem-intro__txt { font-size: .95rem; } .bem-intro__txt a { text-decoration: underline; font-weight: 700; }
.bem-intro__num { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.bem-intro__num > div { display: flex; flex-direction: column; } .bem-intro__num small { font-size: .7rem; text-transform: uppercase; font-weight: 700; opacity: .7; }
.bem-intro__num b { font-size: 1.15rem; } .bem-intro__num em { font-style: normal; font-size: .76rem; color: var(--grafite); }
.bem-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.bem-card { --c1: #222; --c2: #888; position: relative; display: flex; flex-direction: column; gap: 10px; background: var(--creme); border: 2px solid var(--preto);
  border-radius: 16px; box-shadow: var(--sombra); padding: 14px; overflow: hidden; transition: transform .18s, box-shadow .18s; }
.bem-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: linear-gradient(90deg, var(--c1), var(--c2)); }
.bem-card:hover { transform: translate(-3px, -3px); box-shadow: 9px 9px 0 var(--preto); }
.bem-card--meu { background: #E9F7EE; }
.bem-card--longe { opacity: .86; }
.bem-card__topo { display: flex; align-items: flex-start; gap: 10px; margin-top: 4px; }
.bem-card__ic { flex: none; width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font-size: 1.8rem;
  background: linear-gradient(135deg, var(--c1), var(--c2)); box-shadow: inset 0 0 0 2px rgba(255,255,255,.2); }
.bem-card__topo small { font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; opacity: .7; }
.bem-card__topo h3 { font-size: 1.05rem; line-height: 1.15; }
.bem-card__tend { margin-left: auto; flex: none; font-size: .72rem; font-weight: 700; padding: 3px 8px; border-radius: 999px; border: 1.5px solid currentColor; white-space: nowrap; }
.bem-card__tend--valoriza { color: var(--alta); background: rgba(14,122,58,.08); } .bem-card__tend--deprecia { color: var(--baixa); background: rgba(179,38,30,.07); }
.bem-card__desc { font-size: .85rem; color: var(--grafite); min-height: 2.6em; }
.bem-card__grafico small { display: block; font-size: .66rem; color: var(--grafite); text-align: right; margin-top: -2px; }
.bem-spark, .pt-spark { display: block; width: 100%; height: 54px; }
.pt-spark { height: 70px; }
.bem-spark .linha, .pt-spark .linha { fill: none; stroke-width: 2.2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.bem-spark.sobe .linha, .pt-spark.sobe .linha { stroke: var(--alta); } .bem-spark.desce .linha, .pt-spark.desce .linha { stroke: var(--baixa); }
.bem-spark .area, .pt-spark .area { stroke: none; } .bem-spark.sobe .area, .pt-spark.sobe .area { fill: rgba(14,122,58,.12); } .bem-spark.desce .area, .pt-spark.desce .area { fill: rgba(179,38,30,.1); }
.pt-spark .base { stroke: rgba(22,22,22,.35); stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.bem-card__dados { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 8px 0; border-block: 1.5px dashed var(--preto); }
.bem-card__dados dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; opacity: .7; } .bem-card__dados dd { font-size: .82rem; font-weight: 700; overflow-wrap: anywhere; }
.bem-alta, .pt-alta { color: var(--alta); font-weight: 700; } .bem-baixa, .pt-baixa { color: var(--baixa); font-weight: 700; }
.bem-risco { display: flex; gap: 2px; padding-top: 4px; } .bem-risco i { width: 10px; height: 7px; border: 1.5px solid var(--preto); border-radius: 2px; } .bem-risco i.on { background: var(--preto); }
.bem-card .cq-card__comprar { margin-top: auto; }
.bem-card__tenho { margin-top: auto; display: block; text-align: center; font-weight: 700; padding: 9px; border-radius: 10px; background: var(--alta); color: var(--branco); }
.bem-card .cq-card__falta { margin-top: auto; }
@media (max-width: 900px) { .bem-intro { grid-template-columns: 1fr; } .bem-intro__num { justify-content: flex-start; } }

/* ===== Tela Patrimônio ===== */
.pt-hero { background: var(--preto); color: var(--creme); padding: 40px 0 34px; border-bottom: 4px solid var(--amarelo); }
.pt-hero__grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 32px; align-items: center; }
.pt-hero h1 { font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.05; margin: 12px 0; color: var(--amarelo); }
.pt-hero p { max-width: 58ch; opacity: .92; }
.pt-hero__acoes { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.btn--amarelo { background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); }
.btn--linha-clara { background: transparent; color: var(--amarelo); border-color: var(--amarelo); }
.pt-total { background: #1d1d1d; border: 2px solid #333; border-radius: 20px; padding: 22px 24px; box-shadow: 8px 8px 0 var(--amarelo-escuro); display: flex; flex-direction: column; gap: 8px; }
.pt-total small { font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: #F5E9A8; }
.pt-total__valor { font-size: clamp(2.2rem, 4.4vw, 3.6rem); line-height: 1.05; color: var(--amarelo); letter-spacing: -.03em; }
.pt-total__res { font-weight: 700; font-size: .95rem; } .pt-total__res.pos { color: #4ADE80; } .pt-total__res.neg { color: #FF8A80; }
.pt-total__barra { display: flex; height: 16px; border-radius: 999px; overflow: hidden; background: #333; border: 1.5px solid #444; margin-top: 6px; }
.pt-total__barra i { display: block; height: 100%; }
.pt-total__leg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pt-total__leg span { display: flex; flex-direction: column; font-size: .8rem; color: #F5E9A8; }
.pt-total__leg i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; }
.pt-total__leg b { color: var(--branco); font-size: .98rem; } .pt-total__leg em { font-style: normal; opacity: .75; }
.pt-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 26px; }
.pt-kpi { position: relative; background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; box-shadow: 4px 4px 0 var(--preto); padding: 12px 14px 12px 54px; min-width: 0; }
.pt-kpi > span { position: absolute; left: 12px; top: 14px; font-size: 1.6rem; }
.pt-kpi small { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; opacity: .75; }
.pt-kpi b { display: block; font-size: 1.25rem; overflow-wrap: anywhere; } .pt-kpi em { font-style: normal; font-size: .78rem; color: var(--grafite); }
.pt-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin: 8px 0 16px; }
.pt-cab h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.1; }
.pt-cab__dir { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.pt-eyebrow { font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--grafite); }
.pt-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 20px; margin-bottom: 34px; }
.pt-bem { --c1: #222; --c2: #888; position: relative; background: var(--creme); border: 2px solid var(--preto); border-radius: 18px; box-shadow: var(--sombra);
  padding: 16px; display: flex; flex-direction: column; gap: 10px; overflow: hidden; }
.pt-bem::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 7px; background: linear-gradient(90deg, var(--c1), var(--c2)); }
.pt-bem header { display: flex; gap: 12px; align-items: flex-start; margin-top: 4px; }
.pt-bem__ic { flex: none; width: 58px; height: 58px; border-radius: 16px; display: grid; place-items: center; font-size: 2rem; background: linear-gradient(135deg, var(--c1), var(--c2)); }
.pt-bem header small { font-size: .7rem; color: var(--grafite); font-weight: 700; } .pt-bem header h3 { font-size: 1.12rem; line-height: 1.15; }
.pt-bem__var { margin-left: auto; flex: none; font-weight: 700; padding: 4px 9px; border-radius: 10px; font-size: .9rem; white-space: nowrap; }
.pt-bem__var.pos { background: rgba(14,122,58,.12); color: var(--alta); } .pt-bem__var.neg { background: rgba(179,38,30,.1); color: var(--baixa); }
.pt-bem__grafico small { display: block; font-size: .66rem; color: var(--grafite); text-align: right; }
.pt-bem__dados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pt-bem__dados > div { background: var(--branco); border: 1.5px solid var(--preto); border-radius: 10px; padding: 7px 10px; min-width: 0; }
.pt-bem__dados dt { font-size: .64rem; text-transform: uppercase; letter-spacing: .05em; opacity: .7; font-weight: 700; }
.pt-bem__dados dd { font-size: .95rem; overflow-wrap: anywhere; } .pt-bem__dados dd small { display: block; font-size: .72rem; color: var(--grafite); font-weight: 400; }
.pt-bem__tend { font-size: .78rem; color: var(--grafite); }
.pt-bem__vender { margin-top: auto; font: inherit; font-weight: 700; cursor: pointer; padding: 11px; border-radius: 12px; border: 2px solid var(--preto);
  background: var(--branco); box-shadow: 3px 3px 0 var(--preto); transition: transform .12s, box-shadow .12s; }
.pt-bem__vender.lucro { background: var(--alta); color: var(--branco); }
.pt-bem__vender:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--preto); }
.pt .tabela .pt-alta { color: var(--alta); } .pt .tabela .pt-baixa { color: var(--baixa); }
@media (max-width: 1100px) { .pt-hero__grade { grid-template-columns: 1fr; } .pt-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pt-kpis { grid-template-columns: 1fr; } .pt-total__leg { grid-template-columns: 1fr; } .pt-grade { grid-template-columns: 1fr; } }
.bem-card__dados > div:first-child { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; }
.bem-card__dados > div:first-child dd { font-size: 1.15rem; }
.pt-cab__dir { min-width: 0; max-width: 100%; } .pt-cab__dir .cq-chips { flex-wrap: wrap; }
.pt-bem__dados dd { white-space: normal; }
#vendidos { overflow-x: auto; }
@media (max-width: 700px) { #vendidos .tabela { min-width: 0; } #vendidos th:nth-child(2), #vendidos td:nth-child(2), #vendidos th:nth-child(4), #vendidos td:nth-child(4), #vendidos th:nth-child(6), #vendidos td:nth-child(6) { display: none; } }

/* ===== Login local: escolher usuário ===== */
.quem { max-width: 460px; }
.quem input[type=search] { font: inherit; padding: 11px 14px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco); }
.quem__filtros { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 8px; }
.quem__filtros button { font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; padding: 4px 10px; border: 1.5px solid var(--preto); border-radius: 999px; background: var(--branco); }
.quem__filtros button.ativo { background: var(--preto); color: var(--amarelo); }
.quem__filtros em { font-style: normal; opacity: .7; }
.quem__lista { display: flex; flex-direction: column; gap: 8px; max-height: min(52vh, 460px); overflow-y: auto; padding: 2px 4px 4px 2px; }
.quem__item { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; font: inherit; cursor: pointer; padding: 9px 12px;
  border: 2px solid var(--preto); border-radius: 12px; background: var(--branco); box-shadow: 3px 3px 0 var(--preto); transition: transform .12s, box-shadow .12s, background .12s; }
.quem__item:hover:not(:disabled) { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--preto); background: var(--amarelo-claro); }
.quem__item:disabled { opacity: .6; cursor: wait; } .quem__item.entrando { opacity: 1; background: var(--amarelo); }
.quem__av { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-family: "JetBrains Mono", monospace;
  background: var(--preto); color: var(--amarelo); border: 2px solid var(--preto); }
.quem__item--admin .quem__av { background: #3B4BA8; color: #fff; } .quem__item--assinante .quem__av { background: var(--amarelo); color: var(--preto); }
.quem__nome { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.quem__nome b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.quem__nome small { font-size: .76rem; color: var(--grafite); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.quem__papel { flex: none; font-size: .72rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; border: 1.5px solid var(--preto); background: var(--creme); }
.quem__ir { flex: none; font-weight: 700; font-size: 1.1rem; }
.entrar-forms { min-width: 0; } .entrar-forms .form-cartao { width: 100%; box-sizing: border-box; }
@media (max-width: 900px) { .entrar-forms { order: -1; } .quem { padding: 22px 18px; } }

/* Parâmetros: enviar $F para todos */
.envio { padding: 16px 18px; margin-bottom: 16px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 12px 20px; align-items: end; }
.envio h4 { font-size: 1.05rem; margin-bottom: 4px; }
.envio__form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.envio__form label { display: flex; flex-direction: column; font-size: .8rem; font-weight: 700; gap: 4px; }
.envio__form input, .envio__form select { font: inherit; padding: 8px 10px; border: 2px solid var(--preto); border-radius: 8px; background: var(--branco); min-width: 150px; }
.envio__res { grid-column: 1 / -1; } .envio__res:empty { display: none; }
@media (max-width: 900px) { .envio { grid-template-columns: 1fr; } }

/* Painel geral: o dia de hoje */
.pg-dia { margin: 10px 0 2px; }
.pg-dia:empty { display: none; }
.pg-dia__topo { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pg-dia__cal { flex: none; width: 56px; border: 2px solid var(--preto); border-radius: 10px; overflow: hidden; text-align: center; background: var(--branco); box-shadow: 3px 3px 0 var(--preto); }
.pg-dia__cal small { display: block; background: var(--preto); color: var(--amarelo); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 2px 0; }
.pg-dia__cal b { display: block; font-family: "JetBrains Mono", monospace; font-size: 1.45rem; line-height: 1.35; }
.pg-dia__topo > div { display: flex; flex-direction: column; }
.pg-dia__semana { font-size: 1.25rem; line-height: 1.1; } .pg-dia__topo > div span { font-size: .95rem; color: var(--grafite); }
.pg-dia__jogo { font-size: .78rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: var(--preto); color: var(--amarelo); cursor: help; }
.pg-dia__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pg-dia__chip { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; padding: 4px 10px; border: 1.5px solid var(--preto); border-radius: 999px; background: var(--creme); }
.pg-dia__chip i { font-style: normal; }
.pg-dia__chip.aberto { background: #DDF5E5; border-color: var(--alta); } .pg-dia__chip.fechado { background: #FDECEA; border-color: var(--baixa); }

/* ===== Negócios ===== */
.ng .ng-alta { color: var(--alta); } .ng .ng-baixa { color: var(--baixa); }
.ng-hero { background: var(--preto); color: var(--creme); padding: 40px 0 34px; border-bottom: 4px solid var(--amarelo); }
.ng-hero__grade { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.ng-hero h1 { font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.05; margin: 12px 0; color: var(--amarelo); }
.ng-hero p { max-width: 62ch; opacity: .92; }
.ng-placar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; background: #1d1d1d; border: 2px solid #333; border-radius: 18px; padding: 16px; box-shadow: 8px 8px 0 var(--amarelo-escuro); }
.ng-placar > div { min-width: 0; } .ng-placar small { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .07em; color: #F5E9A8; font-weight: 700; }
.ng-placar b { display: block; font-size: 1.2rem; color: var(--branco); overflow-wrap: anywhere; } .ng-placar b.ng-alta { color: #4ADE80; }
.ng-placar em { font-style: normal; font-size: .76rem; color: #ccc; }
.ng-placar__btn { grid-column: 1 / -1; background: var(--amarelo); color: var(--preto); border-color: var(--amarelo); font-family: inherit; cursor: pointer; }
.ng-abas { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.ng-aba { --c1: #161616; --c2: #161616; display: inline-flex; align-items: center; gap: 8px; font: inherit; font-weight: 700; font-size: 1rem; cursor: pointer; padding: 10px 16px;
  border: 2px solid var(--preto); border-radius: 14px; background: var(--creme); box-shadow: 3px 3px 0 var(--preto); transition: transform .12s; }
.ng-aba span { font-size: 1.3rem; } .ng-aba em { font-style: normal; font-size: .8rem; background: rgba(0,0,0,.08); border-radius: 999px; padding: 1px 8px; }
.ng-aba:hover { transform: translate(-2px, -2px); }
.ng-aba.ativa { background: linear-gradient(135deg, var(--c1), var(--c2)); color: #fff; } .ng-aba.ativa em { background: rgba(255,255,255,.2); }
.ng-aba--meus { margin-left: auto; } .ng-aba--meus.ativa { background: var(--preto); color: var(--amarelo); }
.ng-cat { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 16px 20px; border-radius: 18px; margin-bottom: 20px; color: #fff;
  background: linear-gradient(120deg, var(--c1), var(--c2)); border: 2px solid var(--preto); box-shadow: var(--sombra); }
.ng-cat__txt { display: flex; gap: 12px; align-items: center; } .ng-cat__ic { font-size: 2.4rem; }
.ng-cat h2 { font-size: 1.6rem; line-height: 1.1; } .ng-cat__txt p { opacity: .9; }
.ng-cat__explica { font-size: .9rem; opacity: .95; max-width: 70ch; }
.ng-cat__adm { display: flex; gap: 8px; flex-wrap: wrap; } .ng-cat__adm .btn { background: #fff; color: var(--preto); } .ng-cat__adm .btn--escuro { background: var(--preto); color: var(--amarelo); }
.ng-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ng-card { position: relative; display: flex; flex-direction: column; background: var(--creme); border: 2px solid var(--preto); border-radius: 18px; box-shadow: var(--sombra);
  overflow: hidden; transition: transform .18s, box-shadow .18s; min-width: 0; }
.ng-card:hover { transform: translate(-3px, -3px); box-shadow: 10px 10px 0 var(--preto); }
.ng-card--meu { outline: 3px solid var(--alta); outline-offset: 2px; }
.ng-card__corpo { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.ng-card h3 { font-size: 1.2rem; line-height: 1.15; }
.ng-local { font-size: .82rem; font-weight: 700; } .ng-local span { font-weight: 400; color: var(--grafite); }
.ng-desc { font-size: .86rem; color: var(--grafite); }
.ng-head { font-weight: 700; font-size: .95rem; }
.ng-novo { position: absolute; top: 10px; right: 10px; background: #E4572E; color: #fff; font-size: .68rem; font-weight: 700; letter-spacing: .08em; padding: 3px 8px; border-radius: 6px; border: 2px solid var(--preto); z-index: 2; }
.ng-met { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 4px; }
.ng-met > div { background: var(--branco); border: 1.5px solid var(--preto); border-radius: 10px; padding: 6px 9px; min-width: 0; }
.ng-met dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; opacity: .7; } .ng-met dd { font-size: .9rem; font-weight: 700; overflow-wrap: anywhere; }
.ng-met__dest { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; background: #E8F7EE !important; }
.ng-met__dest dd { font-size: 1.25rem; color: var(--alta); }
.ng-risco { display: inline-flex; gap: 2px; } .ng-risco i { width: 10px; height: 7px; border: 1.5px solid var(--preto); border-radius: 2px; } .ng-risco i.on { background: var(--preto); }
.ng-card__comprar { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font: inherit; font-weight: 700; cursor: pointer; padding: 11px 14px;
  border: 2px solid var(--preto); border-radius: 12px; background: var(--amarelo); box-shadow: 3px 3px 0 var(--preto); }
.ng-card__comprar:hover { background: var(--amarelo-claro); }
.ng-card__meu { margin-top: auto; font: inherit; font-weight: 700; cursor: pointer; padding: 10px; border-radius: 12px; border: 2px solid var(--alta); background: var(--alta); color: #fff; }
.ng-card__falta { margin-top: auto; font-size: .82rem; color: var(--grafite); padding: 8px 10px; border: 1.5px dashed var(--grafite); border-radius: 10px; }
.ng-adm { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; padding-top: 8px; border-top: 1.5px dashed var(--preto); }
/* imóvel: anúncio com céu e prédios */
.ng-im__foto { position: relative; height: 150px; overflow: hidden; border-bottom: 2px solid var(--preto); }
.ng-im__ceu { position: absolute; inset: 0; background: linear-gradient(180deg, #7EC8E3 0%, #CDEBF5 70%, #F3E7C2 100%); }
.ng-im__predios { position: absolute; left: 0; right: 0; bottom: 0; height: 70%; opacity: .9;
  background: linear-gradient(to top, #2E8B6A 0 14%, transparent 14%),
    repeating-linear-gradient(90deg, #1E3A34 0 34px, transparent 34px 40px, #2B5148 40px 66px, transparent 66px 74px, #18302B 74px 96px, transparent 96px 104px);
  -webkit-mask: linear-gradient(to top, #000 0 100%); clip-path: polygon(0 40%, 8% 40%, 8% 15%, 18% 15%, 18% 45%, 27% 45%, 27% 0, 36% 0, 36% 35%, 47% 35%, 47% 20%, 58% 20%, 58% 50%, 66% 50%, 66% 10%, 76% 10%, 76% 38%, 88% 38%, 88% 25%, 100% 25%, 100% 100%, 0 100%); }
.ng-im__ic { position: absolute; left: 16px; bottom: 12px; font-size: 2.8rem; filter: drop-shadow(0 4px 6px rgba(0,0,0,.3)); }
.ng-im__tipo { position: absolute; top: 10px; left: 10px; background: var(--branco); border: 2px solid var(--preto); border-radius: 999px; padding: 2px 10px; font-size: .72rem; font-weight: 700; }
.ng-im__preco { position: absolute; right: 10px; bottom: 10px; background: var(--preto); color: var(--amarelo); border-radius: 8px; padding: 5px 10px; font-weight: 700; font-size: 1.05rem; }
/* franquia: fachada com toldo */
.ng-fr__fachada { position: relative; height: 150px; background: #F7EFE3; border-bottom: 2px solid var(--preto); overflow: hidden; }
.ng-fr__toldo { height: 34px; background: repeating-linear-gradient(90deg, #E4572E 0 22px, #fff 22px 44px); border-bottom: 2px solid var(--preto);
  -webkit-mask: radial-gradient(circle 11px at 11px 34px, transparent 98%, #000) 0 0 / 22px 100%; }
.ng-fr__placa { position: absolute; top: 44px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; align-items: center; max-width: 90%;
  background: var(--preto); color: var(--amarelo); padding: 6px 14px; border-radius: 10px; border: 2px solid var(--amarelo); box-shadow: 0 0 18px rgba(252,208,4,.35); }
.ng-fr__placa span { font-size: 1.5rem; } .ng-fr__placa b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .95rem; }
.ng-fr__vitrine { position: absolute; left: 10%; right: 10%; bottom: 0; height: 44px; background: linear-gradient(180deg, #BFE3EC, #8CC9D9); border: 2px solid var(--preto); border-bottom: 0;
  display: flex; justify-content: space-between; align-items: center; padding: 0 10px; }
.ng-fr__aberto { background: #2E8B6A; color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: .1em; padding: 2px 6px; border-radius: 4px; }
.ng-fr__seg { font-size: .7rem; font-weight: 700; background: #fff; padding: 2px 8px; border-radius: 999px; border: 1.5px solid var(--preto); }
/* participação: certificado */
.ng-pa__certificado { position: relative; margin: 12px 12px 0; padding: 14px 16px 12px 16px; background: #FFFDF5; border: 3px double #6D5BD0; border-radius: 10px; text-align: center;
  background-image: radial-gradient(rgba(109,91,208,.06) 1px, transparent 1px); background-size: 10px 10px; }
.ng-pa__certificado small { display: block; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #6D5BD0; font-weight: 700; }
.ng-pa__selo { width: 74px; height: 74px; margin: 8px auto; border-radius: 50%; display: grid; place-items: center; align-content: center; color: #fff;
  background: radial-gradient(circle at 35% 30%, #8E7CF0, #3D2E9A); border: 3px solid #C9A227; box-shadow: 0 0 0 4px rgba(201,162,39,.25); }
.ng-pa__selo b { font-family: "JetBrains Mono", monospace; font-size: 1.3rem; line-height: 1; } .ng-pa__selo span { font-size: .55rem; text-transform: uppercase; letter-spacing: .06em; }
.ng-pa__certificado h3 { font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; }
.ng-pa__certificado p { font-size: .82rem; color: var(--grafite); }
.ng-pa__assin { display: inline-block; margin-top: 8px; padding-top: 6px; border-top: 1.5px solid #6D5BD0; font-size: .74rem; font-style: italic; }
/* meus negócios */
.ng-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.ng-kpi { position: relative; background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; box-shadow: 4px 4px 0 var(--preto); padding: 12px 14px 12px 52px; min-width: 0; }
.ng-kpi > span { position: absolute; left: 12px; top: 14px; font-size: 1.5rem; }
.ng-kpi small { display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; opacity: .75; }
.ng-kpi b { display: block; font-size: 1.2rem; overflow-wrap: anywhere; } .ng-kpi em { font-style: normal; font-size: .76rem; color: var(--grafite); }
.ng-duas { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; margin-bottom: 20px; }
.ng-painel { padding: 14px 16px; } .ng-painel h3 { font-size: 1.05rem; margin-bottom: 10px; }
.ng-barras { display: flex; align-items: flex-end; gap: 6px; height: 120px; padding-top: 6px; }
.ng-barra { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; min-width: 0; }
.ng-barra i { display: block; width: 100%; max-width: 34px; background: var(--alta); border-radius: 4px 4px 0 0; }
.ng-barra i.neg { background: var(--baixa); } .ng-barra i.zero { background: #ccc; }
.ng-barra small { font-size: .64rem; color: var(--grafite); margin-top: 3px; }
.ng-div { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.ng-div > i { height: 10px; border-radius: 999px; background: #e6e0c8; overflow: hidden; } .ng-div > i > i { display: block; height: 100%; background: var(--preto); }
.ng-div small { grid-column: 1 / -1; font-size: .74rem; color: var(--grafite); }
.ng-meus { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 20px; margin-bottom: 22px; }
.ng-meu { position: relative; background: var(--creme); border: 2px solid var(--preto); border-radius: 18px; box-shadow: var(--sombra); padding: 16px; display: flex; flex-direction: column; gap: 10px; overflow: hidden; }
.ng-meu::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 7px; background: linear-gradient(90deg, var(--c1), var(--c2)); }
.ng-meu header { display: flex; gap: 12px; align-items: flex-start; margin-top: 4px; }
.ng-meu__ic { flex: none; width: 54px; height: 54px; border-radius: 14px; display: grid; place-items: center; font-size: 1.9rem; background: linear-gradient(135deg, var(--c1), var(--c2)); }
.ng-meu header small { font-size: .7rem; color: var(--grafite); font-weight: 700; } .ng-meu header h3 { font-size: 1.1rem; line-height: 1.15; }
.ng-status { margin-left: auto; flex: none; font-size: .72rem; font-weight: 700; padding: 4px 9px; border-radius: 999px; border: 1.5px solid currentColor; white-space: nowrap; }
.ng-status--ok { color: var(--alta); background: #E8F7EE; } .ng-status--terreno { color: #2B5148; background: #EAF4EF; }
.ng-status--atraso, .ng-status--prejuizo { color: var(--baixa); background: #FDECEA; } .ng-status--alerta { color: #9A6700; background: #FFF4D6; }
.ng-spark { display: block; width: 100%; height: 56px; }
.ng-spark .linha { fill: none; stroke-width: 2.2; vector-effect: non-scaling-stroke; } .ng-spark.sobe .linha { stroke: var(--alta); } .ng-spark.desce .linha { stroke: var(--baixa); }
.ng-spark .area { stroke: none; } .ng-spark.sobe .area { fill: rgba(14,122,58,.12); } .ng-spark.desce .area { fill: rgba(179,38,30,.1); }
.ng-meu__graf small { display: block; font-size: .66rem; color: var(--grafite); text-align: right; }
.ng-meu__num { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ng-meu__num > div { background: var(--branco); border: 1.5px solid var(--preto); border-radius: 10px; padding: 7px 10px; min-width: 0; }
.ng-meu__num dt { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; opacity: .7; }
.ng-meu__num dd b { display: block; font-size: 1rem; } .ng-meu__num dd small { display: block; font-size: .72rem; color: var(--grafite); }
.ng-alerta { font-size: .84rem; background: #FDECEA; border: 1.5px solid var(--baixa); border-radius: 10px; padding: 7px 10px; }
.ng-meu__renda > small { font-size: .66rem; text-transform: uppercase; font-weight: 700; opacity: .7; } .ng-meu__renda .ng-barras { height: 70px; }
.ng-linha { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.ng-linha li { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 8px; align-items: start; font-size: .82rem; }
.ng-linha li > span { font-size: 1rem; } .ng-linha li small { display: block; font-size: .68rem; color: var(--grafite); }
.ng-linha--longa { max-height: 420px; overflow-y: auto; }
.ng-meu__vender { margin-top: auto; font: inherit; font-weight: 700; cursor: pointer; padding: 10px; border-radius: 12px; border: 2px solid var(--preto); background: var(--branco); box-shadow: 3px 3px 0 var(--preto); }
.ng-form { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; }
.ng-form label { display: flex; flex-direction: column; gap: 4px; font-size: .82rem; font-weight: 700; }
.ng-form input, .ng-form textarea { font: inherit; padding: 8px 10px; border: 2px solid var(--preto); border-radius: 8px; background: var(--branco); }
.ng-form__largo { grid-column: 1 / -1; }
@media (max-width: 1400px) { .ng-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1200px) { .ng-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ng-cat { grid-template-columns: 1fr; } }
@media (max-width: 1000px) { .ng-hero__grade, .ng-duas { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .ng-grade { grid-template-columns: 1fr; } .ng-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ng-placar { grid-template-columns: 1fr; }
  .ng-aba--meus { margin-left: 0; } .ng-form { grid-template-columns: 1fr; } .ng-meus { grid-template-columns: 1fr; } }
.ng-meu header { margin-top: 26px; } .ng-meu .ng-status { position: absolute; top: 14px; right: 14px; }
.ng-meu header .ng-cidade { display: block; font-size: .78rem; color: var(--grafite); }
.ng-meus { grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); }
@media (max-width: 700px) { .ng-meus { grid-template-columns: 1fr; } }

/* ===== Conta (conta corrente, estilo banco) ===== */
.cb .txt-alta { color: var(--alta); } .cb .txt-baixa { color: var(--baixa); }
.cb-hero { padding-top: 32px; }
.cb-hero .pg-hero__grade { grid-template-columns: minmax(0, 1fr); gap: 20px; }
.cb-hero .pg-boas { justify-content: flex-start; gap: 14px; }
.cb-hero .pg-boas h1 { margin-top: 4px; }
.cb-dados { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
.cb-dados > div { background: var(--creme); border: 2px solid var(--preto); border-radius: 12px; padding: 8px 14px; box-shadow: 3px 3px 0 var(--preto); }
.cb-dados small { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--grafite); font-weight: 700; }
.cb-dados b { font-size: 1.05rem; white-space: nowrap; }
.cb-copiar { font: inherit; font-weight: 700; font-size: .85rem; cursor: pointer; background: var(--preto); color: var(--amarelo); border: 2px solid var(--preto); border-radius: 12px; padding: 8px 14px; }
.cb-copiar:hover { background: var(--grafite); }
.cb-dados__tit { flex-basis: 100%; font-size: .9rem; color: var(--grafite); }
.cb-acoes { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; margin-top: 0; }
.cb-acao { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; font: inherit; cursor: pointer; color: var(--preto);
  background: var(--creme); border: 1.5px solid var(--preto); border-radius: 12px; padding: 8px 5px; box-shadow: 3px 3px 0 var(--preto); transition: transform .15s, box-shadow .15s; min-width: 0; min-height: 68px; }
.cb-acao span { width: 32px; height: 32px; display: grid; place-items: center; font-size: 1.05rem; border-radius: 50%; background: var(--amarelo); border: 1.5px solid var(--preto); }
.cb-acao b { font-size: .74rem; line-height: 1.1; }
.cb-acao:hover:not(:disabled) { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--preto); }
.cb-acao:disabled { opacity: .45; cursor: not-allowed; box-shadow: 2px 2px 0 var(--preto); }

.cb-cartao { justify-content: flex-start; background: linear-gradient(128deg, #101820 0%, #17191D 48%, #302707 100%);
  border: 2px solid #D6B432; box-shadow: 0 18px 36px rgba(22, 22, 22, .24), 8px 8px 0 #8A6D00; }
.cb-cartao .cofre__brilho { width: 82%; background: radial-gradient(ellipse at 78% 38%, rgba(252, 208, 4, .26), transparent 62%); }
.cb-cartao .cofre__topo .cartao-moeda__simbolo { border: 1.5px solid #D6B432; box-shadow: 0 0 18px rgba(252, 208, 4, .18); }
.cb-cartao .cofre__topo > div { min-width: 0; }
.cb-cartao .cofre__sub { overflow-wrap: anywhere; }
.cb-olho { margin-left: auto; font-size: 1.2rem; cursor: pointer; width: 42px; height: 42px; border-radius: 50%; background: #222; border: 1.5px solid #444; color: var(--amarelo); }
.cb-olho:hover { background: #333; }
.cb-cartao .cofre__resultado small { color: inherit; opacity: .85; }
.cb-mesbar { background: #1d1d1d; border: 1.5px solid #333; border-radius: 14px; padding: 12px 14px; }
.cb-mesbar__cab { display: flex; justify-content: space-between; gap: 10px; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #F5E9A8; font-weight: 700; }
.cb-mesbar__cab b { font-size: 1rem; text-transform: none; letter-spacing: 0; }
.cb-mesbar__barra { display: flex; gap: 3px; height: 12px; margin: 10px 0 8px; border-radius: 999px; overflow: hidden; background: #333; }
.cb-mesbar__barra i { display: block; min-width: 2px; }
.cb-mesbar__barra .ent { background: #4ADE80; } .cb-mesbar__barra .sai { background: #FF8A80; }
.cb-mesbar__leg { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 14px; font-size: .86rem; color: #F5E9A8; }
.cb-mesbar__leg b { color: var(--branco); }
.cb-cartao .cofre__stats a { color: var(--amarelo); text-decoration: underline; }
.cb-cartao-area, .cb-acoes { width: min(60%, 920px); max-width: 100%; }
.cb-cartao-area { display: grid; gap: 12px; }
.cb-acoes { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.cb-cartao { padding: 20px; gap: 12px; border-radius: 18px; }
.cb-cartao .cofre__topo { gap: 10px; }
.cb-cartao .cofre__nome { font-size: 1.12rem; }
.cb-cartao .cofre__sub { font-size: .78rem; }
.cb-cartao .cofre__valor { font-size: clamp(1.8rem, 3vw, 2.8rem); }
.cb-cartao .cofre__detalhe { font-size: .78rem; }
.cb-cartao .cofre__resultado { min-width: 140px; padding: 8px 12px; }
.cb-cartao .cb-mesbar { padding: 9px 11px; }
.cb-cartao .cofre__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cb-cartao .cofre__stats > div { padding: 9px 10px; }
.cb-cartao .cofre__stats b { font-size: .98rem; }
.cb-dashboard { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); gap: clamp(16px, 2vw, 28px); align-items: stretch; }
.cb-dashboard .cb-cartao-area { display: contents; }
.cb-dashboard #cofre { grid-column: 1; grid-row: 1; }
.cb-dashboard .cb-fundos { grid-column: 1; grid-row: 2; align-self: start; }
.cb-carteiras { min-width: 0; padding: 16px; background: var(--creme); border: 2px solid var(--preto); border-radius: 18px; box-shadow: var(--sombra); }
.cb-dashboard .cb-carteiras { grid-column: 2; grid-row: 1; }
.cb-carteiras__cab { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.cb-carteiras__cab > span { font-weight: 700; font-size: 1.05rem; }
.cb-carteiras__cab small { color: var(--grafite); font-size: .75rem; }
.cb-carteiras__lista { display: grid; gap: 8px; max-height: 430px; overflow: auto; padding: 2px 5px 5px 2px; }
.cb-carteira { --cor: var(--amarelo-escuro); display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 12px; align-items: center; gap: 8px;
  padding: 10px; color: var(--preto); text-decoration: none; background: var(--branco); border: 1.5px solid rgba(22, 22, 22, .18); border-left: 5px solid var(--cor); border-radius: 12px; transition: transform .15s, box-shadow .15s; }
.cb-carteira:hover { transform: translateY(-2px); box-shadow: 3px 4px 0 var(--cor); }
.cb-carteira__icone { display: grid; place-items: center; width: 32px; height: 32px; background: var(--creme); border-radius: 10px; font-size: 1.1rem; }
.cb-carteira__dados { min-width: 0; }
.cb-carteira__dados b, .cb-carteira__dados small, .cb-carteira__valor b, .cb-carteira__valor small { display: block; }
.cb-carteira__dados b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .86rem; }
.cb-carteira__dados small { color: var(--grafite); font-size: .68rem; }
.cb-carteira__valor { text-align: right; }
.cb-carteira__valor b { font-size: .8rem; white-space: nowrap; }
.cb-carteira__valor small { font-size: .68rem; }
.cb-carteira__seta { font-size: 1.2rem; font-weight: 700; }
.cb-carteiras__ver { display: inline-block; margin-top: 12px; font-weight: 700; font-size: .8rem; text-decoration: underline; }
.cb-carteiras__vazio { display: grid; justify-items: start; gap: 7px; padding: 18px 12px; background: var(--branco); border: 1.5px dashed var(--preto); border-radius: 14px; }
.cb-carteiras__vazio > span { font-size: 1.8rem; }
.cb-carteiras__vazio h2 { font-size: 1.08rem; }
.cb-carteiras__vazio p { color: var(--grafite); font-size: .82rem; }
.cb-carteiras__vazio .btn { text-decoration: none; font-size: .82rem; padding: 8px 12px; }
.cb-cartao--noite { background: linear-gradient(128deg, #101820 0%, #17191D 48%, #302707 100%); }
.cb-cartao--noite .cofre__brilho { background: radial-gradient(ellipse at 78% 38%, rgba(252, 208, 4, .26), transparent 62%); }
.cb-cartao--oceano { background: linear-gradient(130deg, #071B2B 0%, #0D3B50 52%, #126B73 100%); border-color: #67E8F9; box-shadow: 0 18px 36px rgba(7, 27, 43, .28), 8px 8px 0 #087E8B; }
.cb-cartao--oceano .cofre__brilho { background: radial-gradient(ellipse at 78% 38%, rgba(103, 232, 249, .36), transparent 62%); }
.cb-cartao--oceano .cofre__valor { color: #A5F3FC; text-shadow: 0 0 28px rgba(103, 232, 249, .28); }
.cb-cartao--oceano .cofre__topo .cartao-moeda__simbolo { border-color: #67E8F9; box-shadow: 0 0 18px rgba(103, 232, 249, .2); }
.cb-cartao--aurora { background: linear-gradient(130deg, #21123B 0%, #42245F 52%, #762F68 100%); border-color: #D8B4FE; box-shadow: 0 18px 36px rgba(33, 18, 59, .28), 8px 8px 0 #8B4A9F; }
.cb-cartao--aurora .cofre__brilho { background: radial-gradient(ellipse at 78% 38%, rgba(216, 180, 254, .38), transparent 62%); }
.cb-cartao--aurora .cofre__valor { color: #F0ABFC; text-shadow: 0 0 28px rgba(240, 171, 252, .28); }
.cb-cartao--aurora .cofre__topo .cartao-moeda__simbolo { border-color: #D8B4FE; box-shadow: 0 0 18px rgba(216, 180, 254, .2); }
.cb-fundos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border: 0; padding: 0; margin: 0; }
.cb-fundos legend { width: 100%; margin-bottom: 2px; font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--grafite); font-weight: 700; }
.cb-fundo { display: inline-flex; align-items: center; gap: 7px; font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; color: var(--preto); background: var(--creme);
  border: 1.5px solid rgba(22, 22, 22, .35); border-radius: 999px; padding: 5px 10px 5px 6px; }
.cb-fundo[aria-pressed="true"] { border: 2px solid var(--preto); box-shadow: 2px 2px 0 var(--preto); background: var(--branco); }
.cb-fundo i { display: block; width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(22, 22, 22, .35); }
.cb-fundo--noite i { background: linear-gradient(135deg, #101820, #D6B432); }
.cb-fundo--oceano i { background: linear-gradient(135deg, #071B2B, #67E8F9); }
.cb-fundo--aurora i { background: linear-gradient(135deg, #21123B, #F0ABFC); }
.cb-acao { min-height: 58px; padding: 6px 4px; }
.cb-acao span { width: 28px; height: 28px; font-size: .96rem; }
.cb-acao b { font-size: .7rem; }

.cb-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.cb-kpi { position: relative; background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 14px 16px; box-shadow: 4px 4px 0 var(--preto); min-width: 0; }
.cb-kpi > span { position: absolute; top: 10px; right: 12px; font-size: 1.1rem; font-weight: 700; opacity: .6; }
.cb-kpi small { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; color: var(--grafite); }
.cb-kpi b { display: block; font-size: clamp(1.05rem, 1.5vw, 1.4rem); margin: 4px 0 2px; overflow-wrap: anywhere; }
.cb-kpi em { font-style: normal; font-size: .8rem; color: var(--grafite); }
.cb-kpi--ent { border-left: 8px solid var(--alta); } .cb-kpi--ent b { color: var(--alta); }
.cb-kpi--sai { border-left: 8px solid var(--baixa); } .cb-kpi--sai b { color: var(--baixa); }

.cb-tres { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 16px; }
.cb-bloco { background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 16px 18px; box-shadow: var(--sombra); min-width: 0; }
.cb-bloco h3 { font-size: 1.05rem; margin-bottom: 12px; display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; align-items: baseline; }
.cb-bloco h3 small { font-size: .74rem; font-weight: 500; color: var(--grafite); text-transform: uppercase; letter-spacing: .06em; }
.cb-meses { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; align-items: end; }
.cb-mes { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 2px; border-radius: 10px; min-width: 0; }
.cb-mes.atual { background: var(--amarelo-claro); outline: 2px solid var(--preto); }
.cb-mes__barras { display: flex; align-items: flex-end; justify-content: center; gap: 4px; height: 150px; width: 100%; border-bottom: 2px solid var(--preto); }
.cb-mes__barras i { width: min(18px, 40%); min-height: 2px; border: 1.5px solid var(--preto); border-bottom: 0; border-radius: 5px 5px 0 0; }
.cb-mes__barras .ent, .cb-leg .ent, .cb-grupo__linha .ent { background: #4ADE80; }
.cb-mes__barras .sai, .cb-leg .sai, .cb-grupo__linha .sai { background: #FF8A80; }
.cb-mes small { font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.cb-mes b { font-size: .74rem; white-space: nowrap; }
.cb-leg { grid-column: 1 / -1; display: flex; gap: 14px; flex-wrap: wrap; font-size: .78rem; color: var(--grafite); margin-top: 4px; }
.cb-leg i { display: inline-block; width: 10px; height: 10px; border: 1.5px solid var(--preto); border-radius: 3px; margin-right: 4px; vertical-align: -1px; }
.cb-grupos { display: flex; flex-direction: column; gap: 12px; }
.cb-grupo__cab { display: flex; justify-content: space-between; gap: 8px; font-weight: 700; font-size: .9rem; }
.cb-grupo__cab small { font-weight: 500; color: var(--grafite); white-space: nowrap; }
.cb-grupo__linha { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.cb-grupo__linha i { display: block; height: 10px; min-width: 3px; border: 1.5px solid var(--preto); border-radius: 999px; }
.cb-grupo__linha b { font-size: .8rem; white-space: nowrap; }
.cb-agenda { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.cb-agenda li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: var(--branco); border: 1.5px solid var(--preto); border-radius: 12px; }
.cb-agenda li > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cb-agenda li > div b { font-size: .92rem; } .cb-agenda li > div small { font-size: .78rem; color: var(--grafite); }
.cb-agenda li em { font-style: normal; font-weight: 700; white-space: nowrap; }
.cb-agenda__dia { flex: none; width: 46px; text-align: center; border: 2px solid var(--preto); border-radius: 9px; overflow: hidden; background: var(--branco); }
.cb-agenda__dia small { display: block; background: var(--preto); color: var(--amarelo); font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.cb-agenda__dia b { display: block; font-family: "JetBrains Mono", monospace; font-size: 1.15rem; line-height: 1.4; }
.cb-agenda li.cb-vazio { display: block; font-size: .9rem; } .cb-agenda a { text-decoration: underline; font-weight: 700; }
.cb-vazio { color: var(--grafite); }

.cb-filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 12px; }
.cb-seg { display: inline-flex; border: 2px solid var(--preto); border-radius: 12px; overflow: hidden; background: var(--creme); }
.cb-seg button { font: inherit; font-weight: 700; font-size: .86rem; padding: 8px 12px; border: 0; background: transparent; cursor: pointer; }
.cb-seg button + button { border-left: 1.5px solid var(--preto); }
.cb-seg button.ativo { background: var(--preto); color: var(--amarelo); }
.cb-filtros select, .cb-filtros input { font: inherit; font-size: .9rem; padding: 8px 12px; border: 2px solid var(--preto); border-radius: 12px; background: var(--branco); }
.cb-filtros input { flex: 1 1 200px; min-width: 0; }
.cb-ext-resumo { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 10px 16px; margin-bottom: 12px; background: var(--preto); color: var(--creme); border-radius: 12px; font-size: .92rem; }
.cb-ext-resumo b { color: var(--branco); } .cb-ext-resumo .txt-alta { color: #4ADE80; } .cb-ext-resumo .txt-baixa { color: #FF8A80; }
.cb-extrato th, .cb-extrato td { padding: 10px 14px; }
.cb-extrato .cb-dia td { background: var(--amarelo-claro); border-top: 2px solid var(--preto); border-bottom: 1.5px solid var(--preto); font-size: .86rem; padding: 7px 14px; }
.cb-extrato .cb-dia td span { float: right; color: var(--grafite); }
.cb-extrato tbody tr.cb-dia:hover { background: none; }
.cb-l__lin { display: flex; align-items: center; gap: 12px; min-width: 0; }
.cb-l__ic { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid var(--preto); background: var(--branco); font-size: 1.05rem; }
.cb-l--c .cb-l__ic { background: #DDF5E5; } .cb-l--d .cb-l__ic { background: #FDECEA; }
.cb-l__txt { min-width: 0; display: flex; flex-direction: column; }
.cb-l__txt b { font-size: .95rem; } .cb-l__txt small { font-size: .8rem; color: var(--grafite); overflow-wrap: anywhere; }
.cb-data { white-space: nowrap; color: var(--grafite); width: 1%; }
.cb-valor { font-weight: 700; white-space: nowrap; }
.cb-l--c .cb-valor { color: var(--alta); } .cb-l--d .cb-valor { color: var(--baixa); }
.cb-saldo { white-space: nowrap; color: var(--grafite); }
.cb-cat { display: inline-block; font-size: .74rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; border: 1.5px solid var(--preto); white-space: nowrap; background: var(--branco); }
.cb-cat--creditos { background: #FFF0A8; } .cb-cat--renda { background: #DDF5E5; } .cb-cat--negocios { background: #DCEBFF; }
.cb-cat--carteiras { background: #EFE6FF; } .cb-cat--servicos { background: #FDECEA; }
.cb-mais { text-align: center; margin-top: 14px; }
.cb-mais .btn { cursor: pointer; font-family: inherit; background: var(--creme); }

.cb-mv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cb-mv__col { min-width: 0; }
.cb-mv__col h3 { font-size: 1.1rem; margin-bottom: 10px; }
.cb-mv__tab th, .cb-mv__tab td { padding: 9px 10px; vertical-align: middle; }
.cb-mv__lin { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cb-pos { flex: none; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--preto); color: var(--amarelo); font-size: .74rem; font-weight: 700; }
.cb-prod { display: flex; flex-direction: column; min-width: 0; }
.cb-prod:hover .tabela__ticker { text-decoration: underline; }
.cb-prod .tabela__nome { font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 18ch; }
.cb-sub { display: block; font-size: .72rem; color: var(--grafite); font-weight: 500; }
.cb-mv__tab td.num { white-space: nowrap; }
.cb-var { font-weight: 700; } .cb-var b { display: block; }
.cb-spark { width: 64px; height: 22px; display: block; margin-left: auto; }
.cb-spark polyline { fill: none; stroke-width: 2; stroke: var(--grafite); }
.cb-spark.alta polyline { stroke: var(--alta); } .cb-spark.baixa polyline { stroke: var(--baixa); }

@media (max-width: 1400px) {
  .cb-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1200px) {
  .cb-tres { grid-template-columns: 1fr 1fr; } .cb-tres > :first-child { grid-column: 1 / -1; }
  .cb-mv { grid-template-columns: 1fr; }
  .cb-prod .tabela__nome { max-width: none; }
}

@media (max-width: 760px) {
  .cb-tres { grid-template-columns: 1fr; }
  /* No mobile, achata o dashboard para ordenar cartão, serviços e carteiras
     como itens da grade principal da seção Conta. */
  .cb-dashboard { display: contents; }
  .cb-dashboard #cofre { grid-column: 1; grid-row: 2; }
  .cb-hero .cb-acoes { grid-column: 1; grid-row: 3; }
  .cb-dashboard .cb-carteiras { grid-column: 1; grid-row: 4; }
  .cb-dashboard .cb-fundos { grid-column: 1; grid-row: 2; }
  .cb-cartao-area, .cb-acoes { width: 100%; }
  .cb-carteiras { padding: 13px; }
  .cb-carteiras__lista { max-height: 360px; }
  .cb-acoes { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .cb-cartao { padding: 16px; }
  .cb-kpis { grid-template-columns: 1fr 1fr; }
  .cb-col-cat { display: none; }
  .cb-extrato th, .cb-extrato td { padding: 8px 8px; }
  .cb-l__lin { gap: 8px; } .cb-l__ic { width: 30px; height: 30px; font-size: .9rem; }
  .cb-saldo, .cb-data, .cb-extrato th:first-child, .cb-extrato th:last-child { display: none; }
  .cb-valor { font-size: .86rem; } .cb-l__txt b { font-size: .9rem; }
  .cb-extrato .cb-dia td span { float: none; display: block; }
  .cb-dados b { font-size: .95rem; }
  .cb-mes__barras { height: 110px; }
  .cb-mes b { font-size: .6rem; } .cb-mes small { font-size: .66rem; } .cb-meses { gap: 3px; }
  .cb-mv__tab .cb-spark { display: none; }
}
@media print {
  #topo, #rodape, .ticker, .cb-hero, .cb-sec:not(#extrato), .cb-filtros, .cb-mais { display: none !important; }
  body { background: #fff; } .painel { box-shadow: none; }
}

/* ===== Notificações: sino, avisos e tela ===== */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sino { position: relative; margin-left: 16px; flex: none; }
.sino__btn { position: relative; width: 46px; height: 46px; border-radius: 50%; border: 2px solid var(--preto); background: var(--creme); cursor: pointer;
  display: grid; place-items: center; box-shadow: 3px 3px 0 var(--preto); transition: transform .15s, box-shadow .15s; }
.topo__avancar-mes { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 0 13px; border: 2px solid var(--preto); border-radius: 999px; background: var(--amarelo); color: var(--preto); box-shadow: 3px 3px 0 var(--preto); font: inherit; font-size: .76rem; font-weight: 700; white-space: nowrap; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.topo__avancar-mes:hover:not(:disabled) { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--preto); }
.topo__avancar-mes:disabled { cursor: not-allowed; opacity: .5; box-shadow: none; }
.topo__avancar-mes > span { font-size: 1rem; line-height: 1; }
.sino__btn:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--preto); }
.sino__icone { display: block; width: 21px; height: 21px; color: #111; }
.sino__btn--novo .sino__icone { animation: sino-balanca 2.4s ease-in-out infinite; transform-origin: 50% 10%; }
@keyframes sino-balanca { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(14deg); } 82% { transform: rotate(-12deg); } 89% { transform: rotate(8deg); } 95% { transform: rotate(-4deg); } }
@media (prefers-reduced-motion: reduce) { .sino__btn--novo .sino__icone { animation: none; } }
.sino__n { position: absolute; top: -6px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--baixa); color: var(--branco);
  font: 700 .74rem/22px "JetBrains Mono", monospace; text-align: center; border: 2px solid var(--preto); }
.sino__painel { position: absolute; top: calc(100% + 10px); right: 0; z-index: 80; width: min(420px, calc(100vw - 24px)); background: var(--creme);
  border: 2px solid var(--preto); border-radius: var(--raio); box-shadow: var(--sombra); overflow: hidden; }
.sino__cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 2px solid var(--preto); background: var(--preto); color: var(--amarelo); }
.sino__cab button { font: inherit; font-size: .8rem; font-weight: 700; background: none; border: 0; color: var(--amarelo); cursor: pointer; text-decoration: underline; }
.sino__lista { list-style: none; max-height: min(460px, 65vh); overflow-y: auto; }
.sino__lista li + li { border-top: 1px solid #E8DFA8; }
.sino__item { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; }
.sino__item:hover { background: var(--amarelo-claro); }
.sino__item.nao-lida { background: #FFF3B0; box-shadow: inset 4px 0 0 var(--preto); }
.sino__ic { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid var(--preto); background: var(--branco); font-size: 1rem; }
.tom-bom .sino__ic, .tom-bom .nt-item__ic, .nt-toast.tom-bom .nt-toast__ic { background: #DDF5E5; }
.tom-ruim .sino__ic, .tom-ruim .nt-item__ic, .nt-toast.tom-ruim .nt-toast__ic { background: #FDECEA; }
.tom-acao .sino__ic, .tom-acao .nt-item__ic, .nt-toast.tom-acao .nt-toast__ic { background: var(--amarelo); }
.sino__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.sino__txt b { font-size: .9rem; line-height: 1.25; }
.sino__txt small { font-size: .8rem; color: var(--grafite); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sino__txt em { font-style: normal; font-size: .72rem; color: var(--grafite); text-transform: uppercase; letter-spacing: .05em; margin-top: 2px; }
.sino__vazio { padding: 22px 16px; font-size: .9rem; color: var(--grafite); }
.sino__todas { display: block; text-align: center; padding: 12px; font-weight: 700; border-top: 2px solid var(--preto); background: var(--amarelo-claro); }
.sino__todas:hover { background: var(--amarelo); }
.nt-valor { font-size: .82rem; white-space: nowrap; }
.nt-valor--pos { color: var(--alta); } .nt-valor--neg { color: var(--baixa); }
@media (max-width: 1440px) {
  .sino { order: 1; margin-left: auto; }
  .topo__botao { order: 2; margin-left: 12px; }
}
@media (max-width: 520px) {
  .sino__painel { position: fixed; top: 120px; right: 12px; left: 12px; width: auto; }
  .sino__btn { width: 42px; height: 42px; }
}

.nt-toasts { position: fixed; right: 18px; bottom: 18px; z-index: 90; display: flex; flex-direction: column; gap: 10px; width: min(380px, calc(100vw - 36px)); }
.nt-toast { display: flex; align-items: flex-start; gap: 10px; padding: 12px 12px 12px 14px; background: var(--creme); border: 2px solid var(--preto); border-radius: 14px;
  box-shadow: 5px 5px 0 var(--preto); animation: nt-entra .35s ease-out; transition: opacity .5s, transform .5s; }
.nt-toast.sai { opacity: 0; transform: translateX(30px); }
@keyframes nt-entra { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
.nt-toast__ic { flex: none; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1.5px solid var(--preto); background: var(--branco); }
.nt-toast > span:nth-child(2) { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.nt-toast b { font-size: .92rem; } .nt-toast small { font-size: .8rem; color: var(--grafite); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nt-toast button { font-size: 1.2rem; line-height: 1; background: none; border: 0; cursor: pointer; padding: 0 4px; }

.nt-prop { max-width: 620px; width: 100%; }
.nt-prop__msg, .nt-pc__msg { font-style: italic; color: var(--grafite); margin: 6px 0 12px; }
.nt-prop__oferta, .nt-pc__oferta { display: flex; flex-direction: column; gap: 2px; background: var(--preto); color: var(--amarelo); border-radius: 14px; padding: 14px 18px; margin-bottom: 12px; }
.nt-prop__oferta small, .nt-pc__oferta small { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: #F5E9A8; font-weight: 700; }
.nt-prop__oferta b, .nt-pc__oferta b { font-size: clamp(1.6rem, 3vw, 2.2rem); line-height: 1.1; }
.nt-prop__oferta span, .nt-pc__oferta span { font-size: .84rem; color: #4ADE80; }
.nt-prop .txt-alta { color: var(--alta); } .nt-prop .txt-baixa { color: var(--baixa); }
.nt-prop__fim { font-weight: 700; text-align: center; }

.ng-prop { display: flex; align-items: center; gap: 10px; margin: 10px 0; padding: 10px 12px; background: var(--amarelo); border: 2px solid var(--preto); border-radius: 12px;
  box-shadow: 3px 3px 0 var(--preto); }
.ng-prop > span { font-size: 1.4rem; } .ng-prop > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ng-prop b { font-size: .9rem; } .ng-prop small { font-size: .78rem; }
.ng-prop .btn { flex: none; }

.nt-hero { padding: 36px 0 12px; }
.nt-hero__grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 48px); align-items: center; }
.nt-hero h1 { font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.05; letter-spacing: -.02em; margin: 12px 0 10px; }
.nt-hero p { font-size: 1.08rem; max-width: 40em; }
.nt-placar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nt-placar > div { position: relative; background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 14px 16px; box-shadow: 4px 4px 0 var(--preto); min-width: 0; }
.nt-placar span { position: absolute; top: 10px; right: 12px; font-size: 1.2rem; }
.nt-placar small { display: block; padding-right: 26px; font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; color: var(--grafite); }
.nt-placar b { display: block; font-size: 1.45rem; margin: 2px 0; overflow-wrap: anywhere; }
.nt-placar em { font-style: normal; font-size: .8rem; color: var(--grafite); }
.nt-props { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 600px)); gap: 16px; }
.nt-pc { background: var(--creme); border: 2px solid var(--preto); border-radius: 16px; padding: 16px 18px; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.nt-pc header { display: flex; align-items: center; gap: 12px; }
.nt-pc header > div { flex: 1; min-width: 0; } .nt-pc header small { font-size: .78rem; color: var(--grafite); } .nt-pc h3 { font-size: 1.15rem; line-height: 1.15; }
.nt-pc__ic { width: 46px; height: 46px; flex: none; display: grid; place-items: center; font-size: 1.5rem; border-radius: 12px; border: 2px solid var(--preto); background: var(--amarelo); }
.nt-pc__prazo { flex: none; font-size: .78rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; border: 1.5px solid var(--preto); background: var(--branco); }
.nt-pc__prazo.urgente { background: #FDECEA; border-color: var(--baixa); color: var(--baixa); }
.nt-pc dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
.nt-pc dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--grafite); font-weight: 700; } .nt-pc dd { font-weight: 700; font-size: .9rem; }
.nt-pc .txt-alta { color: var(--alta); } .nt-pc .txt-baixa { color: var(--baixa); }
.nt-pc .btn { margin-top: auto; text-align: center; cursor: pointer; font-family: inherit; }

.nt-barra { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.nt-filtros { display: flex; flex-wrap: wrap; gap: 8px; }
.nt-filtros button { font: inherit; font-weight: 700; font-size: .88rem; padding: 8px 14px; border-radius: 999px; border: 2px solid var(--preto); background: var(--creme); cursor: pointer; }
.nt-filtros button.ativo { background: var(--preto); color: var(--amarelo); }
.nt-filtros em { font-style: normal; margin-left: 4px; padding: 0 7px; border-radius: 999px; background: var(--baixa); color: var(--branco); font-size: .74rem; }
.nt-barra__dir { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.nt-check { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .9rem; cursor: pointer; }
.nt-check input { width: 18px; height: 18px; accent-color: var(--preto); }
.nt-lista { display: flex; flex-direction: column; gap: 10px; }
.nt-dia { font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; color: var(--grafite); margin: 14px 0 2px; }
.nt-dia:first-child { margin-top: 0; }
.nt-item { display: flex; align-items: flex-start; gap: 14px; background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 14px 18px; box-shadow: 3px 3px 0 var(--preto); }
.nt-item.nao-lida { background: #FFF3B0; box-shadow: 3px 3px 0 var(--preto), inset 6px 0 0 var(--preto); }
.nt-item__ic { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--preto); background: var(--branco); font-size: 1.25rem; }
.nt-item__txt { flex: 1; min-width: 0; }
.nt-item__cab { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nt-item__cab b { font-size: 1rem; }
.nt-item p { font-size: .92rem; color: var(--grafite); margin: 2px 0 8px; }
.nt-tag { font-size: .7rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; border: 1.5px solid var(--preto); background: var(--branco); }
.nt-tag--proventos { background: #DDF5E5; } .nt-tag--negocios { background: #DCEBFF; } .nt-tag--propostas { background: var(--amarelo); } .nt-tag--conta { background: #EFE6FF; }
.nt-tom { font-size: .72rem; color: var(--grafite); text-transform: uppercase; letter-spacing: .05em; }
.nt-item__acoes { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nt-item__acoes .btn { cursor: pointer; font-family: inherit; }
.nt-ler { font: inherit; font-size: .8rem; background: none; border: 0; text-decoration: underline; cursor: pointer; color: var(--grafite); }
.nt-status { font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; border: 1.5px solid var(--preto); background: var(--branco); }
.nt-status--aberta { background: var(--amarelo); } .nt-status--aceita { background: #DDF5E5; } .nt-status--expirada, .nt-status--recusada, .nt-status--encerrada { background: #eee; }
.nt-item > .nt-valor { font-size: 1rem; align-self: center; }
.nt-vazio { text-align: center; padding: 40px 20px; background: var(--creme); border: 2px dashed var(--preto); border-radius: 16px; }
.nt-vazio span { font-size: 2.6rem; display: block; } .nt-vazio p { color: var(--grafite); }
@media (max-width: 900px) {
  .nt-hero__grade { grid-template-columns: 1fr; }
  .nt-props { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .nt-item { flex-wrap: wrap; padding: 12px; gap: 10px; }
  .nt-item__ic { width: 36px; height: 36px; font-size: 1rem; }
  .nt-item > .nt-valor { order: -1; margin-left: auto; }
  .nt-pc dl { grid-template-columns: 1fr 1fr; }
  .nt-placar b { font-size: 1.15rem; }
}
.nt-mais { text-align: center; margin-top: 8px; } .nt-mais .btn { cursor: pointer; font-family: inherit; background: var(--creme); }

/* ===== Fic Bank: empréstimos, cartões e Open Finance (tela Conta) ===== */
.bk-topo { display: grid; grid-template-columns: 1.6fr repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.bk-topo > div { background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 14px 16px; box-shadow: 4px 4px 0 var(--preto); min-width: 0; }
.bk-kpi small, .bk-score small { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; color: var(--grafite); }
.bk-kpi b { display: block; font-size: clamp(1.05rem, 1.5vw, 1.35rem); margin: 4px 0 2px; overflow-wrap: anywhere; }
.bk-kpi em { font-style: normal; font-size: .8rem; color: var(--grafite); }
.bk-score { display: grid !important; grid-template-columns: 120px 1fr; grid-template-rows: auto auto; gap: 2px 14px; align-items: center; }
.bk-score svg { grid-row: 1 / 3; width: 120px; height: 70px; }
.bk-score .trilho, .bk-score .valor { fill: none; stroke-width: 12; stroke-linecap: round; }
.bk-score .trilho { stroke: #E8DFA8; } .bk-score .valor { stroke: var(--alta); }
.bk-score--reg .valor { stroke: var(--amarelo-escuro); } .bk-score--baixo .valor { stroke: var(--baixa); } .bk-score--exc .valor { stroke: #0B5D2C; }
.bk-score > div b { font-size: 1.9rem; line-height: 1; margin-right: 8px; } .bk-score > div span { font-weight: 700; font-size: .9rem; }
.bk-score ul { list-style: none; font-size: .78rem; color: var(--grafite); } .bk-score li::before { content: "💡 "; }
.bk-abas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; border-bottom: 2px solid var(--preto); }
.bk-abas button { font: inherit; font-weight: 700; padding: 10px 18px; border: 2px solid var(--preto); border-bottom: 0; border-radius: 12px 12px 0 0;
  background: var(--creme); cursor: pointer; margin-bottom: -2px; }
.bk-abas button.ativo { background: var(--preto); color: var(--amarelo); }
.bk-sub { font-size: 1.2rem; margin: 18px 0 10px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.bk-sub small { font-size: .8rem; font-weight: 500; color: var(--grafite); }
.bk-nota { font-size: .84rem; color: var(--grafite); margin-top: 12px; max-width: 75em; }
.bk-tag { font-size: .76rem; font-weight: 700; padding: 4px 10px; border-radius: 999px; border: 1.5px solid var(--preto); white-space: nowrap; }
.bk-tag--ok { background: #DDF5E5; } .bk-tag--ruim { background: #FDECEA; color: var(--baixa); border-color: var(--baixa); }
.bk-link { font: inherit; font-size: .85rem; background: none; border: 0; text-decoration: underline; cursor: pointer; color: var(--grafite); }
.bk-link--perigo { color: var(--baixa); }
.bk-off { font-size: .84rem; font-weight: 700; color: var(--grafite); background: #eee6c4; border-radius: 10px; padding: 8px 10px; }

.bk-loans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 16px; }
.bk-loan { background: var(--creme); border: 2px solid var(--preto); border-radius: 16px; padding: 16px 18px; box-shadow: var(--sombra); min-width: 0; }
.bk-loan--atraso { border-color: var(--baixa); box-shadow: 6px 6px 0 var(--baixa); }
.bk-loan header { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.bk-loan header small { font-size: .78rem; color: var(--grafite); } .bk-loan h3 { font-size: 1.12rem; line-height: 1.2; }
.bk-loan__barra { height: 12px; border: 2px solid var(--preto); border-radius: 999px; background: var(--branco); overflow: hidden; margin: 12px 0 6px; }
.bk-loan__barra i { display: block; height: 100%; background: var(--alta); }
.bk-loan__prog { font-size: .86rem; color: var(--grafite); }
.bk-loan__num { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 12px 0; }
.bk-loan__num dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: var(--grafite); font-weight: 700; }
.bk-loan__num dd { font-weight: 700; font-size: .92rem; overflow-wrap: anywhere; }
.bk-loan .txt-baixa, .bk-modal .txt-baixa, .bk-topo .txt-baixa, .cofre .bk-x { color: var(--baixa); }
.bk-prox { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--amarelo-claro); border: 1.5px solid var(--preto); }
.bk-prox span { font-size: 1.3rem; } .bk-prox div { display: flex; flex-direction: column; } .bk-prox small { font-size: .8rem; color: var(--grafite); }
.bk-prox.atraso { background: #FDECEA; border-color: var(--baixa); }
.bk-switch { display: flex; align-items: center; gap: 10px; margin: 12px 0; cursor: pointer; }
.bk-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bk-switch i { flex: none; width: 46px; height: 26px; border-radius: 999px; background: #ccc; border: 2px solid var(--preto); position: relative; transition: background .2s; }
.bk-switch i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--branco); border: 1.5px solid var(--preto); transition: transform .2s; }
.bk-switch input:checked + i { background: var(--alta); } .bk-switch input:checked + i::after { transform: translateX(20px); }
.bk-switch input:focus-visible + i { outline: 3px solid var(--preto); outline-offset: 2px; }
.bk-switch span { display: flex; flex-direction: column; } .bk-switch small { font-size: .78rem; color: var(--grafite); }
.bk-loan__acoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.bk-loan__acoes .btn { cursor: pointer; font-family: inherit; }
.bk-parcelas { margin-top: 12px; max-height: 320px; overflow: auto; border: 1.5px solid var(--preto); border-radius: 10px; background: var(--branco); }
.bk-parcelas tr.atraso td { background: #FDECEA; }
.bk-ofertas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 14px; }
.bk-oferta { display: flex; flex-direction: column; gap: 8px; background: var(--creme); border: 2px solid var(--preto); border-radius: 16px; padding: 16px; box-shadow: 4px 4px 0 var(--preto); }
.bk-oferta--cartao { background: linear-gradient(135deg, #FFF3B0, var(--creme)); }
.bk-oferta--emprestimo { background-color: #17191D; color: #fff; background-image: radial-gradient(circle at 100% 0, rgba(255,255,255,.16), transparent 38%), linear-gradient(135deg, #1b1d22, #353944); border-color: #111; box-shadow: 4px 4px 0 #111; position: relative; overflow: hidden; }
.bk-oferta--emprestimo::after { content: ""; position: absolute; width: 150px; height: 150px; right: -48px; bottom: -70px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 18px rgba(255,255,255,.035), 0 0 0 38px rgba(255,255,255,.025); pointer-events: none; }
.bk-oferta--emprestimo .bk-oferta__cab, .bk-oferta--emprestimo > p, .bk-oferta--emprestimo > div, .bk-oferta--emprestimo > dl, .bk-oferta--emprestimo > button, .bk-oferta--emprestimo > .bk-off { position: relative; z-index: 1; }
.bk-oferta--emprestimo > p, .bk-oferta--emprestimo dt, .bk-oferta--emprestimo .bk-oferta__taxa small { color: rgba(255,255,255,.76); }
.bk-oferta--emprestimo dd { color: #fff; }
.bk-oferta--emprestimo .bk-oferta__taxa b { color: #FCD004; }
.bk-oferta--emprestimo .btn { background: #FCD004; color: #17191D; border-color: #FCD004; }
.bk-oferta--linha-1 { background-image: radial-gradient(ellipse at 0 100%, rgba(0,191,165,.45), transparent 48%), linear-gradient(135deg, #102c2a, #194a45); }
.bk-oferta--linha-2 { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 2px, transparent 2px 14px), linear-gradient(135deg, #322332, #69415c); }
.bk-oferta--linha-3 { background-image: radial-gradient(circle at 90% 10%, rgba(75,146,255,.5), transparent 40%), linear-gradient(135deg, #142344, #264b7b); }
.bk-oferta--linha-4 { background-image: radial-gradient(circle at 15% 85%, rgba(95,220,160,.4), transparent 42%), linear-gradient(135deg, #12352b, #26704f); }
.bk-oferta--linha-5 { background-image: radial-gradient(circle at 100% 100%, rgba(252,208,4,.32), transparent 42%), linear-gradient(135deg, #4a3510, #8a6320); }
.bk-oferta--linha-6 { background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 1px, transparent 1px 10px), linear-gradient(135deg, #22344a, #3a5c79); }
.bk-oferta--linha-7 { background-image: radial-gradient(ellipse at 100% 0, rgba(255,131,89,.42), transparent 48%), linear-gradient(135deg, #49251f, #854237); }
.bk-oferta--linha-8 { background-image: radial-gradient(circle at 0 0, rgba(252,208,4,.26), transparent 40%), linear-gradient(135deg, #263225, #4d6535); }
.bk-oferta--linha-9 { background-image: radial-gradient(ellipse at 0 100%, rgba(168,132,255,.42), transparent 48%), linear-gradient(135deg, #2b2143, #504078); }
.bk-oferta--off { opacity: .75; }
.bk-aporte-cab { margin: 4px 0 16px; padding: 18px 20px; border-radius: 16px; color: #fff; background: linear-gradient(120deg, #17191D, #3a2e0b 80%, #715900); border: 2px solid var(--preto); box-shadow: 4px 4px 0 var(--preto); }
.bk-aporte-cab span { color: #FCD004; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.bk-aporte-cab h3 { margin: 3px 0; font-size: 1.3rem; }
.bk-aporte-cab p { color: rgba(255,255,255,.78); font-size: .9rem; }
.bk-oferta__cab { display: flex; align-items: center; gap: 10px; } .bk-oferta__cab span { font-size: 1.6rem; } .bk-oferta h3 { font-size: 1.02rem; line-height: 1.2; }
.bk-oferta > p { font-size: .86rem; color: var(--grafite); flex: 1; }
.bk-oferta__taxa b { font-size: 2rem; line-height: 1; } .bk-oferta__taxa small { display: block; font-size: .78rem; color: var(--grafite); }
.bk-oferta dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.bk-oferta dt { font-size: .7rem; text-transform: uppercase; color: var(--grafite); font-weight: 700; } .bk-oferta dd { font-weight: 700; font-size: .9rem; }
.bk-oferta .btn { cursor: pointer; font-family: inherit; text-align: center; }
.bk-fechados { margin-top: 16px; } .bk-fechados summary { cursor: pointer; font-weight: 700; } .bk-fechados ul { list-style: none; margin-top: 8px; font-size: .88rem; }

.bk-cartao { position: relative; aspect-ratio: 1.586; width: 100%; max-width: 340px; border-radius: 16px; padding: 16px 18px; color: var(--ink);
  background: linear-gradient(135deg, var(--c1), var(--c2)); border: 2px solid var(--preto); box-shadow: 4px 4px 0 var(--preto); overflow: hidden;
  display: flex; flex-direction: column; justify-content: space-between; }
.bk-cartao::before { content: ""; position: absolute; inset: -40% -30% auto auto; width: 80%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.12); }
.bk-cartao__topo { display: flex; justify-content: space-between; align-items: baseline; position: relative; }
.bk-cartao__topo b { font-size: 1.15rem; } .bk-cartao__topo span { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; opacity: .85; }
.bk-cartao__chip { width: 42px; height: 32px; border-radius: 6px; background: linear-gradient(135deg, #f6e27a, #c9a227); border: 1px solid rgba(0,0,0,.35); position: relative; }
.bk-cartao__num { font-size: clamp(.9rem, 1.6vw, 1.15rem); letter-spacing: .08em; position: relative; }
.bk-cartao__pe { display: flex; gap: 12px; align-items: center; font-size: .74rem; letter-spacing: .06em; position: relative; }
.bk-cartao__pe span:first-child { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bk-cartao__pe i { font-style: normal; font-weight: 700; font-family: "JetBrains Mono", monospace; font-size: 1.2rem; }
.bk-cartao--grande { max-width: 380px; }
.bk-meucartao { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 24px; align-items: center; background: var(--creme);
  border: 2px solid var(--preto); border-radius: 18px; padding: 20px; box-shadow: var(--sombra); }
.bk-meucartao h3 { font-size: 1.3rem; } .bk-meucartao h3 small { font-size: .8rem; font-weight: 500; color: var(--grafite); }
.bk-ocs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.bk-oc { display: flex; flex-direction: column; gap: 12px; background: var(--creme); border: 2px solid var(--preto); border-radius: 18px; padding: 16px; box-shadow: 4px 4px 0 var(--preto); }
.bk-oc--meu { outline: 3px solid var(--alta); outline-offset: 3px; }
.bk-oc--off .bk-cartao { filter: grayscale(.55); opacity: .8; }
.bk-oc__corpo { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.bk-oc dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bk-oc dt { font-size: .7rem; text-transform: uppercase; color: var(--grafite); font-weight: 700; }
.bk-oc dd { font-weight: 700; } .bk-oc dd small { display: block; font-size: .72rem; font-weight: 500; color: var(--grafite); }
.bk-perks { list-style: none; font-size: .84rem; flex: 1; }
.bk-oc .btn { cursor: pointer; font-family: inherit; text-align: center; }
.bk-meu { font-weight: 700; color: var(--alta); text-align: center; padding: 8px; border: 2px dashed var(--alta); border-radius: 10px; }

.bk-of-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: stretch; margin-bottom: 16px; }
.bk-of-resumo > div { background: var(--creme); border: 2px solid var(--preto); border-radius: 14px; padding: 12px 16px; box-shadow: 3px 3px 0 var(--preto); min-width: 0; }
.bk-of-resumo small { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; color: var(--grafite); }
.bk-of-resumo b { font-size: 1.3rem; overflow-wrap: anywhere; }
.bk-of-resumo .tot { background: var(--preto); color: var(--amarelo); } .bk-of-resumo .tot small { color: #F5E9A8; }
.bk-of-resumo .btn { cursor: pointer; font-family: inherit; align-self: center; }
.bk-exts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.bk-ext { background: var(--creme); border: 2px solid var(--preto); border-radius: 16px; overflow: hidden; box-shadow: 4px 4px 0 var(--preto); display: flex; flex-direction: column; }
.bk-ext header { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--cor); color: var(--branco); }
.bk-ext header small { opacity: .9; font-size: .8rem; } .bk-ext h3 { font-size: 1.05rem; line-height: 1.15; }
.bk-ext__logo { flex: none; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: rgba(255,255,255,.2);
  border: 2px solid rgba(255,255,255,.7); font-weight: 700; font-family: "JetBrains Mono", monospace; }
.bk-ext__saldo { padding: 12px 16px 0; } .bk-ext__saldo small { display: block; font-size: .72rem; text-transform: uppercase; color: var(--grafite); font-weight: 700; }
.bk-ext__saldo b { font-size: 1.5rem; }
.bk-ext dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; padding: 10px 16px; }
.bk-ext dt { font-size: .68rem; text-transform: uppercase; color: var(--grafite); font-weight: 700; } .bk-ext dd { font-size: .88rem; overflow-wrap: anywhere; }
.bk-ext__cons { margin: 0 16px; font-size: .8rem; padding: 6px 10px; border-radius: 8px; background: #DDF5E5; }
.bk-ext__cons.perto { background: #FFF3B0; } .bk-ext__cons.exp { background: #FDECEA; color: var(--baixa); font-weight: 700; }
.bk-ext .bk-loan__acoes { padding: 12px 16px 16px; margin-top: auto; }
.bk-ext--exp header { filter: grayscale(.7); }
.bk-ext__tr { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 16px 0; }
.bk-ext__tr button { display: flex; align-items: center; gap: 8px; font: inherit; text-align: left; cursor: pointer; padding: 8px 10px; border: 2px solid var(--preto);
  border-radius: 10px; background: var(--branco); box-shadow: 2px 2px 0 var(--preto); }
.bk-ext__tr button span { font-size: 1.15rem; } .bk-ext__tr button b { font-size: .78rem; line-height: 1.15; }
.bk-ext__tr button:hover:not(:disabled) { background: var(--amarelo); transform: translate(-1px, -1px); box-shadow: 3px 3px 0 var(--preto); }
.bk-ext__tr button:disabled { opacity: .45; cursor: not-allowed; }
.bk-trs { list-style: none; display: grid; gap: 8px; margin-top: 8px; }
.bk-trs li { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: var(--creme); border: 2px solid var(--preto); border-radius: 12px; }
.bk-trs li > span { font-size: 1.3rem; } .bk-trs li div { flex: 1; min-width: 0; } .bk-trs li b { display: block; font-size: .9rem; overflow-wrap: anywhere; }
.bk-trs li small { color: var(--grafite); font-size: .78rem; } .bk-trs li em { font-style: normal; font-weight: 700; white-space: nowrap; }
.bk-trs li.ent em { color: var(--alta); } .bk-trs li.sai em { color: var(--baixa); }
.bk-tr { display: flex; flex-direction: column; gap: 14px; }
.bk-tr > label:not(.bk-sim__valor) { display: flex; flex-direction: column; gap: 6px; font-weight: 700; }
.bk-tr select, .bk-tr > label > input { font: inherit; padding: 10px 12px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco); }
.bk-tr__dir { border: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bk-tr__dir legend { font-weight: 700; margin-bottom: 6px; }
.bk-tr__dir button { font: inherit; font-weight: 700; padding: 10px; border: 2px solid var(--preto); border-radius: 10px; background: var(--creme); cursor: pointer; }
.bk-tr__dir button.ativo { background: var(--preto); color: var(--amarelo); }
.bk-tr__fluxo { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px; }
.bk-tr__fluxo > div { background: var(--cor); color: var(--branco); border: 2px solid var(--preto); border-radius: 12px; padding: 10px 12px; min-width: 0; }
.bk-tr__fluxo small { display: block; font-size: .68rem; text-transform: uppercase; opacity: .85; font-weight: 700; }
.bk-tr__fluxo b { display: block; overflow-wrap: anywhere; } .bk-tr__fluxo span { font-size: .9rem; }
.bk-tr__fluxo > i { font-style: normal; font-size: 1.6rem; font-weight: 700; }
.bk-tr__depois { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .88rem; color: var(--grafite); }
.bk-tr__depois:empty { display: none; }
.bk-tr .bk-sim__valor .btn { cursor: pointer; font-family: inherit; }
.bk-vazio { display: flex; gap: 16px; align-items: center; padding: 24px; background: var(--creme); border: 2px dashed var(--preto); border-radius: 16px; }
.bk-vazio > span { font-size: 2.6rem; } .bk-vazio p { color: var(--grafite); margin: 4px 0 10px; } .bk-vazio .btn { cursor: pointer; font-family: inherit; }

.bk-modal .txt-alta { color: var(--alta); }
.bk-sim { display: flex; flex-direction: column; gap: 14px; }
.bk-sim__valor { display: flex; flex-direction: column; gap: 6px; font-weight: 700; }
.bk-sim__valor > div { display: flex; align-items: center; gap: 8px; border: 2px solid var(--preto); border-radius: 12px; background: var(--branco); padding: 8px 12px; }
.bk-sim__valor > div span { font-family: "JetBrains Mono", monospace; font-weight: 700; }
.bk-sim__valor input[type=number] { flex: 1; min-width: 0; border: 0; font: 700 1.5rem "JetBrains Mono", monospace; background: none; outline: none; }
.bk-sim__valor input[type=range] { accent-color: var(--preto); width: 100%; }
.bk-sim__valor small { font-weight: 500; color: var(--grafite); }
.bk-sim__prazo { border: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bk-sim__prazo legend { font-weight: 700; margin-bottom: 6px; }
.bk-sim__prazo button { font: inherit; font-weight: 700; padding: 8px 14px; border: 2px solid var(--preto); border-radius: 10px; background: var(--creme); cursor: pointer; }
.bk-sim__prazo button.ativo { background: var(--preto); color: var(--amarelo); }
.bk-sim__res { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 14px; align-items: stretch; }
.bk-sim__parcela { background: var(--preto); color: var(--amarelo); border-radius: 14px; padding: 14px 18px; display: flex; flex-direction: column; justify-content: center; }
.bk-sim__parcela small { color: #F5E9A8; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.bk-sim__parcela b { font-size: 1.9rem; line-height: 1.1; } .bk-sim__parcela span { font-size: .8rem; color: #F5E9A8; }
.bk-sim__res dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.bk-sim__res dt { font-size: .7rem; text-transform: uppercase; color: var(--grafite); font-weight: 700; } .bk-sim__res dd { font-weight: 700; }
.bk-sim__opc { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: center; }
.bk-sim__opc > label:last-child { display: flex; flex-direction: column; gap: 4px; font-weight: 700; font-size: .9rem; }
.bk-sim select, .bk-form input, .bk-form select { font: inherit; padding: 8px 10px; border: 2px solid var(--preto); border-radius: 10px; background: var(--branco); width: 100%; }
.bk-sim__tab summary { cursor: pointer; font-weight: 700; } .bk-sim__tab > div { max-height: 260px; overflow: auto; margin-top: 8px; }
.bk-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bk-form > label { display: flex; flex-direction: column; gap: 4px; font-weight: 700; font-size: .88rem; min-width: 0; }
.bk-form .larga { grid-column: 1 / -1; }
.bk-consent { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; background: var(--amarelo-claro);
  padding: 10px 12px; border-radius: 10px; border: 1.5px solid var(--preto); }
.bk-consent input { width: 20px !important; height: 20px; flex: none; accent-color: var(--preto); margin-top: 2px; }
.bk-cores { border: 0; display: flex; gap: 8px; flex-wrap: wrap; } .bk-cores legend { font-weight: 700; font-size: .88rem; margin-bottom: 4px; }
.bk-cores label { cursor: pointer; } .bk-cores input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bk-cores i { display: block; width: 30px; height: 30px; border-radius: 50%; background: var(--c); border: 2px solid var(--preto); }
.bk-cores input:checked + i { outline: 3px solid var(--preto); outline-offset: 2px; }
.bk-cores input:focus-visible + i { outline: 3px dashed var(--preto); outline-offset: 2px; }
.bk-modal .bk-cartao { margin: 4px auto 12px; }
@media (max-width: 1300px) { .bk-topo { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bk-score { grid-column: 1 / -1; } }
@media (max-width: 900px) {
  .bk-meucartao { grid-template-columns: 1fr; } .bk-of-resumo { grid-template-columns: 1fr 1fr; }
  .bk-sim__res, .bk-sim__opc { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .bk-form { grid-template-columns: 1fr; }
  .bk-of-resumo { grid-template-columns: 1fr; } .bk-abas button { padding: 8px 10px; font-size: .86rem; }
  .bk-score { grid-template-columns: 90px 1fr; } .bk-score svg { width: 90px; height: 54px; }
}

/* ===== Carteira v4: título, cartão da conta, aporte e abas de pasta ===== */
.ct-titulo { display: flex; align-items: center; gap: 16px; }
.ct-titulo__ic { flex: none; width: 74px; height: 74px; display: grid; place-items: center; font-size: 2.3rem; border-radius: 22px;
  background: var(--preto); border: 3px solid var(--preto); box-shadow: 5px 5px 0 var(--amarelo-escuro), 5px 5px 0 2px var(--preto); transform: rotate(-4deg); }
.ct-titulo__eyebrow { display: block; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--grafite); }
.ct-titulo h1 { font-size: clamp(2rem, 3.8vw, 3.1rem); line-height: 1; letter-spacing: -.02em; position: relative; display: inline-block; }
.ct-titulo h1::after { content: ""; position: absolute; left: 0; right: -6px; bottom: 2px; height: 12px; background: var(--branco); opacity: .55; z-index: -1; border-radius: 4px; }
.ct-titulo p { font-size: 1.02rem; margin-top: 6px; } .ct-titulo p b { font-weight: 700; }
.ct-titulo__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ct-chip { display: inline-flex; gap: 6px; align-items: center; font-size: .82rem; padding: 4px 10px; border: 1.5px solid var(--preto); border-radius: 999px; background: var(--creme); }
.ct-chip i { font-style: normal; } .ct-chip.pos b { color: var(--alta); } .ct-chip.neg b { color: var(--baixa); }

#conta-barra.ct-topo { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 18px; align-items: stretch;
  background: none; color: var(--preto); padding: 0; margin-bottom: 22px; border-radius: 0; }
#conta-barra.ct-topo > * { display: flex; flex-direction: column; }
.ct-cartao { position: relative; overflow: hidden; border-radius: 22px; padding: 20px 22px; color: var(--amarelo); min-height: 240px; justify-content: space-between; gap: 10px;
  background: radial-gradient(circle at 85% 15%, rgba(252,208,4,.28), transparent 45%), linear-gradient(135deg, #1b1b1b 0%, #2f2f2f 55%, #121212 100%);
  border: 2px solid var(--preto); box-shadow: 8px 8px 0 var(--amarelo-escuro), 8px 8px 0 2px var(--preto); }
.ct-cartao::before { content: ""; position: absolute; right: -60px; bottom: -80px; width: 260px; height: 260px; border-radius: 50%; border: 30px solid rgba(252,208,4,.07); }
.ct-cartao::after { content: "$F"; position: absolute; right: 18px; top: 42%; font: 700 4.5rem/1 "JetBrains Mono", monospace; color: rgba(252,208,4,.06); }
.ct-cartao > * { position: relative; z-index: 1; }
.ct-cartao__topo { display: flex !important; flex-direction: row !important; justify-content: space-between; align-items: baseline; }
.ct-cartao__topo b { font-size: 1.25rem; letter-spacing: -.01em; } .ct-cartao__topo span { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: #F5E9A8; }
.ct-cartao__meio { display: flex !important; flex-direction: row !important; align-items: center; gap: 12px; }
.ct-cartao__chip { width: 46px; height: 34px; border-radius: 7px; background: linear-gradient(135deg, #f6e27a, #c9a227 60%, #f1d16a); border: 1px solid rgba(0,0,0,.4);
  box-shadow: inset 0 0 0 4px rgba(0,0,0,.08); }
.ct-cartao__nfc { color: #F5E9A8; font-weight: 700; letter-spacing: -2px; transform: rotate(0deg); opacity: .8; }
.ct-cartao__saldo small { display: block; font-size: .74rem; color: #F5E9A8; letter-spacing: .02em; }
.ct-cartao__saldo b { font-size: clamp(1.7rem, 2.6vw, 2.4rem); color: var(--amarelo); text-shadow: 0 0 22px rgba(252,208,4,.25); line-height: 1.1; }
.ct-cartao__pe { display: flex !important; flex-direction: row !important; align-items: center; gap: 12px; font-size: .74rem; letter-spacing: .08em; color: #F5E9A8; }
.ct-cartao__pe span:nth-child(2) { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-cartao__pe i { font-style: normal; font: 700 1.1rem "JetBrains Mono", monospace; color: var(--amarelo); }
.ct-cartao__extra { display: flex !important; flex-direction: row !important; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: .82rem;
  border-top: 1px dashed rgba(252,208,4,.3); padding-top: 8px; color: #F5E9A8; }
.ct-cartao__extra b { color: var(--branco); } .ct-cartao__extra a { color: var(--amarelo); text-decoration: underline; font-weight: 700; }

.ct-aporte { background: var(--creme); border: 2px solid var(--preto); border-radius: 22px; padding: 20px; box-shadow: 7px 7px 0 var(--preto); gap: 13px;
  background-image: radial-gradient(ellipse at 100% 0, rgba(252,208,4,.24), transparent 42%), linear-gradient(145deg, #fffdf5 0%, #f1edda 100%); }
.cb-aporte-card { display: grid; max-width: 1040px; }
.cb-aporte-card .ct-aporte__barra { border-color: #173d2b; }
.cb-aporte-card .ct-aporte__info > div { padding: 9px 11px; border-radius: 12px; background: rgba(255,255,255,.58); }
.cb-aporte-card .ct-aporte__botoes .btn { min-height: 40px; }
.ct-aporte--disponivel { background-image: radial-gradient(circle at 100% 0, rgba(14,122,58,.25), transparent 50%); border-color: var(--alta); box-shadow: 6px 6px 0 var(--alta); }
.ct-aporte--pausado { background-image: none; opacity: .92; }
.cb-aporte-card.ct-aporte--disponivel { background-image: radial-gradient(ellipse at 100% 0, rgba(252,208,4,.3), transparent 35%), radial-gradient(ellipse at 0 100%, rgba(33,124,79,.2), transparent 44%), linear-gradient(145deg, #f5f8ea, #e2eddb); border-color: #217c4f; box-shadow: 7px 7px 0 #217c4f; }
.cb-aporte-card.ct-aporte--pausado { background-image: radial-gradient(ellipse at 100% 0, rgba(252,208,4,.22), transparent 40%), linear-gradient(145deg, #f5f8ea, #e2eddb); border-color: #173d2b; box-shadow: 7px 7px 0 #173d2b; }
.cb-aporte-card.ct-aporte--aguardando { border-color: #173d2b; }
.ct-aporte header { display: flex; align-items: center; gap: 12px; }
.ct-aporte__ic { flex: none; width: 46px; height: 46px; display: grid; place-items: center; font-size: 1.5rem; border-radius: 14px; background: var(--amarelo); border: 2px solid var(--preto); }
.ct-aporte--disponivel .ct-aporte__ic { animation: sino-balanca 2.4s ease-in-out infinite; }
.ct-aporte header div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ct-aporte header small { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--grafite); }
.ct-aporte header b { font-size: 1.05rem; } .ct-aporte--disponivel header b { color: var(--alta); } .ct-aporte--pausado header b { color: var(--baixa); }
.ct-aporte__selo { font-size: .74rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--preto); color: var(--amarelo); white-space: nowrap; }
.ct-aporte__valor small { display: block; font-size: .78rem; color: var(--grafite); }
.ct-aporte__valor b { font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.1; }
.ct-aporte__valor em { display: block; font-style: normal; font-size: .78rem; color: var(--grafite); }
.ct-aporte__barra { display: flex; height: 14px; border: 2px solid var(--preto); border-radius: 999px; overflow: hidden; background: #eee6c4; }
.ct-aporte__barra .fx, .ct-aporte__leg .fx, .ct-av__faixa .fx { background: var(--alta); }
.ct-aporte__barra .vr, .ct-aporte__leg .vr, .ct-av__faixa .vr { background: repeating-linear-gradient(45deg, #F59E0B 0 6px, #FCD34D 6px 12px); }
.ct-aporte__barra i { display: block; height: 100%; }
.ct-aporte__leg { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .78rem; color: var(--grafite); }
.ct-aporte__leg i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; border: 1px solid var(--preto); margin-right: 4px; vertical-align: -1px; }
.ct-aporte__leg b { color: var(--preto); }
.ct-aporte__info { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ct-aporte__info dt { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: var(--grafite); }
.ct-aporte__info dd { font-weight: 700; font-size: .9rem; } .ct-aporte__info small { font-weight: 500; color: var(--grafite); }
.ct-aporte__hist { display: flex; align-items: flex-end; gap: 6px; height: 46px; }
.ct-aporte__hist span { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 2px; }
.ct-aporte__hist i { width: 100%; max-width: 26px; background: var(--alta); border: 1.5px solid var(--preto); border-radius: 4px 4px 0 0; }
.ct-aporte__hist small { font-size: .6rem; text-transform: uppercase; color: var(--grafite); }
.ct-aporte__botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.ct-aporte__botoes .btn { cursor: pointer; font-family: inherit; }

.ct-acoes { display: grid !important; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ct-acao { flex: 1; display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left; font: inherit; cursor: pointer;
  min-width: 0; background: var(--creme); border: 2px solid var(--preto); border-radius: 16px; padding: 10px 14px; box-shadow: 4px 4px 0 var(--preto); transition: transform .15s, box-shadow .15s; }
.ct-acao:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--preto); }
.ct-acao span { grid-row: 1 / 3; width: 44px; height: 44px; display: grid; place-items: center; font-size: 1.3rem; font-weight: 700; border-radius: 12px; background: var(--amarelo); border: 2px solid var(--preto); }
.ct-acao b { font-size: .95rem; } .ct-acao small { font-size: .76rem; color: var(--grafite); }
.ct-acao--sugerir { background: linear-gradient(135deg, #FFF3B0, #FDE68A); }

.ct-av { display: flex; flex-direction: column; gap: 14px; }
.ct-av__presets { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-av__presets button { font: inherit; font-weight: 700; font-size: .85rem; padding: 7px 12px; border: 2px solid var(--preto); border-radius: 999px; background: var(--creme); cursor: pointer; }
.ct-av__presets button:hover { background: var(--amarelo); }
.ct-av__campo { display: grid; grid-template-columns: 1fr 130px; gap: 6px 12px; align-items: center; }
.ct-av__campo > span { grid-column: 1 / -1; display: flex; flex-direction: column; } .ct-av__campo small { font-size: .78rem; color: var(--grafite); }
.ct-av__campo input[type=range] { accent-color: var(--preto); width: 100%; }
.ct-av__campo input[type=number] { font: 700 1rem "JetBrains Mono", monospace; padding: 6px 10px; border: 2px solid var(--preto); border-radius: 10px; width: 100%; }
.ct-av__prev { background: var(--branco); border: 2px solid var(--preto); border-radius: 14px; padding: 12px 14px; }
.ct-av__faixa { position: relative; height: 18px; border: 2px solid var(--preto); border-radius: 999px; background: #eee6c4; overflow: visible; margin: 6px 0 22px; }
.ct-av__faixa span { position: absolute; top: 0; bottom: 0; } .ct-av__faixa span.fx { border-radius: 999px 0 0 999px; }
.ct-av__faixa em { position: absolute; top: 100%; transform: translateX(-50%); font-style: normal; font-size: .7rem; font-weight: 700; margin-top: 2px; }
.ct-av__faixa em::before { content: "▲"; display: block; text-align: center; font-size: .6rem; }
.ct-av__prev dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.ct-av__prev dt { font-size: .68rem; text-transform: uppercase; color: var(--grafite); font-weight: 700; } .ct-av__prev dd { font-weight: 700; }

/* abas em formato de pasta, com o conteúdo num fichário */
.cart-abas { display: flex; flex-wrap: wrap; gap: 4px; border: 0; border-radius: 0; overflow: visible; width: auto; margin: 0; box-shadow: none; background: none;
  padding: 0 14px; position: relative; z-index: 2; align-items: flex-end; }
.cart-aba { --aba: #FFF3B0; position: relative; font: inherit; font-weight: 700; padding: 11px 20px 12px; border: 2px solid var(--preto) !important; border-bottom: 0 !important;
  border-radius: 14px 14px 0 0; background: var(--aba); cursor: pointer; margin-bottom: -2px; transform: translateY(4px);
  box-shadow: inset 0 -6px 8px -6px rgba(0,0,0,.18); transition: transform .15s, background .15s; }
.cart-aba + .cart-aba { border-left: 2px solid var(--preto); }
.cart-aba[data-secao="evolucao"] { --aba: #DDF5E5; } .cart-aba[data-secao="posicoes"] { --aba: #DCEBFF; } .cart-aba[data-secao="alocacao"] { --aba: #EFE6FF; }
.cart-aba[data-secao="proventos"] { --aba: #FFE4D1; } .cart-aba[data-secao="extrato"] { --aba: #FDECEA; } .cart-aba[data-secao="ordens"] { --aba: #E8F7F5; }
.cart-aba:hover:not(.ativa) { transform: translateY(1px); background: var(--aba); filter: brightness(1.03); }
.cart-aba.ativa { background: #FFFBEA; color: var(--preto); transform: none; z-index: 3; padding-top: 14px; box-shadow: none; }
.cart-aba.ativa::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 6px; background: #FFFBEA; }
.cart-aba.ativa::before { content: ""; position: absolute; left: 12px; right: 12px; top: 5px; height: 4px; border-radius: 4px; background: var(--preto); }
.cart-aba em { background: var(--preto); color: var(--amarelo); }
.cart-aba.ativa em { background: var(--preto); color: var(--amarelo); }
.cart-pasta { position: relative; z-index: 1; background: #FFFBEA; border: 2px solid var(--preto); border-radius: 18px; padding: 22px clamp(14px, 2vw, 26px) 24px;
  box-shadow: 8px 8px 0 var(--preto); margin-bottom: 18px;
  background-image: linear-gradient(rgba(22,22,22,.035) 1px, transparent 1px); background-size: 100% 28px; }
.cart-pasta > .cart-secao > *:first-child { margin-top: 0; }

@media (max-width: 1200px) {
  .ct-acao { padding: 8px 10px; }
}

@media (max-width: 760px) {
  #conta-barra.ct-topo { grid-template-columns: 1fr; }
  .ct-titulo__ic { width: 56px; height: 56px; font-size: 1.7rem; border-radius: 16px; }
  .cart-abas { padding: 0 6px; gap: 3px; } .cart-aba { padding: 8px 10px 9px; font-size: .84rem; }
  .cart-aba.ativa { padding-top: 10px; }
  .ct-av__prev dl { grid-template-columns: 1fr 1fr; }
  .ct-acao { min-width: 0; }
}

@media (max-width: 760px) {
  .carteiras { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; }
  .carteiras > * { flex: none; }
  .cart-pasta { padding: 14px 10px 16px; box-shadow: 4px 4px 0 var(--preto); }
  .cart-pasta .painel--sem-rolagem { overflow-x: auto; }
  .cart-abas { overflow-x: auto; flex-wrap: nowrap; padding-top: 6px; }
  .cart-aba { flex: none; }
}

@media (max-width: 760px) {
  .ct-cartao { box-shadow: 5px 5px 0 var(--amarelo-escuro), 5px 5px 0 2px var(--preto); }
  .ct-aporte { box-shadow: 4px 4px 0 var(--preto); }
  .ct-aporte--disponivel { box-shadow: 4px 4px 0 var(--alta); }
  .ct-titulo__ic { box-shadow: 4px 4px 0 var(--preto); }
}

@media (max-width: 760px) { .ct-acoes { flex-direction: column !important; } .ct-acao { width: 100%; } }
.ct-av__faixa { margin-bottom: 30px; } .ct-av__prev dl { margin-top: 4px; }

@media (max-width: 760px) { .ct-titulo__ic { display: none; } .nova-ordem { width: 100%; } }
.envio__form [hidden] { display: none !important; }
.envio__form small.ref { display: block; font-weight: 500; }
.cr-rapidos { display: flex; flex-wrap: wrap; gap: 6px; }
.cr-rapidos .chip { cursor: pointer; font-family: inherit; }
.cr-tipo { border: 0; display: flex; flex-direction: column; gap: 8px; }
.cr-tipo legend { font-weight: 700; margin-bottom: 6px; }
.cr-tipo label { display: flex !important; flex-direction: row !important; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 2px solid var(--preto); border-radius: 12px; background: var(--creme); cursor: pointer; }
.cr-tipo label:has(input:checked) { background: var(--amarelo-claro); box-shadow: 3px 3px 0 var(--preto); }
.cr-tipo input { margin-top: 4px; accent-color: var(--preto); }
.cr-tipo span { display: flex; flex-direction: column; } .cr-tipo small { color: var(--grafite); font-size: .8rem; }

/* ===== Carteira v5: título estilo Ranking e abas escuras ===== */
.ct-hero p { color: var(--creme); font-size: 1.05rem; } .ct-hero p b { color: var(--amarelo); }
.ct-hero .ct-chip { background: #222; border-color: #555; color: var(--creme); }
.ct-hero .ct-chip b { color: var(--branco); } .ct-hero .ct-chip.pos b { color: #4ADE80; } .ct-hero .ct-chip.neg b { color: #FF8A80; }
.ct-hero__ordem { background: #1f1f1f; border: 2px solid #444; border-radius: 18px; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.ct-hero__ordem small { font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--amarelo); }
.ct-hero__ordem p { font-size: .82rem; opacity: .75; margin: 0; }
.ct-hero__ordem .nova-ordem { display: flex; gap: 8px; flex-wrap: wrap; }
.ct-hero__ordem .filtros__busca { flex: 1 1 220px; min-width: 0; }
.ct-hero__resumo { min-width: 0; padding: 16px 18px; border: 2px solid #444; border-radius: 18px; background: #1f1f1f; color: var(--creme); }
.ct-hero__resumo-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.ct-hero__resumo-cab > div { min-width: 0; }
.ct-hero__resumo-cab > div small, .ct-hero__resumo-grade small { display: block; color: var(--amarelo); font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ct-hero__resumo-cab > div b { display: block; margin-top: 3px; color: var(--branco); font-size: 1.05rem; overflow-wrap: anywhere; }
.ct-hero__resultado { flex: 0 0 auto; color: var(--branco); font-family: "JetBrains Mono", monospace; font-size: .86rem; font-weight: 700; text-align: right; }
.ct-hero__resultado.txt-alta { color: #4ADE80; } .ct-hero__resultado.txt-baixa { color: #FF8A80; }
.ct-hero__resultado small { display: block; color: inherit; font-size: .72rem; }
.ct-hero__resumo-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ct-hero__resumo-grade > div { min-width: 0; padding: 8px 10px; border: 1px solid #444; border-radius: 10px; background: #292929; }
.ct-hero__resumo-grade b { display: block; margin-top: 3px; color: var(--branco); font-family: "JetBrains Mono", monospace; font-size: .86rem; overflow-wrap: anywhere; }
@media (max-width: 560px) { .ct-hero__resumo { padding: 12px; } .ct-hero__resumo-grade { gap: 6px; } .ct-hero__resumo-grade > div { padding: 7px 8px; } }

.cart-abas { background: #2B2B2B; border: 2px solid var(--preto) !important; border-bottom: 0 !important; border-radius: 18px 18px 0 0 !important;
  padding: 10px 12px 0 !important; gap: 6px; margin: 0 !important; box-shadow: none !important; }
.cart-aba { --aba: #3A3A3A; background: #3A3A3A !important; color: #E9E2BF; border: 2px solid #151515 !important; border-bottom: 0 !important;
  transform: none; margin-bottom: 0; box-shadow: none; padding: 11px 18px 12px; }
.cart-aba:hover:not(.ativa) { background: #4A4A4A !important; color: var(--branco); transform: translateY(-2px); filter: none; }
.cart-aba em { background: var(--amarelo); color: var(--preto); }
.cart-aba.ativa { background: var(--amarelo) !important; color: var(--preto); border-color: var(--preto) !important; padding-top: 13px; transform: translateY(-3px);
  box-shadow: 0 -3px 0 var(--preto) inset; }
.cart-aba.ativa::before { background: var(--preto); top: 5px; }
.cart-aba.ativa::after { background: var(--amarelo); bottom: -6px; height: 8px; }
.cart-aba.ativa em { background: var(--preto); color: var(--amarelo); }
.cart-pasta { border-radius: 0 0 18px 18px; border-top: 6px solid var(--amarelo); }
.cart-pasta::before { content: ""; position: absolute; left: -2px; right: -2px; top: -8px; height: 2px; background: var(--preto); }

@media (max-width: 760px) { .cart-abas { padding: 8px 6px 0 !important; } }

/* ---------- quadro de proventos (detalhe da oferta) ---------- */
.pv { margin: 14px 0; padding: 16px 18px; border-radius: 16px; background: #F1FBF4; border: 1px solid #BFE5CC; }
.pv--nao { background: #F6F4EE; border-color: var(--linha, #ddd); }
.pv--nao p { font-size: .9rem; margin-top: 8px; }
.pv header { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pv header small { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: #3F6B4F; }
.pv header h3 { font-size: 1.08rem; }
.pv__ic { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: #fff; font-size: 1.3rem; flex: none; border: 1px solid #BFE5CC; }
.pv__selo { margin-left: auto; font-size: .78rem; font-weight: 700; padding: 4px 12px; border-radius: 999px; background: var(--alta); color: #fff; }
.pv__kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-top: 12px; }
.pv__kpis > div { background: #fff; border-radius: 12px; padding: 10px 12px; border: 1px solid #D7EEDD; display: flex; flex-direction: column; gap: 2px; }
.pv__kpis small { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: #57534E; }
.pv__kpis b { font-size: 1.15rem; } .pv__kpis em { font-style: normal; font-size: .78rem; color: #57534E; }
.pv__kpis .pv__prox { background: #141414; color: var(--amarelo); border-color: #141414; } .pv__prox small, .pv__prox em { color: #CFC9BA; }
.pv__cal { display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; margin-top: 12px; }
.pv__cal span { text-align: center; font-size: .72rem; font-weight: 700; padding: 6px 0; border-radius: 8px; background: #fff; color: #A8A397; border: 1px solid #E3EFE6; }
.pv__cal span.paga { background: #CFF0DA; color: #0B5D2E; border-color: #9AD9B2; }
.pv__cal span.prox { background: var(--alta); color: #fff; border-color: var(--alta); }
.pv__passos { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 12px; counter-reset: p; }
.pv__passos li { background: #fff; border-radius: 12px; padding: 10px 12px; border: 1px solid #D7EEDD; display: flex; flex-direction: column; gap: 4px; font-size: .84rem; }
.pv__passos li > b { font-size: .86rem; color: #0B5D2E; }
.pv__regras { display: grid; gap: 6px; margin-top: 12px; font-size: .84rem; }
.pv__regras div { display: grid; grid-template-columns: 170px 1fr; gap: 10px; } .pv__regras dt { font-weight: 700; }
.pv__hist { margin-top: 12px; } .pv__hist h4 { font-size: .9rem; margin-bottom: 6px; }
.pv__nota { margin-top: 10px; font-size: .84rem; color: #3F6B4F; }
.acao__nodiv { color: #77736A; }
@media (max-width: 700px) { .pv__passos { grid-template-columns: 1fr; } .pv__regras div { grid-template-columns: 1fr; gap: 2px; } .pv__cal { grid-template-columns: repeat(6, 1fr); } .pv__selo { margin-left: 0; } }
.pv__hist h4 small { font-weight: 500; color: #57534E; }

/* ---------- limite do cartão → conta ---------- */
.bk-lim { margin: 12px 0; padding: 14px 16px; border-radius: 14px; background: var(--creme); border: 1px solid var(--linha, #ccc); display: grid; gap: 8px; }
.bk-lim__cab { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.bk-lim__cab span { font-weight: 700; } .bk-lim__cab small { font-weight: 500; color: var(--grafite); }
.bk-lim__barra { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: #E4DFD2; }
.bk-lim__barra i.emp { background: #2563EB; } .bk-lim__barra i.tr { background: #C2410C; } .bk-lim__barra i.fat { background: #7C3AED; }
.bk-lim__leg { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .8rem; }
.bk-lim__leg i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; background: #E4DFD2; margin-right: 6px; }
.bk-lim__leg i.emp { background: #2563EB; } .bk-lim__leg i.tr { background: #C2410C; } .bk-lim__leg i.fat { background: #7C3AED; }
.bk-faturas { display: grid; gap: 10px; margin: 18px 0 24px; padding: 16px; border: 2px solid #171717; border-radius: 18px; background: linear-gradient(135deg, #f4f0ff, #fffdf4); box-shadow: 5px 5px 0 #5942a5; }
.bk-faturas__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 5px 14px; }
.bk-faturas__cab h3 { margin: 0; font-size: 1.1rem; }
.bk-faturas__cab small { color: var(--grafite); font-size: .8rem; }
.bk-fatura { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px 16px; padding: 11px 12px; border: 1px solid #d9d0f5; border-radius: 13px; background: rgba(255,255,255,.85); }
.bk-fatura > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.bk-fatura__icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 11px; background: #ebe4ff; font-size: 1.15rem; }
.bk-fatura > div > div { display: grid; min-width: 0; }
.bk-fatura small { color: var(--grafite); font-size: .76rem; }
.bk-fatura > strong { white-space: nowrap; }
.bk-fatura__aguarda { color: var(--grafite); font-size: .78rem; text-align: right; }
@media (max-width: 600px) {
  .bk-fatura { grid-template-columns: minmax(0, 1fr) auto; }
  .bk-fatura > strong { grid-column: 2; grid-row: 1; }
  .bk-fatura button, .bk-fatura__aguarda { grid-column: 1 / -1; justify-self: start; }
}
.bk-lim .btn { justify-self: start; cursor: pointer; font-family: inherit; }
.bk-lim__aviso { font-size: .88rem; padding: 10px 12px; border-radius: 12px; background: #FFF4E5; border: 1px solid #F5C99B; }

/* saldo do topo: rótulo + valor; troco das carteiras no cartão da Conta */
.saldo-topo { display: inline-flex; flex-direction: column; align-items: flex-end; line-height: 1.05; border-radius: 12px; padding: 4px 12px; }
.saldo-topo small { font-family: "Space Grotesk", system-ui, sans-serif; font-size: .58rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }
.cofre__troco { display: block; margin-top: 4px; font-size: .78rem; opacity: .8; }
.cofre__troco a { color: var(--amarelo); text-decoration: underline; font-weight: 700; }
.topo__menu a.saldo-topo:not(.btn) { min-width: max-content; padding: 4px 14px; }

/* ---------- Open Finance no layout da aba Cartões ---------- */
.bk-cartao--banco { background: linear-gradient(135deg, var(--c1), color-mix(in srgb, var(--c1) 55%, #000)); }
.bk-cartao__of { position: relative; align-self: flex-start; font-size: .72rem; font-weight: 700; letter-spacing: .04em; padding: 4px 10px;
  border-radius: 999px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); }
.bk-cartao--outro { background: repeating-linear-gradient(135deg, #2B2B2B 0 12px, #333 12px 24px); color: #FCD004; }
.bk-cartao--outro .bk-cartao__of { font-size: 1.2rem; padding: 0 12px; }
.bk-meuconta { margin-bottom: 16px; }
.bk-meuconta--exp .bk-cartao { filter: grayscale(.7); }
.bk-meuconta__tr { padding: 0; margin: 10px 0; max-width: 520px; }
.bk-meuconta__mov { list-style: none; display: grid; gap: 4px; margin: 6px 0 10px; max-width: 620px; }
.bk-meuconta__mov li { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; font-size: .84rem; padding: 6px 10px;
  border-radius: 10px; background: var(--branco); border: 1px solid #E4DFD2; }
.bk-meuconta__mov em { font-style: normal; } .bk-meuconta__mov li.ent b { color: var(--alta); } .bk-meuconta__mov li.sai b { color: var(--baixa); }
.bk-meuconta .bk-ext__cons { margin: 0 0 10px; display: inline-block; }
.bk-sow { margin: 0 0 18px; padding: 14px 16px; border-radius: 16px; background: var(--creme); border: 2px solid var(--preto); box-shadow: 3px 3px 0 var(--preto); display: grid; gap: 8px; }
.bk-sow__cab { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: baseline; }
.bk-sow__cab span { font-size: .9rem; }
.bk-sow__barra { display: flex; height: 14px; border-radius: 999px; overflow: hidden; background: #E4DFD2; gap: 2px; }
.bk-sow__barra i.fic { background: #161616; }
.bk-sow__leg { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .8rem; }
.bk-sow__leg i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.bk-sow__leg i.fic { background: #161616; }
.bk-sow__cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 10px 12px; border-radius: 12px; background: #FFF4C2; font-size: .88rem; }
.bk-sow__cta .btn { cursor: pointer; font-family: inherit; }

.boleta__imposto { grid-column: 1 / -1; font-size: .78rem; color: var(--grafite); background: #FFF4E5; border-radius: 8px; padding: 6px 8px; margin: 2px 0 4px; }

.imp-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; margin: 12px 0; }
.imp-cats > div { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: var(--creme); border: 2px solid var(--preto); font-size: .86rem; }
.imp-regras td { font-size: .84rem; vertical-align: top; }
.boleta__resumo dd.boleta__imposto { text-align: left; }

/* ---------- Admin · Impostos ---------- */
.imp-filtros { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 8px 0 20px; }
.imp-filtros label { display: grid; gap: 4px; font-size: .8rem; color: var(--texto-2, #888); }
.imp-filtros select { min-width: 170px; }
.imp-topo { display: grid; grid-template-columns: minmax(240px, 1fr) 3fr; gap: 16px; margin-bottom: 20px; }
.imp-kpis { grid-template-columns: repeat(3, 1fr); margin: 0; }
.imp-grade { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.imp-bloco h3 { margin: 0 0 12px; font-size: 1rem; }
.imp-meses { display: flex; flex-wrap: wrap; gap: 6px; align-items: end; }
.imp-mes { flex: 1 1 36px; display: grid; justify-items: center; gap: 3px; font-size: .7rem; }
.imp-mes.atual b { color: var(--marca, #e6b800); }
.imp-mes__barra { height: 140px; width: 100%; max-width: 34px; display: flex; flex-direction: column-reverse; background: rgba(127,127,127,.08); border-radius: 6px 6px 2px 2px; overflow: hidden; }
.imp-mes__barra i, .imp-meses .cb-leg i { display: block; }
.imp-meses i.ir { background: #e0a526; } .imp-meses i.dv { background: #4a8fe7; } .imp-meses i.iof { background: #a06ae0; }
.imp-meses .cb-leg { flex-basis: 100%; display: flex; gap: 14px; font-size: .75rem; margin: 6px 0 0; }
.imp-meses .cb-leg span { display: inline-flex; gap: 5px; align-items: center; }
.imp-meses .cb-leg i { width: 10px; height: 10px; border-radius: 2px; }
.imp-regras td { font-size: .82rem; vertical-align: top; }
@media (max-width: 980px) { .imp-topo, .imp-grade { grid-template-columns: 1fr; } .imp-kpis { grid-template-columns: repeat(2, 1fr); } }
.imp-bloco { padding: 16px 18px; }
.imp-grade .tabela td.num, .imp-grade .tabela th.num { white-space: nowrap; }
.imp-grade .tabela td, .imp-grade .tabela th { padding-left: 6px; padding-right: 6px; }
.imp-rola { overflow-x: auto; }
@media (max-width: 980px) {
  .imp-bloco { overflow-x: auto; }
  .imp-itens { min-width: 900px; } .imp-regras { min-width: 640px; } .imp-grade .tabela { min-width: 360px; }
  .imp-filtros label, .imp-filtros select { width: 100%; }
}

/* Negócios: filtro por tipo e ordenação */
.ng-filtros { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin: 0 0 18px; }
.ng-filtros__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ng-chip { border: 2px solid var(--tinta, #111); background: #fffbe6; color: #111; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
.ng-chip em { font-style: normal; opacity: .6; margin-left: 4px; }
.ng-chip.ativo { background: #111; color: #ffd400; }
.ng-ordem { display: inline-flex; gap: 8px; align-items: center; font-size: .85rem; font-weight: 600; }
.ng-ordem select { padding: 6px 8px; border: 2px solid #111; border-radius: 8px; background: #fffbe6; font: inherit; }

/* Conta · aba Bancos e cartão no Open Finance */
.bk-cat-cab { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; background: var(--creme); border: 2px solid var(--preto); border-radius: 16px; box-shadow: 4px 4px 0 var(--preto); padding: 16px 20px; margin-bottom: 18px; }
.bk-cat-cab h3 { margin: 0 0 4px; }
.bk-cat-cab p { margin: 0; max-width: 760px; }
.bk-cat-cab__n { background: var(--preto); color: var(--amarelo); border-radius: 999px; padding: 6px 14px; font-weight: 700; white-space: nowrap; }
.bk-of-cartao { margin-bottom: 18px; }
.bk-vazio--cartao { margin: 18px 0; }
.bk-cat-cab__lims { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.bk-manual { display: grid; gap: 4px; min-width: 240px; background: #fff; border: 2px solid var(--preto); border-radius: 12px; padding: 8px 12px; font-size: .8rem; }
.bk-manual small { text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: var(--grafite); font-size: .68rem; }
.bk-manual > b { font-size: 1rem; } .bk-manual em { font-style: normal; font-weight: 500; color: var(--grafite); font-size: .8rem; }
.bk-manual i { display: block; height: 8px; border-radius: 99px; background: rgba(0,0,0,.1); overflow: hidden; }
.bk-manual i b { display: block; height: 100%; background: var(--preto); }
.bk-form__dica { display: block; font-size: .72rem; color: var(--grafite); font-weight: 500; margin-top: 3px; }

/* Painel admin · Zona de risco (resetar ações dos usuários) */
.rz { border-color: #B3261E; box-shadow: 4px 4px 0 #B3261E; padding: 18px 22px; }
.rz__topo { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
.rz__topo p { margin: 4px 0 0; max-width: 780px; }
.rz__corpo { margin-top: 16px; border-top: 2px dashed #B3261E; padding-top: 14px; }
.rz__grade { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; }
.rz__grade h4 { margin: 0 0 8px; } .rz__grade h4 small { font-weight: 500; color: var(--grafite); }
.rz__lista { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 4px; font-size: .88rem; }
.rz__lista li { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid rgba(0,0,0,.08); padding: 3px 0; }
.rz__lista li.zero { opacity: .45; }
.rz__lista--ok li { display: block; border: 0; }
.rz__confirma { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 8px 0; padding: 12px; background: #FDECEA; border: 2px solid #B3261E; border-radius: 12px; }
.rz__confirma label { display: grid; gap: 4px; font-size: .85rem; }
.rz__confirma input { padding: 8px 10px; border: 2px solid #111; border-radius: 8px; font: inherit; letter-spacing: .1em; text-transform: uppercase; }
.rz__feito { background: #E6F4EA; border: 2px solid #1E7B34; border-radius: 12px; padding: 12px; }
@media (max-width: 900px) { .rz__grade { grid-template-columns: 1fr; } }

/* =====================================================================================
   VERSÃO CELULAR (até 760px): barra inferior estilo app, topo compacto, gaveta "Mais"
   ===================================================================================== */
.tabbar, .saldo-mini { display: none; }
.sem-sessao .topo__menu,
.sem-sessao .topo__botao,
.sem-sessao .tabbar { display: none !important; }

@media (max-width: 760px) {
  html { -webkit-text-size-adjust: 100%; }
  body.tem-tabbar { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  /* faixa de status: permite que a data e o selo de demonstração quebrem linha */
  .barra-status { font-size: .7rem; }
  .barra-status__linha { justify-content: flex-start; flex-wrap: wrap; overflow: visible; white-space: normal; padding-block: 4px; }
  .barra-status__linha > #ultima-atualizacao { flex: 1 1 100%; min-width: 0; white-space: normal; line-height: 1.6; }
  .barra-status__demo, .barra-status__jogo, .barra-status__homolog { font-size: .66rem; padding: 0 8px; }
  .barra-status__demo { display: inline-flex; margin: 2px 4px 2px 0; }
  /* O wrapper contém status + cabeçalho; ele precisa ficar sticky para não limitar a rolagem do header. */
  #topo { position: sticky; top: 0; z-index: 60; }
  .topo { position: relative; top: auto; z-index: auto; background: var(--amarelo); padding-top: env(safe-area-inset-top); }
  .topo__linha { min-height: 56px; padding-block: 6px; gap: 8px; }
  .topo__marca img { height: 34px; width: auto; }
  .topo__botao { display: none !important; }
  .saldo-mini { display: grid; margin-left: auto; text-decoration: none; background: var(--preto); color: var(--amarelo); border-radius: 10px;
    padding: 3px 10px; line-height: 1.1; text-align: right; }
  .saldo-mini small { font-size: .55rem; text-transform: uppercase; letter-spacing: .08em; color: #F5E9A8; }
  .saldo-mini b { font-family: "JetBrains Mono", monospace; font-size: .78rem; color: var(--branco); white-space: nowrap; }
  .sino { margin-left: 8px !important; order: initial !important; }
  .sino__btn { width: 40px; height: 40px; }
  .topo__avancar-mes { min-height: 40px; padding: 0 9px; gap: 5px; font-size: .68rem; }
  /* gaveta do "Mais": sobe de baixo, acima da barra */
  .topo__menu { position: fixed !important; left: 0 !important; right: 0 !important; top: auto !important; bottom: calc(64px + env(safe-area-inset-bottom)) !important;
    min-width: 0 !important; max-height: 72vh; overflow-y: auto; border-radius: 20px 20px 0 0 !important; border-bottom: 0 !important;
    box-shadow: 0 -10px 30px rgba(0,0,0,.25) !important; padding: 14px 14px 10px !important; z-index: 90 !important; }
  .topo__menu::before { content: ""; display: block; width: 44px; height: 5px; border-radius: 99px; background: rgba(0,0,0,.2); margin: 0 auto 10px; }
  .topo__menu a:not(.btn) { padding: 13px 14px !important; font-size: 1.02rem; }
  body.menu-aberto::after { content: ""; position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 55; }
  /* barra inferior */
  .tabbar { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 95;
    background: var(--preto); border-top: 2px solid var(--preto); padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
  .tabbar__it { display: grid; justify-items: center; gap: 2px; padding: 4px 0; color: #CFCFCF; text-decoration: none; background: none; border: 0;
    font: inherit; cursor: pointer; border-radius: 12px; -webkit-tap-highlight-color: transparent; }
  .tabbar__it span { font-size: 1.25rem; line-height: 1; filter: grayscale(.4); }
  .tabbar__it b { font-size: .68rem; font-weight: 600; }
  .tabbar__it.ativo { color: var(--amarelo); background: rgba(252, 208, 4, .12); }
  .tabbar__it.ativo span { filter: none; }
  /* avisos (toasts) acima da barra */
  .avisos { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
  /* alvos de toque mais confortáveis */
  .btn--mini { min-height: 36px; }
  input, select, textarea { font-size: 16px; }  /* evita o zoom automático do iPhone ao tocar no campo */
  /* modais em tela cheia, rolando por dentro */
  .modal__caixa { max-height: calc(100dvh - 24px); overflow-y: auto; }
  .modal, .aporte-popup { z-index: 120 !important; }
  .nt-toasts { bottom: calc(76px + env(safe-area-inset-bottom)) !important; right: 12px !important; }
  .sino__painel { position: fixed !important; left: 8px !important; right: 8px !important; top: 64px !important; width: auto !important;
    max-height: calc(100dvh - 150px); overflow-y: auto; z-index: 110 !important; }
}
@media (max-width: 400px) {
  .topo__avancar-mes { width: 40px; padding: 0; }
  .topo__avancar-mes b { display: none; }
}
/* App instalado na tela inicial (PWA): sem a barra do navegador */
@media (display-mode: standalone) and (max-width: 760px) {
  .barra-status { padding-top: env(safe-area-inset-top); }
}
.metas { min-height: 100vh; padding-bottom: 48px; color: var(--preto, #171717); background: #f7f5ed; }
.metas-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(28px, 5vw, 64px) 0; color: #fff; background: #141414; }
.metas-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 82% 35%, rgba(252,208,4,.18), transparent 23%), repeating-radial-gradient(circle at 84% 38%, transparent 0 32px, rgba(252,208,4,.055) 33px 34px), linear-gradient(110deg, #171717 10%, #242111 100%); }
.metas-hero__grade { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr); gap: 24px; align-items: center; }
.metas-hero__copy { min-width: 0; max-width: 720px; }
.metas-hero__copy h1 { margin: 14px 0 10px; color: #fff; font-size: clamp(2.25rem, 5vw, 4.4rem); line-height: .98; letter-spacing: -.045em; }
.metas-hero__copy p { max-width: 620px; margin: 0; color: #e6e3d8; font-size: clamp(.95rem, 1.5vw, 1.1rem); line-height: 1.65; }
.metas-hero__badge { display: grid; justify-items: center; gap: 7px; min-width: 0; padding: 20px; border: 1px solid rgba(252,208,4,.75); border-radius: 20px; background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.04)); box-shadow: 7px 7px 0 #fcd004; text-align: center; }
.metas-hero__badge > span { font-size: 2rem; }
.metas-hero__badge small { color: #f4df7a; font-size: .77rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.metas-hero__badge b { color: #fff; font: 700 clamp(1.4rem, 3vw, 2rem)/1.2 "JetBrains Mono", monospace; }
.metas-resumo { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.metas-resumo > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; min-width: 0; padding: 12px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.065); }
.metas-resumo > div > span { grid-row: 1 / 3; font-size: 1.35rem; }
.metas-resumo small { color: #d4d0c3; font-size: .72rem; }
.metas-resumo b { color: #fff; font-size: 1rem; overflow-wrap: anywhere; }
.metas-conteudo { padding-top: clamp(28px, 4vw, 48px); }
.metas-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 20px; }
.metas-cab h2 { margin: 4px 0 0; font-size: clamp(1.5rem, 3vw, 2rem); }
.metas-filtros { display: flex; flex-wrap: wrap; gap: 7px; max-width: 100%; }
.metas-filtro { min-height: 38px; padding: 7px 13px; border: 1.5px solid #171717; border-radius: 999px; color: #171717; background: #fffdf5; font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.metas-filtro.ativa, .metas-filtro[aria-selected="true"] { color: #171717; background: #fcd004; box-shadow: 2px 2px 0 #171717; }
.metas-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.meta-card { display: flex; flex-direction: column; min-width: 0; padding: 19px; border: 2px solid #171717; border-radius: 18px; background: linear-gradient(145deg, #fffef9, #f1eddd); box-shadow: 5px 5px 0 #171717; }
.meta-card--done { border-color: #28734b; box-shadow: 5px 5px 0 #28734b; }
.meta-card--claimed { background: linear-gradient(145deg, #edf4ed, #e1ebdf); }
.meta-card__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-height: 38px; }
.meta-card__icon { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; border: 1.5px solid #171717; border-radius: 12px; background: #fcd004; font-size: 1.3rem; }
.meta-card__cat, .meta-card__status { padding: 5px 9px; border-radius: 999px; background: #eae5d2; font-size: .68rem; font-weight: 700; }
.meta-card__status { margin-left: auto; color: #174b31; background: #d8efdc; }
.meta-card__status--done { color: #171717; background: #fce98c; }
.meta-card h3 { margin: 16px 0 7px; font-size: 1.2rem; line-height: 1.2; }
.meta-card > p { flex: 1; margin: 0 0 18px; color: #55534b; font-size: .88rem; line-height: 1.55; }
.meta-card__progress { display: grid; gap: 8px; margin-top: auto; }
.meta-card__labels { display: flex; justify-content: space-between; gap: 10px; align-items: start; font-size: .73rem; }
.meta-card__labels span { min-width: 0; color: #55534b; }
.meta-card__labels b { flex: none; }
.meta-card__track { height: 10px; overflow: hidden; border: 1px solid #171717; border-radius: 999px; background: #e8e2cd; }
.meta-card__track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #e4b900, #fcd004); }
.meta-card__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(23,23,23,.15); font-size: .78rem; }
.meta-card__foot > span:first-child { display: grid; gap: 3px; }
.meta-card__foot .btn { max-width: 100%; padding: 9px 12px; font-size: .75rem; }
.meta-card__claimed, .meta-card__locked { color: #55534b; font-size: .72rem; }
.metas-vazio { grid-column: 1 / -1; padding: 28px; border: 1px dashed #8c887b; border-radius: 16px; color: #55534b; background: #fffdf5; text-align: center; }
.metas-nota { margin: 22px auto 0; color: #666256; font-size: .78rem; line-height: 1.5; }
@media (max-width: 1050px) { .metas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .metas-hero { padding: 25px 0 28px; }
  .metas-hero__grade { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .metas-hero__copy h1 { font-size: clamp(2rem, 10vw, 3rem); }
  .metas-hero__badge { grid-template-columns: auto 1fr; justify-items: start; text-align: left; padding: 12px 14px; }
  .metas-hero__badge > span { grid-row: 1 / 3; font-size: 1.6rem; }
  .metas-hero__badge b { font-size: 1.3rem; }
  .metas-resumo { gap: 7px; }
  .metas-resumo > div { grid-template-columns: 1fr; justify-items: start; gap: 3px; padding: 9px; }
  .metas-resumo > div > span { grid-row: auto; font-size: 1rem; }
  .metas-resumo small { font-size: .62rem; }
  .metas-resumo b { font-size: .83rem; }
  .metas-cab { align-items: start; }
  .metas-filtros { flex-wrap: nowrap; overflow-x: auto; width: 100%; padding: 3px 2px 8px; scrollbar-width: thin; }
  .metas-filtro { flex: 0 0 auto; }
  .metas-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .meta-card { padding: 15px; }
  .metas-nota { padding: 0 18px; }
}
@media (min-width: 701px) and (max-width: 1000px) and (orientation: landscape) {
  .metas-hero { padding: 18px 0; }
  .metas-hero__grade { grid-template-columns: minmax(0, 1.3fr) minmax(200px, .7fr); gap: 14px; }
  .metas-hero__copy h1 { font-size: clamp(1.8rem, 5vw, 2.8rem); }
  .metas-resumo { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .metas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


.ct-acao--resgatar-tudo { background: linear-gradient(135deg, #e7f8ee, #ccebd9); }
.ct-acao:disabled { opacity: .65; cursor: wait; }

/* Fic Bank: abas e resumo financeiro em linhas compactas no mobile. */
@media (max-width: 560px) {
  #bk-abas.bk-abas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; width: 100%; }
  #bk-abas.bk-abas button { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 48px; margin: 0; padding: 5px 2px; border-radius: 8px 8px 0 0; font-size: .62rem; line-height: 1.1; text-align: center; overflow-wrap: anywhere; }
  .bk-of-resumo { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; align-items: stretch; }
  .bk-of-resumo > div { min-width: 0; padding: 8px 6px; border-radius: 10px; box-shadow: 2px 2px 0 var(--preto); }
  .bk-of-resumo small { font-size: .56rem; letter-spacing: 0; line-height: 1.15; overflow-wrap: anywhere; }
  .bk-of-resumo b { display: block; margin-top: 4px; font-size: .78rem; line-height: 1.15; overflow-wrap: anywhere; }
  .bk-of-resumo .btn { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 360px) {
  #bk-abas.bk-abas button { font-size: .56rem; }
  .bk-of-resumo > div { padding-inline: 4px; }
  .bk-of-resumo small { font-size: .52rem; }
  .bk-of-resumo b { font-size: .7rem; }
}
