/* Paleta NotaDex — as mesmas cores no sistema e no site (ver site.css). Tema único (grafite suave),
   sem trocar sozinho para o modo escuro do computador. */
@font-face { font-family: "Urbanist"; font-weight: 400; font-display: swap; src: url("fontes/urbanist-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Urbanist"; font-weight: 600; font-display: swap; src: url("fontes/urbanist-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Urbanist"; font-weight: 800; font-display: swap; src: url("fontes/urbanist-latin-800-normal.woff2") format("woff2"); }
:root {
  --nd-roxo-profundo: #2e1065;
  --nd-roxo: #4c1d95;
  --nd-roxo-medio: #5b21b6;
  --nd-lilas: #ede9fe;
  --nd-verde: #22c55e;
  --nd-verde-escuro: #15803d;
  --nd-topo: #3f3a4f;
  --fundo: #eceaf1;
  --papel: #f8f7fa;
  --tinta: #1f1633;
  --tinta-2: #5d5672;
  --linha: #dcd8e4;
  --ouro: var(--nd-roxo-medio);
  --ouro-claro: var(--nd-lilas);
  --marinho: var(--nd-roxo-profundo);
  --ok: #15803d;
  --ok-fundo: #e7f6ec;
  --erro: #b3261e;
  --erro-fundo: #fbe9e7;
  --aviso: #8a5a00;
  --aviso-fundo: #fff4d6;
  --raio: 8px;
  --sombra: 0 1px 2px rgba(31, 22, 51, .06), 0 2px 8px rgba(31, 22, 51, .04);
}
* { box-sizing: border-box; }
html { font-size: 15px; }
body {
  margin: 0; background: var(--fundo); color: var(--tinta);
  font-family: "Urbanist", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.45;
}
a { color: var(--ouro); text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.45rem; margin: 0 0 4px; font-weight: 650; letter-spacing: -.01em; }
h2 { font-size: 1.05rem; margin: 28px 0 10px; font-weight: 650; }
.sub { color: var(--tinta-2); margin: 0 0 20px; }
.mono { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: .86rem; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.muted { color: var(--tinta-2); }
.nowrap { white-space: nowrap; }

/* topo */
.topo {
  background: var(--nd-topo); color: #f3effa; display: flex; align-items: center; gap: 28px;
  padding: 0 24px; min-height: 56px; flex-wrap: wrap;
}
.marca { font-weight: 700; letter-spacing: .02em; color: #fff; display: flex; align-items: center; gap: 10px; }
.marca .selo-assinante { color: #f3effa; }
.selo { font-size: .72rem; border: 1px solid var(--nd-verde); color: var(--nd-verde); padding: 1px 7px; border-radius: 99px; }
.topo nav { display: flex; gap: 4px; flex: 1; flex-wrap: wrap; }
.topo nav a { color: #e6e1f0; padding: 17px 10px; border-bottom: 2px solid transparent; }
.topo nav a:hover { color: #fff; text-decoration: none; }
.topo nav a.ativo { color: #fff; border-bottom-color: var(--nd-verde); }
.conta { display: flex; align-items: center; gap: 12px; font-size: .9rem; color: #d9d0f2; }
.conta form { margin: 0; }
.conta button { background: none; border: 1px solid #5b3d99; color: #ece9f3; padding: 5px 12px; border-radius: 6px; cursor: pointer; }
.conta a { color: #d9d0f2; }

main { max-width: 1280px; margin: 0 auto; padding: 28px 24px 60px; }

/* cartões */
.cartao { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); }
.cartao.pad { padding: 20px 22px; }
.metricas { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin-bottom: 22px; }
.metrica { padding: 16px 18px; }
.metrica b { display: block; font-size: 1.6rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.metrica small { color: var(--tinta-2); }
.barra { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }

/* tabelas */
.tabela-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: .92rem; }
th, td { padding: 9px 12px; border-bottom: 1px solid var(--linha); text-align: left; vertical-align: top; }
th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--tinta-2); font-weight: 600; background: var(--papel); position: sticky; top: 0; }
tbody tr:hover { background: color-mix(in srgb, var(--ouro-claro) 45%, transparent); }
tr.cancelada td { color: var(--tinta-2); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--erro) 60%, transparent); }
tr.cancelada td.sem-risco { text-decoration: none; }
td.acoes { white-space: nowrap; text-align: right; }
td.acoes form { display: inline; }

/* etiquetas */
.tag { display: inline-block; font-size: .75rem; padding: 1px 8px; border-radius: 99px; font-weight: 600; white-space: nowrap; }
.tag.ok { background: var(--ok-fundo); color: var(--ok); }
.tag.erro { background: var(--erro-fundo); color: var(--erro); }
.tag.aviso { background: var(--aviso-fundo); color: var(--aviso); }
.tag.neutra { background: var(--ouro-claro); color: var(--ouro); }

/* mensagens */
.msg { padding: 11px 14px; border-radius: var(--raio); margin-bottom: 14px; border: 1px solid transparent; }
.msg.ok { background: var(--ok-fundo); color: var(--ok); border-color: color-mix(in srgb, var(--ok) 25%, transparent); }
.msg.erro { background: var(--erro-fundo); color: var(--erro); border-color: color-mix(in srgb, var(--erro) 25%, transparent); }
.msg.aviso { background: var(--aviso-fundo); color: var(--aviso); border-color: color-mix(in srgb, var(--aviso) 25%, transparent); }
.msg ul { margin: 0; padding-left: 18px; }

/* formulários */
form.filtros { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; padding: 14px 16px; margin-bottom: 14px; }
label { display: block; font-size: .82rem; color: var(--tinta-2); margin-bottom: 4px; font-weight: 500; }
.campo { margin-bottom: 14px; }
.campo-linha { display: flex; gap: 14px; flex-wrap: wrap; }
.campo-linha .campo { flex: 1; min-width: 160px; }
input[type=text], input[type=tel], input[type=email], input[type=password], input[type=date], input[type=month], input[type=search], select, textarea, input[type=file] {
  width: 100%; padding: 8px 10px; border: 1px solid var(--linha); border-radius: 6px;
  background: var(--fundo); color: var(--tinta); font: inherit;
}
input:focus, select:focus, textarea:focus { outline: 2px solid color-mix(in srgb, var(--ouro) 55%, transparent); outline-offset: 1px; border-color: var(--ouro); }
form.filtros .campo { margin: 0; min-width: 130px; }
form.filtros .campo.largo { min-width: 220px; flex: 1; }
.check { display: flex; align-items: center; gap: 8px; font-size: .92rem; color: var(--tinta); margin-bottom: 8px; }
.check input { width: auto; }
.ajuda { font-size: .82rem; color: var(--tinta-2); margin-top: 4px; }

.btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 15px; border-radius: 6px;
  border: 1px solid var(--marinho); background: var(--marinho); color: #fff; font: inherit; font-weight: 550;
  cursor: pointer; white-space: nowrap;
}
.btn:hover { text-decoration: none; filter: brightness(1.12); }
.btn.sec { background: transparent; color: var(--tinta); border-color: var(--linha); }
.btn.perigo { background: transparent; color: var(--erro); border-color: color-mix(in srgb, var(--erro) 40%, transparent); }
.btn.peq { padding: 4px 10px; font-size: .85rem; }
.btn.ouro { background: var(--ouro); border-color: var(--ouro); color: #fff; }

/* login */
.tela-login { min-height: 100vh; display: grid; place-items: center; padding: 24px; background:
  radial-gradient(1200px 500px at 50% -10%, color-mix(in srgb, var(--ouro) 18%, transparent), transparent), var(--fundo); }
.caixa-login { width: 100%; max-width: 380px; padding: 30px 30px 26px; }
.caixa-login .marca-login { margin-bottom: 6px; }
.caixa-login h1 { font-size: 1.2rem; margin: 18px 0 4px; }
.caixa-login .btn { width: 100%; justify-content: center; padding: 10px; margin-top: 6px; }
.codigo-input { font-size: 1.6rem !important; letter-spacing: .35em; text-align: center; font-variant-numeric: tabular-nums; }
.qr { background: #fff; padding: 10px; border-radius: 8px; width: 200px; margin: 10px auto; }
.qr svg { width: 100%; height: auto; display: block; }
.segredo { text-align: center; word-break: break-all; padding: 8px; background: var(--fundo); border-radius: 6px; }
.rodape-login { text-align: center; color: var(--tinta-2); font-size: .8rem; margin-top: 18px; }

.duas-col { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; }
@media (max-width: 900px) { .duas-col { grid-template-columns: 1fr; } }
dl.dados { display: grid; grid-template-columns: 150px 1fr; gap: 6px 14px; margin: 0; }
dl.dados dt { color: var(--tinta-2); font-size: .88rem; }
dl.dados dd { margin: 0; word-break: break-all; }
.paginacao { display: flex; gap: 10px; align-items: center; justify-content: flex-end; padding: 12px 4px; color: var(--tinta-2); }
.senha-temp { font-size: 1.15rem; padding: 6px 10px; background: var(--papel); border: 1px dashed var(--ok); border-radius: 6px; display: inline-block; margin-top: 6px; }
.senha-temp.link-longo { word-break: break-all; font-size: .9rem; }
.vazio { padding: 40px; text-align: center; color: var(--tinta-2); }
.servicos { display: flex; gap: 4px; flex-wrap: wrap; }
@media (max-width: 700px) {
  .topo { padding: 10px 14px 0; gap: 8px 12px; } main { padding: 20px 14px 40px; }
  .conta { margin-left: auto; }
  .topo nav { order: 3; flex-basis: 100%; flex-wrap: nowrap; overflow-x: auto; }
  .topo nav a { padding: 10px 8px; white-space: nowrap; }
}

/* download em lote */
.lote { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; padding: 14px 16px; margin-bottom: 14px; }
.lote-grupo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0; }
.lote-grupo select { width: auto; min-width: 120px; }
.lote-titulo { font-size: .92rem; }
.lote .ajuda { flex-basis: 100%; margin: 0; }
th.sel, td.sel { width: 34px; padding-right: 0; }
.btn:disabled { opacity: .45; cursor: not-allowed; filter: none; }

td.situacao { min-width: 300px; }
td.situacao div { margin-bottom: 8px; }
td.situacao .ajuda { display: block; margin-top: 2px; }

.lista-empresas { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2px 18px; margin: 6px 0 14px;
  max-height: 260px; overflow-y: auto; padding: 8px 10px; border: 1px solid var(--linha); border-radius: 6px; background: var(--fundo); }
.lista-empresas .check { margin: 4px 0; }
.lista-empresas .ajuda { display: inline; margin-left: 4px; }

/* portal do cliente: guias e arquivos */
.acoes-topo { display: flex; gap: 8px; flex-wrap: wrap; }
a.link-metrica { color: inherit; }
a.link-metrica:hover { text-decoration: none; border-color: var(--ouro); }
.metrica.alerta b { color: var(--erro); }
.zona-envio {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center;
  min-height: 170px; padding: 24px; border: 2px dashed color-mix(in srgb, var(--ouro) 55%, var(--linha)); border-radius: var(--raio);
  background: color-mix(in srgb, var(--ouro-claro) 40%, transparent); color: var(--tinta); font-size: 1rem; cursor: pointer;
}
.zona-envio:hover, .zona-envio.arrastando { background: var(--ouro-claro); border-color: var(--ouro); }
.zona-envio b { color: var(--ouro); }
#qtd-arquivos { font-weight: 600; color: var(--tinta); }
.arquivo-oculto { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
.lista-ajuda { margin: 0 0 12px; padding-left: 18px; font-size: .92rem; }
.lista-ajuda li { margin-bottom: 8px; }
tr.conferir td { background: color-mix(in srgb, var(--aviso-fundo) 70%, transparent); }
.aviso-txt { color: var(--aviso); font-weight: 500; }
.tabela-edicao td { vertical-align: middle; padding: 6px 8px; }
.tabela-edicao select, .tabela-edicao input[type=text], .tabela-edicao input[type=date], .tabela-edicao input[type=month] { padding: 5px 7px; font-size: .88rem; min-width: 120px; }
.tabela-edicao td:nth-child(3) select { min-width: 210px; }
.tabela-edicao .campo-valor { min-width: 100px; width: 110px; text-align: right; }
.col-arquivo { max-width: 240px; word-break: break-word; }
a.aviso-guias { display: block; text-decoration: none; }
a.aviso-guias:hover { filter: brightness(.98); }
.form-reenviar { text-align: center; margin-top: 12px; }
.link-botao { background: none; border: 0; color: var(--ouro); font: inherit; font-size: .9rem; cursor: pointer; padding: 4px; }
.link-botao:hover { text-decoration: underline; }

/* visualização "ver como cliente" */
.faixa-previa { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: center; gap: 16px;
  flex-wrap: wrap; padding: 9px 16px; background: var(--nd-verde); color: var(--nd-roxo-profundo); font-size: .92rem; }
.faixa-previa form { margin: 0; }
.faixa-previa .btn { background: var(--nd-roxo-profundo); border-color: var(--nd-roxo-profundo); color: #fff; }
.modo-previa .topo { border-top: 3px solid var(--nd-verde); }
.selo-assinante { color: #f3effa !important; font-weight: 500; font-size: .85rem; border-left: 1px solid #5b3d99; padding-left: 10px; }
.destaque-cobranca { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; border-left: 4px solid var(--ouro); }
.destaque-cobranca .grande { font-size: 1.6rem; font-weight: 650; margin: 2px 0; }
.topo { gap: 18px; }
.topo nav a { padding: 17px 8px; font-size: .95rem; white-space: nowrap; }
.topo nav { flex-wrap: nowrap; overflow-x: auto; }
/* emissão */
.cards-emissao { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-bottom: 8px; }
a.card-emissao { display: block; padding: 20px 22px; color: inherit; }
a.card-emissao:hover { text-decoration: none; border-color: var(--ouro); }
.card-emissao h2 { margin: 10px 0 6px; font-size: 1.1rem; }
.card-emissao p { margin: 0; color: var(--tinta-2); font-size: .92rem; }
.card-emissao.pronto { border-left: 4px solid var(--ok); }
.lista-simples-l { margin: 0; padding-left: 18px; }
.lista-simples-l li { margin-bottom: 8px; }

/* Emissão: abas, cadastro fiscal e clientes */
.abas { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 1px solid var(--linha); margin: -6px 0 22px; }
.abas a { padding: 9px 14px; color: var(--tinta-2); text-decoration: none; font-weight: 600; font-size: .92rem;
  border-bottom: 3px solid transparent; margin-bottom: -1px; }
.abas a:hover { color: var(--tinta); }
.abas a.ativa { color: var(--tinta); border-bottom-color: var(--ouro); }
.campo-linha .campo.curto { flex: 0 0 90px; min-width: 90px; }
.campo-linha .campo.medio { flex: 0 1 170px; min-width: 130px; }
h2.topo0 { margin-top: 0; }
.acoes-form { display: flex; gap: 10px; flex-wrap: wrap; }
.check[hidden] { display: none; }

/* Painel (modelo 3) */
.metrica small { display: block; }
.metrica b .unid { font-size: .9rem; font-weight: 500; color: var(--tinta-2); }
.metrica .variacao { display: block; font-size: .8rem; color: var(--tinta-2); margin-top: 2px; }
.metrica .variacao.sobe { color: var(--ok); }
.metrica .variacao.desce { color: var(--erro); }
.painel-grade { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 16px; margin-bottom: 24px; }
@media (max-width: 860px) { .painel-grade { grid-template-columns: 1fr; } }
.painel-grade h2 { margin: 0 0 8px; font-size: 1.05rem; }
.coluna-lateral { display: flex; flex-direction: column; gap: 16px; }
.barra-grafico { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.barra-grafico .legenda { margin-left: auto; display: flex; gap: 14px; font-size: .85rem; color: var(--tinta-2); }
.legenda i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; vertical-align: middle; margin-right: 6px; }
.legenda .serie-rec i { background: var(--marinho); }
.legenda .serie-emi i { background: var(--ouro); }
.grafico svg { width: 100%; height: auto; display: block; margin-top: 6px; }
.grafico .grade { stroke: var(--linha); stroke-width: 1; }
.grafico .eixo { fill: var(--tinta-2); font-size: 11px; }
.grafico polyline { fill: none; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.grafico polyline.serie-rec { stroke: var(--marinho); }
.grafico polyline.serie-emi { stroke: var(--ouro); }
.grafico circle { stroke: var(--papel); stroke-width: 2; }
.grafico circle.serie-rec { fill: var(--marinho); }
.grafico circle.serie-emi { fill: var(--ouro); }
.cartao-cobranca { border-top: 3px solid var(--ouro); }
.cartao-cobranca p { margin: 0 0 6px; }
.cartao-cobranca .venc-grande { font-size: 1.35rem; font-weight: 650; color: var(--tinta); }
.cartao-cobranca .btn { margin-top: 6px; }
.lista-venc { list-style: none; margin: 0; padding: 0; }
.lista-venc li { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; border-top: 1px solid var(--linha); font-size: .92rem; }
.lista-venc li:first-child { border-top: 0; }
.lista-venc small { color: var(--tinta-2); }
.lista-venc .data-venc { flex: 0 0 auto; font-variant-numeric: tabular-nums; font-weight: 600; background: var(--ouro-claro);
  color: var(--aviso); border-radius: 6px; padding: 1px 7px; font-size: .82rem; }
.lista-venc .data-venc.hoje { background: var(--erro-fundo); color: var(--erro); }
.lista-venc .data-venc.a-receber { background: var(--ok-fundo); color: var(--ok); }
.barra-consulta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.barra-consulta h2 { margin: 0; }
.js-consulta-aviso.erro { color: var(--erro); }
.campo-botao { display: flex; align-items: flex-end; flex: 0 0 auto !important; min-width: 0 !important; }
.form-importar { display: flex; gap: 8px; align-items: center; }
.acoes-topo { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* Ofertas e serviços */
.oferta-cert { display: flex; align-items: center; gap: 16px; padding: 16px 20px; margin-bottom: 18px;
  border-left: 4px solid var(--ouro); background: linear-gradient(90deg, var(--ouro-claro), var(--papel) 70%); flex-wrap: wrap; }
.oferta-cert-icone { font-size: 1.8rem; }
.oferta-cert-texto { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 3px; }
.oferta-cert-texto span { color: var(--tinta-2); }
.oferta-cert s, .oferta s, .preco s { color: var(--tinta-2); font-weight: 400; }
.cards-ofertas { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-bottom: 16px; }
.oferta { padding: 18px 20px; display: flex; flex-direction: column; gap: 8px; position: relative; }
.oferta h2 { margin: 0; font-size: 1.05rem; }
.oferta p { margin: 0; color: var(--tinta-2); flex: 1; }
.oferta .btn { align-self: flex-start; }
.oferta-destaque { border-top: 3px solid var(--ouro); }
.oferta .preco, .preco { color: var(--tinta); font-size: 1.15rem; flex: 0; }
.ouro-tag { background: var(--ouro-claro); color: var(--aviso); align-self: flex-start; }
.pedido-ok { max-width: 620px; }
.lista-pedidos { display: flex; flex-direction: column; gap: 12px; }
.pedido-topo { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; margin-bottom: 8px; }
.pedido-acoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.pedido-acoes input[type=text] { flex: 1; min-width: 200px; }
.oferta-edicao { margin-top: 12px; }

/* Assistente de ajuda */
.botao-ajuda { position: fixed; right: 18px; bottom: 18px; z-index: 50; background: var(--marinho); color: #fff;
  border-radius: 999px; padding: 10px 16px; font-weight: 700; text-decoration: none; box-shadow: 0 4px 14px rgba(0,0,0,.18); }
.botao-ajuda:hover { background: var(--ouro); color: #fff; }
.botao-ajuda span { font-weight: 600; margin-left: 4px; }
.ajuda-grade { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr); gap: 16px; align-items: start; }
@media (max-width: 860px) { .ajuda-grade { grid-template-columns: 1fr; } }
.chat { display: flex; flex-direction: column; min-height: 520px; }
.chat-msgs { flex: 1; overflow-y: auto; max-height: 60vh; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.msg-bot, .msg-eu { max-width: 88%; padding: 10px 14px; border-radius: 12px; line-height: 1.45; }
.msg-bot { background: var(--fundo); align-self: flex-start; border-top-left-radius: 4px; }
.msg-eu { background: var(--marinho); color: #fff; align-self: flex-end; border-top-right-radius: 4px; }
.msg-bot p, .msg-eu p { margin: 0 0 6px; }
.msg-bot p:last-child, .msg-eu p:last-child { margin-bottom: 0; }
.msg-bot.pensando { color: var(--tinta-2); font-style: italic; }
.sugestoes, .veja-tambem { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; font-size: .85rem; color: var(--tinta-2); align-items: center; }
.chip { border: 1px solid var(--linha); background: var(--papel); border-radius: 999px; padding: 4px 10px; cursor: pointer;
  font: inherit; font-size: .85rem; color: var(--tinta); }
.chip:hover { border-color: var(--ouro); }
.btn-whats { margin-top: 8px; display: inline-block; }
.chat-form { display: flex; gap: 10px; padding: 12px 14px; border-top: 1px solid var(--linha); align-items: flex-end; }
.chat-form textarea { flex: 1; resize: vertical; }
.chat-rodape { padding: 0 14px 12px; margin: 0; }
.artigos h3 { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--tinta-2); margin: 16px 0 6px; }
.artigos details { border-top: 1px solid var(--linha); padding: 8px 0; }
.artigos summary { cursor: pointer; font-weight: 600; font-size: .93rem; }
.art-texto { white-space: pre-line; color: var(--tinta-2); font-size: .9rem; margin-top: 6px; }
.pedido-acoes select { width: auto; flex: 0 0 auto; }

/* Dentro da empresa (equipe trabalhando numa empresa só) */
.faixa-foco { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; justify-content: center; gap: 16px;
  flex-wrap: wrap; padding: 8px 16px; background: var(--nd-verde-escuro); color: #fff; font-size: .92rem; }
.faixa-foco form { margin: 0; }
.faixa-foco .btn { background: #fff; color: var(--nd-verde-escuro); border-color: #fff; }
.topo-foco { border-bottom: 3px solid var(--nd-verde-escuro); }
.conta .btn-entrar-gold { border-color: var(--ouro); color: #bbf7d0; font-weight: 600; }
.conta .btn-entrar-gold:hover { background: var(--ouro); color: #fff; }
.cert-linha { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: 20px; margin-bottom: 14px; align-items: start; }
@media (max-width: 760px) { .cert-linha { grid-template-columns: 1fr; } }
.cert-info p { margin: 4px 0; }
.cert-envio .campo { margin-bottom: 10px; }
.oferta-cert-mini { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; border-left: 4px solid var(--ouro); }
.oferta-cert-botoes { display: flex; flex-direction: column; gap: 6px; align-items: stretch; text-align: center; }
.importar-produtos { margin-bottom: 14px; }
.importar-produtos summary { cursor: pointer; }
.form-importar-xml { margin-top: 12px; }

/* Assinatura (teste grátis, plano, Pix) */
.faixa-assinatura { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap;
  padding: 8px 16px; background: var(--aviso-fundo); color: var(--aviso); font-size: .92rem; font-weight: 600; }
.faixa-assinatura.vencendo { background: var(--erro-fundo); color: var(--erro); }
.uso-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-bottom: 16px; }
.uso-num { font-size: 1.5rem; font-weight: 700; margin-top: 2px; }
.uso-de { font-size: .95rem; font-weight: 500; color: var(--tinta-2); }
.alerta-limite { color: var(--erro); font-weight: 600; }
.pagar-caixa { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.planos-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-bottom: 12px; }
.plano-cartao.atual { border: 2px solid var(--ouro); }
.plano-nome { font-weight: 700; font-size: 1.1rem; }
.plano-preco { font-size: 1.6rem; font-weight: 750; margin: 6px 0; }
.plano-preco span { font-size: .9rem; font-weight: 500; color: var(--tinta-2); }
.plano-cartao ul { padding-left: 18px; margin: 8px 0 14px; color: var(--tinta-2); }
.pix-linha { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 760px) { .pix-linha { grid-template-columns: 1fr; } }
.pix-qr { background: #fff; display: flex; justify-content: center; }
.pix-qr svg { width: 100%; max-width: 260px; height: auto; }
.pix-codigo { width: 100%; word-break: break-all; resize: none; }
.passos-pix { padding-left: 20px; margin-top: 0; }
.passos-pix li { margin-bottom: 6px; }
.sem-margem { margin-top: 0; }
.logo-previa { max-height: 70px; max-width: 220px; display: block; margin-bottom: 6px; background: #fff; padding: 4px; border: 1px solid var(--linha); border-radius: 6px; }
.bloco-emitidas { margin-bottom: 12px; }
.itens-locacao td input { width: 100%; }
.itens-locacao .col-qtd { width: 90px; } .itens-locacao .col-val { width: 130px; } .itens-locacao .col-tot { width: 120px; }
.campo-peq { width: 120px; padding: 4px 8px; font-size: .85rem; }
.resumo-pref { text-decoration: none !important; color: inherit; } .resumo-pref.ativo { border: 2px solid var(--ouro); }

/* atendimento e sugestões */
.contador { display: inline-block; min-width: 18px; padding: 0 5px; border-radius: 99px; background: var(--erro); color: #fff;
  font-size: .72rem; font-weight: 700; line-height: 18px; text-align: center; vertical-align: 1px; }
.atend-grade { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 16px; align-items: start; }
@media (max-width: 860px) { .atend-grade { grid-template-columns: 1fr; } }
.atend-chat .chat-msgs { max-height: 62vh; min-height: 320px; }
.msg-sis { align-self: center; font-size: .85rem; color: var(--tinta-2); background: var(--ouro-claro); padding: 6px 12px; border-radius: 99px; max-width: 92%; text-align: center; }
.msg-meta { display: block; font-size: .74rem; opacity: .75; margin-top: 4px; }
.msg-bot .msg-meta { color: var(--tinta-2); }
.msg-texto { white-space: pre-wrap; word-break: break-word; margin: 0; }
.atend-info dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0; font-size: .92rem; }
.atend-info dt { color: var(--tinta-2); }
.atend-info dd { margin: 0; }
.espera-alta { color: var(--erro); font-weight: 700; }
.espera-media { color: var(--aviso); font-weight: 600; }
.avaliacao { border-top: 3px solid var(--ouro); }
.estrelas { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0 12px; }
.estrelas label { display: inline-flex; align-items: center; gap: 4px; border: 1px solid var(--linha); border-radius: 8px; padding: 6px 10px; cursor: pointer; margin: 0; font-size: .95rem; color: var(--tinta); }
.estrelas input { margin: 0; }
.notas-barras { list-style: none; padding: 0; margin: 0; }
.notas-barras li { display: grid; grid-template-columns: 36px 1fr 36px; gap: 8px; align-items: center; margin-bottom: 4px; font-size: .88rem; }
.notas-barras meter { width: 100%; height: 10px; }
.ultima-msg { color: var(--tinta-2); font-size: .85rem; max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sug-item { margin-bottom: 12px; }
.sug-item.destaque { border-left: 4px solid var(--ouro); }
.sug-topo { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: baseline; }
.sug-ia { background: var(--fundo); border-radius: 8px; padding: 8px 12px; margin: 8px 0; font-size: .9rem; }
.sug-form { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 10px; align-items: end; }
@media (max-width: 760px) { .sug-form { grid-template-columns: 1fr; } }
.sug-form textarea { min-height: 40px; }
.link-indique { color: #bbf7d0 !important; font-weight: 600; white-space: nowrap; }
.indique-grade { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; margin-bottom: 20px; align-items: start; }
@media (max-width: 860px) { .indique-grade { grid-template-columns: 1fr; } }
.indique-grade .metricas { grid-template-columns: 1fr; margin: 0; }
.codigo-grande { font-size: 2.2rem; font-weight: 750; letter-spacing: .12em; color: var(--ouro); margin: 2px 0 14px; }
.campo-copiar { display: flex; gap: 8px; margin-bottom: 12px; }
.campo-copiar input { flex: 1; min-width: 0; }
.form-perfil { display: inline-flex !important; gap: 4px; align-items: center; }
.link-cartao { text-decoration: none !important; color: inherit; display: block; }
.link-cartao:hover { border-color: var(--ouro); }
.linha-rank { display: flex; justify-content: space-between; gap: 10px; margin: 0 0 6px; font-size: .92rem; }
.linha-rank span { overflow: hidden; text-overflow: ellipsis; }
.pedido-cab { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px 18px; margin-bottom: 14px; }
.pedido-cab dt { color: var(--tinta-2); font-size: .8rem; }
.pedido-cab dd { margin: 0; font-weight: 600; }
.entrada-acoes { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; justify-content: flex-end; }
.entrada-acoes form { display: flex !important; gap: 6px; align-items: center; }
.entrada-acoes input, .entrada-acoes select { padding: 4px 8px; font-size: .85rem; max-width: 190px; }
.menu-conta { position: relative; }
.menu-conta summary { list-style: none; cursor: pointer; color: #ece9f3; padding: 5px 10px; border-radius: 6px; white-space: nowrap; }
.menu-conta summary::-webkit-details-marker { display: none; }
.menu-conta[open] summary, .menu-conta summary:hover { background: #3b1a7a; }
.menu-conta-lista { position: absolute; right: 0; top: calc(100% + 6px); z-index: 50; min-width: 210px; background: var(--papel);
  border: 1px solid var(--linha); border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 6px; display: flex; flex-direction: column; }
.conta .menu-conta-lista a { color: var(--tinta); padding: 8px 12px; border-radius: 6px; }
.conta .menu-conta-lista a:hover { background: var(--ouro-claro); text-decoration: none; }
.cartao + .duas-col, .duas-col + .cartao { margin-top: 16px; } .duas-col > .cartao { margin: 0; }
.faturar-manual { margin-top: 12px; } .faturar-manual summary { cursor: pointer; color: var(--tinta-2); font-size: .9rem; margin-bottom: 8px; }
.campo-copiar.sem-margem { margin: 0; min-width: 260px; }
.conta .menu-conta-lista a.menu-codigo { display: flex; flex-direction: column; font-size: .8rem; color: var(--tinta-2); border-bottom: 1px solid var(--linha); border-radius: 6px 6px 0 0; margin-bottom: 4px; } .menu-codigo b { font-size: 1.05rem; color: var(--ouro); letter-spacing: .08em; }
.msg-anexo { margin-top: 6px; font-size: .88rem; }
.msg-anexo img { display: block; max-width: 260px; max-height: 200px; border-radius: 8px; border: 1px solid var(--linha); margin-bottom: 4px; background: #fff; }
.msg-eu .msg-anexo a { color: #bbf7d0; }
.anexar { position: relative; overflow: hidden; cursor: pointer; }
.anexar input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.chat-form .acoes-form { align-items: center; }
/* trilha de aprendizagem */
.faixa-trilha { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; padding: 8px 16px;
  background: var(--ouro-claro); color: var(--tinta); font-size: .92rem; font-weight: 600; border-bottom: 1px solid var(--linha); }
.faixa-trilha progress { width: 140px; }
.trilha-topo { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.trilha-prog { display: flex; align-items: center; gap: 12px; }
.trilha-prog progress { width: 220px; height: 12px; }
.trilha-lista { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.trilha-lista li a { display: flex; gap: 12px; align-items: center; padding: 14px 16px; color: inherit; text-decoration: none; }
.trilha-lista li a small { display: block; color: var(--tinta-2); font-size: .8rem; margin-top: 2px; }
.trilha-lista li.visto { border-color: color-mix(in srgb, var(--ok) 40%, transparent); }
.trilha-ico { font-size: 1.4rem; width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--fundo); flex: 0 0 auto; }
.trilha-lista li.visto .trilha-ico { color: var(--ok); font-weight: 800; }
.trilha-ico.grande { font-size: 2rem; width: 56px; height: 56px; }
.trilha-cab { display: flex; align-items: center; gap: 14px; }
.trilha-cab h1 { margin: 0; }
.trilha-topico { max-width: 820px; }
.trilha-topico h2 { font-size: 1rem; margin: 18px 0 4px; color: var(--ouro); }
.trilha-topico p, .trilha-topico li { line-height: 1.55; }
/* notificações */
.sino { font-size: 1.1rem; text-decoration: none !important; white-space: nowrap; opacity: .75; }
.sino.com-aviso { opacity: 1; }
.filtro-tipos { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.filtro-tipos .chip { text-decoration: none; }
.filtro-tipos .chip.ativo { background: var(--ouro); color: #fff; border-color: var(--ouro); }
.lista-notif { overflow: hidden; }
.notif { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: start; padding: 12px 16px; border-bottom: 1px solid var(--linha); color: inherit; text-decoration: none !important; }
.notif:last-child { border-bottom: 0; }
.notif:hover { background: color-mix(in srgb, var(--ouro-claro) 45%, transparent); }
.notif.nova { background: color-mix(in srgb, var(--ouro-claro) 60%, transparent); }
.notif.nova b::before { content: "● "; color: var(--ouro); }
.notif-ico { font-size: 1.3rem; }
.notif-corpo small { display: block; color: var(--tinta-2); white-space: pre-line; margin-top: 2px; }
.notif-quando { color: var(--tinta-2); font-size: .82rem; white-space: nowrap; }
.barras-fat { width: 40%; }
.barras-fat meter { display: block; width: 100%; height: 8px; margin: 2px 0; }
.zona-perigo { border-color: color-mix(in srgb, var(--erro) 40%, transparent); }

/* marca NotaDex (ícone + nome com o "o" de nota conferida) */
.nd-marca { display: inline-flex; align-items: center; gap: 10px; font-family: "Urbanist", "Segoe UI", sans-serif; font-weight: 800;
  letter-spacing: -.02em; line-height: 1; color: inherit; text-decoration: none !important; }
.nd-icone { width: 30px; height: 30px; flex: 0 0 auto; }
.nd-nome { display: inline-flex; align-items: baseline; font-size: 1.5rem; }
.nd-o { width: .62em; height: .62em; margin: 0 .03em -.01em; }
.nd-escuro { color: #fff; } .nd-escuro .nd-dex { color: var(--nd-verde); }
.nd-claro { color: var(--nd-roxo-profundo); } .nd-claro .nd-dex { color: var(--nd-verde-escuro); }
.marca-login .nd-icone { width: 44px; height: 44px; } .marca-login .nd-nome { font-size: 2.2rem; }
.marca .nd-dex { color: var(--nd-verde); }
.msg-login { margin-top: 14px; }
.rodape-login-topo { margin-top: 12px; }
/* NF-e */
.grade-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; margin: 16px 0; }
.grade-2 > .cartao { margin: 0; }
.acoes-linha { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; }
.acoes-linha form { margin: 0; }
.resumo-tot { font-size: .95rem; }
.resumo-tot td { padding: 6px 4px; }

/* Como resolver / erros na emissão */
.como-resolver { border-left: 4px solid var(--ouro, #7c3aed); margin: 12px 0; }
.resolver-item + .resolver-item { border-top: 1px solid rgba(0,0,0,.08); margin-top: 14px; padding-top: 14px; }
.resolver-item h3 { margin: 0 0 4px; }
.resolver-item ol, .erro-artigo ol { margin: 6px 0 10px 20px; }
.erro-artigo { padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.08); scroll-margin-top: 80px; }
.erro-artigo:last-child { border-bottom: 0; }
.erro-artigo h2 { font-size: 1.1rem; margin: 0 0 6px; }

/* Linha do tempo da nota */
.linha-tempo summary { cursor: pointer; }
.linha-tempo .tempo { margin: 10px 0 0 18px; padding: 0; }
.linha-tempo .tempo li { margin: 4px 0; }
.linha-tempo .tempo-autorizada b { color: var(--ok, #15803d); }
.linha-tempo .tempo-rejeitada b, .linha-tempo .tempo-erro_envio b, .linha-tempo .tempo-denegada b { color: var(--erro, #b3261e); }

/* ===== Financeiro (só Gold) ===== */
main input:not([type]) { width: 100%; padding: 8px 10px; border: 1px solid var(--linha); border-radius: 6px; background: var(--fundo); color: var(--tinta); font: inherit; }
.grade-campos { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px 16px; align-items: end; margin-bottom: 14px; }
.grade-campos .largo, .form-fin > .largo { grid-column: 1 / -1; }
.grade-campos .acoes, .form-fin .acoes { display: flex; gap: 10px; align-items: center; justify-content: flex-end; grid-column: 1 / -1; }
.form-fin textarea { margin-bottom: 12px; }
.sem-margem-topo { margin-top: 0; }
.linha-cat { display: grid; grid-template-columns: minmax(0, 2fr) minmax(120px, 1fr); gap: 10px; margin-bottom: 8px; max-width: 640px; }
.receita { color: var(--ok); }
.despesa, .neg { color: var(--erro); }
.fin-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 16px; margin-bottom: 16px; }
.fin-bloco h2 { margin: 0 0 8px; }
.fin-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fin-card { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 22px 12px; min-height: 120px; color: var(--tinta); }
.fin-card:hover { text-decoration: none; border-color: var(--ouro); }
.fin-valor { font-size: 1.7rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.fin-card span { font-weight: 650; margin-top: 4px; }
.fin-card small { color: var(--tinta-2); }
.fin-grade { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 1.2fr) minmax(0, 1.2fr); gap: 16px; margin-bottom: 16px; align-items: start; }
@media (max-width: 1100px) { .fin-grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .fin-grade, .fin-cards { grid-template-columns: 1fr; } .fin-resumo { grid-template-columns: 1fr; } }
.fin-total { text-align: center; font-size: 1.5rem; font-weight: 700; margin: 6px 0 14px; font-variant-numeric: tabular-nums; }
.fin-total small { display: block; font-size: .85rem; font-weight: 400; color: var(--tinta-2); }
.fin-conta { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--linha); border-radius: var(--raio); margin-bottom: 8px; color: var(--tinta); }
.fin-conta:hover { text-decoration: none; border-color: var(--ouro); }
.fin-conta-ico { width: 34px; height: 34px; border-radius: 8px; background: var(--ouro); color: #fff; display: grid; place-items: center; font-size: .8rem; font-weight: 700; flex: 0 0 34px; }
.fin-conta-ico.invest { background: var(--nd-verde-escuro); }
.fin-conta-ico.com-logo { background: #fff; border: 1px solid var(--linha); overflow: hidden; padding: 2px; }
.fin-conta-ico img { width: 100%; height: 100%; object-fit: contain; border-radius: 6px; }
.fin-conta-ico.mini { width: 20px; height: 20px; flex-basis: 20px; border-radius: 5px; font-size: .6rem; display: inline-grid;
  vertical-align: middle; margin-right: 6px; }
.fin-conta-ico.mini.com-logo { padding: 1px; }
.fin-conta-topo { display: flex; align-items: center; gap: 10px; }
/* cores dos bancos (só o fundo do ícone com as iniciais) */
.banco-nubank { background: #820ad1; }
.banco-bb { background: #fcd116; color: #003da5; }
.banco-cora { background: #fe3e6d; }
.banco-caixa { background: #005ca9; }
.banco-itau { background: #ec7000; }
.banco-bradesco { background: #cc092f; }
.banco-santander { background: #ec0000; }
.banco-inter { background: #ff7a00; }
.banco-c6 { background: #242424; }
.banco-sicoob { background: #003641; }
.banco-sicredi { background: #3fa110; }
.banco-mercadopago { background: #009ee3; }
.banco-pagbank { background: #1bb99a; }
.banco-btg { background: #0b2a4a; }
.banco-safra { background: #1d2f5c; }
.banco-picpay { background: #11c76f; }
.banco-stone { background: #00a868; }
.banco-banrisul { background: #0060a9; }
.banco-xp { background: #111; }
.banco-neon { background: #00c2e0; color: #0b1f33; }
.banco-asaas { background: #0030b9; }
.banco-original { background: #00a651; }
.banco-infinitepay { background: #111; }
.fin-conta-nome { flex: 1; min-width: 0; font-weight: 600; }
.fin-conta-nome small { display: block; color: var(--tinta-2); font-weight: 400; }
.fin-conta b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.grafico .zero { stroke: var(--tinta-2); stroke-width: 1; }
.fin-barra.entrada { fill: #22c55e; }
.fin-barra.saida { fill: #ef4466; }
.grafico polyline.fin-saldo { stroke: #334e68; }
.grafico circle.fin-saldo { fill: #334e68; }
.grafico circle.fin-saldo.previsto { fill: var(--papel); stroke: #334e68; stroke-width: 1.5; }
.legenda { display: flex; gap: 14px; font-size: .82rem; color: var(--tinta-2); margin-top: 6px; }
.legenda .fin-l-saldo i { background: #334e68; }
.legenda .fin-l-ent i { background: #22c55e; height: 10px; }
.legenda .fin-l-sai i { background: #ef4466; height: 10px; }
.fin-mes { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.fin-mes b { min-width: 170px; text-align: center; }
.fin-voltar-hoje { font-size: .9rem; }
.fin-periodos { display: flex; flex-wrap: wrap; gap: 6px; align-items: flex-start; margin: 0 0 12px; }
.fin-chip { display: inline-block; padding: 5px 12px; border: 1px solid var(--linha); border-radius: 999px;
  background: var(--papel); color: var(--tinta-2); font-size: .9rem; cursor: pointer; list-style: none; }
.fin-chip::-webkit-details-marker { display: none; }
.fin-chip:hover { border-color: var(--ouro); color: var(--ouro); text-decoration: none; }
.fin-chip.ativo { background: var(--ouro); border-color: var(--ouro); color: #fff; }
.fin-livre { position: relative; }
.fin-livre-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-top: 8px; padding: 10px;
  background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); }
.fin-livre-form label { display: flex; flex-direction: column; font-size: .85rem; color: var(--tinta-2); }
.fin-livre-form input { width: auto; }
tr.linha-atraso td:nth-child(2) { color: var(--erro); font-weight: 600; }
tr.linha-perdida td { color: var(--tinta-2); text-decoration: line-through; }
.fin-baixa-lote { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 12px 0; font-size: .9rem; }
.fin-baixa-lote input, .fin-baixa-lote select { width: auto; }
.fin-mov { padding: 12px 16px; margin-bottom: 10px; }
.fin-mov.feito { opacity: .75; }
.fin-mov-topo { display: flex; gap: 14px; align-items: baseline; }
.fin-mov-desc { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.fin-mov-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.fin-mov-acoes form { margin: 0; }
.fin-lancar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.fin-lancar select { width: auto; max-width: 260px; }
.fin-lancar input { width: 170px; }
.fin-lancar input.curto { width: 140px; }
.fin-lancar .check { margin: 0; font-size: .82rem; }
.fin-mov details.mais { font-size: .85rem; }
.fin-mov details.mais form { display: flex; gap: 6px; align-items: center; margin-top: 6px; }
.fin-mov details.mais select { width: auto; }
.fin-desfazer { margin-top: 6px; }
.barra-filtro { display: flex; gap: 6px; margin: 4px 0 12px; }
.ajuda-ofx { margin-top: 10px; font-size: .85rem; }
.fin-dre { font-size: .84rem; }
.fin-dre th, .fin-dre td { padding: 6px 8px; }
.fin-dre tr.grupo th, .fin-dre tr.grupo td { background: color-mix(in srgb, var(--ouro-claro) 55%, transparent); font-weight: 650; text-transform: none; letter-spacing: 0; font-size: .86rem; color: var(--tinta); position: static; }
.fin-dre tr.item td:first-child { padding-left: 22px; color: var(--tinta-2); }
.fin-dre tr.resultado th, .fin-dre tr.resultado td { font-weight: 750; border-top: 2px solid var(--tinta-2); text-transform: none; letter-spacing: 0; font-size: .88rem; color: var(--tinta); position: static; }
.fin-dre tr.fora th { font-style: italic; }
tr.falta td { background: var(--aviso-fundo); }
tr.fin-sub td { color: var(--tinta-2); }
tr.fin-sub td:first-child { color: transparent; }
.passos { padding-left: 20px; }
.passos li { margin-bottom: 6px; }
.fin-conta-form { margin-bottom: 10px; padding: 14px 18px; }
.acoes.pad { padding: 12px 18px; display: flex; justify-content: space-between; align-items: center; }
.fin-filtros select, .fin-filtros input { width: auto; min-width: 170px; }
.fin-filtros input[type=search] { min-width: 240px; }
.fin-mov .fin-lancar input:not([type]) { width: 180px; }
.fin-mov .fin-lancar input.curto:not([type]) { width: 150px; }
.fin-mov .fin-lancar label.check { display: inline-flex; width: auto; }
.fin-mov .fin-lancar label.check input { width: auto; }
.fin-serie { margin: 6px 0 14px; padding: 12px 16px; background: var(--ouro-claro); }

/* ---------- conciliação lado a lado ---------- */
.fin-conc-barra { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.fin-conc-barra form { margin: 0; }
.fin-enviar { position: relative; }
.fin-enviar summary { list-style: none; }
.fin-enviar summary::-webkit-details-marker { display: none; }
.fin-enviar > form { position: absolute; z-index: 5; right: 0; top: calc(100% + 6px); width: min(420px, 90vw); box-shadow: var(--sombra); }
.fin-conc-abas { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 12px; overflow: hidden; }
.fin-conc-abas a { display: flex; flex-direction: column; align-items: center; padding: 10px; color: var(--tinta-2); border-top: 3px solid transparent; }
.fin-conc-abas a + a { border-left: 1px solid var(--linha); }
.fin-conc-abas a:hover { text-decoration: none; background: var(--fundo); }
.fin-conc-abas a.ativo { border-top-color: var(--ouro); color: var(--tinta); }
.fin-conc-abas b { font-size: 1.3rem; color: var(--ouro); }
.fin-conc-abas b.receita { color: var(--ok); }
.fin-conc-abas b.despesa { color: var(--erro); }
.fin-par { display: grid; grid-template-columns: minmax(0, 1fr) 130px minmax(0, 1fr); gap: 14px; align-items: stretch; margin-bottom: 14px; }
.fin-par-cab { margin-bottom: 6px; }
.fin-par-cab h2 { margin: 0; font-size: 1.05rem; display: flex; align-items: center; }
.fin-lado { display: flex; flex-direction: column; padding: 0; border-top: 4px solid var(--linha); overflow: hidden; }
.fin-lado.ok { border-top-color: var(--nd-verde); }
.fin-lado.vazio-lado { border-top-style: dashed; }
.fin-lado-topo { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--linha); }
.fin-lado-topo > b { font-size: 1.15rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fin-lado-corpo { padding: 12px 16px; flex: 1; }
.fin-lado-corpo p { margin: 0 0 6px; overflow-wrap: anywhere; }
.fin-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.fin-lado-pe { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 10px 16px; border-top: 1px solid var(--linha); }
.fin-lado-pe form { margin: 0; }
.fin-meio { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.fin-meio form { margin: 0; }
.fin-selo { font-size: .8rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: var(--fundo); color: var(--tinta-2); border: 1px solid var(--linha); }
.fin-selo.ok { background: var(--ok-fundo); color: var(--ok); border-color: #b7e4c4; }
.fin-selo.aviso { background: var(--aviso-fundo); color: var(--aviso); border-color: #f0dca0; }
.fin-seta { font-size: 1.6rem; color: var(--tinta-2); line-height: 1; }
.fin-novo { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; padding: 12px 16px; }
.fin-novo label { display: flex; flex-direction: column; font-size: .85rem; color: var(--tinta-2); }
.fin-novo .largo { grid-column: 1 / -1; }
.fin-novo label.check { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px; }
.fin-novo label.check input[type=checkbox] { width: auto; }
.fin-novo label.check input.curto { width: 180px; }
.fin-novo .acoes { display: flex; justify-content: flex-end; }
.fin-novo-tit { grid-column: 1 / -1; }
.fin-alt { padding: 0 16px 12px; font-size: .9rem; }
.fin-alt summary { cursor: pointer; color: var(--ouro); padding-top: 4px; }
.fin-alt .fin-novo { padding: 10px 0 0; }
.fin-alt-linha { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin-top: 10px; }
.fin-alt-linha label { display: flex; flex-direction: column; font-size: .85rem; color: var(--tinta-2); flex: 1; min-width: 200px; }
.fin-alt-linha small { flex-basis: 100%; }
@media (max-width: 860px) {
  .fin-par { grid-template-columns: 1fr; gap: 8px; }
  .fin-par-cab { display: none; }
  .fin-meio { flex-direction: row; }
  .fin-campos, .fin-novo { grid-template-columns: 1fr; }
}
.fin-outro-banco { margin: 8px 0 4px; padding: 8px 10px; border-radius: var(--raio); background: var(--aviso-fundo); color: var(--aviso); font-size: .88rem; }
.fin-outro-banco form { margin-top: 6px; }
.fin-informar { position: relative; display: inline-block; text-align: left; }
.fin-informar summary { list-style: none; }
.fin-informar summary::-webkit-details-marker { display: none; }
.fin-informar[open] > summary::before { content: ""; position: fixed; inset: 0; background: rgba(31, 22, 51, .35); z-index: 40; cursor: default; }
.fin-informar-caixa { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 41; width: min(320px, 92vw); display: flex; flex-direction: column; gap: 8px;
  padding: 12px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: 0 6px 20px rgba(31, 22, 51, .15); }
.fin-informar-caixa label { display: flex; flex-direction: column; font-size: .82rem; color: var(--tinta-2); }

/* ---------- fluxo de caixa detalhado ---------- */
.fin-ver-mais { font-size: .85rem; font-weight: 500; margin-left: 8px; }
.fin-fluxo-filtros label.check { display: inline-flex; align-items: center; gap: 6px; width: auto; font-size: .9rem; }
.fin-fluxo-filtros label.check input { width: auto; }
.metrica .ajuda, .metrica .fin-dif { display: block; margin-top: 4px; font-size: .8rem; }
.fin-dif.receita { color: var(--ok); }
.fin-dif.despesa { color: var(--erro); }
.grafico rect.fin-barra-mes { fill: var(--ouro); }
.grafico rect.fin-barra-mes.previsto { fill: #c4b5fd; }
.grafico rect.fin-barra-mes.neg { fill: #ef4466; }
.grafico a:hover rect.fin-barra-mes { opacity: .8; }
.grafico polyline.fin-resultado { fill: none; stroke: #f59e0b; stroke-width: 2; stroke-dasharray: 4 3; }
.grafico a circle { cursor: pointer; }
.fin-meses tr.fin-mes-atual td { background: var(--ouro-claro); }
.fin-meses tr.fin-mes-futuro td { color: var(--tinta-2); }
.fin-dias { padding: 0; overflow: hidden; }
.fin-dia-linha { display: grid; grid-template-columns: minmax(150px, 1.3fr) repeat(5, minmax(90px, 1fr)); gap: 10px; align-items: center;
  padding: 9px 16px; border-bottom: 1px solid var(--linha); font-variant-numeric: tabular-nums; }
.fin-dia-linha .num { text-align: right; }
.fin-dia-cab { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: var(--tinta-2); font-weight: 600; background: var(--fundo); }
.fin-dia > summary { cursor: pointer; list-style: none; }
.fin-dia > summary::-webkit-details-marker { display: none; }
.fin-dia > summary:hover { background: var(--ouro-claro); }
.fin-dia > summary > span:first-child::before { content: "▸"; display: inline-block; width: 14px; color: var(--ouro); transition: transform .15s; }
.fin-dia[open] > summary > span:first-child::before { transform: rotate(90deg); }
.fin-dia[open] > summary { background: var(--ouro-claro); }
.fin-dia.previsto > summary { font-style: normal; }
.fin-dia:target > summary, .fin-dia-vazio:target { box-shadow: inset 4px 0 0 var(--ouro); }
.fin-dia-vazio { color: var(--tinta-2); }
.fin-dia-vazio > span:first-child { padding-left: 14px; }
.fin-dia-itens { margin: 0; background: var(--papel); font-size: .9rem; }
.fin-dia-itens th, .fin-dia-itens td { padding: 7px 12px; }
.fin-dia-itens tfoot td { border-top: 1px solid var(--linha); color: var(--tinta-2); }
.fin-dia { border-bottom: 1px solid var(--linha); }
.fin-dia > summary.fin-dia-linha { border-bottom: 0; }
.fin-dia-total { font-weight: 700; background: var(--fundo); border-bottom: 0; }
.fin-dia-total > span:first-child { padding-left: 14px; }
@media (max-width: 760px) {
  .fin-dia-linha { grid-template-columns: 1fr 1fr 1fr; font-size: .85rem; }
  .fin-dia-linha > span:nth-child(4), .fin-dia-linha > span:nth-child(5) { display: none; }
  .fin-dia-linha > span:nth-child(6) { grid-column: 3; }
}
form.fin-fluxo-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
form.fin-fluxo-filtros select { width: auto; min-width: 200px; }
form.fin-fluxo-filtros label.check { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; width: auto; margin: 0; }
form.fin-fluxo-filtros label.check input { flex: 0 0 auto; width: auto; min-width: 0; margin: 0; }
.doc-totais { display: flex; flex-wrap: wrap; gap: 8px 28px; align-items: baseline; justify-content: flex-end; margin: 10px 4px 0;
  font-size: .9rem; color: var(--tinta-2); }
.doc-totais b { color: var(--tinta); font-variant-numeric: tabular-nums; }

/* ===== Assinatura eletrônica ===== */
.assin-passo { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--nd-roxo-medio); color: #fff; font-size: 14px; margin-right: 6px; }
.assin-form .cartao { margin-bottom: 14px; }
.assin-sig { display: grid; grid-template-columns: 28px repeat(4, minmax(0, 1fr)); gap: 8px 10px; padding: 12px 0; border-top: 1px solid var(--linha); align-items: end; }
.assin-sig label { display: flex; flex-direction: column; font-size: 13px; gap: 3px; min-width: 0; }
.assin-sig input, .assin-sig select { width: 100%; min-width: 0; }
.assin-sig-num { grid-row: span 2; align-self: start; font-weight: 700; color: var(--nd-roxo-medio); padding-top: 22px; }
.assin-sig-extra { display: none; }
.assin-eu { margin: 4px 0; }
.assin-eu-cpf { display: inline-flex; flex-direction: row; white-space: nowrap; gap: 6px; align-items: center; font-size: 13px; margin-bottom: 8px; }
.assin-eu-cpf input { width: 160px; }
.assin-pessoa { padding: 12px 16px; margin-bottom: 10px; border-left: 4px solid var(--linha); }
.assin-pessoa.ok { border-left-color: #16a34a; }
.assin-pessoa.recusou { border-left-color: #dc2626; }
.assin-pessoa-topo { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.assin-link { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; align-items: center; }
.assin-link input { flex: 1 1 260px; min-width: 0; font-size: 12px; }
.assin-link form { margin: 0; }
.assin-zap { background: #16a34a; border-color: #16a34a; }
.assin-hist { list-style: none; padding: 0; margin: 0; font-size: 13px; max-height: 360px; overflow: auto; }
.assin-hist li { padding: 5px 0; border-bottom: 1px dashed var(--linha); }
.assin-hash { word-break: break-all; font-size: 11px; }
.assin-oferta-chamada { font-size: 18px; font-weight: 600; }
.assin-oferta ul { line-height: 1.7; }
/* página pública de quem assina */
.assin-pub-corpo { background: #f5f3ff; margin: 0; }
.assin-pub-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; background: #fff; border-bottom: 1px solid #e5e7eb; }
.assin-pub-marca svg, .assin-pub-marca img { height: 30px; width: auto; }
.assin-pub { max-width: 820px; margin: 0 auto; padding: 16px; }
.assin-pub .cartao { margin-bottom: 14px; }
.assin-pub-titulo { font-size: 22px; margin: 4px 0 6px; }
.assin-pub-msg { margin: 10px 0 0; padding: 8px 12px; background: #faf5ff; border-left: 3px solid #7c3aed; white-space: pre-line; }
.assin-pub-pdf { width: 100%; height: 70vh; min-height: 380px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; }
.assin-pub-ok { border-left: 4px solid #16a34a; }
.assin-pub-erro { border-left: 4px solid #dc2626; }
.assin-pub-id { margin-top: 12px; }
.assin-pub-lista { list-style: none; padding: 0; margin: 0 0 8px; }
.assin-pub-lista li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px solid #f1f5f9; flex-wrap: wrap; }
.assin-modos { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 8px; }
.assin-quadro-wrap { position: relative; }
.assin-quadro { width: 100%; height: 200px; border: 2px dashed #a78bfa; border-radius: 10px; background: #fff; touch-action: none; cursor: crosshair; display: block; }
.assin-quadro-wrap .js-limpar-quadro { position: absolute; top: 8px; right: 8px; }
.assin-texto { font-family: "Brush Script MT", "Segoe Script", cursive; font-size: 26px; }
.assin-aceite { margin: 12px 0; align-items: flex-start; }
.assin-recusar summary { cursor: pointer; color: #b91c1c; }
.assin-pub-rodape { text-align: center; font-size: 12px; padding: 10px 16px 24px; }
@media (max-width: 760px) {
  .assin-sig { grid-template-columns: 1fr 1fr; }
  .assin-sig-num { grid-row: auto; grid-column: 1 / -1; padding-top: 0; }
  .assin-pub-pdf { height: 55vh; }
}
.assin-pub [hidden], .assin-form [hidden] { display: none !important; }
.msg.info { background: var(--nd-lilas); color: var(--nd-roxo); border-color: color-mix(in srgb, var(--nd-roxo) 20%, transparent); }
.assin-extras { grid-column: 2 / -1; border: 1px dashed var(--linha); border-radius: 8px; padding: 6px 10px 8px; margin: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.assin-extras legend { font-size: 12px; color: var(--tinta-2); padding: 0 4px; }
.assin-extras .check { font-size: 13px; }
.assin-fotos { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.assin-fotos a { display: flex; flex-direction: column; align-items: center; font-size: 11px; color: var(--tinta-2); text-decoration: none; }
.assin-fotos img { width: 110px; height: 82px; object-fit: cover; border-radius: 6px; border: 1px solid var(--linha); }
/* posicionar assinaturas */
.assin-pos { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 16px; align-items: start; }
.assin-pos-lado { position: sticky; top: 12px; }
.assin-pos-pessoa { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border-radius: 8px; cursor: pointer; font-size: 14px; }
.assin-pos-pessoa:has(input:checked) { background: var(--nd-lilas); font-weight: 600; }
.assin-pos-pessoa input { position: absolute; opacity: 0; pointer-events: none; }
.assin-pos-bolinha { width: 14px; height: 14px; border-radius: 50%; background: var(--c); flex: none; }
.assin-pos-paginas { display: flex; flex-direction: column; gap: 18px; align-items: center; }
.assin-pos-pagina { position: relative; width: 100%; max-width: 820px; box-shadow: 0 2px 10px rgba(30, 20, 60, .15); background: #fff; cursor: crosshair; user-select: none; touch-action: none; }
.assin-pos-pagina img { display: block; width: 100%; height: auto; min-height: 200px; }
.assin-pos-num { position: absolute; bottom: -16px; right: 0; font-size: 11px; color: var(--tinta-2); }
.assin-pos-campo { position: absolute; border: 2px solid var(--c); background: color-mix(in srgb, var(--c) 18%, transparent); border-radius: 4px; cursor: move; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; color: #1f1633; overflow: hidden; }
.assin-pos-campo span:first-child { padding: 0 14px; text-align: center; line-height: 1.1; pointer-events: none; }
.assin-pos-x { position: absolute; top: 0; right: 0; border: 0; background: var(--c); color: #fff; width: 18px; height: 18px; line-height: 16px; padding: 0; cursor: pointer; font-size: 14px; border-radius: 0 0 0 4px; }
.assin-pos-alca { position: absolute; right: 0; bottom: 0; width: 12px; height: 12px; background: var(--c); cursor: nwse-resize; }
.cor-0 { --c: #7c3aed; } .cor-1 { --c: #0891b2; } .cor-2 { --c: #ea580c; } .cor-3 { --c: #16a34a; } .cor-4 { --c: #db2777; } .cor-5 { --c: #ca8a04; }
/* fotos de quem assina */
.assin-fotos-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.assin-foto-item { display: flex; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--linha); border-radius: 10px; background: #fff; }
.assin-foto-item.ok { border-color: #16a34a; background: #f0fdf4; }
.assin-foto-botao { align-self: flex-start; cursor: pointer; }
.assin-local-ok { color: #15803d; }
@media (max-width: 760px) {
  .assin-pos { grid-template-columns: 1fr; }
  .assin-pos-lado { position: static; }
  .assin-extras { grid-column: 1 / -1; }
}
.form-cancelar { margin-top: 12px; display: grid; gap: 8px; max-width: 620px; }
.termos-caixa { max-height: 46vh; overflow: auto; border: 1px solid var(--linha, #e5e0ef); border-radius: 8px; padding: 14px 18px; background: var(--fundo, #faf9fc); margin: 12px 0; }
.termos-caixa h3 { font-size: .95rem; margin: 14px 0 4px; }
.termos-caixa p, .termos-caixa li { font-size: .9rem; line-height: 1.5; }
.cert-excluir { grid-column: 1 / -1; font-size: .9rem; }
.cert-excluir summary { cursor: pointer; color: var(--erro); }
.cert-excluir form { display: grid; gap: 8px; margin-top: 8px; max-width: 620px; }
.integ-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-bottom: 18px; }
.integ-acoes { display: grid; gap: 8px; margin-top: 10px; }
.base-item { margin-bottom: 10px; }
.base-item summary { cursor: pointer; }
.base-texto { white-space: pre-line; margin-top: 10px; }
.reinf-acoes { display: grid; gap: 8px; margin-top: 16px; }
.linha-alerta td { background: color-mix(in srgb, var(--erro) 8%, transparent); }
.form-r1000 { display: grid; gap: 8px; margin-top: 10px; }

/* topo: nunca barra de rolagem; o nome da empresa vem abreviado (filtro curto) e o menu quebra linha se faltar espaço */
.selo-assinante { white-space: nowrap; max-width: 220px; overflow: hidden; text-overflow: ellipsis; display: inline-block; vertical-align: middle; }
.topo nav { scrollbar-width: none; -ms-overflow-style: none; }
.topo nav::-webkit-scrollbar { display: none; }
@media (min-width: 701px) {
  .topo nav { flex-wrap: wrap; overflow-x: visible; row-gap: 0; }
  .topo nav a { padding: 17px 7px; }
}

/* pagamento: conta do plano + CBS + IBS, formas de pagamento */
.composicao { max-width: 640px; }
.conta-pag { width: 100%; border-collapse: collapse; margin: 8px 0; }
.conta-pag td { padding: 6px 0; border-bottom: 1px solid var(--linha); }
.conta-pag tr.total td { border-bottom: 0; border-top: 2px solid var(--tinta); font-size: 1.05rem; }
.conta-linha { font-size: .85rem; background: var(--fundo-2, #f6f4ee); padding: 8px 10px; border-radius: 6px; overflow-wrap: anywhere; }
.aviso-nf { max-width: 640px; }
.boleto-linha { font-size: 1rem; letter-spacing: .02em; overflow-wrap: anywhere; }

/* relatório de pagamentos */
.cards-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; margin-bottom: 14px; }
.cards-resumo .grande { font-size: 1.35rem; font-weight: 650; display: block; margin-top: 2px; }
tr.conferido td { background: rgba(46, 125, 50, .06); }

/* área do usuário sempre no canto de cima, à direita */
.topo > .conta { margin-left: auto; flex-wrap: nowrap; white-space: nowrap; }
.menu-conta-lista { right: 0; left: auto; }

/* Mercado Livre */
.ml-conta { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; margin-bottom: 10px; }
.ml-vinculo { margin-top: 6px; flex-wrap: wrap; }
.ml-vinculo select { max-width: 260px; }

/* E-commerce */
.lojas { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin: 14px 0; }
.loja { display: flex; flex-direction: column; gap: 8px; }
.loja p { margin: 0; }
.loja .btn { align-self: flex-start; margin-top: auto; }
.loja-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.loja.em-breve { opacity: .72; }

/* ajustes da plataforma */
.dias-semana { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.aviso-geral { font-weight: 500; }
.assin-faixas { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 12px 0; }
.assin-faixa h2 { margin-top: 0; }
.assin-faixa-qtd { font-size: 17px; font-weight: 600; color: var(--roxo, #5b21b6); }
.assin-faixa-op { display: flex; gap: 8px; align-items: flex-start; margin: 8px 0; padding: 8px; border: 1px solid var(--borda, #e5e7eb); border-radius: 8px; }
.assin-faixa .btn { margin-top: 8px; width: 100%; }
.atalhos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 12px 0 16px; }
.atalho { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 10px; text-align: center; font-weight: 600; color: inherit; text-decoration: none; transition: transform .12s, box-shadow .12s; }
.atalho span { font-size: 24px; }
.atalho:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(46, 16, 101, .12); }
.primeiros-passos ol { margin: 8px 0 0; padding-left: 20px; line-height: 1.9; }
.primeiros-passos li.feito { color: #15803d; list-style: none; margin-left: -20px; }
.primeiros-passos progress { flex: 1; max-width: 200px; }
.passos-topo { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.passos-topo h2 { margin: 0; }
/* Painel modelo A (foco no dinheiro) */
.painel-botoes { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.painel-botoes form { margin: 0; }
.painel-falha { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; background: #fee2e2; border: 1px solid #fca5a5; color: #7f1d1d;
  border-radius: 10px; padding: 12px 16px; margin-bottom: 16px; text-decoration: none; }
.painel-falha span { margin-left: auto; font-weight: 700; }
.metrica b.dinheiro { color: var(--roxo-escuro, #3b0764); }
.barra-limite { height: 12px; border-radius: 6px; background: #e5e7eb; overflow: hidden; margin: 6px 0 4px; }
.barra-limite i { display: block; height: 100%; background: linear-gradient(90deg, #22c55e, #f59e0b 70%, #ef4444); }
.grafico rect.barra-vend, .legenda .barra-vend i { fill: #5b21b6; background: #5b21b6; }
.grafico rect.barra-comp, .legenda .barra-comp i { fill: #22c55e; background: #22c55e; }
.pendencias h2 { margin-top: 0; }
.pendencias ul { list-style: none; margin: 0; padding: 0; }
.pendencias li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--borda, #e5e7eb); }
.pendencias li .btn { flex: none; }
.ponto { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 8px; vertical-align: middle; }
.ponto.erro { background: #ef4444; } .ponto.aviso { background: #f59e0b; } .ponto.info { background: #3b82f6; }
.tudo-em-dia { font-size: 1.2rem; font-weight: 700; color: #15803d; margin: 8px 0 4px; }
.nfse-motivo { display: inline-block; max-width: 240px; white-space: normal; color: #92400e; }
.card-emissao.em-breve { opacity: .75; }
