/* Tela de conciliação de importação OFX (reusa .imp-overlay/.imp-modal) */

.conc-modal {
  max-width: 1040px;
  width: 96vw;
  display: flex;
  flex-direction: column;
  min-height: 70vh;     /* não encolhe demais ao filtrar (mantém altura útil) */
  max-height: 90vh;
  position: relative;   /* ancora a gaveta de previstos (.concpp, position:absolute) */
}
/* painel aberto: empurra o conteúdo pra ELE NÃO OBSTRUIR as linhas (só em tela larga) */
@media (min-width: 760px) {
  .conc-modal.painel-aberto > :not(.concpp) { padding-right: 332px; transition: padding-right .22s ease; }
  /* o espaço extra sai de centro/categoria/valor/status — o NOME do lançamento continua legível */
  .conc-modal.painel-aberto .conc-head,
  .conc-modal.painel-aberto .conc-row { grid-template-columns: 28px 40px 1fr 92px 120px 124px; gap: .35rem; }
}

.conc-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  flex-wrap: wrap;
  padding: .15rem .25rem .6rem;
}
.conc-hint { font-size: .72rem; color: var(--text-mut); }
.conc-bulk { display: flex; gap: .4rem; flex-shrink: 0; }
.conc-mini {
  font-size: .68rem;
  font-weight: 600;
  padding: .28rem .55rem;
  border-radius: .35rem;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-dim);
  cursor: pointer;
}
.conc-mini:hover { background: var(--bg-2); color: var(--text); }
.conc-mini.primary { background: var(--text); color: var(--surface); border-color: var(--text); }
.conc-mini.primary:hover { opacity: .9; }
.conc-mini.icon { padding: .3rem; display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.conc-mini.icon svg { display: block; }
.conc-bulk { display: flex; gap: .3rem; flex-shrink: 0; }
/* Ocultar + ações em lote agrupados à direita (mantém a toolbar numa linha só) */
.conc-actions { display: flex; align-items: center; gap: .4rem; margin-left: auto; flex-shrink: 0; }

/* ── Cabeçalho enxuto ── */
.conc-header { align-items: flex-start; gap: .6rem; }
.conc-header-l { flex: 1; min-width: 0; }
.conc-leg-inline { margin-left: .55rem; color: var(--text-mut); white-space: nowrap; }
.conc-leg-inline .conc-badge { margin: 0 .12rem; vertical-align: middle; }
/* mês da fatura: chip compacto no topo (substitui o banner gigante) */
.conc-fatura-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .5rem; background: rgba(245,158,11,.12); border: 1px solid rgba(245,158,11,.35); border-radius: .4rem; white-space: nowrap; flex-shrink: 0; }
.conc-fatura-lbl { font-size: .6rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #b45309; }
.conc-fatura-chip select { font-size: .72rem; padding: .12rem .3rem; border: 1px solid var(--border); border-radius: .3rem; background: var(--surface); color: var(--text); }
/* com seleção, esconde só a busca e o "Ocultar resolvidos"; MANTÉM as ações em lote
   (✨ aplicar sugestões/IA, resetar, marcar) — elas atuam justamente nas selecionadas */
.conc-toolbar.tem-sel .conc-search-wrap { display: none; }
.conc-toolbar.tem-sel .conc-bulkedit { flex: 1; }
.conc-toolbar.tem-sel .conc-ocultar { display: none; }   /* libera espaço durante a seleção */
@media (min-width: 760px) { .conc-toolbar.tem-sel { flex-wrap: nowrap; } }   /* tudo numa linha só */
/* lupa: aparece só quando há seleção; reabre a busca por cima do Renomear */
.conc-search-btn { display: none; flex-shrink: 0; padding: .3rem; border: 1px solid var(--border); border-radius: .35rem; background: var(--surface); color: var(--text-dim); cursor: pointer; line-height: 0; }
.conc-search-btn:hover { color: var(--text); background: var(--bg-2); }
.conc-search-btn.on { background: rgba(99,102,241,.12); color: var(--accent, #4f46e5); border-color: var(--accent, #6366f1); }
.conc-toolbar.tem-sel .conc-search-btn { display: inline-flex; align-items: center; }
.conc-toolbar.tem-sel.busca-aberta .conc-search-wrap { display: inline-flex; flex: 1; }
.conc-toolbar.tem-sel.busca-aberta .conc-bulkedit { display: none; }
/* separador entre "aplicar campos" e "IA/reset" dentro da barra de seleção */
.conc-be-sep { width: 1px; align-self: stretch; background: var(--border); margin: .1rem .15rem; }

/* Barra de ação em massa — vive na mesma linha da toolbar */
.conc-bulkedit {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex: 1;
}
.conc-bulkedit[hidden] { display: none; }
.conc-hint { flex: 1; }
.conc-be-count { font-size: .7rem; font-weight: 700; color: var(--text); white-space: nowrap; }
.conc-be-centro, .conc-be-cat, .conc-be-nome {
  font-size: .72rem;
  padding: .3rem .4rem;
  border: 1px solid var(--border);
  border-radius: .35rem;
  background: var(--surface);
  color: var(--text);
}
.conc-be-centro { max-width: 140px; min-width: 0; }
.conc-be-cat { max-width: 120px; min-width: 0; }
.conc-be-evento { display: inline-block; max-width: 120px; min-width: 0; }   /* wrapper — sem borda própria */
.conc-be-evento .evcb, .conc-be-evento .evcb-input { width: 100%; }
.conc-be-nome { flex: 1; min-width: 48px; }

.conc-evchip {
  font-size: .56rem;
  font-weight: 700;
  padding: .1rem .35rem;
  border-radius: .3rem;
  background: rgba(99,102,241,.15);
  color: #4f46e5;
  white-space: nowrap;
}
.conc-evchip[hidden] { display: none; }

.conc-secresumo { margin-top: .25rem; font-size: .65rem; color: var(--text-mut); }
.conc-sectag { display: inline-block; padding: .05rem .4rem; border-radius: .3rem; font-weight: 700; margin-right: .25rem; }
.conc-sectag.ok { background: rgba(5,150,105,.15); color: #059669; }
.conc-sectag.warn { background: rgba(245,158,11,.18); color: #b45309; }

.conc-row.sel { background: rgba(99,102,241,.10); box-shadow: inset 2px 0 0 var(--accent, #6366f1); }
.conc-row:not(.is-dup) { cursor: pointer; }
/* shift+clique seleciona linhas, não texto */
.conc-row { user-select: none; -webkit-user-select: none; }
.conc-row input, .conc-row select { user-select: text; -webkit-user-select: text; }

/* grid compartilhado por head e rows */
.conc-head,
.conc-row {
  display: grid;
  grid-template-columns: 30px 44px 1fr 110px 190px 180px;
  gap: .5rem;
  align-items: start;
}
.conc-head { align-items: center; }

/* célula que empilha o campo + a dica de sugestão */
.conc-cell { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }

/* dica de sugestão clicável (não vem aplicada) */
.conc-sugchip {
  display: inline-block;
  max-width: 100%;
  text-align: left;
  font-size: .6rem;
  font-weight: 600;
  padding: .12rem .4rem;
  border: 1px dashed var(--border-2, #cbd5e1);
  border-radius: .3rem;
  background: rgba(99,102,241,.06);
  color: #4f46e5;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.conc-sugchip::before { content: '↳ '; opacity: .6; }
.conc-sugchip:hover { background: rgba(99,102,241,.16); border-style: solid; }
.conc-sugchip.aplicada { opacity: .45; text-decoration: line-through; }

.conc-head {
  padding: 0 .25rem .4rem;
  font-size: .58rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
  color: var(--text-mut);
  border-bottom: 1px solid var(--border);
}
.conc-head .r { text-align: right; }

.conc-body {
  overflow-y: auto;
  flex: 1 1 auto;
  min-height: 80px;
}
/* rodapé e resultado sempre visíveis (não cortam o botão Gravar) */
.conc-modal .imp-footer,
.conc-modal #concResult { flex-shrink: 0; }
.conc-modal .conc-toolbar,
.conc-modal .conc-head { flex-shrink: 0; }

.conc-row {
  padding: .4rem .25rem;
  border-bottom: 1px solid var(--border);
}
.conc-row.is-dup { opacity: .45; }

/* divisor por dia */
.conc-daysep {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: .35rem 0 .15rem;
  padding: .2rem .5rem;
  font-size: .6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text-dim);
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}

/* separador pronunciado antes do bloco de duplicadas */
.conc-sep {
  margin: .9rem 0 .3rem;
  padding: .4rem .6rem;
  border-top: 2px dashed var(--border-2, #cbd5e1);
  font-size: .62rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-mut);
  background: var(--bg-2);
  border-radius: .35rem;
}

.conc-chk { display: flex; justify-content: center; cursor: pointer; }
.conc-chk input { cursor: pointer; }

.conc-data {
  font-size: .72rem;
  color: var(--text-dim);
  font-variant-numeric: tabular-nums;
}

.conc-desc { min-width: 0; }
.conc-desc-input {
  width: 100%;
  font-size: .76rem;
  padding: .32rem .45rem;
  border: 1px solid var(--border);
  border-radius: .35rem;
  background: var(--surface);
  color: var(--text);
}
.conc-desc-input:focus { outline: none; border-color: var(--accent, #6366f1); }
.conc-desc-orig {
  font-size: .62rem;
  color: var(--text-mut);
  font-style: italic;
  margin-top: .15rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.conc-valor {
  text-align: right;
  font-size: .76rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.conc-valor.neg { color: var(--neg, #e11d48); }
.conc-valor.pos { color: var(--pos, #059669); }

.conc-cat,
.conc-centro {
  width: 100%;
  font-size: .72rem;
  padding: .3rem .35rem;
  border: 1px solid var(--border);
  border-radius: .35rem;
  background: var(--surface);
  color: var(--text);
}

/* status agora vive ABAIXO da categoria (badge + chip do vinculado), em linha que quebra */
.conc-status { display: flex; flex-direction: row; flex-wrap: wrap; gap: .25rem; align-items: center; min-width: 0; max-width: 100%; margin-top: .1rem; }
.conc-status:empty { display: none; }
/* toggle "aplicar aos futuros (N)" nas linhas vinculadas com série futura */
.conc-futuros { display: inline-flex; align-items: center; gap: .25rem; font-size: .6rem; color: var(--accent, #4f46e5); cursor: pointer; white-space: nowrap; }
.conc-futuros input { cursor: pointer; margin: 0; }
/* nome do vinculado: mostra inteiro (quebra linha em vez de truncar) */
.conc-chip-nm { white-space: normal; overflow-wrap: anywhere; min-width: 0; }
.conc-vinc-chip, .conc-fat-chip { max-width: 100%; min-width: 0; }
/* busca dentro da conciliação: filtra linhas e seleciona os achados em lote */
.conc-row.conc-hidden, .conc-daysep.conc-hidden, .conc-sep.conc-hidden { display: none; }
/* "Ocultar resolvidos" — esconde linhas já marcadas (seleção/lote NUNCA pegam ocultos) */
.conc-row.conc-done-hidden { display: none; }
.conc-ocultar { font-size: .68rem; font-weight: 600; padding: .25rem .55rem; border-radius: .35rem; border: 1px solid var(--border, #cbd5e1); background: var(--surface); color: var(--text-dim); cursor: pointer; white-space: nowrap; }
.conc-ocultar:hover { color: var(--text); }
.conc-ocultar.on { background: rgba(16,185,129,.12); color: #059669; border-color: #10b981; }
/* botão "painel ›" no seletor de vincular — escala pro painel lateral amplo */
.conc-vinc-painel { font-size: .64rem; font-weight: 600; padding: .2rem .45rem; border: 1px solid var(--border); border-radius: .3rem; background: var(--surface); color: var(--accent, #4f46e5); cursor: pointer; white-space: nowrap; }
.conc-vinc-painel:hover { background: var(--bg-2); }
.conc-search-wrap { display: inline-flex; gap: .3rem; align-items: center; margin-right: .5rem; flex: 1 1 auto; min-width: 0; }
.conc-search { flex: 1; min-width: 5rem; font-size: .72rem; padding: .25rem .5rem; border: 1px solid var(--border); border-radius: .35rem; background: var(--surface); color: var(--text); }
.conc-search-sel { font-size: .68rem; font-weight: 600; padding: .25rem .55rem; border: 1px solid #c7d2fe; background: #eef2ff; color: #4338ca; border-radius: .35rem; cursor: pointer; white-space: nowrap; }
.conc-search-sel:disabled { opacity: .5; cursor: default; }
.conc-badge {
  font-size: .58rem;
  font-weight: 700;
  padding: .12rem .4rem;
  border-radius: .3rem;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.conc-badge.novo { background: rgba(5,150,105,.15); color: #059669; }
.conc-badge.dup  { background: var(--bg-2); color: var(--text-mut); }
.conc-badge.warn { background: rgba(245,158,11,.18); color: #b45309; }
.conc-sug { font-size: .56rem; font-weight: 700; padding: .05rem .35rem; border-radius: .3rem; text-transform: uppercase; letter-spacing: .03em; }
.conc-sug.historico { background: rgba(5,150,105,.15); color: #059669; }
.conc-sug.ia        { background: rgba(99,102,241,.15); color: #4f46e5; }
.conc-sug.regra     { background: rgba(14,165,233,.15); color: #0284c7; }
.conc-sug.pluggy    { background: var(--bg-2); color: var(--text-mut); }
.conc-row.has-sug { background: rgba(99,102,241,.04); }

/* faixa de destino (certificação da conta) */
.conc-destino {
  margin: 0 0 .6rem; padding: .4rem .65rem; border-radius: .4rem;
  font-size: .72rem; color: var(--text); background: var(--bg-2); border: 1px solid var(--border);
}
.conc-destino.warn { background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.5); color: #b45309; }

/* marcador de parcela na conciliação */
.conc-parc {
  display: inline-block; margin-top: .15rem; margin-right: .3rem;
  font-size: .58rem; font-weight: 700; padding: .1rem .4rem; border-radius: .3rem;
  background: rgba(99,102,241,.15); color: #4f46e5;
}

/* toggle recorrente (↻) na conciliação */
.conc-rec {
  font-size: .56rem; font-weight: 700; padding: .12rem .4rem; border-radius: .3rem; cursor: pointer;
  border: 1px solid var(--border); background: var(--surface); color: var(--text-mut);
}
.conc-rec:hover { background: var(--bg-2); color: var(--text); }
.conc-rec.on { background: #4f46e5; color: #fff; border-color: #4f46e5; }

/* aviso: já existe em outra conta/cartão */
.conc-jaoutra {
  display: inline-block; margin-top: .1rem; margin-right: .3rem;
  font-size: .55rem; font-weight: 500; padding: 0;
  background: transparent; color: var(--text-mut); opacity: .65; cursor: help;
}
.conc-jaoutra:hover { opacity: 1; }

/* aviso de conflito da planilha (categoria/centro inexistente) */
.conc-conflito {
  display: inline-block; margin-top: .15rem;
  font-size: .58rem; font-weight: 700; padding: .1rem .4rem; border-radius: .3rem;
  background: rgba(245,158,11,.18); color: #b45309; white-space: nowrap;
}
.conc-row.tem-conflito { background: rgba(245,158,11,.06); }

/* topo da conciliação enxuto */
.conc-conta { color: var(--accent, #4f46e5); }
.imp-header-sub .conc-novas { color: #059669; }

/* =========================================================================
   Painel lateral de previstos (gaveta direita) — prefixo .concpp-
   Desliza da direita dentro do .conc-modal. Aba pra abrir quando fechado.
   ========================================================================= */
.concpp { position: absolute; inset: 0; pointer-events: none; z-index: 30; }
.concpp > * { pointer-events: auto; }

/* aba lateral pra abrir (visível só com a gaveta fechada) */
.concpp-tab {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  padding: .6rem .3rem;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--text-dim);
  background: var(--surface);
  border: 1px solid var(--border);
  border-right: none;
  border-radius: .35rem 0 0 .35rem;
  cursor: pointer;
  box-shadow: -2px 0 8px rgba(0, 0, 0, .06);
}
.concpp-tab:hover { color: var(--text); background: var(--bg-2); }
.concpp-tab.hidden { display: none; }
/* aberta: a aba encosta na borda esquerda da gaveta e vira "Fechar" */
.concpp.aberto .concpp-tab { right: min(320px, 86vw); box-shadow: none; }

/* a gaveta */
.concpp-drawer {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  max-width: 86vw;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border-left: 1px solid var(--border);
  box-shadow: -6px 0 18px rgba(0, 0, 0, .12);
  transform: translateX(100%);
  transition: transform .22s ease;
}
.concpp-drawer.open { transform: translateX(0); }

.concpp-head {
  flex-shrink: 0;
  padding: .55rem .6rem .5rem;
  border-bottom: 1px solid var(--border);
  background: var(--bg-2);
}
.concpp-head-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .45rem;
}
.concpp-title {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text);
}
.concpp-close {
  font-size: 1.05rem;
  line-height: 1;
  padding: 0 .2rem;
  background: transparent;
  border: none;
  color: var(--text-mut);
  cursor: pointer;
}
.concpp-close:hover { color: var(--text); }

.concpp-search {
  width: 100%;
  font-size: .72rem;
  padding: .3rem .45rem;
  border: 1px solid var(--border);
  border-radius: .35rem;
  background: var(--surface);
  color: var(--text);
}
.concpp-search:focus { outline: none; border-color: var(--accent, #6366f1); }

.concpp-toggle {
  display: flex;
  align-items: center;
  gap: .3rem;
  margin-top: .4rem;
  font-size: .66rem;
  color: var(--text-mut);
  cursor: pointer;
  user-select: none;
}
.concpp-toggle input { cursor: pointer; }
.concpp-dica { margin-top: .4rem; font-size: .62rem; color: var(--text-mut); line-height: 1.3; }
.concpp-head-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .4rem; }
.concpp-head-row .concpp-toggle { margin-top: 0; }
.concpp-colall { font-size: .62rem; font-weight: 600; padding: .2rem .45rem; border: 1px solid var(--border); border-radius: .3rem; background: var(--surface); color: var(--text-dim); cursor: pointer; white-space: nowrap; }
.concpp-colall:hover { color: var(--text); background: var(--bg-2); }

.concpp-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: .25rem .35rem .6rem;
}
.concpp-empty {
  padding: 1.2rem .6rem;
  text-align: center;
  font-size: .7rem;
  color: var(--text-mut);
}

/* cabeçalho de grupo: conta (clicável → oculta/reexibe o cartão/banco) */
.concpp-conta-h {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: .35rem;
  width: 100%;
  margin: .35rem 0 .1rem;
  padding: .3rem .4rem;
  font-size: .64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-dim);
  background: var(--surface);
  border: none;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
  text-align: left;
}
.concpp-conta-h:hover { color: var(--text); background: var(--bg-2); }
.concpp-conta-nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.concpp-atual-tag { font-size: .54rem; font-weight: 700; text-transform: none; letter-spacing: 0; padding: .05rem .3rem; border-radius: .5rem; background: rgba(99,102,241,.15); color: #4f46e5; }
/* sub-cabeçalho: mês de vencimento (clicável → recolhe/expande) */
.concpp-mes {
  display: flex;
  align-items: center;
  gap: .35rem;
  width: 100%;
  margin: .3rem 0 .12rem 0;
  padding: .2rem .25rem;
  font-size: .58rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--text-mut);
  background: none;
  border: none;
  border-radius: .3rem;
  cursor: pointer;
  text-align: left;
}
.concpp-mes:hover { background: var(--bg-2); color: var(--text-dim); }
.concpp-mes-cv { font-size: .6rem; width: .8rem; flex-shrink: 0; }
.concpp-mes-lbl { flex: 1; min-width: 0; }
.concpp-mes-n { font-size: .56rem; font-weight: 700; color: var(--text-mut); background: var(--bg-2); border-radius: .6rem; padding: .05rem .35rem; }
.concpp-mes-itens[hidden] { display: none; }

/* item clicável */
.concpp-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .4rem;
  width: 100%;
  text-align: left;
  padding: .35rem .45rem;
  margin-bottom: .15rem;
  border: 1px solid var(--border);
  border-radius: .35rem;
  background: var(--surface);
  color: var(--text);
  cursor: pointer;
}
.concpp-item:hover { background: var(--bg-2); border-color: var(--accent, #6366f1); }
.concpp-item-main { display: flex; flex-direction: column; gap: .12rem; min-width: 0; flex: 1; }
.concpp-item-nm {
  font-size: .72rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.concpp-item-sub { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; }
.concpp-venc { font-size: .62rem; color: var(--text-mut); font-variant-numeric: tabular-nums; }
.concpp-cat {
  font-size: .58rem;
  color: var(--text-mut);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 12ch;
}
.concpp-parc {
  font-size: .56rem;
  font-weight: 700;
  padding: .05rem .35rem;
  border-radius: .3rem;
  background: rgba(99, 102, 241, .15);
  color: #4f46e5;
}
.concpp-realtag {
  font-size: .54rem;
  font-weight: 700;
  padding: .05rem .35rem;
  border-radius: .3rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  background: var(--bg-2);
  color: var(--text-mut);
}
/* já vinculado nesta conciliação */
.concpp-item.usado { opacity: .55; }
.concpp-usadotag { font-size: .54rem; font-weight: 700; padding: .05rem .35rem; border-radius: .3rem; text-transform: uppercase; letter-spacing: .03em; background: rgba(5,150,105,.15); color: #059669; }
/* previsto "armado" (escolhido primeiro, aguardando a linha) */
.concpp-item.armado { background: rgba(99,102,241,.14); box-shadow: inset 0 0 0 1.5px var(--accent, #6366f1); }
.concpp-item-val {
  font-size: .72rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.concpp-item-val.neg { color: var(--neg, #e11d48); }
.concpp-item-val.pos { color: var(--pos, #059669); }
